抽空写了一个编辑器 Agent,一不小心周下载突破 2000

0 阅读6分钟

上周看了一眼 npm 后台,@funnycode/myclaude 的周下载量过了 2000。

image.png

说实话有点意外。这个项目是我基于 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 系统:终端里养了一只电子宠物

image.png 第一次启动,系统会根据你的用户 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,比我的鸭子更有趣。