@vebing-tools/anyaitools 0.0.1

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 ADDED
@@ -0,0 +1,498 @@
1
+ # @vebing-tools/anyaitools
2
+
3
+ > 面向 Any AI Tools 工作流的 CLI,统一管理 Codex、Claude Code、Gemini CLI、OpenCode、OpenClaw、xAI Grok Build 和 MCP 的配置与同步。
4
+
5
+ ---
6
+
7
+ ## ✨ 核心特性
8
+
9
+ - 🔄 **一键切换**:一条命令切换服务商,自动修改配置文件
10
+ - 📦 **内置预设**:提供常用预设,包括 xAI 官方 Grok Build 模板
11
+ - 🛠️ **自定义配置**:支持添加任意第三方服务商
12
+ - 🔐 **安全写入**:常规管理命令默认增量更新;`aat okm` 等快捷配置命令对所涉及工具执行覆盖式写入
13
+ - 🎯 **多工具支持**:同时管理 Codex、Claude Code、Gemini CLI、OpenCode、OpenClaw、Grok Build 和 MCP 服务器
14
+ - 📱 **双界面**:提供 CLI(命令行)和 Desktop(图形界面)
15
+ - 🔁 **克隆功能**:快速复制配置,管理多个 API Key
16
+ - ☁️ **WebDAV 同步**(可选):同步配置到你自己的 WebDAV 服务器(iCloud/Dropbox)
17
+ - 🔒 **无第三方上传**:不会上传到我们的服务器,配置权限 `0600`
18
+ - 🎨 **交互式菜单**:无需记忆命令,跟随提示操作
19
+
20
+ ---
21
+
22
+ ## 也许你不需要 anyaitools
23
+
24
+ anyaitools 的核心功能是自动化配置文件的切换:
25
+
26
+ - **Codex**:自动修改 `~/.codex/config.toml`
27
+ - **Claude Code**:自动修改 `~/.claude/settings.json`
28
+ - **Gemini CLI**:自动修改 `~/.gemini/settings.json` 和 `~/.gemini/.env`
29
+ - **OpenCode**:自动修改 `~/.config/opencode/opencode.json`
30
+ - **Grok Build**:安全合并 `$GROK_HOME/config.toml`(默认 `~/.grok/config.toml`)
31
+ - **MCP**:管理 MCP 服务器配置,并同步到 Claude Code 和 Gemini CLI
32
+ - **备份机制**:写入前自动备份,失败时自动回滚
33
+
34
+ 如果你更喜欢手动编辑配置文件,或者只使用一个服务商从不切换,可能不需要这个工具。
35
+
36
+ 📖 更多信息:[GitHub 仓库](https://github.com/2ue/anyaitools) - 包含手动配置方式和详细对比分析
37
+
38
+ ---
39
+
40
+ ## 安装
41
+
42
+ ```bash
43
+ npm install -g @vebing-tools/anyaitools
44
+ ```
45
+
46
+ **要求**:anyaitools 需要 Node.js >= 18.0.0;使用 xAI 官方 Grok Build CLI 需要 Node.js >= 20.0.0。
47
+
48
+ **Desktop 版本**:如果你更喜欢图形界面,可以从 [GitHub Releases](https://github.com/2ue/anyaitools/releases) 下载 Desktop 应用(macOS/Windows/Linux)。
49
+
50
+ ---
51
+
52
+ ## 快速开始
53
+
54
+ ### 查看帮助
55
+
56
+ ```bash
57
+ $ aat --help
58
+
59
+ Usage: aat [options] [command]
60
+
61
+ Any AI Tools 工作流配置与集成工具
62
+
63
+ Options:
64
+ -V, --version output the version number
65
+ -h, --help display help for command
66
+
67
+ Commands:
68
+ cx 管理 Codex 服务商
69
+ cc 管理 Claude 服务商
70
+ gm 管理 Gemini CLI 服务商
71
+ oc 管理 OpenCode 服务商
72
+ openclaw|ow 管理 OpenClaw 服务商
73
+ grok|gk 管理 xAI Grok Build 服务商
74
+ mcp 管理 MCP 服务器
75
+ sync WebDAV 同步配置
76
+ export [dir] 导出配置
77
+ import [dir] 导入配置
78
+ help [command] display help for command
79
+ ```
80
+
81
+ ### 管理 Codex 服务商
82
+
83
+ ```bash
84
+ aat cx # 进入交互式菜单
85
+ aat cx add # 添加服务商
86
+ aat cx use # 切换服务商
87
+ aat cx list # 查看所有服务商
88
+ ```
89
+
90
+ **示例输出**:
91
+
92
+ ```bash
93
+ $ aat cx list
94
+
95
+ 📋 Codex 服务商 (2 个)
96
+
97
+ ● OpenAI Official [当前]
98
+ https://api.openai.com/v1
99
+
100
+ ○ OKMCode
101
+ https://okmcode.com
102
+ ```
103
+
104
+ ```bash
105
+ $ aat cx current
106
+
107
+ 📍 当前 Codex 服务商
108
+
109
+ OpenAI Official
110
+ ID: codex-1760178741529-hbgbad
111
+ URL: https://api.openai.com/v1
112
+ 最后使用: 2025/10/11 18:32:25
113
+ ```
114
+
115
+ ### 管理 Claude Code 服务商
116
+
117
+ ```bash
118
+ aat cc # 进入交互式菜单
119
+ aat cc add # 添加服务商
120
+ aat cc use # 切换服务商
121
+ aat cc list # 查看所有服务商
122
+ ```
123
+
124
+ **示例输出**:
125
+
126
+ ```bash
127
+ $ aat cc list
128
+
129
+ 📋 Claude Code 服务商 (1 个)
130
+
131
+ ● Anthropic Official [当前]
132
+ https://api.anthropic.com
133
+ ```
134
+
135
+ ```bash
136
+ $ aat cc current
137
+
138
+ 📍 当前 Claude Code 服务商
139
+
140
+ Anthropic Official
141
+ ID: claude-1760182672751-unh2bp
142
+ URL: https://api.anthropic.com
143
+ 最后使用: 2025/10/11 20:14:08
144
+ ```
145
+
146
+ ### 管理 Gemini CLI 服务商
147
+
148
+ ```bash
149
+ aat gm # 进入交互式菜单
150
+ aat gm add # 添加服务商
151
+ aat gm use # 切换服务商
152
+ aat gm list # 查看所有服务商
153
+ ```
154
+
155
+ ### 管理 OpenCode 服务商
156
+
157
+ ```bash
158
+ aat oc # 进入交互式菜单
159
+ aat oc add # 添加服务商
160
+ aat oc use # 切换服务商
161
+ aat oc list # 查看所有服务商
162
+ ```
163
+
164
+ ### 管理 xAI Grok Build 服务商
165
+
166
+ AnyAI Tools 接入的是 xAI 官方 npm 包 `@xai-official/grok`,不是社区历史包
167
+ `@vibe-kit/grok-cli`。先安装官方 CLI:
168
+
169
+ ```bash
170
+ npm install -g @xai-official/grok
171
+ grok version
172
+ ```
173
+
174
+ 管理服务商:
175
+
176
+ ```bash
177
+ aat grok # 进入交互式菜单;gk 是等价别名
178
+ aat gk add # 添加官方预设或自定义兼容服务商
179
+ aat gk list # 查看模型、API backend 和 backend search
180
+ aat gk use # 写入当前服务商
181
+ aat gk current # 查看 AnyAI Tools 当前选择
182
+ aat gk edit # 编辑或清除内联 API Key
183
+ aat gk clone # 克隆服务商
184
+ aat gk remove # 删除服务商
185
+ ```
186
+
187
+ 非交互示例:
188
+
189
+ ```bash
190
+ # 官方预设:只选择内置 grok-build,保留官方登录和内置路由。
191
+ aat gk add --preset "xAI Grok Build" --switch
192
+
193
+ # 自定义 OpenAI Chat Completions 兼容服务;URL 不会被补写或替换。
194
+ aat gk add \
195
+ --name gateway \
196
+ --base-url https://gateway.example.com/custom \
197
+ --api-key sk-example \
198
+ --model model-id \
199
+ --api-backend chat_completions \
200
+ --no-supports-backend-search \
201
+ --switch
202
+ ```
203
+
204
+ Grok Build 的用户配置位于 `$GROK_HOME/config.toml`,未设置 `GROK_HOME` 时为
205
+ `~/.grok/config.toml`。企业 requirements 或环境变量可能覆盖用户配置,所以切换后使用:
206
+
207
+ ```bash
208
+ grok inspect
209
+ ```
210
+
211
+ 检查最终生效配置。完整说明见
212
+ [Grok Build 接入指南](https://github.com/2ue/anyaitools/blob/main/docs/grok-build.md)。
213
+
214
+ ### 管理 MCP 服务器
215
+
216
+ ```bash
217
+ aat mcp add # 添加 MCP 服务器
218
+ aat mcp list # 查看所有 MCP 服务器
219
+ aat mcp edit # 编辑 MCP 服务器
220
+ aat mcp remove # 删除 MCP 服务器
221
+ ```
222
+
223
+ ---
224
+
225
+ ## 完整命令
226
+
227
+ | 命令 | 说明 |
228
+ | ----------------------- | --------------------------------------------------------- |
229
+ | `aat` | 主菜单(选择 Codex、Claude Code、Gemini CLI 或 OpenCode) |
230
+ | **Codex 管理** | |
231
+ | `aat cx` | Codex 交互式菜单 |
232
+ | `aat cx add` | 添加 Codex 服务商(支持预设模板和自定义) |
233
+ | `aat cx list` | 列出所有 Codex 服务商 |
234
+ | `aat cx use [name]` | 切换 Codex 服务商 |
235
+ | `aat cx current` | 查看当前 Codex 服务商 |
236
+ | `aat cx edit [name]` | 编辑 Codex 服务商 |
237
+ | `aat cx remove [name]` | 删除 Codex 服务商 |
238
+ | `aat cx clone [source]` | 克隆 Codex 服务商 |
239
+ | **Claude Code 管理** | |
240
+ | `aat cc` | Claude Code 交互式菜单 |
241
+ | `aat cc add` | 添加 Claude Code 服务商 |
242
+ | `aat cc list` | 列出所有 Claude Code 服务商 |
243
+ | `aat cc use [name]` | 切换 Claude Code 服务商 |
244
+ | `aat cc current` | 查看当前 Claude Code 服务商 |
245
+ | `aat cc edit [name]` | 编辑 Claude Code 服务商 |
246
+ | `aat cc remove [name]` | 删除 Claude Code 服务商 |
247
+ | `aat cc clone [source]` | 克隆 Claude Code 服务商 |
248
+ | **Gemini CLI 管理** | |
249
+ | `aat gm` | Gemini CLI 交互式菜单 |
250
+ | `aat gm add` | 添加 Gemini CLI 服务商 |
251
+ | `aat gm list` | 列出所有 Gemini CLI 服务商 |
252
+ | `aat gm use [name]` | 切换 Gemini CLI 服务商 |
253
+ | `aat gm current` | 查看当前 Gemini CLI 服务商 |
254
+ | `aat gm edit [name]` | 编辑 Gemini CLI 服务商 |
255
+ | `aat gm remove [name]` | 删除 Gemini CLI 服务商 |
256
+ | `aat gm clone [source]` | 克隆 Gemini CLI 服务商 |
257
+ | **OpenCode 管理** | |
258
+ | `aat oc` | OpenCode 交互式菜单 |
259
+ | `aat oc add` | 添加 OpenCode 服务商 |
260
+ | `aat oc list` | 列出所有 OpenCode 服务商 |
261
+ | `aat oc use [name]` | 切换 OpenCode 服务商 |
262
+ | `aat oc current` | 查看当前 OpenCode 服务商 |
263
+ | `aat oc edit [name]` | 编辑 OpenCode 服务商 |
264
+ | `aat oc remove [name]` | 删除 OpenCode 服务商 |
265
+ | `aat oc clone [source]` | 克隆 OpenCode 服务商 |
266
+ | **Grok Build 管理** | |
267
+ | `aat grok` / `aat gk` | Grok Build 交互式菜单 |
268
+ | `aat gk add` | 添加 Grok Build 服务商 |
269
+ | `aat gk list` | 列出 Grok Build 服务商 |
270
+ | `aat gk use [name]` | 切换 Grok Build 服务商 |
271
+ | `aat gk current` | 查看当前 Grok Build 服务商 |
272
+ | `aat gk edit [name]` | 编辑 Grok Build 服务商 |
273
+ | `aat gk remove [name]` | 删除 Grok Build 服务商 |
274
+ | `aat gk clone [source]` | 克隆 Grok Build 服务商 |
275
+ | **MCP 服务器管理** | |
276
+ | `aat mcp add` | 添加 MCP 服务器 |
277
+ | `aat mcp list` | 列出所有 MCP 服务器 |
278
+ | `aat mcp edit [name]` | 编辑 MCP 服务器 |
279
+ | `aat mcp remove [name]` | 删除 MCP 服务器 |
280
+ | **配置同步和导入导出** | |
281
+ | `aat sync` | WebDAV 同步配置(备份/恢复/合并) |
282
+ | `aat export [dir]` | 导出配置到本地目录 |
283
+ | `aat import [dir]` | 从本地目录导入配置 |
284
+
285
+ 服务商管理命令也支持参数模式:
286
+
287
+ ```bash
288
+ aat cx add --name work --base-url https://api.example.com --api-key sk-xxx --switch
289
+ aat cc add --preset OKMCode --api-key sk-xxx --switch
290
+ aat gm edit default --new-name personal --base-url '' --api-key ''
291
+ aat oc remove old-provider --yes
292
+ aat gk edit gateway --model new-model --api-backend responses --supports-backend-search
293
+ ```
294
+
295
+ WebDAV 同步支持参数模式和环境变量模式,适合在其他机器非交互执行:
296
+
297
+ ```bash
298
+ aat sync config \
299
+ --webdav-url https://dav.example.com \
300
+ --username alice \
301
+ --password 'YOUR_WEBDAV_PASSWORD' \
302
+ --remote-dir /anyaitools \
303
+ --sync-password 'YOUR_SYNC_PASSWORD' \
304
+ --remember-sync-password
305
+
306
+ aat sync download --yes
307
+ ```
308
+
309
+ ```bash
310
+ export ANYAITOOLS_WEBDAV_URL='https://dav.example.com'
311
+ export ANYAITOOLS_WEBDAV_USERNAME='alice'
312
+ export ANYAITOOLS_WEBDAV_PASSWORD='YOUR_WEBDAV_PASSWORD'
313
+ export ANYAITOOLS_WEBDAV_REMOTE_DIR='/anyaitools'
314
+ export ANYAITOOLS_SYNC_PASSWORD='YOUR_SYNC_PASSWORD'
315
+
316
+ aat sync config
317
+ aat sync upload --yes
318
+ ```
319
+
320
+ ---
321
+
322
+ ## 内置预设
323
+
324
+ 添加服务商时可以选择"使用预设模板",只需填写 API Key:
325
+
326
+ ### Claude Code 预设(3 个)
327
+
328
+ | 预设名称 | Base URL |
329
+ | ------------------ | --------------------------- |
330
+ | Anthropic Official | `https://api.anthropic.com` |
331
+ | OKMCode | `https://okmcode.com` |
332
+ | OKMCode | `https://okmcode.com` |
333
+
334
+ ### Gemini CLI 预设(3 个)
335
+
336
+ | 预设名称 | Base URL |
337
+ | ----------------------- | --------------------- |
338
+ | Google Gemini (API Key) | 官方默认 |
339
+ | OKMCode | `https://okmcode.com` |
340
+ | OKMCode | `https://okmcode.com` |
341
+
342
+ ### Codex 预设(3 个)
343
+
344
+ | 预设名称 | Base URL |
345
+ | --------------- | --------------------------- |
346
+ | OpenAI Official | `https://api.openai.com/v1` |
347
+ | OKMCode | `https://okmcode.com` |
348
+ | OKMCode | `https://okmcode.com` |
349
+
350
+ ### OpenCode 预设(2 个)
351
+
352
+ | 预设名称 | Base URL |
353
+ | -------- | --------------------- |
354
+ | OKMCode | `https://okmcode.com` |
355
+ | OKMCode | `https://okmcode.com` |
356
+
357
+ ### Grok Build 预设(1 个)
358
+
359
+ | 预设名称 | 模式 | Model | 认证 |
360
+ | -------------- | -------- | ------------ | ------------------------- |
361
+ | xAI Grok Build | 官方内置 | `grok-build` | Grok 登录或 `XAI_API_KEY` |
362
+
363
+ 该预设只写 `models.default = "grok-build"`,不重定义官方内置模型。自定义 Base URL、
364
+ 模型、协议和搜索能力会按用户输入写入,不按域名推断。
365
+
366
+ ### MCP 预设(多个)
367
+
368
+ MCP 服务器预设包括:filesystem、github、postgres、brave-search、fetch、memory 等多个常用 MCP 服务器模板。
369
+
370
+ 也可以选择"自定义配置",手动填写 Base URL。
371
+
372
+ ---
373
+
374
+ ## 完整使用示例
375
+
376
+ ### 场景 1:添加并切换服务商
377
+
378
+ ```bash
379
+ # 1. 查看当前列表
380
+ $ aat cx list
381
+
382
+ 📋 Codex 服务商 (1 个)
383
+
384
+ ● OpenAI Official [当前]
385
+ https://api.openai.com/v1
386
+
387
+ # 2. 添加 OKMCode(交互式)
388
+ $ aat cx add
389
+ ? 选择配置方式 › 使用预设模板
390
+ ? 选择预设 › OKMCode
391
+ ? 服务商名称 › OKMCode
392
+ ? API Key › ••••••••••••••••••••
393
+ ✅ 添加成功!
394
+ 💡 切换到此服务商: aat cx use OKMCode
395
+
396
+ # 3. 切换到 OKMCode
397
+ $ aat cx use OKMCode
398
+ ✅ 已切换到: OKMCode
399
+
400
+ # 4. 确认当前服务商
401
+ $ aat cx current
402
+
403
+ 📍 当前 Codex 服务商
404
+
405
+ OKMCode
406
+ ID: codex-1760178741529-abc123
407
+ URL: https://okmcode.com
408
+ 最后使用: 2025/10/11 18:32:25
409
+ ```
410
+
411
+ ### 场景 2:克隆服务商(管理多个 Key)
412
+
413
+ ```bash
414
+ # 1. 添加生产配置
415
+ $ aat cc add
416
+ ? 选择配置方式 › 自定义配置
417
+ ? 服务商名称 › Claude Production
418
+ ? Base URL › https://api.anthropic.com
419
+ ? API Key › ••••••••••••••••••••
420
+ ✅ 添加成功!
421
+
422
+ # 2. 克隆创建测试配置
423
+ $ aat cc clone
424
+ ? 选择要克隆的服务商 › Claude Production
425
+ ? 新服务商名称 › Claude Test
426
+ ? API Key › ••••••••••••••••••••
427
+ ✅ 克隆成功!
428
+ 💡 切换到此服务商: aat cc use "Claude Test"
429
+
430
+ # 3. 查看列表
431
+ $ aat cc list
432
+
433
+ 📋 Claude Code 服务商 (2 个)
434
+
435
+ ● Claude Production [当前]
436
+ https://api.anthropic.com
437
+
438
+ ○ Claude Test
439
+ https://api.anthropic.com
440
+
441
+ # 4. 快速切换
442
+ $ aat cc use "Claude Test"
443
+ ✅ 已切换到: Claude Test
444
+ ```
445
+
446
+ ---
447
+
448
+ ## 配置文件
449
+
450
+ **anyaitools 配置**:
451
+
452
+ - `~/.anyaitools/codex.json` - Codex 服务商配置
453
+ - `~/.anyaitools/claude.json` - Claude Code 服务商配置
454
+ - `~/.anyaitools/gemini.json` - Gemini CLI 服务商配置
455
+ - `~/.anyaitools/opencode.json` - OpenCode 服务商配置
456
+ - `~/.anyaitools/grok.json` - Grok Build 服务商配置
457
+ - `~/.anyaitools/mcp.json` - MCP 服务器配置
458
+
459
+ **工具配置**(anyaitools 会自动修改):
460
+
461
+ - **Codex**: `~/.codex/config.toml`
462
+ - **Claude Code**: `~/.claude/settings.json`
463
+ - **Gemini CLI**: `~/.gemini/settings.json` 和 `~/.gemini/.env`
464
+ - **OpenCode**: `~/.config/opencode/opencode.json`
465
+ - **Grok Build**: `$GROK_HOME/config.toml`(默认 `~/.grok/config.toml`)
466
+
467
+ **安全写入承诺**:
468
+
469
+ - 快捷覆盖和其他高风险入口写入前备份;常规 provider 管理不生成 `.bak`
470
+ - 常规管理命令(如 `aat cx` / `aat cc` / `aat gm` / `aat oc` / `aat openclaw` / `aat grok`)默认采用增量更新
471
+ - 快捷配置命令(如 `aat okm`)会对所涉及工具执行覆盖式写入
472
+ - API Key 存储在本地,权限 `0600`
473
+ - Grok 内置模式不创建受管模型节点或写入 `api_key`;自定义端点的 Key 留空时也不会生成内联密钥
474
+
475
+ ---
476
+
477
+ ## 常见问题
478
+
479
+ **Q: 支持配置导入/导出吗?**
480
+ A: 当前版本不支持。如需备份,手动复制 `~/.anyaitools/` 目录。
481
+
482
+ **Q: WebDAV 同步是什么?**
483
+ A: 将 anyaitools 配置同步到 WebDAV 服务器(如 iCloud/Dropbox),多设备共享配置。详见 `aat sync --help`。
484
+
485
+ ---
486
+
487
+ ## 许可证
488
+
489
+ MIT
490
+
491
+ ---
492
+
493
+ ## 相关链接
494
+
495
+ - [GitHub 仓库](https://github.com/2ue/anyaitools)
496
+ - [问题反馈](https://github.com/2ue/anyaitools/issues)
497
+ - [更新日志](https://github.com/2ue/anyaitools/blob/main/CHANGELOG.md)
498
+ - [Desktop 版本](https://github.com/2ue/anyaitools/releases)(图形界面)