Upsonic 智能体框架
用 Python 构建具备受限工作区、工具调用与文档 OCR 能力的自主或传统智能体。
- Star 数
- ★ 8k
- 最近更新
- 4 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 45/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 运维或开发人员需要在指定日志工作目录中让自主智能体分析服务器日志并检测异常模式。
- 不适合
- 希望开箱即用、无需自行提供模型密钥的用户
这个 Agent 能做什么,适合哪些场景?
Upsonic 是一个 Python 框架,用于构建类似 OpenClaw 和 Claude Cowork 的自主智能体,以及传统智能体系统。它提供 AutonomousAgent、Agent 与 Task 接口,并以模型标识作为初始化参数。自主智能体的文件和 shell 操作限制在指定 workspace 内,文档说明会阻止路径遍历和危险命令。传统智能体可在 Task 中接收用 @tool 定义的 Python 函数,也可进一步接入 MCP Tools。项目还提供分层 OCR 接口:Layer 0 处理文档准备,Layer 1 运行 OCR 引擎;README 列出多种可选引擎。
使用者创建 AutonomousAgent(model=..., workspace=...) 和 Task 后,调用 agent.print_do(task) 执行任务,例如分析服务器日志并检测异常模式;相关文件与 shell 操作被限定在 workspace。对于传统流程,使用者创建 Agent,将任务描述及可选 tools 放入 Task,再调用 agent.print_do(task);示例中的 @tool 函数计算两个浮点数之和。OCR 流程通过 OCR(layer_1_ocr_engine=EasyOCREngine(...)) 配置引擎,并以 ocr.get_text("invoice.pdf") 从文档取得文本。
- 运维或开发人员需要在指定日志工作目录中让自主智能体分析服务器日志并检测异常模式。
- Python 开发者要为“分析当前市场趋势”这类自然语言任务创建具名传统智能体。
- 应用开发者需要把现有 Python 函数包装为
@tool,让计算类任务调用,例如计算 15 加 27。 - 需要连接外部数据源或服务的团队,可按文档的后续集成路径接入 MCP Tools。
- 需要从发票等文档提取文字的 Python 项目,可安装 OCR extra 并配置
EasyOCREngine。
如何安装或部署这个 Agent?
基础安装:uv pip install upsonic。OCR 功能安装:uv pip install "upsonic[ocr]"。README 的模型示例使用 model="anthropic/claude-sonnet-4-5",但未说明所需凭据、环境变量或认证配置。
如何使用这个 Agent?
最小自主调用:from upsonic import AutonomousAgent, Task;创建 AutonomousAgent(model="anthropic/claude-sonnet-4-5", workspace="/path/to/logs"),再执行 agent.print_do(Task("Analyze server logs and detect anomaly patterns"))。传统智能体则导入 Agent, Task,创建 Agent(model="anthropic/claude-sonnet-4-5", name="Stock Analyst Agent"),并调用 agent.print_do(Task(description="Analyze the current market trends"))。
这个 Agent 有哪些优点和局限?
- 以
workspace为边界约束自主智能体的文件与 shell 操作,并明确说明会阻止路径遍历和危险命令。 - 同时提供
AutonomousAgent与Agent,覆盖自主执行和较传统的任务式智能体接口。 - 任务可直接携带通过
@tool声明的 Python 函数,并有 MCP Tools 的集成路径。 - 内置统一的分层 OCR 抽象,README 明确列出 EasyOCR、RapidOCR、Tesseract、PaddleOCR 与 DeepSeek 相关引擎。
- README 示例只展示
anthropic/claude-sonnet-4-5,未给出其他模型提供商的配置或兼容性说明。 - 未说明模型认证所需的凭据、环境变量、费用或请求失败时的处理方式。
- 工作区限制仅明确覆盖文件和 shell 操作;外部 MCP 服务的权限、认证和网络边界未在所给资料中说明。
- 隔离云执行环境被描述为需另行连接的 E2B Sandbox Provider,而非开箱即用的部署步骤。
这个 Agent 与同类方案有什么区别?
README 将 Upsonic 定位为可构建类似 OpenClaw 和 Claude Cowork 的自主智能体的框架,同时也支持传统智能体系统;所给资料未提供三者的功能对比或兼容性结论。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Upsonic 智能体框架 当前 | 45 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 8k | 4 个月前 | Python | Claude API |
| LightAgent | 60 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 1.2k | 9 天前 | Python | OpenAI API |
| Kite 智能体框架 | 51 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 11 | 4 个月前 | Python | OpenAI API · Claude API |
| AgenticX 多智能体平台 | 64 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 977 | 1 天前 | Python | Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README声明所有文件和shell操作限制在workspace内,阻止路径遍历和危险命令,但未提供实现细节或测试证明。存在SECURITY.md提供负责任披露流程,但未提及权限最小化或用户确认机制。依赖中包含sentry-sdk(遥测)和opentelemetry,但conftest.py强制禁用遥测,表明默认可能启用。未发现用户确认机制。数据流透明度有限,未说明数据如何被处理或传输。敏感数据处理未明确。依赖固定版本较少,多为范围版本,存在供应链风险。外部效果方面,工具如web_search可能产生外部调用,但未明确限制。回滚机制未提及。来源归属方面,作者信息在pyproject.toml中,但发布者未验证。扣分原因:缺乏用户确认、数据流透明度不足、敏感数据处理不明确、依赖版本范围宽、外部效果未明确限制、无回滚机制。
证据显示:项目有CI工作流(.github/workflows/ci.yml)在Python 3.10-3.12上运行单元测试,表明一定的一致性。依赖众多,但未提供锁定文件,依赖可用性存在风险。失败消息方面,测试中有处理DisallowedOperation异常的钩子,但生产代码的失败消息未评估。扣分原因:依赖未锁定,失败消息未充分展示。
证据显示:README展示了多种使用场景(自主代理、传统代理、OCR),受众明确为Python开发者。能力边界方面,声明了workspace限制,但未详细说明。触发精度方面,工具定义有docstring,但未展示精确触发机制。环境适配方面,支持多种Python版本和可选依赖,但未说明特定环境要求。扣分原因:触发精度证据不足,环境适配细节有限。
证据显示:README结构清晰,包含安装、快速开始、文档链接。安装说明明确(uv pip install upsonic)。命名稳定性方面,版本号0.77.3,但未提供变更日志。示例和FAQ有多个示例代码。已知限制未明确列出。许可证MIT在README和pyproject.toml中。版本控制有pyproject.toml版本,但无CHANGELOG。维护责任方面,有作者和社区链接。扣分原因:缺少变更日志和已知限制说明。
证据显示:输出可用性方面,示例展示了如何获取结果(print_do),但未说明输出格式。边际价值方面,提供了多种功能(自主代理、OCR、工具集成),具有差异化。成本效益方面,未提供性能或成本数据。扣分原因:输出格式未明确,成本效益无证据。
证据显示:README中的声明(如workspace限制)未在代码中验证,但存在测试文件(tests/_pipeline_injection.py)表明测试存在。跨来源佐证方面,文档链接存在但未验证。事实与推断分离方面,README中的声明多为断言,未区分事实和推断。扣分原因:声明缺乏代码验证,跨来源佐证不足。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 依赖版本范围宽,建议锁定版本以降低供应链风险。
- 遥测默认可能启用,需确认数据隐私。
- workspace限制声明未在代码中验证,需审查实现。
- 缺少用户确认机制,自主代理可能执行意外操作。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
[0.77.3](https://github.com/Upsonic/Upsonic/compare/v0.77.2...v0.77.3) (2026-05-19) Bug Fixes * TECH-1625 centralized usage registry ([#602](https://github.com/Upsonic/Upsonic/issues/602)) ([4dc6f60](https://github.com/Upsonic/Upsonic/commit/4dc6f6028026adc5f6b2aed237e05d5dce65599b))在 GitHub 查看 ↗ -
发布说明摘录
[0.77.2](https://github.com/Upsonic/Upsonic/compare/v0.77.1...v0.77.2) (2026-05-16) Bug Fixes * chat,messages: tolerate trailing junk in tool args and reset task on retry ([#597](https://github.com/Upsonic/Upsonic/issues/597)) ([#598](https://github.com/Upsonic/Upsonic/issues/598)) ([12f3ac2](https://github.com/Upsonic/Upsonic/commit/12f3ac2e2f346b3174f459f01af7e218e72b4d93))在 GitHub 查看 ↗ -
发布说明摘录
[0.77.1](https://github.com/Upsonic/Upsonic/compare/v0.77.0...v0.77.1) (2026-05-15) Bug Fixes * ci: use uv publish instead of pypa action ([f0277e8](https://github.com/Upsonic/Upsonic/commit/f0277e8292f0f1484bdfb8933787a85bcc9d73a1))在 GitHub 查看 ↗
常见问题
它需要访问本机文件和终端吗?
workspace;README 说明路径遍历和危险命令会被阻止。能否使用自己的 Python 业务函数?
@tool 修饰的函数放入 Task(tools=[...]),README 示例展示了一个求和函数。