一把 exec,
走遍天下。
PyClaw Lite 是 PyClaw 内核的重写版:2854 行 Python、12 个模块、只有一个内置工具。权限分级、上下文压缩、会话落盘、MCP、钩子引擎——完整版里没有的,这里全有。想读文件? cat。想装包? pip。AI 自己动手。
别人给你一整套餐具,我们只给一把刀
市面上的 Agent 框架都预置好文件读写、网络搜索、代码执行、数据库工具……看着很全,真遇到活还得自己再造。PyClaw Lite 反过来:只有一个 exec,剩下的让 AI 自己动手。
很多餐具
file_read / file_write / web_search / db_query / browser…… 工具装了一柜子,遇到新菜还是得自己造,还得先学一遍怎么用。代码越堆越厚,能力却没长多少。
一把刀
只有一个 exec。读文件 cat,装包 pip,爬网页 curl,分析数据写个脚本 python 跑。系统提示词就一句话:别猜,读文件、看输出、再动手。
能力长在 skills/ 里,
不长在代码里
AI 可以把复杂或可复用的逻辑丢进 skills/。下次启动,目录里的每个 SKILL.md 或 .py 都会自动列进系统提示词——AI 立刻知道自己会什么。
轻的是体积,不是能力
砍掉的是多余的层,留下的全是硬东西:权限分级、上下文压缩、会话落盘、MCP、钩子引擎、供应商表、子 Agent。
只有一个工具,却什么都能干
流式吐字、思考可见、失败自动重试。exec 背后是整台机器:它能读、能写、能装包、能爬网页——你不需要为每个动作准备一个专用工具。
权限三级 + 命令分段
request / auto / full 三档。命令按 | && ; $() 切段,ls && rm -rf / 藏不住;危险命令直接一票否决,黑名单内置不可绕过。
上下文压缩
token 实时计量,超阈值自动摘要;工具输出超限自动落盘,长会话不断片、不爆窗口。
文件式长期记忆
memory/ 下的 .md/.txt/.json 全文注入 system prompt——写进去,下次启动它就记得。比 SQLite 少一层,也不多一个依赖。
会话落盘
追加式事件日志 + 索引,--continue 续上次,--session 精确回到某一次。
MCP 客户端
stdio 与 HTTP 双通道,外部工具统一暴露成 mcp__<server>__<tool>。
钩子引擎
12 个事件、4 种处理器,Codex 与 Claude 的 JSON 协议都兼容。
20+ 供应商
DeepSeek、豆包、Kimi、Qwen、GLM、MiniMax、Gemini、xAI、Groq……一套 OpenAI 兼容协议全通吃。
Codex 风 TUI
思考卡片、工具调用卡片、状态行;思考强度是 Claude Code 风 /effort 滑杆,←/→ 调档。
子 Agent 分工
SUB_AGENTS 配置角色,主 Agent 拆活派出去,执行与文件读写互不越权。
一个循环,六个子系统
主循环只做三件事:把上下文喂给模型、把模型吐出的 exec 调用跑掉、把结果塞回去。其余全是配角,各管一摊。
要花哨有 TUI,要干净有管道
同一个 Agent、同一份会话、同一套配置,进哪个门随你。早期那个 WebUI 已经砍了——多一层服务端,不如少一层。
交互式 TUI
python main.py- 面板化界面:logo、信息表、状态行、思考与工具调用卡片
- 思考强度滑杆,←/→ 调档,Enter 确认,Esc 取消
- 退出敲 exit / quit,或者直接 Ctrl+C
朴素 CLI
python main.py --plain- 逐行对话,零界面负担,适合脚本、终端复用与管道
- y/N 审批闸门,危险命令当场拦下
- --continue 续上次 · --session 指定会话 · --model 临时换模型
一份 pyclaw.json,说清全部行为
配置由 schema 驱动:校验、i18n、插件自定义设置都从同一张表长出来。改完存盘即生效,不用重启去猜。
| 字段 | 作用 |
|---|---|
| PROVIDER / ENDPOINT | 供应商预设;选 custom 就只用你填的 base URL |
| API_KEY | 只落在本机 pyclaw.json,不上传任何地方 |
| MODEL | 原样发给接口;模型窗口表按名字自动推断上下文 |
| APPROVAL_MODE | request / auto / full —— 危险操作如何批准 |
| SHELL | auto = WSL > Git Bash > PowerShell > CMD |
| REASONING_EFFORT | 默认思考强度,单次会话可覆盖 |
| CONTEXT_WINDOW | 0 = 按模型表自动推断 |
| COMPACT_* | 压缩阈值 / 逐字保留比例 / 摘要上限 |
| TOOL_OUTPUT_MAX_* | 输出行数与字节上限,超出部分自动落盘 |
| PLUGINS_ENABLED | 仓库 plugins/ 里的插件在这里逐个开 |
| MCP_SERVERS | stdio 或 HTTP 的 MCP 服务清单 |
| HOOKS | 事件到命令的映射,12 个事件随你挂 |
| ALLOW_RULES | 命令前缀规则,少弹几次确认 |
| BLOCKED_EXTRA | 追加黑名单,额外直接拒绝的命令片段 |
| SUB_AGENTS | 子 Agent 角色定义,配合 SUB_AGENTS_ENABLED |
四条命令,从零到跑
需要 Python 3.10+。install.sh 会装好三个运行时依赖(openai 管接口、prompt_toolkit + rich 管 TUI),顺手建好 history / memory / plugins 目录,可以反复跑。
哪边强?各强各的
Lite 是内核重写,完整版是生态沉淀。不吹哪边通吃——按你需要什么挑。
| 能力 | PyClaw Lite | PyClaw 完整版 |
|---|---|---|
| 核心代码量 | 2854 行 / 12 模块 | 4515 行 / 17 模块 |
| 内置工具 | 1(exec) | 6(read_file / exec_command / web_search …) |
| 预装插件 / 扩展工具 | 1 示例(feishu) | 8 个插件 · 36 个工具 |
| 权限系统 | 三级 + 命令分段 + 内置黑名单 | 无 |
| 钩子引擎 | 12 事件 / 4 处理器 | 无 |
| MCP 客户端 | stdio + HTTP | 无 |
| 供应商 / 模型窗口表 | 20+ 供应商自动推断 | 手工配置 |
| 上下文计量与压缩 | 独立模块 + 输出落盘 | 有压缩,无独立计量 |
| 会话持久化 | 追加式事件日志 + 索引 | SQLite |
| 长期记忆 | 文件式(全量注入 memory/) | SQLite 记忆库(带工具可查) |
| 子 Agent | 配置式角色 | delegate_to 运行时委派 |
| 运行形态 | TUI + 朴素 CLI | 桌面 GUI + Web + CLI |
| 交付方式 | git clone + ./install.sh | NSIS 一键安装包 |
| 依赖 | 3(openai / prompt_toolkit / rich) | 多依赖(pywebview 等) |
想要开箱即用的插件?
去看 PyClaw 完整版。
8 个预装插件(视频剪辑、PPT、B 站发布、天气、系统监控……)、36 个扩展工具 + 6 个内置工具、SQLite 记忆库、桌面 / Web / CLI 三形态、NSIS 一键安装包。Lite 重写的是内核架构,完整版厚的是开箱生态——两边的活不一样,主站依然是完整版的家。