事情始于一个典型的现代软件工程事故——Anthropic发布的@anthropic-ai/claude-code npm包意外包含了完整的source map文件。这种"打包事故"在业界并不罕见,但这次的特殊之处在于,它暴露的不仅是一些调试符号,而是整个TypeScript工程的完整骨架。
当我开始深入分析这些源码时,发现这个项目远比表面看到的复杂。本地快照显示:
src/目录包含2062个文件这种规模已经完全超出了"查看内部实现"的范畴,更像是拿到了一个商业AI CLI产品的完整开发仓库。
最令人惊讶的发现是:Claude Code远不止是一个终端对话工具,而是一个被精心设计的Agent运行时平台。通过分析源码,我识别出了几个关键子系统:
Buddy系统:
Kairos持久化助手:
Ultraplan云端研究:
Coordinator多Agent编排:
这些发现表明,Claude Code团队正在构建的是一套完整的Agent生态系统,而公开的CLI只是其能力的冰山一角。
意识到这个项目的价值后,我决定不只是停留在分析阶段,而是将其改造为一个可实际运行的本地版本——Refinex-Code。这个过程涉及几个关键步骤:
工程化还原:
身份剥离:
rcode架构解耦:
最关键的改造点是模型提供者系统的重构。原实现深度绑定Anthropic的消息协议,要支持OpenAI生态需要彻底的重构:
适配层设计:
抽象Provider接口
实现OpenAI Responses适配器
配置管理系统
最终的Provider配置通过交互式CLI完成,支持:
bash复制/provider
/provider status
/provider anthropic
/provider codex
配置内容包括:
为了使项目更适合Agent协作,我对工作流进行了几项重要改进:
文档标准化:
CLAUDE.md迁移到AGENTS.md技能系统增强:
~/.agents/skills目录Harness工程实践:
Refinex-Code保留了原项目的核心架构,主要包括以下组件:
运行时引擎:
命令系统:
桥接层:
模型适配器实现:
typescript复制interface ModelProvider {
name: string;
sendRequest(request: ModelRequest): Promise<ModelResponse>;
streamRequest(request: ModelRequest): AsyncIterable<ModelChunk>;
validateConfig(config: ProviderConfig): boolean;
// ...其他必要方法
}
class OpenAiResponsesProvider implements ModelProvider {
private readonly config: OpenAiConfig;
constructor(config: OpenAiConfig) {
this.config = config;
}
async sendRequest(request: ModelRequest) {
const openAiRequest = this.transformRequest(request);
const response = await fetch(this.config.endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${this.config.apiKey}`
},
body: JSON.stringify(openAiRequest)
});
return this.transformResponse(await response.json());
}
// ...其他方法实现
}
上下文管理:
技能系统:
bash复制~/.agents/skills/
├── harness-bootstrap/
│ ├── manifest.json
│ ├── skill.js
│ └── README.md
├── harness-feat/
│ ├── manifest.json
│ ├── skill.js
│ └── templates/
└── harness-fix/
├── manifest.json
└── skill.js
本地开发模式:
bash复制git clone https://github.com/Refinex-Space/Refinex-Code
cd Refinex-Code
bun install
bun run dev
全局链接安装:
bash复制bun link
rcode --version
Provider配置示例:
启动配置向导:
bash复制rcode
/provider codex
按步骤输入:
基础交互:
bash复制rcode
[进入交互模式]
❯ 帮我分析当前项目的结构
技能调用:
bash复制/harness-bootstrap
[初始化项目控制面]
计划执行:
bash复制/docs/PLANS.md
[编辑执行计划]
/harness-feat
[按计划推进功能]
上下文管理:
模型选择:
技能优化:
通过这个项目,我深刻认识到现代AI工程实践的几个关键点:
Agent不是功能,而是架构:
工程纪律的重要性:
混合工作流的威力:
技术挑战:
设计挑战:
工程挑战:
短期改进:
中期规划:
长期愿景:
这个项目从一次意外开始,却打开了一扇通向AI工程新实践的大门。它证明了即使是"事故"也能成为创新的起点,关键在于我们如何对待和利用这些意外发现。