SuperAPI AI 工具集

14days-build-claude-code-cli

编程与开发

查看项目

更新于 10-16 10:35

技能介绍

用途

本项目是一个教育性质的实现,目标是让学习者亲手构建一个类似 Claude Code 风格的 AI 代码智能体脚手架,最终产出一个名为 agent-code 的命令行工具。

agent-code 支持一次性提示词或进入交互式 REPL;调用真实 LLM(默认使用通过 Anthropic 兼容端点访问的 DeepSeek);使用工具调用(tool_use / tool_result)完成文件操作、网页搜索和 bash 执行;实现 read-before-edit、diff 预览和权限系统等安全机制;管理会话、项目记忆与上下文压缩;并支持斜杠命令、hooks、skills、子智能体与 MCP 工具。

核心哲学是:模型负责推理,脚手架负责上下文、工具、权限、执行、状态和反馈循环。

主要能力(14 天学习路径)

  • 第 1 天:Hello Agent —— CLI、REPL、MockProvider、最小 Agent Loop
  • 第 2 天:真实模型 + 工具调用 —— AnthropicProvider、tool_use / tool_result
  • 第 3 天:文件 + 网页工具 —— cwd 边界、文件读取/搜索、网页工具
  • 第 4 天:安全编辑 —— read-before-edit、字符串替换、diff 预览
  • 第 5 天:Bash + 权限 —— 命令执行、权限系统、后台任务
  • 第 6 天:会话 + 记忆 —— 会话 JSONL、项目记忆、memdir
  • 第 7 天:斜杠命令 + Hooks —— slash commands、hooks、cron /loop
  • 第 8 天:交互式 Shell + Plan 模式 —— 交互式 shell、TodoWrite、计划审批
  • 第 9 天:Skills —— 按需加载领域知识与工作流
  • 第 10 天:子智能体 —— 将任务委托给专用子智能体
  • 第 11 天:上下文压缩 —— 长上下文压缩、成本追踪
  • 第 12 天:智能体协调器 —— 轻量级多智能体编排
  • 第 13 天:Worktree + 最终演示 —— worktree 隔离、端到端代码任务
  • 第 14 天:MCP + ToolSearch —— MCP 客户端、工具发现、生态扩展

使用方式

安装与运行(每日为独立包)。从 Day 1 开始自学:

mkdir my-agent-code && cd my-agent-code
uv init
uv add anthropic typer rich aiofiles
# 参照 docs/day-01-hello-agent.md

运行参考快照:

git clone https://github.com/bozhouDev/14days-build-claude-code-cli
cd 14days-build-claude-code-cli/packages/day-08-interactive-shell-plan-mode
uv sync
uv run agent-code "list files in this project"

配套 Web 教程:访问 https://buildcc.dev,或本地运行:

cd agent-code-learn
npm install && npm run dev
# 打开 http://localhost:3000

配置 LLM 提供商(环境变量):

# 默认:DeepSeek 的 Anthropic 兼容 API
export ANTHROPIC_AUTH_TOKEN="sk-your-deepseek-key"
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"

# 或使用官方 Claude
export ANTHROPIC_AUTH_TOKEN="sk-ant-..."
export ANTHROPIC_BASE_URL="https://api.anthropic.com"

在 CLI 中覆盖模型:

uv run agent-code --model deepseek-v4-flash "your task"
uv run agent-code --model claude-3-7-sonnet-20250219 "your task"

常用命令示例:

# 一次性提示词
uv run agent-code "create a hello.py file"

# 交互式 REPL
uv run agent-code

# 指定模型
uv run agent-code --model deepseek-v4-flash "analyze this codebase"

# 恢复会话
uv run agent-code --session my-session-id

交互式 REPL 命令(第 7 天起):/help、/quit、/new、/save my-session、/load my-session、/clear、/tools、/loop 5m "task" 等。

Plan 模式(第 8 天起):

uv run agent-code --plan-mode "refactor auth module"
# 智能体创建 todo 列表,由你逐步批准

架构要点(来源于项目代码示例)

项目提供了若干核心模式实现:

  • 最小 Agent Loop 与 AnthropicProvider(工具调用循环)
  • FileTools:限制在工作区内的路径检查(_check_path)、read_file、list_files
  • EditTools:read-before-edit 校验、字符串替换、unified_diff 预览
  • BashTools:危险命令集合(rm、sudo、chmod、mv)与权限回调
  • Session:JSONL 保存/加载/列出会话
  • SlashRouter:斜杠命令注册与分发
  • TodoTools / Plan 模式:todo 列表、逐项审批
  • ToolRegistry、PermissionEngine 等通用模式

测试

每日包含测试,在对应日的目录中运行:

cd packages/day-02-real-model-tool-calling
uv run pytest
uv run pytest tests/test_anthropic_provider.py -v
uv run pytest tests/

限制与故障排查

项目文档中提到的排查方向包括:API key 问题(检查环境变量、用 curl 测试)、工具调用不工作(检查 tool schema 是否符合 Anthropic 格式)、文件路径错误(相对工作区解析路径)、会话无法持久化(确保会话目录存在且可写)、模型上下文溢出(实现上下文裁剪)。

未提供的说明

项目资料未说明该项目的收费方式、价格、许可协议、具体的适用人群规模或效果承诺等信息。