codexmate 0.0.20 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +289 -152
  2. package/README.zh.md +321 -0
  3. package/cli/agents-files.js +224 -0
  4. package/cli/archive-helpers.js +446 -0
  5. package/cli/auth-profiles.js +359 -0
  6. package/cli/builtin-proxy.js +1044 -0
  7. package/cli/claude-proxy.js +998 -0
  8. package/cli/config-bootstrap.js +384 -0
  9. package/cli/openai-bridge.js +950 -0
  10. package/cli/openclaw-config.js +629 -0
  11. package/cli/session-usage.concurrent.js +28 -0
  12. package/cli/session-usage.js +112 -0
  13. package/cli/session-usage.models.js +176 -0
  14. package/cli/skills.js +1141 -0
  15. package/cli/zip-commands.js +510 -0
  16. package/cli.js +9408 -9719
  17. package/lib/cli-models-utils.js +109 -1
  18. package/lib/cli-path-utils.js +69 -0
  19. package/lib/cli-sessions.js +386 -0
  20. package/lib/download-artifacts.js +77 -0
  21. package/lib/task-orchestrator.js +869 -0
  22. package/package.json +14 -10
  23. package/res/logo.png +0 -0
  24. package/res/vue.global.prod.js +13 -0
  25. package/web-ui/app.js +193 -15
  26. package/web-ui/index.html +5 -1
  27. package/web-ui/logic.agents-diff.mjs +1 -1
  28. package/web-ui/logic.claude.mjs +60 -0
  29. package/web-ui/logic.runtime.mjs +11 -7
  30. package/web-ui/logic.sessions.mjs +372 -21
  31. package/web-ui/modules/api.mjs +22 -1
  32. package/web-ui/modules/app.computed.dashboard.mjs +23 -10
  33. package/web-ui/modules/app.computed.index.mjs +4 -0
  34. package/web-ui/modules/app.computed.main-tabs.mjs +198 -0
  35. package/web-ui/modules/app.computed.session.mjs +521 -9
  36. package/web-ui/modules/app.methods.agents.mjs +62 -11
  37. package/web-ui/modules/app.methods.codex-config.mjs +189 -34
  38. package/web-ui/modules/app.methods.index.mjs +7 -1
  39. package/web-ui/modules/app.methods.install.mjs +24 -20
  40. package/web-ui/modules/app.methods.navigation.mjs +142 -1
  41. package/web-ui/modules/app.methods.openclaw-core.mjs +339 -39
  42. package/web-ui/modules/app.methods.openclaw-editing.mjs +39 -4
  43. package/web-ui/modules/app.methods.openclaw-persist.mjs +122 -4
  44. package/web-ui/modules/app.methods.providers.mjs +192 -53
  45. package/web-ui/modules/app.methods.session-actions.mjs +99 -19
  46. package/web-ui/modules/app.methods.session-browser.mjs +196 -5
  47. package/web-ui/modules/app.methods.session-timeline.mjs +22 -15
  48. package/web-ui/modules/app.methods.session-trash.mjs +3 -0
  49. package/web-ui/modules/app.methods.startup-claude.mjs +70 -71
  50. package/web-ui/modules/app.methods.task-orchestration.mjs +471 -0
  51. package/web-ui/modules/config-mode.computed.mjs +2 -0
  52. package/web-ui/modules/config-template-confirm-pref.mjs +33 -0
  53. package/web-ui/modules/i18n.mjs +1609 -0
  54. package/web-ui/modules/plugins.computed.mjs +220 -0
  55. package/web-ui/modules/plugins.methods.mjs +620 -0
  56. package/web-ui/modules/plugins.storage.mjs +37 -0
  57. package/web-ui/partials/index/layout-footer.html +1 -57
  58. package/web-ui/partials/index/layout-header.html +299 -175
  59. package/web-ui/partials/index/modal-config-template-agents.html +79 -29
  60. package/web-ui/partials/index/modal-confirm-toast.html +1 -1
  61. package/web-ui/partials/index/modal-health-check.html +14 -14
  62. package/web-ui/partials/index/modal-openclaw-config.html +47 -42
  63. package/web-ui/partials/index/modal-skills.html +130 -114
  64. package/web-ui/partials/index/modals-basic.html +71 -102
  65. package/web-ui/partials/index/panel-config-claude.html +50 -12
  66. package/web-ui/partials/index/panel-config-codex.html +34 -37
  67. package/web-ui/partials/index/panel-config-openclaw.html +10 -16
  68. package/web-ui/partials/index/panel-docs.html +147 -0
  69. package/web-ui/partials/index/panel-market.html +38 -38
  70. package/web-ui/partials/index/panel-orchestration.html +397 -0
  71. package/web-ui/partials/index/panel-plugins.html +243 -0
  72. package/web-ui/partials/index/panel-sessions.html +51 -146
  73. package/web-ui/partials/index/panel-settings.html +188 -96
  74. package/web-ui/partials/index/panel-usage.html +353 -0
  75. package/web-ui/session-helpers.mjs +221 -10
  76. package/web-ui/styles/base-theme.css +120 -229
  77. package/web-ui/styles/controls-forms.css +59 -51
  78. package/web-ui/styles/docs-panel.css +247 -0
  79. package/web-ui/styles/layout-shell.css +394 -128
  80. package/web-ui/styles/modals-core.css +18 -3
  81. package/web-ui/styles/navigation-panels.css +184 -183
  82. package/web-ui/styles/plugins-panel.css +518 -0
  83. package/web-ui/styles/responsive.css +102 -62
  84. package/web-ui/styles/sessions-list.css +13 -27
  85. package/web-ui/styles/sessions-preview.css +13 -7
  86. package/web-ui/styles/sessions-toolbar-trash.css +25 -0
  87. package/web-ui/styles/sessions-usage.css +581 -6
  88. package/web-ui/styles/settings-panel.css +166 -0
  89. package/web-ui/styles/skills-list.css +16 -11
  90. package/web-ui/styles/skills-market.css +63 -2
  91. package/web-ui/styles/task-orchestration.css +776 -0
  92. package/web-ui/styles/titles-cards.css +67 -66
  93. package/web-ui/styles.css +4 -0
  94. package/README.en.md +0 -259
  95. package/res/screenshot.png +0 -0
  96. package/res/vue.global.js +0 -18552
package/README.md CHANGED
@@ -1,117 +1,143 @@
1
1
  <div align="center">
2
2
 
3
+ <img src="res/logo.png" alt="Codex Mate logo" width="180" />
4
+
3
5
  # Codex Mate
4
6
 
5
- **Codex / Claude Code / OpenClaw 的本地配置与会话管理工具**
7
+ **Local-first control panel for Codex / Claude Code / OpenClaw configs, sessions, and usage analytics.**
6
8
 
7
- [![Build](https://img.shields.io/github/actions/workflow/status/SakuraByteCore/codexmate/release.yml?label=build)](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
8
- [![Version](https://img.shields.io/npm/v/codexmate?label=version&registry_uri=https%3A%2F%2Fregistry.npmjs.org)](https://www.npmjs.com/package/codexmate)
9
- [![Downloads](https://img.shields.io/npm/dt/codexmate?label=downloads)](https://www.npmjs.com/package/codexmate)
10
- [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
11
- [![Node](https://img.shields.io/badge/node-%3E%3D14.0.0-green.svg)](https://nodejs.org)
9
+ [![Build](https://img.shields.io/github/actions/workflow/status/SakuraByteCore/codexmate/release.yml?label=build&style=flat)](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
10
+ [![Version](https://img.shields.io/npm/v/codexmate?label=version&style=flat)](https://www.npmjs.com/package/codexmate)
11
+ [![Downloads](https://img.shields.io/npm/dt/codexmate?label=downloads&style=flat)](https://www.npmjs.com/package/codexmate)
12
+ [![Node](https://img.shields.io/node/v/codexmate?label=Node.js&style=flat&logo=node.js&logoColor=white)](https://nodejs.org/)
13
+ [![License](https://img.shields.io/npm/l/codexmate?label=license&style=flat)](LICENSE)
14
+ [![Stars](https://img.shields.io/github/stars/SakuraByteCore/codexmate?label=stars&style=flat)](https://github.com/SakuraByteCore/codexmate/stargazers)
15
+ [![Issues](https://img.shields.io/github/issues/SakuraByteCore/codexmate?label=issues&style=flat)](https://github.com/SakuraByteCore/codexmate/issues)
12
16
 
13
- [快速开始](#快速开始) · [命令速查](#命令速查) · [Web 界面](#web-界面) · [MCP](#mcp) · [English](README.en.md)
17
+ [Docs](https://sakurabytecore.github.io/codexmate/) · [Quick Start](#quick-start) · [Commands](#command-reference) · [Web UI](#web-ui) · [MCP](#mcp) · [中文](README.zh.md)
14
18
 
15
19
  </div>
16
20
 
17
21
  ---
18
22
 
19
- ## 这是什么?
23
+ ## What Is This?
20
24
 
21
- Codex Mate 提供一套本地优先的 CLI + Web UI,用于统一管理:
25
+ Codex Mate is a local-first CLI + Web UI for unified management of:
22
26
 
23
- - Codex provider / model 切换与配置写入
24
- - Claude Code 配置方案(写入 `~/.claude/settings.json`)
25
- - OpenClaw JSON5 配置与 Workspace `AGENTS.md`
26
- - Codex / Claude Code Skills 市场(安装目标切换、本地 skills 管理、跨应用导入、ZIP 分发)
27
- - Codex / Claude 本地会话浏览、筛选、导出、删除与 Usage 统计概览
27
+ - Codex provider/model switching and config writes
28
+ - Claude Code profiles (writes to `~/.claude/settings.json`)
29
+ - Claude Code `CLAUDE.md` editing (writes to `~/.claude/CLAUDE.md`)
30
+ - OpenClaw JSON5 profiles and workspace `AGENTS.md`
31
+ - Local skills market for Codex / Claude Code (target switching, local skills management, cross-app import, ZIP distribution)
32
+ - Local Codex/Claude sessions (list/filter/export/delete) with Usage analytics overview
33
+ - Plugins (Prompt templates): reusable templates with variables and one-click copy
28
34
 
29
- 项目不依赖云端托管,配置写入你的本地文件,便于审计和回滚。Skills 市场同样坚持本地优先,只操作本地目录,不依赖远程在线市场。
35
+ It works on local files directly and does not require cloud hosting. The skills market is also local-first: it operates on local directories and does not depend on a remote marketplace.
30
36
 
31
- ## 功能对比
37
+ ## Comparison
32
38
 
33
- | 维度 | Codex Mate | 手动维护配置 |
39
+ | Dimension | Codex Mate | Manual File Editing |
34
40
  | --- | --- | --- |
35
- | 多工具管理 | Codex + Claude Code + OpenClaw 统一入口 | 多文件、多目录分散修改 |
36
- | 使用方式 | CLI + 本地 Web UI | 纯手改 TOML / JSON / JSON5 |
37
- | 会话处理 | 支持浏览、筛选、Usage 统计、导出、批量清理 | 需要手动定位和处理文件 |
38
- | Skills 复用 | 本地 Skills 市场 + 跨应用导入 + ZIP 分发 | 目录手动复制,容易遗漏 |
39
- | 使用可见性 | 统一查看配置、会话与 Usage 概览 | 依赖手工翻文件和零散命令 |
40
- | 可回滚性 | 首次接管前自动备份 | 易误覆盖、回滚成本高 |
41
- | 自动化接入 | 提供 MCP stdio(默认只读) | 需自行封装脚本 |
42
-
43
- ## 核心特性
44
-
45
- **配置管理**
46
- - provider / model 切换(`switch` / `use`)
47
- - Codex `config.toml` 模板确认后写入
48
- - Claude Code 多配置方案管理与一键应用
49
- - OpenClaw JSON5 配置方案管理
50
-
51
- **会话管理**
52
- - 同页查看 Codex 与 Claude 会话
53
- - 支持本地会话置顶,置顶状态持久化保存并优先排序显示
54
- - 关键词搜索、来源筛选、cwd 路径筛选
55
- - Usage 子页:近 7 天 / 近 30 天会话趋势、消息趋势、来源占比、高频路径
56
- - 会话导出 Markdown
57
- - 会话与消息级删除(支持批量)
58
-
59
- **Skills 市场**
60
- - 在 Codex 与 Claude Code 之间切换 skills 安装目标
61
- - 查看本地已安装 skills、根目录与状态
62
- - 扫描 `Codex` / `Claude Code` / `Agents` 可导入来源
63
- - 支持跨应用导入、ZIP 导入 / 导出、批量删除
64
-
65
- **工程能力**
66
- - MCP stdio 能力(tools/resources/prompts)
67
- - Zip 压缩/解压(优先系统工具,失败回退 JS 库)
68
-
69
- ## 架构总览
41
+ | Multi-tool management | Codex + Claude Code + OpenClaw in one entry | Different files and folders per tool |
42
+ | Operation mode | CLI + local Web UI | Manual TOML/JSON/JSON5 edits |
43
+ | Session handling | Browse/filter/Usage analytics/export/batch cleanup | Manual file location and processing |
44
+ | Skills reuse | Local skills market + cross-app import + ZIP distribution | Manual folder copy and reconciliation |
45
+ | Operational visibility | Unified view of config, sessions, and Usage summaries | Depends on manual file inspection and scattered commands |
46
+ | Rollback readiness | Backup before first takeover | Easy to overwrite by mistake |
47
+ | Automation integration | MCP stdio (read-only by default) | Requires custom scripting |
48
+
49
+ ## Core Features
50
+
51
+ **Configuration**
52
+ - Provider/model switching (`switch`, `use`)
53
+ - Codex `config.toml` template confirmation before write
54
+ - Claude Code profile management and apply
55
+ - Claude Code `CLAUDE.md` editing (writes to `~/.claude/CLAUDE.md`)
56
+ - OpenClaw JSON5 profile management
57
+
58
+ **Session Management**
59
+ - Unified Codex + Claude session list
60
+ - Local session pinning with persistent pinned state and pinned-first ordering
61
+ - Keyword/source/cwd filters
62
+ - Usage subview with 7d / 30d session trends, message trends, source share, and top paths
63
+ - Markdown export
64
+ - Session-level and message-level delete (supports batch)
65
+
66
+ **Skills Market**
67
+ - Switch the skills install target between Codex and Claude Code
68
+ - Inspect local installed skills, root paths, and status
69
+ - Scan importable sources from `Codex` / `Claude Code` / `Agents`
70
+ - Support cross-app import, ZIP import/export, and batch delete
71
+
72
+ **Plugins**
73
+ - Prompt templates: save, edit, and reuse prompts with variables
74
+ - Compose + copy workflow for fast prompt iteration (stored locally in browser storage)
75
+
76
+ **Engineering Utilities**
77
+ - MCP stdio domains (`tools`, `resources`, `prompts`)
78
+ - Built-in proxy controls (`proxy`)
79
+ - Auth profile management (`auth`)
80
+ - Zip/unzip utilities
81
+
82
+ ## Architecture
83
+
84
+ ### At a glance (what it does → what you get)
70
85
 
71
86
  ```mermaid
72
- flowchart TB
73
- subgraph Interfaces["入口"]
87
+ flowchart LR
88
+ subgraph You["You"]
74
89
  CLI["CLI"]
75
90
  WEB["Web UI"]
76
- MCP["MCP Client"]
91
+ MCP["MCP (stdio)"]
77
92
  end
78
93
 
79
- subgraph Runtime["Codex Mate Runtime"]
80
- ENTRY["cli.js Entry"]
94
+ subgraph Mate["Codex Mate (local control panel)"]
81
95
  API["Local HTTP API"]
82
- MCPS["MCP stdio Server"]
83
- SERVICES["Config / Sessions & Usage / Skills Market / Workflow"]
84
- CORE["File IO / Network / Diff / Session Utils"]
96
+ CFG["Config management"]
97
+ SESS["Sessions & Usage"]
98
+ SKL["Skills management"]
99
+ PLG["Plugins: Prompt templates"]
85
100
  end
86
101
 
87
- subgraph State["Local State"]
88
- CODEX["~/.codex/config + auth + models"]
89
- CLAUDE["~/.claude/settings.json"]
102
+ subgraph Files["Local files only (auditable & reversible)"]
103
+ CODEX["~/.codex/*"]
104
+ CLAUDE["~/.claude/settings.json + CLAUDE.md"]
90
105
  OPENCLAW["~/.openclaw/*.json5 + ~/.openclaw/openclaw.json + workspace/AGENTS.md"]
91
- SKILLS["~/.codex/skills / ~/.claude/skills / ~/.agents/skills"]
92
- STATE["sessions / usage aggregates / trash / workflow runs / skill exports"]
106
+ SKILLS["~/.{codex,claude,agents}/skills"]
107
+ STATE["sessions / usage / trash / runs"]
108
+ BROWSER["Browser storage (templates)"]
93
109
  end
94
110
 
95
- CLI --> ENTRY
96
- WEB -->|GET / + POST /api| API
97
- MCP -->|stdio JSON-RPC| MCPS
98
-
99
- ENTRY --> SERVICES
100
- API --> SERVICES
101
- MCPS --> SERVICES
111
+ CLI --> API
112
+ WEB --> API
113
+ MCP --> API
114
+ WEB --> PLG
115
+
116
+ API --> CFG
117
+ API --> SESS
118
+ API --> SKL
119
+ PLG --> BROWSER
120
+
121
+ CFG --> CODEX
122
+ CFG --> CLAUDE
123
+ CFG --> OPENCLAW
124
+ SKL --> SKILLS
125
+ SESS --> STATE
126
+ ```
102
127
 
103
- SERVICES --> CORE
128
+ ### Capability → Local target → Outcome
104
129
 
105
- CORE --> CODEX
106
- CORE --> CLAUDE
107
- CORE --> OPENCLAW
108
- CORE --> SKILLS
109
- CORE --> STATE
110
- ```
130
+ | Capability | Local target | What you get |
131
+ | --- | --- | --- |
132
+ | Config management (Codex / Claude / OpenClaw) | `~/.codex/*`, `~/.claude/settings.json`, `~/.claude/CLAUDE.md`, `~/.openclaw/*` | Faster provider/model switching, multi-profile management, safer writes with backups |
133
+ | Sessions & Usage | sessions / usage aggregates / trash | Quickly locate sessions, filter/export, batch cleanup, and view trends |
134
+ | Skills market | `~/.{codex,claude,agents}/skills` | Local install/import/export (ZIP), cross-app reuse |
135
+ | Plugins (Prompt templates) | Browser storage | Reusable prompt templates with variables and one-click copy |
136
+ | MCP (stdio) | local API + file operations | Integrate with external tools under controllable permissions (read-only by default) |
111
137
 
112
- ## 快速开始
138
+ ## Quick Start
113
139
 
114
- ### npm 全局安装
140
+ ### Install from npm
115
141
 
116
142
  ```bash
117
143
  npm install -g codexmate
@@ -120,11 +146,26 @@ codexmate status
120
146
  codexmate run
121
147
  ```
122
148
 
123
- 默认监听 `0.0.0.0:3737`,支持局域网访问,并尝试自动打开浏览器。
149
+ Default listen address is `0.0.0.0:3737` for LAN access, and browser auto-open is enabled by default.
150
+
151
+ > Safety note: the unauthenticated management UI is exposed to your current LAN by default. Use trusted networks only; for local-only access, set `CODEXMATE_HOST=127.0.0.1` or pass `--host 127.0.0.1`.
152
+
153
+ ### Install Codex CLI / Claude Code CLI (optional)
154
+
155
+ Codex Mate can pass through to the official CLIs (e.g. `codexmate codex ...`). Install them first:
156
+
157
+ ```bash
158
+ # Codex CLI (default)
159
+ npm install -g @openai/codex
160
+
161
+ # Codex CLI on Termux (Android)
162
+ npm install -g @mmmbuto/codex-cli-termux@latest
124
163
 
125
- > 安全提示:默认监听会在当前局域网暴露未鉴权的管理界面。若包含 API Key、provider 配置或 skills 管理,请仅在可信网络中使用;如需仅本机访问,可设置 `CODEXMATE_HOST=127.0.0.1` 或启动时传入 `--host 127.0.0.1`。
164
+ # Claude Code
165
+ npm install -g @anthropic-ai/claude-code
166
+ ```
126
167
 
127
- ### 从源码运行
168
+ ### Run from source
128
169
 
129
170
  ```bash
130
171
  git clone https://github.com/SakuraByteCore/codexmate.git
@@ -133,119 +174,215 @@ npm install
133
174
  npm start run
134
175
  ```
135
176
 
136
- ### 测试 / CI(只启动服务)
177
+ ### Tests / CI (service only)
137
178
 
138
179
  ```bash
139
180
  npm start run --no-browser
140
181
  ```
141
182
 
142
- > 约定:自动化测试仅验证服务与 API,不依赖打开页面。
183
+ > Convention: automated tests validate service and API behavior only, without opening browser pages.
184
+
185
+ ### Developer helper scripts
186
+
187
+ ```bash
188
+ npm run reset
189
+ npm run reset 79
190
+ ```
191
+
192
+ - `npm run reset`: prompt for a PR number; leave it blank to return to default `origin/main`
193
+ - `npm run reset 79`: sync directly to the latest head snapshot of PR `#79`
194
+ - The script also handles local branch switching, workspace cleanup, untracked file cleanup, and final state validation
143
195
 
144
- ## 命令速查
196
+ ## Command Reference
145
197
 
146
- | 命令 | 说明 |
198
+ | Command | Description |
147
199
  | --- | --- |
148
- | `codexmate status` | 查看当前配置状态 |
149
- | `codexmate setup` | 交互式初始化 |
150
- | `codexmate list` / `codexmate models` | 查看提供商 / 模型 |
151
- | `codexmate switch <provider>` / `codexmate use <model>` | 切换 provider / model |
152
- | `codexmate add <name> <URL> [API_KEY]` | 添加提供商 |
153
- | `codexmate delete <name>` | 删除提供商 |
154
- | `codexmate claude <BaseURL> <API_KEY> [model]` | 写入 Claude Code 配置 |
155
- | `codexmate workflow <list\|get\|validate\|run\|runs>` | MCP 工作流管理 |
156
- | `codexmate codex [args...] [--follow-up <文本> 可重复]` | Codex CLI 透传入口(默认补 `--yolo`,可追加 queued follow-up) |
157
- | `codexmate qwen [args...]` | Qwen CLI 透传入口 |
158
- | `codexmate run [--host <HOST>] [--no-browser]` | 启动 Web UI |
159
- | `codexmate mcp serve [--read-only\|--allow-write]` | 启动 MCP stdio 服务 |
160
- | `codexmate export-session --source <codex\|claude> ...` | 导出会话为 Markdown |
161
- | `codexmate zip <path> [--max:0-9]` / `codexmate unzip <zip> [out]` | 压缩 / 解压 |
162
- | `codexmate unzip-ext <zip-dir> [out] [--ext:suffix[,suffix...]] [--no-recursive]` | 批量提取目录下 ZIP 内指定后缀文件(默认 `.json`,默认递归) |
163
-
164
- ### Codex follow-up 追加(可选)
200
+ | `codexmate status` | Show current config status |
201
+ | `codexmate setup` | Interactive setup |
202
+ | `codexmate list` / `codexmate models` | List providers / models |
203
+ | `codexmate switch <provider>` / `codexmate use <model>` | Switch provider / model |
204
+ | `codexmate add <name> <URL> [API_KEY]` | Add provider |
205
+ | `codexmate delete <name>` | Delete provider |
206
+ | `codexmate claude <BaseURL> <API_KEY> [model]` | Write Claude Code config |
207
+ | `codexmate auth <list\|import\|switch\|delete\|status>` | Auth profile management |
208
+ | `codexmate proxy <status\|set\|apply\|enable\|start\|stop>` | Built-in proxy management |
209
+ | `codexmate workflow <list\|get\|validate\|run\|runs>` | MCP workflow management |
210
+ | `codexmate codex [args...] [--follow-up <text> repeatable]` | Codex CLI passthrough entrypoint (auto-adds `--yolo`, supports queued follow-up appends) |
211
+ | `codexmate qwen [args...]` | Qwen CLI passthrough entrypoint |
212
+ | `codexmate run [--host <HOST>] [--no-browser]` | Start Web UI |
213
+ | `codexmate mcp serve [--read-only\|--allow-write]` | Start MCP stdio server |
214
+ | `codexmate export-session --source <codex\|claude> ...` | Export session to Markdown |
215
+ | `codexmate zip <path> [--max:0-9]` / `codexmate unzip <zip> [out]` | Zip / unzip |
216
+ | `codexmate unzip-ext <zip-dir> [out] [--ext:suffix[,suffix...]] [--no-recursive]` | Extract files with target suffixes from ZIP files in a directory (default `.json`, recursive by default) |
217
+
218
+ ### Codex Follow-up Append (Optional)
165
219
 
166
220
  ```bash
167
- codexmate codex --follow-up "先扫描项目" --follow-up "再修复失败测试"
168
- codexmate codex --model gpt-5.3-codex --follow-up "步骤1" --follow-up "步骤2"
221
+ codexmate codex --follow-up "scan repository first" --follow-up "then fix failing tests"
222
+ codexmate codex --model gpt-5.3-codex --follow-up "step1" --follow-up "step2"
169
223
  ```
170
224
 
171
- > 说明:`--follow-up` / `--queued-follow-up` 都可用,支持重复。
225
+ > Note: both `--follow-up` and `--queued-follow-up` are accepted and repeatable.
226
+
227
+ ## Web UI
228
+
229
+ ### Codex Mode
230
+ - Provider/model switching
231
+ - Model list management
232
+ - `~/.codex/AGENTS.md` editing
233
+
234
+ ### Claude Code Mode
235
+ - Multi-profile management
236
+ - Default write to `~/.claude/settings.json`
237
+ - `~/.claude/CLAUDE.md` editing
238
+ - Shareable import command copy
239
+
240
+ ### OpenClaw Mode
241
+ - JSON5 multi-profile management
242
+ - Apply to `~/.openclaw/openclaw.json`
243
+ - Manage `~/.openclaw/workspace/AGENTS.md`
244
+
245
+ ### Plugins Mode (Prompt Templates)
246
+ - Entry: switch to **Plugins** → **Prompt Templates**
247
+ - Manage custom templates (JSON import/export)
248
+ - Variables: in **Manage**, you can “Add variable” (inserts `{{var}}`) and fill variable values in the Variables panel
249
+ - Generate & copy: after filling variables, copy the final rendered prompt from **Preview**
250
+ - Built-in template: ships a single read-only template for light code-comment polishing
251
+
252
+ ### Sessions Mode
253
+ - Unified Codex + Claude sessions
254
+ - Browser / Usage subview switching
255
+ - Local pin/unpin with persistent storage and pinned-first ordering
256
+ - Search, filter, export, delete, batch cleanup
257
+ - Usage view includes 7d / 30d session trends, message trends, source share, and top paths
258
+
259
+ ### Skills Market Tab
260
+ - Switch the skills install target between `Codex` and `Claude Code`
261
+ - Show the current local skills root, installed items, and importable items
262
+ - Scan importable sources under `Codex` / `Claude Code` / `Agents`
263
+ - Support cross-app import, ZIP import/export, and batch delete
172
264
 
173
- ## Web 界面
265
+ ## MCP
174
266
 
175
- ### Codex 配置模式
176
- - provider / model 切换
177
- - 模型管理
178
- - `~/.codex/AGENTS.md` 编辑
267
+ > Transport: `stdio`
179
268
 
180
- ### Claude Code 配置模式
181
- - 多配置方案管理
182
- - 默认写入 `~/.claude/settings.json`
183
- - 支持复制分享导入命令
269
+ - Default: read-only tools
270
+ - Enable writes: `--allow-write` or `CODEXMATE_MCP_ALLOW_WRITE=1`
271
+ - Domains: `tools`, `resources`, `prompts`
184
272
 
185
- ### OpenClaw 配置模式
186
- - JSON5 多方案管理
187
- - 应用到 `~/.openclaw/openclaw.json`
188
- - 管理 `~/.openclaw/workspace/AGENTS.md`
273
+ Examples:
189
274
 
190
- ### 会话模式
191
- - Codex + Claude 会话统一列表
192
- - Browser / Usage 双子视图切换
193
- - 支持本地会话置顶、持久化保存与置顶优先排序
194
- - 搜索、筛选、导出、删除、批量清理
195
- - Usage 视图提供近 7 天 / 近 30 天会话趋势、消息趋势、来源占比与高频路径统计
275
+ ```bash
276
+ codexmate mcp serve --read-only
277
+ codexmate mcp serve --allow-write
278
+ ```
279
+
280
+ ## Config Files
281
+
282
+ - `~/.codex/config.toml`
283
+ - `~/.codex/auth.json`
284
+ - `~/.codex/models.json`
285
+ - `~/.codex/provider-current-models.json`
286
+ - `~/.claude/settings.json`
287
+ - `~/.claude/CLAUDE.md`
288
+ - `~/.openclaw/openclaw.json`
289
+ - `~/.openclaw/workspace/AGENTS.md`
290
+
291
+ ## Environment Variables
292
+
293
+ | Variable | Default | Description |
294
+ | --- | --- | --- |
295
+ | `CODEXMATE_PORT` | `3737` | Web server port |
296
+ | `CODEXMATE_HOST` | `0.0.0.0` | Web listen host (set `127.0.0.1` for local-only access) |
297
+ | `CODEXMATE_NO_BROWSER` | unset | Set `1` to disable browser auto-open |
298
+ | `CODEXMATE_MCP_ALLOW_WRITE` | unset | Set `1` to allow MCP write tools by default |
299
+ | `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | Set `1` to force bootstrap reset of existing config |
300
+
301
+ ## Tech Stack
302
+
303
+ - Node.js
304
+ - Vue.js 3 (Web UI)
305
+ - Native HTTP server
306
+ - `@iarna/toml`, `json5`
307
+
308
+ ## Contributing
309
+
310
+ Issues and pull requests are accepted.
311
+
312
+ ## License
313
+
314
+ Apache-2.0
196
315
 
197
- ### Skills 市场标签页
198
- - `Codex` 与 `Claude Code` 之间切换 skills 安装目标
199
- - 展示当前目标的本地 skills 根目录、已安装项和可导入项
200
- - 扫描 `Codex` / `Claude Code` / `Agents` 目录中的可导入来源
201
- - 支持跨应用导入、ZIP 导入 / 导出、批量删除
316
+ ### Claude Code Mode
317
+ - Multi-profile management
318
+ - Default write to `~/.claude/settings.json`
319
+ - `~/.claude/CLAUDE.md` editing
320
+ - Shareable import command copy
321
+
322
+ ### OpenClaw Mode
323
+ - JSON5 multi-profile management
324
+ - Apply to `~/.openclaw/openclaw.json`
325
+ - Manage `~/.openclaw/workspace/AGENTS.md`
326
+
327
+ ### Sessions Mode
328
+ - Unified Codex + Claude sessions
329
+ - Browser / Usage subview switching
330
+ - Local pin/unpin with persistent storage and pinned-first ordering
331
+ - Search, filter, export, delete, batch cleanup
332
+ - Usage view includes 7d / 30d session trends, message trends, source share, and top paths
333
+
334
+ ### Skills Market Tab
335
+ - Switch the skills install target between `Codex` and `Claude Code`
336
+ - Show the current local skills root, installed items, and importable items
337
+ - Scan importable sources under `Codex` / `Claude Code` / `Agents`
338
+ - Support cross-app import, ZIP import/export, and batch delete
202
339
 
203
340
  ## MCP
204
341
 
205
- > 传输:`stdio`
342
+ > Transport: `stdio`
206
343
 
207
- - 传输:仅 `stdio`
208
- - 默认:只读工具集
209
- - 写入开启:`--allow-write` `CODEXMATE_MCP_ALLOW_WRITE=1`
210
- - 包含域:`tools`、`resources`、`prompts`
344
+ - Default: read-only tools
345
+ - Enable writes: `--allow-write` or `CODEXMATE_MCP_ALLOW_WRITE=1`
346
+ - Domains: `tools`, `resources`, `prompts`
211
347
 
212
- 示例:
348
+ Examples:
213
349
 
214
350
  ```bash
215
351
  codexmate mcp serve --read-only
216
352
  codexmate mcp serve --allow-write
217
353
  ```
218
354
 
219
- ## 配置文件
355
+ ## Config Files
220
356
 
221
357
  - `~/.codex/config.toml`
222
358
  - `~/.codex/auth.json`
223
359
  - `~/.codex/models.json`
224
360
  - `~/.codex/provider-current-models.json`
225
361
  - `~/.claude/settings.json`
362
+ - `~/.claude/CLAUDE.md`
226
363
  - `~/.openclaw/openclaw.json`
227
364
  - `~/.openclaw/workspace/AGENTS.md`
228
365
 
229
- ## 环境变量
366
+ ## Environment Variables
230
367
 
231
- | 变量 | 默认值 | 说明 |
368
+ | Variable | Default | Description |
232
369
  | --- | --- | --- |
233
- | `CODEXMATE_PORT` | `3737` | Web 服务端口 |
234
- | `CODEXMATE_HOST` | `0.0.0.0` | Web 服务监听地址(如需仅本机访问,显式设为 `127.0.0.1`) |
235
- | `CODEXMATE_NO_BROWSER` | 未设置 | 设为 `1` 后不自动打开浏览器 |
236
- | `CODEXMATE_MCP_ALLOW_WRITE` | 未设置 | 设为 `1` 后默认允许 MCP 写工具 |
237
- | `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | 设为 `1` 时首次可强制重建托管配置 |
370
+ | `CODEXMATE_PORT` | `3737` | Web server port |
371
+ | `CODEXMATE_HOST` | `0.0.0.0` | Web listen host (set `127.0.0.1` for local-only access) |
372
+ | `CODEXMATE_NO_BROWSER` | unset | Set `1` to disable browser auto-open |
373
+ | `CODEXMATE_MCP_ALLOW_WRITE` | unset | Set `1` to allow MCP write tools by default |
374
+ | `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | Set `1` to force bootstrap reset of existing config |
238
375
 
239
- ## 技术栈
376
+ ## Tech Stack
240
377
 
241
378
  - Node.js
242
- - Vue.js 3Web UI
243
- - 原生 HTTP Server
244
- - `@iarna/toml`、`json5`
379
+ - Vue.js 3 (Web UI)
380
+ - Native HTTP server
381
+ - `@iarna/toml`, `json5`
245
382
 
246
- ## 参与贡献
383
+ ## Contributing
247
384
 
248
- Issue Pull Request 可按需提交。
385
+ Issues and pull requests are accepted.
249
386
 
250
387
  ## License
251
388