快速安装 · macOS 完整部署 · 功能 · 架构 · Skills · 更新 · 故障排查 · 上游文档
Important
本项目是 OpenClaw(MIT)的个人定制版。内部标识刻意保持与上游一致——npm 包名 openclaw、状态目录 ~/.openclaw、环境变量前缀 OPENCLAW_*、插件协议——这样腾讯官方微信插件和整个官方插件生态都能直接装。换掉的只有用户看得见的部分:名称、logo、CLI banner、Web UI、macOS App。上游文档 docs.openclaw.ai 对本项目同样适用。
| 依赖 | 版本 | 安装 |
|---|---|---|
| Node.js | 22.22.3+ / 24.15+ / 25.9+ | macOS brew install node;Windows 官网安装包 |
| pnpm | 10+ | npm i -g pnpm |
| git | 任意 | macOS 自带;Windows 装 Git for Windows |
| Xcode 命令行工具 | 仅 macOS App 需要 | xcode-select --install |
检查:
node -v && pnpm -v && git --versiongit clone https://github.com/SuperGokou/personalclaw.git
cd personalclaw
pnpm install
pnpm build首次构建约 2–3 分钟。
在仓库根目录新建 .env:
# 必填:DeepSeek API key(https://platform.deepseek.com)
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxx
# 选填:启用 junanex 定时同步时才需要
JUNANEX_USERNAME=你的junanex账号
JUNANEX_PASSWORD=你的junanex密码Warning
.env 已在 .gitignore 中。任何密钥都不要写进 openclaw.json、skills 或提交信息里。
node openclaw.mjs onboard --install-daemon向导里:
- 模型选 DeepSeek API key(自动读取
.env),默认模型deepseek/deepseek-v4-flash - 助手名字填 菜鸡Bot(写进工作区 IDENTITY.md,决定它怎么自称)
--install-daemon注册后台服务,开机自启(macOS launchd)
把 config/caiji-bot.example.json5 里的片段合并进 ~/.openclaw/openclaw.json,然后重启:
node openclaw.mjs gateway restart
node openclaw.mjs gateway statusnode openclaw.mjs dashboard # 浏览器打开 http://localhost:18789到这里 CLI + Web 控制台已经能用了。微信、看板、桌面 App 按下面的章节继续。
| 功能 | 怎么用 | 实现 |
|---|---|---|
| 📅 日程管理 | 微信说「明天下午3点开会」→ 自动建卡 + 到点提醒 | skills/schedule-assistant + workboard 看板 + cron |
| 💰 记账 | 把支付宝/微信官方账单 CSV 发给它 → 自动解析分类去重,出月报 | skills/bookkeeping,账本存 ~/.openclaw/ledger/ |
| 🗣️ 英语陪练 | 说「陪我练英语」→ 美音语音对话 + 纠错 + 地道表达 | skills/english-tutor + Edge TTS en-US-AriaNeural |
| 📦 junanex 同步 | 定时抓账户数据 → 推到 shuangshuangstore 的 dashboard 分支 | skills/junanex-sync + 浏览器工具 |
| ⬆️ 自更新 | 微信发「更新」或跑 openclaw update,带进度条 |
skills/self-update |
| 📲 微信远程控制 | 手机扫码登录,随时随地发指令 | 腾讯官方插件 @tencent-weixin/openclaw-weixin |
| 🧠 DeepSeek 驱动 | 默认 deepseek/deepseek-v4-flash(快且便宜) |
OpenAI 兼容接口,可随时切 pro |
| 🖥️ 桌面 App | /Applications 里双击菜鸡Bot 图标 |
Swift 原生菜单栏 + Dock 应用 |
flowchart LR
WeChat["微信(手机)"]
Browser["Control UI<br/>localhost:18789"]
MacApp["菜鸡Bot.app<br/>Dock · 菜单栏 · 快速聊天"]
CLI["openclaw CLI"]
subgraph GW["Gateway(本机常驻服务)"]
Channels["Channels<br/>微信 · WebChat"]
Agent["Agent Loop<br/>会话 · 工具 · 记忆"]
Cron["Cron 调度器<br/>提醒 · 定时任务"]
Skills["Skills<br/>日程 · 记账 · 陪练 · 同步 · 更新"]
Channels --> Agent
Cron --> Agent
Agent --> Skills
end
DeepSeek["DeepSeek V4 Flash<br/>OpenAI 兼容"]
TTS["Edge Neural TTS<br/>en-US-AriaNeural"]
Board[("Workboard 看板<br/>~/.openclaw")]
Ledger[("账本 JSONL<br/>~/.openclaw/ledger")]
Junanex["junanex.com"]
GitRepo["shuangshuangstore<br/>feature/junanex-dashboard"]
WeChat <-->|"扫码登录 · 私聊"| Channels
Browser <-->|"WebSocket"| GW
MacApp <--> GW
CLI --> GW
Agent -->|"推理"| DeepSeek
Agent -->|"语音条"| TTS
Skills --> Board
Skills --> Ledger
Skills -->|"浏览器抓取"| Junanex
Skills -->|"commit + push"| GitRepo
sequenceDiagram
autonumber
participant U as 你(微信)
participant C as 微信 Channel
participant A as Agent
participant M as DeepSeek
participant S as Skill
participant K as Cron / 看板
U->>C: 「明天下午3点开会」
C->>A: 入站消息(视为不可信输入)
A->>M: 带上下文与可用工具推理
M-->>A: 选定 schedule-assistant
A->>S: 解析时间、事项
S->>K: 建看板卡片 + 注册提醒任务
S-->>A: 执行结果
A-->>C: 「已记下:明天 15:00 开会,14:30 提醒你」
C-->>U: 微信回复
Note over K: 次日 14:30 触发
K->>A: 提醒任务到点
A-->>U: 主动微信推送提醒
node openclaw.mjs plugins install "@tencent-weixin/openclaw-weixin"
node openclaw.mjs channels login --channel openclaw-weixin手机微信扫码即可。
Note
该插件由腾讯维护,走 iLink API:只支持私聊,不支持群聊。登录 token 存在 ~/.openclaw,不要把这台机器的状态目录同步给别人。陌生发信人默认需要审批:node openclaw.mjs pairing approve openclaw-weixin <code>。
node openclaw.mjs plugins enable workboard
node openclaw.mjs gateway restartControl UI 左侧出现 Kanban 看板,状态流 triage → todo → scheduled → running → done。
bash scripts/install-caiji-mac-app.sh编译并安装到 /Applications/CaijiBot.app。Finder、Dock、Spotlight 里显示为菜鸡Bot(图标就是上面那只小菜鸡):
- 双击图标启动,Dock 出现图标,点击打开主窗口
- 菜单栏常驻图标,
⌥ Space唤出快速聊天 - 首次启动会依次询问通知/麦克风/屏幕录制权限,按需允许
Note
App 内的 Sparkle 自动更新已关闭——上游的更新源会把菜鸡Bot 覆盖成原版 OpenClaw。App 与 Gateway 的更新统一走 openclaw update。
Skills 是 markdown 目录(SKILL.md + 可选脚本),与 Claude Code skills 同构,放在 skills/ 下:
| Skill | 触发词 | 说明 |
|---|---|---|
schedule-assistant |
明天…开会 / 提醒我 / 今天有什么安排 | 建卡、定提醒、查日程 |
bookkeeping |
记账 / 导入账单 / 本月花了多少 | 账单解析入账与月报 |
english-tutor |
陪我练英语 / English practice | 美音语音陪练 |
junanex-sync |
同步 junanex / 定时任务 | 抓数据并推送分支 |
self-update |
更新 / 升级 | 后台跑更新并回报结果 |
记账账单自测(不依赖真实数据):
node skills/bookkeeping/scripts/ledger.mjs self-test账单从哪导出:
- 支付宝:App → 我的 → 账单 → 右上角 … → 开具交易流水证明 → 用于个人对账(邮箱收 CSV)
- 微信:我 → 服务 → 钱包 → 账单 → 常见问题 → 下载账单 → 用于个人对账(邮箱收带密码 zip)
node openclaw.mjs updategit 模式更新,分步带进度条:
[████████░░░░░░░░░░░░] 4/10 40% ✓ Installing dependencies (12.4s)
拉本仓库 main → 装依赖 → 构建 → doctor 自检 → 重启 gateway;任何一步失败自动回滚。也可以直接在微信里说「更新」。
personalclaw/
├── src/ # Gateway 核心:channels / agents / cron / tools / cli
├── ui/ # Control UI(Vite + Lit)
├── extensions/ # 官方插件(deepseek、workboard、browser、tts…)
├── skills/ # 技能,含本项目自定义的 5 个
├── apps/macos/ # macOS 原生 App(Swift)
├── config/ # 配置示例
├── scripts/ # 构建与打包脚本(含 install-caiji-mac-app.sh)
├── SETUP-MAC.md # macOS 完整部署手册
└── .env # 你的密钥(不入库)
node openclaw.mjs doctor # 全面自检 + 自动修复
node openclaw.mjs gateway status # 服务状态
node openclaw.mjs channels status # 微信等渠道状态
node openclaw.mjs update status # 当前版本与可用更新| 症状 | 处理 |
|---|---|
pnpm install 报 Node 版本 |
升级到 Node 22.22.3+ / 24.15+ / 25.9+ |
| 构建失败 | pnpm store prune && rm -rf node_modules && pnpm install |
| 控制台打不开 | node openclaw.mjs gateway restart,确认 18789 端口没被占用 |
| 微信掉线 | 重新扫码:node openclaw.mjs channels login --channel openclaw-weixin |
| 模型报错 | 检查 .env 的 DEEPSEEK_API_KEY,再 node openclaw.mjs doctor |
| 没有语音回复 | node openclaw.mjs tts status,确认 provider 是 microsoft |
- 所有入站消息按不可信输入处理;未知发信人默认需要配对审批
- 密钥只走
.env/ 系统环境变量,绝不入库 - 工具默认在本机执行;对外暴露 Gateway 前请先读上游安全指南
MIT。原始版权归 OpenClaw Foundation,见 LICENSE 与 THIRD_PARTY_NOTICES.md。
