@rdmind/rdmind 0.0.14-alpha.8 → 0.0.14
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/dist/package.json +3 -3
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/ui/commands/techDesignCommand.js +40 -39
- package/dist/src/ui/commands/techDesignCommand.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rdmind/rdmind",
|
|
3
|
-
"version": "0.0.14
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "RDMind",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"access": "public"
|
|
28
28
|
},
|
|
29
29
|
"config": {
|
|
30
|
-
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.0.14
|
|
30
|
+
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.0.14"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@google/genai": "1.9.0",
|
|
34
34
|
"@iarna/toml": "^2.2.5",
|
|
35
|
-
"@rdmind/rdmind-core": "^0.0.14
|
|
35
|
+
"@rdmind/rdmind-core": "^0.0.14",
|
|
36
36
|
"@modelcontextprotocol/sdk": "^1.15.1",
|
|
37
37
|
"@types/update-notifier": "^6.0.8",
|
|
38
38
|
"command-exists": "^1.2.9",
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export declare const GIT_COMMIT_INFO = "
|
|
7
|
-
export declare const CLI_VERSION = "0.0.14
|
|
6
|
+
export declare const GIT_COMMIT_INFO = "f2671260";
|
|
7
|
+
export declare const CLI_VERSION = "0.0.14";
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
// This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
|
|
7
7
|
// Do not edit this file manually.
|
|
8
|
-
export const GIT_COMMIT_INFO = '
|
|
9
|
-
export const CLI_VERSION = '0.0.14
|
|
8
|
+
export const GIT_COMMIT_INFO = 'f2671260';
|
|
9
|
+
export const CLI_VERSION = '0.0.14';
|
|
10
10
|
//# sourceMappingURL=git-commit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -43,38 +43,39 @@ const solutionCommand = {
|
|
|
43
43
|
description: '根据 PRD 文档生成技术方案',
|
|
44
44
|
kind: CommandKind.BUILT_IN,
|
|
45
45
|
action: async (context, args) => {
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
// 1. 先验证参数
|
|
47
|
+
const prdUrl = args.trim();
|
|
48
|
+
if (!prdUrl) {
|
|
48
49
|
context.ui.addItem({
|
|
49
50
|
type: MessageType.ERROR,
|
|
50
|
-
text: '❌
|
|
51
|
+
text: '❌ 请提供 PRD 文档的 URL\n\n使用方法:\n/tech-design solution <prd-url>\n\n示例:\n/tech-design solution https://docs.xiaohongshu.com/doc/abc123',
|
|
51
52
|
}, Date.now());
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (!
|
|
55
|
+
// 2. 验证 URL 格式
|
|
56
|
+
const redocUrlPattern = /^https:\/\/docs\.xiaohongshu\.com\/doc\/[a-f0-9]+$/;
|
|
57
|
+
if (!redocUrlPattern.test(prdUrl)) {
|
|
57
58
|
context.ui.addItem({
|
|
58
59
|
type: MessageType.ERROR,
|
|
59
|
-
text:
|
|
60
|
+
text: `❌ 提供的 URL 不是有效的 Redoc 文档地址\n\nURL: ${prdUrl}\n\n✅ 正确的格式:\nhttps://docs.xiaohongshu.com/doc/{doc_id}\n\n说明:\n• doc_id 必须是 32 位十六进制字符串\n• 只支持小红书 Redoc 文档\n\n示例:\nhttps://docs.xiaohongshu.com/doc/abc123def456789012345678901234ab`,
|
|
60
61
|
}, Date.now());
|
|
61
62
|
return;
|
|
62
63
|
}
|
|
63
|
-
//
|
|
64
|
-
const
|
|
65
|
-
if (!
|
|
64
|
+
// 3. 检查配置
|
|
65
|
+
const { config } = context.services;
|
|
66
|
+
if (!config) {
|
|
66
67
|
context.ui.addItem({
|
|
67
68
|
type: MessageType.ERROR,
|
|
68
|
-
text: '❌
|
|
69
|
+
text: '❌ 配置未加载',
|
|
69
70
|
}, Date.now());
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
|
-
//
|
|
73
|
-
const
|
|
74
|
-
if (!
|
|
73
|
+
// 4. 检查是否在 git 仓库中
|
|
74
|
+
const cwd = process.cwd();
|
|
75
|
+
if (!isGitRepository(cwd)) {
|
|
75
76
|
context.ui.addItem({
|
|
76
77
|
type: MessageType.ERROR,
|
|
77
|
-
text:
|
|
78
|
+
text: '❌ 当前目录不是 git 仓库,请在代码仓库目录下使用此命令。',
|
|
78
79
|
}, Date.now());
|
|
79
80
|
return;
|
|
80
81
|
}
|
|
@@ -92,10 +93,10 @@ const solutionCommand = {
|
|
|
92
93
|
}
|
|
93
94
|
context.ui.addItem({
|
|
94
95
|
type: MessageType.INFO,
|
|
95
|
-
text:
|
|
96
|
+
text: `工作目录: ${cwd}\nPRD URL: ${prdUrl}\n\n正在生成技术方案...\n\nRDMind将会:\n1. 使用 redoc_fetch 工具获取 PRD 文档内容\n2. 分析 PRD 需求和当前代码仓库\n3. 按照模板格式生成完整的技术方案文档\n4. 将文档保存到工作目录\n\n请耐心等待,这可能需要几分钟时间...`,
|
|
96
97
|
}, Date.now());
|
|
97
98
|
// 构造给 AI 的提示词
|
|
98
|
-
const prompt =
|
|
99
|
+
const prompt = `你是一个Java软件开发专家,完成以下任务:
|
|
99
100
|
|
|
100
101
|
**任务目标:生成技术方案文档**
|
|
101
102
|
|
|
@@ -119,18 +120,17 @@ ${template}
|
|
|
119
120
|
1. 仔细阅读 PRD 内容,深入理解需求
|
|
120
121
|
2. 评审信息部分保留空白表格即可
|
|
121
122
|
3. 背景部分:填写 PRD 链接和项目背景
|
|
122
|
-
4. 需求分析部分:对应 PRD
|
|
123
|
-
5.
|
|
124
|
-
-
|
|
123
|
+
4. 需求分析部分:对应 PRD 的功能点,详细分析每个页面/模块的逻辑,重点关注服务端逻辑
|
|
124
|
+
5. 详细设计部分须包含:
|
|
125
|
+
- 技术实现方案(后端)
|
|
125
126
|
- 数据库表设计(如有数据变更)
|
|
126
127
|
- 接口设计(API 路径、参数、返回值)
|
|
127
128
|
- 关键技术点说明
|
|
128
129
|
- 架构图/流程图(用 Mermaid 语法)
|
|
129
|
-
6.
|
|
130
|
-
7. 上线步骤要具体、可执行
|
|
130
|
+
6. 模板中的工作量与排期、上线计划不用填写,保持原状即可
|
|
131
131
|
|
|
132
132
|
**第四步:保存文档**
|
|
133
|
-
|
|
133
|
+
不需要展示文档生成过程,生成文档后,使用 write 工具将内容保存到:
|
|
134
134
|
\`${cwd}/tech-solution-${new Date().toISOString().split('T')[0]}.md\`
|
|
135
135
|
|
|
136
136
|
**重要提示:**
|
|
@@ -155,38 +155,39 @@ const planCommand = {
|
|
|
155
155
|
description: '根据技术文档生成执行计划',
|
|
156
156
|
kind: CommandKind.BUILT_IN,
|
|
157
157
|
action: async (context, args) => {
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
// 1. 先验证参数
|
|
159
|
+
const techDocUrl = args.trim();
|
|
160
|
+
if (!techDocUrl) {
|
|
160
161
|
context.ui.addItem({
|
|
161
162
|
type: MessageType.ERROR,
|
|
162
|
-
text: '❌
|
|
163
|
+
text: '❌ 请提供技术文档的 URL\n\n使用方法:\n/tech-design plan <tech-doc-url>\n\n示例:\n/tech-design plan https://docs.xiaohongshu.com/doc/abc123',
|
|
163
164
|
}, Date.now());
|
|
164
165
|
return;
|
|
165
166
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
if (!
|
|
167
|
+
// 2. 验证 URL 格式
|
|
168
|
+
const redocUrlPattern = /^https:\/\/docs\.xiaohongshu\.com\/doc\/[a-f0-9]+$/;
|
|
169
|
+
if (!redocUrlPattern.test(techDocUrl)) {
|
|
169
170
|
context.ui.addItem({
|
|
170
171
|
type: MessageType.ERROR,
|
|
171
|
-
text:
|
|
172
|
+
text: `❌ 提供的 URL 不是有效的 Redoc 文档地址\n\nURL: ${techDocUrl}\n\n✅ 正确的格式:\nhttps://docs.xiaohongshu.com/doc/{doc_id}\n\n说明:\n• doc_id 必须是 32 位十六进制字符串\n• 只支持小红书 Redoc 文档\n\n示例:\nhttps://docs.xiaohongshu.com/doc/abc123def456789012345678901234ab`,
|
|
172
173
|
}, Date.now());
|
|
173
174
|
return;
|
|
174
175
|
}
|
|
175
|
-
//
|
|
176
|
-
const
|
|
177
|
-
if (!
|
|
176
|
+
// 3. 检查配置
|
|
177
|
+
const { config } = context.services;
|
|
178
|
+
if (!config) {
|
|
178
179
|
context.ui.addItem({
|
|
179
180
|
type: MessageType.ERROR,
|
|
180
|
-
text: '❌
|
|
181
|
+
text: '❌ 配置未加载',
|
|
181
182
|
}, Date.now());
|
|
182
183
|
return;
|
|
183
184
|
}
|
|
184
|
-
//
|
|
185
|
-
const
|
|
186
|
-
if (!
|
|
185
|
+
// 4. 检查是否在 git 仓库中
|
|
186
|
+
const cwd = process.cwd();
|
|
187
|
+
if (!isGitRepository(cwd)) {
|
|
187
188
|
context.ui.addItem({
|
|
188
189
|
type: MessageType.ERROR,
|
|
189
|
-
text:
|
|
190
|
+
text: '❌ 当前目录不是 git 仓库,请在代码仓库目录下使用此命令。',
|
|
190
191
|
}, Date.now());
|
|
191
192
|
return;
|
|
192
193
|
}
|
|
@@ -195,7 +196,7 @@ const planCommand = {
|
|
|
195
196
|
text: `工作目录: ${cwd}\n技术文档 URL: ${techDocUrl}\n\n正在生成执行计划...\n\nRDMind 将会:\n1. 使用 redoc_fetch 工具获取技术文档内容\n2. 分析代码仓库结构和技术栈\n3. 生成详细的任务分解和执行计划\n4. 提供 AI Coding 使用指导\n5. 将文档保存到工作目录\n\n请耐心等待,这可能需要几分钟时间...`,
|
|
196
197
|
}, Date.now());
|
|
197
198
|
// 构造给 AI 的提示词
|
|
198
|
-
const prompt =
|
|
199
|
+
const prompt = `你是一个Java软件开发专家,请帮我完成以下任务:
|
|
199
200
|
|
|
200
201
|
**任务目标:生成执行计划文档**
|
|
201
202
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"techDesignCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/techDesignCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,WAAW,GAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C;;GAEG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACnB,WAAW;IACX,wDAAwD;IACxD,6CAA6C;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,yBAAyB,CAC1B,CAAC;IAEF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,KAAK,CACb,uBAAuB,YAAY,mBAAmB,SAAS,EAAE,CAClE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,eAAe,GAAiB;IACpC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,iBAAiB;IAC9B,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EACX,OAAuB,EACvB,IAAY,EAC8B,EAAE;QAC5C,MAAM,
|
|
1
|
+
{"version":3,"file":"techDesignCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/techDesignCommand.ts"],"names":[],"mappings":"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"}
|