codexmate 0.0.4 → 0.0.6
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/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +17 -0
- package/.github/workflows/ci.yml +26 -0
- package/CHANGELOG.md +14 -0
- package/CHANGELOG.zh-CN.md +14 -0
- package/README.md +117 -74
- package/README.zh-CN.md +124 -77
- package/cli.js +2697 -675
- package/package.json +12 -5
- package/tests/e2e/recent-health.e2e.js +136 -0
- package/tests/e2e/run.js +357 -0
- package/web-ui.html +3036 -656
package/README.zh-CN.md
CHANGED
|
@@ -1,56 +1,68 @@
|
|
|
1
1
|
# Codex Mate
|
|
2
2
|
|
|
3
|
-
> 轻量级 AI
|
|
3
|
+
> 轻量级 AI 工具配置助手:快速切换 Codex 提供商/模型与 Claude Code 配置,并统一管理两者会话
|
|
4
4
|
|
|
5
5
|
[](https://github.com/ymkiux/codexmate/actions/workflows/release.yml) [](https://www.npmjs.com/package/codexmate) [](https://github.com/ymkiux/codexmate)
|
|
6
6
|
[](https://github.com/ymkiux/codexmate/commits) [](LICENSE) [](https://nodejs.org)
|
|
7
7
|
|
|
8
8
|
[English](README.md) | 中文
|
|
9
9
|
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
## 功能总览
|
|
10
|
+
## 概览
|
|
11
|
+
|
|
12
|
+
Codex Mate 让 Codex 与 Claude Code 的提供商/模型切换变成“一条命令或一次点击”,并在同一 Web 页面浏览、导出两者的本地会话记录。
|
|
13
|
+
|
|
14
|
+
## 你能获得什么
|
|
15
|
+
|
|
16
|
+
- 更快的模型/提供商切换
|
|
17
|
+
- 更可控的本地配置管理
|
|
18
|
+
- 可视化 Web 操作,降低命令行负担
|
|
19
|
+
- 配置变更可回溯、有备份
|
|
20
|
+
- Codex + Claude Code 统一会话浏览(查看/导出/可用时复制恢复命令)
|
|
21
|
+
|
|
22
|
+
## 功能总览
|
|
24
23
|
|
|
25
|
-
| 模块 | 解决的问题 | 关键能力 |
|
|
26
|
-
| --- | --- | --- |
|
|
27
|
-
| Codex 配置 | 多提供商/多模型切换麻烦 | 提供商/模型切换、模型管理、CLI + Web 双入口、模板确认写入 |
|
|
28
|
-
| Claude Code 配置 | 多方案共存、写入路径不统一 | 多配置方案管理、默认写入 `~/.claude/settings.json
|
|
29
|
-
| OpenClaw 配置 | OpenClaw 配置分散 | JSON5 多配置管理、应用到 `~/.openclaw/openclaw.json`、Workspace 指令文件管理 |
|
|
30
|
-
| 会话浏览 | 本地会话难以追踪 | 会话列表/筛选、Markdown
|
|
31
|
-
| 附属工具 | 压缩/解压需额外工具 |
|
|
24
|
+
| 模块 | 解决的问题 | 关键能力 |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| Codex 配置 | 多提供商/多模型切换麻烦 | 提供商/模型切换、模型管理、CLI + Web 双入口、模板确认写入 |
|
|
27
|
+
| Claude Code 配置 | 多方案共存、写入路径不统一 | 多配置方案管理、默认写入 `~/.claude/settings.json` |
|
|
28
|
+
| OpenClaw 配置 | OpenClaw 配置分散 | JSON5 多配置管理、应用到 `~/.openclaw/openclaw.json`、Workspace 指令文件管理 |
|
|
29
|
+
| 会话浏览 | 本地会话难以追踪 | 会话列表/筛选、Markdown 导出、可用时复制恢复命令、删除与批量清理 |
|
|
30
|
+
| 附属工具 | 压缩/解压需额外工具 | 优先 7-Zip,JS 库兜底 |
|
|
32
31
|
|
|
33
32
|
## 为什么选择 Codex Mate
|
|
34
33
|
|
|
35
|
-
- 聚焦三件事:Codex 提供商/模型切换 + Claude Code 配置应用 + OpenClaw 配置应用
|
|
34
|
+
- 聚焦三件事:Codex 提供商/模型切换 + Claude Code 配置应用 + OpenClaw 配置应用
|
|
36
35
|
- 本地优先:配置与 API Key 写入本地文件,不走云端
|
|
37
36
|
- 轻量好用:CLI + Web 双入口,无需安装桌面端
|
|
38
37
|
- 可回退:首次接管前自动备份旧配置
|
|
39
38
|
|
|
40
39
|
## 适用场景
|
|
41
40
|
|
|
42
|
-
- 频繁切换提供商/模型,想要一条命令完成
|
|
43
|
-
- 同时用 Codex 与 Claude Code,需要统一入口
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
41
|
+
- 频繁切换提供商/模型,想要一条命令完成
|
|
42
|
+
- 同时用 Codex 与 Claude Code,需要统一入口
|
|
43
|
+
- 需要浏览/导出本地会话记录,并在可用时复制恢复命令
|
|
44
|
+
- 使用 OpenClaw 多配置,希望快速切换
|
|
45
|
+
- 多项目/多环境切换,希望快速改写配置
|
|
46
|
+
- 想可视化改配置但又不想上大体量客户端
|
|
47
47
|
|
|
48
48
|
## 范围与边界
|
|
49
49
|
|
|
50
|
-
- 只做 Codex、Claude Code 与 OpenClaw 的配置管理,不做全量多工具一体化
|
|
50
|
+
- 只做 Codex、Claude Code 与 OpenClaw 的配置管理,不做全量多工具一体化
|
|
51
51
|
- 不内置代理/转发/费用面板/云同步(保持轻量)
|
|
52
52
|
- Web UI 仅在你启动时运行(`codexmate start`)
|
|
53
53
|
|
|
54
|
+
## 30 秒上手(免安装)
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx codexmate@latest status
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npx codexmate@latest start
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
然后在浏览器中打开 `http://localhost:3737`。
|
|
65
|
+
|
|
54
66
|
## 快速开始
|
|
55
67
|
|
|
56
68
|
1. 安装(全局):
|
|
@@ -63,18 +75,27 @@ npm install -g codexmate
|
|
|
63
75
|
npx codexmate@latest status
|
|
64
76
|
```
|
|
65
77
|
|
|
66
|
-
2.
|
|
78
|
+
2. 运行交互式配置向导:
|
|
79
|
+
```bash
|
|
80
|
+
codexmate setup
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
3. 查看当前状态:
|
|
67
84
|
```bash
|
|
68
85
|
codexmate status
|
|
69
86
|
```
|
|
70
87
|
|
|
71
|
-
|
|
88
|
+
4. 启动 Web 界面:
|
|
72
89
|
```bash
|
|
73
90
|
codexmate start
|
|
74
91
|
```
|
|
75
92
|
|
|
76
93
|
然后在浏览器中打开 `http://localhost:3737`。
|
|
77
94
|
|
|
95
|
+
## 竞品/替代
|
|
96
|
+
|
|
97
|
+
- cc-switch: https://github.com/farion1231/cc-switch
|
|
98
|
+
|
|
78
99
|
## 界面预览
|
|
79
100
|
|
|
80
101
|

|
|
@@ -89,10 +110,19 @@ npm install -g codexmate
|
|
|
89
110
|
|
|
90
111
|
npm 包名:`codexmate`。
|
|
91
112
|
|
|
113
|
+
若希望每次执行都能更新到最新特效功能,可使用 GitHub 源安装(重复执行即可更新):
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npm install -g ymkiux/codexmate
|
|
117
|
+
```
|
|
118
|
+
|
|
92
119
|
### 使用 npx(免安装)
|
|
93
120
|
|
|
94
121
|
```bash
|
|
95
122
|
npx codexmate@latest status
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```bash
|
|
96
126
|
npx codexmate@latest start
|
|
97
127
|
```
|
|
98
128
|
|
|
@@ -115,6 +145,7 @@ npm link
|
|
|
115
145
|
| 命令 | 说明 |
|
|
116
146
|
| --- | --- |
|
|
117
147
|
| `codexmate` | 查看帮助与可用命令 |
|
|
148
|
+
| `codexmate setup` | 交互式配置向导 |
|
|
118
149
|
| `codexmate status` | 查看当前状态 |
|
|
119
150
|
| `codexmate list` | 列出所有提供商 |
|
|
120
151
|
| `codexmate switch <提供商名称>` | 切换提供商 |
|
|
@@ -122,9 +153,10 @@ npm link
|
|
|
122
153
|
| `codexmate add <名称> <URL> [API密钥]` | 添加新提供商 |
|
|
123
154
|
| `codexmate delete <提供商名称>` | 删除提供商 |
|
|
124
155
|
| `codexmate models` | 列出所有模型 |
|
|
125
|
-
| `codexmate add-model <模型名称>` | 添加模型 |
|
|
126
|
-
| `codexmate delete-model <模型名称>` | 删除模型 |
|
|
127
|
-
| `codexmate start` | 启动 Web 界面 |
|
|
156
|
+
| `codexmate add-model <模型名称>` | 添加模型 |
|
|
157
|
+
| `codexmate delete-model <模型名称>` | 删除模型 |
|
|
158
|
+
| `codexmate start` | 启动 Web 界面 |
|
|
159
|
+
| `codexmate export-session --source <codex|claude> (--session-id <ID>|--file <PATH>) [--output <PATH>] [--max-messages <N|all|Infinity>]` | 导出指定会话为 Markdown |
|
|
128
160
|
|
|
129
161
|
## Web 界面
|
|
130
162
|
|
|
@@ -143,25 +175,25 @@ codexmate start
|
|
|
143
175
|
- 添加/删除自定义提供商
|
|
144
176
|
- 支持 Linux / Windows 环境下的 Codex 配置管理
|
|
145
177
|
|
|
146
|
-
### Claude Code 配置模式(Windows / macOS / Linux)
|
|
147
|
-
|
|
148
|
-
- 管理多个 Claude Code 配置方案
|
|
149
|
-
- 配置 API Key、Base URL 和模型
|
|
150
|
-
- 默认写入 `~/.claude/settings.json` 的 `env` 字段:`env.ANTHROPIC_API_KEY` / `env.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
### 会话浏览模式
|
|
178
|
+
### Claude Code 配置模式(Windows / macOS / Linux)
|
|
179
|
+
|
|
180
|
+
- 管理多个 Claude Code 配置方案
|
|
181
|
+
- 配置 API Key、Base URL 和模型
|
|
182
|
+
- 默认写入 `~/.claude/settings.json` 的 `env` 字段:`env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL`
|
|
183
|
+
|
|
184
|
+
### OpenClaw 配置模式
|
|
185
|
+
|
|
186
|
+
- 管理多个 OpenClaw JSON5 配置方案
|
|
187
|
+
- 应用到 `~/.openclaw/openclaw.json`
|
|
188
|
+
- 管理 OpenClaw Workspace 下的 `AGENTS.md`(默认 `~/.openclaw/workspace/AGENTS.md`)
|
|
189
|
+
|
|
190
|
+
### 会话浏览模式
|
|
160
191
|
|
|
161
192
|
- 在同一 Web 页面查看 Codex 与 Claude Code 的本地会话列表
|
|
162
193
|
- 支持按来源筛选(Codex / Claude / 全部)
|
|
163
194
|
- 支持按已有会话路径(cwd)筛选,选择后自动刷新
|
|
164
195
|
- 支持一键导出指定会话为 Markdown
|
|
196
|
+
- 支持在可用时复制恢复命令
|
|
165
197
|
- 支持删除指定会话(本地 jsonl 记录)
|
|
166
198
|
- 支持勾选多条会话并批量删除,部分失败会汇总提示
|
|
167
199
|
- 支持在会话详情内单条删除记录或多选批量删除记录(写回原始 jsonl)
|
|
@@ -183,15 +215,15 @@ codexmate start
|
|
|
183
215
|
- `codexmate-init.json` - 首次初始化标记(用于避免重复重置)
|
|
184
216
|
- `config.toml.codexmate-backup-*.bak` - 首次初始化时自动备份的旧配置(若存在)
|
|
185
217
|
|
|
186
|
-
Claude Code 配置应用涉及:
|
|
187
|
-
|
|
188
|
-
- `~/.claude/settings.json` - Claude Code 运行时配置(默认写入目标)
|
|
189
|
-
- `~/.claude/settings.json.codexmate-backup-*.bak` - 首次改写前自动备份(若存在旧文件)
|
|
190
|
-
|
|
191
|
-
OpenClaw 配置涉及:
|
|
192
|
-
|
|
193
|
-
- `~/.openclaw/openclaw.json` - OpenClaw 配置(JSON5)
|
|
194
|
-
- `~/.openclaw/workspace/AGENTS.md` - OpenClaw Workspace 指令文件
|
|
218
|
+
Claude Code 配置应用涉及:
|
|
219
|
+
|
|
220
|
+
- `~/.claude/settings.json` - Claude Code 运行时配置(默认写入目标)
|
|
221
|
+
- `~/.claude/settings.json.codexmate-backup-*.bak` - 首次改写前自动备份(若存在旧文件)
|
|
222
|
+
|
|
223
|
+
OpenClaw 配置涉及:
|
|
224
|
+
|
|
225
|
+
- `~/.openclaw/openclaw.json` - OpenClaw 配置(JSON5)
|
|
226
|
+
- `~/.openclaw/workspace/AGENTS.md` - OpenClaw Workspace 指令文件
|
|
195
227
|
|
|
196
228
|
## 首次运行初始化说明
|
|
197
229
|
|
|
@@ -211,34 +243,49 @@ codexmate add myapi https://api.example.com/v1 sk-your-api-key
|
|
|
211
243
|
codexmate switch myapi
|
|
212
244
|
```
|
|
213
245
|
|
|
214
|
-
### 切换到不同的模型
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
codexmate use gpt-4-turbo
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
###
|
|
246
|
+
### 切换到不同的模型
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
codexmate use gpt-4-turbo
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### 导出会话(CLI)
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
codexmate export-session --source codex --session-id 123456
|
|
256
|
+
codexmate export-session --source claude --file "~/.claude/projects/demo/session.jsonl" --max-messages=all
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
默认最多导出 1000 条消息;如需完整导出可用 `--max-messages=all`(或 `Infinity`)。
|
|
260
|
+
|
|
261
|
+
### 配置 Claude Code(跨平台)
|
|
221
262
|
|
|
222
263
|
1. 启动 Web 界面:`codexmate start`
|
|
223
264
|
2. 在浏览器中切换到 "Claude Code 配置" 模式
|
|
224
265
|
3. 添加配置方案(例如智谱 GLM):配置名称=智谱GLM,API Key=你的 API Key,Base URL=`https://open.bigmodel.cn/api/anthropic`,模型=`glm-4.7`
|
|
225
266
|
4. 点击配置卡片直接应用,或在编辑弹窗点击“保存并应用到 Claude 配置”
|
|
226
|
-
5. 默认写入 `~/.claude/settings.json
|
|
267
|
+
5. 默认写入 `~/.claude/settings.json`
|
|
227
268
|
6. 重启 Claude Code,新的配置即生效
|
|
228
269
|
|
|
229
|
-
### 启动 Web 界面
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
codexmate start
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
|
|
270
|
+
### 启动 Web 界面
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
codexmate start
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
默认仅监听 `127.0.0.1`。如需局域网访问,可用 `--host` 或 `CODEXMATE_HOST`:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
codexmate start --host 0.0.0.0
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
然后在浏览器中打开 `http://localhost:3737`(或你指定的地址)。注意:监听 `0.0.0.0` 在不可信网络下不安全。
|
|
236
283
|
|
|
237
284
|
## 常见问题
|
|
238
285
|
|
|
239
286
|
### Q: 支持哪些操作系统?
|
|
240
287
|
|
|
241
|
-
A: Codex 功能支持 Windows 和 Linux(CLI 与 Web)。Claude Code 配置应用默认支持 Windows / macOS / Linux(写入 `~/.claude/settings.json
|
|
288
|
+
A: Codex 功能支持 Windows 和 Linux(CLI 与 Web)。Claude Code 配置应用默认支持 Windows / macOS / Linux(写入 `~/.claude/settings.json`)。
|
|
242
289
|
|
|
243
290
|
### Q: API key 存储在哪里?
|
|
244
291
|
|
|
@@ -250,15 +297,15 @@ A: Web 界面运行在本地,所有操作都在本地完成。API key 在界
|
|
|
250
297
|
|
|
251
298
|
### Q: Claude Code 配置后如何生效?
|
|
252
299
|
|
|
253
|
-
A: 点击“应用到 Claude 配置”后会写入 `~/.claude/settings.json`,重启 Claude Code
|
|
300
|
+
A: 点击“应用到 Claude 配置”后会写入 `~/.claude/settings.json`,重启 Claude Code 即生效。
|
|
254
301
|
|
|
255
302
|
### Q: 如何卸载?
|
|
256
303
|
|
|
257
304
|
A: 运行 `npm uninstall -g codexmate`。
|
|
258
305
|
|
|
259
|
-
##
|
|
306
|
+
## 附属功能:压缩/解压
|
|
260
307
|
|
|
261
|
-
|
|
308
|
+
优先使用 7-Zip 多线程压缩/解压。缺失时回退内置 JS 库。
|
|
262
309
|
|
|
263
310
|
```bash
|
|
264
311
|
# 压缩文件或文件夹(默认压缩级别 5)
|
|
@@ -293,7 +340,7 @@ codexmate unzip ./my-project.zip
|
|
|
293
340
|
codexmate unzip ./backup.zip D:/restored
|
|
294
341
|
```
|
|
295
342
|
|
|
296
|
-
|
|
343
|
+
注意:7-Zip 非必需。未安装时使用内置 JS 库;`--max` 仅对 7-Zip 生效。
|
|
297
344
|
|
|
298
345
|
## 技术栈
|
|
299
346
|
|