codexmate 0.0.17 → 0.0.19
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 +65 -33
- package/README.md +61 -37
- package/cli.js +1877 -408
- package/lib/text-diff.js +303 -0
- package/package.json +1 -1
- package/web-ui/app.js +1749 -447
- package/web-ui/index.html +580 -199
- package/web-ui/logic.mjs +390 -0
- package/web-ui/modules/config-mode.computed.mjs +1 -0
- package/web-ui/modules/skills.computed.mjs +26 -1
- package/web-ui/modules/skills.methods.mjs +160 -23
- package/web-ui/session-helpers.mjs +362 -0
- package/web-ui/styles.css +652 -13
- package/doc/CHANGELOG.md +0 -32
- package/doc/CHANGELOG.zh-CN.md +0 -34
package/README.en.md
CHANGED
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
**Local configuration and session manager for Codex / Claude Code / OpenClaw**
|
|
6
6
|
|
|
7
|
-
Current version: `v0.0.17`
|
|
8
|
-
|
|
9
|
-
|
|
10
7
|
[](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
|
|
11
8
|
[](https://www.npmjs.com/package/codexmate)
|
|
12
9
|
[](https://www.npmjs.com/package/codexmate)
|
|
@@ -26,17 +23,19 @@ Codex Mate is a local-first CLI + Web UI for unified management of:
|
|
|
26
23
|
- Codex provider/model switching and config writes
|
|
27
24
|
- Claude Code profiles (writes to `~/.claude/settings.json`)
|
|
28
25
|
- OpenClaw JSON5 profiles and workspace `AGENTS.md`
|
|
26
|
+
- Local skills market for Codex / Claude Code (target switching, local skills management, cross-app import, ZIP distribution)
|
|
29
27
|
- Local Codex/Claude sessions (list/filter/export/delete)
|
|
30
28
|
|
|
31
|
-
It works on local files directly and does not require cloud hosting.
|
|
29
|
+
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.
|
|
32
30
|
|
|
33
|
-
##
|
|
31
|
+
## Comparison
|
|
34
32
|
|
|
35
33
|
| Dimension | Codex Mate | Manual File Editing |
|
|
36
34
|
| --- | --- | --- |
|
|
37
35
|
| Multi-tool management | Codex + Claude Code + OpenClaw in one entry | Different files and folders per tool |
|
|
38
36
|
| Operation mode | CLI + local Web UI | Manual TOML/JSON/JSON5 edits |
|
|
39
37
|
| Session handling | Browse/export/batch cleanup | Manual file location and processing |
|
|
38
|
+
| Skills reuse | Local skills market + cross-app import + ZIP distribution | Manual folder copy and reconciliation |
|
|
40
39
|
| Rollback readiness | Backup before first takeover | Easy to overwrite by mistake |
|
|
41
40
|
| Automation integration | MCP stdio (read-only by default) | Requires custom scripting |
|
|
42
41
|
|
|
@@ -50,10 +49,17 @@ It works on local files directly and does not require cloud hosting.
|
|
|
50
49
|
|
|
51
50
|
**Session Management**
|
|
52
51
|
- Unified Codex + Claude session list
|
|
52
|
+
- Local session pinning with persistent pinned state and pinned-first ordering
|
|
53
53
|
- Keyword/source/cwd filters
|
|
54
54
|
- Markdown export
|
|
55
55
|
- Session-level and message-level delete (supports batch)
|
|
56
56
|
|
|
57
|
+
**Skills Market**
|
|
58
|
+
- Switch the skills install target between Codex and Claude Code
|
|
59
|
+
- Inspect local installed skills, root paths, and status
|
|
60
|
+
- Scan importable sources from `Codex` / `Claude Code` / `Agents`
|
|
61
|
+
- Support cross-app import, ZIP import/export, and batch delete
|
|
62
|
+
|
|
57
63
|
**Engineering Utilities**
|
|
58
64
|
- MCP stdio domains (`tools`, `resources`, `prompts`)
|
|
59
65
|
- Built-in proxy controls (`proxy`)
|
|
@@ -63,25 +69,48 @@ It works on local files directly and does not require cloud hosting.
|
|
|
63
69
|
## Architecture
|
|
64
70
|
|
|
65
71
|
```mermaid
|
|
66
|
-
flowchart
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
subgraph
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
flowchart TB
|
|
73
|
+
subgraph Interfaces["Entry Surfaces"]
|
|
74
|
+
CLI["CLI"]
|
|
75
|
+
WEB["Web UI"]
|
|
76
|
+
MCP["MCP Client"]
|
|
77
|
+
OAI["Codex / OpenAI Client"]
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
subgraph Runtime["Codex Mate Runtime"]
|
|
81
|
+
ENTRY["cli.js Entry"]
|
|
82
|
+
API["Local HTTP API"]
|
|
83
|
+
MCPS["MCP stdio Server"]
|
|
84
|
+
PROXY["Built-in Proxy"]
|
|
85
|
+
SERVICES["Config / Sessions / Skills Market / Workflow"]
|
|
86
|
+
CORE["File IO / Network / Diff / Session Utils"]
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
subgraph Data["Local Files"]
|
|
90
|
+
CODEX["~/.codex/config + auth + models"]
|
|
91
|
+
CLAUDE["~/.claude/settings.json"]
|
|
92
|
+
OPENCLAW["~/.openclaw/*.json5 + ~/.openclaw/openclaw.json + workspace/AGENTS.md"]
|
|
93
|
+
SKILLS["~/.codex/skills / ~/.claude/skills / ~/.agents/skills"]
|
|
94
|
+
STATE["sessions / trash / workflow runs / skill exports"]
|
|
79
95
|
end
|
|
80
96
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
97
|
+
CLI --> ENTRY
|
|
98
|
+
WEB -->|GET / + POST /api| API
|
|
99
|
+
MCP -->|stdio JSON-RPC| MCPS
|
|
100
|
+
OAI -->|HTTP /v1| PROXY
|
|
101
|
+
|
|
102
|
+
ENTRY --> SERVICES
|
|
103
|
+
API --> SERVICES
|
|
104
|
+
MCPS --> SERVICES
|
|
105
|
+
PROXY --> CORE
|
|
106
|
+
|
|
107
|
+
SERVICES --> CORE
|
|
108
|
+
|
|
109
|
+
CORE --> CODEX
|
|
110
|
+
CORE --> CLAUDE
|
|
111
|
+
CORE --> OPENCLAW
|
|
112
|
+
CORE --> SKILLS
|
|
113
|
+
CORE --> STATE
|
|
85
114
|
```
|
|
86
115
|
|
|
87
116
|
## Quick Start
|
|
@@ -95,7 +124,9 @@ codexmate status
|
|
|
95
124
|
codexmate run
|
|
96
125
|
```
|
|
97
126
|
|
|
98
|
-
Default listen address is `
|
|
127
|
+
Default listen address is `0.0.0.0:3737` for LAN access, and browser auto-open is enabled by default.
|
|
128
|
+
|
|
129
|
+
> 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`.
|
|
99
130
|
|
|
100
131
|
### Run from source
|
|
101
132
|
|
|
@@ -103,14 +134,13 @@ Default listen address is `127.0.0.1:3737`, and browser auto-open is enabled by
|
|
|
103
134
|
git clone https://github.com/SakuraByteCore/codexmate.git
|
|
104
135
|
cd codexmate
|
|
105
136
|
npm install
|
|
106
|
-
npm
|
|
107
|
-
codexmate run
|
|
137
|
+
npm start run
|
|
108
138
|
```
|
|
109
139
|
|
|
110
140
|
### Tests / CI (service only)
|
|
111
141
|
|
|
112
142
|
```bash
|
|
113
|
-
|
|
143
|
+
npm start run --no-browser
|
|
114
144
|
```
|
|
115
145
|
|
|
116
146
|
> Convention: automated tests validate service and API behavior only, without opening browser pages.
|
|
@@ -152,8 +182,6 @@ codexmate codex --model gpt-5.3-codex --follow-up "step1" --follow-up "step2"
|
|
|
152
182
|
- Provider/model switching
|
|
153
183
|
- Model list management
|
|
154
184
|
- `~/.codex/AGENTS.md` editing
|
|
155
|
-
- `~/.codex/skills` management (filter, batch delete, cross-app import)
|
|
156
|
-
|
|
157
185
|
|
|
158
186
|
### Claude Code Mode
|
|
159
187
|
- Multi-profile management
|
|
@@ -167,8 +195,15 @@ codexmate codex --model gpt-5.3-codex --follow-up "step1" --follow-up "step2"
|
|
|
167
195
|
|
|
168
196
|
### Sessions Mode
|
|
169
197
|
- Unified Codex + Claude sessions
|
|
198
|
+
- Local pin/unpin with persistent storage and pinned-first ordering
|
|
170
199
|
- Search, filter, export, delete, batch cleanup
|
|
171
200
|
|
|
201
|
+
### Skills Market Tab
|
|
202
|
+
- Switch the skills install target between `Codex` and `Claude Code`
|
|
203
|
+
- Show the current local skills root, installed items, and importable items
|
|
204
|
+
- Scan importable sources under `Codex` / `Claude Code` / `Agents`
|
|
205
|
+
- Support cross-app import, ZIP import/export, and batch delete
|
|
206
|
+
|
|
172
207
|
## MCP
|
|
173
208
|
|
|
174
209
|
> Transport: `stdio`
|
|
@@ -199,7 +234,7 @@ codexmate mcp serve --allow-write
|
|
|
199
234
|
| Variable | Default | Description |
|
|
200
235
|
| --- | --- | --- |
|
|
201
236
|
| `CODEXMATE_PORT` | `3737` | Web server port |
|
|
202
|
-
| `CODEXMATE_HOST` | `
|
|
237
|
+
| `CODEXMATE_HOST` | `0.0.0.0` | Web listen host (set `127.0.0.1` for local-only access) |
|
|
203
238
|
| `CODEXMATE_NO_BROWSER` | unset | Set `1` to disable browser auto-open |
|
|
204
239
|
| `CODEXMATE_MCP_ALLOW_WRITE` | unset | Set `1` to allow MCP write tools by default |
|
|
205
240
|
| `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | Set `1` to force bootstrap reset of existing config |
|
|
@@ -213,10 +248,7 @@ codexmate mcp serve --allow-write
|
|
|
213
248
|
|
|
214
249
|
## Contributing
|
|
215
250
|
|
|
216
|
-
Issues and pull requests are
|
|
217
|
-
|
|
218
|
-
- English changelog: `doc/CHANGELOG.md`
|
|
219
|
-
- Chinese changelog: `doc/CHANGELOG.zh-CN.md`
|
|
251
|
+
Issues and pull requests are accepted.
|
|
220
252
|
|
|
221
253
|
## License
|
|
222
254
|
|
package/README.md
CHANGED
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
**Codex / Claude Code / OpenClaw 的本地配置与会话管理工具**
|
|
6
6
|
|
|
7
|
-
当前版本:`v0.0.17`
|
|
8
|
-
|
|
9
|
-
|
|
10
7
|
[](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
|
|
11
8
|
[](https://www.npmjs.com/package/codexmate)
|
|
12
9
|
[](https://www.npmjs.com/package/codexmate)
|
|
@@ -26,17 +23,19 @@ Codex Mate 提供一套本地优先的 CLI + Web UI,用于统一管理:
|
|
|
26
23
|
- Codex 的 provider / model 切换与配置写入
|
|
27
24
|
- Claude Code 配置方案(写入 `~/.claude/settings.json`)
|
|
28
25
|
- OpenClaw JSON5 配置与 Workspace `AGENTS.md`
|
|
26
|
+
- Codex / Claude Code Skills 市场(安装目标切换、本地 skills 管理、跨应用导入、ZIP 分发)
|
|
29
27
|
- Codex / Claude 本地会话浏览、筛选、导出、删除
|
|
30
28
|
|
|
31
|
-
项目不依赖云端托管,配置写入你的本地文件,便于审计和回滚。
|
|
29
|
+
项目不依赖云端托管,配置写入你的本地文件,便于审计和回滚。Skills 市场同样坚持本地优先,只操作本地目录,不依赖远程在线市场。
|
|
32
30
|
|
|
33
|
-
##
|
|
31
|
+
## 功能对比
|
|
34
32
|
|
|
35
33
|
| 维度 | Codex Mate | 手动维护配置 |
|
|
36
34
|
| --- | --- | --- |
|
|
37
35
|
| 多工具管理 | Codex + Claude Code + OpenClaw 统一入口 | 多文件、多目录分散修改 |
|
|
38
36
|
| 使用方式 | CLI + 本地 Web UI | 纯手改 TOML / JSON / JSON5 |
|
|
39
37
|
| 会话处理 | 支持浏览、导出、批量清理 | 需要手动定位和处理文件 |
|
|
38
|
+
| Skills 复用 | 本地 Skills 市场 + 跨应用导入 + ZIP 分发 | 目录手动复制,容易遗漏 |
|
|
40
39
|
| 可回滚性 | 首次接管前自动备份 | 易误覆盖、回滚成本高 |
|
|
41
40
|
| 自动化接入 | 提供 MCP stdio(默认只读) | 需自行封装脚本 |
|
|
42
41
|
|
|
@@ -50,38 +49,62 @@ Codex Mate 提供一套本地优先的 CLI + Web UI,用于统一管理:
|
|
|
50
49
|
|
|
51
50
|
**会话管理**
|
|
52
51
|
- 同页查看 Codex 与 Claude 会话
|
|
52
|
+
- 支持本地会话置顶,置顶状态持久化保存并优先排序显示
|
|
53
53
|
- 关键词搜索、来源筛选、cwd 路径筛选
|
|
54
54
|
- 会话导出 Markdown
|
|
55
55
|
- 会话与消息级删除(支持批量)
|
|
56
56
|
|
|
57
|
+
**Skills 市场**
|
|
58
|
+
- 在 Codex 与 Claude Code 之间切换 skills 安装目标
|
|
59
|
+
- 查看本地已安装 skills、根目录与状态
|
|
60
|
+
- 扫描 `Codex` / `Claude Code` / `Agents` 可导入来源
|
|
61
|
+
- 支持跨应用导入、ZIP 导入 / 导出、批量删除
|
|
62
|
+
|
|
57
63
|
**工程能力**
|
|
58
64
|
- MCP stdio 能力(tools/resources/prompts)
|
|
59
|
-
- 内建代理配置与状态控制(`proxy`)
|
|
60
|
-
- 认证档案管理(`auth`)
|
|
61
65
|
- Zip 压缩/解压(优先系统工具,失败回退 JS 库)
|
|
62
66
|
|
|
63
67
|
## 架构总览
|
|
64
68
|
|
|
65
69
|
```mermaid
|
|
66
|
-
flowchart
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
70
|
+
flowchart TB
|
|
71
|
+
subgraph Interfaces["入口"]
|
|
72
|
+
CLI["CLI"]
|
|
73
|
+
WEB["Web UI"]
|
|
74
|
+
MCP["MCP Client"]
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
subgraph Runtime["Codex Mate Runtime"]
|
|
78
|
+
ENTRY["cli.js Entry"]
|
|
79
|
+
API["Local HTTP API"]
|
|
80
|
+
MCPS["MCP stdio Server"]
|
|
81
|
+
SERVICES["Config / Sessions / Skills Market / Workflow"]
|
|
82
|
+
CORE["File IO / Network / Diff / Session Utils"]
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
subgraph State["Local State"]
|
|
86
|
+
CODEX["~/.codex/config + auth + models"]
|
|
87
|
+
CLAUDE["~/.claude/settings.json"]
|
|
88
|
+
OPENCLAW["~/.openclaw/*.json5 + ~/.openclaw/openclaw.json + workspace/AGENTS.md"]
|
|
89
|
+
SKILLS["~/.codex/skills / ~/.claude/skills / ~/.agents/skills"]
|
|
90
|
+
STATE["sessions / trash / workflow runs / skill exports"]
|
|
79
91
|
end
|
|
80
92
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
CLI --> ENTRY
|
|
94
|
+
WEB -->|GET / + POST /api| API
|
|
95
|
+
MCP -->|stdio JSON-RPC| MCPS
|
|
96
|
+
|
|
97
|
+
ENTRY --> SERVICES
|
|
98
|
+
API --> SERVICES
|
|
99
|
+
MCPS --> SERVICES
|
|
100
|
+
|
|
101
|
+
SERVICES --> CORE
|
|
102
|
+
|
|
103
|
+
CORE --> CODEX
|
|
104
|
+
CORE --> CLAUDE
|
|
105
|
+
CORE --> OPENCLAW
|
|
106
|
+
CORE --> SKILLS
|
|
107
|
+
CORE --> STATE
|
|
85
108
|
```
|
|
86
109
|
|
|
87
110
|
## 快速开始
|
|
@@ -95,7 +118,9 @@ codexmate status
|
|
|
95
118
|
codexmate run
|
|
96
119
|
```
|
|
97
120
|
|
|
98
|
-
默认监听 `
|
|
121
|
+
默认监听 `0.0.0.0:3737`,支持局域网访问,并尝试自动打开浏览器。
|
|
122
|
+
|
|
123
|
+
> 安全提示:默认监听会在当前局域网暴露未鉴权的管理界面。若包含 API Key、provider 配置或 skills 管理,请仅在可信网络中使用;如需仅本机访问,可设置 `CODEXMATE_HOST=127.0.0.1` 或启动时传入 `--host 127.0.0.1`。
|
|
99
124
|
|
|
100
125
|
### 从源码运行
|
|
101
126
|
|
|
@@ -103,14 +128,13 @@ codexmate run
|
|
|
103
128
|
git clone https://github.com/SakuraByteCore/codexmate.git
|
|
104
129
|
cd codexmate
|
|
105
130
|
npm install
|
|
106
|
-
npm
|
|
107
|
-
codexmate run
|
|
131
|
+
npm start run
|
|
108
132
|
```
|
|
109
133
|
|
|
110
134
|
### 测试 / CI(只启动服务)
|
|
111
135
|
|
|
112
136
|
```bash
|
|
113
|
-
|
|
137
|
+
npm start run --no-browser
|
|
114
138
|
```
|
|
115
139
|
|
|
116
140
|
> 约定:自动化测试仅验证服务与 API,不依赖打开页面。
|
|
@@ -126,8 +150,6 @@ codexmate run --no-browser
|
|
|
126
150
|
| `codexmate add <name> <URL> [API_KEY]` | 添加提供商 |
|
|
127
151
|
| `codexmate delete <name>` | 删除提供商 |
|
|
128
152
|
| `codexmate claude <BaseURL> <API_KEY> [model]` | 写入 Claude Code 配置 |
|
|
129
|
-
| `codexmate auth <list\|import\|switch\|delete\|status>` | 认证档案管理 |
|
|
130
|
-
| `codexmate proxy <status\|set\|apply\|enable\|start\|stop>` | 内建代理管理 |
|
|
131
153
|
| `codexmate workflow <list\|get\|validate\|run\|runs>` | MCP 工作流管理 |
|
|
132
154
|
| `codexmate codex [args...] [--follow-up <文本> 可重复]` | Codex CLI 透传入口(默认补 `--yolo`,可追加 queued follow-up) |
|
|
133
155
|
| `codexmate qwen [args...]` | Qwen CLI 透传入口 |
|
|
@@ -152,8 +174,6 @@ codexmate codex --model gpt-5.3-codex --follow-up "步骤1" --follow-up "步骤2
|
|
|
152
174
|
- provider / model 切换
|
|
153
175
|
- 模型管理
|
|
154
176
|
- `~/.codex/AGENTS.md` 编辑
|
|
155
|
-
- `~/.codex/skills` 管理(筛选、批量删除、跨应用导入)
|
|
156
|
-
|
|
157
177
|
|
|
158
178
|
### Claude Code 配置模式
|
|
159
179
|
- 多配置方案管理
|
|
@@ -167,8 +187,15 @@ codexmate codex --model gpt-5.3-codex --follow-up "步骤1" --follow-up "步骤2
|
|
|
167
187
|
|
|
168
188
|
### 会话模式
|
|
169
189
|
- Codex + Claude 会话统一列表
|
|
190
|
+
- 支持本地会话置顶、持久化保存与置顶优先排序
|
|
170
191
|
- 搜索、筛选、导出、删除、批量清理
|
|
171
192
|
|
|
193
|
+
### Skills 市场标签页
|
|
194
|
+
- 在 `Codex` 与 `Claude Code` 之间切换 skills 安装目标
|
|
195
|
+
- 展示当前目标的本地 skills 根目录、已安装项和可导入项
|
|
196
|
+
- 扫描 `Codex` / `Claude Code` / `Agents` 目录中的可导入来源
|
|
197
|
+
- 支持跨应用导入、ZIP 导入 / 导出、批量删除
|
|
198
|
+
|
|
172
199
|
## MCP
|
|
173
200
|
|
|
174
201
|
> 传输:`stdio`
|
|
@@ -200,7 +227,7 @@ codexmate mcp serve --allow-write
|
|
|
200
227
|
| 变量 | 默认值 | 说明 |
|
|
201
228
|
| --- | --- | --- |
|
|
202
229
|
| `CODEXMATE_PORT` | `3737` | Web 服务端口 |
|
|
203
|
-
| `CODEXMATE_HOST` | `
|
|
230
|
+
| `CODEXMATE_HOST` | `0.0.0.0` | Web 服务监听地址(如需仅本机访问,显式设为 `127.0.0.1`) |
|
|
204
231
|
| `CODEXMATE_NO_BROWSER` | 未设置 | 设为 `1` 后不自动打开浏览器 |
|
|
205
232
|
| `CODEXMATE_MCP_ALLOW_WRITE` | 未设置 | 设为 `1` 后默认允许 MCP 写工具 |
|
|
206
233
|
| `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | 设为 `1` 时首次可强制重建托管配置 |
|
|
@@ -214,10 +241,7 @@ codexmate mcp serve --allow-write
|
|
|
214
241
|
|
|
215
242
|
## 参与贡献
|
|
216
243
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
- 英文更新日志:`doc/CHANGELOG.md`
|
|
220
|
-
- 中文更新日志:`doc/CHANGELOG.zh-CN.md`
|
|
244
|
+
Issue 与 Pull Request 可按需提交。
|
|
221
245
|
|
|
222
246
|
## License
|
|
223
247
|
|