tclaw(一):过年玩 OpenClaw,玩着玩着就自己造了一个
过年 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 → 检查结果 → 继续或结束。就是一个循环,没有更多了。 ...