补充说明:tinyclaw 现在的样子已经不能很好地体现其曾经的极简架构了,我搜了下历史记录发现是 9 号看的代码,于是找到当时的 commit 可以看到它最初的样子
https://github.com/jlia0/tinyclaw/tree/d500447f2680337920f1251258c9ecd62bae2ea4
整套架构非常简洁清晰:
- 文件系统作为消息队列,两个目录 incoming / outgoing 存放进出的消息
- 消息接收器脚本收到用户的新消息后生成 json 写入 incoming
- 消息处理的脚本轮询文件夹,检测到 incoming 的新文件就组织参数调用 claude-code(同一个 conversation 使用相同的 session id),得到返回后写入 outgoing
- 扫描 outgoing 目录的脚本发现新文件,调用发消息脚本回复用户
可以说用 bash 都能实现
https://github.com/jlia0/tinyclaw/tree/d500447f2680337920f1251258c9ecd62bae2ea4
整套架构非常简洁清晰:
- 文件系统作为消息队列,两个目录 incoming / outgoing 存放进出的消息
- 消息接收器脚本收到用户的新消息后生成 json 写入 incoming
- 消息处理的脚本轮询文件夹,检测到 incoming 的新文件就组织参数调用 claude-code(同一个 conversation 使用相同的 session id),得到返回后写入 outgoing
- 扫描 outgoing 目录的脚本发现新文件,调用发消息脚本回复用户
可以说用 bash 都能实现