
过年
2026 年春节,OpenClaw 火了。
其实年前就已经有很多人在玩了,但我那时候忙,没时间搭理。正好赶上过年,难得有几天清闲,就把 OpenClaw 装上玩了一下。
这一玩就收不住了。整个过年,家人吃饭我在玩,大年初几我也忘了,反正就是一直在玩。
玩了一段时间,自然就开始好奇它内部是怎么工作的:这东西怎么知道该调用哪个工具?记忆是怎么管理的?提示词是怎么组织的?就让 AI 帮我分析了一下源码。
发现 pi-mono
顺着 OpenClaw 的源码往里翻,发现它的内核依赖一个叫 pi-mono 的东西。
去看了 pi-mono 的代码,感觉设计很精干。它不是一个框架,只提供必要的东西:一个 Agent 循环、工具调用、会话管理,仅此而已。没有编排 DSL,没有 workflow 引擎,没有各种抽象层。核心思想就是:
把工具给大模型,让它自己决定怎么解决问题。
然后看了一下 pi-mono 的作者背景,发现是游戏开发者出身。我自己以前也做过游戏,看到这里有点感慨——牛人到哪都是牛人。
pcclaw 诞生
年后大家都在玩 OpenClaw,不知道怎么抽风了,想用 Go 实现一下 pi-mono 内核,看看它到底怎么运行的。
我平时写 Go,OpenClaw 是 JS 的,语言上的迁移借助 AI 不是太大的问题,主要还是要把原理搞清楚。2026 年 3 月 15 日,pcclaw v0.0.1 第一次提交。
pcclaw,tclaw 的前身。
架构上参考了 OpenClaw 的分层思路:
tool → command → skill → agent
- tool:最底层,封装基础操作(bash 执行、文件读写、网络请求等)
- command:把 tool 组合成更高层的操作
- skill:可复用的能力单元,agent 通过调用 skill 完成任务
- agent:顶层,接收用户指令,通过 skill 和 tool 解决问题
Provider 层支持多种协议——OpenAI compatible、Anthropic 等,可以接不同的模型。内核沿用 pi-mono 的思路:LLM 发现问题 → 调用 tool → 检查结果 → 继续或结束。就是一个循环,没有更多了。
写着写着发现越来越好玩,而且一个 Go 的单二进制,不需要 JS 那一套,依赖少、跑起来快,就这么停不下来了。
年前写代码还是手写为主,AI 辅助;过完年回来,直接变成全 AI 输出了,自己一行不写。就过年这几天,生产力已经全变了。
tclaw 提供 Mac、Linux、Windows 版下载,Mac 版支持最好,感兴趣可以去 tclaw-releases 体验。
也可以先玩玩 tclaw 用 AI 做的几个小游戏:→ 点这里玩