@ia-ccun/code-agent-claw 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.
Files changed (57) hide show
  1. package/.claude/plan/aicode-ui-npm.md +477 -0
  2. package/README.md +108 -0
  3. package/bin/cli.js +16 -0
  4. package/config/default.json +18 -0
  5. package/dist/config.d.ts +22 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +257 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +37 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/public/aicode.svg +1 -0
  14. package/dist/public/index-v3.html +1757 -0
  15. package/dist/public/index.html +1818 -0
  16. package/dist/public/index_v3.html +1757 -0
  17. package/dist/public/juejin.css +143 -0
  18. package/dist/server/index.d.ts +11 -0
  19. package/dist/server/index.d.ts.map +1 -0
  20. package/dist/server/index.js +126 -0
  21. package/dist/server/index.js.map +1 -0
  22. package/dist/server/routes.d.ts +7 -0
  23. package/dist/server/routes.d.ts.map +1 -0
  24. package/dist/server/routes.js +343 -0
  25. package/dist/server/routes.js.map +1 -0
  26. package/dist/server/websocket.d.ts +7 -0
  27. package/dist/server/websocket.d.ts.map +1 -0
  28. package/dist/server/websocket.js +75 -0
  29. package/dist/server/websocket.js.map +1 -0
  30. package/dist/services/agent-rpc.d.ts +95 -0
  31. package/dist/services/agent-rpc.d.ts.map +1 -0
  32. package/dist/services/agent-rpc.js +389 -0
  33. package/dist/services/agent-rpc.js.map +1 -0
  34. package/dist/types/index.d.ts +52 -0
  35. package/dist/types/index.d.ts.map +1 -0
  36. package/dist/types/index.js +3 -0
  37. package/dist/types/index.js.map +1 -0
  38. package/dist/utils/logger.d.ts +2 -0
  39. package/dist/utils/logger.d.ts.map +1 -0
  40. package/dist/utils/logger.js +19 -0
  41. package/dist/utils/logger.js.map +1 -0
  42. package/ia-ccun-code-agent-claw-0.0.1.tgz +0 -0
  43. package/package.json +43 -0
  44. package/public/aicode.svg +1 -0
  45. package/public/index-v3.html +1757 -0
  46. package/public/index.html +1818 -0
  47. package/public/index_v3.html +1757 -0
  48. package/public/juejin.css +143 -0
  49. package/src/config.ts +239 -0
  50. package/src/index.ts +40 -0
  51. package/src/server/index.ts +103 -0
  52. package/src/server/routes.ts +342 -0
  53. package/src/server/websocket.ts +82 -0
  54. package/src/services/agent-rpc.ts +397 -0
  55. package/src/types/index.ts +60 -0
  56. package/src/utils/logger.ts +13 -0
  57. package/tsconfig.json +19 -0
@@ -0,0 +1,477 @@
1
+ # Implementation Plan: aicode-ui NPM 项目重构
2
+
3
+ ## 概述
4
+
5
+ 本规划将现有的 Spring Boot 2.7.18 + Java 11 后端项目重构为 Node.js/npm 项目,使用 Express + WebSocket 实现相同的功能。重构后的项目将支持 `aicode-ui` 命令行启动,用户安装后可直接运行并访问 Anthropic 风格的 AI Agent 控制台界面。
6
+
7
+ **npm 包名**: `@ia-ccun/aicode-ui`
8
+
9
+ **重要特性**: 前端可视化配置,用户可自行配置 piagent 参数后初始化 RPC 模式 agent
10
+
11
+ ### 现有架构(Spring Boot)
12
+
13
+ ```
14
+ +-------------------+
15
+ | Spring Boot |
16
+ | 后端 (Java) |
17
+ +--------+----------+
18
+ |
19
+ +--------------+--------------+
20
+ | |
21
+ REST API WebSocket
22
+ /api/aicode/* /ws/agent
23
+ | |
24
+ +--------------+---------------+
25
+ |
26
+ +--------v---------+
27
+ | aicode 子进程 |
28
+ | (stdin/stdout) |
29
+ | JSONL 协议 |
30
+ +------------------+
31
+ ```
32
+
33
+ ### 核心 API 端点
34
+
35
+ | 端点 | 方法 | 功能 |
36
+ |------|------|------|
37
+ | `/api/aicode/config` | GET | 获取当前配置 |
38
+ | `/api/aicode/config` | POST | 保存配置并初始化 agent |
39
+ | `/api/aicode/prompt` | POST | 发送提示 |
40
+ | `/api/aicode/steer` | POST | 发送引导消息(中断当前操作)|
41
+ | `/api/aicode/follow-up` | POST | 发送后续消息 |
42
+ | `/api/aicode/abort` | POST | 中止当前操作 |
43
+ | `/api/aicode/new-session` | POST | 创建新会话 |
44
+ | `/api/aicode/health` | GET | 健康检查 |
45
+ | `/api/aicode/status` | GET | 获取 agent 状态(未初始化/运行中/已停止)|
46
+
47
+ ### 核心服务组件(Java)
48
+
49
+ - **PiAgentRpcService**: 负责启动和管理 aicode 子进程,通过 JSONL 协议通信
50
+ - **PiAgentController**: REST API 控制器
51
+ - **PiAgentWebSocketHandler**: WebSocket 处理器,实时推送 Agent 事件
52
+ - **PiAgentProperties**: 配置属性类
53
+
54
+ ### 现有配置(application.yml)
55
+
56
+ ```yaml
57
+ server.port: 8080
58
+ pi.agent.enabled: true
59
+ pi.agent.command: /Users/xujianjiang/npm-global/bin/aicode
60
+ pi.agent.provider: minimax-custom
61
+ pi.agent.model: MiniMax-M2.5
62
+ pi.agent.session-dir: ${user.home}/.aicode-cli/agent/sessions
63
+ pi.agent.working-dir: ${user.home}/.aicode-cli
64
+ ```
65
+
66
+ ---
67
+
68
+ ## 1. 项目结构设计
69
+
70
+ ### 目标结构
71
+
72
+ ```
73
+ aicode-ui/
74
+ ├── bin/
75
+ │ └── cli.js # CLI 入口点(npm bin)
76
+ ├── src/
77
+ │ ├── index.ts # 主入口文件
78
+ │ ├── config.ts # 配置定义和加载
79
+ │ ├── server/
80
+ │ │ ├── index.ts # Express 服务器
81
+ │ │ ├── routes.ts # REST API 路由
82
+ │ │ └── websocket.ts # WebSocket 处理
83
+ │ ├── services/
84
+ │ │ └── agent-rpc.ts # aicode 子进程管理(核心)
85
+ │ ├── types/
86
+ │ │ └── index.ts # TypeScript 类型定义
87
+ │ └── utils/
88
+ │ └── logger.ts # 日志工具
89
+ ├── public/
90
+ │ ├── index-v3.html # 前端主页面
91
+ │ ├── index.html # 前端入口
92
+ │ ├── juejin.css # 样式文件
93
+ │ └── aicode.svg # 图标
94
+ ├── config/
95
+ │ └── default.json # 默认配置
96
+ ├── package.json
97
+ ├── tsconfig.json
98
+ └── README.md
99
+ ```
100
+
101
+ ### 目录说明
102
+
103
+ | 目录 | 说明 |
104
+ |------|------|
105
+ | `bin/cli.js` | CLI 入口,用户执行 `aicode-ui` 时调用 |
106
+ | `src/server/` | Express 服务器相关代码 |
107
+ | `src/services/agent-rpc.ts` | 核心服务:启动和管理 aicode 子进程 |
108
+ | `public/` | 静态前端文件(从 backend-app 复制)|
109
+
110
+ ---
111
+
112
+ ## 2. 技术选型说明
113
+
114
+ ### 核心技术栈
115
+
116
+ | 技术 | 版本 | 用途 |
117
+ |------|------|------|
118
+ | Node.js | >= 18.0.0 | 运行时 |
119
+ | TypeScript | ^5.0.0 | 开发语言 |
120
+ | Express | ^4.18.0 | HTTP 服务器 |
121
+ | ws | ^8.14.0 | WebSocket 实现 |
122
+ | conf | ^12.0.0 | 配置管理 |
123
+ | commander | ^11.0.0 | CLI 参数解析 |
124
+ | pino | ^8.0.0 | 日志库 |
125
+ | strip-ansi | ^6.0.0 | ANSI 颜色码清理 |
126
+
127
+ ### 技术选型理由
128
+
129
+ 1. **Express**: 成熟稳定,轻量级,易于实现 REST API
130
+ 2. **ws**: 高性能原生 WebSocket 实现,比 Socket.io 更轻量
131
+ 3. **commander**: Node.js 标准 CLI 框架
132
+ 4. **conf**: 跨平台配置管理,支持环境变量覆盖
133
+ 5. **pino**: 高性能 JSON 日志库
134
+
135
+ ---
136
+
137
+ ## 3. 功能模块划分
138
+
139
+ ### 模块 1: CLI 入口(bin/cli.js)
140
+
141
+ **功能**:
142
+ - 解析命令行参数(端口、配置路径等)
143
+ - 启动服务器
144
+ - 处理信号(SIGINT/SIGTERM)优雅关闭
145
+
146
+ **关键代码结构**:
147
+ ```typescript
148
+ // 伪代码
149
+ program
150
+ .name('aicode-ui')
151
+ .option('-p, --port <port>', '服务器端口', '8080')
152
+ .option('-c, --command <path>', 'aicode 命令路径')
153
+ .option('--config <path>', '配置文件路径')
154
+ .action(startServer);
155
+
156
+ program.parse(process.argv);
157
+ ```
158
+
159
+ ### 模块 2: 配置管理(src/config.ts)
160
+
161
+ **功能**:
162
+ - 加载默认配置
163
+ - 支持配置文件(JSON/YAML)
164
+ - 支持环境变量覆盖
165
+ - 支持命令行参数
166
+
167
+ **配置项**:
168
+ ```typescript
169
+ interface Config {
170
+ server: {
171
+ port: number;
172
+ host: string;
173
+ };
174
+ agent: {
175
+ enabled: boolean;
176
+ command: string;
177
+ provider: string;
178
+ model: string;
179
+ sessionDir: string;
180
+ workingDir: string;
181
+ };
182
+ logging: {
183
+ level: string;
184
+ };
185
+ }
186
+ ```
187
+
188
+ ### 模块 3: aicode 子进程管理(src/services/agent-rpc.ts)
189
+
190
+ **功能**:
191
+ - 启动/重启 aicode 子进程
192
+ - JSONL 协议通信(发送命令、接收事件)
193
+ - 命令队列和 Future 模式
194
+ - 进程健康检查和自动重启
195
+ - 事件回调注册
196
+
197
+ ### 模块 4: REST API(src/server/routes.ts)
198
+
199
+ **功能**:
200
+ - `/api/aicode/config` - 获取/保存配置(保存配置并触发初始化)
201
+ - `/api/aicode/status` - 获取 agent 状态
202
+ - `/api/aicode/health` - 健康检查
203
+ - `/api/aicode/prompt` - 发送提示
204
+ - `/api/aicode/steer` - 发送引导消息
205
+ - `/api/aicode/follow-up` - 发送后续消息
206
+ - `/api/aicode/abort` - 中止操作
207
+ - `/api/aicode/new-session` - 创建新会话
208
+
209
+ **动态配置流程**:
210
+ 1. 前端 POST `/api/aicode/config` 提交配置
211
+ 2. 后端保存配置到 `~/.aicode-ui/config.json`
212
+ 3. 后端检查 aicode 命令是否存在
213
+ 4. 启动 aicode 子进程(RPC 模式)
214
+ 5. 返回初始化结果
215
+
216
+ ### 模块 5: WebSocket 处理(src/server/websocket.ts)
217
+
218
+ **功能**:
219
+ - 管理 WebSocket 连接
220
+ - 广播 Agent 事件到前端
221
+ - 支持 text_delta、agent_end 等事件类型
222
+
223
+ ### 模块 6: 前端配置界面
224
+
225
+ **功能**:
226
+ - 配置表单(aicode 命令路径、provider、model、session-dir、working-dir)
227
+ - 配置持久化(保存到配置文件)
228
+ - 初始化按钮:保存配置后启动 aicode 子进程
229
+ - 连接状态显示
230
+
231
+ **配置项**:
232
+ | 配置项 | 说明 | 默认值 |
233
+ |--------|------|--------|
234
+ | command | aicode 命令路径 | aicode |
235
+ | provider | LLM Provider | minimax-custom |
236
+ | model | 模型名称 | MiniMax-M2.5 |
237
+ | noSession | 无会话模式 | true |
238
+ | sessionDir | 会话目录 | ~/.aicode-cli/agent/sessions |
239
+ | workingDir | 工作目录 | ~/.aicode-cli |
240
+
241
+ **后端启动参数** (从 Java 版本移植):
242
+ ```
243
+ aicode --mode rpc --provider <provider> --model <model> --session-dir <sessionDir>
244
+ ```
245
+
246
+ **前端页面结构**:
247
+ - 首次访问显示配置弹窗
248
+ - 配置保存后显示主界面
249
+ - 支持随时打开设置修改配置
250
+
251
+ ---
252
+
253
+ ## 4. 实施步骤
254
+
255
+ ### Phase 1: 项目初始化
256
+
257
+ #### 步骤 1.1: 创建项目结构
258
+ - 初始化 npm 项目
259
+ - 安装依赖
260
+ - 创建 TypeScript 配置
261
+ - 创建目录结构
262
+
263
+ **package.json**:
264
+ ```json
265
+ {
266
+ "name": "@ia-ccun/aicode-ui",
267
+ "version": "1.0.0",
268
+ "description": "AICode Agent WebUI - Node.js version",
269
+ "main": "dist/index.js",
270
+ "bin": {
271
+ "aicode-ui": "./bin/cli.js"
272
+ },
273
+ "scripts": {
274
+ "build": "tsc",
275
+ "start": "node dist/index.js",
276
+ "dev": "ts-node src/index.ts"
277
+ },
278
+ "dependencies": {
279
+ "commander": "^11.0.0",
280
+ "conf": "^12.0.0",
281
+ "express": "^4.18.0",
282
+ "pino": "^8.0.0",
283
+ "strip-ansi": "^6.0.0",
284
+ "ws": "^8.14.0"
285
+ },
286
+ "devDependencies": {
287
+ "@types/express": "^4.17.0",
288
+ "@types/node": "^20.0.0",
289
+ "@types/ws": "^8.5.0",
290
+ "ts-node": "^10.9.0",
291
+ "typescript": "^5.0.0"
292
+ },
293
+ "preferGlobal": true
294
+ }
295
+ ```
296
+
297
+ #### 步骤 1.2: 配置管理
298
+ - 创建默认配置文件
299
+ - 实现配置加载逻辑
300
+
301
+ ---
302
+
303
+ ### Phase 2: 核心服务开发
304
+
305
+ #### 步骤 2.1: aicode 子进程管理服务
306
+ - 实现子进程启动
307
+ - 实现 JSONL 协议通信
308
+ - 实现命令发送和响应处理
309
+ - 实现事件解析和回调
310
+
311
+ 核心逻辑移植自 `PiAgentRpcService.java`
312
+
313
+ ---
314
+
315
+ ### Phase 3: 服务器和 API
316
+
317
+ #### 步骤 3.1: Express 服务器
318
+ - 创建 Express 应用
319
+ - 配置静态文件服务
320
+ - 配置中间件
321
+
322
+ #### 步骤 3.2: REST API 路由
323
+ - 实现所有 API 端点
324
+
325
+ #### 步骤 3.3: WebSocket 处理
326
+ - 实现事件广播
327
+
328
+ ---
329
+
330
+ ### Phase 4: 前端集成
331
+
332
+ #### 步骤 4.1: 复制前端文件
333
+ - 从 backend-app 复制前端文件到 public 目录
334
+
335
+ **源文件**:
336
+ - `/backend-app/src/main/resources/static/index-v3.html` -> `public/index-v3.html`
337
+ - `/backend-app/src/main/resources/static/index.html` -> `public/index.html`
338
+ - `/backend-app/src/main/resources/static/juejin.css` -> `public/juejin.css`
339
+ - `/backend-app/src/main/resources/static/aicode.svg` -> `public/aicode.svg`
340
+
341
+ ---
342
+
343
+ ### Phase 5: CLI 入口和打包
344
+
345
+ #### 步骤 5.1: 创建 CLI 入口
346
+ - 创建 bin/cli.js
347
+
348
+ #### 步骤 5.2: 配置 package.json
349
+ - 设置 bin 入口
350
+ - 添加构建脚本
351
+
352
+ ---
353
+
354
+ ## 5. 验收标准
355
+
356
+ ### 5.1 安装验收
357
+
358
+ - [ ] 执行 `npm install -g @ia-ccun/aicode-ui` 成功安装
359
+ - [ ] `aicode-ui` 命令可用
360
+ - [ ] 无安装错误
361
+
362
+ ### 5.2 启动验收
363
+
364
+ - [ ] 执行 `aicode-ui` 成功启动服务器
365
+ - [ ] 服务器默认监听 8080 端口
366
+ - [ ] 访问 `http://localhost:8080/index-v3.html` 可打开前端页面
367
+ - [ ] 首次访问显示配置弹窗
368
+ - [ ] 健康检查 `http://localhost:8080/api/aicode/health` 返回正确状态
369
+
370
+ ### 5.2.1 配置功能验收
371
+
372
+ - [ ] 前端配置表单可填写:command、provider、model、noSession、sessionDir、workingDir
373
+ - [ ] 点击"初始化"按钮后保存配置并启动 aicode 子进程
374
+ - [ ] 配置持久化到 `~/.aicode-ui/config.json`
375
+ - [ ] 再次访问时自动加载已有配置
376
+ - [ ] 支持随时修改配置并重新初始化
377
+
378
+ ### 5.3 功能验收
379
+
380
+ - [ ] **发送提示**: POST `/api/aicode/prompt` 成功发送消息给 aicode
381
+ - [ ] **接收事件**: WebSocket 正常接收 aicode 事件(message_update, agent_end 等)
382
+ - [ ] **中断操作**: POST `/api/aicode/steer` 可中断当前操作
383
+ - [ ] **后续消息**: POST `/api/aicode/follow-up` 可发送后续消息
384
+ - [ ] **中止操作**: POST `/api/aicode/abort` 可中止当前操作
385
+ - [ ] **新会话**: POST `/api/aicode/new-session` 可创建新会话
386
+
387
+ ### 5.4 配置验收
388
+
389
+ - [ ] 配置文件 `~/.aicode-ui/config.json` 可正常加载
390
+ - [ ] 环境变量覆盖配置生效(如 `AICODE_UI_PORT=9000`)
391
+ - [ ] 命令行参数覆盖配置生效(如 `aicode-ui --port 9000`)
392
+
393
+ ### 5.5 稳定性验收
394
+
395
+ - [ ] aicode 子进程异常退出后自动重启
396
+ - [ ] 关闭服务器时子进程正确清理
397
+ - [ ] 长时间运行无内存泄漏
398
+
399
+ ### 5.6 兼容性验收
400
+
401
+ - [ ] Node.js 18+ 环境可正常运行
402
+ - [ ] Windows/macOS/Linux 平台可正常运行
403
+
404
+ ### 5.7 发布验收
405
+
406
+ - [ ] 成功发布到 npm: `@ia-ccun/aicode-ui`
407
+ - [ ] 从 npm 安装后命令可用
408
+
409
+ ---
410
+
411
+ ## 6. 风险与缓解措施
412
+
413
+ ### 风险 1: 子进程通信协议兼容性
414
+
415
+ **描述**: aicode 命令的 `--mode rpc` 输出格式可能与 Java 版本解析逻辑不完全兼容
416
+
417
+ **缓解措施**:
418
+ - 详细测试不同类型的 JSONL 事件
419
+ - 添加协议解析调试日志
420
+ - 预留配置项调整解析逻辑
421
+
422
+ ### 风险 2: 前端 API 地址
423
+
424
+ **描述**: 复制的前端文件中的 API 地址可能使用硬编码
425
+
426
+ **缓解措施**:
427
+ - 使用相对路径 `/api/...` 和 WebSocket `ws://localhost:port/ws/agent`
428
+
429
+ ### 风险 3: 配置路径兼容性
430
+
431
+ **描述**: Windows 和 macOS/Linux 的路径格式不同
432
+
433
+ **缓解措施**:
434
+ - 使用 Node.js 的 `path` 模块处理路径
435
+ - 配置默认路径使用 `os.homedir()`
436
+
437
+ ---
438
+
439
+ ## 7. 实施顺序总结
440
+
441
+ ```
442
+ Phase 1: 项目初始化
443
+ 1.1 创建项目结构和 package.json
444
+ 1.2 配置管理
445
+
446
+ Phase 2: 核心服务开发
447
+ 2.1 aicode 子进程管理服务(最重要)
448
+
449
+ Phase 3: 服务器和 API
450
+ 3.1 Express 服务器
451
+ 3.2 REST API 路由
452
+ 3.3 WebSocket 处理
453
+
454
+ Phase 4: 前端集成
455
+ 4.1 复制前端文件
456
+
457
+ Phase 5: CLI 入口和打包
458
+ 5.1 创建 CLI 入口
459
+ 5.2 配置 package.json
460
+
461
+ Phase 6: 发布
462
+ 6.1 发布到 npm (@ia-ccun/aicode-ui)
463
+ ```
464
+
465
+ ---
466
+
467
+ ## 相关文件路径
468
+
469
+ **原始项目(Java)**:
470
+ - `/Users/xujianjiang/IdeaProjects/code-agent-cli/backend-app/src/main/java/com/aicode/piagent/service/PiAgentRpcService.java`
471
+ - `/Users/xujianjiang/IdeaProjects/code-agent-cli/backend-app/src/main/java/com/aicode/piagent/controller/PiAgentController.java`
472
+ - `/Users/xujianjiang/IdeaProjects/code-agent-cli/backend-app/src/main/resources/application.yml`
473
+ - `/Users/xujianjiang/IdeaProjects/code-agent-cli/backend-app/src/main/resources/static/index-v3.html`
474
+
475
+ **新项目(目标)**:
476
+ - `/Users/xujianjiang/IdeaProjects/code-agent-cli/inner-claw-webui/`
477
+ - **npm 包名**: `@ia-ccun/aicode-ui`
package/README.md ADDED
@@ -0,0 +1,108 @@
1
+ # Code Agent Claw WebUI
2
+
3
+ 可视化界面,让你可以用浏览器配置和管理 Code Agent。
4
+
5
+ ## 什么是 Code Agent Claw WebUI
6
+
7
+ 这是一个运行在浏览器中的可视化控制台,用于:
8
+ - **配置 Agent**:设置模型、提供商、工作目录等参数
9
+ - **发送指令**:通过图形界面发送提示、引导或后续消息
10
+ - **实时交互**:查看 Agent 的实时响应和状态
11
+ - **会话管理**:创建和管理多个对话会话
12
+
13
+ ## 安装步骤
14
+
15
+ ### 1. 安装 Node.js
16
+
17
+ 确保你的系统已安装 Node.js 20.0 或更高版本:
18
+
19
+ ```bash
20
+ node --version
21
+ ```
22
+
23
+ 如未安装,请访问 [nodejs.org](https://nodejs.org/) 下载安装。
24
+
25
+ ### 2. 全局安装
26
+
27
+ ```bash
28
+ npm i -g @ia-ccun/code-agent-claw
29
+ ```
30
+
31
+ ### 3. 启动服务
32
+
33
+ ```bash
34
+ aicode-claw
35
+ ```
36
+
37
+ 启动成功后,终端会显示:
38
+
39
+ ```
40
+ Server started: http://localhost:8081
41
+ WebUI: http://localhost:8081/index.html
42
+ ```
43
+
44
+ ### 4. 打开浏览器访问
45
+
46
+ 在浏览器中打开 http://localhost:8081 即可看到控制台界面。
47
+
48
+ ## 首次配置
49
+
50
+ 首次使用时,需要完成以下配置:
51
+
52
+ ### 配置说明
53
+
54
+ > 💡 **提示**:Provider 和 Model 的可用选项可以参考 `~/.aicode-cli/agent/models.json` 文件。
55
+
56
+ | 配置项 | 说明 | 示例值 |
57
+ |--------|------|--------|
58
+ | **Command** | aicode 命令的路径 | `aicode` 或完整路径 |
59
+ | **Provider** | LLM 服务提供商 | `minimax-custom` |
60
+ | **Model** | 使用的模型名称 | `MiniMax-M2.5` |
61
+ | **Working Dir** | Agent 工作目录 | `~/.aicode-cli` |
62
+ | **Session Dir** | 会话保存目录 | `~/.aicode-cli/agent/sessions` |
63
+
64
+ ### 配置步骤
65
+
66
+ 1. 在 Web 界面左侧的「配置面板」中填写上述信息
67
+ 2. 点击「初始化」按钮
68
+ 3. 等待 Agent 启动,状态指示器变绿即表示成功
69
+
70
+ ## 使用指南
71
+
72
+ ### 发送提示
73
+
74
+ 在底部输入框中输入你的问题或指令,点击发送或按 Enter 提交。Agent 会实时返回响应。
75
+
76
+ ### 使用引导消息
77
+
78
+ 点击「Steer」按钮发送引导消息,用于调整 Agent 的行为或方向。
79
+
80
+ ### 后续对话
81
+
82
+ 在对话过程中,可以使用「Follow Up」发送后续补充信息。
83
+
84
+ ### 中止操作
85
+
86
+ 如果 Agent 响应时间过长,点击「Abort」按钮中止当前操作。
87
+
88
+ ### 创建新会话
89
+
90
+ 点击「New Session」创建全新对话,会清除当前上下文。
91
+
92
+ ## 常见问题
93
+
94
+ **Q: 启动后提示 "aicode command not found"**
95
+
96
+ A: 确保已将 aicode CLI 安装到系统路径中,或在配置中填写完整路径。
97
+
98
+ **Q: 状态一直显示 "未连接"**
99
+
100
+ A: 检查配置是否正确填写,然后点击「初始化」按钮启动 Agent。
101
+
102
+ **Q: 如何修改端口号?**
103
+
104
+ A: 可以通过环境变量 `AICODE_UI_PORT` 修改,或直接修改 `config/default.json`。
105
+
106
+ ## 技术支持
107
+
108
+ 如遇问题,可查看终端日志获取详细错误信息。
package/bin/cli.js ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawn } = require('child_process');
4
+ const path = require('path');
5
+
6
+ const distPath = path.join(__dirname, '..', 'dist', 'index.js');
7
+
8
+ const child = spawn('node', [distPath], {
9
+ stdio: 'inherit',
10
+ cwd: process.cwd(),
11
+ env: process.env
12
+ });
13
+
14
+ child.on('exit', (code) => {
15
+ process.exit(code || 0);
16
+ });
@@ -0,0 +1,18 @@
1
+ {
2
+ "server": {
3
+ "port": 8081,
4
+ "host": "0.0.0.0"
5
+ },
6
+ "agent": {
7
+ "enabled": false,
8
+ "command": "aicode",
9
+ "provider": "minimax-custom",
10
+ "model": "MiniMax-M2.5",
11
+ "noSession": true,
12
+ "sessionDir": "~/.aicode-cli/agent/sessions",
13
+ "workingDir": "~/.aicode-cli"
14
+ },
15
+ "logging": {
16
+ "level": "info"
17
+ }
18
+ }
@@ -0,0 +1,22 @@
1
+ import { Config, AgentConfig } from './types';
2
+ /**
3
+ * 自动检测 aicode 命令路径
4
+ */
5
+ export declare function findAicodeCommand(): string;
6
+ /**
7
+ * 加载配置
8
+ */
9
+ export declare function loadConfig(): Config;
10
+ /**
11
+ * 保存配置到用户目录
12
+ */
13
+ export declare function saveUserConfig(agentConfig: AgentConfig): void;
14
+ /**
15
+ * 获取用户配置路径
16
+ */
17
+ export declare function getUserConfigPath(): string;
18
+ /**
19
+ * 获取当前配置(仅返回 agent 部分)
20
+ */
21
+ export declare function getAgentConfig(): AgentConfig;
22
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,WAAW,EAA+B,MAAM,SAAS,CAAC;AAG3E;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAqD1C;AAkCD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CA0DnC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CA+B7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AA+BD;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAG5C"}