principles-disciple 1.11.0 → 1.13.0

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.
Files changed (233) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +66 -0
  3. package/esbuild.config.js +1 -1
  4. package/openclaw.plugin.json +4 -4
  5. package/package.json +2 -3
  6. package/run-nocturnal.mjs +30 -0
  7. package/scripts/db-migrate.mjs +170 -0
  8. package/scripts/sync-plugin.mjs +250 -6
  9. package/src/commands/archive-impl.ts +136 -0
  10. package/src/commands/capabilities.ts +4 -2
  11. package/src/commands/context.ts +5 -1
  12. package/src/commands/disable-impl.ts +151 -0
  13. package/src/commands/evolution-status.ts +64 -19
  14. package/src/commands/export.ts +8 -6
  15. package/src/commands/focus.ts +8 -20
  16. package/src/commands/nocturnal-review.ts +5 -7
  17. package/src/commands/nocturnal-rollout.ts +1 -12
  18. package/src/commands/nocturnal-train.ts +21 -47
  19. package/src/commands/pain.ts +10 -5
  20. package/src/commands/principle-rollback.ts +4 -2
  21. package/src/commands/promote-impl.ts +274 -0
  22. package/src/commands/rollback-impl.ts +234 -0
  23. package/src/commands/rollback.ts +6 -3
  24. package/src/commands/samples.ts +2 -0
  25. package/src/commands/thinking-os.ts +3 -4
  26. package/src/commands/workflow-debug.ts +2 -1
  27. package/src/config/errors.ts +1 -0
  28. package/src/core/AGENTS.md +34 -0
  29. package/src/core/adaptive-thresholds.ts +4 -3
  30. package/src/core/code-implementation-storage.ts +241 -0
  31. package/src/core/config.ts +5 -2
  32. package/src/core/control-ui-db.ts +29 -10
  33. package/src/core/detection-funnel.ts +12 -7
  34. package/src/core/diagnostician-task-store.ts +156 -0
  35. package/src/core/dictionary.ts +4 -4
  36. package/src/core/empathy-keyword-matcher.ts +7 -3
  37. package/src/core/empathy-types.ts +13 -2
  38. package/src/core/event-log.ts +14 -6
  39. package/src/core/evolution-engine.ts +27 -31
  40. package/src/core/evolution-logger.ts +3 -2
  41. package/src/core/evolution-reducer.ts +110 -31
  42. package/src/core/evolution-types.ts +10 -0
  43. package/src/core/external-training-contract.ts +1 -0
  44. package/src/core/focus-history.ts +38 -24
  45. package/src/core/hygiene/tracker.ts +10 -6
  46. package/src/core/init.ts +5 -2
  47. package/src/core/migration.ts +3 -3
  48. package/src/core/model-deployment-registry.ts +6 -4
  49. package/src/core/model-training-registry.ts +5 -3
  50. package/src/core/nocturnal-arbiter.ts +13 -14
  51. package/src/core/nocturnal-artifact-lineage.ts +117 -0
  52. package/src/core/nocturnal-artificer.ts +257 -0
  53. package/src/core/nocturnal-candidate-scoring.ts +4 -2
  54. package/src/core/nocturnal-compliance.ts +67 -19
  55. package/src/core/nocturnal-dataset.ts +95 -2
  56. package/src/core/nocturnal-executability.ts +2 -3
  57. package/src/core/nocturnal-export.ts +6 -3
  58. package/src/core/nocturnal-rule-implementation-validator.ts +245 -0
  59. package/src/core/nocturnal-trajectory-extractor.ts +10 -3
  60. package/src/core/nocturnal-trinity.ts +319 -61
  61. package/src/core/pain-context-extractor.ts +29 -15
  62. package/src/core/pain.ts +7 -5
  63. package/src/core/path-resolver.ts +16 -15
  64. package/src/core/paths.ts +2 -1
  65. package/src/core/pd-task-reconciler.ts +463 -0
  66. package/src/core/pd-task-service.ts +42 -0
  67. package/src/core/pd-task-store.ts +77 -0
  68. package/src/core/pd-task-types.ts +128 -0
  69. package/src/core/principle-internalization/deprecated-readiness.ts +91 -0
  70. package/src/core/principle-internalization/internalization-routing-policy.ts +208 -0
  71. package/src/core/principle-internalization/lifecycle-metrics.ts +149 -0
  72. package/src/core/principle-internalization/lifecycle-read-model.ts +243 -0
  73. package/src/core/principle-internalization/lifecycle-refresh.ts +11 -0
  74. package/src/core/principle-internalization/principle-lifecycle-service.ts +167 -0
  75. package/src/core/principle-training-state.ts +95 -370
  76. package/src/core/principle-tree-ledger.ts +733 -0
  77. package/src/core/principle-tree-migration.ts +195 -0
  78. package/src/core/profile.ts +3 -1
  79. package/src/core/promotion-gate.ts +14 -18
  80. package/src/core/replay-engine.ts +562 -0
  81. package/src/core/risk-calculator.ts +6 -4
  82. package/src/core/rule-host-helpers.ts +39 -0
  83. package/src/core/rule-host-types.ts +82 -0
  84. package/src/core/rule-host.ts +245 -0
  85. package/src/core/rule-implementation-runtime.ts +38 -0
  86. package/src/core/schema/db-types.ts +16 -0
  87. package/src/core/schema/index.ts +26 -0
  88. package/src/core/schema/migration-runner.ts +207 -0
  89. package/src/core/schema/migrations/001-init-trajectory.ts +211 -0
  90. package/src/core/schema/migrations/002-init-central.ts +122 -0
  91. package/src/core/schema/migrations/003-init-workflow.ts +55 -0
  92. package/src/core/schema/migrations/004-add-thinking-and-gfi.ts +74 -0
  93. package/src/core/schema/migrations/index.ts +31 -0
  94. package/src/core/schema/schema-definitions.ts +650 -0
  95. package/src/core/session-tracker.ts +6 -4
  96. package/src/core/shadow-observation-registry.ts +6 -3
  97. package/src/core/system-logger.ts +2 -2
  98. package/src/core/thinking-models.ts +182 -46
  99. package/src/core/thinking-os-parser.ts +156 -0
  100. package/src/core/training-program.ts +7 -7
  101. package/src/core/trajectory.ts +42 -36
  102. package/src/core/workspace-context.ts +77 -11
  103. package/src/core/workspace-dir-validation.ts +152 -0
  104. package/src/hooks/AGENTS.md +31 -0
  105. package/src/hooks/bash-risk.ts +3 -1
  106. package/src/hooks/edit-verification.ts +9 -5
  107. package/src/hooks/gate-block-helper.ts +5 -1
  108. package/src/hooks/gate.ts +152 -5
  109. package/src/hooks/gfi-gate.ts +9 -2
  110. package/src/hooks/lifecycle-routing.ts +124 -0
  111. package/src/hooks/lifecycle.ts +12 -12
  112. package/src/hooks/llm.ts +17 -109
  113. package/src/hooks/message-sanitize.ts +5 -3
  114. package/src/hooks/pain.ts +19 -15
  115. package/src/hooks/progressive-trust-gate.ts +7 -1
  116. package/src/hooks/prompt.ts +169 -60
  117. package/src/hooks/subagent.ts +5 -4
  118. package/src/hooks/thinking-checkpoint.ts +2 -0
  119. package/src/hooks/trajectory-collector.ts +15 -12
  120. package/src/http/principles-console-route.ts +31 -68
  121. package/src/i18n/commands.ts +2 -2
  122. package/src/index.ts +130 -40
  123. package/src/service/central-database.ts +131 -43
  124. package/src/service/central-health-service.ts +47 -0
  125. package/src/service/central-overview-service.ts +135 -0
  126. package/src/service/central-sync-service.ts +87 -0
  127. package/src/service/control-ui-query-service.ts +46 -36
  128. package/src/service/event-log-auditor.ts +261 -0
  129. package/src/service/evolution-query-service.ts +23 -22
  130. package/src/service/evolution-worker.ts +565 -261
  131. package/src/service/health-query-service.ts +213 -36
  132. package/src/service/nocturnal-runtime.ts +8 -4
  133. package/src/service/nocturnal-service.ts +503 -59
  134. package/src/service/nocturnal-target-selector.ts +5 -7
  135. package/src/service/runtime-summary-service.ts +2 -1
  136. package/src/service/subagent-workflow/deep-reflect-workflow-manager.ts +25 -336
  137. package/src/service/subagent-workflow/dynamic-timeout.ts +30 -0
  138. package/src/service/subagent-workflow/empathy-observer-workflow-manager.ts +48 -386
  139. package/src/service/subagent-workflow/index.ts +2 -0
  140. package/src/service/subagent-workflow/nocturnal-workflow-manager.ts +169 -284
  141. package/src/service/subagent-workflow/runtime-direct-driver.ts +114 -16
  142. package/src/service/subagent-workflow/subagent-error-utils.ts +25 -0
  143. package/src/service/subagent-workflow/types.ts +9 -4
  144. package/src/service/subagent-workflow/workflow-manager-base.ts +573 -0
  145. package/src/service/subagent-workflow/workflow-store.ts +71 -11
  146. package/src/service/trajectory-service.ts +2 -1
  147. package/src/tools/critique-prompt.ts +1 -1
  148. package/src/tools/deep-reflect.ts +175 -209
  149. package/src/tools/model-index.ts +2 -1
  150. package/src/types/event-types.ts +2 -2
  151. package/src/types/principle-tree-schema.ts +29 -23
  152. package/src/utils/file-lock.ts +5 -3
  153. package/src/utils/io.ts +5 -2
  154. package/src/utils/nlp.ts +5 -46
  155. package/src/utils/node-vm-polyfill.ts +11 -0
  156. package/src/utils/plugin-logger.ts +2 -0
  157. package/src/utils/retry.ts +572 -0
  158. package/src/utils/subagent-probe.ts +1 -1
  159. package/templates/langs/en/core/AGENTS.md +0 -13
  160. package/templates/langs/en/core/SOUL.md +1 -31
  161. package/templates/langs/en/core/TOOLS.md +0 -4
  162. package/templates/langs/en/principles/THINKING_OS.md +77 -0
  163. package/templates/langs/en/skills/admin/SKILL.md +0 -1
  164. package/templates/langs/en/skills/evolution-framework-update/SKILL.md +1 -1
  165. package/templates/langs/en/skills/pd-diagnostician/SKILL.md +18 -5
  166. package/templates/langs/zh/core/AGENTS.md +0 -22
  167. package/templates/langs/zh/core/SOUL.md +1 -31
  168. package/templates/langs/zh/core/TOOLS.md +0 -4
  169. package/templates/langs/zh/principles/THINKING_OS.md +77 -0
  170. package/templates/langs/zh/skills/admin/SKILL.md +0 -1
  171. package/templates/langs/zh/skills/evolution-framework-update/SKILL.md +1 -1
  172. package/templates/langs/zh/skills/pd-diagnostician/SKILL.md +25 -4
  173. package/tests/commands/evolution-status.test.ts +119 -0
  174. package/tests/commands/implementation-lifecycle.test.ts +362 -0
  175. package/tests/core/code-implementation-storage.test.ts +398 -0
  176. package/tests/core/evolution-reducer.detector-metadata.test.ts +28 -28
  177. package/tests/core/nocturnal-artifact-lineage.test.ts +53 -0
  178. package/tests/core/nocturnal-artificer.test.ts +241 -0
  179. package/tests/core/nocturnal-compliance-p-principles.test.ts +133 -0
  180. package/tests/core/nocturnal-rule-implementation-validator.test.ts +127 -0
  181. package/tests/core/pd-task-store.test.ts +126 -0
  182. package/tests/core/principle-internalization/deprecated-readiness.test.ts +193 -0
  183. package/tests/core/principle-internalization/internalization-routing-policy.test.ts +212 -0
  184. package/tests/core/principle-internalization/lifecycle-metrics.test.ts +350 -0
  185. package/tests/core/principle-internalization/principle-lifecycle-service.test.ts +211 -0
  186. package/tests/core/principle-training-state.test.ts +228 -1
  187. package/tests/core/principle-tree-ledger.test.ts +423 -0
  188. package/tests/core/regression-v1-9-1.test.ts +265 -0
  189. package/tests/core/replay-engine.test.ts +234 -0
  190. package/tests/core/rule-host-helpers.test.ts +120 -0
  191. package/tests/core/rule-host.test.ts +389 -0
  192. package/tests/core/rule-implementation-runtime.test.ts +64 -0
  193. package/tests/core/workspace-context.test.ts +53 -0
  194. package/tests/core/workspace-dir-validation.test.ts +272 -0
  195. package/tests/hooks/gate-rule-host-pipeline.test.ts +385 -0
  196. package/tests/hooks/pain.test.ts +74 -10
  197. package/tests/hooks/prompt.test.ts +63 -1
  198. package/tests/integration/principle-lifecycle.e2e.test.ts +197 -0
  199. package/tests/integration/tool-hooks-workspace-dir.e2e.test.ts +211 -0
  200. package/tests/service/data-endpoints-regression.test.ts +834 -0
  201. package/tests/service/evolution-worker.test.ts +0 -123
  202. package/tests/service/nocturnal-service-code-candidate.test.ts +330 -0
  203. package/tests/utils/nlp.test.ts +1 -19
  204. package/tests/utils/retry.test.ts +327 -0
  205. package/ui/src/App.tsx +1 -1
  206. package/ui/src/api.ts +4 -0
  207. package/ui/src/charts.tsx +366 -0
  208. package/ui/src/components/WorkspaceConfig.tsx +107 -75
  209. package/ui/src/i18n/ui.ts +89 -31
  210. package/ui/src/pages/EvolutionPage.tsx +1 -1
  211. package/ui/src/pages/OverviewPage.tsx +441 -81
  212. package/ui/src/pages/ThinkingModelsPage.tsx +287 -69
  213. package/ui/src/styles.css +43 -0
  214. package/ui/src/types.ts +17 -1
  215. package/src/agents/nocturnal-dreamer.md +0 -152
  216. package/src/agents/nocturnal-philosopher.md +0 -138
  217. package/src/agents/nocturnal-reflector.md +0 -126
  218. package/src/agents/nocturnal-scribe.md +0 -164
  219. package/templates/workspace/.principles/00-kernel.md +0 -51
  220. package/templates/workspace/.principles/DECISION_POLICY.json +0 -44
  221. package/templates/workspace/.principles/PRINCIPLES.md +0 -20
  222. package/templates/workspace/.principles/PROFILE.json +0 -54
  223. package/templates/workspace/.principles/PROFILE.schema.json +0 -56
  224. package/templates/workspace/.principles/THINKING_OS.md +0 -64
  225. package/templates/workspace/.principles/THINKING_OS_ARCHIVE.md +0 -7
  226. package/templates/workspace/.principles/THINKING_OS_CANDIDATES.md +0 -9
  227. package/templates/workspace/.principles/models/_INDEX.md +0 -27
  228. package/templates/workspace/.principles/models/first_principles.md +0 -62
  229. package/templates/workspace/.principles/models/marketing_4p.md +0 -52
  230. package/templates/workspace/.principles/models/porter_five.md +0 -63
  231. package/templates/workspace/.principles/models/swot.md +0 -60
  232. package/templates/workspace/.principles/models/user_story_map.md +0 -63
  233. package/templates/workspace/.state/WORKBOARD.json +0 -4
package/ui/src/i18n/ui.ts CHANGED
@@ -92,30 +92,55 @@ export const i18n = {
92
92
  syncing: { zh: '同步中...', en: 'Syncing...' },
93
93
  workspacesEnabled: { zh: '个工作区已启用', en: 'workspaces enabled' },
94
94
 
95
- // Health Cards (Phase 5)
95
+ // Health Cards — Plain language (Phase 5 rewritten)
96
96
  health: {
97
- gfi: { zh: 'GFI 疲劳指数', en: 'GFI Fatigue Index' },
98
- threshold: { zh: '阈值', en: 'Threshold' },
99
- peakToday: { zh: '今日峰值', en: 'Peak Today' },
100
- painFlag: { zh: 'PainFlag', en: 'PainFlag' },
101
- active: { zh: '活跃', en: 'Active' },
102
- normal: { zh: '正常', en: 'Normal' },
103
- noActivePain: { zh: '无活跃痛点', en: 'No active pain' },
104
- source: { zh: '来源', en: 'Source' },
105
- trustStage: { zh: 'Trust Stage', en: 'Trust Stage' },
106
- stage: { zh: 'Stage', en: 'Stage' },
107
- score: { zh: '分数', en: 'Score' },
108
- epTier: { zh: 'EP Tier', en: 'EP Tier' },
109
- points: { zh: '积分', en: 'Points' },
97
+ // GFI 今日健康度
98
+ gfi: { zh: '今日健康度', en: 'Health Status' },
99
+ gfiExplain: { zh: 'AI 今天的整体表现状态', en: 'AI performance state today' },
100
+ threshold: { zh: '警戒线', en: 'Warning Line' },
101
+ peakToday: { zh: '今日最高', en: 'Today\'s Peak' },
102
+ // PainFlag 问题检测
103
+ painFlag: { zh: '问题检测', en: 'Issue Detection' },
104
+ active: { zh: '发现问题', en: 'Issues Found' },
105
+ normal: { zh: '一切正常', en: 'All Clear' },
106
+ noActivePain: { zh: '未检测到异常', en: 'No anomalies detected' },
107
+ source: { zh: '问题类型', en: 'Issue Type' },
108
+ // Trust Stage 权限等级
109
+ trustStage: { zh: '权限等级', en: 'Permission Level' },
110
+ stage: { zh: '等级', en: 'Level' },
111
+ score: { zh: '信任分', en: 'Trust Score' },
112
+ trustDesc: {
113
+ observer: { zh: '只能观察,不能修改代码', en: 'Can observe but cannot modify code' },
114
+ editor: { zh: '可以编辑,高风险操作需确认', en: 'Can edit, high-risk ops need approval' },
115
+ developer: { zh: '可以执行大多数操作', en: 'Can perform most operations' },
116
+ architect: { zh: '完全信任,可自主决策', en: 'Full trust, can act autonomously' },
117
+ },
118
+ // EP Tier → 进化等级
119
+ epTier: { zh: '进化等级', en: 'Evolution Level' },
120
+ points: { zh: '进化值', en: 'Evolution XP' },
121
+ tierDesc: {
122
+ seed: { zh: '初始阶段,刚开始学习', en: 'Just starting, still learning' },
123
+ sprout: { zh: '萌芽阶段,有了基础认知', en: 'Sprouting, building basic understanding' },
124
+ sapling: { zh: '成长阶段,能处理常见场景', en: 'Growing, handling common scenarios' },
125
+ tree: { zh: '成熟阶段,经验丰富', en: 'Mature, experienced' },
126
+ forest: { zh: '专家阶段,高度自主', en: 'Expert level, highly autonomous' },
127
+ },
128
+ // Principles → 原则管理
110
129
  principlesTotal: { zh: '原则总数', en: 'Total Principles' },
111
- candidate: { zh: '', en: 'Cand' },
112
- probation: { zh: '', en: 'Prob' },
113
- active2: { zh: '', en: 'Act' },
114
- deprecated: { zh: '', en: 'Dep' },
115
- queueBacklog: { zh: '队列积压', en: 'Queue Backlog' },
116
- pending: { zh: '待处理', en: 'Pending' },
117
- inProgress: { zh: '处理中', en: 'In Progress' },
118
- completed: { zh: '已完成', en: 'Completed' },
130
+ candidate: { zh: '候选', en: 'Candidate' },
131
+ probation: { zh: '试用中', en: 'Probation' },
132
+ active2: { zh: '已激活', en: 'Active' },
133
+ deprecated: { zh: '已废弃', en: 'Deprecated' },
134
+ // Queue 任务队列
135
+ queueBacklog: { zh: '任务队列', en: 'Task Queue' },
136
+ pending: { zh: '等待中', en: 'Waiting' },
137
+ inProgress: { zh: '执行中', en: 'Running' },
138
+ completed: { zh: '已完成', en: 'Done' },
139
+ // Summary card
140
+ todaySummary: { zh: '今日摘要', en: 'Today\'s Summary' },
141
+ totalCalls: { zh: '总调用', en: 'Total Calls' },
142
+ successRate: { zh: '成功率', en: 'Success Rate' },
143
+ blockedOps: { zh: '拦截操作', en: 'Blocked Ops' },
119
144
  },
120
145
 
121
146
  // KPI labels
@@ -131,6 +156,14 @@ export const i18n = {
131
156
  topRegressions: { zh: '高频退化', en: 'Top Regressions' },
132
157
  sampleQueue: { zh: '样本队列', en: 'Sample Queue' },
133
158
  thinkingSummary: { zh: '思维摘要', en: 'Thinking Summary' },
159
+ thinkingDistribution: {
160
+ zh: 'AI 思维使用分布',
161
+ en: 'AI Thinking Model Usage',
162
+ },
163
+ thinkingDistributionDesc: {
164
+ zh: 'AI 使用了哪些思维模型来思考问题?柱状越高表示用得越多。',
165
+ en: 'Which thinking models does the AI use? Higher bars mean more usage.',
166
+ },
134
167
 
135
168
  // Thinking summary fields
136
169
  activeModels: { zh: '活跃模型', en: 'Active Models' },
@@ -192,21 +225,46 @@ export const i18n = {
192
225
  dormant: { zh: '休眠', en: 'Dormant' },
193
226
  effective: { zh: '有效', en: 'Effective' },
194
227
 
195
- // Empty state
196
- emptyTitle: { zh: '选择一个思维模型', en: 'Select a thinking model' },
197
- emptyDesc: { zh: '点击左侧列表中的模型,查看场景分布和最近事件', en: 'Click a model from the list to inspect scenario coverage and recent events' },
228
+ // Charts and sections
229
+ coverageTrend: { zh: '覆盖率趋势', en: 'Coverage Trend' },
230
+ emptyCoverageTrend: { zh: '今日暂无覆盖率记录', en: 'No coverage data yet' },
231
+ emptyCoverageTrendDesc: { zh: '当 AI 开始执行任务后,覆盖率会自动记录。', en: 'Coverage is tracked automatically once AI starts working.' },
232
+ scenarioHeatmap: { zh: '场景热力图', en: 'Scenario Heatmap' },
233
+ emptyScenarioMatrix: { zh: '暂无场景数据', en: 'No scenario data yet' },
234
+ emptyScenarioMatrixDesc: { zh: '模型触发场景后会在此显示。', en: 'Scenarios will appear here when models are triggered.' },
235
+ emptyAllActive: { zh: '所有模型都在使用中', en: 'All models are active' },
236
+ emptyAllActiveDesc: { zh: '没有休眠模型。', en: 'No dormant models.' },
237
+ noModelsYet: { zh: '暂无思维模型数据', en: 'No thinking model data yet' },
238
+ noModelsYetDesc: { zh: 'AI 开始使用后,这里会显示思维模型的使用情况。', en: 'Thinking model usage will appear here once AI starts working.' },
239
+
240
+ // Recommendations
241
+ dormantModels: { zh: '休眠模型', en: 'Dormant Models' },
242
+ reinforce: { zh: '保持', en: 'Reinforce' },
243
+ rework: { zh: '重构', en: 'Rework' },
244
+ archive: { zh: '归档', en: 'Archive' },
245
+ filterByRec: { zh: '按推荐过滤', en: 'Filter by Rec' },
198
246
 
199
247
  // Detail sections
200
- outcomeStats: { zh: '结果统计', en: 'Outcome Stats' },
201
- scenarioDistribution: { zh: '场景分布', en: 'Scenario Distribution' },
202
- recentEvents: { zh: '最近事件', en: 'Recent Events' },
203
- noScenariosYet: { zh: '暂无场景', en: 'No scenarios yet' },
204
-
205
- // Outcome stats
248
+ outcomeStats: { zh: '效果统计', en: 'Outcome Stats' },
249
+ usageTrend: { zh: '使用趋势', en: 'Usage Trend' },
206
250
  success: { zh: '成功', en: 'Success' },
207
251
  failure: { zh: '失败', en: 'Failure' },
208
252
  pain: { zh: '痛点', en: 'Pain' },
209
253
  correction: { zh: '纠正', en: 'Correction' },
254
+ scenarioDistribution: { zh: '场景分布', en: 'Scenario Distribution' },
255
+ recentEvents: { zh: '最近事件', en: 'Recent Events' },
256
+ toolContext: { zh: '工具上下文', en: 'Tool Context' },
257
+ painContext: { zh: '痛点上下文', en: 'Pain Context' },
258
+ principleContext: { zh: '原则上下文', en: 'Principle Context' },
259
+ trigger: { zh: '触发条件', en: 'Trigger' },
260
+ antiPattern: { zh: '禁止行为', en: 'Anti-Pattern' },
261
+ thinkingOsSource: { zh: '思维模型定义来源', en: 'Thinking Model Source' },
262
+
263
+ // Empty state
264
+ emptyTitle: { zh: '选择一个思维模型', en: 'Select a thinking model' },
265
+ emptyDesc: { zh: '点击左侧列表中的模型,查看场景分布和最近事件', en: 'Click a model from the list to inspect scenario coverage and recent events' },
266
+ noDataTitle: { zh: '思维模型定义', en: 'Thinking Model Definitions' },
267
+ noDataDesc: { zh: '以下是 10 个思维模型的定义。当 AI 开始使用后,这里会显示每个模型的使用统计。', en: 'Below are 10 thinking model definitions. Usage statistics will appear once the AI starts working.' },
210
268
 
211
269
  // Table
212
270
  hits: { zh: '命中', en: 'Hits' },
@@ -1,5 +1,5 @@
1
1
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
2
- import { ChevronLeft } from 'lucide-react';
2
+ import { ChevronLeft, Clock, Activity, Shield, Zap, BookOpen } from 'lucide-react';
3
3
  import { api } from '../api';
4
4
  import type {
5
5
  OverviewResponse,