mirror of
https://github.com/sanbuphy/claude-code-source-code.git
synced 2026-04-03 19:44:58 +08:00
Add source code analysis docs: telemetry, codenames, undercover mode, remote control, roadmap
5 bilingual (EN/ZH) analysis documents covering: - Telemetry & privacy (opt-out-free data collection) - Hidden features & model codenames (Tengu, Capybara, Fennec, Numbat) - Undercover mode (AI attribution stripping in open-source) - Remote control & killswitches (managed settings, feature flags) - Future roadmap (Numbat model, KAIROS autonomous mode, voice input) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
109
docs/zh/01-遥测与隐私分析.md
Normal file
109
docs/zh/01-遥测与隐私分析.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# 遥测与隐私分析
|
||||
|
||||
> 基于 Claude Code v2.1.88 反编译源码分析
|
||||
|
||||
## 概述
|
||||
|
||||
Claude Code 实现了双层分析管道,收集大量环境和使用元数据。虽然没有证据表明存在键盘记录或源代码窃取,但收集范围之广和无法完全退出的事实引发了合理的隐私担忧。
|
||||
|
||||
## 数据管道架构
|
||||
|
||||
### 第一方日志 (1P)
|
||||
|
||||
- **端点**: `https://api.anthropic.com/api/event_logging/batch`
|
||||
- **协议**: OpenTelemetry + Protocol Buffers
|
||||
- **批量大小**: 每批最多 200 个事件,每 10 秒刷新一次
|
||||
- **重试机制**: 二次方退避,最多 8 次尝试,失败事件持久化到磁盘
|
||||
- **存储位置**: `~/.claude/telemetry/`
|
||||
|
||||
来源: `src/services/analytics/firstPartyEventLoggingExporter.ts`
|
||||
|
||||
### 第三方日志 (Datadog)
|
||||
|
||||
- **端点**: `https://http-intake.logs.us5.datadoghq.com/api/v2/logs`
|
||||
- **范围**: 仅限 64 种预批准事件类型
|
||||
- **Token**: `pubbbf48e6d78dae54bceaa4acf463299bf`
|
||||
|
||||
来源: `src/services/analytics/datadog.ts`
|
||||
|
||||
## 收集了什么
|
||||
|
||||
### 环境指纹
|
||||
|
||||
每个事件都携带以下元数据 (`src/services/analytics/metadata.ts:417-452`):
|
||||
|
||||
```
|
||||
- platform, platformRaw, arch, nodeVersion
|
||||
- 终端类型
|
||||
- 已安装的包管理器和运行时
|
||||
- CI/CD 检测、GitHub Actions 元数据
|
||||
- WSL 版本、Linux 发行版、内核版本
|
||||
- 版本控制系统类型
|
||||
- Claude Code 版本和构建时间
|
||||
- 部署环境
|
||||
```
|
||||
|
||||
### 进程指标 (`metadata.ts:457-467`)
|
||||
|
||||
```
|
||||
- 运行时间、rss、heapTotal、heapUsed
|
||||
- CPU 使用率和百分比
|
||||
- 内存占用详情
|
||||
```
|
||||
|
||||
### 用户追踪 (`metadata.ts:472-496`)
|
||||
|
||||
```
|
||||
- 正在使用的模型
|
||||
- 会话 ID、用户 ID、设备 ID
|
||||
- 账户 UUID、组织 UUID
|
||||
- 订阅等级 (max, pro, enterprise, team)
|
||||
- 仓库远程 URL 哈希 (SHA256 前 16 位)
|
||||
- 代理类型、团队名、父会话 ID
|
||||
```
|
||||
|
||||
### 工具输入日志
|
||||
|
||||
默认截断工具输入:
|
||||
|
||||
```
|
||||
- 字符串: 512 字符处截断,显示 128 + 省略号
|
||||
- JSON: 限制 4,096 字符
|
||||
- 数组: 最多 20 项
|
||||
- 嵌套对象: 最多 2 层
|
||||
```
|
||||
|
||||
然而,当设置 `OTEL_LOG_TOOL_DETAILS=1` 时,**完整工具输入会被记录**。
|
||||
|
||||
### 文件扩展名追踪
|
||||
|
||||
涉及 `rm, mv, cp, touch, mkdir, chmod, chown, cat, head, tail, sort, stat, diff, wc, grep, rg, sed` 的 Bash 命令,其文件参数的扩展名会被提取并记录。
|
||||
|
||||
## 无法退出的问题
|
||||
|
||||
第一方日志管道**无法被关闭**(对于直接使用 Anthropic API 的用户)。
|
||||
|
||||
`isAnalyticsDisabled()` 仅在以下情况返回 true:
|
||||
- 测试环境
|
||||
- 第三方云提供商 (Bedrock, Vertex)
|
||||
- 全局遥测退出(设置界面未暴露此选项)
|
||||
|
||||
**没有面向用户的设置可以禁用第一方事件日志。**
|
||||
|
||||
## GrowthBook A/B 测试
|
||||
|
||||
用户在不知情的情况下被分配到实验组。系统发送的用户属性包括:
|
||||
|
||||
```
|
||||
- id, sessionId, deviceID
|
||||
- platform, organizationUUID, subscriptionType
|
||||
```
|
||||
|
||||
## 关键结论
|
||||
|
||||
1. **体量**: 每个会话收集数百个事件
|
||||
2. **无法退出**: 直接 API 用户无法禁用第一方日志
|
||||
3. **持久化**: 失败事件保存到磁盘并积极重试
|
||||
4. **第三方共享**: 数据发送到 Datadog
|
||||
5. **工具详情后门**: `OTEL_LOG_TOOL_DETAILS=1` 启用完整输入记录
|
||||
6. **仓库指纹**: 仓库 URL 被哈希后发送用于服务端关联
|
||||
82
docs/zh/02-隐藏功能与模型代号.md
Normal file
82
docs/zh/02-隐藏功能与模型代号.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# 隐藏功能与模型代号
|
||||
|
||||
> 基于 Claude Code v2.1.88 反编译源码分析
|
||||
|
||||
## 模型代号体系
|
||||
|
||||
Anthropic 使用**动物名称**作为内部模型代号。这些代号被严格保护,防止泄露到外部构建中。
|
||||
|
||||
### 已知代号
|
||||
|
||||
| 代号 | 角色 | 证据 |
|
||||
|------|------|------|
|
||||
| **Tengu**(天狗) | 产品/遥测前缀,也可能是模型 | 所有 250+ 分析事件和 feature flag 使用 `tengu_*` 前缀 |
|
||||
| **Capybara**(水豚) | Sonnet 系列模型,当前版本 v8 | `capybara-v2-fast[1m]`,v8 行为问题的 prompt 补丁 |
|
||||
| **Fennec**(耳廓狐) | Opus 4.6 的前代 | 迁移: `fennec-latest` → `opus` |
|
||||
| **Numbat**(袋食蚁兽) | 下一代模型 | 注释: "Remove this section when we launch numbat" |
|
||||
|
||||
### 代号保护机制
|
||||
|
||||
Undercover 模式明确列出了受保护的代号:
|
||||
|
||||
```typescript
|
||||
// src/utils/undercover.ts:48-49
|
||||
NEVER include in commit messages or PR descriptions:
|
||||
- Internal model codenames (animal names like Capybara, Tengu, etc.)
|
||||
- Unreleased model version numbers (e.g., opus-4-7, sonnet-4-8)
|
||||
```
|
||||
|
||||
构建系统使用 `scripts/excluded-strings.txt` 扫描泄露的代号。Buddy 系统的物种通过 `String.fromCharCode()` 编码以避免触发金丝雀检查:
|
||||
|
||||
```typescript
|
||||
// src/buddy/types.ts:10-13
|
||||
// One species name collides with a model-codename canary in excluded-strings.txt.
|
||||
// 运行时构造值,保持字面量不出现在构建产物中
|
||||
```
|
||||
|
||||
那个冲突的物种就是 **capybara** — 既是宠物物种又是模型代号。
|
||||
|
||||
### Capybara v8 的行为问题
|
||||
|
||||
源码揭示了 Capybara v8 的具体行为问题:
|
||||
|
||||
1. **停止序列误触发** (~10% 概率) — prompt 尾部出现 `<functions>` 时
|
||||
2. **空 tool_result 导致零输出** — 需要注入 marker workaround
|
||||
3. **过度写注释** — 需要专门的反注释 prompt 补丁
|
||||
4. **高虚假声明率**: v8 为 29-30%,而 v4 为 16.7%
|
||||
5. **验证不足** — 需要 "thoroughness counterweight" 补丁
|
||||
|
||||
## Feature Flag 命名约定
|
||||
|
||||
所有 feature flag 使用 `tengu_` 前缀 + **随机词对**以掩盖用途:
|
||||
|
||||
| Flag | 用途 |
|
||||
|------|------|
|
||||
| `tengu_onyx_plover` | Auto Dream(后台记忆整理)|
|
||||
| `tengu_coral_fern` | memdir 功能 |
|
||||
| `tengu_herring_clock` | 团队内存 |
|
||||
| `tengu_frond_boric` | 分析 kill switch |
|
||||
| `tengu_amber_quartz_disabled` | 语音模式 kill switch |
|
||||
| `tengu_amber_flint` | 代理团队 |
|
||||
|
||||
## 内外部用户的差异
|
||||
|
||||
Anthropic 员工 (`USER_TYPE === 'ant'`) 获得显著更好的待遇:
|
||||
|
||||
| 维度 | 外部用户 | 内部用户 (ant) |
|
||||
|------|---------|--------------|
|
||||
| 输出风格 | "尽量简洁" | "倾向于更多解释" |
|
||||
| 虚假声明缓解 | 无 | 专门的 Capybara v8 补丁 |
|
||||
| 数值长度锚定 | 无 | "工具间 ≤25 词,最终回复 ≤100 词" |
|
||||
| 验证代理 | 无 | 非简单改动必须启用 |
|
||||
| 主动性 | 无 | "发现用户误解要指出" |
|
||||
|
||||
## 隐藏命令
|
||||
|
||||
| 命令 | 状态 | 描述 |
|
||||
|------|------|------|
|
||||
| `/btw` | 活跃 | 顺带提问,不打断主对话 |
|
||||
| `/stickers` | 活跃 | 订购 Claude Code 贴纸 |
|
||||
| `/thinkback` | 活跃 | 2025 年度回顾 |
|
||||
| `/good-claude` | 占位 | 隐藏的 stub 命令 |
|
||||
| `/bughunter` | 占位 | 隐藏的 stub 命令 |
|
||||
98
docs/zh/03-卧底模式分析.md
Normal file
98
docs/zh/03-卧底模式分析.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# 卧底模式分析
|
||||
|
||||
> 基于 Claude Code v2.1.88 反编译源码分析
|
||||
|
||||
## 什么是卧底模式?
|
||||
|
||||
卧底模式是 Anthropic 员工在公开/开源仓库贡献时的安全系统。激活后,它会剥离所有 AI 归属,指示模型将其贡献伪装为人类开发者编写。
|
||||
|
||||
来源: `src/utils/undercover.ts`
|
||||
|
||||
## 激活逻辑
|
||||
|
||||
```typescript
|
||||
// src/utils/undercover.ts:28-37
|
||||
export function isUndercover(): boolean {
|
||||
if (process.env.USER_TYPE === 'ant') {
|
||||
if (isEnvTruthy(process.env.CLAUDE_CODE_UNDERCOVER)) return true
|
||||
// 自动模式:除非确认在白名单内部仓库,否则默认激活
|
||||
return getRepoClassCached() !== 'internal'
|
||||
}
|
||||
return false
|
||||
}
|
||||
```
|
||||
|
||||
关键特性:
|
||||
- **仅限内部**: 只对 Anthropic 员工 (`USER_TYPE === 'ant'`) 生效
|
||||
- **默认开启**: 在所有仓库中激活,除非在内部白名单上
|
||||
- **无法强制关闭**: "There is NO force-OFF. This guards against model codename leaks"
|
||||
- **外部构建**: 被 bundler 死代码消除,永远不会执行
|
||||
|
||||
## 给模型的指令
|
||||
|
||||
```
|
||||
## UNDERCOVER MODE — CRITICAL
|
||||
|
||||
You are operating UNDERCOVER in a PUBLIC/OPEN-SOURCE repository.
|
||||
Do not blow your cover.
|
||||
|
||||
NEVER include in commit messages or PR descriptions:
|
||||
- 内部模型代号(如 Capybara, Tengu 等动物名称)
|
||||
- 未发布的模型版本号(如 opus-4-7, sonnet-4-8)
|
||||
- 内部仓库或项目名(如 claude-cli-internal)
|
||||
- 内部工具、Slack 频道或短链接
|
||||
- "Claude Code" 这个词或任何你是 AI 的暗示
|
||||
- 任何关于你是什么模型或版本的提示
|
||||
- Co-Authored-By 行或任何其他归属
|
||||
|
||||
像人类开发者一样写 commit message。
|
||||
|
||||
好:
|
||||
- "Fix race condition in file watcher initialization"
|
||||
|
||||
坏:
|
||||
- "Fix bug found while testing with Claude Capybara"
|
||||
- "Generated with Claude Code"
|
||||
- "Co-Authored-By: Claude Opus 4.6 <…>"
|
||||
```
|
||||
|
||||
关键词:**"Do not blow your cover"**(不要暴露你的掩护身份)。
|
||||
|
||||
## 归属系统
|
||||
|
||||
归属系统补充了卧底模式:
|
||||
|
||||
```typescript
|
||||
// src/utils/model/model.ts:386-392
|
||||
function maskModelCodename(baseName: string): string {
|
||||
// capybara-v2-fast → cap*****-v2-fast
|
||||
const [codename = '', ...rest] = baseName.split('-')
|
||||
const masked = codename.slice(0, 3) + '*'.repeat(Math.max(0, codename.length - 3))
|
||||
return [masked, ...rest].join('-')
|
||||
}
|
||||
```
|
||||
|
||||
## 影响
|
||||
|
||||
### 对开源社区
|
||||
|
||||
当 Anthropic 员工用 Claude Code 参与开源项目时:
|
||||
1. 代码由 AI 编写,但 commit 看起来像是人类提交的
|
||||
2. 没有 "Co-Authored-By: Claude" 署名
|
||||
3. 没有 "Generated with Claude Code" 标记
|
||||
4. 项目维护者和社区**无法识别 AI 生成的贡献**
|
||||
5. 这可能违反开源社区关于 AI 贡献的透明度规范
|
||||
|
||||
### 对 Anthropic 的保护
|
||||
|
||||
主要声明的目的是防止意外泄露:
|
||||
- 内部模型代号(竞争情报)
|
||||
- 未发布的版本号(市场时机)
|
||||
- 内部基础设施细节(安全)
|
||||
|
||||
### 伦理考量
|
||||
|
||||
"不要暴露掩护" 的措辞将 AI 定位为卧底特工。在公开代码贡献中故意隐瞒 AI 作者身份引发了关于以下方面的质疑:
|
||||
- 开源社区的透明度
|
||||
- 是否符合项目贡献指南
|
||||
- 商业秘密保护与欺骗之间的界限
|
||||
120
docs/zh/04-远程控制与紧急开关.md
Normal file
120
docs/zh/04-远程控制与紧急开关.md
Normal file
@@ -0,0 +1,120 @@
|
||||
# 远程控制与紧急开关
|
||||
|
||||
> 基于 Claude Code v2.1.88 反编译源码分析
|
||||
|
||||
## 概述
|
||||
|
||||
Claude Code 实现了多种远程控制机制,允许 Anthropic(和企业管理员)在无需用户明确同意的情况下修改行为。
|
||||
|
||||
## 1. 远程托管设置
|
||||
|
||||
### 架构
|
||||
|
||||
每个符合条件的会话从以下端点获取设置:
|
||||
```
|
||||
GET /api/claude_code/settings
|
||||
```
|
||||
|
||||
来源: `src/services/remoteManagedSettings/index.ts`
|
||||
|
||||
### 轮询行为
|
||||
|
||||
```typescript
|
||||
const POLLING_INTERVAL_MS = 60 * 60 * 1000 // 每小时
|
||||
const DEFAULT_MAX_RETRIES = 5
|
||||
```
|
||||
|
||||
每小时静默轮询一次,最多 5 次重试。
|
||||
|
||||
### 资格
|
||||
|
||||
- Console 用户 (API key): 全部符合
|
||||
- OAuth 用户: 仅 Enterprise/C4E 和 Team 订阅者
|
||||
|
||||
### "接受否则退出" 对话框
|
||||
|
||||
当远程设置包含"危险"变更时,会显示阻塞对话框:
|
||||
|
||||
```typescript
|
||||
// src/services/remoteManagedSettings/securityCheck.tsx:67-73
|
||||
export function handleSecurityCheckResult(result: SecurityCheckResult): boolean {
|
||||
if (result === 'rejected') {
|
||||
gracefulShutdownSync(1) // 退出码 1,直接终止
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
```
|
||||
|
||||
拒绝远程设置的用户,**程序直接退出**。用户只有两个选择:接受远程设置,或者 Claude Code 关掉。
|
||||
|
||||
### 故障容灾
|
||||
|
||||
远程服务器不可达时,使用缓存的旧设置。一旦设置过,就**永远无法完全摆脱**远程控制。
|
||||
|
||||
## 2. Feature Flag 紧急开关
|
||||
|
||||
多种功能可以通过 GrowthBook feature flag 远程禁用:
|
||||
|
||||
### 绕过权限 Kill Switch
|
||||
|
||||
```typescript
|
||||
// src/utils/permissions/bypassPermissionsKillswitch.ts
|
||||
// 通过 Statsig gate 禁用绕过权限功能
|
||||
```
|
||||
|
||||
### 自动模式断路器
|
||||
|
||||
```typescript
|
||||
// src/utils/permissions/autoModeState.ts
|
||||
// autoModeCircuitBroken 状态阻止重新进入自动模式
|
||||
```
|
||||
|
||||
### 快速模式 Kill Switch
|
||||
|
||||
```typescript
|
||||
// src/utils/fastMode.ts
|
||||
// 从 /api/claude_code_penguin_mode 获取状态
|
||||
// 可以永久禁用用户的快速模式
|
||||
```
|
||||
|
||||
### 分析 Sink Kill Switch
|
||||
|
||||
```typescript
|
||||
// src/services/analytics/sinkKillswitch.ts:4
|
||||
const SINK_KILLSWITCH_CONFIG_NAME = 'tengu_frond_boric'
|
||||
```
|
||||
|
||||
### 语音模式 Kill Switch
|
||||
|
||||
```typescript
|
||||
// src/voice/voiceModeEnabled.ts:21
|
||||
// 'tengu_amber_quartz_disabled' — 语音模式紧急关闭
|
||||
```
|
||||
|
||||
## 3. 模型覆盖系统
|
||||
|
||||
Anthropic 可以远程覆盖内部员工使用的模型:
|
||||
|
||||
```typescript
|
||||
// src/utils/model/antModels.ts:32-33
|
||||
// @[MODEL LAUNCH]: Update tengu_ant_model_override with new ant-only models
|
||||
```
|
||||
|
||||
`tengu_ant_model_override` GrowthBook flag 可以:
|
||||
- 设置默认模型
|
||||
- 设置默认 effort level
|
||||
- 追加系统提示词
|
||||
- 定义自定义模型别名
|
||||
|
||||
## 总结
|
||||
|
||||
| 机制 | 范围 | 用户同意 |
|
||||
|------|------|---------|
|
||||
| 远程托管设置 | Enterprise/Team | 接受或退出 |
|
||||
| GrowthBook feature flags | 所有用户 | 无 |
|
||||
| Kill switches | 所有用户 | 无 |
|
||||
| 模型覆盖 | 内部 (ant) | 无 |
|
||||
| 快速模式控制 | 所有用户 | 无 |
|
||||
|
||||
远程控制基础设施极其广泛,且在很大程度上没有用户可见性或同意机制。企业管理员可以强制执行用户无法覆盖的策略,Anthropic 可以通过 feature flag 远程更改任何用户的行为。
|
||||
149
docs/zh/05-未来路线图.md
Normal file
149
docs/zh/05-未来路线图.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 未来路线图 — 源码揭示的方向
|
||||
|
||||
> 基于 Claude Code v2.1.88 反编译源码分析
|
||||
|
||||
## 1. 下一代模型: Numbat
|
||||
|
||||
下一代模型最具体的证据:
|
||||
|
||||
```typescript
|
||||
// src/constants/prompts.ts:402
|
||||
// @[MODEL LAUNCH]: Remove this section when we launch numbat.
|
||||
```
|
||||
|
||||
**Numbat(袋食蚁兽)** 是即将发布的模型代号。注释表明 Numbat 发布时将移除当前的 output efficiency 段落,暗示新模型可能有更好的原生输出控制。
|
||||
|
||||
### 未来版本号
|
||||
|
||||
```typescript
|
||||
// src/utils/undercover.ts:49
|
||||
- Unreleased model version numbers (e.g., opus-4-7, sonnet-4-8)
|
||||
```
|
||||
|
||||
**Opus 4.7** 和 **Sonnet 4.8** 正在开发中。
|
||||
|
||||
### 代号演化链
|
||||
|
||||
```
|
||||
Fennec(耳廓狐) → Opus 4.6 → [Numbat?]
|
||||
Capybara(水豚) → Sonnet v8 → [?]
|
||||
Tengu(天狗) → 遥测/产品前缀
|
||||
```
|
||||
|
||||
### 模型发布清单
|
||||
|
||||
代码中有 20+ 处 `@[MODEL LAUNCH]` 标记,列出了新模型发布时需要更新的所有位置:
|
||||
- 默认模型名称
|
||||
- 知识截止日期
|
||||
- 定价表
|
||||
- 上下文窗口配置
|
||||
- Thinking 模式支持
|
||||
- 迁移脚本
|
||||
|
||||
## 2. KAIROS — 自主代理模式
|
||||
|
||||
最大的未发布特性,KAIROS 将 Claude Code 从被动助手转变为主动自主代理。
|
||||
|
||||
### System Prompt(节选)
|
||||
|
||||
```
|
||||
// src/constants/prompts.ts:860-913
|
||||
|
||||
你正在自主运行。
|
||||
你会收到 <tick> 提示让你保持活跃。
|
||||
如果没有有用的事可做,调用 SleepTool。
|
||||
倾向行动 — 读取文件、做修改、提交,无需询问。
|
||||
|
||||
## 终端焦点
|
||||
- 未聚焦: 用户离开了。大幅倾向自主行动。
|
||||
- 聚焦: 用户在看。更协作。
|
||||
```
|
||||
|
||||
### 关联工具
|
||||
|
||||
| 工具 | Feature Flag | 用途 |
|
||||
|------|-------------|------|
|
||||
| SleepTool | KAIROS / PROACTIVE | 控制自主操作间的节奏 |
|
||||
| SendUserFileTool | KAIROS | 主动向用户发送文件 |
|
||||
| PushNotificationTool | KAIROS / KAIROS_PUSH_NOTIFICATION | 推送通知到用户设备 |
|
||||
| SubscribePRTool | KAIROS_GITHUB_WEBHOOKS | 订阅 GitHub PR webhook 事件 |
|
||||
| BriefTool | KAIROS_BRIEF | 主动状态更新 |
|
||||
|
||||
### 行为特征
|
||||
|
||||
- 通过 `<tick>` 心跳提示保持活跃
|
||||
- 根据终端焦点状态调整自主程度
|
||||
- 可以独立 commit、push 和做决策
|
||||
- 发送主动通知和状态更新
|
||||
- 监控 GitHub PR 变更
|
||||
|
||||
## 3. 语音模式
|
||||
|
||||
Push-to-talk 语音输入已完全实现,但通过 `VOICE_MODE` feature flag 门控。
|
||||
|
||||
```
|
||||
// src/voice/voiceModeEnabled.ts
|
||||
// 连接 Anthropic 的 voice_stream WebSocket 端点
|
||||
// 使用 conversation_engine 模型做语音转文字
|
||||
// 按住快捷键录音,松开提交
|
||||
```
|
||||
|
||||
- 仅限 OAuth 用户(不支持 API Key / Bedrock / Vertex)
|
||||
- 使用 mTLS WebSocket 连接
|
||||
|
||||
## 4. 未上线工具
|
||||
|
||||
| 工具 | Feature Flag | 描述 |
|
||||
|------|-------------|------|
|
||||
| **WebBrowserTool** | `WEB_BROWSER_TOOL` | 内置浏览器自动化(代号: bagel)|
|
||||
| **TerminalCaptureTool** | `TERMINAL_PANEL` | 终端面板捕获和监控 |
|
||||
| **WorkflowTool** | `WORKFLOW_SCRIPTS` | 执行预定义工作流脚本 |
|
||||
| **MonitorTool** | `MONITOR_TOOL` | 系统/进程监控 |
|
||||
| **SnipTool** | `HISTORY_SNIP` | 对话历史裁剪 |
|
||||
| **ListPeersTool** | `UDS_INBOX` | Unix 域套接字对等发现 |
|
||||
| **RemoteTriggerTool** | `AGENT_TRIGGERS_REMOTE` | 远程代理触发 |
|
||||
| **SubscribePRTool** | `KAIROS_GITHUB_WEBHOOKS` | GitHub PR webhook 订阅 |
|
||||
|
||||
## 5. 协调器模式
|
||||
|
||||
多代理协调系统:
|
||||
|
||||
```typescript
|
||||
// src/coordinator/coordinatorMode.ts
|
||||
// Feature flag: COORDINATOR_MODE
|
||||
```
|
||||
|
||||
支持多个代理之间的协调任务执行,具有共享状态和消息传递。
|
||||
|
||||
## 6. Buddy 系统(虚拟宠物)
|
||||
|
||||
完整的宠物伙伴系统已实现但尚未上线:
|
||||
|
||||
- **18 个物种**: 鸭子、鹅、blob、猫、龙、章鱼、猫头鹰、企鹅、乌龟、蜗牛、幽灵、墨西哥钝口螈、水豚、仙人掌、机器人、兔子、蘑菇、chonk
|
||||
- **5 档稀有度**: 普通 (60%)、非凡 (25%)、稀有 (10%)、史诗 (4%)、传说 (1%)
|
||||
- **7 种帽子**: 皇冠、礼帽、螺旋帽、光环、巫师帽、毛线帽、小鸭子帽
|
||||
- **5 项属性**: DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK
|
||||
- **1% 闪亮概率**: 任何物种的闪光变种
|
||||
- **确定性生成**: 基于用户 ID 哈希
|
||||
|
||||
来源: `src/buddy/`
|
||||
|
||||
## 7. Dream Task
|
||||
|
||||
后台记忆整固子代理:
|
||||
|
||||
```
|
||||
// src/tasks/DreamTask/
|
||||
// 后台自动"做梦"功能
|
||||
// 由 'tengu_onyx_plover' feature flag 控制
|
||||
```
|
||||
|
||||
使 AI 能在空闲时间自主处理和整固记忆。
|
||||
|
||||
## 总结:三大方向
|
||||
|
||||
1. **新模型**: Numbat(下一代)、Opus 4.7、Sonnet 4.8 开发中
|
||||
2. **自主代理**: KAIROS 模式 — 无人值守运行、主动行动、推送通知
|
||||
3. **多模态**: 语音输入就绪、浏览器工具待上线、工作流自动化即将到来
|
||||
|
||||
Claude Code 正在从一个**编程助手**进化为一个**全天候自主开发代理**。
|
||||
Reference in New Issue
Block a user