agentworkshop 0.5.7 → 0.5.9

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.
@@ -3083,6 +3083,51 @@
3083
3083
  "recipeRunId": "rr-4549422d",
3084
3084
  "id": "anc-6825e0d2",
3085
3085
  "at": "2026-09-02T11:55:28.883Z"
3086
+ },
3087
+ {
3088
+ "lineId": "ln-b587c5ec",
3089
+ "nodeId": "dw-67ec7b30",
3090
+ "prevValue": null,
3091
+ "newValue": 180,
3092
+ "source": "recipe",
3093
+ "actor": "recipe",
3094
+ "recipeRunId": "rr-03ed5e01",
3095
+ "id": "anc-8f1abf07",
3096
+ "at": "2026-09-02T13:01:43.098Z"
3097
+ },
3098
+ {
3099
+ "lineId": "ln-b587c5ec",
3100
+ "nodeId": "dw-67ec7b30",
3101
+ "prevValue": 180,
3102
+ "newValue": 182,
3103
+ "source": "manual",
3104
+ "actor": "bd2ed1fc-5128-4725-b468-b4bfc81bf3ed",
3105
+ "recipeRunId": null,
3106
+ "id": "anc-949fae9b",
3107
+ "at": "2026-09-02T13:01:56.586Z"
3108
+ },
3109
+ {
3110
+ "lineId": "ln-b587c5ec",
3111
+ "nodeId": "dw-67ec7b30",
3112
+ "prevValue": 182,
3113
+ "newValue": 180,
3114
+ "source": "manual",
3115
+ "actor": "bd2ed1fc-5128-4725-b468-b4bfc81bf3ed",
3116
+ "recipeRunId": null,
3117
+ "id": "anc-6be8d282",
3118
+ "at": "2026-09-02T13:01:56.725Z"
3119
+ },
3120
+ {
3121
+ "lineId": "ln-b587c5ec",
3122
+ "nodeId": "dw-67ec7b30",
3123
+ "prevValue": 180,
3124
+ "newValue": 182,
3125
+ "source": "agent",
3126
+ "actor": "fbbb9e1d-003c-412a-a3ec-6acb1d0e7535",
3127
+ "recipeRunId": null,
3128
+ "id": "anc-cf431b05",
3129
+ "at": "2026-09-02T13:05:36.877Z",
3130
+ "recordId": "opt-b930283b"
3086
3131
  }
3087
3132
  ],
3088
3133
  "records": [
@@ -3474,7 +3519,7 @@
3474
3519
  "channels": [],
3475
3520
  "degraded": true
3476
3521
  },
3477
- "evaluatedAt": "2026-09-02T12:19:06.694Z",
3522
+ "evaluatedAt": "2026-09-02T13:31:51.851Z",
3478
3523
  "windowAgg": {
3479
3524
  "at": "2026-08-31T16:25:17.398Z",
3480
3525
  "fromMs": 1788193396897,
@@ -9814,6 +9859,74 @@
9814
9859
  "closedAt": "2026-09-02T11:48:49.964Z",
9815
9860
  "closedBy": "line-stop",
9816
9861
  "aggPending": false
9862
+ },
9863
+ {
9864
+ "lineId": "ln-b587c5ec",
9865
+ "nodeId": "dw-67ec7b30",
9866
+ "nodeName": "FFX-温度设定",
9867
+ "recipeId": "rc-0f5b23f2",
9868
+ "agentId": "fbbb9e1d-003c-412a-a3ec-6acb1d0e7535",
9869
+ "hypothesis": "升温调参:近5min实测均温167.795℃(min161.7/max170.9),低于目标182℃达14.2℃,严重偏冷。设定180→182℃(+2℃,仍在安全量程[150,200]与配方窗口[176,188]内),预期实际温度随热惯性(数十秒级)逐步上升逼近182℃,5分钟后daq_query复测评估;观察计划:下发后复测均温与升速,确认无越限。",
9870
+ "params": [
9871
+ {
9872
+ "nodeId": "dw-67ec7b30",
9873
+ "templateRef": "dcw-temp-sp",
9874
+ "from": 180,
9875
+ "to": 182
9876
+ }
9877
+ ],
9878
+ "setAt": "2026-09-02T13:05:36.877Z",
9879
+ "status": "closed-line-stop",
9880
+ "judge": {
9881
+ "by": "agent",
9882
+ "actor": "fbbb9e1d-003c-412a-a3ec-6acb1d0e7535",
9883
+ "verdict": "uncertain",
9884
+ "reason": "设定已从180℃提升至182℃并回读一致,但判定时点(13:06)实测温度仍为166℃、近5min均值167.77℃,热惯性过渡期未观察到实际温度对182℃新设定响应,证据不足。维持观察:待实际温度单边上升逼近设定后再复核判定。",
9885
+ "at": "2026-09-02T13:06:49.997Z"
9886
+ },
9887
+ "anchorId": "anc-cf431b05",
9888
+ "policy": "approve_rollback",
9889
+ "id": "opt-b930283b",
9890
+ "createdAt": "2026-09-02T13:05:36.877Z",
9891
+ "baseline": {
9892
+ "at": "2026-09-02T13:05:36.889Z",
9893
+ "fromMs": 1788353736877,
9894
+ "toMs": 1788354336877,
9895
+ "channels": [
9896
+ {
9897
+ "daqNodeId": "dn-1f196883",
9898
+ "ch": "temp-tc",
9899
+ "unit": "℃",
9900
+ "latest": 165.7,
9901
+ "avg": 167.79,
9902
+ "min": 163.22,
9903
+ "max": 170.35,
9904
+ "cnt": 77,
9905
+ "breaches": 0
9906
+ },
9907
+ {
9908
+ "daqNodeId": "dn-15d0b51b",
9909
+ "ch": "pressure-tx",
9910
+ "unit": "MPa",
9911
+ "latest": 0.81,
9912
+ "avg": 0.82,
9913
+ "min": 0.75,
9914
+ "max": 0.89,
9915
+ "cnt": 77,
9916
+ "breaches": -1
9917
+ }
9918
+ ]
9919
+ },
9920
+ "closedAt": "2026-09-02T13:07:32.571Z",
9921
+ "closedBy": "line-stop",
9922
+ "windowAgg": {
9923
+ "at": "2026-09-02T13:07:32.571Z",
9924
+ "fromMs": 1788354336877,
9925
+ "toMs": 1788354452571,
9926
+ "channels": [],
9927
+ "degraded": true
9928
+ },
9929
+ "aggPending": false
9817
9930
  }
9818
9931
  ]
9819
9932
  }
@@ -1,22 +1,4 @@
1
1
  [
2
- {
3
- "id": "rr-5fc104fc",
4
- "recipeId": "rc-cc5d88b8",
5
- "recipeName": "终审配方A",
6
- "productId": "pd-b724071c",
7
- "lineId": "ln-02fae279",
8
- "startedAt": "2026-08-29T15:19:44.444Z",
9
- "endedAt": "2026-08-29T15:20:10.191Z",
10
- "results": [
11
- {
12
- "templateRef": "dcw-temp-sp",
13
- "nodeId": "dw-4adafbe2",
14
- "ok": true,
15
- "message": "写入并回读一致:182 → raw 1280,回读 182(标定后物理值 182)",
16
- "value": 182
17
- }
18
- ]
19
- },
20
2
  {
21
3
  "id": "rr-0ff47e63",
22
4
  "recipeId": "rc-5c7d80c1",
@@ -4758,5 +4740,32 @@
4758
4740
  "max": 188
4759
4741
  }
4760
4742
  ]
4743
+ },
4744
+ {
4745
+ "id": "rr-03ed5e01",
4746
+ "recipeId": "rc-0f5b23f2",
4747
+ "recipeName": "全功能配方-a7dbly",
4748
+ "productId": "pd-ea366e9b",
4749
+ "lineId": "ln-b587c5ec",
4750
+ "startedAt": "2026-09-02T13:01:43.015Z",
4751
+ "endedAt": "2026-09-02T13:07:32.569Z",
4752
+ "results": [
4753
+ {
4754
+ "templateRef": "dcw-temp-sp",
4755
+ "nodeId": "dw-67ec7b30",
4756
+ "ok": true,
4757
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
4758
+ "value": 180
4759
+ }
4760
+ ],
4761
+ "paramsSnapshot": [
4762
+ {
4763
+ "nodeId": "dw-67ec7b30",
4764
+ "templateRef": "dcw-temp-sp",
4765
+ "value": 180,
4766
+ "min": 176,
4767
+ "max": 188
4768
+ }
4769
+ ]
4761
4770
  }
4762
4771
  ]
@@ -9970,5 +9970,53 @@
9970
9970
  "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
9971
9971
  "recipeRunId": "rr-4549422d",
9972
9972
  "at": "2026-09-02T11:55:28.777Z"
9973
+ },
9974
+ {
9975
+ "id": "wh-b967d703",
9976
+ "nodeId": "dw-67ec7b30",
9977
+ "nodeName": "FFX-温度设定",
9978
+ "param": "烘箱温度设定",
9979
+ "eng": 180,
9980
+ "raw": 180,
9981
+ "ok": true,
9982
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
9983
+ "recipeRunId": "rr-03ed5e01",
9984
+ "at": "2026-09-02T13:01:43.017Z"
9985
+ },
9986
+ {
9987
+ "id": "wh-81555680",
9988
+ "nodeId": "dw-67ec7b30",
9989
+ "nodeName": "FFX-温度设定",
9990
+ "param": "烘箱温度设定",
9991
+ "eng": 182,
9992
+ "raw": 182,
9993
+ "ok": true,
9994
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
9995
+ "recipeRunId": null,
9996
+ "at": "2026-09-02T13:01:56.434Z"
9997
+ },
9998
+ {
9999
+ "id": "wh-94359ca2",
10000
+ "nodeId": "dw-67ec7b30",
10001
+ "nodeName": "FFX-温度设定",
10002
+ "param": "烘箱温度设定",
10003
+ "eng": 180,
10004
+ "raw": 180,
10005
+ "ok": true,
10006
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
10007
+ "recipeRunId": null,
10008
+ "at": "2026-09-02T13:01:56.619Z"
10009
+ },
10010
+ {
10011
+ "id": "wh-a3c42698",
10012
+ "nodeId": "dw-67ec7b30",
10013
+ "nodeName": "FFX-温度设定",
10014
+ "param": "烘箱温度设定",
10015
+ "eng": 182,
10016
+ "raw": 182,
10017
+ "ok": true,
10018
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
10019
+ "recipeRunId": null,
10020
+ "at": "2026-09-02T13:05:36.771Z"
9973
10021
  }
9974
10022
  ]
@@ -2089,5 +2089,26 @@
2089
2089
  "state": "ok",
2090
2090
  "lastError": null,
2091
2091
  "createdAt": "2026-09-02T11:55:28.447Z"
2092
+ },
2093
+ {
2094
+ "id": "dw-67ec7b30",
2095
+ "templateRef": "dcw-temp-sp",
2096
+ "name": "FFX-温度设定",
2097
+ "driver": "mock",
2098
+ "enabled": true,
2099
+ "holdIntervalMs": null,
2100
+ "unit": "℃",
2101
+ "decimals": 1,
2102
+ "min": 150,
2103
+ "max": 200,
2104
+ "deviceBindingId": null,
2105
+ "driverConfig": {},
2106
+ "lineId": "ln-b587c5ec",
2107
+ "value": 182,
2108
+ "lastAckAt": "2026-09-02T13:05:36.771Z",
2109
+ "lastWriteAt": "2026-09-02T13:05:36.771Z",
2110
+ "state": "ok",
2111
+ "lastError": null,
2112
+ "createdAt": "2026-09-02T13:01:42.957Z"
2092
2113
  }
2093
2114
  ]
@@ -7,7 +7,7 @@
7
7
  "productId": "pd-3ad54846",
8
8
  "productName": "光学膜 BOPP",
9
9
  "startedAt": "2026-08-31T16:20:13.707Z",
10
- "taggedSamples": 34570
10
+ "taggedSamples": 35874
11
11
  },
12
12
  {
13
13
  "lineId": "ln-c377a6bf",
@@ -17,7 +17,7 @@
17
17
  "productId": "pd-7e69e0ee",
18
18
  "productName": "警告验证产品-k2xh",
19
19
  "startedAt": "2026-09-01T03:23:18.233Z",
20
- "taggedSamples": 14094
20
+ "taggedSamples": 14746
21
21
  },
22
22
  {
23
23
  "lineId": "ln-9224d3d7",
@@ -27,7 +27,7 @@
27
27
  "productId": "pd-910c0fa8",
28
28
  "productName": "新协议产品-9xhn",
29
29
  "startedAt": "2026-09-01T05:59:24.062Z",
30
- "taggedSamples": 17076
30
+ "taggedSamples": 17730
31
31
  },
32
32
  {
33
33
  "lineId": "ln-386c53ed",
@@ -37,7 +37,7 @@
37
37
  "productId": "pd-2d4f9357",
38
38
  "productName": "新协议产品-6ofk",
39
39
  "startedAt": "2026-09-01T06:05:53.063Z",
40
- "taggedSamples": 17365
40
+ "taggedSamples": 18019
41
41
  },
42
42
  {
43
43
  "lineId": "ln-5957f6db",
@@ -47,7 +47,7 @@
47
47
  "productId": "pd-a3ed5047",
48
48
  "productName": "新协议产品-x4hd",
49
49
  "startedAt": "2026-09-01T06:09:02.148Z",
50
- "taggedSamples": 16951
50
+ "taggedSamples": 17605
51
51
  },
52
52
  {
53
53
  "lineId": "ln-9ec42f08",
@@ -57,7 +57,7 @@
57
57
  "productId": "pd-5de729c0",
58
58
  "productName": "新协议产品-teti",
59
59
  "startedAt": "2026-09-01T06:13:44.315Z",
60
- "taggedSamples": 16930
60
+ "taggedSamples": 17584
61
61
  },
62
62
  {
63
63
  "lineId": "ln-69e37924",
@@ -67,7 +67,7 @@
67
67
  "productId": "pd-45eb8d43",
68
68
  "productName": "新协议产品-fg8t",
69
69
  "startedAt": "2026-09-01T06:16:47.469Z",
70
- "taggedSamples": 16963
70
+ "taggedSamples": 17617
71
71
  },
72
72
  {
73
73
  "lineId": "ln-c269e692",
@@ -77,7 +77,7 @@
77
77
  "productId": "pd-b3bd0191",
78
78
  "productName": "新协议产品-w2sp",
79
79
  "startedAt": "2026-09-01T06:56:05.893Z",
80
- "taggedSamples": 17014
80
+ "taggedSamples": 17668
81
81
  },
82
82
  {
83
83
  "lineId": "ln-229d1637",
@@ -87,7 +87,7 @@
87
87
  "productId": "pd-06b896f9",
88
88
  "productName": "新协议产品-lp4h",
89
89
  "startedAt": "2026-09-01T06:57:29.288Z",
90
- "taggedSamples": 16886
90
+ "taggedSamples": 17540
91
91
  },
92
92
  {
93
93
  "lineId": "ln-9546f91f",
@@ -97,7 +97,7 @@
97
97
  "productId": "pd-53e55078",
98
98
  "productName": "新协议产品-jri6",
99
99
  "startedAt": "2026-09-01T07:00:25.059Z",
100
- "taggedSamples": 16309
100
+ "taggedSamples": 16963
101
101
  },
102
102
  {
103
103
  "lineId": "ln-087aad5b",
@@ -107,7 +107,7 @@
107
107
  "productId": "pd-e7e969af",
108
108
  "productName": "新协议产品-4c2d",
109
109
  "startedAt": "2026-09-01T07:09:07.307Z",
110
- "taggedSamples": 15301
110
+ "taggedSamples": 15955
111
111
  },
112
112
  {
113
113
  "lineId": "ln-97d44f8a",
@@ -117,7 +117,7 @@
117
117
  "productId": "pd-28a3ab2c",
118
118
  "productName": "新协议产品-b2ni",
119
119
  "startedAt": "2026-09-01T07:13:44.912Z",
120
- "taggedSamples": 15150
120
+ "taggedSamples": 15804
121
121
  },
122
122
  {
123
123
  "lineId": "ln-a9551770",
@@ -127,7 +127,7 @@
127
127
  "productId": "pd-0c6a64c8",
128
128
  "productName": "新协议产品-uwkf",
129
129
  "startedAt": "2026-09-01T07:15:40.113Z",
130
- "taggedSamples": 14795
130
+ "taggedSamples": 15449
131
131
  },
132
132
  {
133
133
  "lineId": "ln-844ad82f",
@@ -137,7 +137,7 @@
137
137
  "productId": "pd-6932b24f",
138
138
  "productName": "新协议产品-kk6l",
139
139
  "startedAt": "2026-09-01T09:06:55.728Z",
140
- "taggedSamples": 12950
140
+ "taggedSamples": 13604
141
141
  },
142
142
  {
143
143
  "lineId": "ln-af002514",
@@ -147,7 +147,7 @@
147
147
  "productId": "pd-6348a595",
148
148
  "productName": "0.8mm 光学膜",
149
149
  "startedAt": "2026-09-01T14:06:28.766Z",
150
- "taggedSamples": 5780
150
+ "taggedSamples": 7090
151
151
  },
152
152
  {
153
153
  "lineId": "ln-0eccf6ba",
@@ -157,7 +157,7 @@
157
157
  "productId": "pd-4b71be77",
158
158
  "productName": "哨兵产品-mtjku36w",
159
159
  "startedAt": "2026-09-02T04:09:11.482Z",
160
- "taggedSamples": 1215
160
+ "taggedSamples": 1543
161
161
  },
162
162
  {
163
163
  "lineId": "ln-e984246e",
@@ -167,7 +167,7 @@
167
167
  "productId": "pd-bb1e0bed",
168
168
  "productName": "产品C-mtjkwyhu",
169
169
  "startedAt": "2026-09-02T04:11:26.583Z",
170
- "taggedSamples": 1214
170
+ "taggedSamples": 1542
171
171
  },
172
172
  {
173
173
  "lineId": "ln-1fe0b5bc",
@@ -177,7 +177,7 @@
177
177
  "productId": "pd-9f2d9507",
178
178
  "productName": "产品D-mtjkzcfr",
179
179
  "startedAt": "2026-09-02T04:13:17.902Z",
180
- "taggedSamples": 1213
180
+ "taggedSamples": 1541
181
181
  },
182
182
  {
183
183
  "lineId": "ln-d826473e",
@@ -187,7 +187,7 @@
187
187
  "productId": "pd-d230255e",
188
188
  "productName": "产品E-mtjl43pv",
189
189
  "startedAt": "2026-09-02T04:16:59.891Z",
190
- "taggedSamples": 1212
190
+ "taggedSamples": 1540
191
191
  },
192
192
  {
193
193
  "lineId": "ln-156abb71",
@@ -197,7 +197,7 @@
197
197
  "productId": "pd-6065b4ba",
198
198
  "productName": "产品F-mtjl60qf",
199
199
  "startedAt": "2026-09-02T04:18:29.340Z",
200
- "taggedSamples": 1211
200
+ "taggedSamples": 1539
201
201
  },
202
202
  {
203
203
  "lineId": "ln-bac43927",
@@ -207,7 +207,7 @@
207
207
  "productId": "pd-52f54e33",
208
208
  "productName": "产品G-mtjl98nl",
209
209
  "startedAt": "2026-09-02T04:20:59.682Z",
210
- "taggedSamples": 1210
210
+ "taggedSamples": 1538
211
211
  },
212
212
  {
213
213
  "lineId": "ln-f223008a",
@@ -217,7 +217,7 @@
217
217
  "productId": "pd-d919d4bf",
218
218
  "productName": "产品-mtjo000v",
219
219
  "startedAt": "2026-09-02T05:37:50.743Z",
220
- "taggedSamples": 1209
220
+ "taggedSamples": 1537
221
221
  },
222
222
  {
223
223
  "lineId": "ln-c1ef6c0d",
@@ -227,6 +227,6 @@
227
227
  "productId": "pd-efb05c40",
228
228
  "productName": "���̽��Ʒ",
229
229
  "startedAt": "2026-09-02T11:55:28.775Z",
230
- "taggedSamples": 0
230
+ "taggedSamples": 652
231
231
  }
232
232
  ]
@@ -75,6 +75,8 @@ export interface AgentWorkspace {
75
75
  name: string
76
76
  description: string
77
77
  leadName: string | null
78
+ /** 团队共享域知识量(>0 表示有可检索的作业结论) */
79
+ sharedMemories: number
78
80
  activeTasks: Array<{ id: string, title: string, state: string }>
79
81
  recentCompleted: Array<{ title: string }>
80
82
  }>>
@@ -1589,7 +1589,8 @@ export class OmpRpcAgentImpl implements AgentInterface {
1589
1589
  const done = t.recentCompleted.length > 0
1590
1590
  ? t.recentCompleted.map(x => `「${x.title}」`).join('、')
1591
1591
  : '无'
1592
- return `- ${t.name}${t.description ? `(${t.description})` : ''} · lead=${t.leadName ?? '?'}\n 进行中: ${active}\n 近期完成: ${done}\n channel_id: ${t.channelId}`
1592
+ const mem = t.sharedMemories > 0 ? `共享记忆 ${t.sharedMemories} 条(可检索)` : '暂无共享记忆'
1593
+ return `- ${t.name}${t.description ? `(${t.description})` : ''} · lead=${t.leadName ?? '?'} · ${mem}\n 进行中: ${active}\n 近期完成: ${done}\n channel_id: ${t.channelId}`
1593
1594
  }).join('\n')
1594
1595
  return { text: `其他团队概览:\n${text}\n(需要协作时用 send_cross_channel_message 向对应团队 Leader 发信;查具体知识用 search_other_teams_memory)` }
1595
1596
  }
@@ -151,6 +151,14 @@ export function createMemoryRepo(db: DatabaseSync) {
151
151
  return stmt.all(matchQuery, TEAM_AGENT_ID, ...channelIds, limit) as unknown as Array<MemoryRow & { bm25: number }>
152
152
  },
153
153
 
154
+ /** 某 channel 团队共享域的行数(跨团队概览的"知识量"指标) */
155
+ countTeamShared(channelId: string): number {
156
+ return Number(
157
+ db.prepare(`SELECT COUNT(*) AS c FROM agent_memories WHERE channel_id = ? AND agent_id = ?`)
158
+ .get(channelId, TEAM_AGENT_ID)?.c ?? 0,
159
+ )
160
+ },
161
+
154
162
  listRecent(agentId: string, limit: number): MemoryRow[] {
155
163
  return listRecentStmt.all(agentId, limit) as unknown as MemoryRow[]
156
164
  },
@@ -2563,6 +2563,8 @@ export class AgentChannelManager {
2563
2563
  name: c.name,
2564
2564
  description: c.description ?? '',
2565
2565
  leadName: leadRow?.name ?? null,
2566
+ /** 团队共享域知识量:>0 说明该队有可检索的作业结论(search_other_teams_memory) */
2567
+ sharedMemories: this.deps.repos.memories.countTeamShared(c.id),
2566
2568
  activeTasks: tasks
2567
2569
  .filter(t => !terminal.has(t.state))
2568
2570
  .map(t => ({ id: t.id, title: t.title, state: t.state })),
@@ -2593,6 +2595,8 @@ export class AgentChannelManager {
2593
2595
  others.map(c => c.id),
2594
2596
  Math.min(Math.max(input.limit ?? 5, 1), 20),
2595
2597
  )
2598
+ // 触摸命中行(access_count/last_accessed_at):与 recallRows 同信号,强化后续召回排序
2599
+ for (const r of rows) this.deps.repos.memories.touch(r.id)
2596
2600
  return rows.map(r => ({
2597
2601
  channelId: r.channelId,
2598
2602
  channelName: others.find(c => c.id === r.channelId)?.name ?? r.channelId,
@@ -2632,7 +2636,8 @@ export class AgentChannelManager {
2632
2636
  const done = t.recentCompleted.length > 0
2633
2637
  ? t.recentCompleted.map(x => `「${x.title}」`).join('、')
2634
2638
  : '无'
2635
- return `- ${t.name}${t.description ? `(${t.description})` : ''} · lead=${t.leadName ?? '?'}\n 进行中: ${active}\n 近期完成: ${done}\n channel_id: ${t.channelId}`
2639
+ const mem = t.sharedMemories > 0 ? `共享记忆 ${t.sharedMemories} 条(可检索)` : '暂无共享记忆'
2640
+ return `- ${t.name}${t.description ? `(${t.description})` : ''} · lead=${t.leadName ?? '?'} · ${mem}\n 进行中: ${active}\n 近期完成: ${done}\n channel_id: ${t.channelId}`
2636
2641
  }).join('\n')
2637
2642
  return { text: `其他团队概览:\n${text}\n(需要协作时用 send_cross_channel_message 向对应团队 Leader 发信;查具体知识用 search_other_teams_memory)` }
2638
2643
  }
@@ -1 +0,0 @@
1
- {"id":"02278199-eeea-4f96-882a-94c5408c6cb6","timestamp":1788352462461,"prerendered":[]}