metame-cli 1.5.9 → 1.5.11
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/README.md +49 -6
- package/index.js +218 -64
- package/package.json +6 -3
- package/scripts/daemon-admin-commands.js +34 -0
- package/scripts/daemon-bridges.js +18 -1
- package/scripts/daemon-claude-engine.js +41 -1
- package/scripts/daemon-default.yaml +3 -1
- package/scripts/daemon-ops-commands.js +25 -11
- package/scripts/daemon-reactive-lifecycle.js +355 -70
- package/scripts/daemon-utils.js +55 -0
- package/scripts/daemon.js +79 -2
- package/scripts/distill.js +1 -1
- package/scripts/docs/maintenance-manual.md +55 -2
- package/scripts/docs/orphan-files-review.md +72 -0
- package/scripts/docs/pointer-map.md +34 -0
- package/scripts/feishu-adapter.js +25 -0
- package/scripts/hooks/intent-auto-rules.js +50 -0
- package/scripts/memory-extract.js +29 -1
- package/scripts/memory-nightly-reflect.js +104 -0
- package/scripts/signal-capture.js +3 -3
- package/scripts/skill-evolution.js +11 -2
- package/scripts/daemon.yaml +0 -444
|
@@ -97,7 +97,7 @@ function withBufferLock(fn) {
|
|
|
97
97
|
acquired = true;
|
|
98
98
|
break;
|
|
99
99
|
} catch (e) {
|
|
100
|
-
if (e.code !== 'EEXIST')
|
|
100
|
+
if (e.code !== 'EEXIST') return false; // non-EEXIST errors (EMFILE, EACCES) → skip lock gracefully
|
|
101
101
|
try {
|
|
102
102
|
const age = Date.now() - fs.statSync(LOCK_FILE).mtimeMs;
|
|
103
103
|
if (age > LOCK_STALE_MS) {
|
|
@@ -159,12 +159,12 @@ process.stdin.on('end', () => {
|
|
|
159
159
|
// Skip empty or very short messages
|
|
160
160
|
// Chinese chars carry more info per char, so use weighted length
|
|
161
161
|
const weightedLen = [...prompt].reduce((sum, ch) => sum + (ch.charCodeAt(0) > 0x2e80 ? 3 : 1), 0);
|
|
162
|
-
if (weightedLen < 15) {
|
|
162
|
+
if (!isMeta && weightedLen < 15) {
|
|
163
163
|
process.exit(0);
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
// Hard cap to prevent giant prompt pastes from poisoning distill budget.
|
|
167
|
-
if (prompt.length > ABSOLUTE_MAX_CAPTURE_CHARS) {
|
|
167
|
+
if (!isMeta && prompt.length > ABSOLUTE_MAX_CAPTURE_CHARS) {
|
|
168
168
|
process.exit(0);
|
|
169
169
|
}
|
|
170
170
|
if (prompt.length > MAX_CAPTURE_CHARS) {
|
|
@@ -75,6 +75,7 @@ const DEFAULT_POLICY = {
|
|
|
75
75
|
min_evidence_for_gap: 3,
|
|
76
76
|
max_updates_per_analysis: 3,
|
|
77
77
|
max_gaps_per_analysis: 2,
|
|
78
|
+
max_signals_per_analysis: 30, // cap signals sent to Haiku per run
|
|
78
79
|
|
|
79
80
|
// Workflow discovery
|
|
80
81
|
workflow_discovery_interval: 2, // every N cold-path cycles
|
|
@@ -200,6 +201,7 @@ function sanitizePolicy(input) {
|
|
|
200
201
|
min_evidence_for_gap: clampInt(merged.min_evidence_for_gap, DEFAULT_POLICY.min_evidence_for_gap, 1, 20),
|
|
201
202
|
max_updates_per_analysis: clampInt(merged.max_updates_per_analysis, DEFAULT_POLICY.max_updates_per_analysis, 1, 20),
|
|
202
203
|
max_gaps_per_analysis: clampInt(merged.max_gaps_per_analysis, DEFAULT_POLICY.max_gaps_per_analysis, 1, 20),
|
|
204
|
+
max_signals_per_analysis: clampInt(merged.max_signals_per_analysis, DEFAULT_POLICY.max_signals_per_analysis, 5, 100),
|
|
203
205
|
workflow_discovery_interval: clampInt(merged.workflow_discovery_interval, DEFAULT_POLICY.workflow_discovery_interval, 1, 100),
|
|
204
206
|
min_signals_for_workflow: clampInt(merged.min_signals_for_workflow, DEFAULT_POLICY.min_signals_for_workflow, 1, 100),
|
|
205
207
|
workflow_proposal_threshold: clampInt(merged.workflow_proposal_threshold, DEFAULT_POLICY.workflow_proposal_threshold, 2, 50),
|
|
@@ -610,8 +612,15 @@ async function distillSkills() {
|
|
|
610
612
|
if (!content) return null;
|
|
611
613
|
|
|
612
614
|
const lines = content.split('\n');
|
|
613
|
-
const
|
|
614
|
-
if (
|
|
615
|
+
const allSignals = lines.map(l => { try { return JSON.parse(l); } catch { return null; } }).filter(Boolean);
|
|
616
|
+
if (allSignals.length < policy.min_signals_for_distill) return null;
|
|
617
|
+
|
|
618
|
+
// Cap signals sent to Haiku to avoid prompt bloat / timeout.
|
|
619
|
+
// Keep most recent signals (higher relevance); overflow is still cleared.
|
|
620
|
+
const maxSignals = policy.max_signals_per_analysis || 30;
|
|
621
|
+
const signals = allSignals.length > maxSignals
|
|
622
|
+
? allSignals.slice(-maxSignals)
|
|
623
|
+
: allSignals;
|
|
615
624
|
|
|
616
625
|
// Get installed skills list
|
|
617
626
|
const installedSkills = listInstalledSkills();
|
package/scripts/daemon.yaml
DELETED
|
@@ -1,444 +0,0 @@
|
|
|
1
|
-
telegram:
|
|
2
|
-
enabled: true
|
|
3
|
-
bot_token: 8403757601:AAEouYu9BFDzg70EDjPlsHXbGJ2guNuH9Tg
|
|
4
|
-
allowed_chat_ids:
|
|
5
|
-
- 8572284648
|
|
6
|
-
permissions:
|
|
7
|
-
defaultMode: bypassPermissions
|
|
8
|
-
chat_agent_map: {}
|
|
9
|
-
feishu:
|
|
10
|
-
enabled: true
|
|
11
|
-
app_id: cli_a90a073b2ba1dbb4
|
|
12
|
-
app_secret: Om2sn22xfMaM0Jfv4IGLNh0CftikG8mU
|
|
13
|
-
operator_ids:
|
|
14
|
-
- ou_f873edab380d4836f93cc9e9b9104f5a
|
|
15
|
-
allowed_chat_ids:
|
|
16
|
-
- oc_84be4bf1a1dabc6c1f0c22d0b6feaf8d
|
|
17
|
-
- oc_2693fc5ca63064f144eca78264bcea48
|
|
18
|
-
- oc_280f2c243f348d8f688580f882996bcd
|
|
19
|
-
- oc_942de23c38ff876f73f163052fbdb68f
|
|
20
|
-
- oc_987e0d01804ab9459272006416a935a8
|
|
21
|
-
- oc_9dc62f6011b337b413eef81b4738883b
|
|
22
|
-
- oc_8902c34a0fc52b28ada1a7c4e25aa22a
|
|
23
|
-
- oc_e777c7e7a24335ecbf25ed129402af54
|
|
24
|
-
- oc_5d76f02c21203c5ae1c19fd83c790ba4
|
|
25
|
-
- oc_9cbeb5cfcef80ddffcf0419507391189
|
|
26
|
-
- oc_bd0b81e62ff3576dc9b4c6670bb788d2
|
|
27
|
-
- oc_e33569664c1c1224d44a864a4fb40dd2
|
|
28
|
-
chat_agent_map:
|
|
29
|
-
oc_84be4bf1a1dabc6c1f0c22d0b6feaf8d: metame
|
|
30
|
-
oc_2693fc5ca63064f144eca78264bcea48: personal
|
|
31
|
-
oc_280f2c243f348d8f688580f882996bcd: metame
|
|
32
|
-
oc_942de23c38ff876f73f163052fbdb68f: digital_me
|
|
33
|
-
oc_987e0d01804ab9459272006416a935a8: desktop
|
|
34
|
-
oc_9dc62f6011b337b413eef81b4738883b: ___
|
|
35
|
-
oc_8902c34a0fc52b28ada1a7c4e25aa22a: business
|
|
36
|
-
oc_e777c7e7a24335ecbf25ed129402af54: personal
|
|
37
|
-
oc_5d76f02c21203c5ae1c19fd83c790ba4: munger
|
|
38
|
-
oc_9cbeb5cfcef80ddffcf0419507391189: achat_pm
|
|
39
|
-
oc_bd0b81e62ff3576dc9b4c6670bb788d2: xianyu
|
|
40
|
-
oc_e33569664c1c1224d44a864a4fb40dd2: drama_manager
|
|
41
|
-
permissions:
|
|
42
|
-
defaultMode: bypassPermissions
|
|
43
|
-
projects:
|
|
44
|
-
business:
|
|
45
|
-
name: CEO · 商业决策
|
|
46
|
-
icon: 💼
|
|
47
|
-
color: orange
|
|
48
|
-
cwd: ~/AGI/Business
|
|
49
|
-
nicknames:
|
|
50
|
-
- 艾布
|
|
51
|
-
- CEO
|
|
52
|
-
- 商业
|
|
53
|
-
heartbeat_tasks: []
|
|
54
|
-
team:
|
|
55
|
-
- key: hunter
|
|
56
|
-
name: 猎手 · 市场情报
|
|
57
|
-
icon: 🔍
|
|
58
|
-
color: green
|
|
59
|
-
cwd: ~/AGI/Business/team/hunter
|
|
60
|
-
nicknames:
|
|
61
|
-
- 猎手
|
|
62
|
-
- Hunter
|
|
63
|
-
- key: builder
|
|
64
|
-
name: 工匠 · MVP拼装
|
|
65
|
-
icon: 🔧
|
|
66
|
-
color: yellow
|
|
67
|
-
cwd: ~/AGI/Business/team/builder
|
|
68
|
-
nicknames:
|
|
69
|
-
- 工匠
|
|
70
|
-
- Builder
|
|
71
|
-
- key: trojan
|
|
72
|
-
name: 特洛伊 · 获客专家
|
|
73
|
-
icon: 🎯
|
|
74
|
-
color: red
|
|
75
|
-
cwd: ~/AGI/Business/team/trojan
|
|
76
|
-
nicknames:
|
|
77
|
-
- 特洛伊
|
|
78
|
-
- Trojan
|
|
79
|
-
- key: closer
|
|
80
|
-
name: 终结者 · 成交专家
|
|
81
|
-
icon: 💰
|
|
82
|
-
color: purple
|
|
83
|
-
cwd: ~/AGI/Business/team/closer
|
|
84
|
-
nicknames:
|
|
85
|
-
- 终结者
|
|
86
|
-
- Closer
|
|
87
|
-
- key: xianyu
|
|
88
|
-
name: 小鱼 · 咸鱼客服
|
|
89
|
-
icon: 🐟
|
|
90
|
-
color: cyan
|
|
91
|
-
cwd: ~/AGI/Business/team/xianyu
|
|
92
|
-
nicknames:
|
|
93
|
-
- 小鱼
|
|
94
|
-
- 咸鱼客服
|
|
95
|
-
achat_pm:
|
|
96
|
-
name: A哥 · AChat Protocol PM
|
|
97
|
-
icon: 🔗
|
|
98
|
-
color: blue
|
|
99
|
-
cwd: ~/AGI/AChat
|
|
100
|
-
nicknames:
|
|
101
|
-
- A哥
|
|
102
|
-
- 老A
|
|
103
|
-
- 大A
|
|
104
|
-
- achat
|
|
105
|
-
heartbeat_tasks: []
|
|
106
|
-
munger:
|
|
107
|
-
name: 芒格 · 格栅思维顾问
|
|
108
|
-
icon: 🧠
|
|
109
|
-
color: teal
|
|
110
|
-
cwd: ~/AGI/Munger
|
|
111
|
-
nicknames:
|
|
112
|
-
- 芒格
|
|
113
|
-
- 查理
|
|
114
|
-
- 私人顾问
|
|
115
|
-
- munger
|
|
116
|
-
heartbeat_tasks: []
|
|
117
|
-
team:
|
|
118
|
-
- key: buffett
|
|
119
|
-
name: 巴菲特 · 价值投资
|
|
120
|
-
icon: 🏦
|
|
121
|
-
color: blue
|
|
122
|
-
cwd: ~/AGI/Munger/team/buffett
|
|
123
|
-
nicknames:
|
|
124
|
-
- 巴菲特
|
|
125
|
-
- 老巴
|
|
126
|
-
- key: lynch
|
|
127
|
-
name: 林奇 · 成长股猎手
|
|
128
|
-
icon: 📈
|
|
129
|
-
color: green
|
|
130
|
-
cwd: ~/AGI/Munger/team/lynch
|
|
131
|
-
nicknames:
|
|
132
|
-
- 林奇
|
|
133
|
-
- 彼得
|
|
134
|
-
- key: howard
|
|
135
|
-
name: 马克斯 · 风险管理
|
|
136
|
-
icon: ⚖️
|
|
137
|
-
color: orange
|
|
138
|
-
cwd: ~/AGI/Munger/team/howard
|
|
139
|
-
nicknames:
|
|
140
|
-
- 马克斯
|
|
141
|
-
- 霍华德
|
|
142
|
-
- key: quant
|
|
143
|
-
name: 量化官 · 数据执行
|
|
144
|
-
icon: 📊
|
|
145
|
-
color: purple
|
|
146
|
-
cwd: ~/AGI/Munger/team/quant
|
|
147
|
-
nicknames:
|
|
148
|
-
- 量化官
|
|
149
|
-
personal:
|
|
150
|
-
name: personal
|
|
151
|
-
icon: 💅
|
|
152
|
-
color: carmine
|
|
153
|
-
cwd: /Users/yaron
|
|
154
|
-
engine: claude
|
|
155
|
-
model: sonnet
|
|
156
|
-
guard: user-only
|
|
157
|
-
nicknames:
|
|
158
|
-
- 小美
|
|
159
|
-
- 助理
|
|
160
|
-
- personal
|
|
161
|
-
heartbeat_tasks: []
|
|
162
|
-
digital_me:
|
|
163
|
-
name: Digital Me
|
|
164
|
-
icon: 📊
|
|
165
|
-
color: grey
|
|
166
|
-
cwd: ~/AGI/Digital_Me
|
|
167
|
-
nicknames:
|
|
168
|
-
- 小D
|
|
169
|
-
- 3D
|
|
170
|
-
- 自媒体
|
|
171
|
-
heartbeat_tasks:
|
|
172
|
-
- name: daily-topic-radar
|
|
173
|
-
type: script
|
|
174
|
-
command: bash /Users/yaron/AGI/TrendRadar/run-crawl.sh
|
|
175
|
-
at: '09:00'
|
|
176
|
-
require_idle: false
|
|
177
|
-
notify: true
|
|
178
|
-
enabled: true
|
|
179
|
-
- name: weekend-review
|
|
180
|
-
cwd: ~/AGI/Digital_Me
|
|
181
|
-
model: haiku
|
|
182
|
-
interval: 5m
|
|
183
|
-
timeout: 120000
|
|
184
|
-
notify: true
|
|
185
|
-
enabled: true
|
|
186
|
-
precondition: node -e "const fs=require('fs');const p=process.env.HOME+'/.metame/daemon_state.json';const key='weekend-review';const pad=n=>String(n).padStart(2,'0');const weekKey=d=>{const x=new Date(d);const day=(x.getDay()+6)%7;x.setHours(0,0,0,0);x.setDate(x.getDate()-day);return x.getFullYear()+'-'+pad(x.getMonth()+1)+'-'+pad(x.getDate());};const now=new Date();const dow=now.getDay();if(!(dow===0||dow===6))process.exit(1);if(now.getHours()!==22)process.exit(1);let s={};try{s=JSON.parse(fs.readFileSync(p,'utf8'));}catch{}const t=(s.tasks||{})[key];if(t&&t.status==='success'&&t.last_run&&weekKey(t.last_run)===weekKey(now))process.exit(1);console.log('run');"
|
|
187
|
-
prompt: |-
|
|
188
|
-
你是周末复盘助手。现在执行周末总结:先向用户索取本周关键数据,再给出下周选题方案提示词。
|
|
189
|
-
硬性要求:不臆测数据,不直接给结论。
|
|
190
|
-
输出结构(严格三段):
|
|
191
|
-
1) 【请补充本周数据】列出 6 项:发布篇数、总阅读、平均阅读、最高阅读文章(标题+阅读量)、最低阅读文章(标题+阅读量)、净增粉丝。
|
|
192
|
-
2) 【回填模板】给可直接复制填写的模板。
|
|
193
|
-
3) 【下周选题方案提示词(待数据版)】给一段可直接发给 AI 的提示词:收到上述数据后,输出下周 7 天选题计划(每天 1 个选题,含优先级、标题、核心观点、目标读者、验证指标)。
|
|
194
|
-
风格:简洁、可执行,全文不超过 18 行。
|
|
195
|
-
allowedTools:
|
|
196
|
-
- Read
|
|
197
|
-
metame:
|
|
198
|
-
name: 超级总管 Jarvis
|
|
199
|
-
icon: 🤖
|
|
200
|
-
color: blue
|
|
201
|
-
cwd: ~/AGI/MetaMe
|
|
202
|
-
nicknames:
|
|
203
|
-
- 贾维斯
|
|
204
|
-
- 老贾
|
|
205
|
-
- 贾
|
|
206
|
-
- Jarvis
|
|
207
|
-
- jarvis
|
|
208
|
-
heartbeat_tasks: null
|
|
209
|
-
broadcast: true
|
|
210
|
-
team:
|
|
211
|
-
- key: jia
|
|
212
|
-
name: Jarvis · 甲
|
|
213
|
-
icon: 🤖
|
|
214
|
-
color: green
|
|
215
|
-
cwd: ~/AGI/MetaMe
|
|
216
|
-
nicknames:
|
|
217
|
-
- 甲
|
|
218
|
-
auto_dispatch: true
|
|
219
|
-
- key: yi
|
|
220
|
-
name: Jarvis · 乙
|
|
221
|
-
icon: 🤖
|
|
222
|
-
color: yellow
|
|
223
|
-
cwd: ~/AGI/MetaMe
|
|
224
|
-
nicknames:
|
|
225
|
-
- 乙
|
|
226
|
-
auto_dispatch: true
|
|
227
|
-
- key: bing
|
|
228
|
-
name: Jarvis · 丙
|
|
229
|
-
icon: 🤖
|
|
230
|
-
color: red
|
|
231
|
-
cwd: ~/AGI/MetaMe
|
|
232
|
-
nicknames:
|
|
233
|
-
- 丙
|
|
234
|
-
auto_dispatch: true
|
|
235
|
-
desktop:
|
|
236
|
-
name: Desktop PM
|
|
237
|
-
icon: 🚀
|
|
238
|
-
color: indigo
|
|
239
|
-
cwd: ~/AGI/metame-desktop
|
|
240
|
-
nicknames:
|
|
241
|
-
- 马经理
|
|
242
|
-
- 老马
|
|
243
|
-
- 桌面
|
|
244
|
-
- Desktop
|
|
245
|
-
heartbeat_tasks: []
|
|
246
|
-
___:
|
|
247
|
-
name: 因斯坦
|
|
248
|
-
cwd: /Users/yaron/Desktop/项目计划书/国自然青年
|
|
249
|
-
nicknames:
|
|
250
|
-
- 因斯坦
|
|
251
|
-
scientist:
|
|
252
|
-
name: 科研总监
|
|
253
|
-
icon: 🔬
|
|
254
|
-
color: teal
|
|
255
|
-
cwd: ~/AGI/AgentScientist
|
|
256
|
-
reactive: true
|
|
257
|
-
nicknames:
|
|
258
|
-
- 科研
|
|
259
|
-
- 科学家
|
|
260
|
-
- scientist
|
|
261
|
-
- 研究员
|
|
262
|
-
heartbeat_tasks: []
|
|
263
|
-
team:
|
|
264
|
-
- key: sci_scout
|
|
265
|
-
name: 文献侦察兵
|
|
266
|
-
icon: 📚
|
|
267
|
-
color: green
|
|
268
|
-
cwd: ~/AGI/AgentScientist/team/scout
|
|
269
|
-
nicknames:
|
|
270
|
-
- 侦察兵
|
|
271
|
-
- scout
|
|
272
|
-
- 文献
|
|
273
|
-
- key: sci_thinker
|
|
274
|
-
name: 思想家
|
|
275
|
-
icon: 💡
|
|
276
|
-
color: yellow
|
|
277
|
-
cwd: ~/AGI/AgentScientist/team/thinker
|
|
278
|
-
nicknames:
|
|
279
|
-
- 思想家
|
|
280
|
-
- thinker
|
|
281
|
-
- key: sci_critic
|
|
282
|
-
name: 批判者
|
|
283
|
-
icon: 🔍
|
|
284
|
-
color: red
|
|
285
|
-
cwd: ~/AGI/AgentScientist/team/critic
|
|
286
|
-
nicknames:
|
|
287
|
-
- 批判者
|
|
288
|
-
- critic
|
|
289
|
-
- 审稿人
|
|
290
|
-
- key: sci_lab
|
|
291
|
-
name: 实验室
|
|
292
|
-
icon: 🧪
|
|
293
|
-
color: purple
|
|
294
|
-
cwd: ~/AGI/AgentScientist/team/lab
|
|
295
|
-
nicknames:
|
|
296
|
-
- 实验室
|
|
297
|
-
- lab
|
|
298
|
-
- key: sci_writer
|
|
299
|
-
name: 论文写手
|
|
300
|
-
icon: ✍️
|
|
301
|
-
color: cyan
|
|
302
|
-
cwd: ~/AGI/AgentScientist/team/writer
|
|
303
|
-
nicknames:
|
|
304
|
-
- 写手
|
|
305
|
-
- writer
|
|
306
|
-
- 论文
|
|
307
|
-
drama_manager:
|
|
308
|
-
name: 🎬 短剧总管
|
|
309
|
-
icon: 🎬
|
|
310
|
-
color: red
|
|
311
|
-
cwd: ~/AGI/DramaFactory
|
|
312
|
-
nicknames:
|
|
313
|
-
- 短剧总管
|
|
314
|
-
- 总管
|
|
315
|
-
- drama
|
|
316
|
-
heartbeat_tasks: []
|
|
317
|
-
team:
|
|
318
|
-
- key: drama_screenwriter
|
|
319
|
-
name: ✍️ 编剧
|
|
320
|
-
icon: ✍️
|
|
321
|
-
color: orange
|
|
322
|
-
cwd: ~/AGI/DramaFactory/team/screenwriter
|
|
323
|
-
nicknames:
|
|
324
|
-
- 编剧
|
|
325
|
-
- key: drama_writer
|
|
326
|
-
name: 📝 写手
|
|
327
|
-
icon: 📝
|
|
328
|
-
color: yellow
|
|
329
|
-
cwd: ~/AGI/DramaFactory/team/writer
|
|
330
|
-
nicknames:
|
|
331
|
-
- 写手
|
|
332
|
-
- key: drama_hook_rev
|
|
333
|
-
name: 🪝 钩子审核
|
|
334
|
-
icon: 🪝
|
|
335
|
-
color: pink
|
|
336
|
-
cwd: ~/AGI/DramaFactory/team/hook_rev
|
|
337
|
-
nicknames:
|
|
338
|
-
- 钩子审核员
|
|
339
|
-
- 钩子审核
|
|
340
|
-
- key: drama_drama_rev
|
|
341
|
-
name: 🌶 狗血审核
|
|
342
|
-
icon: 🌶
|
|
343
|
-
color: magenta
|
|
344
|
-
cwd: ~/AGI/DramaFactory/team/drama_rev
|
|
345
|
-
nicknames:
|
|
346
|
-
- 狗血审核员
|
|
347
|
-
- 狗血审核
|
|
348
|
-
- key: drama_format_rev
|
|
349
|
-
name: 📐 格式审核
|
|
350
|
-
icon: 📐
|
|
351
|
-
color: grey
|
|
352
|
-
cwd: ~/AGI/DramaFactory/team/format_rev
|
|
353
|
-
nicknames:
|
|
354
|
-
- 格式审核员
|
|
355
|
-
- 格式审核
|
|
356
|
-
heartbeat:
|
|
357
|
-
tasks:
|
|
358
|
-
- name: cognitive-distill
|
|
359
|
-
type: script
|
|
360
|
-
command: node ~/.metame/distill.js
|
|
361
|
-
interval: 2h
|
|
362
|
-
precondition: test -s ~/.metame/raw_signals.jsonl
|
|
363
|
-
require_idle: true
|
|
364
|
-
notify: false
|
|
365
|
-
enabled: true
|
|
366
|
-
- name: memory-extract
|
|
367
|
-
type: script
|
|
368
|
-
command: node ~/.metame/memory-extract.js
|
|
369
|
-
interval: 12h
|
|
370
|
-
timeout: 1800
|
|
371
|
-
require_idle: true
|
|
372
|
-
notify: false
|
|
373
|
-
enabled: true
|
|
374
|
-
- name: memory-gc
|
|
375
|
-
type: script
|
|
376
|
-
command: node ~/.metame/memory-gc.js
|
|
377
|
-
at: '02:00'
|
|
378
|
-
require_idle: true
|
|
379
|
-
notify: false
|
|
380
|
-
enabled: true
|
|
381
|
-
- name: skill-evolve
|
|
382
|
-
type: script
|
|
383
|
-
command: node ~/.metame/skill-evolution.js
|
|
384
|
-
interval: 24h
|
|
385
|
-
precondition: test -s ~/.metame/skill_signals.jsonl
|
|
386
|
-
require_idle: true
|
|
387
|
-
notify: false
|
|
388
|
-
enabled: true
|
|
389
|
-
- name: self-reflect
|
|
390
|
-
type: script
|
|
391
|
-
command: node ~/.metame/self-reflect.js
|
|
392
|
-
at: '23:00'
|
|
393
|
-
require_idle: true
|
|
394
|
-
notify: false
|
|
395
|
-
enabled: true
|
|
396
|
-
- name: nightly-reflect
|
|
397
|
-
type: script
|
|
398
|
-
command: node ~/.metame/memory-nightly-reflect.js
|
|
399
|
-
at: '01:00'
|
|
400
|
-
require_idle: true
|
|
401
|
-
notify: false
|
|
402
|
-
enabled: true
|
|
403
|
-
- name: memory-index
|
|
404
|
-
type: script
|
|
405
|
-
command: node ~/.metame/memory-index.js
|
|
406
|
-
at: '01:30'
|
|
407
|
-
require_idle: true
|
|
408
|
-
notify: false
|
|
409
|
-
enabled: true
|
|
410
|
-
budget:
|
|
411
|
-
daily_limit: 100000
|
|
412
|
-
warning_threshold: 0.8
|
|
413
|
-
daemon:
|
|
414
|
-
model: sonnet
|
|
415
|
-
log_max_size: 1048576
|
|
416
|
-
heartbeat_check_interval: 60
|
|
417
|
-
skill_evolution_notify: false
|
|
418
|
-
dangerously_skip_permissions: true
|
|
419
|
-
session_allowed_tools:
|
|
420
|
-
- Edit
|
|
421
|
-
- Write
|
|
422
|
-
- Read
|
|
423
|
-
- Bash
|
|
424
|
-
- Glob
|
|
425
|
-
- Grep
|
|
426
|
-
- WebFetch
|
|
427
|
-
- WebSearch
|
|
428
|
-
- Task
|
|
429
|
-
- Skill
|
|
430
|
-
- TodoRead
|
|
431
|
-
- TodoWrite
|
|
432
|
-
- NotebookEdit
|
|
433
|
-
- mcp__playwright__*
|
|
434
|
-
- mcp__trendradar__*
|
|
435
|
-
- mcp__notionApi__*
|
|
436
|
-
models:
|
|
437
|
-
claude: sonnet
|
|
438
|
-
|
|
439
|
-
# Intent Engine — UserPromptSubmit hook modules
|
|
440
|
-
# Set any key to false to disable that intent module.
|
|
441
|
-
hooks:
|
|
442
|
-
team_dispatch: true # team member dispatch hints
|
|
443
|
-
ops_assist: true # /undo /restart /logs /gc hints
|
|
444
|
-
task_create: true # task scheduling hints
|