codexmate 0.0.12 → 0.0.14
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.en.md +429 -0
- package/README.md +241 -203
- package/cli.js +10210 -0
- package/doc/CHANGELOG.md +14 -1
- package/doc/CHANGELOG.zh-CN.md +13 -0
- package/lib/cli-utils.js +16 -0
- package/lib/mcp-stdio.js +440 -0
- package/lib/workflow-engine.js +340 -0
- package/package.json +63 -53
- package/web-ui/app.js +1417 -14
- package/web-ui/index.html +585 -67
- package/web-ui/logic.mjs +147 -1
- package/web-ui/styles.css +1049 -66
- package/README.zh-CN.md +0 -397
- package/src/cli.js +0 -5464
- package/src/lib/cli-file-utils.js +0 -151
- package/src/lib/cli-models-utils.js +0 -152
- package/src/lib/cli-network-utils.js +0 -148
- package/src/lib/cli-session-utils.js +0 -121
- package/src/lib/cli-utils.js +0 -139
- package/src/res/json5.min.js +0 -1
- package/src/res/logo.png +0 -0
- package/src/res/screenshot.png +0 -0
- package/src/res/vue.global.js +0 -18552
- package/src/web-ui/app.js +0 -2970
- package/src/web-ui/index.html +0 -1310
- package/src/web-ui/logic.mjs +0 -157
- package/src/web-ui/styles.css +0 -2868
- /package/{src/web-ui.html → web-ui.html} +0 -0
package/README.md
CHANGED
|
@@ -12,380 +12,418 @@
|
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
[](https://nodejs.org)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
**轻量级 AI 配置助手:快速切换 Codex 提供商/模型与 Claude Code 配置,统一浏览本地会话**
|
|
16
16
|
|
|
17
17
|
</div>
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
<p align="center"
|
|
21
|
+
<p align="center">中文 · <a href="README.en.md">English</a></p>
|
|
22
22
|
|
|
23
23
|

|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## 概览
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Codex Mate 让 Codex 与 Claude Code 的提供商/模型切换变成“一条命令或一次点击”,并在同一 Web 页面浏览、导出两者的本地会话记录。
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## 60 秒上手(源码一行安装)
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
- Local config control with backups
|
|
33
|
-
- Lightweight Web UI instead of heavy clients
|
|
34
|
-
- Unified session browser (view/export/resume when available)
|
|
35
|
-
- Session management: list/filter/export/delete local sessions; keyword search supports Codex and Claude
|
|
36
|
-
- New in 0.0.9: Claude sessions are searchable by keywords (e.g., `claude code`, `claude-code`, numeric tokens)
|
|
31
|
+
环境要求:`Node.js >= 14`、`Git`
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
| --- | --- | --- |
|
|
42
|
-
| Codex Config | Switching providers/models is painful | Provider/model switching, model management, CLI + Web entry points, template-confirmed writes |
|
|
43
|
-
| Claude Code Config | Multiple profiles and inconsistent write paths | Profile management, default write to `~/.claude/settings.json` |
|
|
44
|
-
| OpenClaw Config | OpenClaw configs are scattered | JSON5 profiles, apply to `~/.openclaw/openclaw.json`, AGENTS workspace management |
|
|
45
|
-
| Session Browser | Local sessions are hard to track | List/filter sessions, keyword search (Codex + Claude), export to Markdown, copy resume command (when available), delete and batch cleanup |
|
|
46
|
-
| Utilities | Compression/extraction requires extra tools | 7-Zip preferred, JS fallback |
|
|
47
|
-
|
|
48
|
-
## Why Codex Mate
|
|
49
|
-
|
|
50
|
-
- Focused on three jobs: Codex provider/model switching + Claude Code config apply + OpenClaw config apply
|
|
51
|
-
- Local-first: configs and API keys are written to local files, not the cloud
|
|
52
|
-
- Lightweight: CLI + Web, no desktop app required
|
|
53
|
-
- Reversible: auto-backup before first takeover
|
|
54
|
-
|
|
55
|
-
## Use Cases
|
|
56
|
-
|
|
57
|
-
- Frequent provider/model switching, want a one-command flow
|
|
58
|
-
- Use both Codex and Claude Code, want a single entry point
|
|
59
|
-
- Need to browse/export local Codex + Claude Code sessions and copy resume commands when available
|
|
60
|
-
- Use OpenClaw with multiple profiles, want quick switching
|
|
61
|
-
- Multi-project or multi-environment setups that need quick config changes
|
|
62
|
-
- Want a visual UI without a heavy client
|
|
63
|
-
|
|
64
|
-
## Scope and Boundaries
|
|
33
|
+
```bash
|
|
34
|
+
git clone https://github.com/ymkiux/codexmate.git && cd codexmate && npm install && npm link && codexmate run
|
|
35
|
+
```
|
|
65
36
|
|
|
66
|
-
|
|
67
|
-
- No built-in proxy/relay/billing dashboard/cloud sync (kept lightweight)
|
|
68
|
-
- Web UI runs only when you start it (`codexmate run`)
|
|
37
|
+
浏览器打开 `http://localhost:3737`。
|
|
69
38
|
|
|
70
|
-
|
|
39
|
+
首次使用建议再执行:
|
|
71
40
|
|
|
72
41
|
```bash
|
|
73
|
-
|
|
42
|
+
codexmate setup
|
|
43
|
+
codexmate status
|
|
74
44
|
```
|
|
75
45
|
|
|
46
|
+
如果你只想临时试用,可直接用:
|
|
47
|
+
|
|
76
48
|
```bash
|
|
77
49
|
npx codexmate@latest run
|
|
78
50
|
```
|
|
79
51
|
|
|
80
|
-
|
|
52
|
+
## 三条高频路径
|
|
81
53
|
|
|
82
|
-
|
|
54
|
+
1. 快速切换 Codex 提供商与模型
|
|
83
55
|
|
|
84
|
-
1. Install (global):
|
|
85
56
|
```bash
|
|
86
|
-
|
|
57
|
+
codexmate switch <提供商>
|
|
58
|
+
codexmate use <模型>
|
|
87
59
|
```
|
|
88
60
|
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
npx codexmate@latest status
|
|
92
|
-
```
|
|
61
|
+
2. 一行写入 Claude Code 配置
|
|
93
62
|
|
|
94
|
-
2. Run the interactive setup:
|
|
95
63
|
```bash
|
|
96
|
-
codexmate
|
|
64
|
+
codexmate claude <BaseURL> <API_KEY> <模型>
|
|
97
65
|
```
|
|
98
66
|
|
|
99
|
-
3.
|
|
100
|
-
```bash
|
|
101
|
-
codexmate status
|
|
102
|
-
```
|
|
67
|
+
3. 导出本地会话到 Markdown
|
|
103
68
|
|
|
104
|
-
4. Start the Web UI:
|
|
105
69
|
```bash
|
|
106
|
-
codexmate
|
|
70
|
+
codexmate export-session --source codex --session-id <ID>
|
|
107
71
|
```
|
|
108
72
|
|
|
109
|
-
|
|
73
|
+
## 核心命令(最常用)
|
|
74
|
+
|
|
75
|
+
| 目标 | 命令 |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
| 查看当前状态 | `codexmate status` |
|
|
78
|
+
| 启动 Web UI | `codexmate run` |
|
|
79
|
+
| 交互式初始化 | `codexmate setup` |
|
|
80
|
+
| 查看提供商/模型 | `codexmate list` / `codexmate models` |
|
|
81
|
+
| 切换提供商/模型 | `codexmate switch <提供商>` / `codexmate use <模型>` |
|
|
82
|
+
| 写入 Claude 配置 | `codexmate claude <BaseURL> <API_KEY> [模型]` |
|
|
83
|
+
| 导出会话 | `codexmate export-session --source <codex|claude> ...` |
|
|
84
|
+
|
|
85
|
+
## 你能获得什么
|
|
86
|
+
|
|
87
|
+
- 更快的模型/提供商切换
|
|
88
|
+
- 更可控的本地配置管理
|
|
89
|
+
- 可视化 Web 操作,降低命令行负担
|
|
90
|
+
- 配置变更可回溯、有备份
|
|
91
|
+
- Codex + Claude Code 统一会话浏览(查看/导出/可用时复制恢复命令)
|
|
92
|
+
- 0.0.10 新增:Claude 会话支持关键词搜索(含 `claude code` / `claude-code` / 数字关键词)
|
|
93
|
+
- 0.0.14 新增:Skills 管理弹窗加入统计概览、筛选区优化与更细滚动条
|
|
94
|
+
|
|
95
|
+
## 功能总览
|
|
96
|
+
|
|
97
|
+
| 模块 | 解决的问题 | 关键能力 |
|
|
98
|
+
| --- | --- | --- |
|
|
99
|
+
| Codex 配置 | 多提供商/多模型切换麻烦 | 提供商/模型切换、模型管理、CLI + Web 双入口、模板确认写入 |
|
|
100
|
+
| Skills 管理 | 本地自定义 skills 分散且难排查 | Skills 弹窗统计概览、关键词/状态筛选、多选删除、跨应用扫描导入 |
|
|
101
|
+
| Claude Code 配置 | 多方案共存、写入路径不统一 | 多配置方案管理、默认写入 `~/.claude/settings.json` |
|
|
102
|
+
| OpenClaw 配置 | OpenClaw 配置分散 | JSON5 多配置管理、应用到 `~/.openclaw/openclaw.json`、Workspace 指令文件管理 |
|
|
103
|
+
| 会话浏览 | 本地会话难以追踪 | 会话列表/筛选、关键词搜索(支持 Codex/Claude)、Markdown 导出、可用时复制恢复命令、删除与批量清理 |
|
|
104
|
+
| 附属工具 | 压缩/解压需额外工具 | 优先 7-Zip,JS 库兜底 |
|
|
105
|
+
|
|
106
|
+
## 为什么选 Codex Mate
|
|
107
|
+
|
|
108
|
+
- 聚焦三件事:Codex 切换 + Claude Code 配置 + OpenClaw 配置
|
|
109
|
+
- 本地优先:配置与密钥落地本机
|
|
110
|
+
- 轻量:CLI + Web,无需桌面客户端
|
|
111
|
+
- 安全感:首次接管前自动备份
|
|
112
|
+
|
|
113
|
+
## 范围与边界
|
|
114
|
+
|
|
115
|
+
- 只做 Codex、Claude Code 与 OpenClaw 的配置管理,不做全量多工具一体化
|
|
116
|
+
- 不内置代理/转发/费用面板/云同步(保持轻量)
|
|
117
|
+
- Web UI 仅在你启动时运行(`codexmate run`)
|
|
110
118
|
|
|
111
|
-
##
|
|
119
|
+
## 竞品/替代
|
|
112
120
|
|
|
113
121
|
- cc-switch: https://github.com/farion1231/cc-switch
|
|
114
122
|
|
|
115
|
-
##
|
|
123
|
+
## 安装
|
|
116
124
|
|
|
117
|
-
###
|
|
125
|
+
### 从源码安装(推荐,一行命令)
|
|
118
126
|
|
|
119
127
|
```bash
|
|
120
|
-
npm install
|
|
128
|
+
git clone https://github.com/ymkiux/codexmate.git && cd codexmate && npm install && npm link
|
|
121
129
|
```
|
|
122
130
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
Want to update to the latest effects features each time? Install from GitHub (re-run to update):
|
|
131
|
+
安装完成后建议先验证:
|
|
126
132
|
|
|
127
133
|
```bash
|
|
128
|
-
|
|
134
|
+
codexmate status
|
|
135
|
+
codexmate run
|
|
129
136
|
```
|
|
130
137
|
|
|
131
|
-
###
|
|
138
|
+
### 使用 npx(免安装)
|
|
132
139
|
|
|
133
140
|
```bash
|
|
134
141
|
npx codexmate@latest status
|
|
142
|
+
npx codexmate@latest run
|
|
135
143
|
```
|
|
136
144
|
|
|
145
|
+
### 全局安装(npm)
|
|
146
|
+
|
|
137
147
|
```bash
|
|
138
|
-
|
|
148
|
+
npm install -g codexmate
|
|
139
149
|
```
|
|
140
150
|
|
|
141
|
-
|
|
151
|
+
npm 包名:`codexmate`。若希望每次执行都更新到仓库最新版本,可使用:
|
|
142
152
|
|
|
143
153
|
```bash
|
|
144
|
-
|
|
145
|
-
cd codexmate
|
|
146
|
-
npm install
|
|
147
|
-
npm link
|
|
154
|
+
npm install -g ymkiux/codexmate
|
|
148
155
|
```
|
|
149
156
|
|
|
150
|
-
###
|
|
157
|
+
### 环境要求
|
|
151
158
|
|
|
152
159
|
- Node.js >= 14
|
|
153
|
-
- Windows / macOS / Linux
|
|
160
|
+
- 支持 Windows / macOS / Linux
|
|
154
161
|
|
|
155
|
-
##
|
|
162
|
+
## 命令行速查
|
|
156
163
|
|
|
157
|
-
|
|
|
164
|
+
| 命令 | 说明 |
|
|
158
165
|
| --- | --- |
|
|
159
|
-
| `codexmate` |
|
|
160
|
-
| `codexmate setup` |
|
|
161
|
-
| `codexmate status` |
|
|
162
|
-
| `codexmate list` |
|
|
163
|
-
| `codexmate switch
|
|
164
|
-
| `codexmate use
|
|
165
|
-
| `codexmate add
|
|
166
|
-
| `codexmate delete
|
|
167
|
-
| `codexmate claude <BaseURL> <API
|
|
168
|
-
| `codexmate models` |
|
|
169
|
-
| `codexmate add-model
|
|
170
|
-
| `codexmate delete-model
|
|
171
|
-
| `codexmate run` |
|
|
172
|
-
| `codexmate
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
166
|
+
| `codexmate` | 查看帮助与可用命令 |
|
|
167
|
+
| `codexmate setup` | 交互式配置向导 |
|
|
168
|
+
| `codexmate status` | 查看当前状态 |
|
|
169
|
+
| `codexmate list` | 列出所有提供商 |
|
|
170
|
+
| `codexmate switch <提供商名称>` | 切换提供商 |
|
|
171
|
+
| `codexmate use <模型名称>` | 切换模型 |
|
|
172
|
+
| `codexmate add <名称> <URL> [API密钥]` | 添加新提供商 |
|
|
173
|
+
| `codexmate delete <提供商名称>` | 删除提供商 |
|
|
174
|
+
| `codexmate claude <BaseURL> <API密钥> [模型]` | 一键写入 Claude Code 配置到 `~/.claude/settings.json` |
|
|
175
|
+
| `codexmate models` | 列出所有模型 |
|
|
176
|
+
| `codexmate add-model <模型名称>` | 添加模型 |
|
|
177
|
+
| `codexmate delete-model <模型名称>` | 删除模型 |
|
|
178
|
+
| `codexmate run` | 启动 Web 界面 |
|
|
179
|
+
| `codexmate mcp [serve] [--transport stdio] [--allow-write\|--read-only]` | 启动 MCP stdio 服务(默认只读) |
|
|
180
|
+
| `codexmate export-session --source <codex|claude> (--session-id <ID>|--file <PATH>) [--output <PATH>] [--max-messages <N|all|Infinity>]` | 导出指定会话为 Markdown |
|
|
181
|
+
|
|
182
|
+
## MCP(stdio)
|
|
183
|
+
|
|
184
|
+
- 传输方式:仅支持 `stdio`
|
|
185
|
+
- 默认模式:只读工具集
|
|
186
|
+
- 写入工具开启方式:`--allow-write` 或 `CODEXMATE_MCP_ALLOW_WRITE=1`
|
|
187
|
+
- `codexmate.claude.settings.get` 的敏感字段默认脱敏返回
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# 只读(推荐给外部 Agent 接入)
|
|
191
|
+
codexmate mcp serve --read-only
|
|
192
|
+
|
|
193
|
+
# 显式开启写工具
|
|
194
|
+
codexmate mcp serve --allow-write
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
当前提供的 MCP 能力:
|
|
198
|
+
|
|
199
|
+
- `tools`:状态/提供商/模型/会话/认证/代理/配置等操作
|
|
200
|
+
- `resources`:status/providers/sessions 快照资源
|
|
201
|
+
- `prompts`:诊断/安全切换/会话导出模板
|
|
202
|
+
|
|
203
|
+
## Web 界面
|
|
204
|
+
|
|
205
|
+
启动 Web 界面(自动打开浏览器):
|
|
177
206
|
|
|
178
207
|
```bash
|
|
179
208
|
codexmate run
|
|
180
209
|
```
|
|
181
210
|
|
|
182
|
-
### Codex
|
|
211
|
+
### Codex 配置模式
|
|
183
212
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
213
|
+
- 查看当前提供商和模型状态
|
|
214
|
+
- 快速切换提供商与模型
|
|
215
|
+
- 管理可用模型列表
|
|
216
|
+
- 编辑 `~/.codex/AGENTS.md` 指令文件(与 `config.toml` 同级)
|
|
217
|
+
- 打开 `~/.codex/skills` 的 Skills 管理弹窗(统计概览、关键词/状态筛选、多选删除、跨应用扫描导入)
|
|
218
|
+
- 添加/删除自定义提供商
|
|
219
|
+
- 支持 Linux / Windows 环境下的 Codex 配置管理
|
|
190
220
|
|
|
191
|
-
###
|
|
221
|
+
### Skills 管理弹窗
|
|
192
222
|
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
223
|
+
- 提供 `总数 / 含 SKILL.md / 缺少 SKILL.md / 可导入` 四项统计,便于快速盘点
|
|
224
|
+
- 支持按目录名、显示名、描述关键词检索,并支持 `SKILL.md` 状态筛选
|
|
225
|
+
- 支持本地 skills 多选后批量删除
|
|
226
|
+
- 支持扫描其他应用中未托管 skill,并勾选后批量导入
|
|
227
|
+
|
|
228
|
+
### Claude Code 配置模式(Windows / macOS / Linux)
|
|
229
|
+
|
|
230
|
+
- 管理多个 Claude Code 配置方案
|
|
231
|
+
- 配置 API Key、Base URL 和模型
|
|
232
|
+
- 默认写入 `~/.claude/settings.json` 的 `env` 字段:`env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL`
|
|
233
|
+
- CLI 一行应用示例:
|
|
197
234
|
|
|
198
235
|
```bash
|
|
199
236
|
codexmate claude https://api.example.com/v1 sk-ant-xxx claude-3-7-sonnet
|
|
200
237
|
```
|
|
201
238
|
|
|
202
|
-
-
|
|
239
|
+
- Web 界面中每个 Claude 配置卡片新增“分享导入命令”按钮,可复制一条 `codexmate claude <BaseURL> <API Key> <模型>` 命令便于分享。
|
|
203
240
|
|
|
204
|
-
### OpenClaw
|
|
241
|
+
### OpenClaw 配置模式
|
|
205
242
|
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
-
|
|
243
|
+
- 管理多个 OpenClaw JSON5 配置方案
|
|
244
|
+
- 应用到 `~/.openclaw/openclaw.json`
|
|
245
|
+
- 管理 OpenClaw Workspace 下的 `AGENTS.md`(默认 `~/.openclaw/workspace/AGENTS.md`)
|
|
209
246
|
|
|
210
|
-
###
|
|
247
|
+
### 会话浏览模式
|
|
211
248
|
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
249
|
+
- 在同一 Web 页面查看 Codex 与 Claude Code 的本地会话列表
|
|
250
|
+
- 支持按来源筛选(Codex / Claude / 全部)
|
|
251
|
+
- 支持按已有会话路径(cwd)筛选,选择后自动刷新
|
|
252
|
+
- 支持一键导出指定会话为 Markdown
|
|
253
|
+
- 支持在可用时复制恢复命令
|
|
254
|
+
- 支持删除指定会话(本地 jsonl 记录)
|
|
255
|
+
- 支持勾选多条会话并批量删除,部分失败会汇总提示
|
|
256
|
+
- 支持在会话详情内单条删除记录或多选批量删除记录(写回原始 jsonl)
|
|
220
257
|
|
|
221
|
-
### Codex
|
|
258
|
+
### Codex 模板确认模式
|
|
222
259
|
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
-
|
|
260
|
+
- Web 中的 Codex 配置改动默认进入 `config.toml` 模板编辑器
|
|
261
|
+
- 仅在用户点击“确认应用模板”后才写入 `config.toml`
|
|
262
|
+
- 不再通过前端一键操作直接改写 `config.toml`
|
|
226
263
|
|
|
227
|
-
##
|
|
264
|
+
## 配置文件
|
|
228
265
|
|
|
229
|
-
|
|
266
|
+
配置文件位于 `~/.codex/` 目录:
|
|
230
267
|
|
|
231
|
-
- `config.toml` - Codex
|
|
232
|
-
- `auth.json` - API
|
|
233
|
-
- `models.json` -
|
|
234
|
-
- `provider-current-models.json` -
|
|
235
|
-
- `codexmate-init.json` -
|
|
236
|
-
- `config.toml.codexmate-backup-*.bak` -
|
|
268
|
+
- `config.toml` - Codex 主配置文件
|
|
269
|
+
- `auth.json` - API 认证信息
|
|
270
|
+
- `models.json` - 可用模型列表
|
|
271
|
+
- `provider-current-models.json` - 提供商当前模型配置
|
|
272
|
+
- `codexmate-init.json` - 首次初始化标记(用于避免重复重置)
|
|
273
|
+
- `config.toml.codexmate-backup-*.bak` - 首次初始化时自动备份的旧配置(若存在)
|
|
237
274
|
|
|
238
|
-
Claude Code
|
|
275
|
+
Claude Code 配置应用涉及:
|
|
239
276
|
|
|
240
|
-
- `~/.claude/settings.json` -
|
|
241
|
-
- `~/.claude/settings.json.codexmate-backup-*.bak` -
|
|
277
|
+
- `~/.claude/settings.json` - Claude Code 运行时配置(默认写入目标)
|
|
278
|
+
- `~/.claude/settings.json.codexmate-backup-*.bak` - 首次改写前自动备份(若存在旧文件)
|
|
242
279
|
|
|
243
|
-
OpenClaw
|
|
280
|
+
OpenClaw 配置涉及:
|
|
244
281
|
|
|
245
|
-
- `~/.openclaw/openclaw.json` - OpenClaw
|
|
246
|
-
- `~/.openclaw/workspace/AGENTS.md` - OpenClaw
|
|
282
|
+
- `~/.openclaw/openclaw.json` - OpenClaw 配置(JSON5)
|
|
283
|
+
- `~/.openclaw/workspace/AGENTS.md` - OpenClaw Workspace 指令文件
|
|
247
284
|
|
|
248
|
-
##
|
|
285
|
+
## 首次运行初始化说明
|
|
249
286
|
|
|
250
|
-
|
|
287
|
+
首次运行 `codexmate` 且检测到已有 `~/.codex/config.toml` 且不是 Codex Mate 管理的配置时,会发生以下行为:
|
|
251
288
|
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
255
|
-
-
|
|
289
|
+
- 会先自动备份原文件为 `config.toml.codexmate-backup-时间戳.bak`
|
|
290
|
+
- 默认保留原 `config.toml` 不覆盖,并写入初始化标记
|
|
291
|
+
- 仅在显式设置环境变量 `CODEXMATE_FORCE_RESET_EXISTING_CONFIG=1` 时,才会重建默认配置
|
|
292
|
+
- 后续运行不会重复处理,避免影响已稳定使用的用户配置
|
|
256
293
|
|
|
257
|
-
##
|
|
294
|
+
## 使用示例
|
|
258
295
|
|
|
259
|
-
###
|
|
296
|
+
### 添加自定义 API 提供商
|
|
260
297
|
|
|
261
298
|
```bash
|
|
262
299
|
codexmate add myapi https://api.example.com/v1 sk-your-api-key
|
|
263
300
|
codexmate switch myapi
|
|
264
301
|
```
|
|
265
302
|
|
|
266
|
-
###
|
|
303
|
+
### 切换到不同的模型
|
|
267
304
|
|
|
268
305
|
```bash
|
|
269
306
|
codexmate use gpt-4-turbo
|
|
270
307
|
```
|
|
271
308
|
|
|
272
|
-
###
|
|
309
|
+
### 导出会话(CLI)
|
|
273
310
|
|
|
274
311
|
```bash
|
|
275
312
|
codexmate export-session --source codex --session-id 123456
|
|
276
313
|
codexmate export-session --source claude --file "~/.claude/projects/demo/session.jsonl" --max-messages=all
|
|
277
314
|
```
|
|
278
315
|
|
|
279
|
-
|
|
316
|
+
默认最多导出 1000 条消息;如需完整导出可用 `--max-messages=all`(或 `Infinity`)。
|
|
280
317
|
|
|
281
|
-
###
|
|
318
|
+
### 配置 Claude Code(跨平台)
|
|
282
319
|
|
|
283
|
-
1.
|
|
284
|
-
2.
|
|
285
|
-
3.
|
|
286
|
-
4.
|
|
287
|
-
5.
|
|
288
|
-
6.
|
|
320
|
+
1. 启动 Web 界面:`codexmate run`
|
|
321
|
+
2. 在浏览器中切换到 "Claude Code 配置" 模式
|
|
322
|
+
3. 添加配置方案(例如智谱 GLM):配置名称=智谱GLM,API Key=你的 API Key,Base URL=`https://open.bigmodel.cn/api/anthropic`,模型=`glm-4.7`
|
|
323
|
+
4. 点击配置卡片直接应用,或在编辑弹窗点击“保存并应用到 Claude 配置”
|
|
324
|
+
5. 默认写入 `~/.claude/settings.json`
|
|
325
|
+
6. 重启 Claude Code,新的配置即生效
|
|
289
326
|
|
|
290
|
-
###
|
|
327
|
+
### 启动 Web 界面
|
|
291
328
|
|
|
292
329
|
```bash
|
|
293
330
|
codexmate run
|
|
294
331
|
```
|
|
295
332
|
|
|
296
|
-
|
|
333
|
+
默认仅监听 `127.0.0.1`。如需局域网访问,可用 `--host` 或 `CODEXMATE_HOST`:
|
|
297
334
|
|
|
298
335
|
```bash
|
|
299
336
|
codexmate run --host 0.0.0.0
|
|
300
337
|
```
|
|
301
338
|
|
|
302
|
-
|
|
339
|
+
然后在浏览器中打开 `http://localhost:3737`(或你指定的地址)。注意:监听 `0.0.0.0` 在不可信网络下不安全。
|
|
303
340
|
|
|
304
|
-
##
|
|
341
|
+
## 常见问题
|
|
305
342
|
|
|
306
|
-
### Q:
|
|
343
|
+
### Q: 支持哪些操作系统?
|
|
307
344
|
|
|
308
|
-
A: Codex
|
|
345
|
+
A: Codex 功能支持 Windows 和 Linux(CLI 与 Web)。Claude Code 配置应用默认支持 Windows / macOS / Linux(写入 `~/.claude/settings.json`)。
|
|
309
346
|
|
|
310
|
-
### Q:
|
|
347
|
+
### Q: API key 存储在哪里?
|
|
311
348
|
|
|
312
|
-
A: API
|
|
349
|
+
A: API key 存储在本地配置文件 `~/.codex/config.toml` 中,不会上传到任何服务器。
|
|
313
350
|
|
|
314
|
-
### Q:
|
|
351
|
+
### Q: Web 界面安全吗?
|
|
315
352
|
|
|
316
|
-
A:
|
|
353
|
+
A: Web 界面运行在本地,所有操作都在本地完成。API key 在界面中仅显示脱敏版本。
|
|
317
354
|
|
|
318
|
-
### Q:
|
|
355
|
+
### Q: Claude Code 配置后如何生效?
|
|
319
356
|
|
|
320
|
-
A:
|
|
357
|
+
A: 点击“应用到 Claude 配置”后会写入 `~/.claude/settings.json`,重启 Claude Code 即生效。
|
|
321
358
|
|
|
322
|
-
### Q:
|
|
359
|
+
### Q: 如何卸载?
|
|
323
360
|
|
|
324
|
-
A:
|
|
361
|
+
A: 运行 `npm uninstall -g codexmate`。
|
|
325
362
|
|
|
326
|
-
##
|
|
363
|
+
## 附属功能:压缩/解压
|
|
327
364
|
|
|
328
|
-
|
|
365
|
+
优先使用 7-Zip 多线程压缩/解压。缺失时回退内置 JS 库。
|
|
329
366
|
|
|
330
367
|
```bash
|
|
331
|
-
#
|
|
332
|
-
codexmate zip
|
|
368
|
+
# 压缩文件或文件夹(默认压缩级别 5)
|
|
369
|
+
codexmate zip <文件或文件夹路径>
|
|
333
370
|
|
|
334
|
-
#
|
|
335
|
-
codexmate zip
|
|
371
|
+
# 指定压缩级别(0-9,0=仅存储,9=极限压缩)
|
|
372
|
+
codexmate zip <路径> --max:9
|
|
336
373
|
|
|
337
|
-
#
|
|
338
|
-
codexmate unzip <zip
|
|
374
|
+
# 解压 zip 文件(默认解压到同级目录下同名文件夹)
|
|
375
|
+
codexmate unzip <zip文件路径>
|
|
339
376
|
|
|
340
|
-
#
|
|
341
|
-
codexmate unzip <zip
|
|
377
|
+
# 解压到指定目录
|
|
378
|
+
codexmate unzip <zip文件路径> <输出目录>
|
|
342
379
|
```
|
|
343
380
|
|
|
344
|
-
|
|
381
|
+
使用示例:
|
|
345
382
|
|
|
346
383
|
```bash
|
|
347
|
-
#
|
|
384
|
+
# 压缩项目文件夹
|
|
348
385
|
codexmate zip ./my-project
|
|
349
386
|
|
|
350
|
-
#
|
|
387
|
+
# 极限压缩
|
|
351
388
|
codexmate zip ./my-project --max:9
|
|
352
389
|
|
|
353
|
-
#
|
|
390
|
+
# 快速压缩(仅存储)
|
|
354
391
|
codexmate zip ./large-folder --max:0
|
|
355
392
|
|
|
356
|
-
#
|
|
393
|
+
# 解压文件
|
|
357
394
|
codexmate unzip ./my-project.zip
|
|
358
395
|
|
|
359
|
-
#
|
|
396
|
+
# 解压到指定位置
|
|
360
397
|
codexmate unzip ./backup.zip D:/restored
|
|
361
398
|
```
|
|
362
399
|
|
|
363
|
-
|
|
400
|
+
注意:7-Zip 非必需。未安装时使用内置 JS 库;`--max` 仅对 7-Zip 生效。
|
|
364
401
|
|
|
365
|
-
##
|
|
402
|
+
## 技术栈
|
|
366
403
|
|
|
367
|
-
- **Node.js** -
|
|
368
|
-
- **@iarna/toml** - TOML
|
|
369
|
-
- **Vue.js 3** - Web
|
|
370
|
-
-
|
|
404
|
+
- **Node.js** - 运行环境
|
|
405
|
+
- **@iarna/toml** - TOML 配置文件解析
|
|
406
|
+
- **Vue.js 3** - Web 界面框架
|
|
407
|
+
- **原生 HTTP** - 内建 Web 服务器
|
|
371
408
|
|
|
372
|
-
##
|
|
409
|
+
## 发布(GitHub Actions)
|
|
373
410
|
|
|
374
|
-
|
|
411
|
+
创建与 `package.json` 版本一致的标签(例如 `v0.0.14`)。然后在 GitHub Actions 中手动运行 `release` 工作流并输入该标签,系统会创建 GitHub Release,并附带 `npm pack` 生成的 `.tgz` 产物。
|
|
375
412
|
|
|
376
|
-
##
|
|
413
|
+
## 许可证
|
|
377
414
|
|
|
378
415
|
Apache-2.0 © [ymkiux](https://github.com/ymkiux)
|
|
379
416
|
|
|
380
|
-
##
|
|
417
|
+
## 贡献
|
|
381
418
|
|
|
382
|
-
|
|
419
|
+
欢迎提交 Issue 和 Pull Request。
|
|
383
420
|
|
|
384
|
-
##
|
|
421
|
+
## 更新日志
|
|
385
422
|
|
|
386
|
-
|
|
387
|
-
|
|
423
|
+
英文版见 [doc/CHANGELOG.md](doc/CHANGELOG.md)。
|
|
424
|
+
中文版见 [doc/CHANGELOG.zh-CN.md](doc/CHANGELOG.zh-CN.md)。
|
|
388
425
|
|
|
389
426
|
---
|
|
390
427
|
|
|
391
428
|
Made with [ymkiux](https://github.com/ymkiux)
|
|
429
|
+
|