Acontext

将代理运行经验自动沉淀为可读、可编辑的技能文件。

Star 数
★ 3.7k
最近更新
13 天前
License
Apache-2.0
主语言
JavaScript

30 秒速览

运行形态
代码库 / SDK自托管服务云服务 / SaaS
可在哪里用
通用 · 跨平台OpenAI API · Claude APIClaude Code(部分支持)
费用
有免费版,另有付费云服务
上手难度
中 · 需要几步配置
开始前需要
DockerOpenAI API 密钥Shell / 命令行网络访问本地文件系统
典型场景
使用 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 和持久化目录。

  1. 使用 OpenAI Agent SDK 构建客服或任务代理的开发者,希望把已完成任务中的有效做法沉淀为可审阅的 Markdown 技能。
  2. 运行 Claude Agent SDK 的团队,希望在代理执行失败后也记录可供后续任务使用的经验。
  3. 维护多个 LangGraph、Claude 或 AI SDK 代理的工程团队,需要把技能文件共享给不同框架,而非迁移向量索引。
  4. 需要在本机验证代理记忆方案的开发者,可用 Docker 和 acontext server up 启动本地后端与 Dashboard。
  5. 构建带代码执行能力代理的团队,希望将技能挂载到 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 os
client = 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?

FollowAgents 源码审查 · FARS-2.1
缺口较多
44/ 100 五分制 2.2 / 5
信任安全 7/29
可靠稳定 8/14
适用触发 9/18
规范维护 10/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

证据显示:README 描述了基于 API 密钥的客户端,但未说明权限最小化或用户确认机制;数据流透明性部分体现在架构图中,但未详细说明数据如何被处理;敏感数据处理未明确提及;依赖安全未提供具体信息;外部影响(如 Docker 部署)有提及但未深入;回滚机制未提及;来源归属仅通过许可证和版权声明体现。扣分原因:缺乏具体实现细节和明确的安全措施。

可靠稳定8 / 14 · 2.9/5

证据显示:README 和架构图提供了自洽的描述,但未提供实际运行验证;依赖可用性未明确说明;失败消息未提及。扣分原因:静态审查无法验证运行行为,且文档未提供错误处理信息。

适用触发9 / 18 · 2.5/5

证据显示:README 提供了多种使用场景(Claude Code、OpenClaw、Python/TS SDK),并说明了能力边界(如技能文件格式);触发精度未明确;环境适配(自托管、云)有说明。扣分原因:触发机制和边界描述不够精确。

规范维护10 / 18 · 2.8/5

证据显示:README 结构清晰,提供了安装说明、示例和文档链接;命名稳定性未明确;已知限制未提及;许可证为 Apache-2.0;版本控制和变更日志有提及(通过 GitHub Actions 生成);维护责任未明确。扣分原因:缺少已知限制和明确的维护责任声明。

有效结果7 / 13 · 2.7/5

证据显示:输出为 Markdown 技能文件,具有可用性;边际价值体现在自动学习技能;成本效益未详细说明。扣分原因:成本效益分析不足。

证据核验3 / 8 · 1.9/5

证据显示:README 中的声明部分有文档链接支持,但未提供独立验证;交叉来源验证不足;事实与推断未明确区分。扣分原因:缺乏可验证的证据和来源。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 静态审查无法验证实际运行行为,所有关于功能、安全性和可靠性的结论均为推断。
  • README 中提到的云服务、API 密钥和自托管部署涉及外部依赖,需谨慎评估其安全性和隐私影响。
  • 未提供已知限制和明确的维护责任,用户需自行评估长期支持风险。
证据充分度:低 评估于 2026年8月9日 审查版本 259d73bfdebe 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. sdk-ts/v0.1.21
    发布说明摘录
    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 查看 ↗
  2. ui/v0.1.14
    发布说明摘录
    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 查看 ↗
  3. api/v0.1.41
    发布说明摘录
    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 查看 ↗

常见问题

它是否使用向量数据库或语义检索?
README 将其定位为不使用 embedding 和 semantic top-k 的方案;代理通过技能内容工具按需读取文件。
任务失败会怎样?
任务被标记为完成或失败时都会触发学习;蒸馏步骤会从会话和执行轨迹中推断哪些做法成功或失败。
能否在本地运行?
可以。安装 acontext-cli 后,在具备 Docker 和 OpenAI API Key 的环境执行 acontext server up,可得到本地 API 与 Dashboard。
能否与 Claude 一起使用?
README 列出了 Claude Code 的安装配置入口,并提供 Claude Agent SDK 模板;具体配置内容不在所给仓库文本中。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents