很多人把「黑科技」理解成隐藏菜单或必抄配置。 我读完 clawd-code 这套社区源码笔记后的反直觉结论是:真正「暗」的往往不是某一个开关,而是构建期 死代码消除(DCE) 、GrowthBook 特性门、一方与三方分叉——同一份逻辑树,对外二进制和 员工/内部构建 可能根本不是同一棵可执行树。下面我按 「你能从笔记里核实什么」 来收线,不搞玄学,也不把 仅 USER_TYPE === 'ant' 的路径包装成人人可用的野路子。[材料:INTERNAL_ONLY_FEATURES.md、UNDERCOVER_MODE.md、ANTI_DISTILLATION.md、AUTO_DREAM.md、EXPERIMENTAL_SKILL_SEARCH.md、KAIROS.md、TEAM_MEMORY_SYNC.md、THINK.md、ACTIVITY_CAPTURE.md,索引见 DOCUMENTATION_INDEX.md]
一、先立界碑:什么叫「暗线」
若用 收费站 比喻:用户看得见的是 TUI、工具调用、权限弹窗;**笔记里写的「暗线」**多半是——
- 闸机后面还有多少条分支(内部命令、内部模型路由、内部权限模式);
- 出站口怎么 压低可蒸馏信号(streamlined 输出、签名块剥离、合成 tool_result 占位);
- 旁路车间里 fork 子代理 干活却不写进主 transcript(auto-dream);
- 长期驻场的 KAIROS(助手模式)怎么改 记忆形态 与 Bash 是否自动扔后台。
收回严谨表述:上述均以 clawd-code 文档对 src/ 的归纳 为准;你本机行为以 当前安装的官方发布包 + 官方说明 为准。
二、最「黑」的一层:ant 构建 vs 你手里的包
INTERNAL_ONLY_FEATURES.md 把差异写得很直白:外部构建里大量 USER_TYPE === 'ant' 分支可能被 DCE 整段干掉,运行时 不存在那条路径。笔记列举的典型差别包括(节选):
- 一整类内部斜杠命令(调试会话、perf、
commit-push-pr等),仅在ant && !IS_DEMO并入; - 额外工具(如某些配置/实验类工具、内部 REPL 工具等)挂着同一条
getAllBaseTools管线,但门控在ant; - 内部模型覆盖表(
antModels)在非ant构建 直接返回空——外部字符串里 不该出现 未公开型号的泄漏路径; - 权限模式里
auto、bubble被描述为 ant-only;Bash 分类器对外部构建可能是 stub; - 嵌入式搜索(二进制里塞
bfs/ugrep、shadowfind/grep)标注为 ant-native 构型,SDK 入口会关这条优化。
我读到的洞察:讨论「Claude Code 有没有 X 能力」时,若 X 绑在 INTERNAL_ONLY / ant-only 上,问题要先换成 「你跑的是哪一型构建」——否则很容易 用公开包体验去脑补内部树。
三、Undercover:不是给用户的「隐身模式」,是给内部贡献者的 防泄漏胶条
UNDERCOVER_MODE.md 写清定位:只有内部构建下才有完整语义;在 公共仓 / 不可信 remote 上,系统倾向 默认 undercover ON,直到 remote 命中极窄的私有仓 allowlist 才关。效果层包括:
- 系统提示里藏模型自我描述、产品渠道话术;
- Bash/Git 指令前强制前缀一段「别在 commit/PR 里口嗨内部代号」的纪律;
- 归因字符串(如默认脚注类文案)在 undercover 下可 置空。
比喻:像进 对外展区 前在白板上贴「禁止拍照」——防的是组织风险,不是帮终端用户「匿名上网」。
四、防蒸馏:产品可用与「可模仿性」之间的 多层减法
ANTI_DISTILLATION.md 归纳的是 工程目标堆叠,不是单一开关:
- 请求体在门禁齐套时可声明
anti_distillation: ['fake_tools'](具体行为在 API 端;客户端只 opt-in); - 实验 beta 侧有 connector-text 服务端摘要路径,注释标明 ant-only 度量阶段、绑定内部能力位;
- Streamlined 模式:保留用户可见正文,工具调用压成计数,thinking 省略,初始化消息 剥模型与工具列表——本质 蒸馏抗性输出形态;
- 消息规范化:签名绑定的块(thinking、
redacted_thinking、特定 connector 块)在换 key 会因 400 失效,客户端 剥离; - 合成 tool_result 占位(
SYNTHETIC_TOOL_RESULT_PLACEHOLDER)用于 结构配对——注释写明训练管线应 拒绝 含该串的负载,避免 毒化数据。
我读到的洞察:这是 数据契约 + 观测面收缩;如果你在做 SDK 集成或日志归档,理解这一层能解释「为什么有时候工具轨迹变『统计级』」。
五、Auto-dream:主会话旁的 Fork 大扫除,还带 锁文件经济学
AUTO_DREAM.md 描述在 stop hook 末尾 fire-and-forget 拉起子代理:
- 不进主 transcript(
skipTranscript),避免上下文噪声; - 门控链叠:
KAIROS开时 关嵌入式 auto-dream(改走磁盘/dreamskill)、远端模式关、auto-memory 总闸关、用户设置 / GrowthBooktengu_onyx_plover; .consolidate-lock用 mtime 当上次整合时间戳,带 PID 存活检测 与 rollback(失败时把时钟拨回,避免「假阳性刚整理过」);- 10 分钟扫描节流 + 「其他会话」数量门槛 控制 I/O 与触发频率。
比喻:主厨在大厅炒菜,后厨单独的学徒按点做 备货整理——顾客(主 transcript)看不见全过程,但 冷库标签(memory 目录) 会变干净。
六、实验性 Skill 搜索:把 首 token 从「技能电话簿」换成 短列表 + 异步发现
EXPERIMENTAL_SKILL_SEARCH.md 与 Tool Search(延迟暴露 MCP/内置工具)不是同一套。要点:
skill_listing在开启发现流时可缩成 bundled + MCP,避免 turn-0 塞爆缓存前缀;- turn 0 的用户输入驱动
getTurnZeroSkillDiscovery,后续回合在 query 并行窗口 预取,减少getAttachmentMessages热路径空转; - 压缩时剥离
skill_discovery/skill_listing,且 故意不重置sentSkillNames,避免 compact 后再灌 ~4k token 列表; - 远程 canonical Skill(
_canonical_*)路径注释要求USER_TYPE === 'ant'——又是 内部策展云拉 SKILL.md 的戏,不要当成外部默认能力。
七、KAIROS 切片:长寿会话如何 改记忆形态 与 Bash 行为
KAIROS.md(我只取与「暗线感」强相关的几刀):
kairosActive(进程级) 与kairosEnabled(会话 store) 必须分清:注释里写claude assistant纯查看 会把kairosEnabled关掉之类边角;- Brief:围绕
SendUserMessage的用户可见闭环;资格与 助手模式 / GB / env 组合相关; - Bash 在主线程若超 ASSISTANT_BLOCKING_BUDGET_MS 可 自动转后台,让主 Agent 不被长命令钉死;
AgentTool在 KAIROS 下可暴露cwd等字段(非 KAIROS 构建可能 Zod 隐藏),且assistantForceAsync推高异步倾向;- 记忆侧:按日 append-only 日志 + nightly
/dream蒸馏,与 TEAMMEM 的共享模式 不叠加(互斥注释)。
八、团队记忆同步:OAuth、ETag、密钥扫描不上传
TEAM_MEMORY_SYNC.md 要点:按 GitHub owner/repo 隔离;本地删文件不会同步删远端(下次 pull 可能 写回);push 前 gitleaks 类规则命中则 整文件跳过 并打点(无路径/明文密钥);412 冲突后用 view=hashes 廉价刷新。——这是 协作工程,不是魔法,但 确实少在表层 UX 里被讲全。
九、Thinking 与活动观测:两条「细但狠」
THINK.md:agentic 主路径若距离上次 API 完成 超过约 1 小时,可 锁存thinkingClearLatched,让上下文管理 只保留最后一轮 thinking——对齐 长 idle 后的 prompt cache 策略。ACTIVITY_CAPTURE.md:读工具成功会写readFileStateLRU(后续 Edit 的「先读后写」真相来源之一);同一次工具调用会 并行 打点、PostToolUse、OTel、Bridge 摘要——「活动」是多管道,不是单一 log 行。
十、我的一句话收束与硬问题
「黑科技」在源码笔记语境里,更像「门禁森林」: ant/演示/特性/GrowthBook/构建 define 叠在一起,外部包只能看到 被 DCE 和门控允许的那条子图。
硬问题:你如果基于 二手截图 或 内部构建录屏去抄「能力清单」,有没有可能 把根本不会出现在你包里的分支,当成 「官方欠你的开关」?
参考来源
“
Claude Code意外泄漏51.2万行TS核心代码
再次声明:本文为解读笔记,不构成对产品授权、合规或安全边界的法律或官方技术承诺。