你的 OpenClaw + Claude 方案挂了。这样做可以继续免费用 Opus 和 Sonnet。
从 OpenClaw 迁移到 Claude Code 原生工具的完整指南——一天搞定,用你现有的 Claude 订阅。
2026 年 4 月 4 日发生了什么
Anthropic 改了计费方式,Claude Pro/Max 订阅额度不再覆盖 OpenClaw 这类第三方工具。如果你用 OpenClaw 跑 Claude,你的定时任务、Telegram 机器人和自动化全停了:
> “第三方应用现在消耗额外用量,不再算在计划额度内。”
现在你有三个选择:
- 加钱 — 开通 Anthropic 的按量付费“额外用量”
- 换模型 — 让 OpenClaw 用 Kimi、Llama 或其他供应商,不走 Claude
- 用原生 — 用 Claude Code(Anthropic 自己的 CLI),订阅额度覆盖
我选了方案 3。当天结束时,所有东西都重建好了——定时任务、Telegram 机器人、浏览器自动化、记忆系统——全跑在 Claude Code 上,用现有订阅,零额外成本。
以下是完整的操作手册。
你在替换什么
| 功能 | OpenClaw | Claude Code 原生 |
|---|---|---|
| 定时任务 | 内置调度器 | macOS launchd + claude --print CLI |
| Telegram 机器人 | 内置频道 | 官方 Telegram 插件(--channels) |
| 浏览器自动化 | Playwright MCP | 一样——Playwright MCP 两边都能用 |
| 跨会话记忆 | 工作区文件 | git 仓库中的文件记忆 |
| 心跳检查 | HEARTBEAT.md | 定时任务 + --model sonnet(更便宜) |
| MCP 服务器 | 内置配置 | ~/.claude.json 配置 |
claude --print 是 Anthropic 的第一方工具——他们不会砍掉。
架构
所有东西都在一个 git 仓库里:
my-business-intelligent/
├── config/env.json # 机器路径、凭证(gitignored)
├── claude-config/
│ ├── CLAUDE.md # AI 指令(软链接 → ~/.claude/)
│ └── settings.json # MCP 服务器、hooks(软链接 → ~/.claude/)
├── memory/ # 持久化 AI 记忆(软链接 → ~/.claude/)
├── prompts/ # 定时任务 prompt
├── hooks/ # 安全 hooks
├── src/
│ ├── server.ts # MCP 服务器(11 个工具)
│ └── setup.ts # 一条命令安装一切
└── data/cron-logs/ # 定时任务输出
配置通过软链接到 ~/.claude/,让 Claude Code 从仓库读取。所有东西都版本控制。迁移到新机器:clone 仓库,改一个配置文件,跑 pnpm run setup。
第 1 步:读取 OpenClaw 配置(20 分钟)
搭任何东西之前,先读 ~/.openclaw/ 里的所有东西:
cat ~/.openclaw/openclaw.json # 主配置
cat ~/.openclaw/cron/jobs.json # 所有定时任务 + prompt
cat ~/.openclaw/workspace/SOUL.md # AI 人设
cat ~/.openclaw/workspace/TOOLS.md # 工具笔记
cat ~/.openclaw/workspace/TODO.md # 待办事项
ls ~/.openclaw/workspace/memory/ # 记忆文件
记下你的定时任务 prompt、Telegram bot token、用户 ID 和项目路径。
第 2 步:创建仓库(5 分钟)
mkdir ~/my-business-intelligent && cd $_
git init && pnpm init
pnpm add @modelcontextprotocol/sdk zod
pnpm add -D tsx typescript @types/node
创建 config/env.json(gitignored),填入机器相关路径。
第 3 步:创建 CLAUDE.md(10 分钟)
把 OpenClaw 的 SOUL.md + USER.md + AGENTS.md + TOOLS.md 合并到 claude-config/CLAUDE.md。每次会话自动加载。
创建软链接:ln -sf ~/my-business-intelligent/claude-config/CLAUDE.md ~/.claude/CLAUDE.md
第 4 步:迁移定时任务到 launchd(30 分钟)
这是重头戏。对 ~/.openclaw/cron/jobs.json 里的每个任务:
- 复制 prompt —
payload.message字段是完整 prompt,保存到prompts/.md - 更新路径 — 把
~/.openclaw/workspace/替换成新仓库路径 - 创建 LaunchAgent plist 执行:
claude --print --dangerously-skip-permissions -p "$(cat prompts/<job>.md)"
我用 setup 脚本自动化了这步。脚本生成 plist 并安装到 ~/Library/LaunchAgents/。跑 pnpm run setup 就完事了。
省钱技巧: 轻量任务用 --model sonnet。Sonnet 更快、更便宜,“检查一下是否正常”够用了。Opus 留给代码生成和 SEO 这类重活。
推荐的标准任务
| 任务 | 频率 | 模型 | 用途 |
|---|---|---|---|
| health-check | 每 1 小时 | Opus | 检查定时任务、Chrome、MCP 服务器,自动修复 |
| heartbeat | 每 30 分钟 | Sonnet | 快速 TODO 检查、轮询检查、主动任务 |
| memory-compactor | 每 6 小时 | Opus | 审查和整合记忆文件 |
第 5 步:配置 Telegram(15 分钟)
Claude Code 官方支持 Telegram,包括群组 @提及检测——替代 OpenClaw 的内置频道。
在 settings.json 中添加:"enabledPlugins": { "telegram@claude-plugins-official": true }
重要: 先停掉 OpenClaw gateway——它会抢你 bot 的消息。
第 6 步:构建 MCP 服务器(30 分钟)
让 Claude Code 有工具管理自己。创建 src/server.ts:
- 记忆工具 — 列出、读取、写入、搜索记忆文件
- 定时任务工具 — 列出任务、读日志、触发运行
- 项目工具 — 各仓库 git 状态
- Telegram — 通过 bot 发消息
- 配置 — 读取配置值(敏感路径有黑名单)
共 11 个工具。Claude 现在可以自检、给你发警报、管理自己的记忆。
第 7 步:软链接一切(2 分钟)
ln -sf ~/my-business-intelligent/claude-config/CLAUDE.md ~/.claude/CLAUDE.md
ln -sf ~/my-business-intelligent/claude-config/settings.json ~/.claude/settings.json
ln -sf ~/my-business-intelligent/memory ~/.claude/memory/repo
setup 脚本自动完成这步。
第 8 步:安全(10 分钟)
加一个 pre-commit hook 扫描密钥。加 PreToolUse hooks 阻止 git --no-verify 并保护 linter 配置。gitignore 你的 config/env.json、.env 文件和生成的 plist。
第 9 步:停止 OpenClaw(1 分钟)
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist
保留 ~/.openclaw/workspace/ 作为只读存档。
第 10 步:验证
launchctl list | grep com.mybiz # 定时任务都加载了?
claude --version # CLI 正常?
curl -s http://127.0.0.1:9222/json/version # Chrome CDP 活着?
给你的 bot 发一条 Telegram 测试消息。触发一次 health-check。检查新会话是否加载了记忆。
额外收获:其实更好了
迁移完成后我发现,新方案比 OpenClaw 有实实在在的优势:
可移植性。 一个 git 仓库。Clone 到新机器,改一个 JSON 文件,跑 setup。OpenClaw 的迁移意味着重新安装框架、跑 onboard、重新配置浏览器 profile、重新绑定 Telegram。
版本控制。 每次配置变更都是 git commit。OpenClaw 的配置散落在 JSON 文件、SQLite 数据库和二进制文件里——没有历史,没有 review。
成本控制。 轻量定时任务用 Sonnet,重活用 Opus。OpenClaw 的 gateway 光活着就烧 token——心跳轮询、上下文维护、会话状态。
没有单点故障。 每个定时任务是独立的 launchd 调用。一个挂了,其他继续跑。OpenClaw 的 gateway 是一个进程——它崩了,全完了。
你拥有它。 没有框架更新破坏你的配置。没有中间人被供应商切断。没有社区市场的恶意 skill。每一行代码都是你的。
常见坑
- MCP 服务器放
~/.claude.json,不是settings.json - 用绝对路径 写 MCP 服务器脚本 —
cwd不可靠 - pnpm 严格提升 会破坏
node --import tsx/esm— 用npx tsx --print模式不能写~/.claude/memory/— 记忆放仓库里- OpenClaw gateway 会抢 Telegram bot — 先停掉
- Hook 类型必须是
"command"不是"intercept" - Shell alias 需要完整二进制路径
- MCP 环境变量在启动时设置 — 配置里加
env字段 enabledPlugins必须包含"telegram@claude-plugins-official": true
开源迁移 Skill
我把整个过程做成了一个可复用的 skill prompt(300 行,11 个阶段)。给任何装了 OpenClaw 的机器上的 Claude Code agent 用,它会按同样的流程走: