nanocc 是 Claude Code 的最小核心系统实现,仅需一个 Python 脚本即可运行。它实现了一个完整的 Agent 循环(Agent Loop),支持工具调用(Tool Use)和多轮对话。
- 极简实现:单文件约 300 行代码,易于理解和定制。
- Agent 循环:自动处理
tool_use响应,循环执行直到任务完成。 - 核心工具集:
read_file: 读取本地文件。edit_file: 写入/编辑本地文件。bash: 执行终端命令。
- 鲁棒性:
- 完善的 API 错误处理(认证失败、权限不足、频率限制、连接超时等)。
- 自动伪装 User-Agent 以绕过 Cloudflare 拦截。
- 支持自定义 API 端点(Base URL)。
- 现代工具链:支持
uv运行,内联依赖声明。
推荐使用 uv 运行:
# 无需手动安装依赖,uv 会自动处理
uv run nano_cc.py或者使用 pip 安装依赖:
pip install anthropic
python nano_cc.pynanocc 支持通过环境变量进行身份验证:
# 使用 Anthropic 官方 API
export ANTHROPIC_API_KEY="your-api-key"
# 或使用第三方代理 (如 aicoding.sh)
export ANTHROPIC_AUTH_TOKEN="your-token"
export ANTHROPIC_BASE_URL="https://api.aicoding.sh"Agent 可以使用以下工具与系统交互:
read_file(path): 获取文件内容的字符串。edit_file(path, content): 将content覆盖写入path。bash(command): 执行 shell 命令并返回 stdout/stderr。
除了直接运行脚本,你也可以在自己的代码中引用它:
from nano_cc import MinimalClaudeCode
agent = MinimalClaudeCode(
api_key="your-key",
base_url="https://api.anthropic.com"
)
result = agent.run("统计当前目录下的 py 文件数量")
print(result)MIT
