开发与工程 rust-sdkcoding-agentmcpsub-agent-orchestrationgraph-memoryanthropicopenaicli

Cersei — Rust 编程智能体 SDK

用可组合的库函数构建编程智能体:工具执行、LLM 流式输出、子智能体编排、图记忆与 MCP 一应俱全。

FollowAgents 评估 · FARS-2.1
谨慎使用
60/ 100 五分制 3.0 / 5
1 2 3 4 5 6
1信任安全12 / 29 · 2.1/5

提供了多种权限策略(AllowAll/AllowReadOnly/DenyAll/RuleBased/Interactive)和权限事件流,但快速上手示例默认 AllowAll,缺乏沙箱、bash 分类器细节、密钥存储细节及外部副作用(shell、cron、web)的防护证据;'逆向工程 Claude Code' 的来源声明使归属存疑。

2可靠稳定9 / 14 · 3.2/5

架构图与 Cargo workspace 成员一致,依赖统一用 workspace 版本管理并有 musl 静态构建说明,错误处理用 thiserror/anyhow;但文档存在 'cercei-tools' 拼写错误,且未提供实际失败消息样例。

3适用触发14 / 18 · 3.9/5

目标受众明确(嵌入式 SDK 开发者与 CLI 用户),多 provider(Anthropic/OpenAI/Ollama/Azure/vLLM)、技能双格式兼容、CLI 配置分层均覆盖;但边界描述多依赖 README 声明而非接口文档。

4规范维护12 / 18 · 3.3/5

README 信息架构出色(概念、架构、示例、基准、扩展点分层清晰),MIT 全文齐备,示例丰富;但仅 git 安装、无 CHANGELOG、版本 0.2.x 命名不稳定、维护依赖单一作者、无治理或更新承诺。

5有效结果9 / 13 · 3.5/5

输出可用性较好(JSON 模式、NDJSON、事件广播、reporter),作为 Rust 编码 agent SDK 填补空白;但性能收益全部基于自报基准,未在本仓库内可独立复核,成本收益主张需保留。

6证据核验4 / 8 · 2.5/5

基准数字引用了未随附的 REPORT.md 与脚本,'160 单元测试/0 失败' 无法静态核实;事实与营销(77,000x 对比)大体分离但缺乏第三方佐证,扣分在于关键主张无仓库内可追溯证据。

证据充分度: 评估于 2026年9月10日 审查版本 708c5055845b
使用前请注意
  • 快速上手示例默认 AllowAll 权限策略,嵌入式使用时应改用 Interactive 或 RuleBased 并显式限制工具集。
  • 所有性能对比数据(如 77,000x 内存召回)为自报基准,采用前应自行运行 bench 脚本复核。
  • 该 SDK 暴露 shell、cron、web 等强副作用工具,嵌入产品前需审查沙箱与审计钩子实现。
  • 发布方身份未经验证且自述为逆向工程产物,企业合规场景需评估知识产权风险。
  • 版本为 0.2.x 且无 CHANGELOG,API 可能频繁变动,锁定具体 commit 再依赖。
评估证据 [1][2][3]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Cersei(pacifio/cersei)是一个 MIT 许可的 Rust SDK,把生产级编程智能体的全部构件封装为可组合的库函数。它由多个 crate 组成:cersei-provider(Anthropic 与 OpenAI 兼容后端,支持 Ollama、Azure、vLLM)、cersei-tools(30+ 内置工具及 #[derive(Tool)] 自定义宏)、cersei-agent(Agent 构建器与智能体循环)、cersei-memory(文件 + Grafeo 图记忆、会话 JSONL 持久化)、cersei-hooks、cersei-mcp(JSON-RPC 2.0 stdio 客户端)等。仓库还附带基于该 SDK 的完整 CLI 智能体 Abstract(abstract-cli),一个二进制、零运行时依赖。执行模型是异步的智能体循环,通过回调、广播通道或双向流三种方式暴露实时事件。README 报告 160 个单元测试与 262 项压力检查全部通过,基准测试对比了 Abstract CLI 与 Claude Code 的启动、内存和工具调度开销。

提供 Agent::builder() API:指定 provider(Anthropic::from_env() 或 OpenAi 兼容端点)、挂载工具集(cersei::tools::coding()、filesystem()、shell()、web()、planning()、scheduling()、orchestration())、设置权限策略(AllowAll、Interactive 等)后执行 run_with() 或 run_stream()。支持 #[derive(Tool)] 十行内定义自定义工具;AgentTool 与 Coordinator 模式实现子智能体并行编排;MemoryManager 提供三层记忆(md 文件扫描、CLAUDE.md 层级合并、Grafeo 图存储与 recall 查询);SkillTool 自动发现 .claude/commands 与 .claude/skills 两种格式的技能;McpManager 通过 stdio/SSE 连接外部 MCP 服务器;另有自动压缩(auto_compact)、思考预算、effort 等级与 Anthropic OAuth PKCE 登录。配套的 Abstract CLI 可通过 cargo install 安装,支持 REPL、--resume、-- 等。

  1. Rust 开发者想在现有应用中嵌入编程智能体,而非分发独立 CLI 产品
  2. 团队想构建 Claude Code 或 OpenCode 的替代品,需要多 provider 支持与可定制的工具/权限体系
  3. 需要在本地 LLM(Ollama、vLLM)上运行智能体以避免云端 API 成本与数据外发
  4. 需要子智能体并行编排与任务系统(TaskCreate/TaskUpdate 等)来分解大型重构工作
  5. CI 流水线中需要低开销、可 JSON 输出的编程智能体(abstract --no-permissions --)
  6. 需要低成本长期记忆:Abstract 的图记忆 recall 实测 98μs,无需每次召回都调用 LLM

这个 Agent 有哪些优点和局限?

优点
  • 库形态而非 CLI,可直接嵌入任意 Rust 应用,工具调度在进程内完成(Read 实测 0.09ms)
  • 多 provider:Anthropic(含 OAuth)+ OpenAI 兼容端点,覆盖 Ollama、Azure、vLLM
  • 三层记忆体系含可选 Grafeo 图层,记忆召回 98μs 且无需 LLM 调用,与 Claude Code 的 7.5 秒 LLM 排序形成鲜明对比
  • 完整的扩展点:impl Provider / Tool / PermissionPolicy / Memory / Hook / Reporter,加上 #[derive(Tool)] 宏
  • 原生 MCP 客户端(stdio/SSE/远程桥接)与 Claude Code + OpenCode 双格式技能兼容
局限
  • 需要 Rust 工具链,非 Rust 团队接入成本高;README 中 #[derive(Tool)] 需额外引入 async-trait 与 cersei-tools 依赖
  • 记忆功能依赖项目自研的 Grafeo 存储,生态成熟度与长期维护风险未经第三方验证
  • Abstract 与 Claude Code 的对比数字由项目自己的 run_tool_bench.sh 脚本产出,属自报基准,采信需自行复测
  • cersei 包在 README 中通过 git 依赖安装,未见 crates.io 发布证据,版本锁定与供应链管理需额外处理
  • 权限系统需自行配置策略(AllowAll 显然不适合生产),Interactive/RuleBased 策略的实际行为文档仅在站点文档中

如何安装或部署这个 Agent?

在 Cargo.toml 中添加:
[dependencies]

cersei = { git = "https://github.com/pacifio/cersei" }
tokio = { version = "1", features = ["full"] }
anyhow = "1"

可选图记忆:

cersei-memory = { git = "https://github.com/pacifio/cersei", features = ["graph"] }

安装 Abstract CLI:

cargo install --path crates/abstract-cli

如何使用这个 Agent?

需要设置相应 provider 的环境变量(如 Anthropic API key,或 OpenAi::builder().base_url("http://localhost:11434/v1") 指向 Ollama)。最小示例:

let output = Agent::builder()
.provider(Anthropic::from_env()?)
.tools(cersei::tools::coding())
.permission_policy(AllowAll)
.run_with("Fix the failing tests in src/")

.await?;
println!("{}", output.text());

CLI 用法:abstract 启动 REPL;abstract "fix the failing tests" 单次执行;abstract --resume 恢复上次会话;abstract --no-permissions -- 用于 CI。运行测试:cargo test --workspace(160 个单元测试)。

这个 Agent 与同类方案有什么区别?

README 将 Cersei 与 Claude Code、OpenCode 直接对比:Claude Code 与 OpenCode 是 TypeScript CLI 应用,不可嵌入、启动约 269–300ms、二进制 174MB;Cersei 是 Rust 库,可嵌入、多 provider、自定义工具通过 impl Tool / #[derive(Tool)];Abstract CLI(基于 Cersei)启动 32ms、二进制约 6MB、RSS 4.9MB,技能同时兼容两种格式。适合已在 Rust 生态或需要嵌入能力的团队;若只需开箱即用的 CLI 且接受 Node.js 运行时,Claude Code 本身仍更省事。

常见问题

必须使用 Anthropic 或 OpenAI 的云 API 吗?
不必。除了 Anthropic(含 OAuth)和 OpenAI,Provider trait 可对接 Ollama、Azure、vLLM 等 OpenAI 兼容端点,也可 impl Provider 接入自定义后端。
权限如何控制?会不会任意执行 shell 命令?
Agent 构建器提供 AllowAll、AllowReadOnly、DenyAll、RuleBased、Interactive 等策略,Interactive 模式支持会话级缓存;示例中的 AllowAll 仅适合快速验证,生产环境应配置更严格策略。
记忆系统会不会每次召回都消耗 API 费用?
不会。Grafeo 图记忆通过索引查询实现 recall,README 实测 98μs、无需 LLM 调用;对比 Claude Code 每轮调用 Sonnet 排序文件(实测 7.5 秒)。
支持哪些外部工具协议?
内置 MCP 客户端(JSON-RPC 2.0,支持 stdio、SSE 及经 mcp-remote 桥接的远程 Streamable HTTP),通过 McpManager::connect 配置后以 tool_definitions 接入。
质量与稳定性有保障吗?
README 报告 160 个单元测试与 262 项压力检查全部通过、零 I/O 回归,并提供 benchmark_io、memory_bench 等可复跑的基准脚本;但这些均为项目自报结果。

对比同类 Agent

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

相关 Agents