Chat-Cli 0.1

练习下 vibe coding,搞了个类似 claude code 的项目 chat-cli

起步阶段

为了方便,直接使用了 AI SDKReact Ink ,前者用于对接多家 llm ,后者用于终端 UI 渲染。

这个阶段只要一点点代码就能编写一个普通聊天机器人了

step1

Tools

光聊天没什么用,需要配合一些 tools 。这个阶段为了简单起见,我实现了(claude code + kimi)如下 3 个 tools :

  • fetch: 访问 web 页面,返回整个 html 文本
  • readFile: 读取本地文件
  • writeFile: 写入本地文件

有了这 3 个 tools 就能实现一些比较有趣的功能了,比如 访问 hackernews 返回前十条内容

step1.1

起飞阶段

继续添加 tools ,代码链接就不放了:

  • bash: 执行 shell 命令!
  • glob: 罗列文件和目录
  • grep: 根据关键词搜索文件

有了这几个 tools 尤其是 bash ,就能换成一些比较高难度的任务了,比如:

  • update version to 1.0.0 in package.json
  • what is the default system messages in useaichat

最 nb 的是这个 提交 ,直接实现自己改自己。

这个阶段对于简单任务已经绰绰有余了,但是对于一些复杂(多步骤)的任务, 如创建一个html页面用来展示当前目录下的git提交频率,类似github profile里的图,还是不大行。 经常出现做着做着就停下来了的问题。

换了多个模型效果都不怎么样。

继续优化

拐点出现在引入 writeTodo 和优化提示词后,处理复杂任务也能慢慢一步步完成。

step3

最后生成的效果也不错。

step3.1

展望未来...

稍微好一点的模型加几个 tools 就已经这么能打了,能想象未来不久后会有更多更智能的工具出现。