@ia-ccun/code-agent-cli 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 +211 -0
- package/bin/cli.js +83 -0
- package/config/agent/APPEND_SYSTEM.md +48 -0
- package/config/agent/SYSTEM.md +33 -0
- package/config/agent/bin/fd +0 -0
- package/config/agent/extensions/context.ts +578 -0
- package/config/agent/extensions/custom-footer.ts +170 -0
- package/config/agent/extensions/custom.ts +289 -0
- package/config/agent/extensions/review.ts +1281 -0
- package/config/agent/extensions/working-msg.ts +96 -0
- package/config/agent/help.md +364 -0
- package/config/agent/models.json +56 -0
- package/config/agent/prompts/feat.md +106 -0
- package/config/agent/prompts/git-commit.md +159 -0
- package/config/agent/prompts/git-rollback.md +91 -0
- package/config/agent/prompts/git-worktree.md +277 -0
- package/config/agent/prompts/help.md +10 -0
- package/config/agent/prompts/init-project.md +53 -0
- package/config/agent/prompts/workflow.md +194 -0
- package/config/agent/settings.json +7 -0
- package/config/agent/skills/code-review/SKILL.md +50 -0
- package/config/agent/skills/commit/SKILL.md +51 -0
- package/config/agent/skills/csv-data-summarizer/SKILL.md +149 -0
- package/config/agent/skills/csv-data-summarizer/analyze.py +182 -0
- package/config/agent/skills/csv-data-summarizer/examples/showcase_financial_pl_data.csv +46 -0
- package/config/agent/skills/csv-data-summarizer/requirements.txt +4 -0
- package/config/agent/skills/csv-data-summarizer/resources/sample.csv +22 -0
- package/config/agent/skills/find-skills/SKILL.md +133 -0
- package/config/agent/skills/frontend-design/LICENSE.txt +177 -0
- package/config/agent/skills/frontend-design/SKILL.md +42 -0
- package/config/agent/skills/github/SKILL.md +47 -0
- package/config/agent/skills/hello/SKILL.md +23 -0
- package/config/agent/skills/librarian/SKILL.md +195 -0
- package/config/agent/skills/markdown-to-html/SKILL.md +62 -0
- package/config/agent/skills/pr/SKILL.md +56 -0
- package/config/agent/skills/refactor/SKILL.md +37 -0
- package/config/agent/skills/skill-creator/LICENSE.txt +202 -0
- package/config/agent/skills/skill-creator/SKILL.md +356 -0
- package/config/agent/skills/skill-creator/references/output-patterns.md +82 -0
- package/config/agent/skills/skill-creator/references/workflows.md +28 -0
- package/config/agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/config/agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/config/agent/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/config/agent/skills/ui-ux-pro-max/SKILL.md +264 -0
- package/config/agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/config/agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/config/agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/config/agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/config/agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/config/agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/config/agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/config/agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/config/agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/config/agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
- package/config/agent/skills/ui-ux-pro-max/scripts/analyze.py +434 -0
- package/config/agent/skills/ui-ux-pro-max/scripts/core.py +238 -0
- package/config/agent/skills/ui-ux-pro-max/scripts/search.py +61 -0
- package/config/agent/skills/unit-test/SKILL.md +115 -0
- package/config/agent/themes/catppuccin-mocha.json +99 -0
- package/config.json +6 -0
- package/dist/banner.d.ts +10 -0
- package/dist/banner.d.ts.map +1 -0
- package/dist/banner.js +32 -0
- package/dist/banner.js.map +1 -0
- package/dist/config-loader.d.ts +17 -0
- package/dist/config-loader.d.ts.map +1 -0
- package/dist/config-loader.js +60 -0
- package/dist/config-loader.js.map +1 -0
- package/dist/config.d.ts +23 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/package.json +69 -0
- package/scripts/postinstall.js +197 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* working-message
|
|
3
|
+
*
|
|
4
|
+
* 自定义工作消息,格式类似 Claude Code: ✶ xxx… (时间 · tokens)
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { ExtensionAPI, TurnEndEvent } from "@mariozechner/pi-coding-agent";
|
|
8
|
+
import type { AssistantMessage } from "@mariozechner/pi-ai";
|
|
9
|
+
|
|
10
|
+
// 主题色 #49bccf
|
|
11
|
+
const accentColor = "\x1b[38;2;73;188;207m";
|
|
12
|
+
const reset = "\x1b[0m";
|
|
13
|
+
|
|
14
|
+
// 随机消息列表
|
|
15
|
+
const workingMessages = [
|
|
16
|
+
"Proofing", "Thinking", "Analyzing", "Reading", "Writing", "干活儿中",
|
|
17
|
+
"Searching", "Generating", "Compiling", "Running", "Optimizing", "打卡了吗",
|
|
18
|
+
"Debugging", "Learning", "Processing", "Reasoning", "Summarizing", "一会儿吃啥",
|
|
19
|
+
"Planning", "Executing", "Fetching", "Parsing", "Validating","双人复核",
|
|
20
|
+
"Building", "Testing", "Deploying", "Monitoring", "Refactoring", "aicoding",
|
|
21
|
+
"Documenting", "Researching", "Evaluating", "Comparing", "Calculating",
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
let currentIndex = 0;
|
|
25
|
+
|
|
26
|
+
function getNextMessage(): string {
|
|
27
|
+
const msg = workingMessages[currentIndex];
|
|
28
|
+
currentIndex = (currentIndex + 1) % workingMessages.length;
|
|
29
|
+
return msg;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
let intervalId: ReturnType<typeof setInterval> | null = null;
|
|
33
|
+
let startTime = 0;
|
|
34
|
+
let totalTokens = 0;
|
|
35
|
+
|
|
36
|
+
function formatTime(seconds: number): string {
|
|
37
|
+
if (seconds < 60) return `${seconds}s`;
|
|
38
|
+
const mins = Math.floor(seconds / 60);
|
|
39
|
+
const secs = seconds % 60;
|
|
40
|
+
return `${mins}m ${secs}s`;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function formatTokens(tokens: number): string {
|
|
44
|
+
if (tokens < 1000) return `${tokens}`;
|
|
45
|
+
return `${(tokens / 1000).toFixed(1)}k`;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default function workingMessageExtension(pi: ExtensionAPI) {
|
|
49
|
+
// turn_start 时开始循环切换消息
|
|
50
|
+
pi.on("turn_start", async (_event, ctx) => {
|
|
51
|
+
if (!ctx.ui) return;
|
|
52
|
+
|
|
53
|
+
// 记录开始时间
|
|
54
|
+
startTime = Date.now();
|
|
55
|
+
totalTokens = 0;
|
|
56
|
+
currentIndex = 0;
|
|
57
|
+
|
|
58
|
+
// 立即设置第一条
|
|
59
|
+
const updateMessage = () => {
|
|
60
|
+
const elapsed = Math.floor((Date.now() - startTime) / 1000);
|
|
61
|
+
const timeStr = formatTime(elapsed);
|
|
62
|
+
const tokensStr = formatTokens(totalTokens);
|
|
63
|
+
// ✶ 和单词显示为主题色
|
|
64
|
+
const msg = `${accentColor}✶${getNextMessage()}…${reset} (${timeStr} · ↓ ${tokensStr}tokens)`;
|
|
65
|
+
ctx.ui?.setWorkingMessage(msg);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
updateMessage();
|
|
69
|
+
|
|
70
|
+
// 每3秒更新一次
|
|
71
|
+
if (!intervalId) {
|
|
72
|
+
intervalId = setInterval(() => {
|
|
73
|
+
// 获取当前 tokens 使用量
|
|
74
|
+
for (const entry of ctx.sessionManager.getBranch()) {
|
|
75
|
+
if (entry.type === "message" && (entry as any).message?.role === "assistant") {
|
|
76
|
+
const msg = (entry as any).message as AssistantMessage;
|
|
77
|
+
if (msg.usage?.outputTokens) {
|
|
78
|
+
totalTokens = msg.usage.outputTokens;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
updateMessage();
|
|
83
|
+
}, 3000);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// turn结束时停止
|
|
88
|
+
pi.on("turn_end", async (_event: TurnEndEvent, ctx) => {
|
|
89
|
+
if (intervalId) {
|
|
90
|
+
clearInterval(intervalId);
|
|
91
|
+
intervalId = null;
|
|
92
|
+
}
|
|
93
|
+
// 恢复默认消息
|
|
94
|
+
ctx.ui?.setWorkingMessage(undefined);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
# aicode-cli 使用指南
|
|
2
|
+
|
|
3
|
+
> 全面掌握 AI 编程助手的各项功能与配置
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 目录
|
|
8
|
+
|
|
9
|
+
1. [快速开始](#1-快速开始)
|
|
10
|
+
2. [基础操作](#2-基础操作)
|
|
11
|
+
3. [核心命令](#3-核心命令)
|
|
12
|
+
4. [快捷键](#4-快捷键)
|
|
13
|
+
5. [配置详解](#5-配置详解)
|
|
14
|
+
6. [Skills](#6-skills)
|
|
15
|
+
7. [Prompt 命令](#7-prompt-命令)
|
|
16
|
+
8. [主题](#8-主题)
|
|
17
|
+
9. [最佳实践](#9-最佳实践)
|
|
18
|
+
10. [故障排除](#10-故障排除)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. 快速开始
|
|
23
|
+
|
|
24
|
+
### 安装
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install -g @ia-ccun/code-agent-cli
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 启动
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
aicode-cli
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 基本对话
|
|
37
|
+
|
|
38
|
+
直接在命令行输入你的需求:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
帮我写一个 Hello World 程序
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 2. 基础操作
|
|
47
|
+
|
|
48
|
+
### 输入模式
|
|
49
|
+
|
|
50
|
+
| 模式 | 说明 |
|
|
51
|
+
|------|------|
|
|
52
|
+
| 直接输入 | 发送普通消息给 AI |
|
|
53
|
+
| `!` 前缀 | 执行 bash 命令,不纳入上下文 |
|
|
54
|
+
| `!!` 前缀 | 执行 bash 命令,纳入上下文 |
|
|
55
|
+
|
|
56
|
+
### 队列模式
|
|
57
|
+
|
|
58
|
+
使用 `Ctrl+Q` 将当前输入放入队列,继续输入下一个任务:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
# 输入第一个任务
|
|
62
|
+
Ctrl+Q
|
|
63
|
+
# 输入第二个任务
|
|
64
|
+
Ctrl+Q
|
|
65
|
+
# 发送所有任务
|
|
66
|
+
Enter
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 3. 核心命令
|
|
72
|
+
|
|
73
|
+
### 系统命令
|
|
74
|
+
|
|
75
|
+
| 命令 | 说明 |
|
|
76
|
+
|------|------|
|
|
77
|
+
| `/clear` | 清理当前会话上下文,释放 Token |
|
|
78
|
+
| `/exit` | 退出会话 |
|
|
79
|
+
| `/status` | 显示当前会话状态 |
|
|
80
|
+
| `/reload` | 重新加载扩展、Skills、Prompts |
|
|
81
|
+
| `/changelog` | 查看更新日志 |
|
|
82
|
+
| `/context` | 查看当前加载的上下文信息 |
|
|
83
|
+
|
|
84
|
+
### 模型相关
|
|
85
|
+
|
|
86
|
+
| 命令 | 说明 |
|
|
87
|
+
|------|------|
|
|
88
|
+
| `/model` | 打开模型选择器 |
|
|
89
|
+
| `/thinking` | 打开思考模式选择器 |
|
|
90
|
+
|
|
91
|
+
思考级别:`off` → `minimal` → `low` → `medium` → `high` → `xhigh`
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 4. 快捷键
|
|
96
|
+
|
|
97
|
+
### 编辑器
|
|
98
|
+
|
|
99
|
+
| 快捷键 | 功能 |
|
|
100
|
+
|--------|------|
|
|
101
|
+
| `Ctrl+A` | 移动到行首 |
|
|
102
|
+
| `Ctrl+E` | 移动到行尾 |
|
|
103
|
+
| `Ctrl+W` | 删除前一个单词 |
|
|
104
|
+
| `Ctrl+U` | 清空当前行 |
|
|
105
|
+
| `Ctrl+C` | 中断当前操作 |
|
|
106
|
+
| `Ctrl+D` | 退出会话 |
|
|
107
|
+
| `Tab` | 自动补全 |
|
|
108
|
+
|
|
109
|
+
### 对话导航
|
|
110
|
+
|
|
111
|
+
| 快捷键 | 功能 |
|
|
112
|
+
|--------|------|
|
|
113
|
+
| `Ctrl+L` | 打开会话树 |
|
|
114
|
+
| `Ctrl+N` | 新建会话 |
|
|
115
|
+
| `Ctrl+S` | 保存当前会话(新建分支) |
|
|
116
|
+
| `Ctrl+P` | 切换到上一个模型 |
|
|
117
|
+
| `Ctrl+Shift+P` | 切换到下一个模型 |
|
|
118
|
+
| `↑/↓` | 历史记录导航 |
|
|
119
|
+
| `Ctrl+Q` | 队列模式 |
|
|
120
|
+
| `Ctrl+I` | AI 辅助补全 |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 5. 配置详解
|
|
125
|
+
|
|
126
|
+
### 5.1 配置文件位置
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
~/.aicode-cli/
|
|
130
|
+
├── config.json # 主配置文件
|
|
131
|
+
└── agent/
|
|
132
|
+
├── settings.json # Agent 设置
|
|
133
|
+
├── models.json # 模型配置
|
|
134
|
+
├── prompts/ # Prompt 模板
|
|
135
|
+
├── skills/ # Skills
|
|
136
|
+
├── extensions/ # 扩展
|
|
137
|
+
├── themes/ # 主题
|
|
138
|
+
└── sessions/ # 会话历史
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 5.2 config.json(主配置)
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"name": "aicode-cli",
|
|
146
|
+
"banner": "__default__",
|
|
147
|
+
"themeColor": "#49bccf",
|
|
148
|
+
"configDir": ".aicode-cli"
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
| 字段 | 说明 | 默认值 |
|
|
153
|
+
|------|------|--------|
|
|
154
|
+
| name | 应用名称 | aicode-cli |
|
|
155
|
+
| banner | Banner 显示 | `__default__` 显示,`""` 不显示 |
|
|
156
|
+
| themeColor | 主题色(Hex) | `#49bccf` |
|
|
157
|
+
| configDir | 配置目录 | `.aicode-cli` |
|
|
158
|
+
|
|
159
|
+
### 5.3 settings.json(Agent 设置)
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{
|
|
163
|
+
"defaultProvider": "your-provider",
|
|
164
|
+
"defaultModel": "your-model",
|
|
165
|
+
"quietStartup": false,
|
|
166
|
+
"theme": "catppuccin-mocha",
|
|
167
|
+
"extensions": [],
|
|
168
|
+
"skills": []
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
| 字段 | 说明 | 默认值 |
|
|
173
|
+
|------|------|--------|
|
|
174
|
+
| defaultProvider | 默认模型提供者 | - |
|
|
175
|
+
| defaultModel | 默认模型 | - |
|
|
176
|
+
| quietStartup | 静默启动(不显示列表) | false |
|
|
177
|
+
| theme | 主题名称 | - |
|
|
178
|
+
| extensions | 扩展列表 | [] |
|
|
179
|
+
| skills | Skills 列表 | [] |
|
|
180
|
+
|
|
181
|
+
### 5.4 models.json(模型配置)
|
|
182
|
+
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"providers": {
|
|
186
|
+
"openai": {
|
|
187
|
+
"name": "OpenAI",
|
|
188
|
+
"baseUrl": "https://api.openai.com/v1",
|
|
189
|
+
"api": "openai-completions",
|
|
190
|
+
"apiKey": "sk-xxx",
|
|
191
|
+
"models": [
|
|
192
|
+
{
|
|
193
|
+
"id": "gpt-4",
|
|
194
|
+
"name": "GPT-4",
|
|
195
|
+
"contextWindow": 8192,
|
|
196
|
+
"maxTokens": 4096
|
|
197
|
+
}
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
| 字段 | 说明 |
|
|
205
|
+
|------|------|
|
|
206
|
+
| providers | 模型提供者集合 |
|
|
207
|
+
| name | 提供者显示名称 |
|
|
208
|
+
| baseUrl | API 端点 |
|
|
209
|
+
| api | API 类型(openai-completions / anthropic-messages) |
|
|
210
|
+
| apiKey | API 密钥 |
|
|
211
|
+
| models | 模型列表 |
|
|
212
|
+
| id | 模型 ID |
|
|
213
|
+
| name | 模型显示名称 |
|
|
214
|
+
| contextWindow | 上下文窗口大小 |
|
|
215
|
+
| maxTokens | 最大输出 tokens |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 6. Skills
|
|
220
|
+
|
|
221
|
+
### 什么是 Skills
|
|
222
|
+
|
|
223
|
+
Skill 是预置的 AI 技能模块,针对特定场景优化。
|
|
224
|
+
|
|
225
|
+
### 可用 Skills
|
|
226
|
+
|
|
227
|
+
| Skill | 说明 | 激活方式 |
|
|
228
|
+
|-------|------|----------|
|
|
229
|
+
| code-review | 代码审查 | `/skill:code-review` |
|
|
230
|
+
| commit | Git 提交 | `/skill:commit` |
|
|
231
|
+
| pr | PR 描述 | `/skill:pr` |
|
|
232
|
+
| refactor | 代码重构 | `/skill:refactor` |
|
|
233
|
+
| unit-test | 单元测试 | `/skill:unit-test` |
|
|
234
|
+
| csv-data-summarizer | CSV 数据分析 | `/skill:csv-data-summarizer` |
|
|
235
|
+
| frontend-design | 前端设计 | `/skill:frontend-design` |
|
|
236
|
+
| ui-ux-pro-max | UI/UX 设计 | `/skill:ui-ux-pro-max` |
|
|
237
|
+
|
|
238
|
+
### 使用方法
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
/skill:code-review
|
|
242
|
+
帮我审查这段代码
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 7. Prompt 命令
|
|
248
|
+
|
|
249
|
+
### 什么是 Prompts
|
|
250
|
+
|
|
251
|
+
Prompt 是预置的工作流模板,用于特定任务。
|
|
252
|
+
|
|
253
|
+
### 可用 Prompts
|
|
254
|
+
|
|
255
|
+
| Prompt | 说明 |
|
|
256
|
+
|--------|------|
|
|
257
|
+
| `/bmad-init` | 初始化 BMAD 项目 |
|
|
258
|
+
| `/init-project` | 初始化新项目 |
|
|
259
|
+
| `/feat` | 新增功能开发流程 |
|
|
260
|
+
| `/git-commit` | Git 提交 |
|
|
261
|
+
| `/git-rollback` | Git 回滚 |
|
|
262
|
+
| `/git-worktree` | Git Worktree 管理 |
|
|
263
|
+
| `/workflow` | 复杂工作流 |
|
|
264
|
+
|
|
265
|
+
### 使用示例
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# 初始化项目
|
|
269
|
+
/init-project
|
|
270
|
+
|
|
271
|
+
# 新增功能
|
|
272
|
+
/feat 用户登录功能
|
|
273
|
+
|
|
274
|
+
# Git 提交
|
|
275
|
+
/git-commit
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 8. 主题
|
|
281
|
+
|
|
282
|
+
### 使用主题
|
|
283
|
+
|
|
284
|
+
在 `settings.json` 中设置:
|
|
285
|
+
|
|
286
|
+
```json
|
|
287
|
+
{
|
|
288
|
+
"theme": "catppuccin-mocha"
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### 内置主题
|
|
293
|
+
|
|
294
|
+
| 主题 | 说明 |
|
|
295
|
+
|------|------|
|
|
296
|
+
| dark | 暗色主题 |
|
|
297
|
+
| light | 亮色主题 |
|
|
298
|
+
| catppuccin-mocha | 猫puccin mocha(推荐) |
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## 9. 最佳实践
|
|
303
|
+
|
|
304
|
+
### 会话管理
|
|
305
|
+
|
|
306
|
+
1. **及时清理**:Token 紧张时使用 `/clear` 释放空间
|
|
307
|
+
2. **分支会话**:不同任务使用不同分支,保持清晰
|
|
308
|
+
3. **定期保存**:重要操作后 `Ctrl+S` 保存
|
|
309
|
+
|
|
310
|
+
### 提示技巧
|
|
311
|
+
|
|
312
|
+
1. **明确需求**:具体描述你想要的结果
|
|
313
|
+
2. **提供上下文**:告诉 AI 相关的项目背景
|
|
314
|
+
3. **分步执行**:复杂任务拆分成多个小请求
|
|
315
|
+
4. **指定格式**:如需特定输出,明确说明格式要求
|
|
316
|
+
|
|
317
|
+
### 安全操作
|
|
318
|
+
|
|
319
|
+
1. **谨慎删除**:删除文件前确认重要性
|
|
320
|
+
2. **先审后改**:重要修改前先让 AI 解释代码
|
|
321
|
+
3. **备份优先**:关键文件操作前手动备份
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## 10. 故障排除
|
|
326
|
+
|
|
327
|
+
### 常见问题
|
|
328
|
+
|
|
329
|
+
| 问题 | 解决方案 |
|
|
330
|
+
|------|----------|
|
|
331
|
+
| 启动慢 | 检查网络连接 |
|
|
332
|
+
| 模型连接失败 | 核对 models.json 配置 |
|
|
333
|
+
| 扩展不生效 | 运行 `/reload` 重载 |
|
|
334
|
+
| Token 溢出 | 使用 `/clear` 清理上下文 |
|
|
335
|
+
|
|
336
|
+
### 详细模式
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
aicode-cli --verbose
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
## 附录
|
|
345
|
+
|
|
346
|
+
### 环境变量
|
|
347
|
+
|
|
348
|
+
| 变量 | 说明 |
|
|
349
|
+
|------|------|
|
|
350
|
+
| `AICODE_CLI_CONFIG_DIR` | 配置目录 |
|
|
351
|
+
| `AICODE_CLI_CODING_AGENT_DIR` | Agent 配置目录 |
|
|
352
|
+
|
|
353
|
+
### 命令行参数
|
|
354
|
+
|
|
355
|
+
| 参数 | 说明 |
|
|
356
|
+
|------|------|
|
|
357
|
+
| `--verbose` | 详细输出模式 |
|
|
358
|
+
| `--theme <name>` | 指定主题 |
|
|
359
|
+
| `--model <name>` | 指定模型 |
|
|
360
|
+
| `--clear` | 启动时清理会话 |
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
*世界那么哒 · AI 实践落地 @2026*
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"providers": {
|
|
3
|
+
"openai": {
|
|
4
|
+
"name": "OpenAI",
|
|
5
|
+
"baseUrl": "https://api.openai.com/v1",
|
|
6
|
+
"api": "chat-completions",
|
|
7
|
+
"apiKey": "YOUR_API_KEY_HERE",
|
|
8
|
+
"models": [
|
|
9
|
+
{
|
|
10
|
+
"id": "gpt-4o",
|
|
11
|
+
"name": "GPT-4o",
|
|
12
|
+
"contextWindow": 128000,
|
|
13
|
+
"maxTokens": 16384,
|
|
14
|
+
"reasoning": false,
|
|
15
|
+
"input": ["text"],
|
|
16
|
+
"cost": {
|
|
17
|
+
"input": 2.5,
|
|
18
|
+
"output": 10
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "gpt-4o-mini",
|
|
23
|
+
"name": "GPT-4o Mini",
|
|
24
|
+
"contextWindow": 128000,
|
|
25
|
+
"maxTokens": 16384,
|
|
26
|
+
"reasoning": false,
|
|
27
|
+
"input": ["text"],
|
|
28
|
+
"cost": {
|
|
29
|
+
"input": 0.075,
|
|
30
|
+
"output": 0.3
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"anthropic": {
|
|
36
|
+
"name": "Anthropic",
|
|
37
|
+
"baseUrl": "https://api.anthropic.com",
|
|
38
|
+
"api": "anthropic-messages",
|
|
39
|
+
"apiKey": "YOUR_API_KEY_HERE",
|
|
40
|
+
"models": [
|
|
41
|
+
{
|
|
42
|
+
"id": "claude-sonnet-4-20250514",
|
|
43
|
+
"name": "Claude Sonnet 4",
|
|
44
|
+
"contextWindow": 200000,
|
|
45
|
+
"maxTokens": 8192,
|
|
46
|
+
"reasoning": true,
|
|
47
|
+
"input": ["text"],
|
|
48
|
+
"cost": {
|
|
49
|
+
"input": 3,
|
|
50
|
+
"output": 15
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feat
|
|
3
|
+
description: '用于新增功能开发的命令,支持完整的开发流程和工具集成'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
$ARGUMENTS
|
|
7
|
+
|
|
8
|
+
## 核心工作流程
|
|
9
|
+
|
|
10
|
+
### 1. 输入分析与类型判断
|
|
11
|
+
|
|
12
|
+
每次收到用户输入时,首先进行类型判断并明确告知用户:
|
|
13
|
+
|
|
14
|
+
**判断标准:**
|
|
15
|
+
|
|
16
|
+
- **需求规划类型**: 用户提出新功能需求、项目构想或需要制定计划
|
|
17
|
+
|
|
18
|
+
- **讨论迭代类型**: 用户要求继续讨论、修改或完善已有规划
|
|
19
|
+
|
|
20
|
+
- **执行实施类型**: 用户确认规划完成,要求开始具体实施工作
|
|
21
|
+
|
|
22
|
+
### 2. 分类处理机制
|
|
23
|
+
|
|
24
|
+
#### A. 需求规划处理
|
|
25
|
+
|
|
26
|
+
**触发条件**: 识别为功能需求输入
|
|
27
|
+
|
|
28
|
+
**执行动作**:
|
|
29
|
+
|
|
30
|
+
- 启用 Planner Agent
|
|
31
|
+
|
|
32
|
+
- 生成详细的 markdown 规划文档
|
|
33
|
+
|
|
34
|
+
- 将文档存储至 `./.aicode/plan` 目录,并以 plan/xxx.md 的格式命名
|
|
35
|
+
|
|
36
|
+
- 包含:目标定义、功能分解、实施步骤、验收标准
|
|
37
|
+
|
|
38
|
+
#### B. 讨论迭代处理
|
|
39
|
+
|
|
40
|
+
**触发条件**: 用户要求继续讨论或修改规划
|
|
41
|
+
|
|
42
|
+
**执行动作**:
|
|
43
|
+
|
|
44
|
+
- 检索并分析上次生成的规划文件
|
|
45
|
+
|
|
46
|
+
- 识别用户反馈和确认内容
|
|
47
|
+
|
|
48
|
+
- 启用 Planner Agent
|
|
49
|
+
|
|
50
|
+
- 生成详细的 markdown 规划文档
|
|
51
|
+
|
|
52
|
+
- 建立一个新的文档,比如上一次是 plan/xxx.md,那么这次就是 plan/xxx-1.md,如果上一次是 plan/xxx-1.md,那么这次就是 plan/xxx-2.md,以此类推
|
|
53
|
+
|
|
54
|
+
- 重新组织待实施任务优先级
|
|
55
|
+
|
|
56
|
+
#### C. 执行实施处理
|
|
57
|
+
|
|
58
|
+
**触发条件**: 用户确认规划完成,要求开始执行
|
|
59
|
+
|
|
60
|
+
**执行动作**:
|
|
61
|
+
|
|
62
|
+
- 按规划文档顺序启动任务执行
|
|
63
|
+
|
|
64
|
+
- 每个子任务开始前进行任务类型识别
|
|
65
|
+
|
|
66
|
+
- **前端任务特殊处理**:
|
|
67
|
+
|
|
68
|
+
- 检查是否存在可用 UI 设计
|
|
69
|
+
|
|
70
|
+
- 如无设计方案,must use UI-UX-Designer Agent
|
|
71
|
+
|
|
72
|
+
- 完成 UI 设计后再进行开发实施
|
|
73
|
+
|
|
74
|
+
### 3. 关键执行原则
|
|
75
|
+
|
|
76
|
+
#### 强制响应要求
|
|
77
|
+
|
|
78
|
+
- **每次交互必须首先说明**: "我判断此次操作类型为:[具体类型]"
|
|
79
|
+
|
|
80
|
+
- 类型判断必须准确且明确传达给用户
|
|
81
|
+
|
|
82
|
+
#### 任务执行规范
|
|
83
|
+
|
|
84
|
+
- 严格按照文档化规划执行
|
|
85
|
+
|
|
86
|
+
- 子任务启动前必须明确任务性质和依赖关系
|
|
87
|
+
|
|
88
|
+
- 前端任务必须确保 UI 设计完整性
|
|
89
|
+
|
|
90
|
+
#### 状态管理机制
|
|
91
|
+
|
|
92
|
+
- 维护任务完成状态跟踪
|
|
93
|
+
|
|
94
|
+
- 及时更新规划文档状态
|
|
95
|
+
|
|
96
|
+
- 确保用户对进度的可见性
|
|
97
|
+
|
|
98
|
+
## 质量保证要点
|
|
99
|
+
|
|
100
|
+
1. **类型判断准确性**: 每次交互开始的类型识别必须准确
|
|
101
|
+
|
|
102
|
+
2. **文档一致性**: 规划文档与实际执行保持同步
|
|
103
|
+
|
|
104
|
+
3. **依赖关系管理**: 特别关注前端任务的 UI 设计依赖
|
|
105
|
+
|
|
106
|
+
4. **用户沟通透明**: 所有判断和动作都要明确告知用户
|