kcode-pi 0.1.20 → 0.1.24

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/cli/kcode.js CHANGED
@@ -166,7 +166,7 @@ export function start(cwd, piArgs) {
166
166
  if (!piCli) {
167
167
  return {
168
168
  exitCode: 1,
169
- output: `${init.output}\n未找到随包 Pi CLI 或全局 pi 命令。请重新安装 kcode-cli 后再运行 kcode start。`,
169
+ output: `${init.output}\n未找到随包 Pi CLI 或全局 pi 命令。请重新安装 kcode-pi 后再运行 kcode start。`,
170
170
  };
171
171
  }
172
172
  const pi = spawnSync(piCli.command, piCli.args, { cwd, stdio: "inherit", shell: false });
@@ -294,7 +294,7 @@ function piCliPackageVersion(piCli) {
294
294
  }
295
295
  function helpText() {
296
296
  return [
297
- "KCode 企业入口",
297
+ "KCode 金蝶开发入口",
298
298
  "",
299
299
  "用法:",
300
300
  " kcode init 初始化当前项目的 .pi/settings.json",
@@ -0,0 +1,76 @@
1
+ # 更新日志
2
+
3
+ 本文记录 KCode 的重要版本变化。版本号以 `package.json` 为准。
4
+
5
+ ## 未发布
6
+
7
+ - 暂无。
8
+
9
+ ## 0.1.24 - 2026-06-07
10
+
11
+ ### 新增
12
+
13
+ - 新增更新日志文档,并在 README 文档导航中提供入口。
14
+ - 新增 `src/harness/prompt.ts`,集中管理运行时 Harness prompt。
15
+ - 新增 `src/harness/messages.ts`,集中管理 Harness 门禁、证据、路径、SDK/TDD 阻断消息。
16
+
17
+ ### 改进
18
+
19
+ - 收敛运行时 prompt,只保留状态、最近阶段资料、项目上下文摘要、当前阶段任务和核心约束。
20
+ - 精简 `kd-plan`、`kd-execute`、`kd-verify` 命令入口提示,减少和 skills、门禁规则的重复。
21
+ - 移除不存在的 IDE 相关验证表述,保留 Gradle/dotnet 的真实构建验证策略。
22
+
23
+ ### 验证
24
+
25
+ - `npm run release:check` 通过,包含 TypeScript 检查、CLI 构建、Harness smoke、KCode 命令 smoke、SDK 签名 smoke、package smoke 和 pack dry run。
26
+
27
+ ## 0.1.23 - 2026-06-07
28
+
29
+ ### 新增
30
+
31
+ - 支持工程化需求工作流,覆盖需求讨论、规格、计划、执行、验证和发布推进。
32
+
33
+ ### 改进
34
+
35
+ - 将包版本更新到 `0.1.23`,并同步 `package-lock.json` 顶层版本信息。
36
+ - 改进文档示例、用户文档和 README 使用说明。
37
+ - 优化 Harness 门禁、证据跟踪、恢复流程和风险确认提示。
38
+ - 使用 Gradle 和 dotnet 作为对应产品画像的构建验证入口。
39
+ - 本地化 KCode prompts,并要求关键 SDK 结论提供签名证据。
40
+
41
+ ### 验证
42
+
43
+ - `npm run release:check` 通过,包含 TypeScript 检查、CLI 构建、Harness smoke、KCode 命令 smoke、SDK 签名 smoke、package smoke 和 pack dry run。
44
+
45
+ ## 0.1.12 - 2026-06-06
46
+
47
+ ### 新增
48
+
49
+ - 增加本地 SDK 签名检查能力,用于从当前项目实际 jar/dll 中读取类和方法签名。
50
+ - 增加 Harness 阻断问题记录、回答和恢复流程。
51
+ - 增加生产就绪检查和更严格的 vendor runtime、reviewer 规则。
52
+
53
+ ### 改进
54
+
55
+ - 强化 Harness run、问题状态和门禁修复指引。
56
+ - 启动后自动进入 Harness 引导,减少首次使用路径断点。
57
+
58
+ ## 0.1.5 - 2026-06-06
59
+
60
+ ### 新增
61
+
62
+ - 发布 `kcode-pi` npm 包,提供全局 `kcode` 命令和随包 Pi 工作环境。
63
+ - 打包金蝶专属 extensions、skills、prompts、themes、知识库和 vendor 资料。
64
+
65
+ ## 0.1.4 - 2026-06-06
66
+
67
+ ### 新增
68
+
69
+ - 准备 KCode npm 分发能力和基础 CLI 入口。
70
+
71
+ ## 0.1.3 - 2026-06-06
72
+
73
+ ### 新增
74
+
75
+ - 准备早期 `kcode-pi` 发布版本。
76
+ - 增加自定义模型供应商说明。
@@ -0,0 +1,512 @@
1
+ # 命令参考
2
+
3
+ 本文集中说明 KCode 的终端命令、Pi 内命令和内置工具参数。首次使用请先看 [用户指南](USER_GUIDE.md),工作流顺序请看 [Harness 工作流](HARNESS_WORKFLOW.md)。
4
+
5
+ ## 终端命令
6
+
7
+ 终端命令在业务项目根目录执行。
8
+
9
+ ### kcode help
10
+
11
+ 显示帮助:
12
+
13
+ ```powershell
14
+ kcode help
15
+ kcode --help
16
+ ```
17
+
18
+ ### kcode version
19
+
20
+ 显示 KCode、随包 Pi CLI 和 Node 版本:
21
+
22
+ ```powershell
23
+ kcode version
24
+ kcode --version
25
+ kcode -v
26
+ ```
27
+
28
+ ### kcode init
29
+
30
+ 初始化当前业务项目的 Pi package 配置,并生成项目上下文:
31
+
32
+ ```powershell
33
+ kcode init
34
+ ```
35
+
36
+ 会写入或更新:
37
+
38
+ ```text
39
+ .pi/settings.json
40
+ .pi/kd/PROJECT_CONTEXT.md
41
+ ```
42
+
43
+ ### kcode context
44
+
45
+ 生成或读取项目常驻上下文:
46
+
47
+ ```powershell
48
+ kcode context
49
+ ```
50
+
51
+ 项目结构变化后强制刷新:
52
+
53
+ ```powershell
54
+ kcode context --refresh
55
+ kcode context -r
56
+ ```
57
+
58
+ ### kcode doctor
59
+
60
+ 检查 Node、Pi CLI、KCode package、项目级配置和项目上下文:
61
+
62
+ ```powershell
63
+ kcode doctor
64
+ ```
65
+
66
+ 深度检查会额外检查 Node 版本、全局 npm 目录、旧 KCode package 路径和 active run:
67
+
68
+ ```powershell
69
+ kcode doctor --deep
70
+ ```
71
+
72
+ ### kcode repair
73
+
74
+ 清理旧 KCode package 路径,保留当前安装路径,并刷新项目上下文:
75
+
76
+ ```powershell
77
+ kcode repair
78
+ ```
79
+
80
+ 升级后或 `doctor --deep` 提示旧路径时使用。
81
+
82
+ ### kcode start
83
+
84
+ 启动 KCode/Pi 工作环境:
85
+
86
+ ```powershell
87
+ kcode start
88
+ ```
89
+
90
+ `start` 会先自动执行项目级初始化,再启动随包 Pi CLI。后续参数会原样传给 Pi CLI:
91
+
92
+ ```powershell
93
+ kcode start --provider openai --model gpt-4o
94
+ ```
95
+
96
+ ## Pi 内命令
97
+
98
+ 以下命令在 `kcode start` 进入 Pi 后输入。
99
+
100
+ ### /kd-start
101
+
102
+ 创建一个新的 Kingdee Harness run。输入可以是一条需求,也可以是需求文档来源:
103
+
104
+ ```text
105
+ /kd-start [--product 产品] [--version 版本] <需求或需求组>
106
+ ```
107
+
108
+ 推荐显式带产品:
109
+
110
+ ```text
111
+ /kd-start --product cangqiong --version V6.0 实现采购订单保存校验
112
+ ```
113
+
114
+ 使用需求文档:
115
+
116
+ ```text
117
+ /kd-start --product cangqiong E:\project\docs\需求说明.md
118
+ /kd-start --product cangqiong https://example.com/requirements
119
+ ```
120
+
121
+ 支持产品:
122
+
123
+ ```text
124
+ cangqiong
125
+ xinghan
126
+ flagship
127
+ enterprise
128
+ ```
129
+
130
+ ### /kd-status
131
+
132
+ 查看当前 active run、阶段、产品画像、风险和门禁状态:
133
+
134
+ ```text
135
+ /kd-status
136
+ ```
137
+
138
+ ### /kd-gate
139
+
140
+ 刷新并查看当前阶段门禁:
141
+
142
+ ```text
143
+ /kd-gate
144
+ ```
145
+
146
+ 门禁阻塞时,按输出补齐产品、阶段文档、问题答案、证据或风险说明。
147
+
148
+ ### /kd-product
149
+
150
+ 设置当前 run 的产品画像:
151
+
152
+ ```text
153
+ /kd-product <flagship|xinghan|cangqiong|enterprise> [--version 版本]
154
+ ```
155
+
156
+ 示例:
157
+
158
+ ```text
159
+ /kd-product flagship
160
+ /kd-product cangqiong --version V6.0
161
+ ```
162
+
163
+ 选择规则见 [产品画像确认](PRODUCT_PROFILE.md)。
164
+
165
+ ### /kd-risk
166
+
167
+ 设置 ship 前的风险等级和原因:
168
+
169
+ ```text
170
+ /kd-risk <low|medium|high> <原因>
171
+ ```
172
+
173
+ 示例:
174
+
175
+ ```text
176
+ /kd-risk low 已完成本地构建和元数据检查,无残余交付风险
177
+ ```
178
+
179
+ 风险原因必须来自真实验证结果。
180
+
181
+ ### /kd-advance
182
+
183
+ 推进到下一阶段,或推进到指定阶段:
184
+
185
+ ```text
186
+ /kd-advance
187
+ /kd-advance spec
188
+ /kd-advance plan
189
+ /kd-advance execute
190
+ /kd-advance verify
191
+ /kd-advance ship
192
+ ```
193
+
194
+ 阶段顺序:
195
+
196
+ ```text
197
+ discuss -> spec -> plan -> execute -> verify -> ship
198
+ ```
199
+
200
+ ### /kd-artifact
201
+
202
+ 创建当前阶段文档,或创建指定阶段文档:
203
+
204
+ ```text
205
+ /kd-artifact
206
+ /kd-artifact plan
207
+ ```
208
+
209
+ 显式覆盖阶段文档:
210
+
211
+ ```text
212
+ /kd-artifact plan <完整内容> --replace
213
+ ```
214
+
215
+ 默认拒绝覆盖已有文档。
216
+
217
+ ### /kd-answer
218
+
219
+ 回答一个阻塞中的结构化问题:
220
+
221
+ ```text
222
+ /kd-answer Q-001 <答案>
223
+ ```
224
+
225
+ ### /kd-runs
226
+
227
+ 列出当前项目所有 Kingdee Harness run:
228
+
229
+ ```text
230
+ /kd-runs
231
+ ```
232
+
233
+ ### /kd-switch
234
+
235
+ 切换 active run:
236
+
237
+ ```text
238
+ /kd-switch <run-id>
239
+ ```
240
+
241
+ ### /kd-resume
242
+
243
+ 接续当前 active run,并把已落盘阶段文档注入上下文:
244
+
245
+ ```text
246
+ /kd-resume
247
+ /kd-resume 补充说明
248
+ ```
249
+
250
+ ### /kd-finish
251
+
252
+ 标记当前 run 完成,并清除 active run:
253
+
254
+ ```text
255
+ /kd-finish
256
+ ```
257
+
258
+ ## 内置工具
259
+
260
+ 这些工具多数情况下会由 KCode 自动使用;当需要明确证据或排障时,也可以按下面参数手动调用。
261
+
262
+ ### kd_plan_status
263
+
264
+ 查看当前 Harness run、阶段、文档和门禁:
265
+
266
+ ```text
267
+ kd_plan_status
268
+ ```
269
+
270
+ ### kd_question
271
+
272
+ 记录、回答或列出结构化问题:
273
+
274
+ ```text
275
+ kd_question action=ask question="采购入库单 Form ID 是否为 pur_receivebill?" choices=["是","不是"]
276
+ kd_question action=answer id=Q-001 answer=是
277
+ kd_question action=list
278
+ ```
279
+
280
+ 一次只能登记一个当前最阻塞的问题,最多 3 个简短选项。
281
+
282
+ ### kd_search
283
+
284
+ 搜索随包金蝶知识库:
285
+
286
+ ```text
287
+ kd_search query=QueryServiceHelper product=cangqiong limit=5
288
+ ```
289
+
290
+ 参数:
291
+
292
+ ```text
293
+ query 必填,关键词、API、类名、表名或生命周期术语
294
+ product 可选,flagship/xinghan/cangqiong/enterprise
295
+ edition 旧参数,等同 product
296
+ limit 可选,默认 5,最大 10
297
+ ```
298
+
299
+ ### kd_table
300
+
301
+ 查询随包表结构:
302
+
303
+ ```text
304
+ kd_table table=T_PUR_POORDER product=flagship
305
+ ```
306
+
307
+ 参数:
308
+
309
+ ```text
310
+ table 必填,表名
311
+ product 可选,flagship/xinghan/cangqiong/enterprise
312
+ edition 旧参数,等同 product
313
+ ```
314
+
315
+ 随包表结构主要覆盖旗舰版和企业版;Cosmic 家族字段和数据库信息优先用 `kd_cosmic_metadata`。
316
+
317
+ ### kd_check
318
+
319
+ 检查金蝶 Java/C#/Python 插件代码:
320
+
321
+ ```text
322
+ kd_check path=src/main/java/com/example/MyPlugin.java product=cangqiong
323
+ kd_check code="<源码片段>" language=java
324
+ ```
325
+
326
+ 参数:
327
+
328
+ ```text
329
+ code 可选,与 path 二选一
330
+ path 可选,与 code 二选一
331
+ product 可选,用于推导语言和产品规则
332
+ language 可选,java/csharp/python
333
+ ```
334
+
335
+ ### kd_cosmic_config
336
+
337
+ 运行 Cosmic 家族官方能力配置预检:
338
+
339
+ ```text
340
+ kd_cosmic_config product=cangqiong
341
+ kd_cosmic_config product=flagship config=ok-cosmic.json dryRun=true
342
+ ```
343
+
344
+ 参数:
345
+
346
+ ```text
347
+ product 必填,cangqiong/xinghan/flagship
348
+ config 可选,ok-cosmic.json 路径
349
+ dryRun 可选,只展示命令
350
+ ```
351
+
352
+ 有 active run 时,成功结果会写入 `evidence/cosmic-config.txt`。
353
+
354
+ ### kd_cosmic_metadata
355
+
356
+ 查询 Cosmic 表单、单据、字段、枚举、操作和 SQL 表信息:
357
+
358
+ ```text
359
+ kd_cosmic_metadata product=cangqiong form=sal_order
360
+ kd_cosmic_metadata product=cangqiong form=sal_order fuzzy="数量 金额" showDetail=true
361
+ kd_cosmic_metadata product=flagship form=采购订单 sql=true op=true
362
+ ```
363
+
364
+ 参数:
365
+
366
+ ```text
367
+ product 必填,cangqiong/xinghan/flagship
368
+ form 必填,Form ID、单据 ID 或中文单据名;多个目标可用逗号分隔
369
+ config 可选,ok-cosmic.json 路径
370
+ fuzzy 可选,字段关键词
371
+ typeFilter 可选,字段类型正则,例如 combo|check
372
+ sql 可选,包含数据库表和字段信息
373
+ op 可选,显示操作
374
+ showDetail 可选,显示详细元数据
375
+ dryRun 可选,只展示命令
376
+ ```
377
+
378
+ 有 active run 时,成功结果会写入 `evidence/cosmic-metadata.json`。
379
+
380
+ ### kd_cosmic_api
381
+
382
+ 查询随包 Cosmic API 知识线索:
383
+
384
+ ```text
385
+ kd_cosmic_api product=cangqiong mode=search query=QueryServiceHelper
386
+ kd_cosmic_api product=cangqiong mode=search-method query=loadSingle
387
+ kd_cosmic_api product=cangqiong mode=detail query=kd.bos.servicehelper.QueryServiceHelper method=loadSingle compact=true
388
+ ```
389
+
390
+ 参数:
391
+
392
+ ```text
393
+ product 必填,cangqiong/xinghan/flagship
394
+ mode 必填,search/search-method/detail
395
+ query 必填,类名、方法名或完整限定类名
396
+ config 可选,ok-cosmic.json 路径
397
+ method 可选,detail 模式下过滤方法
398
+ compact 可选,请求紧凑详情输出
399
+ dryRun 可选,只展示命令
400
+ ```
401
+
402
+ `kd_cosmic_api` 只能作为线索;最终 SDK 签名事实以 `kd_sdk_signature`、项目构建输出或官方元数据为准。
403
+
404
+ ### kd_sdk_signature
405
+
406
+ 从当前业务项目真实 SDK jar/dll 检查类型和方法签名:
407
+
408
+ ```text
409
+ kd_sdk_signature product=cangqiong query=QueryServiceHelper method=loadSingle
410
+ kd_sdk_signature product=enterprise query=DynamicObject method=GetDynamicObject
411
+ kd_sdk_signature language=java className=kd.bos.servicehelper.QueryServiceHelper method=loadSingle
412
+ ```
413
+
414
+ 参数:
415
+
416
+ ```text
417
+ product 可选,用于推导 Java/C#
418
+ language 可选,java/csharp
419
+ query 可选,类或类型关键词
420
+ className 可选,完整限定类型名
421
+ method 可选,在匹配类型内过滤方法或属性
422
+ path 可选,SDK lib/bin 目录或依赖根路径
423
+ limit 可选,最大检查数量
424
+ ```
425
+
426
+ 有 active run 且查询成功时,会写入 `evidence/sdk-signature.md`。
427
+
428
+ ### kd_ksql_lint
429
+
430
+ 检查 KSQL/SQL 文件:
431
+
432
+ ```text
433
+ kd_ksql_lint product=cangqiong path=scripts/fix.sql
434
+ kd_ksql_lint product=flagship path=scripts/fix.sql dryRun=true
435
+ ```
436
+
437
+ 参数:
438
+
439
+ ```text
440
+ product 必填,cangqiong/xinghan/flagship
441
+ path 必填,SQL/KSQL 文件路径
442
+ dryRun 可选,只展示命令
443
+ ```
444
+
445
+ 有 active run 时,成功结果会写入 `evidence/ksql-lint.txt`。
446
+
447
+ ### kd_build
448
+
449
+ 按产品画像运行或预览构建命令:
450
+
451
+ ```text
452
+ kd_build product=cangqiong
453
+ kd_build product=cangqiong target=:module:build
454
+ kd_build product=enterprise target=Project.sln
455
+ kd_build product=flagship dryRun=true
456
+ ```
457
+
458
+ 参数:
459
+
460
+ ```text
461
+ product 必填,cangqiong/xinghan/flagship/enterprise
462
+ target 可选,Java Gradle task 或 C# .sln/.csproj 路径
463
+ dryRun 可选,只展示命令
464
+ ```
465
+
466
+ ### kd_debug
467
+
468
+ 分析金蝶构建、运行日志或堆栈:
469
+
470
+ ```text
471
+ kd_debug path=logs/error.log product=cangqiong
472
+ kd_debug text="<日志或堆栈>" product=enterprise
473
+ ```
474
+
475
+ 参数:
476
+
477
+ ```text
478
+ text 可选,与 path 二选一
479
+ path 可选,与 text 二选一
480
+ product 可选,产品提示
481
+ ```
482
+
483
+ ## 常用组合
484
+
485
+ 新需求:
486
+
487
+ ```text
488
+ /kd-start --product cangqiong --version V6.0 实现采购订单保存校验
489
+ /kd-status
490
+ /kd-gate
491
+ ```
492
+
493
+ 已有 run 补产品:
494
+
495
+ ```text
496
+ /kd-product cangqiong --version V6.0
497
+ /kd-gate
498
+ ```
499
+
500
+ 进入 execute 前补签名证据:
501
+
502
+ ```text
503
+ kd_sdk_signature product=cangqiong query=QueryServiceHelper method=loadSingle
504
+ /kd-gate
505
+ ```
506
+
507
+ ship 前补风险:
508
+
509
+ ```text
510
+ /kd-risk low 已完成本地构建和元数据检查,无残余交付风险
511
+ /kd-gate
512
+ ```
@@ -7,7 +7,7 @@
7
7
  克隆仓库并安装依赖:
8
8
 
9
9
  ```powershell
10
- git clone <KCodeV2仓库地址>
10
+ git clone https://github.com/wangneal/kcode-pi.git
11
11
  cd KCodeV2
12
12
  npm install
13
13
  ```
@@ -34,7 +34,7 @@ npm run smoke:official
34
34
  npm run smoke:build-debug
35
35
  npm run smoke:sdk-signature
36
36
  npm run smoke:package
37
- npm run smoke:kcode-cli
37
+ npm run smoke:kcode-command
38
38
  npm run release:check
39
39
  ```
40
40
 
@@ -147,7 +147,7 @@ docs/KCODE_DISTRIBUTION.md
147
147
  允许接入前必须检查:
148
148
 
149
149
  - package 来源和维护状态。
150
- - license 是否允许企业内部分发。
150
+ - license 是否允许随包分发和商业使用。
151
151
  - 是否注册 extensions、hooks、commands、tools。
152
152
  - 是否写全局配置或访问敏感路径。
153
153
  - 是否与 KCode harness、权限策略、上下文策略冲突。
@@ -156,6 +156,6 @@ docs/KCODE_DISTRIBUTION.md
156
156
 
157
157
  ## 当前维护事项
158
158
 
159
- - 当前包名是 `kcode-pi`;如果企业侧要叫 `kcode-cli`,发布前需要调整 `package.json.name`。
159
+ - 当前包名是 `kcode-pi`,全局命令是 `kcode`。
160
160
  - 更深层的 reviewer 语义规则、HTML 审查报告、自动 SQL 产物生成仍在后续计划中。
161
161
  - 集成进度见根目录 `OFFICIAL_SKILLS_STATUS.md`。