principles-disciple 1.5.4 → 1.7.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 (88) hide show
  1. package/dist/commands/context.d.ts +5 -0
  2. package/dist/commands/context.js +312 -0
  3. package/dist/commands/evolution-status.d.ts +4 -0
  4. package/dist/commands/evolution-status.js +138 -0
  5. package/dist/commands/export.d.ts +2 -0
  6. package/dist/commands/export.js +45 -0
  7. package/dist/commands/focus.d.ts +14 -0
  8. package/dist/commands/focus.js +582 -0
  9. package/dist/commands/pain.js +143 -6
  10. package/dist/commands/principle-rollback.d.ts +4 -0
  11. package/dist/commands/principle-rollback.js +22 -0
  12. package/dist/commands/rollback.d.ts +19 -0
  13. package/dist/commands/rollback.js +119 -0
  14. package/dist/commands/samples.d.ts +2 -0
  15. package/dist/commands/samples.js +55 -0
  16. package/dist/core/config.d.ts +37 -0
  17. package/dist/core/config.js +47 -0
  18. package/dist/core/control-ui-db.d.ts +68 -0
  19. package/dist/core/control-ui-db.js +274 -0
  20. package/dist/core/detection-funnel.d.ts +1 -1
  21. package/dist/core/detection-funnel.js +4 -0
  22. package/dist/core/dictionary.d.ts +2 -0
  23. package/dist/core/dictionary.js +13 -0
  24. package/dist/core/event-log.d.ts +22 -1
  25. package/dist/core/event-log.js +319 -0
  26. package/dist/core/evolution-engine.d.ts +5 -5
  27. package/dist/core/evolution-engine.js +18 -18
  28. package/dist/core/evolution-migration.d.ts +5 -0
  29. package/dist/core/evolution-migration.js +65 -0
  30. package/dist/core/evolution-reducer.d.ts +69 -0
  31. package/dist/core/evolution-reducer.js +369 -0
  32. package/dist/core/evolution-types.d.ts +103 -0
  33. package/dist/core/focus-history.d.ts +65 -0
  34. package/dist/core/focus-history.js +266 -0
  35. package/dist/core/init.js +30 -7
  36. package/dist/core/migration.js +0 -2
  37. package/dist/core/path-resolver.d.ts +3 -0
  38. package/dist/core/path-resolver.js +90 -31
  39. package/dist/core/paths.d.ts +7 -8
  40. package/dist/core/paths.js +48 -40
  41. package/dist/core/profile.js +1 -1
  42. package/dist/core/session-tracker.d.ts +4 -0
  43. package/dist/core/session-tracker.js +15 -0
  44. package/dist/core/thinking-models.d.ts +38 -0
  45. package/dist/core/thinking-models.js +170 -0
  46. package/dist/core/trajectory.d.ts +184 -0
  47. package/dist/core/trajectory.js +817 -0
  48. package/dist/core/trust-engine.d.ts +2 -0
  49. package/dist/core/trust-engine.js +30 -4
  50. package/dist/core/workspace-context.d.ts +13 -0
  51. package/dist/core/workspace-context.js +50 -7
  52. package/dist/hooks/gate.js +301 -30
  53. package/dist/hooks/llm.d.ts +8 -0
  54. package/dist/hooks/llm.js +347 -69
  55. package/dist/hooks/message-sanitize.d.ts +3 -0
  56. package/dist/hooks/message-sanitize.js +37 -0
  57. package/dist/hooks/pain.js +105 -5
  58. package/dist/hooks/prompt.d.ts +20 -11
  59. package/dist/hooks/prompt.js +558 -158
  60. package/dist/hooks/subagent.d.ts +9 -2
  61. package/dist/hooks/subagent.js +40 -3
  62. package/dist/http/principles-console-route.d.ts +2 -0
  63. package/dist/http/principles-console-route.js +257 -0
  64. package/dist/i18n/commands.js +48 -20
  65. package/dist/index.js +264 -8
  66. package/dist/service/control-ui-query-service.d.ts +217 -0
  67. package/dist/service/control-ui-query-service.js +537 -0
  68. package/dist/service/empathy-observer-manager.d.ts +42 -0
  69. package/dist/service/empathy-observer-manager.js +147 -0
  70. package/dist/service/evolution-worker.d.ts +10 -0
  71. package/dist/service/evolution-worker.js +156 -24
  72. package/dist/service/trajectory-service.d.ts +2 -0
  73. package/dist/service/trajectory-service.js +15 -0
  74. package/dist/tools/agent-spawn.d.ts +27 -6
  75. package/dist/tools/agent-spawn.js +339 -87
  76. package/dist/tools/deep-reflect.d.ts +27 -7
  77. package/dist/tools/deep-reflect.js +282 -113
  78. package/dist/types/event-types.d.ts +84 -2
  79. package/dist/types/event-types.js +33 -0
  80. package/dist/types.d.ts +52 -0
  81. package/dist/types.js +24 -1
  82. package/openclaw.plugin.json +43 -11
  83. package/package.json +16 -6
  84. package/templates/langs/zh/core/HEARTBEAT.md +28 -4
  85. package/templates/langs/zh/skills/pd-daily/SKILL.md +97 -13
  86. package/templates/pain_settings.json +54 -2
  87. package/templates/workspace/.principles/PROFILE.json +2 -0
  88. package/templates/workspace/okr/CURRENT_FOCUS.md +57 -0
package/dist/types.js CHANGED
@@ -1 +1,24 @@
1
- export {};
1
+ /**
2
+ * Default context injection configuration
3
+ * Based on user requirements:
4
+ * - principles: always on (not configurable)
5
+ * - thinkingOs: true (can be turned off)
6
+ * - projectFocus: 'off' (default closed, user can enable)
7
+ * - reflectionLog: true (default on)
8
+ * - trustScore: true (can be turned off)
9
+ */
10
+ export const defaultContextConfig = {
11
+ thinkingOs: true,
12
+ projectFocus: 'off',
13
+ reflectionLog: true,
14
+ trustScore: true,
15
+ evolutionContext: {
16
+ enabled: true,
17
+ maxMessages: 4,
18
+ maxCharsPerMessage: 200,
19
+ },
20
+ };
21
+ /**
22
+ * Reflection log retention configuration
23
+ */
24
+ export const reflectionLogRetentionDays = 7;
@@ -2,27 +2,38 @@
2
2
  "id": "principles-disciple",
3
3
  "name": "Principles Disciple",
4
4
  "description": "Evolutionary programming agent framework with strategic guardrails and reflection loops.",
5
- "version": "1.5.0",
6
- "skills": ["./skills"],
5
+ "version": "1.7.0",
6
+ "skills": [
7
+ "./skills"
8
+ ],
7
9
  "configSchema": {
8
10
  "type": "object",
9
11
  "additionalProperties": false,
10
12
  "properties": {
11
13
  "language": {
12
14
  "type": "string",
13
- "enum": ["en", "zh"],
15
+ "enum": [
16
+ "en",
17
+ "zh"
18
+ ],
14
19
  "default": "zh",
15
20
  "description": "系统提示词和交互语言 (默认推荐: zh)"
16
21
  },
17
22
  "auditLevel": {
18
23
  "type": "string",
19
- "enum": ["low", "medium", "high"],
24
+ "enum": [
25
+ "low",
26
+ "medium",
27
+ "high"
28
+ ],
20
29
  "default": "medium",
21
30
  "description": "安全防爆级别:\n- low: 极客模式,几乎不拦截,AI 可以自由飞翔。\n- medium (推荐): 平衡模式,允许 AI 大胆尝试,但拦截毁灭性操作。\n- high: 严格模式,所有大范围修改都需要你明确授权。"
22
31
  },
23
32
  "riskPaths": {
24
33
  "type": "array",
25
- "items": { "type": "string" },
34
+ "items": {
35
+ "type": "string"
36
+ },
26
37
  "default": [],
27
38
  "description": "自定义高危目录(例如 .git/, prod_db/)。AI 试图修改这些目录前,将被强制拦截并要求出具安全计划。"
28
39
  },
@@ -31,16 +42,37 @@
31
42
  "additionalProperties": false,
32
43
  "description": "当 AI 遇到复杂问题或连续报错时,是否允许它停下来进行深度自我反思?",
33
44
  "properties": {
34
- "enabled": { "type": "boolean", "default": true, "description": "开启 AI 深度反思功能" },
35
- "mode": { "type": "string", "enum": ["auto", "forced"], "default": "auto", "description": "auto: 遇到困难自动触发; forced: 每次回答前都强制反思(极耗时间,不推荐)" }
45
+ "enabled": {
46
+ "type": "boolean",
47
+ "default": true,
48
+ "description": "开启 AI 深度反思功能"
49
+ },
50
+ "mode": {
51
+ "type": "string",
52
+ "enum": [
53
+ "auto",
54
+ "forced"
55
+ ],
56
+ "default": "auto",
57
+ "description": "auto: 遇到困难自动触发; forced: 每次回答前都强制反思(极耗时间,不推荐)"
58
+ }
36
59
  }
37
60
  }
38
61
  }
39
62
  },
40
63
  "uiHints": {
41
- "language": { "label": "交互语言" },
42
- "auditLevel": { "label": "防爆拦截级别", "placeholder": "medium" },
43
- "riskPaths": { "label": "☠️ 绝对高危目录 (空表示不设限)" },
44
- "deep_reflection": { "label": "💡 AI 深度反思功能" }
64
+ "language": {
65
+ "label": "交互语言"
66
+ },
67
+ "auditLevel": {
68
+ "label": "防爆拦截级别",
69
+ "placeholder": "medium"
70
+ },
71
+ "riskPaths": {
72
+ "label": "☠️ 绝对高危目录 (空表示不设限)"
73
+ },
74
+ "deep_reflection": {
75
+ "label": "💡 AI 深度反思功能"
76
+ }
45
77
  }
46
78
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "principles-disciple",
3
- "version": "1.5.4",
3
+ "version": "1.7.0",
4
4
  "description": "Native OpenClaw plugin for Principles Disciple",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,17 +33,23 @@
33
33
  },
34
34
  "scripts": {
35
35
  "build": "tsc",
36
- "build:bundle": "node esbuild.config.js",
37
- "build:production": "tsc && node esbuild.config.js --production",
36
+ "build:web": "node scripts/build-web.mjs",
37
+ "build:bundle": "node esbuild.config.js && node scripts/build-web.mjs",
38
+ "build:production": "tsc && node esbuild.config.js --production && node scripts/build-web.mjs --production",
38
39
  "test": "vitest run",
39
40
  "postinstall": "node scripts/install-dependencies.cjs"
40
41
  },
41
42
  "devDependencies": {
43
+ "@testing-library/react": "^16.3.0",
44
+ "@types/better-sqlite3": "^7.6.13",
42
45
  "@types/micromatch": "^4.0.10",
43
- "@types/node": "^20.0.0",
46
+ "@types/node": "^25.5.0",
47
+ "@types/react": "^19.2.2",
48
+ "@types/react-dom": "^19.2.2",
44
49
  "@types/ws": "^8.5.13",
45
50
  "@vitest/coverage-v8": "^4.1.0",
46
51
  "esbuild": "^0.27.4",
52
+ "jsdom": "^26.1.0",
47
53
  "typescript": "^5.0.0",
48
54
  "vitest": "^4.1.0",
49
55
  "ws": "^8.18.0"
@@ -58,6 +64,10 @@
58
64
  },
59
65
  "dependencies": {
60
66
  "@sinclair/typebox": "^0.34.48",
61
- "micromatch": "^4.0.8"
67
+ "better-sqlite3": "^11.10.0",
68
+ "micromatch": "^4.0.8",
69
+ "react": "^19.2.0",
70
+ "react-dom": "^19.2.0",
71
+ "react-router-dom": "^7.9.4"
62
72
  }
63
- }
73
+ }
@@ -18,10 +18,34 @@
18
18
 
19
19
  ## 📋 CURRENT_FOCUS.md 维护(每3次心跳)
20
20
 
21
- - [ ] **检查文件大小**:目标 < 50 行
22
- - [ ] **如 > 50 行**:压缩已完成里程碑到 `MEMORY.md`
23
- - [ ] **验证内容**:无过期日期或已完成任务
24
- - [ ] **只保留**:当前阶段、进行中任务、下一步
21
+ ### 检查与压缩
22
+
23
+ - [ ] **检查文件大小**:目标 < 40 行
24
+ - [ ] **如 > 40 行**:执行压缩流程(见下方)
25
+
26
+ ### 压缩流程
27
+
28
+ 1. **备份当前版本**:复制到 `memory/okr/.history/CURRENT_FOCUS.v{N}.{date}.md`
29
+ 2. **递增版本号**:修改 `**版本**: v{N+1}`
30
+ 3. **更新日期**:修改 `**更新**: {today}`
31
+ 4. **压缩内容**:
32
+ - 移除已完成的 P0/P1 任务(保留 P2)
33
+ - 将重要里程碑移到 `MEMORY.md`
34
+ - 保留:状态快照、当前任务、下一步
35
+ 5. **清理历史**:保留最近 10 个历史版本
36
+
37
+ ### 模板结构(编辑时遵循)
38
+
39
+ ```markdown
40
+ # 🎯 CURRENT_FOCUS
41
+
42
+ > **版本**: v{N} | **状态**: {状态} | **更新**: {日期}
43
+
44
+ ## 📍 状态快照 ← 必须保留
45
+ ## 🔄 当前任务 ← 必须保留
46
+ ## ➡️ 下一步 ← 必须保留(summary 模式优先提取)
47
+ ## 📎 参考 ← 可选
48
+ ```
25
49
 
26
50
  ---
27
51
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pd-daily
3
- description: 配置并发送每日进化日报(支持邮件/即时通讯/语音通知)
3
+ description: 配置并发送每日进化日报(支持邮件/即时通讯/飞书/语音通知)
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
@@ -30,9 +30,10 @@ disable-model-invocation: true
30
30
  通过会话对话依次询问:
31
31
 
32
32
  1. **是否启用进化日报?**
33
- 2. **发送时间?**(默认每天 9:00)
34
- 3. **时区?**(默认 Asia/Shanghai
33
+ 2. **发送时间?**(默认每天 23:00 UTC
34
+ 3. **时区?**(默认 UTC
35
35
  4. **发送渠道?**
36
+ - 📱 **飞书** → 需用户 open_id(推荐,格式:ou_xxx)
36
37
  - 邮件 → 需邮箱地址
37
38
  - WhatsApp/Telegram → 需手机号/用户ID
38
39
  - Discord/Slack → 需频道ID
@@ -52,13 +53,13 @@ disable-model-invocation: true
52
53
  - 创建时间: {date}
53
54
 
54
55
  ## 发送设置
55
- - 发送时间: 09:00
56
- - 时区: Asia/Shanghai
57
- - Cron 表达式: 0 9 * * *
56
+ - 发送时间: 23:00
57
+ - 时区: UTC
58
+ - Cron 表达式: 0 23 * * *
58
59
 
59
60
  ## 发送渠道
60
- - 渠道: whatsapp
61
- - 目标: +8613800138000
61
+ - 渠道: feishu
62
+ - 目标: ou_cf5c98aada743ab12c65c7c6764b5a49
62
63
 
63
64
  ## 报告风格
64
65
  - 风格: standard
@@ -83,13 +84,13 @@ disable-model-invocation: true
83
84
  "action": "add",
84
85
  "job": {
85
86
  "name": "evolution-daily-report",
86
- "schedule": { "kind": "cron", "expr": "0 9 * * *", "tz": "Asia/Shanghai" },
87
+ "schedule": { "kind": "cron", "expr": "0 23 * * *", "tz": "UTC" },
87
88
  "sessionTarget": "isolated",
88
89
  "payload": {
89
90
  "kind": "agentTurn",
90
91
  "message": "执行进化日报技能:读取日志数据,生成日报并发送"
91
92
  },
92
- "delivery": { "mode": "announce", "channel": "whatsapp", "to": "+8613800138000" }
93
+ "delivery": { "mode": "announce", "channel": "feishu", "to": "ou_cf5c98aada743ab12c65c7c6764b5a49" }
93
94
  }
94
95
  }
95
96
  ```
@@ -97,12 +98,73 @@ disable-model-invocation: true
97
98
  ### Step 5: 日报生成(定时触发或手动触发)
98
99
 
99
100
  1. **读取定量数据**:获取 `daily-stats.json` 和 `pain_dictionary.json` 中的指标。
100
- 2. **提取定性记忆(关键防遗忘步骤)**:因为你可能经历了漫长的上下文,**必须使用文件读取工具**去扫描以下核心进化文件,提取“今天”新增的内容:
101
+ 2. **提取定性记忆(关键防遗忘步骤)**:因为你可能经历了漫长的上下文,**必须使用文件读取工具**去扫描以下核心进化文件,提取"今天"新增的内容:
101
102
  - `memory/ISSUE_LOG.md`:寻找今天发生的具体错误与复盘。
102
103
  - `memory/DECISIONS.md`:寻找今天定下的新架构规则。
103
104
  - `memory/logs/SYSTEM.log`:寻找今天触发的门禁拦截或子代理孵化事件。
104
105
  3. **合成与生成**:结合定量指标和定性记忆,生成深度洞察,按用户风格生成 Markdown。绝不要凭空捏造洞察。
105
- 4. **发送日报**:通过 OpenClaw 渠道或打印到屏幕。
106
+ 4. **发送飞书推送**:调用飞书 API 发送(见下方"飞书推送实施规范")。
107
+
108
+ ---
109
+
110
+ ## 飞书消息格式
111
+
112
+ 当发送渠道为飞书时,使用以下格式发送消息:
113
+
114
+ ```json
115
+ {
116
+ "action": "send",
117
+ "channel": "feishu",
118
+ "target": "user:ou_cf5c98aada743ab12c65c7c6764b5a49",
119
+ "message": "📊 Principles 进化日报 - {date}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n🛡️ Trust Score: {trust_score}/100 (Stage {trust_stage})\n😴 GFI: {gfi_peak}\n⚡ Pain: {pain_count} pts\n\n📈 7 日趋势:\n{7day_trend}\n\n📋 进化队列:待处理 {pending} 项\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n详情: 输入 /pd-evolution-status"
120
+ }
121
+ ```
122
+
123
+ ## 飞书推送实施规范
124
+
125
+ ### 推送流程
126
+
127
+ 1. **组装消息**:根据上方"飞书消息格式"生成完整消息内容
128
+ 2. **执行推送**:使用 `message` 工具发送到飞书
129
+ 3. **记录状态**:将推送结果写入 `memory/logs/daily-push-log.md`
130
+
131
+ ### 重试机制
132
+
133
+ 推送失败时自动重试,最多 3 次:
134
+
135
+ ```
136
+ 尝试 1 → 失败 → 等待 30 秒 → 尝试 2 → 失败 → 等待 60 秒 → 尝试 3
137
+ ```
138
+
139
+ - 每次尝试都要记录到日志
140
+ - 3 次全失败后,降级为控制台输出(print 到会话)
141
+
142
+ ### 状态日志格式
143
+
144
+ 每次推送(成功或失败)都追加到 `memory/logs/daily-push-log.md`:
145
+
146
+ ```markdown
147
+ ## {date} 推送记录
148
+
149
+ - **时间**: {timestamp} UTC
150
+ - **接收人**: ou_cf5c98aada743ab12c65c7c6764b5a49
151
+ - **尝试次数**: {attempts}
152
+ - **状态**: success / failed
153
+ - **失败原因**(如有): {error_message}
154
+ ```
155
+
156
+ ### 幂等检查
157
+
158
+ 推送前先检查当日是否已推送成功(读取日志文件):
159
+ - **已推送成功** → 跳过本次推送,记录"已存在,跳过"
160
+ - **未推送或失败** → 执行推送
161
+
162
+ ### 错误处理
163
+
164
+ - **API 错误**:记录错误信息到日志,继续重试
165
+ - **token 过期**:返回明确错误提示,停止重试
166
+ - **数据读取失败**:使用默认值,继续生成日报
167
+ ```
106
168
 
107
169
  ---
108
170
 
@@ -116,6 +178,8 @@ disable-model-invocation: true
116
178
  | 架构决策 | `memory/DECISIONS.md` | **(重要)** 记录了今天固化的系统级原则 |
117
179
  | Pain 规则 | `{stateDir}/pain_dictionary.json` | 规则数量 |
118
180
  | 用户配置 | `{stateDir}/daily-report.md` | 偏好设置 |
181
+ | Trust Score | `{stateDir}/AGENT_SCORECARD` | Trust Engine 数据 |
182
+ | Evolution Queue | `{stateDir}/evolution_queue.json` | 进化队列状态 |
119
183
 
120
184
  ---
121
185
 
@@ -196,4 +260,24 @@ disable-model-invocation: true
196
260
 
197
261
  ## 手动触发
198
262
 
199
- 用户可随时运行 `/evolution-daily` 手动生成并发送当日日报。
263
+ 用户可随时运行 `/pd-evolution-status` 查看当前进化状态。
264
+
265
+ ---
266
+
267
+ ## 故障处理
268
+
269
+ ### 飞书推送失败
270
+ 1. 记录错误到 `memory/logs/daily-push-log.md`
271
+ 2. 执行重试(最多 3 次,间隔 30s/60s)
272
+ 3. 3 次全失败后降级为控制台输出
273
+ 4. 下次执行时自动检查幂等(不重复推送)
274
+
275
+ ### 数据读取失败
276
+ 1. 使用默认值(0 或 "无")
277
+ 2. 继续生成日报,不阻塞
278
+ 3. 在日报中标注"部分数据不可用"
279
+
280
+ ### 数据读取失败
281
+ 1. 使用默认值(0 或 "无")
282
+ 2. 继续生成日报,不阻塞
283
+ 3. 在日报中标注"部分数据不可用"
@@ -68,10 +68,62 @@
68
68
  "auto_trigger_conditions": {
69
69
  "min_tool_calls": 5,
70
70
  "error_rate_threshold": 0.3,
71
- "complexity_keywords": ["refactor", "architecture", "design", "optimize", "security", "critical"]
71
+ "complexity_keywords": [
72
+ "refactor",
73
+ "architecture",
74
+ "design",
75
+ "optimize",
76
+ "security",
77
+ "critical"
78
+ ]
72
79
  },
73
80
  "default_model": "T-01",
74
81
  "default_depth": 2,
75
82
  "timeout_ms": 60000
83
+ },
84
+ "empathy_engine": {
85
+ "enabled": true,
86
+ "dedupe_window_ms": 60000,
87
+ "penalties": {
88
+ "mild": 10,
89
+ "moderate": 25,
90
+ "severe": 40
91
+ },
92
+ "rate_limit": {
93
+ "max_per_turn": 40,
94
+ "max_per_hour": 120
95
+ },
96
+ "model_calibration": {}
97
+ },
98
+ "gfi_gate": {
99
+ "enabled": true,
100
+ "thresholds": {
101
+ "low_risk_block": 70,
102
+ "high_risk_block": 40,
103
+ "large_change_block": 50
104
+ },
105
+ "large_change_lines": 50,
106
+ "trust_stage_multipliers": {
107
+ "1": 0.5,
108
+ "2": 0.75,
109
+ "3": 1.0,
110
+ "4": 1.5
111
+ },
112
+ "bash_safe_patterns": [
113
+ "^(ls|dir|pwd|which|where|echo|env|cat|type|head|tail|less|more)\\b",
114
+ "^git\\s+(status|log|diff|branch|show|remote)\\b",
115
+ "^npm\\s+(run|test|build|start)\\b",
116
+ "^(make|gradle|mvn)\\b"
117
+ ],
118
+ "bash_dangerous_patterns": [
119
+ "rm\\s+(-[a-z]*r[a-z]*f|-rf)",
120
+ "del\\s+/s",
121
+ "rmdir\\s+/s",
122
+ "git\\s+(push\\s+.*--force|reset\\s+--hard|clean\\s+-fd)",
123
+ "npm\\s+publish",
124
+ "pip\\s+upload",
125
+ "docker\\s+push",
126
+ "(curl|wget).*\\|\\s*(ba)?sh"
127
+ ]
76
128
  }
77
- }
129
+ }
@@ -6,6 +6,7 @@
6
6
  "IDENTITY.md",
7
7
  "USER.md",
8
8
  "docs/PRINCIPLES.md",
9
+ ".principles/PROFILE.json",
9
10
  "docs/PROFILE.json"
10
11
  ],
11
12
  "gate": {
@@ -22,6 +23,7 @@
22
23
  "IDENTITY.md",
23
24
  "USER.md",
24
25
  "docs/PRINCIPLES.md",
26
+ ".principles/PROFILE.json",
25
27
  "docs/PROFILE.json",
26
28
  "docs/okr/**"
27
29
  ],
@@ -0,0 +1,57 @@
1
+ # 🎯 CURRENT_FOCUS
2
+
3
+ > **版本**: v1 | **状态**: INIT | **更新**: {YYYY-MM-DD}
4
+
5
+ ---
6
+
7
+ ## 📍 状态快照
8
+
9
+ | 维度 | 值 |
10
+ |------|-----|
11
+ | 当前阶段 | 初始化 |
12
+ | 信任分数 | 85/100 |
13
+ | 认知卫生 | ✅ 清爽 |
14
+
15
+ ---
16
+
17
+ ## 🔄 当前任务
18
+
19
+ ### P0(阻塞/紧急)
20
+ <!-- 阻塞项,需要立即处理 -->
21
+ - [ ] 无
22
+
23
+ ### P1(进行中)
24
+ <!-- 当前正在进行的核心任务,最多 3 项 -->
25
+ - [ ] {任务描述} ← 当前
26
+
27
+ ### P2(待办)
28
+ <!-- 优先级较低的待办事项 -->
29
+ - [ ] {任务描述}
30
+
31
+ ---
32
+
33
+ ## ➡️ 下一步
34
+
35
+ <!-- 下一步行动,按优先级排序 -->
36
+ 1. {下一步行动1}
37
+ 2. {下一步行动2}
38
+
39
+ ---
40
+
41
+ ## 📎 参考
42
+
43
+ | 资源 | 路径 |
44
+ |------|------|
45
+ | 详细计划 | `memory/tasks/{任务目录}/PLAN.md` |
46
+ | 历史版本 | `memory/okr/.history/` |
47
+ | 任务列表 | `memory/okr/WEEK_TASKS.json` |
48
+
49
+ ---
50
+
51
+ <!--
52
+ 编辑指南:
53
+ 1. 版本号每次压缩时 +1
54
+ 2. 状态可选:INIT | PLANNING | EXECUTING | BLOCKED | DONE
55
+ 3. 压缩时备份到 .history/CURRENT_FOCUS.v{N}.{date}.md
56
+ 4. 目标:< 40 行,超过时压缩已完成任务到 MEMORY.md
57
+ -->