Acontext
将代理运行经验自动沉淀为可读、可编辑的技能文件。
- Star 数
- ★ 3.7k
- 最近更新
- 13 天前
- License
- Apache-2.0
- 主语言
- JavaScript
- FA 评分
- 44/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude APIClaude Code(部分支持)
- 费用
- 有免费版,另有付费云服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 使用 OpenAI Agent SDK 构建客服或任务代理的开发者,希望把已完成任务中的有效做法沉淀为可审阅的 Markdown 技能。
- 不适合
- 需要完全离线、不能调用云端大模型的团队
- 希望开箱即用、不想自己定义 SKILL.md 结构的用户
- 无法使用 Docker 或不愿提供 OpenAI API Key 的自托管用户
这个 Agent 能做什么,适合哪些场景?
Acontext 是面向 AI 代理的开源技能记忆层,将代理运行中的学习结果保存为 Markdown 技能文件。它提供 Python SDK、TypeScript SDK、REST API、Web Dashboard,以及可自托管的后端。学习流程从会话消息及可选的工具调用和产物中提取任务,在任务完成或失败后进行蒸馏,并由 Skill Agent 按 SKILL.md 定义的结构更新技能。后续运行时,代理通过 list_skills、get_skill 或 get_skill_file 获取所需内容,而不是依赖向量检索。技能可下载为 ZIP,在其他代理、LLM 或运行环境中复用。
应用先创建 learning space 和 session,再调用 client.learning_spaces.learn(space.id, session_id=session.id) 关联两者。代理运行期间可用 client.sessions.store_message(session.id, blob=...) 写入用户和助手消息;任务完成或失败后,系统从消息流中提取任务、蒸馏成功经验、失败信息和用户偏好,并由 Skill Agent 写入或更新 Markdown 技能文件。调用 client.learning_spaces.wait_for_learning 后,可通过 client.learning_spaces.list_skills(space.id) 列出已学习技能,并用 client.skills.download(skill_id=..., path=...) 下载到本地。代理在下一次运行中使用 get_skill 和 get_skill_file 按需读取技能内容;自托管时 acontext server up 会启动本地 API、Dashboard 和持久化目录。
- 使用 OpenAI Agent SDK 构建客服或任务代理的开发者,希望把已完成任务中的有效做法沉淀为可审阅的 Markdown 技能。
- 运行 Claude Agent SDK 的团队,希望在代理执行失败后也记录可供后续任务使用的经验。
- 维护多个 LangGraph、Claude 或 AI SDK 代理的工程团队,需要把技能文件共享给不同框架,而非迁移向量索引。
- 需要在本机验证代理记忆方案的开发者,可用 Docker 和 acontext server up 启动本地后端与 Dashboard。
- 构建带代码执行能力代理的团队,希望将技能挂载到 sandbox,并结合磁盘、sandbox 和技能工具使用。
如何安装或部署这个 Agent?
云端:先在 Acontext.io 完成引导并取得以 sk-ac 开头的 API Key,然后执行:
pip install acontext自托管验证:已安装 Docker 并具备 OpenAI API Key 后,执行:
curl -fsSL https://install.acontext.io | sh
mkdir acontext_server && cd acontext_server
acontext server up该命令会创建或使用 .env 与 config.yaml,并在 db 目录持久化数据;本地 API 地址为 http://localhost:8029/api/v1,Dashboard 为 http://localhost:3000/。
如何使用这个 Agent?
Python 首次调用可使用:
from acontext import AcontextClient
import osclient = AcontextClient(api_key=os.getenv("ACONTEXT_API_KEY"))
space = client.learning_spaces.create()
session = client.sessions.create()
client.learning_spaces.learn(space.id, session_id=session.id)
client.sessions.store_message(session.id, blob={"role": "user", "content": "My name is Gus"})
client.sessions.store_message(session.id, blob={"role": "assistant", "content": "Hi Gus! How can I help you today?"})
client.learning_spaces.wait_for_learning(space.id, session_id=session.id)
skills = client.learning_spaces.list_skills(space.id)自托管时改为:
client = AcontextClient(base_url="http://localhost:8029/api/v1", api_key="sk-ac-your-root-api-bearer-token")这个 Agent 有哪些优点和局限?
- 记忆以可读、可编辑的 Markdown 技能文件保存,可用 Git、grep 或挂载到 sandbox 管理。
- 任务完成和失败都会触发学习,流程明确包含任务提取、蒸馏、路由及技能更新。
- 通过 get_skill 和 get_skill_file 让代理按需逐步读取内容,不采用语义 top-k 检索。
- 同时提供 Python 与 TypeScript SDK,并支持 Docker 自托管及 ZIP 导出。
- 自托管快速启动明确要求 Docker 和 OpenAI API Key,默认使用 gpt-4.1。
- 学习在后台运行;wait_for_learning 只是演示用途的阻塞辅助方法,生产中需要接受异步完成模型。
- 技能结构、命名和文件布局需要使用者通过 SKILL.md 自行定义。
- README 提到 Claude Code 的配置入口,但未在仓库内容中给出完整的配置步骤。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Acontext 当前 | 44 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 3.7k | 13 天前 | JavaScript | OpenAI API · Claude API |
| TrueForge | 67 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 6.4k | 1 天前 | TypeScript | OpenAI API · Claude API |
| PenguinHarness | 52 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 3.2k | 今天 | TypeScript | OpenAI API · Claude API |
| Letta | 47 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 25k | 18 天前 | — | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 描述了基于 API 密钥的客户端,但未说明权限最小化或用户确认机制;数据流透明性部分体现在架构图中,但未详细说明数据如何被处理;敏感数据处理未明确提及;依赖安全未提供具体信息;外部影响(如 Docker 部署)有提及但未深入;回滚机制未提及;来源归属仅通过许可证和版权声明体现。扣分原因:缺乏具体实现细节和明确的安全措施。
证据显示:README 和架构图提供了自洽的描述,但未提供实际运行验证;依赖可用性未明确说明;失败消息未提及。扣分原因:静态审查无法验证运行行为,且文档未提供错误处理信息。
证据显示:README 提供了多种使用场景(Claude Code、OpenClaw、Python/TS SDK),并说明了能力边界(如技能文件格式);触发精度未明确;环境适配(自托管、云)有说明。扣分原因:触发机制和边界描述不够精确。
证据显示:README 结构清晰,提供了安装说明、示例和文档链接;命名稳定性未明确;已知限制未提及;许可证为 Apache-2.0;版本控制和变更日志有提及(通过 GitHub Actions 生成);维护责任未明确。扣分原因:缺少已知限制和明确的维护责任声明。
证据显示:输出为 Markdown 技能文件,具有可用性;边际价值体现在自动学习技能;成本效益未详细说明。扣分原因:成本效益分析不足。
证据显示:README 中的声明部分有文档链接支持,但未提供独立验证;交叉来源验证不足;事实与推断未明确区分。扣分原因:缺乏可验证的证据和来源。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 静态审查无法验证实际运行行为,所有关于功能、安全性和可靠性的结论均为推断。
- README 中提到的云服务、API 密钥和自托管部署涉及外部依赖,需谨慎评估其安全性和隐私影响。
- 未提供已知限制和明确的维护责任,用户需自行评估长期支持风险。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
TypeScript SDK v0.1.21 What's Changed Other - chore: bump sdk-ts to v0.1.21 - chore(deps): batch dependency updates (#547) Full Changelog: https://github.com/memodb-io/Acontext/compare/sdk-ts/v0.1.20...sdk-ts/v0.1.21 --- Published to npm as @acontext/[email protected]在 GitHub 查看 ↗ -
发布说明摘录
UI v0.1.14 What's Changed Other - chore(deps): batch dependency updates (#547) Full Changelog: https://github.com/memodb-io/Acontext/compare/ui/v0.1.13...ui/v0.1.14 --- Published to https://github.com/memodb-io/Acontext/pkgs/container/acontext-ui在 GitHub 查看 ↗ -
发布说明摘录
API v0.1.41 What's Changed Other - chore(deps): batch dependency updates (#547) Full Changelog: https://github.com/memodb-io/Acontext/compare/api/v0.1.40...api/v0.1.41 --- Published to https://github.com/memodb-io/Acontext/pkgs/container/acontext-api在 GitHub 查看 ↗