Acontext
将代理运行经验自动沉淀为可读、可编辑的技能文件。
按维度查看评分与理由
证据显示:README 描述了基于 API 密钥的客户端,但未说明权限最小化或用户确认机制;数据流透明性部分体现在架构图中,但未详细说明数据如何被处理;敏感数据处理未明确提及;依赖安全未提供具体信息;外部影响(如 Docker 部署)有提及但未深入;回滚机制未提及;来源归属仅通过许可证和版权声明体现。扣分原因:缺乏具体实现细节和明确的安全措施。
证据显示:README 和架构图提供了自洽的描述,但未提供实际运行验证;依赖可用性未明确说明;失败消息未提及。扣分原因:静态审查无法验证运行行为,且文档未提供错误处理信息。
证据显示:README 提供了多种使用场景(Claude Code、OpenClaw、Python/TS SDK),并说明了能力边界(如技能文件格式);触发精度未明确;环境适配(自托管、云)有说明。扣分原因:触发机制和边界描述不够精确。
证据显示:README 结构清晰,提供了安装说明、示例和文档链接;命名稳定性未明确;已知限制未提及;许可证为 Apache-2.0;版本控制和变更日志有提及(通过 GitHub Actions 生成);维护责任未明确。扣分原因:缺少已知限制和明确的维护责任声明。
证据显示:输出为 Markdown 技能文件,具有可用性;边际价值体现在自动学习技能;成本效益未详细说明。扣分原因:成本效益分析不足。
证据显示:README 中的声明部分有文档链接支持,但未提供独立验证;交叉来源验证不足;事实与推断未明确区分。扣分原因:缺乏可验证的证据和来源。
- 静态审查无法验证实际运行行为,所有关于功能、安全性和可靠性的结论均为推断。
- README 中提到的云服务、API 密钥和自托管部署涉及外部依赖,需谨慎评估其安全性和隐私影响。
- 未提供已知限制和明确的维护责任,用户需自行评估长期支持风险。
这个 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 有哪些优点和局限?
- 记忆以可读、可编辑的 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?
云端:先在 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")