<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>OpenClaw on 大飞的博客</title>
    <link>https://www.dafei.me/tags/openclaw/</link>
    <description>Recent content in OpenClaw on 大飞的博客</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Tue, 02 Jun 2026 01:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.dafei.me/tags/openclaw/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>tclaw（一）：过年玩 OpenClaw，玩着玩着就自己造了一个</title>
      <link>https://www.dafei.me/posts/tclaw-01-origin/</link>
      <pubDate>Tue, 02 Jun 2026 01:00:00 +0000</pubDate>
      <guid>https://www.dafei.me/posts/tclaw-01-origin/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;终端界面&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/tongpengfei/tclaw-releases/raw/main/docs/screenshots/tclaw01_cli01.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;过年&#34;&gt;过年&lt;/h2&gt;
&lt;p&gt;2026 年春节，OpenClaw 火了。&lt;/p&gt;
&lt;p&gt;其实年前就已经有很多人在玩了，但我那时候忙，没时间搭理。正好赶上过年，难得有几天清闲，就把 OpenClaw 装上玩了一下。&lt;/p&gt;
&lt;p&gt;这一玩就收不住了。整个过年，家人吃饭我在玩，大年初几我也忘了，反正就是一直在玩。&lt;/p&gt;
&lt;p&gt;玩了一段时间，自然就开始好奇它内部是怎么工作的：这东西怎么知道该调用哪个工具？记忆是怎么管理的？提示词是怎么组织的？就让 AI 帮我分析了一下源码。&lt;/p&gt;
&lt;h2 id=&#34;发现-pi-mono&#34;&gt;发现 pi-mono&lt;/h2&gt;
&lt;p&gt;顺着 OpenClaw 的源码往里翻，发现它的内核依赖一个叫 &lt;strong&gt;pi-mono&lt;/strong&gt; 的东西。&lt;/p&gt;
&lt;p&gt;去看了 pi-mono 的代码，感觉设计很精干。它不是一个框架，只提供必要的东西：一个 Agent 循环、工具调用、会话管理，仅此而已。没有编排 DSL，没有 workflow 引擎，没有各种抽象层。核心思想就是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;把工具给大模型，让它自己决定怎么解决问题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;然后看了一下 pi-mono 的作者背景，发现是游戏开发者出身。我自己以前也做过游戏，看到这里有点感慨——牛人到哪都是牛人。&lt;/p&gt;
&lt;h2 id=&#34;pcclaw-诞生&#34;&gt;pcclaw 诞生&lt;/h2&gt;
&lt;p&gt;年后大家都在玩 OpenClaw，不知道怎么抽风了，想用 Go 实现一下 pi-mono 内核，看看它到底怎么运行的。&lt;/p&gt;
&lt;p&gt;我平时写 Go，OpenClaw 是 JS 的，语言上的迁移借助 AI 不是太大的问题，主要还是要把原理搞清楚。2026 年 3 月 15 日，&lt;code&gt;pcclaw v0.0.1&lt;/code&gt; 第一次提交。&lt;/p&gt;
&lt;p&gt;pcclaw，tclaw 的前身。&lt;/p&gt;
&lt;p&gt;架构上参考了 OpenClaw 的分层思路：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;tool → command → skill → agent
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;tool&lt;/strong&gt;：最底层，封装基础操作（bash 执行、文件读写、网络请求等）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;command&lt;/strong&gt;：把 tool 组合成更高层的操作&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;skill&lt;/strong&gt;：可复用的能力单元，agent 通过调用 skill 完成任务&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;agent&lt;/strong&gt;：顶层，接收用户指令，通过 skill 和 tool 解决问题&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Provider 层支持多种协议——OpenAI compatible、Anthropic 等，可以接不同的模型。内核沿用 pi-mono 的思路：LLM 发现问题 → 调用 tool → 检查结果 → 继续或结束。就是一个循环，没有更多了。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
