codexmate 0.0.7 → 0.0.9
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/workflows/release.yml +122 -8
- package/.planning/.fix-attempts +1 -0
- package/.planning/.lock +6 -0
- package/.planning/.verify-cache.json +14 -0
- package/.planning/CHECKPOINT.json +46 -0
- package/.planning/DESIGN.md +26 -0
- package/.planning/HISTORY.json +124 -0
- package/.planning/PLAN.md +69 -0
- package/.planning/REVIEW.md +41 -0
- package/.planning/STATE.md +12 -0
- package/.planning/STATS.json +13 -0
- package/.planning/VERIFICATION.md +70 -0
- package/.planning/daude-code-plan.md +51 -0
- package/.planning/research/architecture.md +32 -0
- package/.planning/research/conventions.md +36 -0
- package/.planning/task_1-REVIEW.md +29 -0
- package/.planning/task_1-SUMMARY.md +32 -0
- package/.planning/task_2-REVIEW.md +24 -0
- package/.planning/task_2-SUMMARY.md +37 -0
- package/.planning/task_3-REVIEW.md +25 -0
- package/.planning/task_3-SUMMARY.md +31 -0
- package/README.md +58 -52
- package/README.zh-CN.md +68 -56
- package/cli.js +1142 -1427
- package/lib/cli-file-utils.js +151 -0
- package/lib/cli-models-utils.js +152 -0
- package/lib/cli-network-utils.js +148 -0
- package/lib/cli-session-utils.js +121 -0
- package/lib/cli-utils.js +139 -0
- package/package.json +4 -2
- package/res/json5.min.js +1 -0
- package/res/vue.global.js +18552 -0
- package/tests/e2e/helpers.js +214 -0
- package/tests/e2e/recent-health.e2e.js +6 -0
- package/tests/e2e/run.js +103 -306
- package/tests/e2e/test-claude.js +21 -0
- package/tests/e2e/test-config.js +124 -0
- package/tests/e2e/test-health-speed.js +79 -0
- package/tests/e2e/test-openclaw.js +47 -0
- package/tests/e2e/test-session-search.js +114 -0
- package/tests/e2e/test-sessions.js +69 -0
- package/tests/e2e/test-setup.js +159 -0
- package/tests/unit/run.mjs +29 -0
- package/tests/unit/web-ui-logic.test.mjs +186 -0
- package/web-ui/app.js +2841 -0
- package/web-ui/logic.mjs +157 -0
- package/web-ui.html +1045 -2996
package/README.zh-CN.md
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
[English](README.md) | 中文
|
|
9
9
|
|
|
10
|
+

|
|
11
|
+
|
|
10
12
|
## 概览
|
|
11
13
|
|
|
12
14
|
Codex Mate 让 Codex 与 Claude Code 的提供商/模型切换变成“一条命令或一次点击”,并在同一 Web 页面浏览、导出两者的本地会话记录。
|
|
@@ -19,6 +21,12 @@ Codex Mate 让 Codex 与 Claude Code 的提供商/模型切换变成“一条命
|
|
|
19
21
|
- 配置变更可回溯、有备份
|
|
20
22
|
- Codex + Claude Code 统一会话浏览(查看/导出/可用时复制恢复命令)
|
|
21
23
|
|
|
24
|
+
## 概览
|
|
25
|
+
|
|
26
|
+
一键切换 Codex/Claude Code 提供商与模型,并把本地会话统一管理/浏览/导出。
|
|
27
|
+
|
|
28
|
+
- 会话管理:列表/筛选/导出/删除 Codex/Claude 本地会话;关键词搜索支持 Codex/Claude
|
|
29
|
+
|
|
22
30
|
## 功能总览
|
|
23
31
|
|
|
24
32
|
| 模块 | 解决的问题 | 关键能力 |
|
|
@@ -26,30 +34,30 @@ Codex Mate 让 Codex 与 Claude Code 的提供商/模型切换变成“一条命
|
|
|
26
34
|
| Codex 配置 | 多提供商/多模型切换麻烦 | 提供商/模型切换、模型管理、CLI + Web 双入口、模板确认写入 |
|
|
27
35
|
| Claude Code 配置 | 多方案共存、写入路径不统一 | 多配置方案管理、默认写入 `~/.claude/settings.json` |
|
|
28
36
|
| OpenClaw 配置 | OpenClaw 配置分散 | JSON5 多配置管理、应用到 `~/.openclaw/openclaw.json`、Workspace 指令文件管理 |
|
|
29
|
-
| 会话浏览 | 本地会话难以追踪 |
|
|
37
|
+
| 会话浏览 | 本地会话难以追踪 | 会话列表/筛选、关键词搜索(支持 Codex/Claude)、Markdown 导出、可用时复制恢复命令、删除与批量清理 |
|
|
30
38
|
| 附属工具 | 压缩/解压需额外工具 | 优先 7-Zip,JS 库兜底 |
|
|
31
39
|
|
|
32
|
-
##
|
|
40
|
+
## 为什么选 Codex Mate
|
|
33
41
|
|
|
34
|
-
- 聚焦三件事:Codex
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
42
|
+
- 聚焦三件事:Codex 切换 + Claude Code 配置 + OpenClaw 配置
|
|
43
|
+
- 本地优先:配置与密钥落地本机
|
|
44
|
+
- 轻量:CLI + Web,无需桌面客户端
|
|
45
|
+
- 安全感:首次接管前自动备份
|
|
38
46
|
|
|
39
47
|
## 适用场景
|
|
40
48
|
|
|
41
|
-
-
|
|
49
|
+
- 频繁切换提供商/模型,想一条命令搞定
|
|
42
50
|
- 同时用 Codex 与 Claude Code,需要统一入口
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
51
|
+
- 浏览/导出本地会话记录,必要时复制恢复命令
|
|
52
|
+
- OpenClaw 多配置快速切换
|
|
53
|
+
- 多项目/多环境快速改写配置
|
|
54
|
+
- 想用可视化界面但不装笨重客户端
|
|
47
55
|
|
|
48
56
|
## 范围与边界
|
|
49
57
|
|
|
50
58
|
- 只做 Codex、Claude Code 与 OpenClaw 的配置管理,不做全量多工具一体化
|
|
51
59
|
- 不内置代理/转发/费用面板/云同步(保持轻量)
|
|
52
|
-
- Web UI 仅在你启动时运行(`codexmate
|
|
60
|
+
- Web UI 仅在你启动时运行(`codexmate run`)
|
|
53
61
|
|
|
54
62
|
## 30 秒上手(免安装)
|
|
55
63
|
|
|
@@ -58,7 +66,7 @@ npx codexmate@latest status
|
|
|
58
66
|
```
|
|
59
67
|
|
|
60
68
|
```bash
|
|
61
|
-
npx codexmate@latest
|
|
69
|
+
npx codexmate@latest run
|
|
62
70
|
```
|
|
63
71
|
|
|
64
72
|
然后在浏览器中打开 `http://localhost:3737`。
|
|
@@ -87,7 +95,7 @@ codexmate status
|
|
|
87
95
|
|
|
88
96
|
4. 启动 Web 界面:
|
|
89
97
|
```bash
|
|
90
|
-
codexmate
|
|
98
|
+
codexmate run
|
|
91
99
|
```
|
|
92
100
|
|
|
93
101
|
然后在浏览器中打开 `http://localhost:3737`。
|
|
@@ -96,10 +104,6 @@ codexmate start
|
|
|
96
104
|
|
|
97
105
|
- cc-switch: https://github.com/farion1231/cc-switch
|
|
98
106
|
|
|
99
|
-
## 界面预览
|
|
100
|
-
|
|
101
|
-

|
|
102
|
-
|
|
103
107
|
## 安装
|
|
104
108
|
|
|
105
109
|
### 全局安装(推荐)
|
|
@@ -123,7 +127,7 @@ npx codexmate@latest status
|
|
|
123
127
|
```
|
|
124
128
|
|
|
125
129
|
```bash
|
|
126
|
-
npx codexmate@latest
|
|
130
|
+
npx codexmate@latest run
|
|
127
131
|
```
|
|
128
132
|
|
|
129
133
|
### 从源码安装
|
|
@@ -152,18 +156,19 @@ npm link
|
|
|
152
156
|
| `codexmate use <模型名称>` | 切换模型 |
|
|
153
157
|
| `codexmate add <名称> <URL> [API密钥]` | 添加新提供商 |
|
|
154
158
|
| `codexmate delete <提供商名称>` | 删除提供商 |
|
|
159
|
+
| `codexmate claude <BaseURL> <API密钥> [模型]` | 一键写入 Claude Code 配置到 `~/.claude/settings.json` |
|
|
155
160
|
| `codexmate models` | 列出所有模型 |
|
|
156
|
-
| `codexmate add-model <模型名称>` | 添加模型 |
|
|
157
|
-
| `codexmate delete-model <模型名称>` | 删除模型 |
|
|
158
|
-
| `codexmate
|
|
159
|
-
| `codexmate export-session --source <codex|claude> (--session-id <ID>|--file <PATH>) [--output <PATH>] [--max-messages <N|all|Infinity>]` | 导出指定会话为 Markdown |
|
|
161
|
+
| `codexmate add-model <模型名称>` | 添加模型 |
|
|
162
|
+
| `codexmate delete-model <模型名称>` | 删除模型 |
|
|
163
|
+
| `codexmate run` | 启动 Web 界面 |
|
|
164
|
+
| `codexmate export-session --source <codex|claude> (--session-id <ID>|--file <PATH>) [--output <PATH>] [--max-messages <N|all|Infinity>]` | 导出指定会话为 Markdown |
|
|
160
165
|
|
|
161
166
|
## Web 界面
|
|
162
167
|
|
|
163
168
|
启动 Web 界面(自动打开浏览器):
|
|
164
169
|
|
|
165
170
|
```bash
|
|
166
|
-
codexmate
|
|
171
|
+
codexmate run
|
|
167
172
|
```
|
|
168
173
|
|
|
169
174
|
### Codex 配置模式
|
|
@@ -180,6 +185,13 @@ codexmate start
|
|
|
180
185
|
- 管理多个 Claude Code 配置方案
|
|
181
186
|
- 配置 API Key、Base URL 和模型
|
|
182
187
|
- 默认写入 `~/.claude/settings.json` 的 `env` 字段:`env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL`
|
|
188
|
+
- CLI 一行应用示例:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
codexmate claude https://api.example.com/v1 sk-ant-xxx claude-3-7-sonnet
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
- Web 界面中每个 Claude 配置卡片新增“分享导入命令”按钮,可复制一条 `codexmate claude <BaseURL> <API Key> <模型>` 命令便于分享。
|
|
183
195
|
|
|
184
196
|
### OpenClaw 配置模式
|
|
185
197
|
|
|
@@ -243,43 +255,43 @@ codexmate add myapi https://api.example.com/v1 sk-your-api-key
|
|
|
243
255
|
codexmate switch myapi
|
|
244
256
|
```
|
|
245
257
|
|
|
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(跨平台)
|
|
262
|
-
|
|
263
|
-
1. 启动 Web 界面:`codexmate
|
|
258
|
+
### 切换到不同的模型
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
codexmate use gpt-4-turbo
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### 导出会话(CLI)
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
codexmate export-session --source codex --session-id 123456
|
|
268
|
+
codexmate export-session --source claude --file "~/.claude/projects/demo/session.jsonl" --max-messages=all
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
默认最多导出 1000 条消息;如需完整导出可用 `--max-messages=all`(或 `Infinity`)。
|
|
272
|
+
|
|
273
|
+
### 配置 Claude Code(跨平台)
|
|
274
|
+
|
|
275
|
+
1. 启动 Web 界面:`codexmate run`
|
|
264
276
|
2. 在浏览器中切换到 "Claude Code 配置" 模式
|
|
265
277
|
3. 添加配置方案(例如智谱 GLM):配置名称=智谱GLM,API Key=你的 API Key,Base URL=`https://open.bigmodel.cn/api/anthropic`,模型=`glm-4.7`
|
|
266
278
|
4. 点击配置卡片直接应用,或在编辑弹窗点击“保存并应用到 Claude 配置”
|
|
267
279
|
5. 默认写入 `~/.claude/settings.json`
|
|
268
280
|
6. 重启 Claude Code,新的配置即生效
|
|
269
281
|
|
|
270
|
-
### 启动 Web 界面
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
codexmate
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
默认仅监听 `127.0.0.1`。如需局域网访问,可用 `--host` 或 `CODEXMATE_HOST`:
|
|
277
|
-
|
|
278
|
-
```bash
|
|
279
|
-
codexmate
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
然后在浏览器中打开 `http://localhost:3737`(或你指定的地址)。注意:监听 `0.0.0.0` 在不可信网络下不安全。
|
|
282
|
+
### 启动 Web 界面
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
codexmate run
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
默认仅监听 `127.0.0.1`。如需局域网访问,可用 `--host` 或 `CODEXMATE_HOST`:
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
codexmate run --host 0.0.0.0
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
然后在浏览器中打开 `http://localhost:3737`(或你指定的地址)。注意:监听 `0.0.0.0` 在不可信网络下不安全。
|
|
283
295
|
|
|
284
296
|
## 常见问题
|
|
285
297
|
|
|
@@ -351,7 +363,7 @@ codexmate unzip ./backup.zip D:/restored
|
|
|
351
363
|
|
|
352
364
|
## 发布(GitHub Actions)
|
|
353
365
|
|
|
354
|
-
创建与 `package.json` 版本一致的标签(例如 `v0.0.
|
|
366
|
+
创建与 `package.json` 版本一致的标签(例如 `v0.0.8`)。然后在 GitHub Actions 中手动运行 `release` 工作流并输入该标签,系统会创建 GitHub Release,并附带 `npm pack` 生成的 `.tgz` 产物。
|
|
355
367
|
|
|
356
368
|
## 许可证
|
|
357
369
|
|