codexmate 0.0.32 → 0.0.34
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.
- package/README.md +147 -363
- package/README.zh.md +147 -371
- package/cli/agents-files.js +230 -224
- package/cli/archive-helpers.js +453 -446
- package/cli/auth-profiles.js +375 -375
- package/cli/builtin-proxy.js +1725 -1725
- package/cli/claude-proxy.js +1022 -1022
- package/cli/config-bootstrap.js +402 -402
- package/cli/config-health.js +454 -454
- package/cli/doctor-core.js +903 -903
- package/cli/import-skills-url.js +356 -356
- package/cli/local-bridge.js +556 -324
- package/cli/openai-bridge.js +1653 -1653
- package/cli/openclaw-config.js +629 -629
- package/cli/session-convert-args.js +69 -69
- package/cli/session-convert-io.js +82 -82
- package/cli/session-convert.js +150 -150
- package/cli/session-usage.concurrent.js +28 -28
- package/cli/session-usage.js +118 -118
- package/cli/session-usage.models.js +176 -176
- package/cli/skills.js +1141 -1141
- package/cli/update.js +171 -0
- package/cli/zip-commands.js +510 -510
- package/cli.js +16079 -15829
- package/lib/automation.js +404 -404
- package/lib/cli-file-utils.js +151 -151
- package/lib/cli-models-utils.js +440 -440
- package/lib/cli-network-utils.js +190 -190
- package/lib/cli-path-utils.js +85 -85
- package/lib/cli-session-utils.js +121 -121
- package/lib/cli-sessions.js +427 -426
- package/lib/cli-utils.js +155 -155
- package/lib/cli-webhook.js +154 -126
- package/lib/download-artifacts.js +92 -92
- package/lib/mcp-stdio.js +453 -453
- package/lib/task-orchestrator.js +869 -869
- package/lib/text-diff.js +303 -303
- package/lib/win-tray.js +119 -0
- package/lib/workflow-engine.js +340 -340
- package/package.json +76 -76
- package/plugins/README.md +20 -20
- package/plugins/README.zh-CN.md +20 -20
- package/plugins/prompt-templates/comment-polish/index.mjs +25 -25
- package/plugins/prompt-templates/computed.mjs +253 -253
- package/plugins/prompt-templates/index.mjs +8 -8
- package/plugins/prompt-templates/manifest.mjs +15 -15
- package/plugins/prompt-templates/methods.mjs +553 -553
- package/plugins/prompt-templates/overview.mjs +91 -91
- package/plugins/prompt-templates/ownership.mjs +19 -19
- package/plugins/prompt-templates/rule-ack/index.mjs +21 -21
- package/plugins/prompt-templates/storage.mjs +64 -64
- package/plugins/registry.mjs +16 -16
- package/web-ui/app.js +654 -647
- package/web-ui/index.html +37 -36
- package/web-ui/logic.agents-diff.mjs +386 -386
- package/web-ui/logic.claude.mjs +172 -168
- package/web-ui/logic.codex.mjs +69 -69
- package/web-ui/logic.mjs +5 -5
- package/web-ui/logic.runtime.mjs +128 -128
- package/web-ui/logic.session-convert.mjs +70 -70
- package/web-ui/logic.sessions.mjs +781 -781
- package/web-ui/modules/api.mjs +90 -90
- package/web-ui/modules/app.computed.dashboard.mjs +248 -248
- package/web-ui/modules/app.computed.index.mjs +17 -17
- package/web-ui/modules/app.computed.main-tabs.mjs +205 -205
- package/web-ui/modules/app.computed.session.mjs +735 -693
- package/web-ui/modules/app.constants.mjs +15 -15
- package/web-ui/modules/app.methods.agents.mjs +651 -651
- package/web-ui/modules/app.methods.claude-config.mjs +306 -200
- package/web-ui/modules/app.methods.codex-config.mjs +869 -861
- package/web-ui/modules/app.methods.index.mjs +94 -94
- package/web-ui/modules/app.methods.install.mjs +205 -205
- package/web-ui/modules/app.methods.navigation.mjs +788 -774
- package/web-ui/modules/app.methods.openclaw-core.mjs +814 -814
- package/web-ui/modules/app.methods.openclaw-editing.mjs +372 -372
- package/web-ui/modules/app.methods.openclaw-persist.mjs +369 -369
- package/web-ui/modules/app.methods.providers.mjs +575 -529
- package/web-ui/modules/app.methods.runtime.mjs +345 -345
- package/web-ui/modules/app.methods.session-actions.mjs +591 -591
- package/web-ui/modules/app.methods.session-browser.mjs +1011 -1012
- package/web-ui/modules/app.methods.session-timeline.mjs +479 -479
- package/web-ui/modules/app.methods.session-trash.mjs +438 -438
- package/web-ui/modules/app.methods.startup-claude.mjs +547 -537
- package/web-ui/modules/app.methods.task-orchestration.mjs +556 -556
- package/web-ui/modules/app.methods.webhook.mjs +87 -79
- package/web-ui/modules/config-mode.computed.mjs +124 -124
- package/web-ui/modules/config-template-confirm-pref.mjs +33 -33
- package/web-ui/modules/i18n.dict.mjs +3195 -3177
- package/web-ui/modules/i18n.mjs +62 -62
- package/web-ui/modules/plugins.computed.mjs +3 -3
- package/web-ui/modules/plugins.methods.mjs +3 -3
- package/web-ui/modules/plugins.storage.mjs +11 -11
- package/web-ui/modules/provider-url-display.mjs +17 -17
- package/web-ui/modules/sessions-filters-url.mjs +85 -85
- package/web-ui/modules/skills.computed.mjs +107 -107
- package/web-ui/modules/skills.methods.mjs +482 -482
- package/web-ui/partials/index/layout-footer.html +13 -13
- package/web-ui/partials/index/layout-header.html +499 -503
- package/web-ui/partials/index/modal-config-template-agents.html +185 -185
- package/web-ui/partials/index/modal-confirm-toast.html +32 -32
- package/web-ui/partials/index/modal-health-check.html +45 -45
- package/web-ui/partials/index/modal-openclaw-config.html +280 -280
- package/web-ui/partials/index/modal-skills.html +200 -200
- package/web-ui/partials/index/modal-webhook.html +42 -0
- package/web-ui/partials/index/modals-basic.html +223 -162
- package/web-ui/partials/index/panel-config-claude.html +155 -136
- package/web-ui/partials/index/panel-config-codex.html +176 -196
- package/web-ui/partials/index/panel-config-codex.html.bak +337 -0
- package/web-ui/partials/index/panel-config-openclaw.html +83 -83
- package/web-ui/partials/index/panel-dashboard.html +186 -219
- package/web-ui/partials/index/panel-docs.html +114 -114
- package/web-ui/partials/index/panel-market.html +177 -177
- package/web-ui/partials/index/panel-orchestration.html +391 -391
- package/web-ui/partials/index/panel-plugins.html +253 -253
- package/web-ui/partials/index/panel-sessions.html +319 -313
- package/web-ui/partials/index/panel-settings.html +158 -190
- package/web-ui/partials/index/panel-trash.html +82 -82
- package/web-ui/partials/index/panel-usage.html +137 -137
- package/web-ui/res/json5.min.js +1 -1
- package/web-ui/res/vue.global.prod.js +13 -13
- package/web-ui/session-helpers.mjs +591 -591
- package/web-ui/source-bundle.cjs +233 -233
- package/web-ui/styles/base-theme.css +281 -281
- package/web-ui/styles/bridge-pool.css +266 -197
- package/web-ui/styles/controls-forms.css +433 -433
- package/web-ui/styles/dashboard.css +406 -406
- package/web-ui/styles/docs-panel.css +245 -245
- package/web-ui/styles/feedback.css +108 -108
- package/web-ui/styles/health-check-dialog.css +144 -144
- package/web-ui/styles/layout-shell.css +628 -638
- package/web-ui/styles/modals-core.css +499 -466
- package/web-ui/styles/navigation-panels.css +391 -391
- package/web-ui/styles/openclaw-structured.css +266 -266
- package/web-ui/styles/plugins-panel.css +564 -564
- package/web-ui/styles/responsive.css +392 -392
- package/web-ui/styles/sessions-list.css +683 -647
- package/web-ui/styles/sessions-preview.css +407 -407
- package/web-ui/styles/sessions-toolbar-trash.css +518 -518
- package/web-ui/styles/sessions-usage.css +588 -588
- package/web-ui/styles/settings-panel.css +415 -349
- package/web-ui/styles/skills-list.css +305 -305
- package/web-ui/styles/skills-market.css +429 -429
- package/web-ui/styles/task-orchestration.css +822 -822
- package/web-ui/styles/titles-cards.css +472 -472
- package/web-ui/styles/trash-panel.css +90 -90
- package/web-ui/styles/webhook.css +115 -81
- package/web-ui/styles.css +24 -24
- package/web-ui.html +17 -17
package/README.zh.md
CHANGED
|
@@ -1,371 +1,147 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
<img src="site/.vitepress/public/images/logo.png" alt="Codex Mate logo" width="
|
|
4
|
-
|
|
5
|
-
# Codex Mate
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
[
|
|
12
|
-
[
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
[![
|
|
16
|
-
[![
|
|
17
|
-
[![
|
|
18
|
-
|
|
19
|
-
[
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
API --> SKL
|
|
149
|
-
PLG --> BROWSER
|
|
150
|
-
|
|
151
|
-
CFG --> CODEX
|
|
152
|
-
CFG --> CLAUDE
|
|
153
|
-
CFG --> OPENCLAW
|
|
154
|
-
SKL --> SKILLS
|
|
155
|
-
SESS --> SESSFILES
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### 能力 → 作用对象 → 用户收益(直观对照)
|
|
159
|
-
|
|
160
|
-
| 能力 | 作用对象(本地) | 你能直接得到什么 |
|
|
161
|
-
| --- | --- | --- |
|
|
162
|
-
| 配置管理(Codex / Claude / OpenClaw) | `~/.codex/*`、`~/.claude/settings.json`、`~/.claude/CLAUDE.md`、`~/.openclaw/*` | 一键切换 provider/model、管理多套配置、写入前后可控与可回滚 |
|
|
163
|
-
| 会话与 Usage | sessions / usage 聚合 / trash | 更快定位会话、筛选导出、批量清理、查看趋势与占比 |
|
|
164
|
-
| Skills 市场 | `~/.{codex,claude,agents}/skills` | 本地安装/导入/导出/分发(ZIP),跨应用复用更省事 |
|
|
165
|
-
| 插件(提示词模板) | 浏览器存储 | 可复用的提示词模板(变量 + 一键复制) |
|
|
166
|
-
| MCP(stdio) | 本地 API / 文件能力 | 让外部工具以“可控权限”调用本地能力(默认只读) |
|
|
167
|
-
|
|
168
|
-
## 快速开始
|
|
169
|
-
|
|
170
|
-
### npm 全局安装
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
npm install -g codexmate
|
|
174
|
-
codexmate setup
|
|
175
|
-
codexmate status
|
|
176
|
-
codexmate run
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
默认监听 `0.0.0.0:3737`,支持局域网访问,并尝试自动打开浏览器。
|
|
180
|
-
|
|
181
|
-
> 安全提示:默认监听会在当前局域网暴露未鉴权的管理界面。若包含 API Key、provider 配置或 skills 管理,请仅在可信网络中使用;如需仅本机访问,可设置 `CODEXMATE_HOST=127.0.0.1` 或启动时传入 `--host 127.0.0.1`。
|
|
182
|
-
|
|
183
|
-
### curl 一键安装(独立包,无需 npm)
|
|
184
|
-
|
|
185
|
-
下载包含 `node_modules` 的自包含安装包,不依赖 npm:
|
|
186
|
-
|
|
187
|
-
```bash
|
|
188
|
-
curl -fsSL https://raw.githubusercontent.com/SakuraByteCore/codexmate/main/scripts/install.sh | bash
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
安装到 `~/.codexmate`,自动软链接到 `~/.local/bin/codexmate`,并添加 PATH。
|
|
192
|
-
|
|
193
|
-
| 变量 | 默认值 | 说明 |
|
|
194
|
-
| --- | --- | --- |
|
|
195
|
-
| `CODEXMATE_INSTALL_DIR` | `~/.codexmate` | 安装目录 |
|
|
196
|
-
| `CODEXMATE_BIN_DIR` | `~/.local/bin` | 软链接目录 |
|
|
197
|
-
|
|
198
|
-
### 安装 Codex CLI / Claude Code / Gemini CLI / CodeBuddy Code(可选)
|
|
199
|
-
|
|
200
|
-
Codex Mate 支持透传调用官方 CLI(例如 `codexmate codex ...`),建议先安装:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
# Codex CLI(默认)
|
|
204
|
-
npm install -g @openai/codex
|
|
205
|
-
|
|
206
|
-
# Termux(Android)上的 Codex CLI
|
|
207
|
-
npm install -g @mmmbuto/codex-cli-termux@latest
|
|
208
|
-
|
|
209
|
-
# Claude Code
|
|
210
|
-
npm install -g @anthropic-ai/claude-code
|
|
211
|
-
|
|
212
|
-
# Gemini CLI
|
|
213
|
-
npm install -g @google/gemini-cli
|
|
214
|
-
|
|
215
|
-
# CodeBuddy Code
|
|
216
|
-
npm install -g @tencent-ai/codebuddy-code
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### 从源码运行
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
git clone https://github.com/SakuraByteCore/codexmate.git
|
|
223
|
-
cd codexmate
|
|
224
|
-
npm install
|
|
225
|
-
npm start run
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
### 测试 / CI(只启动服务)
|
|
229
|
-
|
|
230
|
-
```bash
|
|
231
|
-
npm start run --no-browser
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
> 约定:自动化测试仅验证服务与 API,不依赖打开页面。
|
|
235
|
-
|
|
236
|
-
### 开发辅助脚本
|
|
237
|
-
|
|
238
|
-
```bash
|
|
239
|
-
npm run reset
|
|
240
|
-
npm run reset 79
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
- `npm run reset`:直接重置到默认 `origin/main`
|
|
244
|
-
- `npm run reset 79`:直接同步到 PR `#79` 的最新 head 快照
|
|
245
|
-
- 脚本会自动完成本地分支切换、工作区清理、未跟踪文件清理与最终状态校验
|
|
246
|
-
|
|
247
|
-
## 命令速查
|
|
248
|
-
|
|
249
|
-
| 命令 | 说明 |
|
|
250
|
-
| --- | --- |
|
|
251
|
-
| `codexmate status` | 查看当前配置状态 |
|
|
252
|
-
| `codexmate setup` | 交互式初始化 |
|
|
253
|
-
| `codexmate list` / `codexmate models` | 查看提供商 / 模型 |
|
|
254
|
-
| `codexmate switch <provider>` / `codexmate use <model>` | 切换 provider / model |
|
|
255
|
-
| `codexmate add <name> <URL> [API_KEY] [--bridge openai]` | 添加提供商;`--bridge openai` 会为 OpenAI 风格上游创建本地 Codex Responses 兼容桥接 |
|
|
256
|
-
| `codexmate delete <name>` | 删除提供商 |
|
|
257
|
-
| `codexmate claude <BaseURL> <API_KEY> [model]` | 写入 Claude Code 配置 |
|
|
258
|
-
| `codexmate workflow <list\|get\|validate\|run\|runs>` | MCP 工作流管理 |
|
|
259
|
-
| `codexmate codex [args...] [--follow-up <文本> 可重复]` | Codex CLI 透传入口(默认补 `--yolo`,可追加 queued follow-up) |
|
|
260
|
-
| `codexmate qwen [args...]` | Qwen CLI 透传入口 |
|
|
261
|
-
| `codexmate run [--host <HOST>] [--no-browser]` | 启动 Web UI |
|
|
262
|
-
| `codexmate mcp serve [--read-only\|--allow-write]` | 启动 MCP stdio 服务 |
|
|
263
|
-
| `codexmate export-session --source <codex\|claude\|gemini\|codebuddy> ...` | 导出会话为 Markdown |
|
|
264
|
-
| `codexmate zip <path> [--max:0-9]` / `codexmate unzip <zip> [out]` | 压缩 / 解压 |
|
|
265
|
-
| `codexmate unzip-ext <zip-dir> [out] [--ext:suffix[,suffix...]] [--no-recursive]` | 批量提取目录下 ZIP 内指定后缀文件(默认 `.json`,默认递归) |
|
|
266
|
-
|
|
267
|
-
### Codex follow-up 追加(可选)
|
|
268
|
-
|
|
269
|
-
```bash
|
|
270
|
-
codexmate codex --follow-up "先扫描项目" --follow-up "再修复失败测试"
|
|
271
|
-
codexmate codex --model gpt-5.3-codex --follow-up "步骤1" --follow-up "步骤2"
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
> 说明:`--follow-up` / `--queued-follow-up` 都可用,支持重复。
|
|
275
|
-
|
|
276
|
-
## Web 界面
|
|
277
|
-
|
|
278
|
-
### Codex 配置模式
|
|
279
|
-
- provider / model 切换
|
|
280
|
-
- 模型管理
|
|
281
|
-
- OpenAI 桥接 provider:将 Codex Responses API 转换给 OpenAI 兼容上游
|
|
282
|
-
- `~/.codex/AGENTS.md` 编辑
|
|
283
|
-
|
|
284
|
-
### Claude Code 配置模式
|
|
285
|
-
- 多配置方案管理
|
|
286
|
-
- 默认写入 `~/.claude/settings.json`
|
|
287
|
-
- `~/.claude/CLAUDE.md` 编辑
|
|
288
|
-
- 支持复制分享导入命令
|
|
289
|
-
|
|
290
|
-
### OpenClaw 配置模式
|
|
291
|
-
- JSON5 多方案管理
|
|
292
|
-
- 应用到 `~/.openclaw/openclaw.json`
|
|
293
|
-
- 管理 `~/.openclaw/workspace/AGENTS.md`
|
|
294
|
-
|
|
295
|
-
### Plugins 模式(提示词模板)
|
|
296
|
-
- 入口:顶部切到 **Plugins** → **提示词模板**
|
|
297
|
-
- 支持管理自定义模板(导入/导出 JSON)
|
|
298
|
-
- 变量管理:在 **管理** 中可“新增变量”(插入 `{{var}}`),并在 Variables 区填写变量值
|
|
299
|
-
- 生成与复制:变量填写后可在 **Preview** 里一键复制最终提示词
|
|
300
|
-
- 内置模板:仅提供一个“代码注释润色”,只读不可编辑
|
|
301
|
-
|
|
302
|
-
### 会话模式
|
|
303
|
-
- Codex + Claude 会话统一列表
|
|
304
|
-
- Browser / Usage 双子视图切换
|
|
305
|
-
- 支持本地会话置顶、持久化保存与置顶优先排序
|
|
306
|
-
- 搜索、筛选、导出、删除、批量清理
|
|
307
|
-
- Usage 视图提供近 7 天 / 近 30 天会话趋势、消息趋势、来源占比与高频路径统计
|
|
308
|
-
- 费用估算当前只统计可识别模型单价的非 Claude 会话
|
|
309
|
-
|
|
310
|
-
### Skills 市场标签页
|
|
311
|
-
- 在 `Codex` 与 `Claude Code` 之间切换 skills 安装目标
|
|
312
|
-
- 展示当前目标的本地 skills 根目录、已安装项和可导入项
|
|
313
|
-
- 扫描 `Codex` / `Claude Code` / `Agents` 目录中的可导入来源
|
|
314
|
-
- 支持跨应用导入、ZIP 导入 / 导出、批量删除
|
|
315
|
-
|
|
316
|
-
### 设置标签页
|
|
317
|
-
- 支持切换分享命令前缀:`npm start` / `codexmate`
|
|
318
|
-
- 影响 Web UI 中复制出来的 provider 分享命令与 Claude 导入命令
|
|
319
|
-
|
|
320
|
-
## MCP
|
|
321
|
-
|
|
322
|
-
> 传输:`stdio`
|
|
323
|
-
|
|
324
|
-
- 传输:仅 `stdio`
|
|
325
|
-
- 默认:只读工具集
|
|
326
|
-
- 写入开启:`--allow-write` 或 `CODEXMATE_MCP_ALLOW_WRITE=1`
|
|
327
|
-
- 包含域:`tools`、`resources`、`prompts`
|
|
328
|
-
|
|
329
|
-
示例:
|
|
330
|
-
|
|
331
|
-
```bash
|
|
332
|
-
codexmate mcp serve --read-only
|
|
333
|
-
codexmate mcp serve --allow-write
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
## 配置文件
|
|
337
|
-
|
|
338
|
-
- `~/.codex/config.toml`
|
|
339
|
-
- `~/.codex/auth.json`
|
|
340
|
-
- `~/.codex/models.json`
|
|
341
|
-
- `~/.codex/provider-current-models.json`
|
|
342
|
-
- `~/.codex/codexmate-openai-bridge.json`
|
|
343
|
-
- `~/.claude/settings.json`
|
|
344
|
-
- `~/.claude/CLAUDE.md`
|
|
345
|
-
- `~/.openclaw/openclaw.json`
|
|
346
|
-
- `~/.openclaw/workspace/AGENTS.md`
|
|
347
|
-
|
|
348
|
-
## 环境变量
|
|
349
|
-
|
|
350
|
-
| 变量 | 默认值 | 说明 |
|
|
351
|
-
| --- | --- | --- |
|
|
352
|
-
| `CODEXMATE_PORT` | `3737` | Web 服务端口 |
|
|
353
|
-
| `CODEXMATE_HOST` | `0.0.0.0` | Web 服务监听地址(如需仅本机访问,显式设为 `127.0.0.1`) |
|
|
354
|
-
| `CODEXMATE_NO_BROWSER` | 未设置 | 设为 `1` 后不自动打开浏览器 |
|
|
355
|
-
| `CODEXMATE_MCP_ALLOW_WRITE` | 未设置 | 设为 `1` 后默认允许 MCP 写工具 |
|
|
356
|
-
| `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | 设为 `1` 时首次可强制重建托管配置 |
|
|
357
|
-
|
|
358
|
-
## 技术栈
|
|
359
|
-
|
|
360
|
-
- Node.js
|
|
361
|
-
- Vue.js 3(Web UI)
|
|
362
|
-
- 原生 HTTP Server
|
|
363
|
-
- `@iarna/toml`、`json5`
|
|
364
|
-
|
|
365
|
-
## 参与贡献
|
|
366
|
-
|
|
367
|
-
Issue 与 Pull Request 可按需提交。
|
|
368
|
-
|
|
369
|
-
## License
|
|
370
|
-
|
|
371
|
-
Apache-2.0
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="site/.vitepress/public/images/logo.png" alt="Codex Mate logo" width="160" />
|
|
4
|
+
|
|
5
|
+
# Codex Mate
|
|
6
|
+
|
|
7
|
+
**一站式本地 AI 编程智能体管理面板。统一管理 Codex、Claude Code 与 OpenClaw,支持 Provider 切换、会话管理与任务编排。纯本地优先,你的智能体控制中心。**
|
|
8
|
+
|
|
9
|
+
<p>
|
|
10
|
+
<a href="https://sakurabytecore.github.io/codexmate/">[项目文档]</a>
|
|
11
|
+
<a href="#快速开始">[快速开始]</a>
|
|
12
|
+
<a href="README.md">[English]</a>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
[](https://www.npmjs.com/package/codexmate)
|
|
16
|
+
[](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
|
|
17
|
+
[](https://www.npmjs.com/package/codexmate)
|
|
18
|
+
[](#快速开始)
|
|
19
|
+
[](https://nodejs.org/)
|
|
20
|
+
[](LICENSE)
|
|
21
|
+
[](https://github.com/SakuraByteCore/codexmate/stargazers)
|
|
22
|
+
[](https://github.com/SakuraByteCore/codexmate/issues)
|
|
23
|
+
|
|
24
|
+
<br />
|
|
25
|
+
|
|
26
|
+
<img src="site/.vitepress/public/images/readme-hero.png" alt="Codex Mate 界面预览" width="100%" />
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
> [!TIP]
|
|
33
|
+
> **本地优先**:所有配置和会话均存储在您的主目录中。无需遥测,无需云端账户。
|
|
34
|
+
|
|
35
|
+
> [!IMPORTANT]
|
|
36
|
+
> 本项目目前处于早期开发阶段。我们正在寻找开发者共同构建本地智能体生态!
|
|
37
|
+
|
|
38
|
+
## 什么是 Codex Mate?
|
|
39
|
+
|
|
40
|
+
你是否曾因管理多个本地 AI 智能体而感到疲惫?每个工具都有自己的配置格式、会话存储和 Skills 目录。
|
|
41
|
+
|
|
42
|
+
**Codex Mate** 提供了一个统一的控制平面,让混乱重归有序。这是一个本地优先的 CLI + Web UI,旨在无缝管理 [Codex](https://github.com/openai/codex)、[Claude Code](https://github.com/anthropic-ai/claude-code) 和 [OpenClaw](https://github.com/moeru-ai/openclaw)。
|
|
43
|
+
|
|
44
|
+
### 有什么独特之处?
|
|
45
|
+
|
|
46
|
+
不同于简单的封装,Codex Mate 充当了 **本地智能体桥接器**:
|
|
47
|
+
- **统一会话浏览器**:在一个地方搜索并导出所有工具的会话。
|
|
48
|
+
- **OpenAI 兼容桥接**:通过归一化 Responses API,让 Codex 能够与任何支持 OpenAI 格式的 UI 配合使用。
|
|
49
|
+
- **Skills 市场**:本地优先的市场,支持在不同的智能体应用之间共享和导入 Skills。
|
|
50
|
+
- **任务编排器**:支持带有依赖跟踪的复杂任务规划与执行。
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 当前进展
|
|
55
|
+
|
|
56
|
+
| 特性 | 状态 | 描述 |
|
|
57
|
+
| --- | --- | --- |
|
|
58
|
+
| **Provider 管理** | ✅ | 切换 Codex、Claude 和 OpenClaw 的 provider/model |
|
|
59
|
+
| **状态实时同步** | ✅ | 实时感知 Codex/Claude 的配置与运行状态变更 |
|
|
60
|
+
| **会话浏览器** | ✅ | 列表、筛选及导出会话 (Codex/Claude/Gemini) |
|
|
61
|
+
| **Usage 统计** | ✅ | 可视化消息趋势与热门项目统计 |
|
|
62
|
+
| **本地 Skills 市场** | ✅ | 跨应用的智能体 Skills 导入与导出 |
|
|
63
|
+
| **任务队列** | ✅ | 基于 DAG 的任务执行与日志查看 |
|
|
64
|
+
| **OpenAI 桥接** | ✅ | 将 Codex Responses API 转换为标准 OpenAI 格式 |
|
|
65
|
+
| **提示词模板** | ✅ | 支持变量的可复用提示词插件 |
|
|
66
|
+
| **MCP 集成** | ✅ | 通过 MCP stdio 暴露本地工具与资源 |
|
|
67
|
+
| **自动更新** | ✅ | 通过 `codexmate update` 快速更新 CLI |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 快速开始
|
|
72
|
+
|
|
73
|
+
### 通过 npm 安装
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npm install -g codexmate
|
|
77
|
+
codexmate setup
|
|
78
|
+
codexmate run
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 通过 curl 安装 (独立包)
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
curl -fsSL https://raw.githubusercontent.com/SakuraByteCore/codexmate/main/scripts/install.sh | bash
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 支持的智能体
|
|
88
|
+
|
|
89
|
+
- **Codex**: `npm install -g @openai/codex`
|
|
90
|
+
- **Claude Code**: `npm install -g @anthropic-ai/claude-code`
|
|
91
|
+
- **Gemini CLI**: `npm install -g @google/gemini-cli`
|
|
92
|
+
- **CodeBuddy**: `npm install -g @tencent-ai/codebuddy-code`
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 架构总览
|
|
97
|
+
|
|
98
|
+
```mermaid
|
|
99
|
+
%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%
|
|
100
|
+
flowchart TD
|
|
101
|
+
User([用户])
|
|
102
|
+
CLI[CLI 命令]
|
|
103
|
+
WebUI[Web 界面]
|
|
104
|
+
MCP[MCP 服务]
|
|
105
|
+
|
|
106
|
+
subgraph Mate [Codex Mate 核心]
|
|
107
|
+
API[HTTP API]
|
|
108
|
+
Config[配置引擎]
|
|
109
|
+
Session[会话管理器]
|
|
110
|
+
Skills[Skills 市场]
|
|
111
|
+
Tasks[任务运行器]
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
subgraph Local [本地文件系统]
|
|
115
|
+
CodexDir[~/.codex]
|
|
116
|
+
ClaudeDir[~/.claude]
|
|
117
|
+
ClawDir[~/.openclaw]
|
|
118
|
+
State[会话/Usage/回收站]
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
User --> CLI & WebUI & MCP
|
|
122
|
+
CLI & WebUI & MCP --> API
|
|
123
|
+
|
|
124
|
+
API --> Config & Session & Skills & Tasks
|
|
125
|
+
|
|
126
|
+
Config --> CodexDir & ClaudeDir & ClawDir
|
|
127
|
+
Session --> State
|
|
128
|
+
Skills --> Local
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 特别鸣谢
|
|
134
|
+
|
|
135
|
+
感谢所有贡献者对 Codex Mate 的辛勤付出 ❤️
|
|
136
|
+
|
|
137
|
+
<a href="https://github.com/SakuraByteCore/codexmate/graphs/contributors">
|
|
138
|
+
<img src="https://contrib.rocks/image?repo=SakuraByteCore/codexmate" />
|
|
139
|
+
</a>
|
|
140
|
+
|
|
141
|
+
## Star 历史
|
|
142
|
+
|
|
143
|
+
[](https://star-history.com/#SakuraByteCore/codexmate&Date)
|
|
144
|
+
|
|
145
|
+
## 开源协议
|
|
146
|
+
|
|
147
|
+
Apache-2.0
|