niumagents-cli 0.1.12 → 0.1.13
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 +177 -91
- package/dist/nium.js +1034 -457
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# NiumAgents-CLI
|
|
2
2
|
|
|
3
|
+
一个基于 AI 的智能代码助手工具,支持多种编程语言的代码生成、项目分析、智能问答等功能。
|
|
4
|
+
|
|
3
5
|
## 📦 安装
|
|
4
6
|
|
|
5
7
|
### 全局安装
|
|
@@ -20,6 +22,8 @@ nium
|
|
|
20
22
|
|
|
21
23
|
### 模型配置
|
|
22
24
|
|
|
25
|
+
首次启动时,系统会自动创建 `.nium/config.json` 配置文件。
|
|
26
|
+
|
|
23
27
|
配置示例(`.nium/config.json`):
|
|
24
28
|
|
|
25
29
|
```json
|
|
@@ -29,10 +33,10 @@ nium
|
|
|
29
33
|
"apiKey": "your-api-key-here",
|
|
30
34
|
"baseURL": "https://api.openai.com/v1",
|
|
31
35
|
"model": "gpt-4o",
|
|
32
|
-
"provider": "openai", // openai(OpenAI兼容) / anthropic
|
|
36
|
+
"provider": "openai", // openai(OpenAI兼容) / anthropic
|
|
33
37
|
"maxToken": 128000
|
|
34
38
|
}
|
|
35
|
-
//
|
|
39
|
+
// 可选:轻量级模型,用于简单任务和上下文压缩
|
|
36
40
|
// "liteModel": {
|
|
37
41
|
// "apiKey": "your-api-key-here",
|
|
38
42
|
// "baseURL": "https://api.openai.com/v1",
|
|
@@ -44,6 +48,10 @@ nium
|
|
|
44
48
|
}
|
|
45
49
|
```
|
|
46
50
|
|
|
51
|
+
**支持的 provider 类型:**
|
|
52
|
+
- `openai` - OpenAI 及兼容接口(如 DeepSeek, Qwen 等)
|
|
53
|
+
- `anthropic` - Anthropic Claude API
|
|
54
|
+
|
|
47
55
|
### 基本工作流程
|
|
48
56
|
|
|
49
57
|
```bash
|
|
@@ -79,7 +87,7 @@ nium> /clear
|
|
|
79
87
|
| 命令 | 说明 | 示例 |
|
|
80
88
|
|------|------|------|
|
|
81
89
|
| `/commit` | 使用AI生成commit message并提交 | `/commit` |
|
|
82
|
-
| `/list_tools` |
|
|
90
|
+
| `/list_tools` | 列出所有可用的工具(含MCP工具) | `/list_tools` |
|
|
83
91
|
| `/history` | 查看归档的会话历史 | `/history` |
|
|
84
92
|
|
|
85
93
|
### 系统命令
|
|
@@ -92,18 +100,61 @@ nium> /clear
|
|
|
92
100
|
### 命令提示
|
|
93
101
|
|
|
94
102
|
- 输入 `/` 后可以使用**模糊搜索**来快速找到命令
|
|
95
|
-
-
|
|
103
|
+
- 支持命令简写和快速匹配
|
|
104
|
+
|
|
105
|
+
## 🎯 内置工具和智能体
|
|
106
|
+
|
|
107
|
+
### 核心工具
|
|
108
|
+
|
|
109
|
+
#### 思考和规划工具
|
|
110
|
+
- `think(thought)` - 记录思考过程,支持结构化思维和推理
|
|
111
|
+
- `plan(task, subtasks)` - 创建和管理复杂任务计划
|
|
112
|
+
- `todo(action, items)` - 管理待办任务列表,跟踪任务进度
|
|
113
|
+
- `askUser(question, options?)` - 向用户提问并等待响应
|
|
114
|
+
|
|
115
|
+
#### 文件操作工具
|
|
116
|
+
- `read(path)` - 读取文件内容
|
|
117
|
+
- `write(path, content)` - 写入文件(创建或覆盖)
|
|
118
|
+
- `merge(path, content)` - 智能合并内容到文件(使用三方合并算法,自动解决冲突)
|
|
119
|
+
- `delete(path)` - 删除文件或目录
|
|
120
|
+
- `mkdir(path)` - 创建目录
|
|
121
|
+
- `move(source, destination)` - 移动文件或目录
|
|
122
|
+
- `copy(source, destination)` - 复制文件或目录
|
|
123
|
+
- `searchReplace(pattern, replacement, path)` - 基于正则表达式的查找替换
|
|
124
|
+
- `validate(path)` - 验证文件语法和格式
|
|
125
|
+
|
|
126
|
+
#### 搜索和检索工具
|
|
127
|
+
- `glob(pattern)` - 通过模式匹配文件(如 `**/*.ts`、`src/**/*.java`)
|
|
128
|
+
- `grep(pattern, path)` - 在文件中搜索内容(支持正则表达式)
|
|
129
|
+
- `search_docs(query, scope?)` - 在项目文档中搜索内容
|
|
130
|
+
- `build_doc_index(paths?)` - 构建项目文档索引
|
|
131
|
+
- `search_file_changes(query?, options?)` - 搜索和查询文件变更历史
|
|
132
|
+
|
|
133
|
+
#### 项目探索工具
|
|
134
|
+
- `quickProjectScan()` - 快速扫描项目结构并生成文档(15-30秒)
|
|
135
|
+
- `explore(topic, topicEnglish)` - 深度探索项目整体架构、模块关系、设计模式(30-60秒)
|
|
136
|
+
- `moduleExplore(moduleName, moduleEnglish, searchPattern?)` - 深度探索单个模块的内部实现、函数细节(60-120秒)
|
|
137
|
+
- `toolingExplore(topic, topicEnglish)` - 深度探索构建工具和开发流程配置(30-60秒)
|
|
96
138
|
|
|
97
|
-
|
|
139
|
+
#### 智能辅助工具
|
|
140
|
+
- `smartSuggest(context, options?)` - 基于上下文的智能建议和推荐
|
|
98
141
|
|
|
99
|
-
|
|
142
|
+
#### 系统工具
|
|
143
|
+
- `shell(command)` - 执行通用 shell 命令(跨平台)
|
|
144
|
+
- `bash(command)` - 执行 Bash 命令(Linux/macOS)
|
|
145
|
+
- `powershell(command)` - 执行 PowerShell 命令(Windows)
|
|
100
146
|
|
|
147
|
+
**注意:** `bash` 和 `powershell` 工具会根据运行平台自动启用。
|
|
101
148
|
|
|
102
|
-
###
|
|
149
|
+
### MCP 工具(可选)
|
|
103
150
|
|
|
104
|
-
|
|
151
|
+
如果配置了 MCP 服务器,还可以使用额外的工具。通过 `/list_tools` 命令可查看所有可用工具。
|
|
105
152
|
|
|
106
|
-
|
|
153
|
+
### 自定义智能体
|
|
154
|
+
|
|
155
|
+
你可以创建自己的智能体来处理特定任务。
|
|
156
|
+
|
|
157
|
+
#### 创建自定义智能体
|
|
107
158
|
|
|
108
159
|
在 `.nium/agents/` 目录下创建 `.md` 文件:
|
|
109
160
|
|
|
@@ -134,28 +185,28 @@ keywords: 翻译, translate, 中英文, translation
|
|
|
134
185
|
|
|
135
186
|
### .nium 目录结构
|
|
136
187
|
|
|
137
|
-
`.nium/`
|
|
188
|
+
`.nium/` 目录包含所有配置文件和会话数据,该目录已自动添加到 `.gitignore`。
|
|
138
189
|
|
|
139
190
|
```
|
|
140
191
|
.nium/
|
|
141
|
-
├── .
|
|
142
|
-
├── config.json # 全局配置
|
|
192
|
+
├── config.json # 全局配置(模型、MCP服务器等)
|
|
143
193
|
├── session.jsonl # 当前会话数据(用于恢复)
|
|
144
|
-
├── agents/ #
|
|
194
|
+
├── agents/ # 自定义智能体配置 ⭐
|
|
145
195
|
│ ├── commit-helper.md
|
|
146
196
|
│ ├── translator.md
|
|
147
197
|
│ └── your-agent.md
|
|
148
198
|
├── archives/ # 历史会话归档
|
|
149
199
|
│ └── session-*.jsonl
|
|
150
|
-
|
|
151
|
-
|
|
200
|
+
├── project/ # 项目信息缓存
|
|
201
|
+
│ └── project.json
|
|
202
|
+
└── rules.md # 项目规则文件(可选)
|
|
152
203
|
```
|
|
153
204
|
|
|
154
|
-
###
|
|
205
|
+
### 高级配置
|
|
155
206
|
|
|
156
|
-
|
|
207
|
+
#### 环境变量(可选)
|
|
157
208
|
|
|
158
|
-
|
|
209
|
+
可以通过环境变量或 `.nium/.env` 文件配置:
|
|
159
210
|
|
|
160
211
|
```bash
|
|
161
212
|
# 启用上下文隔离模式(推荐)
|
|
@@ -164,49 +215,80 @@ USE_LLM_DISCLOSURE=true
|
|
|
164
215
|
# 启用LLM生成高质量摘要
|
|
165
216
|
USE_LLM_SUMMARY=true
|
|
166
217
|
|
|
218
|
+
# 启用调试模式
|
|
219
|
+
DEBUG=true
|
|
167
220
|
```
|
|
168
221
|
|
|
222
|
+
#### 项目规则文件(可选)
|
|
169
223
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
创建 `.nium/rules.md` 文件来定义项目特定的规则和约定
|
|
173
|
-
|
|
174
|
-
该文件用于告诉AI助手项目的编码规范、架构约定、开发流程等信息。
|
|
175
|
-
|
|
176
|
-
## 🛠️ 可用工具
|
|
177
|
-
|
|
178
|
-
系统提供了丰富的工具集,可通过 `/list_tools` 命令查看完整列表。
|
|
179
|
-
|
|
180
|
-
### 文件操作工具
|
|
181
|
-
|
|
182
|
-
- `read(path)` - 读取文件内容
|
|
183
|
-
- `write(path, content)` - 写入文件
|
|
184
|
-
- `merge(path, content)` - 智能合并内容到文件
|
|
185
|
-
- `delete(path)` - 删除文件
|
|
186
|
-
- `mkdir(path)` - 创建目录
|
|
187
|
-
- `searchReplace(pattern, replacement, path)` - 查找替换
|
|
188
|
-
|
|
189
|
-
### 代码搜索工具
|
|
224
|
+
创建 `.nium/rules.md` 文件来定义项目特定的规则和约定。该文件用于告诉AI助手项目的编码规范、架构约定、开发流程等信息。
|
|
190
225
|
|
|
191
|
-
|
|
192
|
-
- `grep(pattern, path)` - 在文件中搜索内容
|
|
226
|
+
**示例 `.nium/rules.md`:**
|
|
193
227
|
|
|
194
|
-
|
|
228
|
+
```markdown
|
|
229
|
+
# 项目规则
|
|
230
|
+
|
|
231
|
+
## 代码风格
|
|
232
|
+
- 使用 TypeScript 严格模式
|
|
233
|
+
- 使用 ES6+ 语法
|
|
234
|
+
- 优先使用函数式编程风格
|
|
235
|
+
|
|
236
|
+
## 命名约定
|
|
237
|
+
- 文件名使用 kebab-case
|
|
238
|
+
- 类名使用 PascalCase
|
|
239
|
+
- 函数和变量使用 camelCase
|
|
240
|
+
|
|
241
|
+
## 架构约定
|
|
242
|
+
- 遵循单一职责原则
|
|
243
|
+
- 保持模块解耦
|
|
244
|
+
- 使用依赖注入
|
|
245
|
+
```
|
|
195
246
|
|
|
196
|
-
|
|
247
|
+
### MCP 集成
|
|
197
248
|
|
|
198
|
-
|
|
249
|
+
支持 Model Context Protocol (MCP),可以通过MCP服务器扩展更多功能。
|
|
199
250
|
|
|
200
|
-
|
|
251
|
+
#### MCP 配置
|
|
201
252
|
|
|
202
|
-
|
|
253
|
+
在 `.nium/config.json` 中配置 MCP 服务器:
|
|
203
254
|
|
|
204
|
-
|
|
205
|
-
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"models": {
|
|
258
|
+
"defaultModel": {
|
|
259
|
+
"apiKey": "your-api-key-here",
|
|
260
|
+
"baseURL": "https://api.openai.com/v1",
|
|
261
|
+
"model": "gpt-4o",
|
|
262
|
+
"provider": "openai",
|
|
263
|
+
"maxToken": 128000
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"mcpServers": [
|
|
267
|
+
{
|
|
268
|
+
"name": "example-http-server",
|
|
269
|
+
"description": "示例 HTTP MCP 服务器",
|
|
270
|
+
"transport": "http",
|
|
271
|
+
"url": "http://localhost:3000",
|
|
272
|
+
"headers": {
|
|
273
|
+
"Authorization": "Bearer your-token-here"
|
|
274
|
+
},
|
|
275
|
+
"timeout": 30000,
|
|
276
|
+
"enabled": false
|
|
277
|
+
}
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
```
|
|
206
281
|
|
|
207
|
-
|
|
282
|
+
**配置说明:**
|
|
283
|
+
- `name` - 服务器名称(唯一标识)
|
|
284
|
+
- `description` - 服务器描述
|
|
285
|
+
- `transport` - 传输协议(http 或 stdio)
|
|
286
|
+
- `url` - 服务器地址(HTTP 模式)
|
|
287
|
+
- `headers` - 请求头(可选)
|
|
288
|
+
- `timeout` - 超时时间(毫秒)
|
|
289
|
+
- `enabled` - 是否启用
|
|
208
290
|
|
|
209
|
-
|
|
291
|
+
配置完成后重新启动,使用 `/list_tools` 命令查看可用的 MCP 工具。
|
|
210
292
|
|
|
211
293
|
## 🎨 使用示例
|
|
212
294
|
|
|
@@ -216,66 +298,70 @@ USE_LLM_SUMMARY=true
|
|
|
216
298
|
nium> 帮我创建一个用户认证模块,包括登录、注册和token验证
|
|
217
299
|
```
|
|
218
300
|
|
|
219
|
-
### 示例2
|
|
301
|
+
### 示例2:代码分析和重构
|
|
220
302
|
|
|
221
303
|
```bash
|
|
222
|
-
nium>
|
|
304
|
+
nium> 分析 src/api/user.ts 文件,找出潜在问题并优化代码
|
|
223
305
|
```
|
|
224
306
|
|
|
225
|
-
### 示例3
|
|
307
|
+
### 示例3:自动提交代码
|
|
226
308
|
|
|
227
309
|
```bash
|
|
228
310
|
# 修改代码后
|
|
229
311
|
nium> /commit
|
|
312
|
+
# AI会自动分析变更,生成合适的commit message并提交
|
|
230
313
|
```
|
|
231
314
|
|
|
232
|
-
### 示例4
|
|
315
|
+
### 示例4:项目探索
|
|
233
316
|
|
|
234
317
|
```bash
|
|
235
|
-
nium>
|
|
318
|
+
nium> 探索这个项目的结构,告诉我主要的模块和它们的功能
|
|
236
319
|
```
|
|
237
320
|
|
|
321
|
+
### 示例5:智能问答
|
|
238
322
|
|
|
239
|
-
|
|
323
|
+
```bash
|
|
324
|
+
nium> 这个项目中的用户认证是如何实现的?
|
|
325
|
+
```
|
|
240
326
|
|
|
241
|
-
|
|
327
|
+
## ✨ 核心特性
|
|
242
328
|
|
|
243
|
-
|
|
329
|
+
### 智能上下文管理
|
|
244
330
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
"timeout": 30000,
|
|
273
|
-
"enabled": false
|
|
274
|
-
}
|
|
275
|
-
]
|
|
276
|
-
}
|
|
277
|
-
```
|
|
331
|
+
- **自动上下文压缩** - 使用 LLM 智能压缩历史对话,保持上下文相关性
|
|
332
|
+
- **语义分析** - 自动分析代码语义,提取关键信息
|
|
333
|
+
- **上下文锚点** - 标记重要上下文,避免信息丢失
|
|
334
|
+
- **会话恢复** - 支持中断恢复,保持工作连续性
|
|
335
|
+
- **项目语言缓存** - 自动检测和缓存项目语言,优化后续操作
|
|
336
|
+
|
|
337
|
+
### 智能文件操作
|
|
338
|
+
|
|
339
|
+
- **文件变更追踪** - 自动记录所有文件变更,支持历史查询
|
|
340
|
+
- **编码自动检测** - 智能识别文件编码(UTF-8/GBK等)
|
|
341
|
+
|
|
342
|
+
### 项目分析能力
|
|
343
|
+
|
|
344
|
+
- **快速扫描** - 快速分析项目结构,生成文档(15-30秒)
|
|
345
|
+
- **深度探索** - 深入分析项目架构、模块关系、设计模式(30-60秒)
|
|
346
|
+
- **模块探索** - 探索单个模块的内部实现和调用链(60-120秒)
|
|
347
|
+
- **依赖分析** - 分析项目依赖关系(支持 Java Maven/Gradle、npm、pip 等)
|
|
348
|
+
- **代码标准检测** - 自动检测项目使用的代码规范和工具
|
|
349
|
+
- **文档搜索** - 基于 FlexSearch 的文档全文检索
|
|
350
|
+
|
|
351
|
+
### ReAct 智能体架构
|
|
352
|
+
|
|
353
|
+
基于 ReAct(Reasoning + Acting)模式:
|
|
354
|
+
1. **Thought(思考)** - 结构化思考和推理过程
|
|
355
|
+
2. **Action(行动)** - 执行具体操作和工具调用
|
|
356
|
+
3. **Observation(观察)** - 观察执行结果和反馈
|
|
357
|
+
4. **循环优化** - 根据结果调整策略,持续改进
|
|
278
358
|
|
|
279
359
|
## 📝 许可证
|
|
280
360
|
|
|
281
|
-
MIT License - 详见 [LICENSE](https://github.com/niuma996/niumagents-cli?tab=MIT-1-ov-file) 文件
|
|
361
|
+
MIT License - 详见 [LICENSE](https://github.com/niuma996/niumagents-cli?tab=MIT-1-ov-file) 文件
|
|
362
|
+
|
|
363
|
+
## 🔗 相关链接
|
|
364
|
+
|
|
365
|
+
- [GitHub 仓库](https://github.com/niuma996/niumagents-cli)
|
|
366
|
+
- [问题反馈](https://github.com/niuma996/niumagents-cli/issues)
|
|
367
|
+
- [更新日志](https://github.com/niuma996/niumagents-cli/releases)
|