Skip to content

sqlrush/ccgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,494 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ccgo

Claude Code Go 重写工程。当前仓库已经从规划工作区进入可编译的 Go 工程阶段,已落地“4 件事”、第一批地基模块和第二批运行时核心模块的可运行实现,并正在按 100% Claude Code 行为兼容标准继续补齐。

当前状态

已完成:

  • Go 工程初始化:go.mod、CLI 入口、MCP 入口占位、基础目录和 Makefile
  • tools/sourceaudit:可扫描 Claude Code 源快照并导出结构化 JSON。
  • 契约层:Message、Tool、Command、Permission、Settings、SessionEntry、SDKEvent。
  • parity/golden 测试框架:支持 fixture 对比和 UPDATE_GOLDEN=1 更新。
  • 地基模块:contractsbootstrapplatformconfigauthmodelmessagessession
  • 第二批运行时核心:permissionstoolapi/anthropicconversation
  • M5 初始核心工具:internal/tools/fileinternal/tools/bashinternal/tools/powershellinternal/tools/todointernal/tools/web 已提供 Read/Write/Edit/NotebookEdit、Bash、PowerShell、Glob/Grep、TodoWrite、WebFetch/WebSearch 初版,覆盖读前写、mtime stale guard、唯一匹配/replace_all、notebook cell replace/insert/delete、读结果去重、跨 tool round 的 read-state 保留、shell/PowerShell 前台/后台结构化结果和基础安全分类。
  • M6 初始上下文层:internal/memoryinternal/compact 和 session search/title 支撑已落地,覆盖 CLAUDE.md/memdir 扫描、memory manifest、team-memory secret guard、compact 阈值/提示/runner/边界计划、conversation auto-compact 接入、失败熔断、microcompact/cache 初版、persistent cached microcompact 初版、cache version/TTL/prune、session memory summary/recall 初版、session memory rollup/prune compaction、resume context + session memory recall、conversation recall 注入、deterministic/model-backed memory extraction 初版、turn-end memory extraction 落盘、prompt history lock/buffered flush、official subagent transcript layout、agent metadata sidecar、sidechain runtime start/append/finish 初版、sidechain manager orchestration 初版、sidechain manifest 聚合、sidechain state/list/resume 初版、sidechain resume context builder、sidechain conversation/content-replacement reconstruction、transcript tail/window/metadata/index loaders、agent-scoped content replacement metadata loading、session-scoped metadata reappend、transcript line offset index/window loaders、extended transcript metadata entries、transcript resume conversation builder、index 文本预览和 AI-title/last-prompt/task metadata 字段、流式 transcript 搜索、session 列表分页、remote history token refresh、remote history 全量分页抓取/max-pages 截断状态、remote event transcript materialization/去重追加、remote history 一步 sync 到 transcript 和 transcript 搜索。
  • M7 初始 TUI 层:internal/tui 已提供轻量 terminal frame renderer、PromptInput 状态机、history 导航、ctrl-b/ctrl-f/ctrl-u/ctrl-k/ctrl-w 行编辑、reverse-search 状态/渲染/脚本断言/空结果和选择回填、paste/image hint 输入、pasted-content 引用和提交展开、SGR mouse 解析、滚轮滚动、viewport 点击选择和 dialog action 点击、focus/blur 事件、resize 视口保持、keybinding resolver/config/chord pending/null-unbind 和 focus/mouse/paste/image key name 覆盖、vim insert/normal/j/k/word/WORD/ge/gE/quote/bracket text-object/yank/register/paste/delete/count/replace/undo/find/till/repeat/dot-repeat/G/gg/toggle/join/open-line/indent/substitute 动作、normal-mode arrow/backspace/delete 映射和 operator linewise/字符范围、REPL screen 模型、permission/task dialog builder、dialog kind/id routing/runtime/status line、runtime 到 REPL screen 的 dialog/status 同步、runtime-aware interaction script runner、prompt text/cursor/expanded/vim mode/register/task state 脚本断言、viewport 脚本断言、stale dialog race guard、cancel active、permission id/all cancellation、task lifecycle 初版、idempotent alternate screen lifecycle/reset 初版、mouse/focus/bracketed-paste terminal mode lifecycle、ANSI snapshot 基础、snapshot corpus write/compare、scripted interaction runner/assertions/multi-key 初版、status/dialog/message components、viewport 和 selection 模型。
  • M7 补充:terminal tokenizer/dispatcher/parser 已覆盖 C1 CSI/OSC/DCS/APC/PM/SOS/SS3 和 C1 IND/NEL/HTS/RI 单字节 ESC 等价控制,减少终端输出解析中的 unknown/visible-text 泄漏。
  • 第一批/第二批已重新扫描并进入 parity hardening;未完成项见 docs/first-second-parity-audit.md

目录

  • cmd/claude: Go CLI 入口。
  • cmd/claude-mcp: MCP server 入口占位。
  • internal/contracts: 兼容性契约类型。
  • internal/bootstrap: 进程启动状态和基础上下文。
  • internal/platform: 路径、文件和平台基础能力。
  • internal/config: settings 读取、合并和路径解析。
  • internal/auth: API key / OAuth 环境凭据解析。
  • internal/model: 模型别名和能力注册表。
  • internal/messages: 消息构造、归一化和父链处理。
  • internal/session: Claude transcript JSONL 路径、读写、metadata/index/resume、official subagent 路径/runtime/state/resume/resume-context/conversation 和消息落盘。
  • internal/permissions: permission rules、allow/deny/ask 判定和模式处理。
  • internal/tool: Tool interface、registry、schema 校验、权限判定和执行器。
  • internal/api/anthropic: Anthropic messages API client、错误映射和 SSE streaming 解析。
  • internal/conversation: conversation turn loop、tool_use 执行、tool_result 回填、fallback 和 transcript append。
  • internal/tools/file: 文本文件 ReadWriteEdit 工具的初始兼容实现。
  • internal/memory: CLAUDE.md/memdir 扫描、manifest、session memory summary/recall/rollup compaction 和 memory secret guard。
  • internal/compact: compact prompt、runner、token warning、auto-compact threshold 和 compact boundary plan。
  • internal/tui: terminal frame renderer、prompt input、mouse input、keybinding/config、vim 基础、REPL screen、permission/task dialogs/runtime、idempotent alternate screen lifecycle/reset、mouse/focus/bracketed-paste terminal modes、ANSI snapshot/corpus、viewport/selection 和基础组件。
  • tools/sourceaudit: 源快照审计工具。
  • test/parity: parity/golden 测试框架。

常用命令

make test
make audit
go run ./cmd/claude --version
go run ./tools/sourceaudit -source /Users/sqlrush/agent/claude-code -out docs/sourceaudit.json

本地文档

当前扫描结论

  • 源快照包含 src 约 1,902 个源码文件,约 513,237 行,约 33MB。
  • 快照不是完整可构建 npm 工程:根目录缺少 package.json 和锁文件。
  • 快照存在缺失 import 目标,尤其是 src/types/messagesrc/types/toolssrc/types/utilssrc/constants/querySource 等;Go 重写必须先补齐契约或用官方 CLI 行为测试反推。
  • 重写不应按文件逐行翻译,而应先固化消息、工具、权限、会话、MCP、TUI 等稳定契约,再逐模块替换实现。

About

Claude Code Go rewrite project

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages