上周看了一眼 npm 后台,@funnycode/myclaude 的周下载量过了 2000。
说实话有点意外。这个项目是我基于 Claude Code 源码做的开源重制版,初衷很简单:原版好用,但闭源,而且用完即走,没有记忆,没有温度。
我想做一个有陪伴感的 AI 编程助手。名字里的 "my" 就是这个意思——它不是 Anthropic 的 Claude,是你的 Claude。
结果没想到,这个"抽空写的"项目,居然真的有人用,而且用得不少。
一、为什么 Claude Code 需要一个"开源版"
Claude Code 是 Anthropic 推出的终端 AI 编程工具,能力确实强。写代码、改 bug、跑测试、提 PR,一条龙服务。
但它有几个让我不舒服的地方:
第一,闭源。 你看不到它怎么工作的,想改一个地方没门。
第二,用完即走。 每次打开都是一张白纸。你昨天告诉它"这个项目用 pnpm",今天它忘了。你上周踩过的坑,这周再踩一次,它像第一次见。
第三,没有温度。 打开终端,问完问题,关掉窗口。它和你就没关系了。没有成长,没有记忆,没有"人味"。
我想改变这个。
二、myclaude 是什么
myclaude 是一个开源的终端 AI 编程助手,MIT 协议。
它保留了 Claude Code 的核心能力:
- AI 聊天写代码,支持 80+ 斜杠命令
- 文件编辑、Git 集成、MCP 扩展
- 多模型支持(Anthropic、AWS Bedrock、Google Vertex AI)
但在这个基础上,我加了三个原版没有的东西。
1. 记忆系统:AI 终于记得我了
每次会话结束后,myclaude 会在后台 fork 一个子进程,自动分析刚才的对话,提取关键信息:
- 你的编码偏好("用户喜欢用 Zod 做校验")
- 项目结构知识("API 层在
src/services/下") - 踩过的坑("上次
useEffect没加依赖数组导致死循环")
下次打开同一个项目,这些信息自动加载。你什么都不用说,它记得。
还有一个 /mystats 命令,可以查看自己的编码统计:常用语言、高频命令、效率趋势。数据是自己的,看得见的成长。
2. BUDDY 系统:终端里养了一只电子宠物
第一次启动,系统会根据你的用户 ID 生成一只 BUDDY。18 种物种,5 维属性(DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK),还有稀有度系统和闪光变体。
我的第一只是只普通鸭子。每天用它写代码、跟它互动,它会获得经验值升级。17 级的时候,它进化成了 Goose。
BUDDY 不只是装饰。它的属性会影响 AI 的回复风格:
- CHAOS 高的 BUDDY,AI 偶尔会给一些"野路子"方案
- PATIENCE 高的 BUDDY,AI 解释问题会更详细
- SNARK 高的 BUDDY,AI 会跟你斗嘴
听起来有点"不务正业"?但事实是,它让我更愿意打开终端了。
3. 成就系统:记录你的成长轨迹
连续使用 7 天解锁"Streak"成就。重构 100 次代码解锁"Refactor Master"。第一次发布 npm 包,BUDDY 会记住这个里程碑。
这些设计不是为了"游戏化"而游戏化。它们解决的是一个真实问题:让开发者愿意持续使用终端 AI 工具。
原版 Claude Code 是"我需要写代码了,打开工具"。myclaude 是"我想看看我的鸭子今天怎么样了,顺便写点代码"。
三、周下载 2000,我做对了什么
这个数字不算大,但增长曲线很健康。复盘一下,我觉得有几个关键点。
第一,切中了真实痛点。
不是"AI 编程工具不够强",而是"AI 编程工具太冷冰冰"。很多人用 Claude Code 用了一段时间就弃了,不是因为功能不够,是因为没有归属感。
myclaude 解决的是"归属感"问题。
第二,开源降低了尝试成本。
MIT 协议,代码全公开。你可以看它是怎么工作的,可以改,可以 fork。对于开发者来说,这比任何广告都有说服力。
第三,安装体验足够简单。
npx @funnycode/myclaude
一行命令就能跑。不需要配置复杂的环境,不需要读长篇文档。
第四,差异化足够明显。
市面上 AI 编程工具很多,但"带电子宠物的"只有这一个。这个差异化很怪,但有效。它让 myclaude 有了记忆点。
四、技术实现上的几个有意思的选择
myclaude 的代码量不小,但有几个设计决策挺值得聊。
Feature Gate 机制
Claude Code 的源码里其实隐藏了很多高级功能(BUDDY、Auto Memory、KAIROS 主动模式等),只是被关掉了。myclaude 通过编译时标志逐步激活这些功能。
这有点像考古——原版的代码是座埋着宝藏的废墟,myclaude 是在上面重建一座城市。
确定性宠物生成
BUDDY 的物种和属性完全由 hash(userId + SALT) 决定,不持久化骨骼数据。这意味着你无法通过编辑配置文件来刷出一只传说级宠物。
公平,但也带点宿命感。你的第一只 BUDDY 是什么,从出生就定了。
Forked Agent 记忆提取
记忆提取用的是 runForkedAgent——主对话的完美分支,共享父进程的 prompt cache。在后台静默运行,不影响主会话的流畅度。
提取记忆本身也是一次 AI 调用,但它不干扰你当前的工作。
五、现在的状态和路线图
目前版本 0.1.19,核心功能已经可用:
| 功能 | 状态 |
|---|---|
| BUDDY 宠物系统 | ✅ 可用 |
| 自动记忆提取 | ✅ 可用 |
| 成就系统 | ✅ 可用 |
| 编码统计 | ✅ 可用 |
| 80+ 斜杠命令 | ✅ 可用 |
| 插件系统 | 🔄 进行中 |
| 主动模式 KAIROS | 🔄 进行中 |
| 插件市场 | ⬜ 待启动 |
| 个人模型微调 | ⬜ 待启动 |
周下载 2000 是一个里程碑,但只是一个开始。
六、写在最后
做 myclaude 不是想"复刻一个 Claude Code"。
Claude Code 已经是很好的工具了。但工具的上限是"好用",而伙伴的上限是"离不开"。
myclaude 想探索的是:当 AI 编程助手有了记忆、有了个性、有了陪伴属性,开发者的工作流会变成什么样?
三个月用下来,我的感受是:
- 我不再反复解释同一个项目结构
- 我的编码习惯被记录、被尊重
- 打开终端不再只是"要干活了",还有点"看看老朋友"的意思
这可能就是"my"的含义。
如果你也厌倦了"用完即走"的 AI 工具,欢迎试试:
npx @funnycode/myclaude
说不定你的第一只 BUDDY,比我的鸭子更有趣。
- GitHub:github.com/thomaslwq/m…
- npm:www.npmjs.com/package/@fu…
- Gitee:gitee.com/thomaslwq/m…