codexmate 0.0.31 → 0.0.33
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.md +92 -308
- package/README.zh.md +94 -318
- package/cli/local-bridge.js +227 -0
- package/cli/update.js +162 -0
- package/cli.js +357 -112
- package/lib/cli-sessions.js +16 -6
- package/lib/win-tray.js +119 -0
- package/package.json +2 -2
- package/web-ui/app.js +4 -0
- package/web-ui/logic.sessions.mjs +17 -1
- package/web-ui/modules/app.computed.session.mjs +51 -315
- package/web-ui/modules/app.methods.agents.mjs +19 -0
- package/web-ui/modules/app.methods.claude-config.mjs +71 -2
- package/web-ui/modules/app.methods.codex-config.mjs +20 -0
- package/web-ui/modules/app.methods.providers.mjs +53 -7
- package/web-ui/modules/app.methods.session-actions.mjs +1 -1
- package/web-ui/modules/app.methods.session-browser.mjs +29 -1
- package/web-ui/modules/app.methods.startup-claude.mjs +4 -0
- package/web-ui/modules/i18n.dict.mjs +21 -3
- package/web-ui/partials/index/layout-header.html +1 -2
- package/web-ui/partials/index/modal-config-template-agents.html +12 -1
- package/web-ui/partials/index/modals-basic.html +14 -3
- package/web-ui/partials/index/panel-config-claude.html +57 -85
- package/web-ui/partials/index/panel-config-codex.html +60 -226
- package/web-ui/partials/index/panel-dashboard.html +0 -33
- package/web-ui/partials/index/panel-docs.html +21 -53
- package/web-ui/partials/index/panel-sessions.html +37 -20
- package/web-ui/partials/index/panel-trash.html +33 -38
- package/web-ui/partials/index/panel-usage.html +71 -304
- package/web-ui/styles/controls-forms.css +11 -0
- package/web-ui/styles/docs-panel.css +57 -83
- package/web-ui/styles/layout-shell.css +26 -24
- package/web-ui/styles/modals-core.css +33 -0
- package/web-ui/styles/responsive.css +5 -67
- package/web-ui/styles/sessions-list.css +274 -8
- package/web-ui/styles/sessions-toolbar-trash.css +185 -15
- package/web-ui/styles/sessions-usage.css +336 -788
package/README.md
CHANGED
|
@@ -1,362 +1,146 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="site/.vitepress/public/images/logo.png" alt="Codex Mate logo" width="
|
|
3
|
+
<img src="site/.vitepress/public/images/logo.png" alt="Codex Mate logo" width="160" />
|
|
4
4
|
|
|
5
5
|
# Codex Mate
|
|
6
6
|
|
|
7
|
-
**One dashboard for all your local AI coding
|
|
7
|
+
**One dashboard for all your local AI coding agents. Switch providers, manage sessions, and orchestrate tasks across Codex, Claude Code, and OpenClaw. Zero cloud, local-first control plane.**
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
[
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
[](https://nodejs.org/)
|
|
15
|
-
[](LICENSE)
|
|
16
|
-
[](https://github.com/SakuraByteCore/codexmate/stargazers)
|
|
17
|
-
[](https://github.com/SakuraByteCore/codexmate/issues)
|
|
9
|
+
<p>
|
|
10
|
+
<a href="https://sakurabytecore.github.io/codexmate/">[Documentation]</a>
|
|
11
|
+
<a href="#quick-start">[Quick Start]</a>
|
|
12
|
+
<a href="README.zh.md">[简体中文]</a>
|
|
13
|
+
</p>
|
|
18
14
|
|
|
19
|
-
[
|
|
15
|
+
[](https://www.npmjs.com/package/codexmate)
|
|
16
|
+
[](https://github.com/SakuraByteCore/codexmate/actions/workflows/release.yml)
|
|
17
|
+
[](https://www.npmjs.com/package/codexmate)
|
|
18
|
+
[](#quick-start)
|
|
19
|
+
[](https://nodejs.org/)
|
|
20
|
+
[](LICENSE)
|
|
21
|
+
[](https://github.com/SakuraByteCore/codexmate/stargazers)
|
|
22
|
+
[](https://github.com/SakuraByteCore/codexmate/issues)
|
|
20
23
|
|
|
21
24
|
<br />
|
|
22
|
-
|
|
25
|
+
|
|
26
|
+
<img src="site/.vitepress/public/images/readme-hero.png" alt="Codex Mate screenshot" width="100%" />
|
|
23
27
|
|
|
24
28
|
</div>
|
|
25
29
|
|
|
26
30
|
---
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Codex Mate is a local-first CLI + Web UI for unified management of:
|
|
31
|
-
|
|
32
|
-
- Codex provider/model switching and config writes
|
|
33
|
-
- OpenAI-compatible bridge mode for Codex Responses API conversion
|
|
34
|
-
- Claude Code profiles (writes to `~/.claude/settings.json`)
|
|
35
|
-
- Claude Code `CLAUDE.md` editing (writes to `~/.claude/CLAUDE.md`)
|
|
36
|
-
- OpenClaw JSON5 profiles and workspace `AGENTS.md`
|
|
37
|
-
- Local skills market for Codex / Claude Code (target switching, local skills management, cross-app import, ZIP distribution)
|
|
38
|
-
- Local Codex/Claude/Gemini CLI/CodeBuddy Code sessions (list/filter/export/delete) with Usage analytics overview
|
|
39
|
-
- Plugins (Prompt templates): reusable templates with variables and one-click copy
|
|
40
|
-
- Task orchestration: plan/queue/run/review local tasks
|
|
41
|
-
|
|
42
|
-
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
|
+
> [!TIP]
|
|
33
|
+
> **Local First**: All configurations and sessions are stored in your home directory. No telemetry, no cloud accounts required.
|
|
43
34
|
|
|
44
|
-
|
|
35
|
+
> [!IMPORTANT]
|
|
36
|
+
> This project is currently in early stage. We are seeking developers to help build the local agent ecosystem!
|
|
45
37
|
|
|
46
|
-
|
|
47
|
-
| --- | --- | --- |
|
|
48
|
-
| Multi-tool management | Codex + Claude Code + OpenClaw in one entry | Different files and folders per tool |
|
|
49
|
-
| Operation mode | CLI + local Web UI | Manual TOML/JSON/JSON5 edits |
|
|
50
|
-
| Session handling | Browse/filter/Usage analytics/export/batch cleanup | Manual file location and processing |
|
|
51
|
-
| Skills reuse | Local skills market + cross-app import + ZIP distribution | Manual folder copy and reconciliation |
|
|
52
|
-
| Operational visibility | Unified view of config, sessions, and Usage summaries | Depends on manual file inspection and scattered commands |
|
|
53
|
-
| Rollback readiness | Backup before first takeover | Easy to overwrite by mistake |
|
|
54
|
-
| Automation integration | MCP stdio (read-only by default) | Requires custom scripting |
|
|
55
|
-
|
|
56
|
-
## Core Features
|
|
57
|
-
|
|
58
|
-
**Configuration**
|
|
59
|
-
- Provider/model switching (`switch`, `use`)
|
|
60
|
-
- Codex `config.toml` template confirmation before write
|
|
61
|
-
- OpenAI bridge providers: write Codex to a local `/bridge/openai/<provider>/v1` endpoint and normalize Responses API requests for OpenAI-compatible upstreams
|
|
62
|
-
- Claude Code profile management and apply
|
|
63
|
-
- Claude Code `CLAUDE.md` editing (writes to `~/.claude/CLAUDE.md`)
|
|
64
|
-
- OpenClaw JSON5 profile management
|
|
65
|
-
|
|
66
|
-
**Session Management**
|
|
67
|
-
- Unified Codex + Claude + Gemini CLI + CodeBuddy Code session list
|
|
68
|
-
- Session locations (local-first, configurable):
|
|
69
|
-
- Codex: `~/.codex/sessions/*.jsonl` (or `$CODEX_HOME/sessions`, `$XDG_CONFIG_HOME/codex/sessions`)
|
|
70
|
-
- Claude: `~/.claude/projects/**/**/*.jsonl` (or `$CLAUDE_HOME/projects`, `$XDG_CONFIG_HOME/claude/projects`)
|
|
71
|
-
- Gemini: `~/.gemini/tmp/*/chats/*.json` (or `$GEMINI_HOME/tmp`, `$XDG_CONFIG_HOME/gemini/tmp`)
|
|
72
|
-
- CodeBuddy: `~/.codebuddy/projects/**/**/*.jsonl` (or `$CODEBUDDY_CODE_HOME_DIR/projects`)
|
|
73
|
-
- Local session pinning with persistent pinned state and pinned-first ordering
|
|
74
|
-
- Keyword/source/cwd/role/time filters, plus shareable filter links
|
|
75
|
-
- Copy resume command (Codex/Gemini/CodeBuddy): `codex resume <sessionId>` / `gemini -r <sessionId>` / `codebuddy -r <sessionId>`
|
|
76
|
-
- Fast search UX: short-lived query result caching to avoid rescanning on each keystroke
|
|
77
|
-
- Usage subview with 7d / 30d session trends, message trends, source share, and top paths
|
|
78
|
-
- Markdown export (Web UI + `codexmate export-session`, supports `--session-id` or `--file`)
|
|
79
|
-
- Session-level and message-level delete (supports batch), with a local recycle bin for restore/purge
|
|
80
|
-
- Large-session preview optimization (fast tail preview path)
|
|
81
|
-
|
|
82
|
-
**Skills Market**
|
|
83
|
-
- Switch the skills install target between Codex and Claude Code
|
|
84
|
-
- Inspect local installed skills, root paths, and status
|
|
85
|
-
- Scan importable sources from `Codex` / `Claude Code` / `Agents`
|
|
86
|
-
- Support cross-app import, ZIP import/export, and batch delete
|
|
87
|
-
|
|
88
|
-
**Plugins**
|
|
89
|
-
- Prompt templates: save, edit, and reuse prompts with variables
|
|
90
|
-
- Compose + copy workflow for fast prompt iteration (stored locally in browser storage)
|
|
91
|
-
|
|
92
|
-
**Engineering Utilities**
|
|
93
|
-
- MCP stdio domains (`tools`, `resources`, `prompts`)
|
|
94
|
-
- Automation hooks (`/hooks/*`) + outbound webhook notifiers
|
|
95
|
-
- Built-in proxy controls (`proxy`)
|
|
96
|
-
- OpenAI bridge conversion for Codex `/v1/responses` requests, including upstream `/responses` preference, `/chat/completions` fallback, and function-tool normalization
|
|
97
|
-
- Auth profile management (`auth`)
|
|
98
|
-
- Zip/unzip utilities
|
|
99
|
-
|
|
100
|
-
## Automation (signal → action)
|
|
101
|
-
|
|
102
|
-
When running `codexmate run`, you can accept external webhooks and convert them into queued tasks:
|
|
103
|
-
|
|
104
|
-
- Webhook entry: `POST /hooks/<source>` (currently `github`, `gitlab`)
|
|
105
|
-
- Rule config: `~/.codex/codexmate-automation.json`
|
|
106
|
-
- Supported action: `task.queue.add` (optionally `startQueue: true`)
|
|
107
|
-
- Notifications: `notifiers[]` supports `type: "webhook"` for Slack/Feishu-style incoming webhooks
|
|
108
|
-
|
|
109
|
-
## Architecture
|
|
38
|
+
## What is Codex Mate?
|
|
110
39
|
|
|
111
|
-
|
|
40
|
+
Have you ever felt overwhelmed by managing multiple local AI agents? Each has its own config format, session storage, and skills directory.
|
|
112
41
|
|
|
113
|
-
|
|
114
|
-
flowchart LR
|
|
115
|
-
subgraph You["You"]
|
|
116
|
-
CLI["CLI"]
|
|
117
|
-
WEB["Web UI"]
|
|
118
|
-
MCP["MCP (stdio)"]
|
|
119
|
-
end
|
|
42
|
+
**Codex Mate** offers a unified control plane to bring order to the chaos. It's a local-first CLI + Web UI designed to manage [Codex](https://github.com/openai/codex)、[Claude Code](https://github.com/anthropic-ai/claude-code) and [OpenClaw](https://github.com/moeru-ai/openclaw) seamlessly.
|
|
120
43
|
|
|
121
|
-
|
|
122
|
-
API["Local HTTP API"]
|
|
123
|
-
CFG["Config management"]
|
|
124
|
-
SESS["Sessions & Usage"]
|
|
125
|
-
SKL["Skills management"]
|
|
126
|
-
PLG["Plugins: Prompt templates"]
|
|
127
|
-
end
|
|
44
|
+
### What's So Special?
|
|
128
45
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
STATE["sessions / usage / trash / runs"]
|
|
135
|
-
BROWSER["Browser storage (templates)"]
|
|
136
|
-
end
|
|
46
|
+
Unlike simple wrappers, Codex Mate acts as a **Local Agent Bridge**:
|
|
47
|
+
- **Unified Session Browser**: Search and export sessions across all tools in one place.
|
|
48
|
+
- **OpenAI-Compatible Bridge**: Use Codex with any OpenAI-compatible UI by normalizing the Responses API.
|
|
49
|
+
- **Skills Marketplace**: A local-first market to share and import skills between different agent apps.
|
|
50
|
+
- **Task Orchestrator**: Plan and execute complex tasks with dependency tracking.
|
|
137
51
|
|
|
138
|
-
|
|
139
|
-
WEB --> API
|
|
140
|
-
MCP --> API
|
|
141
|
-
WEB --> PLG
|
|
142
|
-
|
|
143
|
-
API --> CFG
|
|
144
|
-
API --> SESS
|
|
145
|
-
API --> SKL
|
|
146
|
-
PLG --> BROWSER
|
|
147
|
-
|
|
148
|
-
CFG --> CODEX
|
|
149
|
-
CFG --> CLAUDE
|
|
150
|
-
CFG --> OPENCLAW
|
|
151
|
-
SKL --> SKILLS
|
|
152
|
-
SESS --> STATE
|
|
153
|
-
```
|
|
52
|
+
---
|
|
154
53
|
|
|
155
|
-
|
|
54
|
+
## Current Progress
|
|
156
55
|
|
|
157
|
-
|
|
|
56
|
+
| Feature | Status | Description |
|
|
158
57
|
| --- | --- | --- |
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
|
|
|
162
|
-
|
|
|
163
|
-
|
|
|
58
|
+
| **Provider Management** | ✅ | Switch providers/models for Codex, Claude, and OpenClaw |
|
|
59
|
+
| **Live Agent Sync** | ✅ | Real-time monitoring of Codex/Claude config & status |
|
|
60
|
+
| **Session Browser** | ✅ | List, filter, and export sessions (Codex/Claude/Gemini) |
|
|
61
|
+
| **Usage Analytics** | ✅ | Visualize message trends and top projects |
|
|
62
|
+
| **Local Skills Market** | ✅ | Cross-app import/export of agent skills |
|
|
63
|
+
| **Task Queue** | ✅ | DAG-based task execution and logs |
|
|
64
|
+
| **OpenAI Bridge** | ✅ | Convert Codex Responses API to standard OpenAI format |
|
|
65
|
+
| **Prompt Templates** | ✅ | Reusable prompt plugins with variables |
|
|
66
|
+
| **MCP Integration** | ✅ | Expose local tools and resources via MCP stdio |
|
|
67
|
+
| **Auto Update** | ✅ | Quick update CLI via `codexmate update` |
|
|
68
|
+
|
|
69
|
+
---
|
|
164
70
|
|
|
165
71
|
## Quick Start
|
|
166
72
|
|
|
167
|
-
### Install
|
|
73
|
+
### Install via npm
|
|
168
74
|
|
|
169
75
|
```bash
|
|
170
76
|
npm install -g codexmate
|
|
171
77
|
codexmate setup
|
|
172
|
-
codexmate status
|
|
173
78
|
codexmate run
|
|
174
79
|
```
|
|
175
80
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
> 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`.
|
|
179
|
-
|
|
180
|
-
### Install via curl (standalone)
|
|
181
|
-
|
|
182
|
-
No npm required. Downloads a self-contained tarball with `node_modules` bundled:
|
|
81
|
+
### Install via curl (Standalone)
|
|
183
82
|
|
|
184
83
|
```bash
|
|
185
84
|
curl -fsSL https://raw.githubusercontent.com/SakuraByteCore/codexmate/main/scripts/install.sh | bash
|
|
186
85
|
```
|
|
187
86
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
| Variable | Default | Description |
|
|
191
|
-
| --- | --- | --- |
|
|
192
|
-
| `CODEXMATE_INSTALL_DIR` | `~/.codexmate` | Installation directory |
|
|
193
|
-
| `CODEXMATE_BIN_DIR` | `~/.local/bin` | Symlink directory |
|
|
194
|
-
|
|
195
|
-
### Install Codex CLI / Claude Code CLI (optional)
|
|
196
|
-
|
|
197
|
-
Codex Mate can pass through to the official CLIs (e.g. `codexmate codex ...`). Install them first:
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
# Codex CLI (default)
|
|
201
|
-
npm install -g @openai/codex
|
|
202
|
-
|
|
203
|
-
# Codex CLI on Termux (Android)
|
|
204
|
-
npm install -g @mmmbuto/codex-cli-termux@latest
|
|
205
|
-
|
|
206
|
-
# Claude Code
|
|
207
|
-
npm install -g @anthropic-ai/claude-code
|
|
208
|
-
|
|
209
|
-
# Gemini CLI
|
|
210
|
-
npm install -g @google/gemini-cli
|
|
211
|
-
|
|
212
|
-
# CodeBuddy Code
|
|
213
|
-
npm install -g @tencent-ai/codebuddy-code
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Run from source
|
|
217
|
-
|
|
218
|
-
```bash
|
|
219
|
-
git clone https://github.com/SakuraByteCore/codexmate.git
|
|
220
|
-
cd codexmate
|
|
221
|
-
npm install
|
|
222
|
-
npm start run
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### Tests / CI (service only)
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
npm start run --no-browser
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
> Convention: automated tests validate service and API behavior only, without opening browser pages.
|
|
232
|
-
|
|
233
|
-
### Developer helper scripts
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
npm run reset
|
|
237
|
-
npm run reset 79
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
- `npm run reset`: reset to default `origin/main`
|
|
241
|
-
- `npm run reset 79`: sync directly to the latest head snapshot of PR `#79`
|
|
242
|
-
- The script also handles local branch switching, workspace cleanup, untracked file cleanup, and final state validation
|
|
243
|
-
|
|
244
|
-
## Command Reference
|
|
245
|
-
|
|
246
|
-
| Command | Description |
|
|
247
|
-
| --- | --- |
|
|
248
|
-
| `codexmate status` | Show current config status |
|
|
249
|
-
| `codexmate setup` | Interactive setup |
|
|
250
|
-
| `codexmate list` / `codexmate models` | List providers / models |
|
|
251
|
-
| `codexmate switch <provider>` / `codexmate use <model>` | Switch provider / model |
|
|
252
|
-
| `codexmate add <name> <URL> [API_KEY] [--bridge openai]` | Add provider; `--bridge openai` creates a local Codex Responses-compatible bridge for OpenAI-style upstreams |
|
|
253
|
-
| `codexmate delete <name>` | Delete provider |
|
|
254
|
-
| `codexmate claude <BaseURL> <API_KEY> [model]` | Write Claude Code config |
|
|
255
|
-
| `codexmate auth <list\|import\|switch\|delete\|status>` | Auth profile management |
|
|
256
|
-
| `codexmate workflow <list\|get\|validate\|run\|runs>` | MCP workflow management |
|
|
257
|
-
| `codexmate codex [args...] [--follow-up <text> repeatable]` | Codex CLI passthrough entrypoint (auto-adds `--yolo`, supports queued follow-up appends) |
|
|
258
|
-
| `codexmate qwen [args...]` | Qwen CLI passthrough entrypoint |
|
|
259
|
-
| `codexmate run [--host <HOST>] [--no-browser]` | Start Web UI |
|
|
260
|
-
| `codexmate mcp serve [--read-only\|--allow-write]` | Start MCP stdio server |
|
|
261
|
-
| `codexmate export-session --source <codex\|claude\|gemini\|codebuddy> ...` | Export session to Markdown |
|
|
262
|
-
| `codexmate zip <path> [--max:0-9]` / `codexmate unzip <zip> [out]` | Zip / unzip |
|
|
263
|
-
| `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) |
|
|
264
|
-
|
|
265
|
-
### Codex Follow-up Append (Optional)
|
|
266
|
-
|
|
267
|
-
```bash
|
|
268
|
-
codexmate codex --follow-up "scan repository first" --follow-up "then fix failing tests"
|
|
269
|
-
codexmate codex --model gpt-5.3-codex --follow-up "step1" --follow-up "step2"
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
> Note: both `--follow-up` and `--queued-follow-up` are accepted and repeatable.
|
|
273
|
-
|
|
274
|
-
## Web UI
|
|
87
|
+
### Supported Agents
|
|
275
88
|
|
|
276
|
-
|
|
277
|
-
-
|
|
278
|
-
-
|
|
279
|
-
-
|
|
280
|
-
- `~/.codex/AGENTS.md` editing
|
|
89
|
+
- **Codex**: `npm install -g @openai/codex`
|
|
90
|
+
- **Claude Code**: `npm install -g @anthropic-ai/claude-code`
|
|
91
|
+
- **Gemini CLI**: `npm install -g @google/gemini-cli`
|
|
92
|
+
- **CodeBuddy**: `npm install -g @tencent-ai/codebuddy-code`
|
|
281
93
|
|
|
282
|
-
|
|
283
|
-
- Multi-profile management
|
|
284
|
-
- Default write to `~/.claude/settings.json`
|
|
285
|
-
- `~/.claude/CLAUDE.md` editing
|
|
286
|
-
- Shareable import command copy
|
|
287
|
-
|
|
288
|
-
### OpenClaw Mode
|
|
289
|
-
- JSON5 multi-profile management
|
|
290
|
-
- Apply to `~/.openclaw/openclaw.json`
|
|
291
|
-
- Manage `~/.openclaw/workspace/AGENTS.md`
|
|
292
|
-
|
|
293
|
-
### Plugins Mode (Prompt Templates)
|
|
294
|
-
- Entry: switch to **Plugins** → **Prompt Templates**
|
|
295
|
-
- Manage custom templates (JSON import/export)
|
|
296
|
-
- Variables: in **Manage**, you can “Add variable” (inserts `{{var}}`) and fill variable values in the Variables panel
|
|
297
|
-
- Generate & copy: after filling variables, copy the final rendered prompt from **Preview**
|
|
298
|
-
- Built-in template: ships a single read-only template for light code-comment polishing
|
|
299
|
-
|
|
300
|
-
### Sessions Mode
|
|
301
|
-
- Unified Codex + Claude sessions
|
|
302
|
-
- Browser / Usage subview switching
|
|
303
|
-
- Local pin/unpin with persistent storage and pinned-first ordering
|
|
304
|
-
- Search, filter, export, delete, batch cleanup
|
|
305
|
-
- Usage view includes 7d / 30d session trends, message trends, source share, and top paths
|
|
306
|
-
|
|
307
|
-
### Skills Market Tab
|
|
308
|
-
- Switch the skills install target between `Codex` and `Claude Code`
|
|
309
|
-
- Show the current local skills root, installed items, and importable items
|
|
310
|
-
- Scan importable sources under `Codex` / `Claude Code` / `Agents`
|
|
311
|
-
- Support cross-app import, ZIP import/export, and batch delete
|
|
312
|
-
|
|
313
|
-
## MCP
|
|
314
|
-
|
|
315
|
-
> Transport: `stdio`
|
|
94
|
+
---
|
|
316
95
|
|
|
317
|
-
|
|
318
|
-
- Enable writes: `--allow-write` or `CODEXMATE_MCP_ALLOW_WRITE=1`
|
|
319
|
-
- Domains: `tools`, `resources`, `prompts`
|
|
96
|
+
## Architecture
|
|
320
97
|
|
|
321
|
-
|
|
98
|
+
```mermaid
|
|
99
|
+
%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%
|
|
100
|
+
flowchart TD
|
|
101
|
+
User([User])
|
|
102
|
+
CLI[CLI]
|
|
103
|
+
WebUI[Web UI]
|
|
104
|
+
MCP[MCP Server]
|
|
105
|
+
|
|
106
|
+
subgraph Mate [Codex Mate Core]
|
|
107
|
+
API[HTTP API]
|
|
108
|
+
Config[Config Engine]
|
|
109
|
+
Session[Session Manager]
|
|
110
|
+
Skills[Skills Market]
|
|
111
|
+
Tasks[Task Runner]
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
subgraph Local [Local Filesystem]
|
|
115
|
+
CodexDir[~/.codex]
|
|
116
|
+
ClaudeDir[~/.claude]
|
|
117
|
+
ClawDir[~/.openclaw]
|
|
118
|
+
State[Sessions/Usage/Trash]
|
|
119
|
+
end
|
|
322
120
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
121
|
+
User --> CLI & WebUI & MCP
|
|
122
|
+
CLI & WebUI & MCP --> API
|
|
123
|
+
|
|
124
|
+
API --> Config & Session & Skills & Tasks
|
|
125
|
+
|
|
126
|
+
Config --> CodexDir & ClaudeDir & ClawDir
|
|
127
|
+
Session --> State
|
|
128
|
+
Skills --> Local
|
|
326
129
|
```
|
|
327
130
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
- `~/.codex/config.toml`
|
|
331
|
-
- `~/.codex/auth.json`
|
|
332
|
-
- `~/.codex/models.json`
|
|
333
|
-
- `~/.codex/provider-current-models.json`
|
|
334
|
-
- `~/.codex/codexmate-openai-bridge.json`
|
|
335
|
-
- `~/.claude/settings.json`
|
|
336
|
-
- `~/.claude/CLAUDE.md`
|
|
337
|
-
- `~/.openclaw/openclaw.json`
|
|
338
|
-
- `~/.openclaw/workspace/AGENTS.md`
|
|
339
|
-
|
|
340
|
-
## Environment Variables
|
|
131
|
+
---
|
|
341
132
|
|
|
342
|
-
|
|
343
|
-
| --- | --- | --- |
|
|
344
|
-
| `CODEXMATE_PORT` | `3737` | Web server port |
|
|
345
|
-
| `CODEXMATE_HOST` | `0.0.0.0` | Web listen host (set `127.0.0.1` for local-only access) |
|
|
346
|
-
| `CODEXMATE_NO_BROWSER` | unset | Set `1` to disable browser auto-open |
|
|
347
|
-
| `CODEXMATE_MCP_ALLOW_WRITE` | unset | Set `1` to allow MCP write tools by default |
|
|
348
|
-
| `CODEXMATE_FORCE_RESET_EXISTING_CONFIG` | `0` | Set `1` to force bootstrap reset of existing config |
|
|
133
|
+
## Special Thanks
|
|
349
134
|
|
|
350
|
-
|
|
135
|
+
Special thanks to all contributors for their contributions to Codex Mate ❤️
|
|
351
136
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
- `@iarna/toml`, `json5`
|
|
137
|
+
<a href="https://github.com/SakuraByteCore/codexmate/graphs/contributors">
|
|
138
|
+
<img src="https://contrib.rocks/image?repo=SakuraByteCore/codexmate" />
|
|
139
|
+
</a>
|
|
356
140
|
|
|
357
|
-
##
|
|
141
|
+
## Star History
|
|
358
142
|
|
|
359
|
-
|
|
143
|
+
[](https://star-history.com/#SakuraByteCore/codexmate&Date)
|
|
360
144
|
|
|
361
145
|
## License
|
|
362
146
|
|