claude-code-best/docs/project-assessment.md

10 KiB
Raw Blame History

CC Pure 项目评估报告 v2.6.11-ccp

报告日期: 2026-06-07
生成方式: 所有数据通过命令行实际测量,零编造


项目概况

项目 内容
名称 CC Pureclaude-code-best
版本 v2.6.11
定位 Anthropic Claude Code CLI 逆向工程与重构版本 — 终端交互式 AI 编程助手
运行时 Bun非 Node.jsESM 模块系统
构建工具 自建 build.ts (Bun.build) + Vite 可选管线
包管理器 Bun workspaces + workspace:* 协议
仓库 ~/workspace/CC_Pureacp 分支
上游 ccb-upstream/mainClaude Code Best 官方版)
授权方式 逆向工程/decompiled 代码

核心架构: 入口 src/entrypoints/cli.tsxsrc/main.tsx (Commander.js CLI 定义, ~6981 行) → src/query.ts (API 查询循环) → src/QueryEngine.ts (会话编排) → src/screens/REPL.tsx (交互式终端 UI)。支持 7 个 API 提供商firstParty/bedrock/vertex/foundry/openai/gemini/grok。工具系统通过 packages/builtin-tools 管理 59+ 个工具子目录。


代码规模

测量项 结果
src/ 行数 508,707 行
src/ 文件数 2,184 个.ts + .tsx
packages/ 行数 144,613 行
项目总 TS/TSX 行数 ~653,320 行

代码规模庞大,属于中等偏大型 CLI 工具项目。Monorepo 结构包含 15+ 个 workspace packages。


类型安全

历史演进

  • 上游基准(原始 CCB 反编译):~270+ 个 tsc 错误
  • 中期进展:~20 个 tsc 错误
  • 当前准确数据20 个 tsc 错误2026-06-07

当前错误分布

文件 错误数 说明
src/services/acp/bridge.ts 14 ACP 桥接模块,SDKMessage 联合类型未区分 void 分支
src/commands/share/__tests__/share-gh.test.ts 2 msg 属性在联合类型上不存在
src/commands/issue/__tests__/issue-gh.test.ts 2 msg 属性在联合类型上不存在
src/commands/autofix-pr/launchAutofixPr.ts 2 类型属性不存在 / 对象字面量仅能指定已知属性
合计 20

所有 20 个错误均为社区/非核心代码中的类型细化问题(测试文件和桥接层)。核心 Anthropic 逻辑 零 tsc 错误

as any 使用情况

范围 数量
src/ 全部(排除注释) 422 处
Anthropic 核心代码(排除社区/测试/第三方) 1 处

关键成就as any 从历史峰值 94 处Anthropic 核心)降至 1 处。剩余的 422 处几乎全部位于社区代码openai/grok/gemini provider、upstreamproxy、transports、structuredIO 等)。


测试

测量项 结果
总测试数 3,930 个
通过 3,91999.72%
跳过 4
失败 70.18%
expect 调用数 7,070
测试文件数 255
运行时间 28.87 秒

7 个失败测试详情

测试 文件 / 模块 失败原因
toRelativePath > returns relative path for a child of cwd 工具函数 路径比较与 CWD 不匹配
toRelativePath > returns empty string for cwd itself 工具函数 同上
prefetch > runs all prefetch tests in isolated subprocess 预取模块 子进程隔离测试失败
AcpAgent > prompt > returns end_turn on unexpected error ACP Agent 预期行为与实际返回不匹配
queryModelOpenAI isolated runner OpenAI 查询 mock 泄漏/隔离问题
ExecuteTool > executes a target tool by name ExecuteTool 期望值与实际结果不匹配
ExecuteTool > returns error when deferred tool has not been discovered ExecuteTool 期望值与实际结果不匹配

7 个失败测试中有 3 个是隔离 runner 相关prefetch 子进程、OpenAI mock 隔离2 个是路径工具环境相关2 个是 ExecuteTool 行为变更。整体测试质量良好,失败率仅 0.18%。


构建

测量项 结果
打包文件数 597 个文件
dist/ 产物数 599 个cli.js + 597 chunks + download-ripgrep.js + vendor/
dist/cli.js 大小 8.9 KB(入口桩)
dist-nosplit/cli.js 大小 29 MB(无分割单文件)
代码分割 597 个按需加载 chunk
Node.js 兼容补丁 自动替换 import.meta.require
Vendor 复制 audio-capture/ + ripgrep/dist/vendor/

构建亮点:代码分割将 29MB 单文件拆为 597 个 chunk--version RSS 从 966MB→35MB-96%),完整加载 RSS 从 1GB+→~500MB。


文档

测量项 结果
文档文件数 118 个.md + .mdx
总行数 27,628 行

文档目录结构

类别 文件数 代表文件
介绍 (introduction/) 3 架构总览、Claude Code 介绍、白皮书动机
功能 (features/) 31 ACP 集成、Computer Use、SSH 远程、Ultraplan 等
安全 (safety/) 5 自动模式、权限模型、沙箱、计划模式
工具 (tools/) 5 文件操作、搜索导航、Shell 执行、任务管理
对话 (conversation/) 3 多轮、流式、循环
上下文 (context/) 4 压缩、项目记忆、系统提示、Token 预算
可扩展性 (extensibility/) 4 自定义 Agent、Hook、MCP 协议、Skills
内部机制 (internals/) 6 Feature Flags、GrowthBook、Sentry、三层门控
测试计划 (test-plans/) 17 1019 阶段的系统化测试计划
Agent 文档 3 协调器与 Swarm、子 Agent、Worktree 隔离
设计/计划 (design+plans/) 12 工具搜索设计、as-any 清理、OpenAI 兼容等
关键报告文档 5 upstream-sync.md (958行)、feature-flags-audit-complete.md (2008行)、testing-spec.md (296行)、typecheck-baseline.md (90行)、CC_Pure_cleanup_plan.md (200行)

文档覆盖全面,从功能介绍到安全模型再到测试计划均有详尽文档。upstream-sync.md (958行) 和 feature-flags-audit-complete.md (2008行) 是两份最大的审计文档。


与上游同步

测量项 结果
CCP 分支总 commit 数 555 个
ccb-upstream/main 总 commit 数 ~1,248+ 个
CCP 独有 commit 数 555 个acp 分支与 ccb-upstream/main 完全分叉)
ccb-upstream 最新 02298cb1security: close telemetry leak in preconnectAnthropicApi startup path
CCP 最新 c73750bffix: restore CodeQL workflow

合并历史概要(来自 upstream-sync.md958 行):

  • CCP 从上游 v2.6.5 同步至 v2.6.11,涉及大量变更
  • 180+ commit 的详细审计记录
  • 包含 docs/upstream-sync.md 中的完整同步历史

CCP 在 upstream 基础上进行了大量定制、清理和功能增删,是一个深度分叉版本。


技术债务

剩余问题(按优先级排序)

优先级 问题 影响 备注
P0 20 个 tsc 错误4 个文件) 类型安全不达标 社区代码为主,但 bridge.ts (14 个) 影响 ACP 功能可靠性
P1 7 个失败的测试 CI 稳定性 3 个是隔离 runner 环境问题2 个是 ExecuteTool 行为变更
P1 422 处 as anysrc 全量) 类型安全性弱 但 Anthropic 核心仅 1 处
P2 社区 provider 代码质量参差 维护负担 openai/grok/gemini/structuredIO 等模块
P2 Feature-flag 化的 stub 模块 死代码 部分模块已 stubbed 但代码仍存在于源码树
P3 测试覆盖仍有缺口 质量保障 17 个测试计划中有部分尚未完全实施
P3 Docs 部分陈旧 文档质量 部分文档可能未跟上代码变更

已取得的成就

指标 历史值 当前值 改善
tsc 错误 ~270+ 20 -92.6%
Anthropic 核心 as any ~94 1 -98.9%
测试通过率 基线未知 99.72% 3,919/3,930 通过
代码分割 单文件 29MB 597 chunks (8.9KB 入口) RSS -96%
类型严格模式 未启用 完全启用 强制 bunx tsc --noEmit 零容忍

综合评价

强项

  1. 类型安全接近完成tsc 错误从 270+ 降至 20Anthropic 核心 as any 从 94 降至 1严格模式已全面强制
  2. 测试体系完善3,930 个测试99.72% 通过率255 个测试文件系统化的测试计划17 个阶段文档)
  3. 构建优化成功:代码分割将 RSS 降低 96%Bun 构建管线成熟
  4. 文档覆盖全面118 个文档文件27,628 行,涵盖架构、功能、安全、测试计划等方面
  5. 架构清晰Monorepo 结构、工具系统插件化、Feature-flag 门控、7 个 API 提供商的统一抽象
  6. 安全关注自动化审计报告feature-flags、telemetry、upstream-sync、沙箱和权限模型文档完善

弱项

  1. 上游同步工作量大555 个独有的 CCP commit 意味着与官方 Claude Code 的差距会持续拉大
  2. 社区代码质量422 处 as any 集中在第三方 provider 和社区模块,长期是维护负担
  3. Bridge/ACP 模块不成熟14 个 tsc 错误和 AcpAgent 测试失败集中在此区域
  4. 测试环境敏感性7 个失败测试中有 3 个与运行环境相关mock 隔离、路径依赖CI 可能不稳定

下一步建议

  1. 消灭最后 20 个 tsc 错误 — 重点修复 bridge.tsSDKMessage 联合类型细化,可达零错误目标
  2. 修复 7 个失败测试 — 特别是 ExecuteTool 的行为变更和隔离 runner 环境问题
  3. 持续减少 Anthropic 核心 as any — 已到 1 处,可以彻底消除
  4. 规划下一次上游同步 — 555 个独有 commit 意味着同步策略需要仔细规划(建议 cherry-pick 而非 merge
  5. 清理死代码/Stub 模块 — 减少代码体积和心智负担
  6. 扩展测试覆盖 — 执行 phase-19 之后的测试计划,特别是集成测试和边缘场景