@hupan56/wlkj 3.4.9 → 3.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hupan56/wlkj",
3
- "version": "3.4.9",
3
+ "version": "3.5.1",
4
4
  "description": "AI Product R&D Workflow - PRD/Prototype/Search/Task/Report",
5
5
  "bin": {
6
6
  "wlkj": "bin/cli.js"
@@ -1,229 +1,229 @@
1
- # 角色定义 (与 kg.py ROLE_SECTIONS 的 5 角色对齐)
2
- # commands: 该角色建议主用的命令 (软引导, 不拦截 —— 任何角色都能跑任何命令)
3
- # permissions: 声明式权限 (遗留字段, 向后兼容)
4
- #
5
- # ★ 能力边界 (v3.0+ 解耦核心) ★
6
- # can_produce: 该角色允许产出的契约类型 (guard.py 强制, 越权则降级)
7
- # can_consume: 该角色允许读取/消费的能力 (越权则只读降级)
8
- # 契约类型必须与 contracts/schemas/*.schema.json 的 type 对齐:
9
- # prd / prototype / spec / design-spec / code / unit-test / test-report / task
10
- roles:
11
- pm:
12
- name: 产品经理
13
- permissions: [create_task, write_prd, approve_prd, review_spec]
14
- commands: [wl-init, wl-insight, wl-prd, wl-design, wl-task, wl-search, wl-status, wl-report]
15
- can_produce: [prd, prototype]
16
- can_consume: ["*"] # PM 需读代码做现状分析
17
- design:
18
- name: 设计师
19
- permissions: [upload_design, approve_design]
20
- commands: [wl-init, wl-design, wl-search, wl-status]
21
- can_produce: [design-spec, prototype]
22
- can_consume: [prd, code-search]
23
- dev:
24
- name: 开发
25
- permissions: [write_spec, implement, commit, review_code]
26
- commands: [wl-init, wl-spec, wl-code, wl-test, wl-search, wl-commit, wl-status]
27
- can_produce: [spec, code, unit-test]
28
- can_consume: [prd, prototype, task]
29
- test:
30
- name: 测试
31
- permissions: [run_test, review_acceptance]
32
- commands: [wl-init, wl-test, wl-search, wl-status]
33
- can_produce: [test-report, test-cases, unit-test]
34
- can_consume: [prd, task, prototype]
35
- admin:
36
- name: 管理员
37
- permissions: [manage_index, manage_members, all]
38
- commands: [wl-init, wl-status, wl-search, wl-report]
39
- can_produce: ["*"]
40
- can_consume: ["*"]
41
-
42
- pipeline:
43
- workspace_dir: workspace
44
- prd_dir: specs/prd
45
- spec_dir: specs
46
- task_dir: tasks
47
- data_dir: data
48
- auto_spec_on_prd_push: true
49
- req_id_start: 1
50
-
51
- # ── MySQL 只读 MCP (团队共享, 多环境) ──
52
- # AI 查数据库时会先问"查哪个环境",用这里的标签让用户选。
53
- # 标签名自定义 (test/pre/prod 或 qa/staging...),对应 environments 下的 key。
54
- # 没配 environments (旧扁平结构) 时兼容:当作只有 default_env 一个环境。
55
- mysql:
56
- default_env: test # AI 不指定 / 用户不选时的默认环境
57
- environments:
58
- test: # 测试环境
59
- host: 10.54.6.9
60
- port: 3306
61
- user: fywl_ics_test
62
- password: Fywl_ics_test56476
63
- env_name: "QAS 测试环境" # 显示标签,会随查询结果返回提醒 AI 当前在哪个环境
64
- pre: # 预生产环境 (按需填, 不用可整段删)
65
- host: 10.54.6.10
66
- port: 3306
67
- user: fywl_ics_pre_ro
68
- password: ""
69
- env_name: "预生产环境"
70
- prod: # 生产环境 (⚠️ 只读账号! 配了才能查, 查时 AI 会标红提醒)
71
- host: fywl-mysql.rwlb.rds.aliyuncs.com
72
- port: 3306
73
- user: queryuser
74
- password: "query2025_ics@infore"
75
- env_name: "生产环境"
76
-
77
- # ── 禅道 MCP (自建内网) ──
78
- # v3.1.4: 禅道是【每人一个账号】(非团队共享)。
79
- # - url (服务地址): 团队共享, 留这里。
80
- # - user/password (个人凭据): 不放这里 (进 git 会泄露)。
81
- # 每人各自填 workspace/members/{我}/.private/secrets/zentao.env:
82
- # ZENTAO_USER=<你的禅道账号>
83
- # ZENTAO_PASSWORD=<你的禅道密码>
84
- # - 账号名映射: member.json 的 zentao_account (进 git, 用于归属过滤)。
85
- zentao:
86
- url: http://10.89.2.91/zentao
87
-
88
- # ── Platforms (知识图谱/搜索的平台映射, 换项目改这里即可) ──
89
- # search_index.py --platform <key或alias> 会过滤到对应 project 目录
90
- platforms:
91
- web:
92
- project: fywl-ui
93
- aliases: [pc, 管理端, 后台]
94
- ui_stack: "Ant Design Vue + VxeGrid (Vben Admin)"
95
- prototype_template: .qoder/templates/prototype-web.html
96
- app:
97
- project: Carmg-H5
98
- aliases: [mobile, h5, 移动端]
99
- ui_stack: "Vant 3"
100
- prototype_template: .qoder/templates/prototype-app.html
101
-
102
- # ── 自动化测试 (浏览器/E2E) ──
103
- # /wl-test 浏览器测试用。base_url 留空=未配, run 时报错提示用 --url 或在此填。
104
- # 命令行 --url > --env(查这里) > 报错。换部署地址改这里即可, 不用动脚本。
105
- autotest:
106
- default_env: test # /wl-test 不指定 --env 时的默认环境
107
- environments:
108
- test: # 测试环境
109
- web: { base_url: "https://icsqas.inforecloud.com/" } # ← 填 fywl-ui 测试地址, 如 http://10.x.x.x:8080
110
- app: { base_url: "" } # ← 填 Carmg-H5 测试地址
111
- pre: # 预生产环境
112
- web: { base_url: "https://icspre.inforecloud.com/" }
113
- app: { base_url: "" }
114
- prod: # 生产环境 (慎用, 会测真实数据)
115
- web: { base_url: "https://ics.inforecloud.com/" }
116
- app: { base_url: "" }
117
- # 生成用例时从 PRD 哪些段抽取验收点 (AI 读 skill 时参考)
118
- case_source_section: ["验收标准", "功能清单"]
119
-
120
- # ── 团队协作仓库 (workspace/ 产出 push 到这里) ──
121
- # 这是团队共享 PRD/任务/原型的仓库, 跟 data/code/ 的源码仓库不同。
122
- # setup.py init 时会交互式配置 git remote add origin <url>。
123
- # 不配也能本地工作, 但 push/同步功能不可用。
124
- team_remote:
125
- # url: 团队 git 地址(留空则 setup.py 会问; 填了团队所有人 init 自动用)
126
- url: ""
127
- branch: master
128
-
129
- # ── Git Sync (Weekly) ──
130
- # 每个项目在 data/code/ 下有自己的 git 仓库
131
- # 运行: python .qoder/scripts/orchestration/wlkj.py git-sync
132
- # 或设 cron: 每周五 18:00
133
- #
134
- # ★ 源码仓库配置 (重要) ★
135
- # 把下面的 url 改成你团队的 git 地址 (Gitea/GitLab/GitHub 均可)。
136
- # branch 改成你的主分支。
137
- # 不知道填什么? 注释掉整个 projects 段, 手动把代码放到 data/code/<项目名>/ 即可。
138
- # 填完后跑: python .qoder/scripts/orchestration/wlkj.py doctor --fix 会自动克隆+建索引。
139
- git_sync:
140
- schedule: "0 18 * * 5"
141
- projects:
142
- Carmg-H5:
143
- remote: origin
144
- url: http://10.87.106.228:8877/pengxicheng/Carmg-H5.git
145
- branch: master
146
- fywl-ics:
147
- remote: origin
148
- url: http://10.87.106.228:8877/fywl-ics/fywl-ics.git
149
- branch: online
150
- fywl-ui:
151
- remote: origin
152
- url: http://10.87.106.228:8877/fywl-ics/fywl-ui.git
153
- branch: online
154
-
155
-
156
- prd_modes:
157
- reference:
158
- steps: [scan, analyze, reflect, confirm, generate]
159
- product_types: [B2C, B2B, internal, platform]
160
- quality_checklist:
161
- - background_not_vague
162
- - goals_quantifiable
163
- - user_personas_specific
164
- - business_rules_exhaustive
165
- - exceptions_covered
166
- - ac_testable
167
- - data_events_complete
168
- - no_tech_implementation
169
- - priority_tagged
170
- - schedule_grounded
171
- built_in:
172
- - competitive_scan
173
- - story_breakdown
174
- # Brainstorm mode (dispatches .qoder/agents/prd-research.md sub-agents)
175
- brainstorm:
176
- min_agents: 2
177
- default_agents: 4
178
- built_in:
179
- - SCAMPER
180
- - 5Whys
181
- - constraint_innovation
182
- - impact_effort_screening
183
- planning:
184
- steps: [current_state, ideal_state, gap_analysis, plans]
185
- quick:
186
- steps: [locate, generate, confirm]
187
-
188
- task:
189
- prioritization: RICE
190
- auto_rank: true
191
-
192
- status:
193
- dimensions:
194
- - on_time_delivery
195
- - scope_stability
196
- - dependency_health
197
- - pipeline_flow
198
- - learning_growth
199
-
200
- insight:
201
- types: [feedback, metrics]
202
-
203
- # ── Feishu (飞书) 通知集成 (阶段 D) ──
204
- # 群机器人 webhook: 在飞书群设置 > 群机器人 > 添加自定义机器人 > 拿 webhook URL
205
- # 支持环境变量覆盖: export FEISHU_WEBHOOK_URL=...
206
- feishu:
207
- enabled: false # 设 true 并配 webhook_url 后才推送
208
- webhook_url: "" # 或填群机器人 webhook, 或用环境变量 FEISHU_WEBHOOK_URL
209
- secret: "" # 签名校验密钥 (机器人启用签名校验时填), 或 FEISHU_SECRET
210
- # 推送哪些事件 (不配则全推)
211
- events:
212
- - task_finished # 任务完成
213
- - prd_published # PRD 发布
214
- - eval_rejected # EVA 门禁拒绝
215
- - deadline_warning # 截止日期临近 (由 /wl-status 触发)
216
- # 卡片主题色 (default/green/orange/red)
217
- theme:
218
- task_finished: green
219
- prd_published: blue
220
- eval_rejected: red
221
- deadline_warning: orange
222
-
223
- feedback_categories: [feature_request, bug, UX, performance, praise, question]
224
- metrics_analyses: [growth, retention, funnel, ab_experiment, okr]
225
-
226
- notification:
227
- console:
228
- type: console
229
- enabled: true
1
+ # 角色定义 (与 kg.py ROLE_SECTIONS 的 5 角色对齐)
2
+ # commands: 该角色建议主用的命令 (软引导, 不拦截 —— 任何角色都能跑任何命令)
3
+ # permissions: 声明式权限 (遗留字段, 向后兼容)
4
+ #
5
+ # ★ 能力边界 (v3.0+ 解耦核心) ★
6
+ # can_produce: 该角色允许产出的契约类型 (guard.py 强制, 越权则降级)
7
+ # can_consume: 该角色允许读取/消费的能力 (越权则只读降级)
8
+ # 契约类型必须与 contracts/schemas/*.schema.json 的 type 对齐:
9
+ # prd / prototype / spec / design-spec / code / unit-test / test-report / task
10
+ roles:
11
+ pm:
12
+ name: 产品经理
13
+ permissions: [create_task, write_prd, approve_prd, review_spec]
14
+ commands: [wl-init, wl-insight, wl-prd, wl-design, wl-task, wl-search, wl-status, wl-report]
15
+ can_produce: [prd, prototype]
16
+ can_consume: ["*"] # PM 需读代码做现状分析
17
+ design:
18
+ name: 设计师
19
+ permissions: [upload_design, approve_design]
20
+ commands: [wl-init, wl-design, wl-search, wl-status]
21
+ can_produce: [design-spec, prototype]
22
+ can_consume: [prd, code-search]
23
+ dev:
24
+ name: 开发
25
+ permissions: [write_spec, implement, commit, review_code]
26
+ commands: [wl-init, wl-spec, wl-code, wl-test, wl-search, wl-commit, wl-status]
27
+ can_produce: [spec, code, unit-test]
28
+ can_consume: [prd, prototype, task]
29
+ test:
30
+ name: 测试
31
+ permissions: [run_test, review_acceptance]
32
+ commands: [wl-init, wl-test, wl-search, wl-status]
33
+ can_produce: [test-report, test-cases, unit-test]
34
+ can_consume: [prd, task, prototype]
35
+ admin:
36
+ name: 管理员
37
+ permissions: [manage_index, manage_members, all]
38
+ commands: [wl-init, wl-status, wl-search, wl-report]
39
+ can_produce: ["*"]
40
+ can_consume: ["*"]
41
+
42
+ pipeline:
43
+ workspace_dir: workspace
44
+ prd_dir: specs/prd
45
+ spec_dir: specs
46
+ task_dir: tasks
47
+ data_dir: data
48
+ auto_spec_on_prd_push: true
49
+ req_id_start: 1
50
+
51
+ # ── MySQL 只读 MCP (团队共享, 多环境) ──
52
+ # AI 查数据库时会先问"查哪个环境",用这里的标签让用户选。
53
+ # 标签名自定义 (test/pre/prod 或 qa/staging...),对应 environments 下的 key。
54
+ # 没配 environments (旧扁平结构) 时兼容:当作只有 default_env 一个环境。
55
+ mysql:
56
+ default_env: test # AI 不指定 / 用户不选时的默认环境
57
+ environments:
58
+ test: # 测试环境
59
+ host: 10.54.6.9
60
+ port: 3306
61
+ user: fywl_ics_test
62
+ password: Fywl_ics_test56476
63
+ env_name: "QAS 测试环境" # 显示标签,会随查询结果返回提醒 AI 当前在哪个环境
64
+ pre: # 预生产环境 (按需填, 不用可整段删)
65
+ host: 10.54.6.10
66
+ port: 3306
67
+ user: fywl_ics_pre_ro
68
+ password: ""
69
+ env_name: "预生产环境"
70
+ prod: # 生产环境 (⚠️ 只读账号! 配了才能查, 查时 AI 会标红提醒)
71
+ host: fywl-mysql.rwlb.rds.aliyuncs.com
72
+ port: 3306
73
+ user: queryuser
74
+ password: "query2025_ics@infore"
75
+ env_name: "生产环境"
76
+
77
+ # ── 禅道 MCP (自建内网) ──
78
+ # v3.1.4: 禅道是【每人一个账号】(非团队共享)。
79
+ # - url (服务地址): 团队共享, 留这里。
80
+ # - user/password (个人凭据): 不放这里 (进 git 会泄露)。
81
+ # 每人各自填 workspace/members/{我}/.private/secrets/zentao.env:
82
+ # ZENTAO_USER=<你的禅道账号>
83
+ # ZENTAO_PASSWORD=<你的禅道密码>
84
+ # - 账号名映射: member.json 的 zentao_account (进 git, 用于归属过滤)。
85
+ zentao:
86
+ url: http://10.89.2.91/zentao
87
+
88
+ # ── Platforms (知识图谱/搜索的平台映射, 换项目改这里即可) ──
89
+ # search_index.py --platform <key或alias> 会过滤到对应 project 目录
90
+ platforms:
91
+ web:
92
+ project: fywl-ui
93
+ aliases: [pc, 管理端, 后台]
94
+ ui_stack: "Ant Design Vue + VxeGrid (Vben Admin)"
95
+ prototype_template: .qoder/templates/prototype-web.html
96
+ app:
97
+ project: Carmg-H5
98
+ aliases: [mobile, h5, 移动端]
99
+ ui_stack: "Vant 3"
100
+ prototype_template: .qoder/templates/prototype-app.html
101
+
102
+ # ── 自动化测试 (浏览器/E2E) ──
103
+ # /wl-test 浏览器测试用。base_url 留空=未配, run 时报错提示用 --url 或在此填。
104
+ # 命令行 --url > --env(查这里) > 报错。换部署地址改这里即可, 不用动脚本。
105
+ autotest:
106
+ default_env: test # /wl-test 不指定 --env 时的默认环境
107
+ environments:
108
+ test: # 测试环境
109
+ web: { base_url: "https://icsqas.inforecloud.com/" } # ← 填 fywl-ui 测试地址, 如 http://10.x.x.x:8080
110
+ app: { base_url: "" } # ← 填 Carmg-H5 测试地址
111
+ pre: # 预生产环境
112
+ web: { base_url: "https://icspre.inforecloud.com/" }
113
+ app: { base_url: "" }
114
+ prod: # 生产环境 (慎用, 会测真实数据)
115
+ web: { base_url: "https://ics.inforecloud.com/" }
116
+ app: { base_url: "" }
117
+ # 生成用例时从 PRD 哪些段抽取验收点 (AI 读 skill 时参考)
118
+ case_source_section: ["验收标准", "功能清单"]
119
+
120
+ # ── 团队协作仓库 (workspace/ 产出 push 到这里) ──
121
+ # 这是团队共享 PRD/任务/原型的仓库, 跟 data/code/ 的源码仓库不同。
122
+ # setup.py init 时会交互式配置 git remote add origin <url>。
123
+ # 不配也能本地工作, 但 push/同步功能不可用。
124
+ team_remote:
125
+ # url: 团队 git 地址(留空则 setup.py 会问; 填了团队所有人 init 自动用)
126
+ url: ""
127
+ branch: master
128
+
129
+ # ── Git Sync (Weekly) ──
130
+ # 每个项目在 data/code/ 下有自己的 git 仓库
131
+ # 运行: python .qoder/scripts/orchestration/wlkj.py git-sync
132
+ # 或设 cron: 每周五 18:00
133
+ #
134
+ # ★ 源码仓库配置 (重要) ★
135
+ # 把下面的 url 改成你团队的 git 地址 (Gitea/GitLab/GitHub 均可)。
136
+ # branch 改成你的主分支。
137
+ # 不知道填什么? 注释掉整个 projects 段, 手动把代码放到 data/code/<项目名>/ 即可。
138
+ # 填完后跑: python .qoder/scripts/orchestration/wlkj.py doctor --fix 会自动克隆+建索引。
139
+ git_sync:
140
+ schedule: "0 18 * * 5"
141
+ projects:
142
+ Carmg-H5:
143
+ remote: origin
144
+ url: http://10.87.106.228:8877/pengxicheng/Carmg-H5.git
145
+ branch: master
146
+ fywl-ics:
147
+ remote: origin
148
+ url: http://10.87.106.228:8877/fywl-ics/fywl-ics.git
149
+ branch: online
150
+ fywl-ui:
151
+ remote: origin
152
+ url: http://10.87.106.228:8877/fywl-ics/fywl-ui.git
153
+ branch: online
154
+
155
+
156
+ prd_modes:
157
+ reference:
158
+ steps: [scan, analyze, reflect, confirm, generate]
159
+ product_types: [B2C, B2B, internal, platform]
160
+ quality_checklist:
161
+ - background_not_vague
162
+ - goals_quantifiable
163
+ - user_personas_specific
164
+ - business_rules_exhaustive
165
+ - exceptions_covered
166
+ - ac_testable
167
+ - data_events_complete
168
+ - no_tech_implementation
169
+ - priority_tagged
170
+ - schedule_grounded
171
+ built_in:
172
+ - competitive_scan
173
+ - story_breakdown
174
+ # Brainstorm mode (dispatches .qoder/agents/prd-research.md sub-agents)
175
+ brainstorm:
176
+ min_agents: 2
177
+ default_agents: 4
178
+ built_in:
179
+ - SCAMPER
180
+ - 5Whys
181
+ - constraint_innovation
182
+ - impact_effort_screening
183
+ planning:
184
+ steps: [current_state, ideal_state, gap_analysis, plans]
185
+ quick:
186
+ steps: [locate, generate, confirm]
187
+
188
+ task:
189
+ prioritization: RICE
190
+ auto_rank: true
191
+
192
+ status:
193
+ dimensions:
194
+ - on_time_delivery
195
+ - scope_stability
196
+ - dependency_health
197
+ - pipeline_flow
198
+ - learning_growth
199
+
200
+ insight:
201
+ types: [feedback, metrics]
202
+
203
+ # ── Feishu (飞书) 通知集成 (阶段 D) ──
204
+ # 群机器人 webhook: 在飞书群设置 > 群机器人 > 添加自定义机器人 > 拿 webhook URL
205
+ # 支持环境变量覆盖: export FEISHU_WEBHOOK_URL=...
206
+ feishu:
207
+ enabled: false # 设 true 并配 webhook_url 后才推送
208
+ webhook_url: "" # 或填群机器人 webhook, 或用环境变量 FEISHU_WEBHOOK_URL
209
+ secret: "" # 签名校验密钥 (机器人启用签名校验时填), 或 FEISHU_SECRET
210
+ # 推送哪些事件 (不配则全推)
211
+ events:
212
+ - task_finished # 任务完成
213
+ - prd_published # PRD 发布
214
+ - eval_rejected # EVA 门禁拒绝
215
+ - deadline_warning # 截止日期临近 (由 /wl-status 触发)
216
+ # 卡片主题色 (default/green/orange/red)
217
+ theme:
218
+ task_finished: green
219
+ prd_published: blue
220
+ eval_rejected: red
221
+ deadline_warning: orange
222
+
223
+ feedback_categories: [feature_request, bug, UX, performance, praise, question]
224
+ metrics_analyses: [growth, retention, funnel, ab_experiment, okr]
225
+
226
+ notification:
227
+ console:
228
+ type: console
229
+ enabled: true