Skip to content

Commit cb046b4

Browse files
docs: 添加文档
1 parent 8e4aea4 commit cb046b4

2 files changed

Lines changed: 90 additions & 24 deletions

File tree

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Claude Code Best V3 (CCB)
22

3+
[![GitHub Stars](https://img.shields.io/github/stars/claude-code-best/claude-code?style=flat-square&logo=github&color=yellow)](https://github.com/claude-code-best/claude-code/stargazers)
4+
[![GitHub Contributors](https://img.shields.io/github/contributors/claude-code-best/claude-code?style=flat-square&color=green)](https://github.com/claude-code-best/claude-code/graphs/contributors)
5+
[![GitHub Issues](https://img.shields.io/github/issues/claude-code-best/claude-code?style=flat-square&color=orange)](https://github.com/claude-code-best/claude-code/issues)
6+
[![GitHub License](https://img.shields.io/github/license/claude-code-best/claude-code?style=flat-square)](https://github.com/claude-code-best/claude-code/blob/main/LICENSE)
7+
[![Last Commit](https://img.shields.io/github/last-commit/claude-code-best/claude-code?style=flat-square&color=blue)](https://github.com/claude-code-best/claude-code/commits/main)
8+
[![Bun](https://img.shields.io/badge/runtime-Bun-black?style=flat-square&logo=bun)](https://bun.sh/)
9+
10+
> Which Claude do you like? The open source one is the best.
11+
312
牢 A (Anthropic) 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI 工具的源码反编译/逆向还原项目。目标是将 Claude Code 大部分功能及工程化能力复现 (问就是老佛爷已经付过钱了)。虽然很难绷, 但是它叫做 CCB(踩踩背)...
413

514
[文档在这里, 支持投稿 PR](https://ccb.agent-aura.top/)
@@ -96,6 +105,12 @@ TUI (REPL) 模式需要真实终端,无法直接通过 VS Code launch 启动
96105
- **在线文档(Mintlify)**: [ccb.agent-aura.top](https://ccb.agent-aura.top/) — 文档源码位于 [`docs/`](docs/) 目录,欢迎投稿 PR
97106
- **DeepWiki**: <https://deepwiki.com/claude-code-best/claude-code>
98107

108+
## Contributors
109+
110+
<a href="https://github.com/claude-code-best/claude-code/graphs/contributors">
111+
<img src="https://contrib.rocks/image?repo=claude-code-best/claude-code" />
112+
</a>
113+
99114
## Star History
100115

101116
<a href="https://www.star-history.com/?repos=claude-code-best%2Fclaude-code&type=date&legend=top-left">

docs/internals/ant-only-world.mdx

Lines changed: 75 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ keywords: ["Ant 特权", "USER_TYPE", "身份门控", "内部功能", "Anthropic
1111
`USER_TYPE` 是一个构建时常量,通过 Bun 打包器的 `--define` 注入。在 Anthropic 的内部构建中它被设为 `'ant'`,在公开发布的版本中是 `'external'`
1212

1313
```typescript
14-
// 反编译版本(src/entrypoints/cli.tsx16 行)
15-
(globalThis as any).BUILD_TARGET = "external";
14+
// 反编译版本(src/types/global.d.ts63 行)
15+
// Build-time constants BUILD_TARGET/BUILD_ENV/INTERFACE_TYPE — removed (zero runtime usage)
1616
```
1717

18-
由于这是编译时常量,Bun 会进行**常量折叠**——所有 `process.env.USER_TYPE === 'ant'` 在外部构建中直接变为 `false`,后续代码被 DCE 移除。但在反编译版本中,这些代码保留完整。
18+
`BUILD_TARGET` 等构建时常量在反编译版本中已被移除。`USER_TYPE` 通过 Bun 的 `--define` 或环境变量注入,Bun 会进行**常量折叠**——所有 `process.env.USER_TYPE === 'ant'` 在外部构建中直接变为 `false`,后续代码被 DCE 移除。但在反编译版本中,这些代码保留完整。
1919

20-
`USER_TYPE === 'ant'` 出现在代码库的 **60+ 个位置**,控制着工具、命令、API、UI 等方方面面。
20+
`USER_TYPE === 'ant'` 在代码库中出现 **377+ 次**(含 `=== 'ant'` 291 次、`(process.env.USER_TYPE) === 'ant'` 86 次),另有 `!== 'ant'` 53 次、其他引用约 35 次,总计 **465 处引用**,控制着工具、命令、API、UI 等方方面面。
2121

2222
## Ant-Only 工具
2323

@@ -31,7 +31,9 @@ keywords: ["Ant 特权", "USER_TYPE", "身份门控", "内部功能", "Anthropic
3131
| **TungstenTool** | `src/tools/TungstenTool/` | 基于 tmux 的终端面板工具(反编译版中已 stub) |
3232

3333
```typescript
34-
// src/tools.ts 第 16-24 行
34+
// src/tools.ts 第 14-24 行——条件导入 + Dead Code Elimination 标记
35+
// Dead code elimination: conditional import for ant-only tools
36+
/* eslint-disable custom-rules/no-process-env-top-level, @typescript-eslint/no-require-imports */
3537
const REPLTool =
3638
process.env.USER_TYPE === 'ant'
3739
? require('./tools/REPLTool/REPLTool.js').REPLTool
@@ -45,7 +47,7 @@ const SuggestBackgroundPRTool =
4547

4648
## Ant-Only 命令
4749

48-
`src/commands.ts` 注册了 25+ 个仅在内部构建中可用的斜杠命令:
50+
`src/commands.ts` 注册了 **28** 个仅在内部构建中可用的斜杠命令`INTERNAL_ONLY_COMMANDS`,lines 225-254),在 `USER_TYPE === 'ant' && !IS_DEMO` 时才加载(line 343-345)
4951

5052
<AccordionGroup>
5153
<Accordion title="调试类">
@@ -55,6 +57,7 @@ const SuggestBackgroundPRTool =
5557
- `env` — 显示环境变量
5658
- `mockLimits` — 模拟速率限制
5759
- `resetLimits` — 重置速率限制
60+
- `resetLimitsNonInteractive` — 重置速率限制(非交互式)
5861
</Accordion>
5962
<Accordion title="实验类">
6063
- `bughunter` — Bug 猎人模式
@@ -69,6 +72,9 @@ const SuggestBackgroundPRTool =
6972
- `autofixPr` — 自动修复 PR 中的问题
7073
- `share` — 分享会话
7174
- `summary` — 生成摘要
75+
- `subscribePr` — 订阅 PR(需要 `KAIROS_GITHUB_WEBHOOKS` feature flag)
76+
- `forceSnip` — 强制截断历史(需要 `HISTORY_SNIP` feature flag)
77+
- `ultraplan` — 超级规划(需要 `ULTRAPLAN` feature flag)
7278
</Accordion>
7379
<Accordion title="基础设施类">
7480
- `backfillSessions` — 回填会话数据
@@ -88,30 +94,72 @@ const SuggestBackgroundPRTool =
8894

8995
## Beta API Headers
9096

91-
Claude Code 向 API 发送的 beta headers 也分为公开和内部两类:
92-
93-
| Header | 功能 | 可见性 |
94-
|--------|------|--------|
95-
| `claude-code-20250219` | Claude Code 标识 | 公开 |
96-
| `interleaved-thinking-2025-05-14` | 交错思考模式 | 公开 |
97-
| `context-1m-2025-08-07` | 1M 上下文窗口 | 公开 |
98-
| `context-management-2025-06-27` | 上下文管理 | 公开 |
99-
| `web-search-2025-03-05` | 网页搜索 | 公开 |
100-
| `effort-2025-11-24` | 推理强度控制 | 公开 |
101-
| `fast-mode-2026-02-01` | 快速模式 | 公开 |
102-
| `token-efficient-tools-2026-03-28` | Token 高效工具 | 公开 |
103-
| `advisor-tool-2026-03-01` | 顾问工具 | 公开 |
104-
| **`cli-internal-2026-02-09`** | 内部 CLI 功能 | **Ant-Only** |
105-
| **`afk-mode-2026-01-31`** | AFK 模式(离开键盘自动审批) | **Feature Flag** |
106-
| **`summarize-connector-text-2026-03-13`** | 连接器文本摘要 | **Feature Flag** |
97+
Claude Code 向 API 发送的 beta headers 分布在 `src/constants/betas.ts`(主注册表)和其他文件中,按可见性分为以下几类:
98+
99+
### 公开 Headers(所有构建均发送)
100+
101+
| Header | 功能 | 额外条件 |
102+
|--------|------|----------|
103+
| `claude-code-20250219` | Claude Code 标识 | 非 Haiku 时始终发送;Haiku 在 agentic 模式下也发送 |
104+
| `effort-2025-11-24` | 推理强度控制 | 动态注入 |
105+
| `task-budgets-2026-03-13` | 任务预算 | 始终通过 `addAgenticBetas()` 注入 |
106+
| `fast-mode-2026-02-01` | 快速模式 | 通过 sticky-on latch 动态注入 |
107+
| `advisor-tool-2026-03-01` | 顾问工具 | 启用 advisor 时动态注入 |
108+
| `advanced-tool-use-2025-11-20` | 工具搜索(1P) | Claude API / Foundry |
109+
| `tool-search-tool-2025-10-19` | 工具搜索(3P) | Vertex / Bedrock |
110+
111+
### 模型能力相关(有条件发送)
112+
113+
| Header | 功能 | 条件 |
114+
|--------|------|------|
115+
| `interleaved-thinking-2025-05-14` | 交错思考模式 | 模型支持 ISP 且未禁用 |
116+
| `context-1m-2025-08-07` | 1M 上下文窗口 | 模型支持 1M context |
117+
| `context-management-2025-06-27` | 上下文管理 | Claude 4+ 或 ant 手动启用 |
118+
| `structured-outputs-2025-12-15` | 结构化输出 | Claude 4.5/4.6 + GrowthBook `tengu_tool_pear` |
119+
| `web-search-2025-03-05` | 网页搜索 | Vertex (Claude 4+) / Foundry |
120+
| `redact-thinking-2026-02-12` | 思维摘要/脱敏 | ISP 模型 + 非交互 + 未强制显示思维 |
121+
| `prompt-caching-scope-2026-01-05` | 提示缓存作用域 | firstParty/foundry + 全局缓存 |
122+
123+
### Ant-Only Headers
124+
125+
| Header | 功能 | 条件 |
126+
|--------|------|------|
127+
| **`cli-internal-2026-02-09`** | 内部 CLI 功能 | `USER_TYPE === 'ant'` + CLI 入口 |
128+
| **`token-efficient-tools-2026-03-28`** | Token 高效工具 | `USER_TYPE === 'ant'` + GrowthBook `tengu_amber_json_tools` |
129+
130+
### Feature Flag Gated
131+
132+
| Header | 功能 | 条件 |
133+
|--------|------|------|
134+
| **`afk-mode-2026-01-31`** | AFK 模式(离开键盘自动审批) | `feature('TRANSCRIPT_CLASSIFIER')` |
135+
136+
### 其他特殊 Headers
137+
138+
| Header | 功能 | 来源 |
139+
|--------|------|------|
140+
| `oauth-2025-04-20` | OAuth 订阅者标识 | `src/constants/oauth.ts`,Pro/Max/Team/Enterprise |
141+
| `environments-2025-11-01` | Bridge 环境 API | `src/bridge/bridgeApi.ts`,仅 Bridge 模式 |
107142

108143
```typescript
109-
// src/constants/betas.ts 第 29-30 行
144+
// src/constants/betas.ts — 常量定义
145+
export const TOKEN_EFFICIENT_TOOLS_BETA_HEADER =
146+
'token-efficient-tools-2026-03-28'
110147
export const CLI_INTERNAL_BETA_HEADER =
111148
process.env.USER_TYPE === 'ant' ? 'cli-internal-2026-02-09' : ''
112149
```
113150

114-
`cli-internal` header 意味着 Anthropic 的 API 服务端也维护着一套 ant-only 的服务端行为——这不仅仅是客户端的门控。
151+
```typescript
152+
// src/utils/betas.ts 第 315-321 行——TOKEN_EFFICIENT_TOOLS 的实际门控逻辑
153+
if (
154+
process.env.USER_TYPE === 'ant' &&
155+
includeFirstPartyOnlyBetas &&
156+
tokenEfficientToolsEnabled // GrowthBook 'tengu_amber_json_tools' flag
157+
) {
158+
betaHeaders.push(TOKEN_EFFICIENT_TOOLS_BETA_HEADER)
159+
}
160+
```
161+
162+
`cli-internal` header 意味着 Anthropic 的 API 服务端也维护着一套 ant-only 的服务端行为——这不仅仅是客户端的门控。`token-efficient-tools` 进一步需要 GrowthBook flag 开启,说明 Ant 员工内部也有分层灰度。
115163

116164
## 内部代号体系
117165

@@ -138,6 +186,8 @@ Anthropic 有浓厚的"动物命名"文化:
138186
- `DISABLE_AUTO_COMPACT` — 禁用自动压缩
139187
- `CLAUDE_CODE_DISABLE_AUTO_MEMORY` — 禁用自动记忆
140188
- `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` — 禁用后台任务
189+
- `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` — 禁用实验性 beta headers
190+
- `USE_API_CONTEXT_MANAGEMENT` — 上下文管理工具清除(需 ant)
141191
</Accordion>
142192
<Accordion title="功能启用开关">
143193
- `CLAUDE_CODE_VERIFY_PLAN` — 启用 VerifyPlanExecutionTool
@@ -151,6 +201,7 @@ Anthropic 有浓厚的"动物命名"文化:
151201
- `CLAUDE_CODE_COORDINATOR_MODE` — 启用 Coordinator 模式
152202
- `CLAUDE_INTERNAL_FC_OVERRIDES` — GrowthBook flag 覆盖(ant-only)
153203
- `IS_DEMO` — 演示模式(隐藏内部命令和敏感信息)
204+
- `CLAUDE_CODE_ENTRYPOINT` — 入口类型标识(`cli` | 其他)
154205
</Accordion>
155206
</AccordionGroup>
156207

0 commit comments

Comments
 (0)