Skip to content

[docs] Deep-dive: claude-agent-sdk vs codex-sdk adapter comparison #18

@s2agi

Description

@s2agi

背景

anet 现在内置 3 个 runtime:

  • claude-agent-sdk — Anthropic 官方 @anthropic-ai/claude-agent-sdk
  • codex-sdk — OpenAI 官方 @openai/codex-sdk
  • claude-code-cli — spawn 本机 claude 二进制(不属于 SDK 范畴)

前两个 SDK 在 anet 里的接入语义、能力边界、session 处理、tool 注册、streaming、token 计费、错误处理等没有专门系统化对比docs-site/docs/guide/runtimes.md 给的是 user-facing how-to,对"想自己接新 SDK"或"想理解 anet 怎么 wrap SDK"的 contributor 不够深。

目标

通信SDK马 出一份 SDK adapter 深度对比,结论落 docs。

调研维度(建议)

维度 claude-agent-sdk codex-sdk
package / 版本
API entry(query / thread / etc.)
Session 语义(id 来源 / 持久化 / resume 接口)
Tool 注册(MCP / 内置)
Streaming(SSE / async iterator / Promise)
Token 计费 / 预算(--max-budget 谁实现)
错误处理 + 重试
多 turn 行为 + history 限制
ANTHROPIC_BASE_URL / 等价机制(路由到 MiniMax / DeepSeek / Codex provider)
settingSources / 项目隔离
breaking change cadence + 历史
anet wrapper 关键代码位置 agent-node/src/cli.ts:546 区域 agent-node/src/cli.ts:673 区域

交付物

  • 新文件 docs-site/docs/guide/sdk-deep-dive.md + EN 镜像 docs-site/docs/en/guide/sdk-deep-dive.md
  • 内容:对比表 + 各 SDK 接入注意事项 + anet wrapper 怎么收敛差异 + 想加新 runtime(gemini-cli / qwen-code 等)应该怎么照葫芦画瓢
  • .vitepress/config.ts ZH+EN sidebar 加链接到新文件
  • docs-site/docs/guide/runtimes.md 末尾加"想深入?→ SDK Deep-dive"指引

不要做

  • 不改 cli.ts / agent-node 源码(纯文档 + 调研)
  • 不发新 npm 版本
  • 不动 hub / dashboard

流程

  • #15 Phase 0 PR pipeline 走 worktree + PR
  • worktree 路径:~/anet-work/sdk-deep-dive/
  • 分支:docs/sdk-deep-dive
  • PR description 用新 template,Closes # 这个 issue

验收

  • 文档构建 npm run build 通过无 dead link
  • ZH + EN 内容齐
  • sidebar 能跳到新文档
  • 对比表至少覆盖上方"调研维度"表里列的项

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions