概述
欢迎了解 claude-code-Go——一个用 Go 语言实现的 Claude Code 智能体系统。
什么是 claude-code-Go?
claude-code-Go 是一个终端驱动的 AI 编程助手,完整实现了 Agent Loop(智能体循环),包含内置工具系统、三级权限管理、MCP(Model Context Protocol)协议支持以及 SSE(Server-Sent Events)流式输出。
核心设计理念:模型提供智能,Harness 提供可靠性。
LLM 负责理解意图、决策工具调用、解释执行结果;运行时负责权限控制、超时保护、输出截断、会话持久化——确保系统达到生产级可靠性标准。
你可以把它理解为:
- 一个能读取、编写、编辑项目文件的 AI 助手
- 一个能执行 shell 命令、运行构建和测试的自动化工具
- 一个能用 glob 模式和内容搜索浏览代码库的代码导航器
- 一个在终端 REPL 中与你协作编程的智能体
它和普通聊天机器人有什么不同?
与传统的聊天机器人不同,claude-code-Go 作为一个具有自主能力和工具使用能力的智能体运作。
| 特性 | 聊天机器人 | claude-code-Go |
|---|---|---|
| 交互模式 | 请求-响应 | 持续智能体循环,自主调用工具 |
| 能力边界 | 仅文本生成 | 读取、编写、编辑、执行、搜索 |
| 状态管理 | 无状态 | 消息历史 + 上下文自动压缩 |
| 用户控制 | 被动接收 | 危险操作需主动审批(y/n/a) |
| 使用场景 | 问答、对话 | 代码开发、重构、调试、自动化 |
技术栈
claude-code-Go 遵循最小依赖原则构建:
| 组件 | 技术 |
|---|---|
| 编程语言 | Go 1.23+ |
| 运行时依赖 | 零外部依赖(纯 Go 标准库) |
| Python 测试框架 | 可选(harness/ 目录,用于测试、模拟、评估) |
| API 协议 | Anthropic Messages API + SSE 流式传输 |
harness/ 目录下的 Python 测试框架是可选的,提供:
- Mock API 服务器(测试时无需 API 费用)
- 会话回放(用于调试和 Trace 分析)
- 质量评估器(用于集成测试)
核心数字
- ~30 个 Go 源文件(非测试)
- ~4,000 行 Go 代码
- ~2,000 行 Python 代码(harness)
- 8 个内部模块
- 6 个内置工具(Read、Write、Edit、Glob、Grep、Bash)
你将学到什么
本文档涵盖 claude-code-Go 的架构和实现细节:
- AI 智能体架构 — Agent Loop 的工作原理、stop_reason 驱动的状态机、工具选择策略
- 流式 API 集成 — SSE 协议解析、token 级流式输出、HTTP 重试机制
- 工具系统设计 — Tool 接口抽象、Registry 模式、MCP 协议集成
- 安全架构 — 三级权限模型、glob 规则匹配、Human-in-the-loop 审批
- 工程实践 — 结构化日志、信号处理、配置管理、上下文压缩
目标读者
本文档面向:
- 对构建 AI 驱动工具感兴趣的 Go 开发者
- 对 Agent 架构好奇的 系统程序员
- 寻求 CLI 自动化方案的 DevOps 工程师
- 探索 LLM 应用模式的 技术架构师
前置知识:
- Go 编程语言基础
- 终端/命令行操作
- HTTP API 和 JSON 数据格式
下一步
前往快速开始运行你的第一个命令。
或深入架构概览理解各模块如何协同工作。