blade-code 0.0.17 → 0.0.18
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.en.md +54 -440
- package/README.md +53 -480
- package/dist/blade.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,102 +17,50 @@
|
|
|
17
17
|
|
|
18
18
|
## ✨ 核心特性
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<td width="50%" valign="top">
|
|
27
|
-
<h3>🛠️ 丰富工具</h3>
|
|
28
|
-
<p>内置文件操作、Git 管理、网络请求、代码分析等实用工具</p>
|
|
29
|
-
</td>
|
|
30
|
-
</tr>
|
|
31
|
-
<tr>
|
|
32
|
-
<td width="50%" valign="top">
|
|
33
|
-
<h3>🔗 MCP 协议</h3>
|
|
34
|
-
<p>支持 Model Context Protocol,轻松扩展外部资源和工具</p>
|
|
35
|
-
</td>
|
|
36
|
-
<td width="50%" valign="top">
|
|
37
|
-
<h3>🎨 现代 UI</h3>
|
|
38
|
-
<p>基于 Ink 的美观终端界面,提供流畅的交互体验</p>
|
|
39
|
-
</td>
|
|
40
|
-
</tr>
|
|
41
|
-
<tr>
|
|
42
|
-
<td width="50%" valign="top">
|
|
43
|
-
<h3>💾 会话管理</h3>
|
|
44
|
-
<p>支持多会话、继续对话、会话恢复等功能</p>
|
|
45
|
-
</td>
|
|
46
|
-
<td width="50%" valign="top">
|
|
47
|
-
<h3>🔒 安全可控</h3>
|
|
48
|
-
<p>权限管理、工具白名单、操作确认等安全机制</p>
|
|
49
|
-
</td>
|
|
50
|
-
</tr>
|
|
51
|
-
</table>
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## 📖 文档
|
|
56
|
-
|
|
57
|
-
- **[完整文档](docs/index.md)** - 文档中心导航
|
|
58
|
-
- **[用户文档](docs/public/README.md)** - 安装、配置、使用指南
|
|
59
|
-
- **[开发者文档](docs/development/README.md)** - 架构设计、技术实现
|
|
60
|
-
- **[贡献指南](docs/contributing/README.md)** - 参与开源贡献
|
|
20
|
+
- 🤖 **智能对话** - 基于大语言模型,支持上下文理解和多轮对话
|
|
21
|
+
- 🛠️ **丰富工具** - 内置 18+ 工具:文件读写、代码搜索、Shell 执行、Git 操作等
|
|
22
|
+
- 🔗 **MCP 协议** - 支持 Model Context Protocol,轻松扩展外部工具
|
|
23
|
+
- 🎨 **现代 UI** - 基于 React + Ink,支持 Markdown 渲染和语法高亮
|
|
24
|
+
- 💾 **会话管理** - 多会话、继续对话、会话恢复、会话 Fork
|
|
25
|
+
- 🔒 **安全可控** - 三级权限系统(allow/ask/deny)、工具白名单、操作确认
|
|
61
26
|
|
|
62
27
|
---
|
|
63
28
|
|
|
64
29
|
## 🚀 快速开始
|
|
65
30
|
|
|
66
|
-
###
|
|
67
|
-
|
|
68
|
-
无需安装,直接体验 Blade Code:
|
|
31
|
+
### 零安装试用
|
|
69
32
|
|
|
70
33
|
```bash
|
|
71
|
-
# 交互式模式
|
|
72
34
|
npx blade-code
|
|
73
|
-
|
|
74
|
-
# 快速问答(非交互式)
|
|
75
35
|
npx blade-code --print "解释什么是 TypeScript"
|
|
76
|
-
|
|
77
|
-
# 代码生成(非交互式)
|
|
78
|
-
npx blade-code --print "用 Python 写一个快速排序算法"
|
|
79
36
|
```
|
|
80
37
|
|
|
81
|
-
###
|
|
38
|
+
### 全局安装
|
|
82
39
|
|
|
83
40
|
```bash
|
|
84
|
-
# 使用 npm 安装
|
|
85
41
|
npm install -g blade-code
|
|
86
|
-
|
|
87
|
-
# 使用 pnpm 安装
|
|
42
|
+
# 或
|
|
88
43
|
pnpm add -g blade-code
|
|
89
|
-
|
|
90
|
-
# 使用 yarn 安装
|
|
91
|
-
yarn global add blade-code
|
|
92
44
|
```
|
|
93
45
|
|
|
94
|
-
|
|
46
|
+
### 基本使用
|
|
95
47
|
|
|
96
48
|
```bash
|
|
97
|
-
#
|
|
98
|
-
blade
|
|
99
|
-
|
|
100
|
-
#
|
|
101
|
-
blade --print "你好,介绍一下自己"
|
|
49
|
+
blade # 交互式模式
|
|
50
|
+
blade "帮我分析这个项目" # 带首条消息进入
|
|
51
|
+
blade --print "写一个快排算法" # 打印模式(适合管道)
|
|
52
|
+
blade --continue # 继续上次对话
|
|
102
53
|
```
|
|
103
54
|
|
|
104
|
-
>
|
|
55
|
+
> 首次运行若未配置 API 密钥,会自动弹出设置向导。
|
|
105
56
|
|
|
106
57
|
---
|
|
107
58
|
|
|
108
|
-
## 🔐 配置
|
|
109
|
-
|
|
110
|
-
Blade Code 支持多种 LLM 提供商,您需要配置相应的 API 密钥:
|
|
59
|
+
## 🔐 配置
|
|
111
60
|
|
|
112
|
-
###
|
|
61
|
+
### 配置文件
|
|
113
62
|
|
|
114
63
|
```bash
|
|
115
|
-
# 创建用户级配置文件
|
|
116
64
|
mkdir -p ~/.blade
|
|
117
65
|
cat > ~/.blade/config.json << 'EOF'
|
|
118
66
|
{
|
|
@@ -122,221 +70,35 @@ cat > ~/.blade/config.json << 'EOF'
|
|
|
122
70
|
"model": "qwen-max"
|
|
123
71
|
}
|
|
124
72
|
EOF
|
|
125
|
-
|
|
126
|
-
# 或在配置文件中使用环境变量插值
|
|
127
|
-
cat > ~/.blade/config.json << 'EOF'
|
|
128
|
-
{
|
|
129
|
-
"apiKey": "${BLADE_API_KEY}",
|
|
130
|
-
"baseUrl": "${BLADE_BASE_URL:-https://apis.iflow.cn/v1}"
|
|
131
|
-
}
|
|
132
|
-
EOF
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### 方式二:首启设置向导(推荐体验)
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
blade
|
|
139
|
-
# 若未配置 API Key,将自动引导完成 Provider、Base URL、API Key、模型的填写
|
|
140
73
|
```
|
|
141
74
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
```bash
|
|
145
|
-
# 使用 config 命令管理配置
|
|
146
|
-
blade config
|
|
147
|
-
```
|
|
75
|
+
支持环境变量插值:`"apiKey": "${BLADE_API_KEY}"`
|
|
148
76
|
|
|
149
77
|
### 获取 API 密钥
|
|
150
78
|
|
|
151
|
-
-
|
|
79
|
+
- **千问**: [DashScope 控制台](https://dashscope.console.aliyun.com/apiKey)
|
|
152
80
|
- **火山引擎**: [火山方舟控制台](https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey)
|
|
81
|
+
- **OpenAI**: [OpenAI Platform](https://platform.openai.com/api-keys)
|
|
153
82
|
|
|
154
83
|
---
|
|
155
84
|
|
|
156
85
|
## 💬 使用示例
|
|
157
86
|
|
|
158
|
-
### 基础对话
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
# 交互式模式(默认)
|
|
162
|
-
blade
|
|
163
|
-
|
|
164
|
-
# 直接发送消息(会在 UI 初始化后自动输入并执行)
|
|
165
|
-
blade "什么是人工智能?"
|
|
166
|
-
|
|
167
|
-
# 代码生成
|
|
168
|
-
blade "用 JavaScript 写一个防抖函数"
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### 智能工具调用
|
|
172
|
-
|
|
173
|
-
Blade Code 会根据您的需求自动选择合适的工具:
|
|
174
|
-
|
|
175
|
-
```bash
|
|
176
|
-
# 文件操作
|
|
177
|
-
blade "列出当前目录的所有 TypeScript 文件"
|
|
178
|
-
|
|
179
|
-
# Git 操作
|
|
180
|
-
blade "查看最近的 5 次提交记录"
|
|
181
|
-
|
|
182
|
-
# 代码审查
|
|
183
|
-
blade "审查 src/utils 目录的代码质量"
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### 会话管理
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
# 创建或使用命名会话
|
|
190
|
-
blade --session-id "project-alpha" "开始新项目"
|
|
191
|
-
|
|
192
|
-
# 继续最近的会话
|
|
193
|
-
blade --continue
|
|
194
|
-
|
|
195
|
-
# 恢复特定会话
|
|
196
|
-
blade --resume <conversation-id>
|
|
197
|
-
|
|
198
|
-
# Fork 会话(从现有会话创建新会话)
|
|
199
|
-
blade --resume <id> --fork-session
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### 打印模式
|
|
203
|
-
|
|
204
|
-
适合管道操作和脚本使用:
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
# 打印模式(非交互式,直接输出结果)
|
|
208
|
-
blade --print "生成一个 README 模板" > README.md
|
|
209
|
-
|
|
210
|
-
# 指定输出格式
|
|
211
|
-
blade --print --output-format json "获取项目信息"
|
|
212
|
-
|
|
213
|
-
# 流式 JSON 输出
|
|
214
|
-
blade --print --output-format stream-json "分析代码"
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### 输入/输出选项
|
|
218
|
-
|
|
219
87
|
```bash
|
|
220
|
-
#
|
|
221
|
-
|
|
88
|
+
# 智能工具调用
|
|
89
|
+
blade "列出所有 TypeScript 文件"
|
|
90
|
+
blade "查找包含 TODO 的代码"
|
|
91
|
+
blade "审查 src/utils 目录的代码"
|
|
222
92
|
|
|
223
|
-
#
|
|
224
|
-
blade --
|
|
93
|
+
# 会话管理
|
|
94
|
+
blade --session-id "my-project" "开始新项目"
|
|
95
|
+
blade --resume <id> # 恢复会话
|
|
96
|
+
blade --resume <id> --fork-session # Fork 会话
|
|
225
97
|
|
|
226
|
-
#
|
|
227
|
-
blade --
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
## 🔧 高级功能
|
|
233
|
-
|
|
234
|
-
### MCP 服务器集成
|
|
235
|
-
|
|
236
|
-
Model Context Protocol 允许集成外部工具和资源:
|
|
237
|
-
|
|
238
|
-
```bash
|
|
239
|
-
# 配置和管理 MCP 服务器
|
|
240
|
-
blade mcp
|
|
241
|
-
|
|
242
|
-
# 从 JSON 文件加载 MCP 配置
|
|
243
|
-
blade --mcp-config config.json "使用外部工具"
|
|
244
|
-
|
|
245
|
-
# 仅使用指定的 MCP 配置(严格模式)
|
|
246
|
-
blade --mcp-config config.json --strict-mcp-config "查询"
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### 配置管理
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
# 配置管理
|
|
253
|
-
blade config
|
|
254
|
-
|
|
255
|
-
# 系统健康检查
|
|
256
|
-
blade doctor
|
|
257
|
-
|
|
258
|
-
# 检查更新
|
|
259
|
-
blade update
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### AI 模型选项
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
# 指定模型
|
|
266
|
-
blade --model qwen-max "复杂的问题"
|
|
267
|
-
|
|
268
|
-
# 设置回退模型
|
|
269
|
-
blade --fallback-model qwen-turbo "问题"
|
|
270
|
-
|
|
271
|
-
# 自定义系统提示
|
|
272
|
-
blade --append-system-prompt "你是一位资深架构师" "设计微服务架构"
|
|
273
|
-
|
|
274
|
-
# 完全替换默认系统提示
|
|
275
|
-
blade --system-prompt "你是一位 TypeScript 专家" "解释装饰器"
|
|
276
|
-
|
|
277
|
-
# 自定义 Agent 配置
|
|
278
|
-
blade --agents '{"reviewer": {"model": "qwen-max"}}' "审查代码"
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### 安全与权限
|
|
282
|
-
|
|
283
|
-
Blade 提供强大的三级权限控制系统(allow/ask/deny):
|
|
284
|
-
|
|
285
|
-
```bash
|
|
286
|
-
# 仅允许特定工具
|
|
287
|
-
blade --allowed-tools "read,write" "处理文件"
|
|
288
|
-
|
|
289
|
-
# 禁止特定工具
|
|
290
|
-
blade --disallowed-tools "bash,execute" "安全操作"
|
|
291
|
-
|
|
292
|
-
# 权限模式
|
|
293
|
-
blade --permission-mode plan "规划任务" # 仅规划不执行
|
|
294
|
-
blade --permission-mode autoEdit "修改代码" # 自动接受编辑
|
|
295
|
-
blade --yolo "任意工具自动批准" # 开启 YOLO 模式
|
|
296
|
-
|
|
297
|
-
# 添加允许访问的目录
|
|
298
|
-
blade --add-dir /path/to/dir "访问目录"
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
**权限配置示例** (`.blade/settings.json`):
|
|
302
|
-
```json
|
|
303
|
-
{
|
|
304
|
-
"permissions": {
|
|
305
|
-
"allow": [
|
|
306
|
-
"Read(file_path:**/*.ts)",
|
|
307
|
-
"Grep",
|
|
308
|
-
"Glob"
|
|
309
|
-
],
|
|
310
|
-
"ask": [
|
|
311
|
-
"Write",
|
|
312
|
-
"Edit",
|
|
313
|
-
"Bash(command:npm *)"
|
|
314
|
-
],
|
|
315
|
-
"deny": [
|
|
316
|
-
"Read(file_path:.env)",
|
|
317
|
-
"Bash(command:rm -rf *)"
|
|
318
|
-
]
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
详见 [权限系统指南](docs/public/configuration/permissions.md)
|
|
324
|
-
|
|
325
|
-
### IDE 集成
|
|
326
|
-
|
|
327
|
-
```bash
|
|
328
|
-
# 启动时自动连接 IDE
|
|
329
|
-
blade --ide
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### 配置文件
|
|
333
|
-
|
|
334
|
-
```bash
|
|
335
|
-
# 使用设置文件
|
|
336
|
-
blade --settings settings.json
|
|
337
|
-
|
|
338
|
-
# 指定配置源
|
|
339
|
-
blade --setting-sources "global,user,local"
|
|
98
|
+
# 安全控制
|
|
99
|
+
blade --allowed-tools "Read,Grep" "只读操作"
|
|
100
|
+
blade --permission-mode plan "只规划不执行"
|
|
101
|
+
blade --yolo "自动批准所有操作"
|
|
340
102
|
```
|
|
341
103
|
|
|
342
104
|
---
|
|
@@ -345,238 +107,49 @@ blade --setting-sources "global,user,local"
|
|
|
345
107
|
|
|
346
108
|
### 主要命令
|
|
347
109
|
|
|
348
|
-
| 命令 | 说明 |
|
|
349
|
-
|------|------|------|
|
|
350
|
-
| `blade` | 启动交互式 AI 助手(默认) | `blade` |
|
|
351
|
-
| `blade config` | 配置管理 | `blade config` |
|
|
352
|
-
| `blade mcp` | 配置和管理 MCP 服务器 | `blade mcp` |
|
|
353
|
-
| `blade doctor` | 系统健康检查 | `blade doctor` |
|
|
354
|
-
| `blade update` | 检查更新并安装 | `blade update` |
|
|
355
|
-
| `blade install [target]` | 安装指定版本(stable/latest/版本号) | `blade install latest` |
|
|
356
|
-
|
|
357
|
-
### 调试选项
|
|
358
|
-
|
|
359
|
-
| 选项 | 简写 | 说明 |
|
|
360
|
-
|------|------|------|
|
|
361
|
-
| `--debug [category]` | `-d` | 启用调试模式,可选分类过滤 |
|
|
362
|
-
|
|
363
|
-
### 输出选项
|
|
364
|
-
|
|
365
|
-
| 选项 | 简写 | 说明 |
|
|
366
|
-
|------|------|------|
|
|
367
|
-
| `--print` | `-p` | 打印响应并退出(适合管道) |
|
|
368
|
-
| `--output-format <format>` | | 输出格式:text/json/stream-json(仅与 --print 配合) |
|
|
369
|
-
| `--include-partial-messages` | | 包含部分消息块 |
|
|
370
|
-
|
|
371
|
-
### 输入选项
|
|
372
|
-
|
|
373
|
-
| 选项 | 说明 |
|
|
374
|
-
|------|------|
|
|
375
|
-
| `--input-format <format>` | 输入格式:text/stream-json |
|
|
376
|
-
| `--replay-user-messages` | 重新发送来自 stdin 的用户消息 |
|
|
377
|
-
|
|
378
|
-
### 安全选项
|
|
379
|
-
|
|
380
|
-
| 选项 | 说明 |
|
|
381
|
-
|------|------|
|
|
382
|
-
| `--allowed-tools <tools>` | 允许的工具列表(逗号或空格分隔) |
|
|
383
|
-
| `--disallowed-tools <tools>` | 禁止的工具列表(逗号或空格分隔) |
|
|
384
|
-
| `--permission-mode <mode>` | 权限模式:default/autoEdit/yolo/plan |
|
|
385
|
-
| `--yolo` | YOLO 模式快捷开关(等同于 `--permission-mode yolo`) |
|
|
386
|
-
| `--add-dir <dirs>` | 允许工具访问的额外目录 |
|
|
387
|
-
|
|
388
|
-
### MCP 选项
|
|
389
|
-
|
|
390
|
-
| 选项 | 说明 |
|
|
391
|
-
|------|------|
|
|
392
|
-
| `--mcp-config <files>` | 从 JSON 文件或字符串加载 MCP 服务器 |
|
|
393
|
-
| `--strict-mcp-config` | 仅使用 --mcp-config 指定的服务器 |
|
|
394
|
-
|
|
395
|
-
### AI 选项
|
|
396
|
-
|
|
397
|
-
| 选项 | 说明 |
|
|
110
|
+
| 命令 | 说明 |
|
|
398
111
|
|------|------|
|
|
399
|
-
|
|
|
400
|
-
|
|
|
401
|
-
|
|
|
402
|
-
|
|
|
403
|
-
|
|
|
112
|
+
| `blade` | 启动交互式助手 |
|
|
113
|
+
| `blade config` | 配置管理 |
|
|
114
|
+
| `blade mcp` | MCP 服务器管理 |
|
|
115
|
+
| `blade doctor` | 系统健康检查 |
|
|
116
|
+
| `blade update` | 检查更新 |
|
|
404
117
|
|
|
405
|
-
###
|
|
118
|
+
### 常用选项
|
|
406
119
|
|
|
407
120
|
| 选项 | 简写 | 说明 |
|
|
408
121
|
|------|------|------|
|
|
409
|
-
| `--
|
|
122
|
+
| `--print` | `-p` | 打印响应并退出 |
|
|
123
|
+
| `--continue` | `-c` | 继续最近会话 |
|
|
410
124
|
| `--resume <id>` | `-r` | 恢复指定会话 |
|
|
411
|
-
| `--
|
|
412
|
-
| `--
|
|
413
|
-
|
|
414
|
-
### 配置选项
|
|
415
|
-
|
|
416
|
-
| 选项 | 说明 |
|
|
417
|
-
|------|------|
|
|
418
|
-
| `--settings <path>` | | 设置 JSON 文件路径或 JSON 字符串 |
|
|
419
|
-
| `--setting-sources <sources>` | | 要加载的设置源(逗号分隔) |
|
|
420
|
-
|
|
421
|
-
### 集成选项
|
|
125
|
+
| `--model <name>` | | 指定模型 |
|
|
126
|
+
| `--yolo` | | 自动批准所有操作 |
|
|
422
127
|
|
|
423
|
-
|
|
424
|
-
|------|------|
|
|
425
|
-
| `--ide` | | 启动时自动连接到 IDE |
|
|
128
|
+
### Slash 命令
|
|
426
129
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
| 选项 | 简写 | 说明 |
|
|
430
|
-
|------|------|------|
|
|
431
|
-
| `--help` | `-h` | 显示帮助 |
|
|
432
|
-
| `--version` | `-V` | 显示版本号 |
|
|
130
|
+
在交互模式中使用:`/init` `/help` `/clear` `/compact` `/agents` `/permissions` `/mcp` `/resume` `/config` `/theme` `/model`
|
|
433
131
|
|
|
434
132
|
---
|
|
435
133
|
|
|
436
|
-
##
|
|
437
|
-
|
|
438
|
-
Blade Code 采用现代化的扁平化架构设计:
|
|
439
|
-
|
|
440
|
-
```
|
|
441
|
-
src/
|
|
442
|
-
├── agent/ # Agent 核心逻辑和控制器
|
|
443
|
-
├── cli/ # CLI 配置和中间件
|
|
444
|
-
├── commands/ # CLI 命令定义和处理
|
|
445
|
-
├── config/ # 统一配置管理(双文件系统)
|
|
446
|
-
├── tools/ # 工具系统(含执行管道)
|
|
447
|
-
│ ├── builtin/ # 内置工具
|
|
448
|
-
│ ├── execution/ # 6阶段执行管道
|
|
449
|
-
│ ├── registry/ # 工具注册中心
|
|
450
|
-
│ └── validation/ # 参数验证
|
|
451
|
-
├── ui/ # UI 组件和界面(基于 Ink)
|
|
452
|
-
├── services/ # 共享服务层
|
|
453
|
-
├── prompts/ # 提示模板管理
|
|
454
|
-
├── mcp/ # MCP 协议实现
|
|
455
|
-
└── utils/ # 工具函数
|
|
456
|
-
```
|
|
457
|
-
|
|
458
|
-
### 核心特性
|
|
134
|
+
## 📖 文档
|
|
459
135
|
|
|
460
|
-
-
|
|
461
|
-
-
|
|
462
|
-
-
|
|
463
|
-
- 🔧 **TypeScript**:完整类型支持
|
|
464
|
-
- ✅ **全面测试**:单元、集成、E2E 测试覆盖
|
|
465
|
-
- 🔒 **6阶段执行管道**:Discovery → Validation → Permission → Confirmation → Execution → Formatting
|
|
466
|
-
- 🛡️ **三级权限控制**:allow/ask/deny 精细化权限管理
|
|
467
|
-
- 🎯 **双配置文件系统**:config.json(基础配置) + settings.json(行为配置)
|
|
136
|
+
- **[用户文档](docs/public/README.md)** - 安装、配置、使用指南
|
|
137
|
+
- **[开发者文档](docs/development/README.md)** - 架构设计、技术实现
|
|
138
|
+
- **[贡献指南](CONTRIBUTING.md)** - 参与开源贡献
|
|
468
139
|
|
|
469
140
|
---
|
|
470
141
|
|
|
471
|
-
##
|
|
142
|
+
## 🤝 贡献
|
|
472
143
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
- Node.js >= 16.0.0
|
|
476
|
-
- pnpm(推荐)或 npm
|
|
477
|
-
|
|
478
|
-
### 克隆项目
|
|
144
|
+
欢迎贡献!详见 [贡献指南](CONTRIBUTING.md)。
|
|
479
145
|
|
|
480
146
|
```bash
|
|
481
147
|
git clone https://github.com/echoVic/blade-code.git
|
|
482
|
-
cd blade-code
|
|
483
|
-
pnpm install
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
### 开发命令
|
|
487
|
-
|
|
488
|
-
```bash
|
|
489
|
-
# 开发模式(热重载)
|
|
490
|
-
pnpm dev
|
|
491
|
-
|
|
492
|
-
# 构建
|
|
493
|
-
pnpm build
|
|
494
|
-
|
|
495
|
-
# 运行测试
|
|
496
|
-
pnpm test
|
|
497
|
-
|
|
498
|
-
# 测试覆盖率
|
|
499
|
-
pnpm test:coverage
|
|
500
|
-
|
|
501
|
-
# 代码检查
|
|
502
|
-
pnpm check:fix
|
|
503
|
-
|
|
504
|
-
# 类型检查
|
|
505
|
-
pnpm type-check
|
|
148
|
+
cd blade-code && pnpm install && pnpm dev
|
|
506
149
|
```
|
|
507
150
|
|
|
508
|
-
### 项目结构
|
|
509
|
-
|
|
510
|
-
```
|
|
511
|
-
blade-code/
|
|
512
|
-
├── src/ # 源代码
|
|
513
|
-
├── tests/ # 测试文件
|
|
514
|
-
├── dist/ # 构建产物
|
|
515
|
-
├── scripts/ # 构建脚本
|
|
516
|
-
└── docs/ # 文档
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
---
|
|
520
|
-
|
|
521
|
-
## 🤝 贡献指南
|
|
522
|
-
|
|
523
|
-
我们欢迎所有形式的贡献!
|
|
524
|
-
|
|
525
|
-
- 🐛 [报告 Bug](https://github.com/echoVic/blade-code/issues/new?template=bug_report.md)
|
|
526
|
-
- 💡 [功能建议](https://github.com/echoVic/blade-code/issues/new?template=feature_request.md)
|
|
527
|
-
- 📖 [改进文档](https://github.com/echoVic/blade-code/pulls)
|
|
528
|
-
- 🔧 [提交代码](CONTRIBUTING.md)
|
|
529
|
-
|
|
530
|
-
### 贡献流程
|
|
531
|
-
|
|
532
|
-
1. Fork 本仓库
|
|
533
|
-
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
|
|
534
|
-
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
|
535
|
-
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
|
536
|
-
5. 开启 Pull Request
|
|
537
|
-
|
|
538
|
-
详细信息请查看 [贡献指南](CONTRIBUTING.md)。
|
|
539
|
-
|
|
540
151
|
---
|
|
541
152
|
|
|
542
153
|
## 📄 许可证
|
|
543
154
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
---
|
|
547
|
-
|
|
548
|
-
## 🙏 致谢
|
|
549
|
-
|
|
550
|
-
Blade Code 的开发离不开以下优秀的开源项目:
|
|
551
|
-
|
|
552
|
-
- [Ink](https://github.com/vadimdemedes/ink) - React for CLI
|
|
553
|
-
- [OpenAI](https://github.com/openai/openai-node) - OpenAI API 客户端
|
|
554
|
-
- [Biome](https://github.com/biomejs/biome) - 代码格式化和检查
|
|
555
|
-
- [Vitest](https://github.com/vitest-dev/vitest) - 测试框架
|
|
556
|
-
- [Bun](https://github.com/oven-sh/bun) - 快速构建工具
|
|
557
|
-
|
|
558
|
-
---
|
|
559
|
-
|
|
560
|
-
## 📞 联系方式
|
|
561
|
-
|
|
562
|
-
- **作者**: echoVic
|
|
563
|
-
- **主页**: [https://github.com/echoVic/blade-code](https://github.com/echoVic/blade-code)
|
|
564
|
-
- **问题反馈**: [GitHub Issues](https://github.com/echoVic/blade-code/issues)
|
|
565
|
-
|
|
566
|
-
---
|
|
567
|
-
|
|
568
|
-
## 🌟 Star History
|
|
569
|
-
|
|
570
|
-
如果觉得 Blade Code 对您有帮助,请给我们一个 ⭐️ Star!
|
|
571
|
-
|
|
572
|
-
[](https://star-history.com/#echoVic/blade-code&Date)
|
|
573
|
-
|
|
574
|
-
---
|
|
575
|
-
|
|
576
|
-
<div align="center">
|
|
577
|
-
|
|
578
|
-
**🗡️ Blade Code - 让 AI 成为您的命令行伙伴!**
|
|
579
|
-
|
|
580
|
-
Made with ❤️ by [echoVic](https://github.com/echoVic)
|
|
581
|
-
|
|
582
|
-
</div>
|
|
155
|
+
[MIT](LICENSE) - Made with ❤️ by [echoVic](https://github.com/echoVic)
|