cli-jaw
v1.4.4
Published
Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills
Downloads
4,962
Maintainers
Readme
🦈 CLI-JAW
内置 5 大 AI 引擎的专属本地助手
Claude、Codex、Gemini... 从此告别来回切换。
第一步:安装 WSL(以管理员身份运行 PowerShell — 仅需一次)
wsl --install按提示重启电脑。重启后从开始菜单打开 Ubuntu。
第二步:安装 CLI-JAW(在 Ubuntu/WSL 终端中)
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install-wsl.sh | bash第三步:认证 AI 引擎(任选其一)
copilot login # GitHub Copilot(免费)
opencode # OpenCode(提供免费模型)
claude auth # Anthropic Claude
codex login # OpenAI Codex
gemini # Google Gemini第四步:启动聊天
jaw serve
# → http://localhost:3457💡 脚本使用 fnm 管理 Node.js。如果已有
nvm,则自动使用 nvm。
第一步:打开终端
打开 Finder → 应用程序 → 实用工具 → 终端.app
(或者按 ⌘ Space 然后输入 Terminal)
第二步:粘贴并按 Enter
curl -fsSL https://raw.githubusercontent.com/lidge-jun/cli-jaw/master/scripts/install.sh | bashNode.js + CLI-JAW 会自动安装。等到出现 🎉 就完成了。
第三步:登录并启动
copilot login # 或者: claude auth / codex login / gemini login
jaw serve在浏览器中打开 http://localhost:3457。搞定!🦈
🚀 安装与启动(30 秒)
npm install -g cli-jaw
jaw serve搞定。 打开 http://localhost:3457 直接开聊。🦈
🕐 想让它 24 小时运行?
jaw service install— 自动检测 systemd、launchd 或 Docker。
需要 Node.js ≥ 22(下载)+ 下方至少 1 个 AI CLI 完成认证。
🔑 认证 AI 引擎
只需 一个 — 选你有的就行:
# ── 免费 ──
copilot login # GitHub Copilot(免费套餐)
opencode # OpenCode — 首次运行自动认证(有免费模型)
# ── 付费 ──
claude auth # Anthropic Claude
codex login # OpenAI Codex
gemini # Google Gemini — 首次运行触发认证检查就绪状态:jaw doctor
🦈 CLI-JAW Doctor — 12 checks
✅ Node.js v22.15.0
✅ npm v10.9.4
✅ Claude CLI installed
✅ Codex CLI installed
⚠️ Gemini CLI not found (optional)
✅ OpenCode CLI installed
✅ Copilot CLI installed
✅ Database jaw.db OK
✅ Skills 21 active, 88 reference
✅ MCP 3 servers configured
✅ Memory MEMORY.md exists
✅ Server port 3457 available💡 不必全装 5 个。 有一个就能跑。助手会自动检测可用引擎,缺了就无缝切换到下一个。
CLI-JAW 是什么?
CLI-JAW 是驻留在您本地机器上的专属 AI 助手,并在您熟悉的界面中运行 — 网页、终端和 Telegram。您可以向它提出任何问题、委派任务或是自动化您的工作流。

💬 "帮我整理一下今天的日程" → 直接在 Telegram 上收到整理好的结果 💬 "重构这个模块,顺便写好测试" → 子 Agent 搞定,你喝杯咖啡回来就行 💬 "把那个 PDF 下载下来,关键信息放到 Notion 里" → 浏览器 + Notion 技能组合,搞定
与单一模型的助手不同,CLI-JAW 通过官方 CLI 命令行工具对 5 大 AI 引擎(Claude、Codex、Gemini、OpenCode、Copilot)进行编排 — 为您提供各大供应商最优势的能力及统一的体验。当一个引擎处于繁忙状态时,它会自动无缝切换至下一个。109 个内置技能可处理从浏览器自动化到文档生成的所有事务。
| | 为什么选择 CLI-JAW? |
| ------------------------------- | ------------------------------------------------------------------------------------- |
| 🛡️ 安全合规 (TOS-Safe) | 仅使用官方 CLI — 无 API 密钥抓取、无逆向工程、无封号风险。 |
| 🤖 经过验证的智能体工具 | 5 大实战级编码智能体(Claude、Codex、Gemini、OpenCode、Copilot)集于一身。 |
| ⚡ 多模型自动回退 (Fallback) | 单一引擎发生故障?下一个立即接管。确保零停机。 |
| 🎭 基于编排的性能优化 | 复杂的任务会被拆分给专业的子智能体,以实现效率最大化。 |
| 📦 109 个内置技能 | 浏览器自动化、文档生成、Telegram 通知、持久化记忆 — 开箱即用。 |
| 🖥️ 跨平台支持 | macOS、Linux、Windows — ENOENT-safe CLI 启动、自动检测、.cmd 支持,跨平台原生运行。 |

🆕 新功能 (v1.4.0)
| 功能 | 说明 |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 🧠 高级记忆系统 | 5 层分级存储(Profile、Episodes、Semantic、Procedures、Sessions)。混合检索:FTS5 + 语义搜索 + 查询扩展。Gemini Flash-Lite 嵌入。完整 UI 运维仪表盘(重建索引/审计)。 |
| 🎨 模块化开发技能 | dev-frontend(1,428 行、13 文件)和 dev-backend(1,275 行、9 文件)从单一 SKILL.md 扩展为模块化结构,含核心参考(美学、反套路、安全、架构)和技术栈指南(React、Next.js、Node、Python、PostgreSQL)。 |
| 📄 办公套件扩展 | 新增 HWP(韩文文档)支持。增强 PPTX 生成。活跃技能增至 21 个(原 18 个)。 |
| ⚡ ACP 进度心跳 | 长时间代理运行期间实时 stderr_activity 事件推送。UI 模态控件支持条件心跳调度。 |
| 🔄 技能重置 | jaw skill reset — 支持 --soft(重新加载)和 --hard(完全重装)模式。JAW_HOME 与 settings.json 不一致时自动修正 workingDir。 |
| 🎬 视频技能 | 基于 Remotion 的 JSON 时间线定义程序化视频渲染。支持逐段旁白同步的 TTS 整合。 |
| 📐 1M 上下文切换 | 通过 config.toml 注入为支持的模型启用/禁用 1M Token 上下文窗口。 |
| 🚀 预览版发布 | 带时间戳版本(v1.4.0-preview.YYYYMMDD)的自动化预览发布流水线。GitHub prerelease 集成。 |
您的助手能做什么?
graph LR
YOU["👤 您"] -->|网页 / 终端 / Telegram| JAW["🦈 CLI-JAW"]
JAW -->|创建| C["Claude"]
JAW -->|创建| X["Codex"]
JAW -->|创建| G["Gemini"]
JAW -->|创建| O["OpenCode"]
JAW -->|创建| P["Copilot"]
JAW -->|注入| SK["📦 技能"]
JAW -->|控制| BR["🌐 Chrome"]
JAW -->|发送| TG["📱 Telegram"]
style JAW fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033- 🤖 5 大 AI 引擎,1 个专属助手 — Claude · Codex · Gemini · OpenCode · Copilot。使用
/cli命令一键切换。 - ⚡ 自动回退 (Fallback) — 即使一个引擎出现故障,下一个也会无缝接管。
- 🎭 多智能体编排 — 复杂任务会自动拆分给专业的子智能体并行处理。
- 🎤 语音输入 — Web 麦克风按钮 + Telegram 语音消息。多供应商 STT(OpenAI、Vertex AI)。
- 📝 提示词模板 — 使用可视化节点地图编辑器创建、管理和复用提示词模板。
- 📦 109 个技能 — 浏览器控制、文件编辑、图片生成、网页搜索以及更多功能。
- 🧠 持久化记忆 — 跨越不同会话,记住您过往的对话和偏好设定。
- 📱 Telegram 机器人 — 通过手机即可与您的助手聊天、发送语音/图片/文件。
- 🌐 浏览器自动化 — 您的助手能够自动导航网页、点击、打字并进行截图。
- 🔌 MCP 生态系统 — 仅需安装一次,立刻应用于所有 5 大 AI 引擎。
- 🔍 网页搜索 — 通过 MCP 工具实时获取最新信息。
- ⏰ 心跳任务 — 设置计划任务,令其在后台自动循环执行。
其他启动方式
jaw chat # 终端 TUI(无需浏览器)
jaw service install # 开机自动启动 (systemd/launchd/docker 自动检测)⚠️ 安装须知:
npm install -g cli-jaw运行 postinstall 脚本,设置技能目录、自定义指令和 MCP 配置。现有配置不会被覆盖,而是合并处理。
📦 技能系统
109 个技能开箱即用 — 浏览器、GitHub、Notion、Telegram、记忆、PDF、图片生成等应有尽有。
| 层级 | 数量 | 工作方式 | | ------------ | :---: | ---------------------------------- | | 活跃技能 | 21 | 每次对话自动加载,随时可用。 | | 参考技能 | 89 | 用到的时候 AI 自己去读,按需调用。 |
活跃技能(常驻)
| 技能 | 功能 |
| ------------------------------------------------------------------- | --------------------------------------- |
| browser | Chrome 自动化 — 快照、点击、导航、截图 |
| github | 问题、PR、CI、代码审查(使用 gh CLI) |
| notion | 创建/管理 Notion 页面和数据库 |
| memory | 跨会话持久长期记忆 |
| telegram-send | 向 Telegram 发送照片、文档、语音消息 |
| vision-click | 截图 → AI 找坐标 → 点击(一条命令) |
| imagegen | 通过 OpenAI Image API 生成/编辑图像 |
| pdf / docx / xlsx | 读取、创建、编辑办公文档 |
| screen-capture | macOS 截图和摄像头捕获 |
| openai-docs | 最新 OpenAI API 文档 |
| dev / dev-frontend / dev-backend / dev-data / dev-testing | 子 Agent 开发指南 |
| dev-pabcd / dev-scaffolding / dev-code-reviewer | 编排、脚手架和代码审查指南 |
参考技能(按需调用)
89 个技能随时待命 — Spotify、天气、深度研究、TTS、视频下载、Apple 提醒事项、1Password、Terraform、PostgreSQL、Jupyter 等。
jaw skill install <name> # 参考 → 活跃,永久激活📱 Telegram — 您口袋里的助手
您的助手不再被局限于办公桌前。通过 Telegram 随时随地开展对话:
📱 Telegram ←→ 🦈 CLI-JAW ←→ 🤖 AI 引擎- 创建机器人 — 给 @BotFather 发
/newbot→ 复制 Token - 配置 — 运行
jaw init --telegram-token 你的TOKEN,或在 Web UI 设置中填入 - 开聊 — 给你的机器人发任意消息。首次发送时 Chat ID 会自动保存。
您可以在 Telegram 中进行哪些操作:
- 💬 与您的助手聊天(在 5 大 AI 引擎中任选其一)
- 🎤 发送语音消息(自动转写为文字)
- 📎 发送文件和图片进行处理
- ⚡ 运行系统命令(
/cli、/model、/status) - 🔄 随时随地切换 AI 引擎
您的助手会返回什么内容:
- 带有 Markdown 格式的 AI 答复
- 生成的图片、PDF 及各类文档
- 计划任务(心跳任务)的执行结果
- 浏览器快照与截图
🎤 语音 & STT — 语音转文字
CLI-JAW 通过多供应商 STT 在所有界面支持语音输入:
| 供应商 | 设置方法 | | -------------------- | ------------------------------------------ | | OpenAI 兼容 | Settings UI → STT → OpenAI 端点 + API 密钥 | | Google Vertex AI | Settings UI → STT → Vertex AI 凭证 | | 自定义端点 | 任何 OpenAI 兼容的 STT API URL |
可以使用语音的场景:
- 🌐 Web UI — 点击麦克风按钮实时录音并转写
- 📱 Telegram — 发送语音消息,AI 处理前自动转写
- 🎙️ 多模态 — 在单条消息中组合语音 + 文字 + 文件附件
所有 STT 设置(供应商、API 密钥、语言)均在 Settings UI 中管理 — 无需编辑配置文件。
🎭 多智能体编排
对于复杂的任务,您的助手会自动将其委派给专业的子智能体:

graph TD
USER["👤 用户请求"] --> TRIAGE["🔍 分诊 — 简单还是复杂?"]
TRIAGE -->|简单| DIRECT["⚡ 直接回"]
TRIAGE -->|复杂| PLAN["📝 拆分规划"]
PLAN --> FE["🎨 前端"]
PLAN --> BE["⚙️ 后端"]
PLAN --> DATA["📊 数据"]
FE --> GATE["🚪 门控审查"]
BE --> GATE
DATA --> GATE
GATE -->|过了| NEXT["✅ 搞定"]
GATE -->|没过| RETRY["🔄 改了再来"]
style USER fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
style TRIAGE fill:#fdf2e9,stroke:#d4a574,color:#5c4033
style PLAN fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033
style GATE fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033您的助手会自主决定任务是需要编排介入,还是直接予以答复。完全无需额外配置。
🔌 MCP — 单次配置,驱动 6 大 AI 引擎
jaw mcp install @anthropic/context7 # 安装一次
# → 自动同步到 Claude、Codex、Gemini、OpenCode、Copilot、Antigravitygraph LR
MJ["📄 mcp.json"] -->|自动同步| CL["Claude"]
MJ -->|自动同步| CX["Codex"]
MJ -->|自动同步| GM["Gemini"]
MJ -->|自动同步| OC["OpenCode"]
MJ -->|自动同步| CP["Copilot"]
MJ -->|自动同步| AG["Antigravity"]
style MJ fill:#f5e6d3,stroke:#d4a574,stroke-width:2px,color:#5c4033只需告别编辑 6 份不同配置文件的繁琐流程。单次安装,所有 AI 引擎立刻生效。
⌨️ CLI 命令
jaw serve # 启动服务器
jaw service install # 开机自动启动 (systemd/launchd/docker 自动检测)
jaw service status # 查看守护进程状态
jaw service unset # 取消自动启动
jaw service logs # 查看服务日志
jaw chat # 终端 TUI
jaw doctor # 诊断(12 项检查)
jaw skill install <name> # 安装技能
jaw mcp install <package> # 安装 MCP → 同步全部 6 CLI
jaw memory search <query> # 搜索记忆
jaw browser start # 启动 Chrome(CDP)
jaw browser vision-click "登录" # AI 智能点击
jaw clone ~/my-project # 实例克隆
jaw --home ~/my-project serve --port 3458 # 运行第二个实例
jaw reset # 全面重置🏗️ 多实例 — 项目级别的独立环境
可以同时运行多个独立的 CLI-JAW 实例 — 每个都有自己的设置、记忆、技能和数据库。
# 将默认实例克隆到新项目
jaw clone ~/my-project
# 在不同端口运行
jaw --home ~/my-project serve --port 3458
# 或者两个都设置开机自启
jaw service install # 默认 → 端口 3457
jaw --home ~/my-project service install --port 3458 # 项目 → 端口 3458每个实例完全独立 — 工作目录、记忆、MCP 配置各不相同。非常适合工作/个人环境分离或按项目配置 AI。
| 参数 / 环境变量 | 功能 |
| --------------------- | ------------------------------ |
| --home <路径> | 指定本次运行使用的自定义主目录 |
| --home=<路径> | 同上(= 语法) |
| CLI_JAW_HOME=<路径> | 通过环境变量指定 |
| jaw clone <目标> | 将当前实例克隆到新目录 |
| --port <端口> | serve / service 自定义端口 |
🤖 模型
每个 CLI 都有预设快捷选项,但你也可以直接输 任意模型 ID。
| CLI | 默认值 | 主要模型 |
| ------------ | -------------------------- | ---------------------------------------------- |
| Claude | claude-sonnet-4-6 | opus-4-6、haiku-4-5、扩展思考变体 |
| Codex | gpt-5.3-codex | spark、5.2、5.1-max、5.1-mini |
| Gemini | gemini-2.5-pro | 3.0-pro-preview、3-flash-preview、2.5-flash |
| OpenCode | claude-opus-4-6-thinking | 🆓 big-pickle、GLM-5、MiniMax、Kimi、GPT-5-Nano |
| Copilot | gpt-4.1 🆓 | 🆓 gpt-5-mini、claude-sonnet-4.6、opus-4.6 |
🔧 想加模型?改
src/cli/registry.ts这一个文件就行,全局自动生效。
🐳 Docker — 容器隔离
在 Docker 容器中运行以实现安全隔离 — AI 代理无法访问主机文件。
docker compose up -d # → http://localhost:3457详细信息请参阅 English README。 提供
Dockerfile(npm 发布版)和Dockerfile.dev(本地源码构建)两种方式。
🛠️ 开发
# 构建(TypeScript → JavaScript)
npm run build # tsc → dist/
# 从源码运行(开发)
npm run dev # tsx server.ts
npx tsx bin/cli-jaw.ts serve # 直接运行 .ts 文件
# 从构建产物运行(生产)
node dist/bin/cli-jaw.js serve项目结构:
src/
├── agent/ # AI 代理生命周期 & 生成
├── browser/ # Chrome CDP 自动化
├── cli/ # CLI 注册表 & 模型预设
├── core/ # DB、配置、日志
├── http/ # Express 服务器 & 中间件
├── memory/ # 持久记忆系统
├── orchestrator/ # 多 Agent 编排流水线
├── prompt/ # 提示注入 & AGENTS.md 生成
├── routes/ # REST API 端点(40+)
├── security/ # 输入验证 & 安全护栏
└── telegram/ # Telegram 机器人集成TypeScript —
strict: true、NodeNext模块解析、ES2022 目标。
🧪 测试
npm test用 tsx --test 跑(Node.js 原生测试 + TypeScript)。
📖 文档
| 文档 | 内容 | | --------------------------------------- | -------------------------------------- | | ARCHITECTURE.md | 系统设计、模块图、REST API(40+ 端点) | | TESTS.md | 测试覆盖率、测试计划 |
🔧 故障排查
| 症状 | 原因 | 解决方法 |
| ---------------------------- | ----------------------------- | ------------------------------------------------------------------------ |
| command not found: cli-jaw | npm 全局 bin 不在 PATH 中 | 运行 npm config get prefix,将 bin/ 加入 PATH |
| doctor 显示 CLI 缺失 | 对应 CLI 未安装 | 按提示安装,如 npm i -g @anthropic-ai/claude-code |
| 端口 3457 被占用 | 其他进程占用了端口 | 改用 PORT=4000 jaw serve 或终止占用进程 |
| Telegram 机器人无响应 | Token 未配置或缺少 Chat ID | 重新运行 jaw init --telegram-token ... |
| Telegram ✓✓ 延迟显示 | Telegram 服务器端交付确认时序 | 正常行为 — 服务器负载较高时可能延迟数分钟,非 Bug |
| npm install -g 权限错误 | 全局目录权限不足 | 使用 sudo npm i -g cli-jaw 或推荐 nvm |
| 构建失败(tsc 报错) | Node 版本低于 22 | node -v 检查 → 升级至 22+ |
| 会话间记忆未保留 | ~/.cli-jaw/memory/ 目录缺失 | 重新运行 jaw init 自动创建 |
🤝 参与贡献
欢迎贡献!上手方法:
- Fork 仓库,从
main拉个分支 npm run build && npm test确认一切正常- 提交 PR — 我们会尽快 review
📋 发现 Bug 或者有好点子?提个 Issue
⭐ 觉得 CLI-JAW 好用?点个 Star 支持一下吧!
Made with ❤️ by the CLI-JAW community
