codexmate 0.0.14 → 0.0.16
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 +153 -358
- package/README.md +153 -357
- package/cli.js +1351 -67
- package/doc/CHANGELOG.md +14 -9
- package/doc/CHANGELOG.zh-CN.md +7 -0
- package/package.json +3 -3
- package/web-ui/app.js +24 -324
- package/web-ui/index.html +45 -22
- package/web-ui/modules/config-mode.computed.mjs +123 -0
- package/web-ui/modules/skills.computed.mjs +82 -0
- package/web-ui/modules/skills.methods.mjs +344 -0
- package/web-ui/styles.css +4 -4
package/README.en.md
CHANGED
|
@@ -1,429 +1,224 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# Codex Mate
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Local configuration and session manager for Codex / Claude Code / OpenClaw**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
> Current version: `v0.0.16`
|
|
8
|
+
|
|
9
|
+
[](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
|
|
8
10
|
[](https://www.npmjs.com/package/codexmate)
|
|
9
11
|
[](https://www.npmjs.com/package/codexmate)
|
|
10
|
-
[](https://github.com/ymkiux/codexmate)
|
|
11
|
-
[](https://github.com/ymkiux/codexmate/commits)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
[](https://nodejs.org)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
[Quick Start](#quick-start) · [Commands](#command-reference) · [Web UI](#web-ui) · [MCP](#mcp) · [中文](README.md)
|
|
16
16
|
|
|
17
17
|
</div>
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-

|
|
24
|
-
|
|
25
|
-
## Overview
|
|
26
|
-
|
|
27
|
-
Codex Mate helps you switch Codex/Claude Code providers and models in seconds, and manage local sessions in one place.
|
|
28
|
-
|
|
29
|
-
## 60-Second Quick Start (One-Line Source Install)
|
|
30
|
-
|
|
31
|
-
Requirements: `Node.js >= 14`, `Git`
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
git clone https://github.com/ymkiux/codexmate.git && cd codexmate && npm install && npm link && codexmate run
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Open `http://localhost:3737` in your browser.
|
|
21
|
+
## What Is This?
|
|
38
22
|
|
|
39
|
-
|
|
23
|
+
Codex Mate is a local-first CLI + Web UI for unified management of:
|
|
40
24
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
If you only want a temporary trial, run:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
npx codexmate@latest run
|
|
50
|
-
```
|
|
25
|
+
- Codex provider/model switching and config writes
|
|
26
|
+
- Claude Code profiles (writes to `~/.claude/settings.json`)
|
|
27
|
+
- OpenClaw JSON5 profiles and workspace `AGENTS.md`
|
|
28
|
+
- Local Codex/Claude sessions (list/filter/export/delete)
|
|
29
|
+
- `codexmate qwen` passthrough command
|
|
51
30
|
|
|
52
|
-
|
|
31
|
+
It works on local files directly and does not require cloud hosting.
|
|
53
32
|
|
|
54
|
-
|
|
33
|
+
## Why Codex Mate?
|
|
55
34
|
|
|
56
|
-
|
|
57
|
-
codexmate switch <provider>
|
|
58
|
-
codexmate use <model>
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
2. Apply Claude Code config in one line
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
codexmate claude <BaseURL> <API_KEY> <model>
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
3. Export a local session to Markdown
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
codexmate export-session --source codex --session-id <ID>
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Core Commands (Most Used)
|
|
74
|
-
|
|
75
|
-
| Goal | Command |
|
|
76
|
-
| --- | --- |
|
|
77
|
-
| Check current status | `codexmate status` |
|
|
78
|
-
| Start Web UI | `codexmate run` |
|
|
79
|
-
| Interactive setup | `codexmate setup` |
|
|
80
|
-
| List providers/models | `codexmate list` / `codexmate models` |
|
|
81
|
-
| Switch provider/model | `codexmate switch <provider>` / `codexmate use <model>` |
|
|
82
|
-
| Write Claude config | `codexmate claude <BaseURL> <API_KEY> [model]` |
|
|
83
|
-
| Export session | `codexmate export-session --source <codex|claude> ...` |
|
|
84
|
-
|
|
85
|
-
## What You Get
|
|
86
|
-
|
|
87
|
-
- One-command provider/model switching
|
|
88
|
-
- Local config control with backups
|
|
89
|
-
- Lightweight Web UI instead of heavy clients
|
|
90
|
-
- Unified session browser (view/export/resume when available)
|
|
91
|
-
- Session management: list/filter/export/delete local sessions; keyword search supports Codex and Claude
|
|
92
|
-
- New in 0.0.10: Claude sessions are searchable by keywords (e.g., `claude code`, `claude-code`, numeric tokens)
|
|
93
|
-
- New in 0.0.14: Skills Manager modal adds overview counters, refined filters, and slimmer list scrollbars
|
|
94
|
-
|
|
95
|
-
## Feature Overview
|
|
96
|
-
|
|
97
|
-
| Module | Problem | Key Capabilities |
|
|
35
|
+
| Dimension | Codex Mate | Manual File Editing |
|
|
98
36
|
| --- | --- | --- |
|
|
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
|
-
|
|
37
|
+
| Multi-tool management | Codex + Claude Code + OpenClaw in one entry | Different files and folders per tool |
|
|
38
|
+
| Operation mode | CLI + local Web UI | Manual TOML/JSON/JSON5 edits |
|
|
39
|
+
| Session handling | Browse/export/batch cleanup | Manual file location and processing |
|
|
40
|
+
| Rollback readiness | Backup before first takeover | Easy to overwrite by mistake |
|
|
41
|
+
| Automation integration | MCP stdio (read-only by default) | Requires custom scripting |
|
|
42
|
+
|
|
43
|
+
## Core Features
|
|
44
|
+
|
|
45
|
+
**Configuration**
|
|
46
|
+
- Provider/model switching (`switch`, `use`)
|
|
47
|
+
- Codex `config.toml` template confirmation before write
|
|
48
|
+
- Claude Code profile management and apply
|
|
49
|
+
- OpenClaw JSON5 profile management
|
|
50
|
+
|
|
51
|
+
**Session Management**
|
|
52
|
+
- Unified Codex + Claude session list
|
|
53
|
+
- Keyword/source/cwd filters
|
|
54
|
+
- Markdown export
|
|
55
|
+
- Session-level and message-level delete (supports batch)
|
|
56
|
+
|
|
57
|
+
**Engineering Utilities**
|
|
58
|
+
- MCP stdio domains (`tools`, `resources`, `prompts`)
|
|
59
|
+
- Built-in proxy controls (`proxy`)
|
|
60
|
+
- Auth profile management (`auth`)
|
|
61
|
+
- `codexmate qwen` compatibility entrypoint (passthrough with `--yolo`)
|
|
62
|
+
- Zip/unzip utilities
|
|
63
|
+
|
|
64
|
+
## Architecture
|
|
65
|
+
|
|
66
|
+
```mermaid
|
|
67
|
+
flowchart LR
|
|
68
|
+
A[CLI: codexmate] --> B[Local config files]
|
|
69
|
+
A --> C[Local Web UI]
|
|
70
|
+
C --> D[Built-in HTTP API]
|
|
71
|
+
D --> B
|
|
72
|
+
D --> E[Session indexing/export]
|
|
73
|
+
A --> F[MCP stdio server]
|
|
74
|
+
|
|
75
|
+
subgraph Local Files
|
|
76
|
+
B1[~/.codex/config.toml]
|
|
77
|
+
B2[~/.claude/settings.json]
|
|
78
|
+
B3[~/.openclaw/openclaw.json]
|
|
79
|
+
B4[sessions/*.jsonl]
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
B --> B1
|
|
83
|
+
B --> B2
|
|
84
|
+
B --> B3
|
|
85
|
+
E --> B4
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Quick Start
|
|
89
|
+
|
|
90
|
+
### Install from npm
|
|
132
91
|
|
|
133
92
|
```bash
|
|
93
|
+
npm install -g codexmate
|
|
94
|
+
codexmate setup
|
|
134
95
|
codexmate status
|
|
135
96
|
codexmate run
|
|
136
97
|
```
|
|
137
98
|
|
|
138
|
-
|
|
99
|
+
Default listen address is `127.0.0.1:3737`, and browser auto-open is enabled by default.
|
|
139
100
|
|
|
140
|
-
|
|
141
|
-
npx codexmate@latest status
|
|
142
|
-
npx codexmate@latest run
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### Global (npm)
|
|
101
|
+
### Run from source
|
|
146
102
|
|
|
147
103
|
```bash
|
|
148
|
-
|
|
104
|
+
git clone https://github.com/SakuraByteCore/codexmate.git
|
|
105
|
+
cd codexmate
|
|
106
|
+
npm install
|
|
107
|
+
npm link
|
|
108
|
+
codexmate run
|
|
149
109
|
```
|
|
150
110
|
|
|
151
|
-
|
|
111
|
+
### Tests / CI (service only)
|
|
152
112
|
|
|
153
113
|
```bash
|
|
154
|
-
|
|
114
|
+
codexmate run --no-browser
|
|
155
115
|
```
|
|
156
116
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
- Node.js >= 14
|
|
160
|
-
- Windows / macOS / Linux
|
|
117
|
+
> Convention: automated tests validate service and API behavior only, without opening browser pages.
|
|
161
118
|
|
|
162
|
-
##
|
|
119
|
+
## Command Reference
|
|
163
120
|
|
|
164
121
|
| Command | Description |
|
|
165
122
|
| --- | --- |
|
|
166
|
-
| `codexmate` | Show
|
|
167
|
-
| `codexmate setup` | Interactive
|
|
168
|
-
| `codexmate
|
|
169
|
-
| `codexmate
|
|
170
|
-
| `codexmate
|
|
171
|
-
| `codexmate
|
|
172
|
-
| `codexmate
|
|
173
|
-
| `codexmate
|
|
174
|
-
| `codexmate
|
|
175
|
-
| `codexmate
|
|
176
|
-
| `codexmate
|
|
177
|
-
| `codexmate
|
|
178
|
-
| `codexmate run` | Start
|
|
179
|
-
| `codexmate mcp
|
|
180
|
-
| `codexmate export-session --source <codex
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
- Transport: `stdio` only
|
|
185
|
-
- Default mode: read-only tool set
|
|
186
|
-
- Write tools: enable by `--allow-write` or `CODEXMATE_MCP_ALLOW_WRITE=1`
|
|
187
|
-
- Sensitive fields in `codexmate.claude.settings.get` are returned as masked values
|
|
123
|
+
| `codexmate status` | Show current config status |
|
|
124
|
+
| `codexmate setup` | Interactive setup |
|
|
125
|
+
| `codexmate list` / `codexmate models` | List providers / models |
|
|
126
|
+
| `codexmate switch <provider>` / `codexmate use <model>` | Switch provider / model |
|
|
127
|
+
| `codexmate add <name> <URL> [API_KEY]` | Add provider |
|
|
128
|
+
| `codexmate delete <name>` | Delete provider |
|
|
129
|
+
| `codexmate claude <BaseURL> <API_KEY> [model]` | Write Claude Code config |
|
|
130
|
+
| `codexmate auth <list\|import\|switch\|delete\|status>` | Auth profile management |
|
|
131
|
+
| `codexmate proxy <status\|set\|apply\|enable\|start\|stop>` | Built-in proxy management |
|
|
132
|
+
| `codexmate workflow <list\|get\|validate\|run\|runs>` | MCP workflow management |
|
|
133
|
+
| `codexmate codex [args...] [--follow-up <text> repeatable]` | Codex CLI passthrough entrypoint (auto-adds `--yolo`, supports queued follow-up appends) |
|
|
134
|
+
| `codexmate qwen [args...]` | Qwen CLI passthrough entrypoint |
|
|
135
|
+
| `codexmate run [--host <HOST>] [--no-browser]` | Start Web UI |
|
|
136
|
+
| `codexmate mcp serve [--read-only\|--allow-write]` | Start MCP stdio server |
|
|
137
|
+
| `codexmate export-session --source <codex\|claude> ...` | Export session to Markdown |
|
|
138
|
+
| `codexmate zip <path> [--max:0-9]` / `codexmate unzip <zip> [out]` | Zip / unzip |
|
|
139
|
+
| `codexmate unzip-ext <zip-dir> [out] [--ext:suffix[,suffix...]] [--no-recursive]` | Extract files with target suffixes from ZIP files in a directory (default `.json`, recursive by default) |
|
|
188
140
|
|
|
189
|
-
|
|
190
|
-
# Read-only (recommended for external agents)
|
|
191
|
-
codexmate mcp serve --read-only
|
|
192
|
-
|
|
193
|
-
# Enable write tools explicitly
|
|
194
|
-
codexmate mcp serve --allow-write
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
Provided MCP domains:
|
|
198
|
-
|
|
199
|
-
- `tools`: status/provider/model/session/auth/proxy and config operations
|
|
200
|
-
- `resources`: status/providers/sessions snapshots
|
|
201
|
-
- `prompts`: built-in diagnose/switch/export templates
|
|
202
|
-
|
|
203
|
-
## Web UI
|
|
204
|
-
|
|
205
|
-
Start the Web UI (auto opens browser):
|
|
141
|
+
### Codex Follow-up Append (Optional)
|
|
206
142
|
|
|
207
143
|
```bash
|
|
208
|
-
codexmate
|
|
144
|
+
codexmate codex --follow-up "scan repository first" --follow-up "then fix failing tests"
|
|
145
|
+
codexmate codex --model gpt-5.3-codex --follow-up "step1" --follow-up "step2"
|
|
209
146
|
```
|
|
210
147
|
|
|
211
|
-
|
|
148
|
+
> Note: both `--follow-up` and `--queued-follow-up` are accepted and repeatable.
|
|
212
149
|
|
|
213
|
-
|
|
214
|
-
- Quickly switch provider and model
|
|
215
|
-
- Manage available model list
|
|
216
|
-
- Edit `~/.codex/AGENTS.md` instruction file (same level as `config.toml`)
|
|
217
|
-
- Open the Skills Manager modal for `~/.codex/skills` (overview counters, keyword/status filters, multi-select delete, cross-app import scan)
|
|
218
|
-
- Add/delete custom providers
|
|
219
|
-
- Supports Codex config management on Linux/Windows
|
|
220
|
-
|
|
221
|
-
### Skills Manager Modal
|
|
222
|
-
|
|
223
|
-
- Shows overview counters (`total`, `with SKILL.md`, `missing SKILL.md`, `importable`) for quick audit
|
|
224
|
-
- Supports keyword search by folder name/display name/description and status filter by `SKILL.md` presence
|
|
225
|
-
- Supports multi-select and bulk deletion for local skills
|
|
226
|
-
- Supports scanning unmanaged skills from other apps and importing selected items in batch
|
|
227
|
-
|
|
228
|
-
### Claude Code Config Mode (Windows / macOS / Linux)
|
|
229
|
-
|
|
230
|
-
- Manage multiple Claude Code profiles
|
|
231
|
-
- Configure API key, Base URL, and model
|
|
232
|
-
- Default write to `env` in `~/.claude/settings.json`: `env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL`
|
|
233
|
-
- One-liner apply via CLI:
|
|
150
|
+
## Web UI
|
|
234
151
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
152
|
+
### Codex Mode
|
|
153
|
+
- Provider/model switching
|
|
154
|
+
- Model list management
|
|
155
|
+
- `~/.codex/AGENTS.md` editing
|
|
156
|
+
- `~/.codex/skills` management (filter, batch delete, cross-app import)
|
|
238
157
|
|
|
239
|
-
- In the Web UI, each Claude configuration card now has a "Share Import Command" button that copies a one-click import command (for example: `codexmate claude <BaseURL> <API Key> <Model>`).
|
|
240
158
|
|
|
241
|
-
###
|
|
159
|
+
### Claude Code Mode
|
|
160
|
+
- Multi-profile management
|
|
161
|
+
- Default write to `~/.claude/settings.json`
|
|
162
|
+
- Shareable import command copy
|
|
242
163
|
|
|
243
|
-
|
|
164
|
+
### OpenClaw Mode
|
|
165
|
+
- JSON5 multi-profile management
|
|
244
166
|
- Apply to `~/.openclaw/openclaw.json`
|
|
245
|
-
- Manage
|
|
246
|
-
|
|
247
|
-
### Session Browser
|
|
167
|
+
- Manage `~/.openclaw/workspace/AGENTS.md`
|
|
248
168
|
|
|
249
|
-
|
|
250
|
-
-
|
|
251
|
-
-
|
|
252
|
-
- Export selected sessions to Markdown
|
|
253
|
-
- Copy resume command when available
|
|
254
|
-
- Delete single sessions (local jsonl records)
|
|
255
|
-
- Batch delete multiple sessions with partial failure summary
|
|
256
|
-
- Delete individual records or multi-select within session details (writes back to original jsonl)
|
|
169
|
+
### Sessions Mode
|
|
170
|
+
- Unified Codex + Claude sessions
|
|
171
|
+
- Search, filter, export, delete, batch cleanup
|
|
257
172
|
|
|
258
|
-
|
|
173
|
+
## MCP
|
|
259
174
|
|
|
260
|
-
|
|
261
|
-
- Only writes to `config.toml` after you click "Confirm Apply Template"
|
|
262
|
-
- Prevents direct one-click overwrites from the UI
|
|
175
|
+
> Transport: `stdio`
|
|
263
176
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
- `config.toml` - Codex main config
|
|
269
|
-
- `auth.json` - API auth info
|
|
270
|
-
- `models.json` - Available model list
|
|
271
|
-
- `provider-current-models.json` - Per-provider current model config
|
|
272
|
-
- `codexmate-init.json` - First-run marker
|
|
273
|
-
- `config.toml.codexmate-backup-*.bak` - Backup created on first takeover
|
|
274
|
-
|
|
275
|
-
Claude Code config files:
|
|
276
|
-
|
|
277
|
-
- `~/.claude/settings.json` - Runtime config (default write target)
|
|
278
|
-
- `~/.claude/settings.json.codexmate-backup-*.bak` - Backup before first overwrite
|
|
279
|
-
|
|
280
|
-
OpenClaw config files:
|
|
281
|
-
|
|
282
|
-
- `~/.openclaw/openclaw.json` - OpenClaw config (JSON5)
|
|
283
|
-
- `~/.openclaw/workspace/AGENTS.md` - OpenClaw workspace instructions
|
|
284
|
-
|
|
285
|
-
## First Run Initialization
|
|
286
|
-
|
|
287
|
-
When you run `codexmate` for the first time and an existing `~/.codex/config.toml` is detected that is not managed by Codex Mate:
|
|
288
|
-
|
|
289
|
-
- The original file is backed up as `config.toml.codexmate-backup-<timestamp>.bak`
|
|
290
|
-
- The original `config.toml` is preserved, and a first-run marker is written
|
|
291
|
-
- Only when `CODEXMATE_FORCE_RESET_EXISTING_CONFIG=1` is set will the default config be rebuilt
|
|
292
|
-
- Subsequent runs will not repeat this process
|
|
293
|
-
|
|
294
|
-
## Examples
|
|
295
|
-
|
|
296
|
-
### Add a Custom API Provider
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
codexmate add myapi https://api.example.com/v1 sk-your-api-key
|
|
300
|
-
codexmate switch myapi
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
### Switch to a Different Model
|
|
304
|
-
|
|
305
|
-
```bash
|
|
306
|
-
codexmate use gpt-4-turbo
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
### Export a Session (CLI)
|
|
310
|
-
|
|
311
|
-
```bash
|
|
312
|
-
codexmate export-session --source codex --session-id 123456
|
|
313
|
-
codexmate export-session --source claude --file "~/.claude/projects/demo/session.jsonl" --max-messages=all
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
By default, exports are capped at 1000 messages. Use `--max-messages=all` (or `Infinity`) to export everything.
|
|
317
|
-
|
|
318
|
-
### Configure Claude Code (Cross-Platform)
|
|
319
|
-
|
|
320
|
-
1. Start the Web UI: `codexmate run`
|
|
321
|
-
2. Switch to "Claude Code Config" mode in the browser
|
|
322
|
-
3. Add a profile (example Zhipu GLM): Name=ZhipuGLM, API Key=your API key, Base URL=`https://open.bigmodel.cn/api/anthropic`, Model=`glm-4.7`
|
|
323
|
-
4. Click the card to apply, or use "Save & Apply to Claude Config" in the editor
|
|
324
|
-
5. Default write to `~/.claude/settings.json`
|
|
325
|
-
6. Restart Claude Code to apply
|
|
326
|
-
|
|
327
|
-
### Start the Web UI
|
|
328
|
-
|
|
329
|
-
```bash
|
|
330
|
-
codexmate run
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
By default it binds to `127.0.0.1`. To expose on LAN, use `--host` or `CODEXMATE_HOST`:
|
|
334
|
-
|
|
335
|
-
```bash
|
|
336
|
-
codexmate run --host 0.0.0.0
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
Then open `http://localhost:3737` (or your chosen host). Note: binding to `0.0.0.0` is unsafe on untrusted networks.
|
|
340
|
-
|
|
341
|
-
## FAQ
|
|
342
|
-
|
|
343
|
-
### Q: Which operating systems are supported?
|
|
344
|
-
|
|
345
|
-
A: Codex features support Windows and Linux (CLI and Web). Claude Code config applies to Windows / macOS / Linux (writes to `~/.claude/settings.json`).
|
|
346
|
-
|
|
347
|
-
### Q: Where are API keys stored?
|
|
348
|
-
|
|
349
|
-
A: API keys are stored locally in `~/.codex/config.toml` and are not uploaded.
|
|
350
|
-
|
|
351
|
-
### Q: Is the Web UI safe?
|
|
352
|
-
|
|
353
|
-
A: The Web UI runs locally; all operations happen on your machine. API keys are masked in the UI.
|
|
354
|
-
|
|
355
|
-
### Q: How do Claude Code configs take effect?
|
|
356
|
-
|
|
357
|
-
A: After clicking "Apply to Claude Config", it writes to `~/.claude/settings.json`. Restart Claude Code to apply.
|
|
358
|
-
|
|
359
|
-
### Q: How to uninstall?
|
|
360
|
-
|
|
361
|
-
A: Run `npm uninstall -g codexmate`.
|
|
362
|
-
|
|
363
|
-
## Extras: Compression/Extraction
|
|
364
|
-
|
|
365
|
-
Prefer 7-Zip for multithreaded zip/unzip. Fallback to the built-in JS library when unavailable.
|
|
366
|
-
|
|
367
|
-
```bash
|
|
368
|
-
# Compress file or folder (default compression level 5)
|
|
369
|
-
codexmate zip <path>
|
|
370
|
-
|
|
371
|
-
# Set compression level (0-9, 0=store only, 9=max)
|
|
372
|
-
codexmate zip <path> --max:9
|
|
373
|
-
|
|
374
|
-
# Unzip a zip file (default to same-level folder)
|
|
375
|
-
codexmate unzip <zip path>
|
|
376
|
-
|
|
377
|
-
# Unzip to a specific output directory
|
|
378
|
-
codexmate unzip <zip path> <output dir>
|
|
379
|
-
```
|
|
177
|
+
- Default: read-only tools
|
|
178
|
+
- Enable writes: `--allow-write` or `CODEXMATE_MCP_ALLOW_WRITE=1`
|
|
179
|
+
- Domains: `tools`, `resources`, `prompts`
|
|
380
180
|
|
|
381
181
|
Examples:
|
|
382
182
|
|
|
383
183
|
```bash
|
|
384
|
-
|
|
385
|
-
codexmate
|
|
386
|
-
|
|
387
|
-
# Max compression
|
|
388
|
-
codexmate zip ./my-project --max:9
|
|
389
|
-
|
|
390
|
-
# Store only (fast)
|
|
391
|
-
codexmate zip ./large-folder --max:0
|
|
392
|
-
|
|
393
|
-
# Unzip
|
|
394
|
-
codexmate unzip ./my-project.zip
|
|
395
|
-
|
|
396
|
-
# Unzip to a target location
|
|
397
|
-
codexmate unzip ./backup.zip D:/restored
|
|
184
|
+
codexmate mcp serve --read-only
|
|
185
|
+
codexmate mcp serve --allow-write
|
|
398
186
|
```
|
|
399
187
|
|
|
400
|
-
|
|
188
|
+
## Config Files
|
|
401
189
|
|
|
402
|
-
|
|
190
|
+
- `~/.codex/config.toml`
|
|
191
|
+
- `~/.codex/auth.json`
|
|
192
|
+
- `~/.codex/models.json`
|
|
193
|
+
- `~/.codex/provider-current-models.json`
|
|
194
|
+
- `~/.claude/settings.json`
|
|
195
|
+
- `~/.openclaw/openclaw.json`
|
|
196
|
+
- `~/.openclaw/workspace/AGENTS.md`
|
|
403
197
|
|
|
404
|
-
|
|
405
|
-
- **@iarna/toml** - TOML parser
|
|
406
|
-
- **Vue.js 3** - Web UI framework
|
|
407
|
-
- **Native HTTP** - Built-in Web server
|
|
198
|
+
## Environment Variables
|
|
408
199
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
200
|
+
| Variable | Default | Description |
|
|
201
|
+
| --- | --- | --- |
|
|
202
|
+
| `CODEXMATE_PORT` | `3737` | Web server port |
|
|
203
|
+
| `CODEXMATE_HOST` | `127.0.0.1` | Web listen host |
|
|
204
|
+
| `CODEXMATE_NO_BROWSER` | unset | Set `1` to disable browser auto-open |
|
|
205
|
+
| `CODEXMATE_MCP_ALLOW_WRITE` | unset | Set `1` to allow MCP write tools by default |
|
|
206
|
+
| `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | Set `1` to force bootstrap reset of existing config |
|
|
412
207
|
|
|
413
|
-
##
|
|
208
|
+
## Tech Stack
|
|
414
209
|
|
|
415
|
-
|
|
210
|
+
- Node.js
|
|
211
|
+
- Vue.js 3 (Web UI)
|
|
212
|
+
- Native HTTP server
|
|
213
|
+
- `@iarna/toml`, `json5`
|
|
416
214
|
|
|
417
215
|
## Contributing
|
|
418
216
|
|
|
419
217
|
Issues and pull requests are welcome.
|
|
420
218
|
|
|
421
|
-
|
|
219
|
+
- English changelog: `doc/CHANGELOG.md`
|
|
220
|
+
- Chinese changelog: `doc/CHANGELOG.zh-CN.md`
|
|
422
221
|
|
|
423
|
-
|
|
424
|
-
See [doc/CHANGELOG.zh-CN.md](doc/CHANGELOG.zh-CN.md) for the Chinese version.
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
Made with [ymkiux](https://github.com/ymkiux)
|
|
222
|
+
## License
|
|
429
223
|
|
|
224
|
+
Apache-2.0
|