Skip to content

关于Claude Code如何看它自己 #16

@toniekule

Description

@toniekule

项目概览

  • ~51万行代码,~1884 个 TypeScript/TSX 文件
  • 技术栈:TypeScript + React + Ink(终端 UI 框架)+ Bun 构建
  • 40+ 内置工具,80+ 斜杠命令

最有趣的发现

  1. "卧底模式" (Undercover Mode)

Anthropic 员工会被自动检测并开启"卧底模式" — 自动去掉 commit 中的 Claude 署名,让提交看起来像是人类开发者写的。这在开源贡献中引发透明性问题。

  1. 远程遥控系统

Claude Code 每小时轮询 Anthropic 服务器获取配置,有 6+ 个远程开关 可以禁用功能(权限绕过、快速模式、语音模式等)。危险配置变更会弹阻断对话框,拒绝则退出应用。

  1. 未发布的下一代功能 — KAIROS

源码中暗藏全自主代理模式:

  • 心跳机制实现定时循环任务
  • 推送通知、GitHub PR 订阅
  • WebBrowserTool(浏览器自动化)、SleepTool、WorkflowTool 等 17+ 未发布工具
  • 语音模式(按键说话)
  1. 动物代号体系
  • Capybara v8 = 上一版本
  • Tengu = 当前开发版
  • Fennec = Opus 4.6
  • Numbat = 下一代(已确认)
  • 源码中还提到了 Opus 4.7、Sonnet 4.8 等未发布模型
  1. 条件编译机制

使用 Bun 的 feature() 内置函数进行死代码消除:

  • 外部构建会删除 108+ 个内部模块
  • 内部员工版有更好的系统提示、验证代理、更详细的错误信息
  • 单一代码库产出不同的构建版本
  1. 遥测系统
  • 双通道:Anthropic 自有分析 + Datadog
  • 收集环境指纹、工具使用模式、CPU/内存指标
  • 第一方遥测无法通过设置关闭
  • OTEL_LOG_TOOL_DETAILS=1 会捕获所有工具输入
  1. 权限系统(4 层防护)

  2. 规则匹配(快速路径)→ 自动允许/拒绝

  3. AI 分类器(自动模式下使用内部工具判断安全性)

  4. Hooks(外部系统可覆盖决策)

  5. 用户交互确认(兜底)

  6. Bash 安全分析

对 shell 命令做 AST 解析,检测 fork bomb (:(){ :|:& };:)、rm -rf /、凭据泄露、关键文件权限修改等危险模式。

  1. 隐藏命令
  • /btw — 内部工具
  • /stickers — 彩蛋
  1. 桥接系统

支持通过 WebSocket 与 Claude Desktop 桌面端连接,JWT 认证,消息路由转发。

总结来说,这个代码库展示了一个工业级 AI 代理的完整架构:从流式对话引擎、权限沙箱、远程控制、到隐藏的下一代自主模式,非常值得学习。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions