codexmate 0.0.13 → 0.0.15
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 +213 -0
- package/README.md +147 -346
- package/cli.js +3163 -224
- package/doc/CHANGELOG.md +13 -1
- package/doc/CHANGELOG.zh-CN.md +14 -0
- package/lib/cli-utils.js +16 -0
- package/lib/workflow-engine.js +340 -0
- package/package.json +10 -3
- package/web-ui/app.js +275 -65
- package/web-ui/index.html +279 -33
- package/web-ui/logic.mjs +147 -1
- 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 +648 -10
- package/README.zh-CN.md +0 -419
package/README.en.md
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Codex Mate
|
|
4
|
+
|
|
5
|
+
**Local configuration and session manager for Codex / Claude Code / OpenClaw**
|
|
6
|
+
|
|
7
|
+
> Current version: `v0.0.15`
|
|
8
|
+
|
|
9
|
+
[](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
|
|
10
|
+
[](https://www.npmjs.com/package/codexmate)
|
|
11
|
+
[](https://www.npmjs.com/package/codexmate)
|
|
12
|
+
[](LICENSE)
|
|
13
|
+
[](https://nodejs.org)
|
|
14
|
+
|
|
15
|
+
[Quick Start](#quick-start) · [Commands](#command-reference) · [Web UI](#web-ui) · [MCP](#mcp) · [中文](README.md)
|
|
16
|
+
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## What Is This?
|
|
22
|
+
|
|
23
|
+
Codex Mate is a local-first CLI + Web UI for unified management of:
|
|
24
|
+
|
|
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
|
|
30
|
+
|
|
31
|
+
It works on local files directly and does not require cloud hosting.
|
|
32
|
+
|
|
33
|
+
## Why Codex Mate?
|
|
34
|
+
|
|
35
|
+
| Dimension | Codex Mate | Manual File Editing |
|
|
36
|
+
| --- | --- | --- |
|
|
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
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm install -g codexmate
|
|
94
|
+
codexmate setup
|
|
95
|
+
codexmate status
|
|
96
|
+
codexmate run
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Default listen address is `127.0.0.1:3737`, and browser auto-open is enabled by default.
|
|
100
|
+
|
|
101
|
+
### Run from source
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
git clone https://github.com/SakuraByteCore/codexmate.git
|
|
105
|
+
cd codexmate
|
|
106
|
+
npm install
|
|
107
|
+
npm link
|
|
108
|
+
codexmate run
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Tests / CI (service only)
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
codexmate run --no-browser
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
> Convention: automated tests validate service and API behavior only, without opening browser pages.
|
|
118
|
+
|
|
119
|
+
## Command Reference
|
|
120
|
+
|
|
121
|
+
| Command | Description |
|
|
122
|
+
| --- | --- |
|
|
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 qwen [args...]` | Qwen CLI passthrough entrypoint |
|
|
134
|
+
| `codexmate run [--host <HOST>] [--no-browser]` | Start Web UI |
|
|
135
|
+
| `codexmate mcp serve [--read-only\|--allow-write]` | Start MCP stdio server |
|
|
136
|
+
| `codexmate export-session --source <codex\|claude> ...` | Export session to Markdown |
|
|
137
|
+
| `codexmate zip <path> [--max:0-9]` / `codexmate unzip <zip> [out]` | Zip / unzip |
|
|
138
|
+
|
|
139
|
+
## Web UI
|
|
140
|
+
|
|
141
|
+
### Codex Mode
|
|
142
|
+
- Provider/model switching
|
|
143
|
+
- Model list management
|
|
144
|
+
- `~/.codex/AGENTS.md` editing
|
|
145
|
+
- `~/.codex/skills` management (filter, batch delete, cross-app import)
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
### Claude Code Mode
|
|
149
|
+
- Multi-profile management
|
|
150
|
+
- Default write to `~/.claude/settings.json`
|
|
151
|
+
- Shareable import command copy
|
|
152
|
+
|
|
153
|
+
### OpenClaw Mode
|
|
154
|
+
- JSON5 multi-profile management
|
|
155
|
+
- Apply to `~/.openclaw/openclaw.json`
|
|
156
|
+
- Manage `~/.openclaw/workspace/AGENTS.md`
|
|
157
|
+
|
|
158
|
+
### Sessions Mode
|
|
159
|
+
- Unified Codex + Claude sessions
|
|
160
|
+
- Search, filter, export, delete, batch cleanup
|
|
161
|
+
|
|
162
|
+
## MCP
|
|
163
|
+
|
|
164
|
+
> Transport: `stdio`
|
|
165
|
+
|
|
166
|
+
- Default: read-only tools
|
|
167
|
+
- Enable writes: `--allow-write` or `CODEXMATE_MCP_ALLOW_WRITE=1`
|
|
168
|
+
- Domains: `tools`, `resources`, `prompts`
|
|
169
|
+
|
|
170
|
+
Examples:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
codexmate mcp serve --read-only
|
|
174
|
+
codexmate mcp serve --allow-write
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Config Files
|
|
178
|
+
|
|
179
|
+
- `~/.codex/config.toml`
|
|
180
|
+
- `~/.codex/auth.json`
|
|
181
|
+
- `~/.codex/models.json`
|
|
182
|
+
- `~/.codex/provider-current-models.json`
|
|
183
|
+
- `~/.claude/settings.json`
|
|
184
|
+
- `~/.openclaw/openclaw.json`
|
|
185
|
+
- `~/.openclaw/workspace/AGENTS.md`
|
|
186
|
+
|
|
187
|
+
## Environment Variables
|
|
188
|
+
|
|
189
|
+
| Variable | Default | Description |
|
|
190
|
+
| --- | --- | --- |
|
|
191
|
+
| `CODEXMATE_PORT` | `3737` | Web server port |
|
|
192
|
+
| `CODEXMATE_HOST` | `127.0.0.1` | Web listen host |
|
|
193
|
+
| `CODEXMATE_NO_BROWSER` | unset | Set `1` to disable browser auto-open |
|
|
194
|
+
| `CODEXMATE_MCP_ALLOW_WRITE` | unset | Set `1` to allow MCP write tools by default |
|
|
195
|
+
| `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | Set `1` to force bootstrap reset of existing config |
|
|
196
|
+
|
|
197
|
+
## Tech Stack
|
|
198
|
+
|
|
199
|
+
- Node.js
|
|
200
|
+
- Vue.js 3 (Web UI)
|
|
201
|
+
- Native HTTP server
|
|
202
|
+
- `@iarna/toml`, `json5`
|
|
203
|
+
|
|
204
|
+
## Contributing
|
|
205
|
+
|
|
206
|
+
Issues and pull requests are welcome.
|
|
207
|
+
|
|
208
|
+
- English changelog: `doc/CHANGELOG.md`
|
|
209
|
+
- Chinese changelog: `doc/CHANGELOG.zh-CN.md`
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
Apache-2.0
|