codexmate 0.0.3 → 0.0.4
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/.github/workflows/release.yml +42 -42
- package/README.md +93 -74
- package/README.zh-CN.md +96 -77
- package/cli.js +237 -66
- package/cmd/publish-npm.cmd +65 -65
- package/package.json +27 -25
- package/res/screenshot.png +0 -0
- package/web-ui.html +494 -131
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
name: release
|
|
1
|
+
name: release
|
|
2
2
|
run-name: "${{ github.event.repository.name }} ${{ inputs.tag }}"
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
inputs:
|
|
6
|
-
tag:
|
|
7
|
-
description: 'Tag to release (e.g., v0.0.1)'
|
|
8
|
-
required: true
|
|
9
|
-
permissions:
|
|
10
|
-
contents: write
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
release:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- name: Checkout tag
|
|
17
|
-
uses: actions/checkout@v4
|
|
18
|
-
with:
|
|
19
|
-
ref: ${{ inputs.tag }}
|
|
20
|
-
fetch-depth: 0
|
|
21
|
-
- uses: actions/setup-node@v4
|
|
22
|
-
with:
|
|
23
|
-
node-version: '18'
|
|
24
|
-
cache: 'npm'
|
|
25
|
-
- name: Verify tag matches package.json version
|
|
26
|
-
run: |
|
|
27
|
-
node -e "const pkg=require('./package.json'); const tag='${{ inputs.tag }}'; const expected='v'+pkg.version; if(tag!==expected){ console.error('Tag '+tag+' does not match package.json version '+expected); process.exit(1);} console.log('Tag matches '+expected);"
|
|
28
|
-
- name: Compute release name
|
|
29
|
-
run: |
|
|
30
|
-
node -e "const p=require('./package.json'); const tag='${{ inputs.tag }}'; const name=p.name.includes('/')? p.name.split('/')[1]: p.name; const value=name+' '+tag; console.log('RELEASE_NAME='+value);" >> "$GITHUB_ENV"
|
|
31
|
-
- name: Pack npm artifact
|
|
32
|
-
run: |
|
|
33
|
-
name=$(node -e "const p=require('./package.json'); const n=p.name.replace('@','').replace('/','-'); process.stdout.write(n+'-'+p.version+'.tgz');")
|
|
34
|
-
npm pack
|
|
35
|
-
test -f "$name"
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
tag:
|
|
7
|
+
description: 'Tag to release (e.g., v0.0.1)'
|
|
8
|
+
required: true
|
|
9
|
+
permissions:
|
|
10
|
+
contents: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
release:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout tag
|
|
17
|
+
uses: actions/checkout@v4
|
|
18
|
+
with:
|
|
19
|
+
ref: ${{ inputs.tag }}
|
|
20
|
+
fetch-depth: 0
|
|
21
|
+
- uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: '18'
|
|
24
|
+
cache: 'npm'
|
|
25
|
+
- name: Verify tag matches package.json version
|
|
26
|
+
run: |
|
|
27
|
+
node -e "const pkg=require('./package.json'); const tag='${{ inputs.tag }}'; const expected='v'+pkg.version; if(tag!==expected){ console.error('Tag '+tag+' does not match package.json version '+expected); process.exit(1);} console.log('Tag matches '+expected);"
|
|
28
|
+
- name: Compute release name
|
|
29
|
+
run: |
|
|
30
|
+
node -e "const p=require('./package.json'); const tag='${{ inputs.tag }}'; const name=p.name.includes('/')? p.name.split('/')[1]: p.name; const value=name+' '+tag; console.log('RELEASE_NAME='+value);" >> "$GITHUB_ENV"
|
|
31
|
+
- name: Pack npm artifact
|
|
32
|
+
run: |
|
|
33
|
+
name=$(node -e "const p=require('./package.json'); const n=p.name.replace('@','').replace('/','-'); process.stdout.write(n+'-'+p.version+'.tgz');")
|
|
34
|
+
npm pack
|
|
35
|
+
test -f "$name"
|
|
36
36
|
echo "PACKAGE_TGZ=$name" >> "$GITHUB_ENV"
|
|
37
|
-
- name: Create GitHub Release
|
|
38
|
-
uses: softprops/action-gh-release@v2
|
|
39
|
-
with:
|
|
40
|
-
tag_name: ${{ inputs.tag }}
|
|
41
|
-
name: ${{ env.RELEASE_NAME }}
|
|
42
|
-
prerelease: false
|
|
43
|
-
draft: false
|
|
44
|
-
files: ${{ env.PACKAGE_TGZ }}
|
|
37
|
+
- name: Create GitHub Release
|
|
38
|
+
uses: softprops/action-gh-release@v2
|
|
39
|
+
with:
|
|
40
|
+
tag_name: ${{ inputs.tag }}
|
|
41
|
+
name: ${{ env.RELEASE_NAME }}
|
|
42
|
+
prerelease: false
|
|
43
|
+
draft: false
|
|
44
|
+
files: ${{ env.PACKAGE_TGZ }}
|
|
45
45
|
generate_release_notes: true
|
package/README.md
CHANGED
|
@@ -2,16 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
> A lightweight AI configuration assistant: CLI + Web to manage Codex providers/models and Claude Code configs
|
|
4
4
|
|
|
5
|
-
[](https://github.com/ymkiux/codexmate/actions/workflows/release.yml) [](https://www.npmjs.com/package/codexmate) [](https://github.com/ymkiux/codexmate)
|
|
5
|
+
[](https://github.com/ymkiux/codexmate/actions/workflows/release.yml) [](https://www.npmjs.com/package/codexmate) [](https://github.com/ymkiux/codexmate)
|
|
6
6
|
[](https://github.com/ymkiux/codexmate/commits) [](LICENSE) [](https://nodejs.org)
|
|
7
7
|
|
|
8
8
|
English | [Chinese](README.zh-CN.md)
|
|
9
9
|
|
|
10
|
-
## Overview
|
|
11
|
-
|
|
12
|
-
If you frequently switch between models, providers, or configuration profiles, Codex Mate turns that into a single command or a single click.
|
|
13
|
-
|
|
14
|
-
##
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
If you frequently switch between models, providers, or configuration profiles, Codex Mate turns that into a single command or a single click.
|
|
13
|
+
|
|
14
|
+
## Release Notes (0.0.4)
|
|
15
|
+
|
|
16
|
+
- Added OpenClaw config mode with JSON5 profiles and one-click apply
|
|
17
|
+
- Added OpenClaw workspace AGENTS.md management
|
|
18
|
+
- Added JSON5 parsing dependency
|
|
19
|
+
|
|
20
|
+
## What You Get
|
|
15
21
|
|
|
16
22
|
- Faster provider/model switching
|
|
17
23
|
- More controllable local configuration management
|
|
@@ -20,49 +26,51 @@ If you frequently switch between models, providers, or configuration profiles, C
|
|
|
20
26
|
|
|
21
27
|
## Feature Overview
|
|
22
28
|
|
|
23
|
-
| Module | Problem | Key Capabilities |
|
|
24
|
-
| --- | --- | --- |
|
|
25
|
-
| Codex Config | Switching providers/models is painful | Provider/model switching, model management, CLI + Web entry points, template-confirmed writes |
|
|
26
|
-
| Claude Code Config | Multiple profiles and inconsistent write paths | Profile management, default write to `~/.claude/settings.json`, compatibility mode env vars |
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
+
| Module | Problem | Key Capabilities |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| Codex Config | Switching providers/models is painful | Provider/model switching, model management, CLI + Web entry points, template-confirmed writes |
|
|
32
|
+
| Claude Code Config | Multiple profiles and inconsistent write paths | Profile management, default write to `~/.claude/settings.json`, compatibility mode env vars |
|
|
33
|
+
| OpenClaw Config | OpenClaw configs are scattered | JSON5 profiles, apply to `~/.openclaw/openclaw.json`, AGENTS workspace management |
|
|
34
|
+
| Session Browser | Local sessions are hard to track | List/filter sessions, export to Markdown, delete and batch cleanup |
|
|
35
|
+
| Utilities | Compression/extraction requires extra tools | Multithreaded compress/unzip via 7-Zip |
|
|
29
36
|
|
|
30
37
|
## Why Codex Mate
|
|
31
38
|
|
|
32
|
-
- Focused on
|
|
39
|
+
- Focused on three jobs: Codex provider/model switching + Claude Code config apply + OpenClaw config apply
|
|
33
40
|
- Local-first: configs and API keys are written to local files, not the cloud
|
|
34
41
|
- Lightweight: CLI + Web, no desktop app required
|
|
35
42
|
- Reversible: auto-backup before first takeover
|
|
36
43
|
|
|
37
44
|
## Use Cases
|
|
38
45
|
|
|
39
|
-
- Frequent provider/model switching, want a one-command flow
|
|
40
|
-
- Use both Codex and Claude Code, want a single entry point
|
|
41
|
-
-
|
|
42
|
-
-
|
|
46
|
+
- Frequent provider/model switching, want a one-command flow
|
|
47
|
+
- Use both Codex and Claude Code, want a single entry point
|
|
48
|
+
- Use OpenClaw with multiple profiles, want quick switching
|
|
49
|
+
- Multi-project or multi-environment setups that need quick config changes
|
|
50
|
+
- Want a visual UI without a heavy client
|
|
43
51
|
|
|
44
52
|
## Scope and Boundaries
|
|
45
53
|
|
|
46
|
-
- Only configuration management for Codex
|
|
54
|
+
- Only configuration management for Codex, Claude Code, and OpenClaw, not a full all-in-one tool suite
|
|
47
55
|
- No built-in proxy/relay/billing dashboard/cloud sync (kept lightweight)
|
|
48
56
|
- Web UI runs only when you start it (`codexmate start`)
|
|
49
57
|
|
|
50
58
|
## Quick Start
|
|
51
59
|
|
|
52
|
-
1. Install (global):
|
|
53
|
-
```bash
|
|
54
|
-
npm install -g codexmate
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Or run once without install:
|
|
58
|
-
```bash
|
|
59
|
-
npx codexmate@latest status
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
2. Check status:
|
|
63
|
-
```bash
|
|
64
|
-
codexmate status
|
|
65
|
-
```
|
|
60
|
+
1. Install (global):
|
|
61
|
+
```bash
|
|
62
|
+
npm install -g codexmate
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Or run once without install:
|
|
66
|
+
```bash
|
|
67
|
+
npx codexmate@latest status
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
2. Check status:
|
|
71
|
+
```bash
|
|
72
|
+
codexmate status
|
|
73
|
+
```
|
|
66
74
|
|
|
67
75
|
3. Start the Web UI:
|
|
68
76
|
```bash
|
|
@@ -77,22 +85,22 @@ Then open `http://localhost:3737` in your browser.
|
|
|
77
85
|
|
|
78
86
|
## Install
|
|
79
87
|
|
|
80
|
-
### Global (Recommended)
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
npm install -g codexmate
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Package name on npm: `codexmate`.
|
|
87
|
-
|
|
88
|
-
### Run with npx (No Install)
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
npx codexmate@latest status
|
|
92
|
-
npx codexmate@latest start
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### From Source
|
|
88
|
+
### Global (Recommended)
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm install -g codexmate
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Package name on npm: `codexmate`.
|
|
95
|
+
|
|
96
|
+
### Run with npx (No Install)
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npx codexmate@latest status
|
|
100
|
+
npx codexmate@latest start
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### From Source
|
|
96
104
|
|
|
97
105
|
```bash
|
|
98
106
|
git clone https://github.com/ymkiux/codexmate.git
|
|
@@ -139,14 +147,20 @@ codexmate start
|
|
|
139
147
|
- Add/delete custom providers
|
|
140
148
|
- Supports Codex config management on Linux/Windows
|
|
141
149
|
|
|
142
|
-
### Claude Code Config Mode (Windows / macOS / Linux)
|
|
143
|
-
|
|
144
|
-
- Manage multiple Claude Code profiles
|
|
145
|
-
- Configure API key, Base URL, and model
|
|
146
|
-
- Default write to `env` in `~/.claude/settings.json`: `env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_AUTH_TOKEN` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL` / `env.CLAUDE_CODE_USE_KEY`
|
|
147
|
-
- Compatibility mode: write to system environment variables (useful for legacy workflows or specific Windows cases)
|
|
148
|
-
|
|
149
|
-
###
|
|
150
|
+
### Claude Code Config Mode (Windows / macOS / Linux)
|
|
151
|
+
|
|
152
|
+
- Manage multiple Claude Code profiles
|
|
153
|
+
- Configure API key, Base URL, and model
|
|
154
|
+
- Default write to `env` in `~/.claude/settings.json`: `env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_AUTH_TOKEN` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL` / `env.CLAUDE_CODE_USE_KEY`
|
|
155
|
+
- Compatibility mode: write to system environment variables (useful for legacy workflows or specific Windows cases)
|
|
156
|
+
|
|
157
|
+
### OpenClaw Config Mode
|
|
158
|
+
|
|
159
|
+
- Manage multiple OpenClaw JSON5 profiles
|
|
160
|
+
- Apply to `~/.openclaw/openclaw.json`
|
|
161
|
+
- Manage `AGENTS.md` under the OpenClaw Workspace (default: `~/.openclaw/workspace/AGENTS.md`)
|
|
162
|
+
|
|
163
|
+
### Session Browser
|
|
150
164
|
|
|
151
165
|
- View local Codex and Claude Code sessions in one page
|
|
152
166
|
- Filter by source (Codex / Claude / All)
|
|
@@ -173,10 +187,15 @@ Config directory: `~/.codex/`
|
|
|
173
187
|
- `codexmate-init.json` - First-run marker
|
|
174
188
|
- `config.toml.codexmate-backup-*.bak` - Backup created on first takeover
|
|
175
189
|
|
|
176
|
-
Claude Code config files:
|
|
177
|
-
|
|
178
|
-
- `~/.claude/settings.json` - Runtime config (default write target)
|
|
179
|
-
- `~/.claude/settings.json.codexmate-backup-*.bak` - Backup before first overwrite
|
|
190
|
+
Claude Code config files:
|
|
191
|
+
|
|
192
|
+
- `~/.claude/settings.json` - Runtime config (default write target)
|
|
193
|
+
- `~/.claude/settings.json.codexmate-backup-*.bak` - Backup before first overwrite
|
|
194
|
+
|
|
195
|
+
OpenClaw config files:
|
|
196
|
+
|
|
197
|
+
- `~/.openclaw/openclaw.json` - OpenClaw config (JSON5)
|
|
198
|
+
- `~/.openclaw/workspace/AGENTS.md` - OpenClaw workspace instructions
|
|
180
199
|
|
|
181
200
|
## First Run Initialization
|
|
182
201
|
|
|
@@ -280,20 +299,20 @@ codexmate unzip ./backup.zip D:/restored
|
|
|
280
299
|
|
|
281
300
|
Note: Requires [7-Zip](https://www.7-zip.org/) installed.
|
|
282
301
|
|
|
283
|
-
## Tech Stack
|
|
284
|
-
|
|
285
|
-
- **Node.js** - Runtime
|
|
286
|
-
- **@iarna/toml** - TOML parser
|
|
287
|
-
- **Vue.js 3** - Web UI framework
|
|
288
|
-
- **Native HTTP** - Built-in Web server
|
|
289
|
-
|
|
290
|
-
## Release (GitHub Actions)
|
|
291
|
-
|
|
292
|
-
Create a tag that matches `package.json` (for example `v0.0.1`). Then run the `release` workflow in GitHub Actions and input that tag. It will create a GitHub Release and attach the `npm pack` `.tgz` artifact.
|
|
293
|
-
|
|
294
|
-
## License
|
|
295
|
-
|
|
296
|
-
Apache-2.0 © [ymkiux](https://github.com/ymkiux)
|
|
302
|
+
## Tech Stack
|
|
303
|
+
|
|
304
|
+
- **Node.js** - Runtime
|
|
305
|
+
- **@iarna/toml** - TOML parser
|
|
306
|
+
- **Vue.js 3** - Web UI framework
|
|
307
|
+
- **Native HTTP** - Built-in Web server
|
|
308
|
+
|
|
309
|
+
## Release (GitHub Actions)
|
|
310
|
+
|
|
311
|
+
Create a tag that matches `package.json` (for example `v0.0.1`). Then run the `release` workflow in GitHub Actions and input that tag. It will create a GitHub Release and attach the `npm pack` `.tgz` artifact.
|
|
312
|
+
|
|
313
|
+
## License
|
|
314
|
+
|
|
315
|
+
Apache-2.0 © [ymkiux](https://github.com/ymkiux)
|
|
297
316
|
|
|
298
317
|
## Contributing
|
|
299
318
|
|
package/README.zh-CN.md
CHANGED
|
@@ -2,63 +2,71 @@
|
|
|
2
2
|
|
|
3
3
|
> 轻量级 AI 工具配置助手:CLI + Web,一站式管理 Codex 提供商与 Claude Code 配置
|
|
4
4
|
|
|
5
|
-
[](https://github.com/ymkiux/codexmate/actions/workflows/release.yml) [](https://www.npmjs.com/package/codexmate) [](https://github.com/ymkiux/codexmate)
|
|
5
|
+
[](https://github.com/ymkiux/codexmate/actions/workflows/release.yml) [](https://www.npmjs.com/package/codexmate) [](https://github.com/ymkiux/codexmate)
|
|
6
6
|
[](https://github.com/ymkiux/codexmate/commits) [](LICENSE) [](https://nodejs.org)
|
|
7
7
|
|
|
8
8
|
[English](README.md) | 中文
|
|
9
9
|
|
|
10
|
-
## 你能获得什么
|
|
11
|
-
|
|
12
|
-
- 更快的模型/提供商切换
|
|
13
|
-
- 更可控的本地配置管理
|
|
14
|
-
- 可视化 Web 操作,降低命令行负担
|
|
15
|
-
- 配置变更可回溯、有备份
|
|
16
|
-
|
|
17
|
-
##
|
|
10
|
+
## 你能获得什么
|
|
11
|
+
|
|
12
|
+
- 更快的模型/提供商切换
|
|
13
|
+
- 更可控的本地配置管理
|
|
14
|
+
- 可视化 Web 操作,降低命令行负担
|
|
15
|
+
- 配置变更可回溯、有备份
|
|
16
|
+
|
|
17
|
+
## 更新说明(0.0.4)
|
|
18
|
+
|
|
19
|
+
- 新增 OpenClaw 配置模式(JSON5 多配置管理 + 一键应用)
|
|
20
|
+
- 新增 OpenClaw Workspace 的 AGENTS.md 管理
|
|
21
|
+
- 增加 JSON5 解析依赖
|
|
22
|
+
|
|
23
|
+
## 功能总览
|
|
18
24
|
|
|
19
|
-
| 模块 | 解决的问题 | 关键能力 |
|
|
20
|
-
| --- | --- | --- |
|
|
21
|
-
| Codex 配置 | 多提供商/多模型切换麻烦 | 提供商/模型切换、模型管理、CLI + Web 双入口、模板确认写入 |
|
|
22
|
-
| Claude Code 配置 | 多方案共存、写入路径不统一 | 多配置方案管理、默认写入 `~/.claude/settings.json`、兼容模式环境变量 |
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
+
| 模块 | 解决的问题 | 关键能力 |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| Codex 配置 | 多提供商/多模型切换麻烦 | 提供商/模型切换、模型管理、CLI + Web 双入口、模板确认写入 |
|
|
28
|
+
| Claude Code 配置 | 多方案共存、写入路径不统一 | 多配置方案管理、默认写入 `~/.claude/settings.json`、兼容模式环境变量 |
|
|
29
|
+
| OpenClaw 配置 | OpenClaw 配置分散 | JSON5 多配置管理、应用到 `~/.openclaw/openclaw.json`、Workspace 指令文件管理 |
|
|
30
|
+
| 会话浏览 | 本地会话难以追踪 | 会话列表/筛选、Markdown 导出、删除与批量清理 |
|
|
31
|
+
| 附属工具 | 压缩/解压需额外工具 | 基于 7-Zip 的多线程压缩/解压 |
|
|
25
32
|
|
|
26
33
|
## 为什么选择 Codex Mate
|
|
27
34
|
|
|
28
|
-
-
|
|
35
|
+
- 聚焦三件事:Codex 提供商/模型切换 + Claude Code 配置应用 + OpenClaw 配置应用
|
|
29
36
|
- 本地优先:配置与 API Key 写入本地文件,不走云端
|
|
30
37
|
- 轻量好用:CLI + Web 双入口,无需安装桌面端
|
|
31
38
|
- 可回退:首次接管前自动备份旧配置
|
|
32
39
|
|
|
33
40
|
## 适用场景
|
|
34
41
|
|
|
35
|
-
- 频繁切换提供商/模型,想要一条命令完成
|
|
36
|
-
- 同时用 Codex 与 Claude Code,需要统一入口
|
|
37
|
-
-
|
|
38
|
-
-
|
|
42
|
+
- 频繁切换提供商/模型,想要一条命令完成
|
|
43
|
+
- 同时用 Codex 与 Claude Code,需要统一入口
|
|
44
|
+
- 使用 OpenClaw 多配置,希望快速切换
|
|
45
|
+
- 多项目/多环境切换,希望快速改写配置
|
|
46
|
+
- 想可视化改配置但又不想上大体量客户端
|
|
39
47
|
|
|
40
48
|
## 范围与边界
|
|
41
49
|
|
|
42
|
-
- 只做 Codex 与
|
|
50
|
+
- 只做 Codex、Claude Code 与 OpenClaw 的配置管理,不做全量多工具一体化
|
|
43
51
|
- 不内置代理/转发/费用面板/云同步(保持轻量)
|
|
44
52
|
- Web UI 仅在你启动时运行(`codexmate start`)
|
|
45
53
|
|
|
46
54
|
## 快速开始
|
|
47
55
|
|
|
48
|
-
1. 安装(全局):
|
|
49
|
-
```bash
|
|
50
|
-
npm install -g codexmate
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
或免安装直接运行:
|
|
54
|
-
```bash
|
|
55
|
-
npx codexmate@latest status
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
2. 查看当前状态:
|
|
59
|
-
```bash
|
|
60
|
-
codexmate status
|
|
61
|
-
```
|
|
56
|
+
1. 安装(全局):
|
|
57
|
+
```bash
|
|
58
|
+
npm install -g codexmate
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
或免安装直接运行:
|
|
62
|
+
```bash
|
|
63
|
+
npx codexmate@latest status
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
2. 查看当前状态:
|
|
67
|
+
```bash
|
|
68
|
+
codexmate status
|
|
69
|
+
```
|
|
62
70
|
|
|
63
71
|
3. 启动 Web 界面:
|
|
64
72
|
```bash
|
|
@@ -73,22 +81,22 @@ codexmate start
|
|
|
73
81
|
|
|
74
82
|
## 安装
|
|
75
83
|
|
|
76
|
-
### 全局安装(推荐)
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
npm install -g codexmate
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
npm 包名:`codexmate`。
|
|
83
|
-
|
|
84
|
-
### 使用 npx(免安装)
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
npx codexmate@latest status
|
|
88
|
-
npx codexmate@latest start
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 从源码安装
|
|
84
|
+
### 全局安装(推荐)
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
npm install -g codexmate
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
npm 包名:`codexmate`。
|
|
91
|
+
|
|
92
|
+
### 使用 npx(免安装)
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npx codexmate@latest status
|
|
96
|
+
npx codexmate@latest start
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 从源码安装
|
|
92
100
|
|
|
93
101
|
```bash
|
|
94
102
|
git clone https://github.com/ymkiux/codexmate.git
|
|
@@ -135,14 +143,20 @@ codexmate start
|
|
|
135
143
|
- 添加/删除自定义提供商
|
|
136
144
|
- 支持 Linux / Windows 环境下的 Codex 配置管理
|
|
137
145
|
|
|
138
|
-
### Claude Code 配置模式(Windows / macOS / Linux)
|
|
139
|
-
|
|
140
|
-
- 管理多个 Claude Code 配置方案
|
|
141
|
-
- 配置 API Key、Base URL 和模型
|
|
142
|
-
- 默认写入 `~/.claude/settings.json` 的 `env` 字段:`env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_AUTH_TOKEN` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL` / `env.CLAUDE_CODE_USE_KEY`
|
|
143
|
-
- 兼容模式:写入系统环境变量(适合旧习惯或特定 Windows 场景)
|
|
144
|
-
|
|
145
|
-
###
|
|
146
|
+
### Claude Code 配置模式(Windows / macOS / Linux)
|
|
147
|
+
|
|
148
|
+
- 管理多个 Claude Code 配置方案
|
|
149
|
+
- 配置 API Key、Base URL 和模型
|
|
150
|
+
- 默认写入 `~/.claude/settings.json` 的 `env` 字段:`env.ANTHROPIC_API_KEY` / `env.ANTHROPIC_AUTH_TOKEN` / `env.ANTHROPIC_BASE_URL` / `env.ANTHROPIC_MODEL` / `env.CLAUDE_CODE_USE_KEY`
|
|
151
|
+
- 兼容模式:写入系统环境变量(适合旧习惯或特定 Windows 场景)
|
|
152
|
+
|
|
153
|
+
### OpenClaw 配置模式
|
|
154
|
+
|
|
155
|
+
- 管理多个 OpenClaw JSON5 配置方案
|
|
156
|
+
- 应用到 `~/.openclaw/openclaw.json`
|
|
157
|
+
- 管理 OpenClaw Workspace 下的 `AGENTS.md`(默认 `~/.openclaw/workspace/AGENTS.md`)
|
|
158
|
+
|
|
159
|
+
### 会话浏览模式
|
|
146
160
|
|
|
147
161
|
- 在同一 Web 页面查看 Codex 与 Claude Code 的本地会话列表
|
|
148
162
|
- 支持按来源筛选(Codex / Claude / 全部)
|
|
@@ -169,10 +183,15 @@ codexmate start
|
|
|
169
183
|
- `codexmate-init.json` - 首次初始化标记(用于避免重复重置)
|
|
170
184
|
- `config.toml.codexmate-backup-*.bak` - 首次初始化时自动备份的旧配置(若存在)
|
|
171
185
|
|
|
172
|
-
Claude Code 配置应用涉及:
|
|
173
|
-
|
|
174
|
-
- `~/.claude/settings.json` - Claude Code 运行时配置(默认写入目标)
|
|
175
|
-
- `~/.claude/settings.json.codexmate-backup-*.bak` - 首次改写前自动备份(若存在旧文件)
|
|
186
|
+
Claude Code 配置应用涉及:
|
|
187
|
+
|
|
188
|
+
- `~/.claude/settings.json` - Claude Code 运行时配置(默认写入目标)
|
|
189
|
+
- `~/.claude/settings.json.codexmate-backup-*.bak` - 首次改写前自动备份(若存在旧文件)
|
|
190
|
+
|
|
191
|
+
OpenClaw 配置涉及:
|
|
192
|
+
|
|
193
|
+
- `~/.openclaw/openclaw.json` - OpenClaw 配置(JSON5)
|
|
194
|
+
- `~/.openclaw/workspace/AGENTS.md` - OpenClaw Workspace 指令文件
|
|
176
195
|
|
|
177
196
|
## 首次运行初始化说明
|
|
178
197
|
|
|
@@ -276,20 +295,20 @@ codexmate unzip ./backup.zip D:/restored
|
|
|
276
295
|
|
|
277
296
|
注意:需要系统安装 [7-Zip](https://www.7-zip.org/)。
|
|
278
297
|
|
|
279
|
-
## 技术栈
|
|
280
|
-
|
|
281
|
-
- **Node.js** - 运行环境
|
|
282
|
-
- **@iarna/toml** - TOML 配置文件解析
|
|
283
|
-
- **Vue.js 3** - Web 界面框架
|
|
284
|
-
- **原生 HTTP** - 内建 Web 服务器
|
|
285
|
-
|
|
286
|
-
## 发布(GitHub Actions)
|
|
287
|
-
|
|
288
|
-
创建与 `package.json` 版本一致的标签(例如 `v0.0.1`)。然后在 GitHub Actions 中手动运行 `release` 工作流并输入该标签,系统会创建 GitHub Release,并附带 `npm pack` 生成的 `.tgz` 产物。
|
|
289
|
-
|
|
290
|
-
## 许可证
|
|
291
|
-
|
|
292
|
-
Apache-2.0 © [ymkiux](https://github.com/ymkiux)
|
|
298
|
+
## 技术栈
|
|
299
|
+
|
|
300
|
+
- **Node.js** - 运行环境
|
|
301
|
+
- **@iarna/toml** - TOML 配置文件解析
|
|
302
|
+
- **Vue.js 3** - Web 界面框架
|
|
303
|
+
- **原生 HTTP** - 内建 Web 服务器
|
|
304
|
+
|
|
305
|
+
## 发布(GitHub Actions)
|
|
306
|
+
|
|
307
|
+
创建与 `package.json` 版本一致的标签(例如 `v0.0.1`)。然后在 GitHub Actions 中手动运行 `release` 工作流并输入该标签,系统会创建 GitHub Release,并附带 `npm pack` 生成的 `.tgz` 产物。
|
|
308
|
+
|
|
309
|
+
## 许可证
|
|
310
|
+
|
|
311
|
+
Apache-2.0 © [ymkiux](https://github.com/ymkiux)
|
|
293
312
|
|
|
294
313
|
## 贡献
|
|
295
314
|
|