@lemoncat7/dsh-partner 2.21.11 → 2.21.13
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 +3 -1
- package/docs/conversation-autonomy.md +27 -0
- package/docs/releases/2.21.12.md +5 -0
- package/docs/releases/2.21.13.md +13 -0
- package/lib/agent-runtime.d.ts +2 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +54 -32
- package/lib/agent-runtime.js.map +1 -1
- package/lib/channels/authored-progress.d.ts +16 -0
- package/lib/channels/authored-progress.d.ts.map +1 -0
- package/lib/channels/authored-progress.js +38 -0
- package/lib/channels/authored-progress.js.map +1 -0
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +9 -6
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/qq/attention-classifier.js +5 -5
- package/lib/channels/qq/attention-classifier.js.map +1 -1
- package/lib/character/activity-tool.d.ts +3 -0
- package/lib/character/activity-tool.d.ts.map +1 -1
- package/lib/character/activity-tool.js +8 -1
- package/lib/character/activity-tool.js.map +1 -1
- package/lib/character/affection.d.ts +2 -2
- package/lib/character/conversation-behavior.d.ts +2 -0
- package/lib/character/conversation-behavior.d.ts.map +1 -1
- package/lib/character/conversation-behavior.js +7 -1
- package/lib/character/conversation-behavior.js.map +1 -1
- package/lib/character/idle-contact.d.ts.map +1 -1
- package/lib/character/idle-contact.js +13 -1
- package/lib/character/idle-contact.js.map +1 -1
- package/lib/character/post-reply.js +2 -2
- package/lib/character/post-reply.js.map +1 -1
- package/lib/client.js +31 -26
- package/lib/client.js.map +3 -3
- package/lib/collaboration/tool-discovery.d.ts.map +1 -1
- package/lib/collaboration/tool-discovery.js +11 -4
- package/lib/collaboration/tool-discovery.js.map +1 -1
- package/lib/core/semaphore.d.ts.map +1 -1
- package/lib/core/semaphore.js +6 -3
- package/lib/core/semaphore.js.map +1 -1
- package/lib/execution/reply-progress.d.ts +3 -1
- package/lib/execution/reply-progress.d.ts.map +1 -1
- package/lib/execution/reply-progress.js +16 -0
- package/lib/execution/reply-progress.js.map +1 -1
- package/lib/execution/task-preamble.d.ts +15 -0
- package/lib/execution/task-preamble.d.ts.map +1 -0
- package/lib/execution/task-preamble.js +107 -0
- package/lib/execution/task-preamble.js.map +1 -0
- package/lib/memory-admission.d.ts +5 -0
- package/lib/memory-admission.d.ts.map +1 -0
- package/lib/memory-admission.js +20 -0
- package/lib/memory-admission.js.map +1 -0
- package/lib/memory-reflection.js +1 -1
- package/lib/ui/push-draft.d.ts +2 -2
- package/package.json +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-discovery.d.ts","sourceRoot":"","sources":["../../src/collaboration/tool-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,WAAW,EAAoC,MAAM,wBAAwB,CAAA;AAGzG,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAA;AAG7C,MAAM,WAAW,gBAAgB;IAAE,IAAI,EAAC,cAAc,CAAC;IAAA,OAAO,EAAC,MAAI,OAAO,CAAA;CAAC;AAC3E,eAAO,MAAM,oBAAoB,sDAAoD,CAAA;
|
|
1
|
+
{"version":3,"file":"tool-discovery.d.ts","sourceRoot":"","sources":["../../src/collaboration/tool-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,WAAW,EAAoC,MAAM,wBAAwB,CAAA;AAGzG,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAA;AAG7C,MAAM,WAAW,gBAAgB;IAAE,IAAI,EAAC,cAAc,CAAC;IAAA,OAAO,EAAC,MAAI,OAAO,CAAA;CAAC;AAC3E,eAAO,MAAM,oBAAoB,sDAAoD,CAAA;AA8BrF,eAAO,MAAM,qBAAqB,QAA01B,CAAA;AAE53B;oFACoF;AACpF,wBAAgB,oBAAoB,CAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,YAAY,EAAC,OAAO,EAAC,gBAAgB,EAAE,GAAE,MAAI,IAAI,CA2E5H"}
|
|
@@ -4,6 +4,7 @@ import { resolveToolAccess } from '../execution/tool-access-adapter.js';
|
|
|
4
4
|
export const PARTNER_TOOL_ENTRIES = ['partner_tools', 'partner_channel_access'];
|
|
5
5
|
const GROUPS = [
|
|
6
6
|
{ id: 'chat', title: '聊天回复', description: '文字、表情与语音' },
|
|
7
|
+
{ id: 'media', title: '图片创作', description: '生图、画图、图生图与图片编辑' },
|
|
7
8
|
{ id: 'identity', title: '身份与生活', description: '人格参考模板、角色与关系设定、睡眠和头像' },
|
|
8
9
|
{ id: 'work', title: '任务与协作', description: '需求、任务看板和伙伴协作' },
|
|
9
10
|
{ id: 'automation', title: '定时与续接', description: '定时计划、长任务等待与恢复' },
|
|
@@ -13,8 +14,14 @@ const GROUPS = [
|
|
|
13
14
|
{ id: 'mcp', title: '外部 MCP', description: '已授权的外部服务工具' },
|
|
14
15
|
{ id: 'other', title: '其他能力', description: '宿主和其他已授权扩展工具' },
|
|
15
16
|
];
|
|
17
|
+
const IMAGE_ALIASES = ['生图', '画图', '绘图', '生成图片', '图片生成', '图生图', '改图', '编辑图片', '图片编辑', '画一张', '画张', '绘制', '图片', 'image generation', 'image editing'];
|
|
18
|
+
function toolSearchMatches(tool, query) {
|
|
19
|
+
return `${tool.name} ${tool.description}`.toLocaleLowerCase().includes(query) || tool.name === 'generate_image' && IMAGE_ALIASES.some(alias => alias.includes(query) || query.includes(alias));
|
|
20
|
+
}
|
|
16
21
|
function category(name) {
|
|
17
|
-
if (
|
|
22
|
+
if (name === 'generate_image')
|
|
23
|
+
return 'media';
|
|
24
|
+
if (['partner_chat_reply', 'partner_chat_progress', 'partner_stickers', 'partner_qq_reply'].includes(name))
|
|
18
25
|
return 'chat';
|
|
19
26
|
if (/identity|sleep|avatar|activity/.test(name))
|
|
20
27
|
return 'identity';
|
|
@@ -33,7 +40,7 @@ function category(name) {
|
|
|
33
40
|
return 'other';
|
|
34
41
|
}
|
|
35
42
|
const PERSONA_REFERENCE_CALL = JSON.stringify({ action: 'call', name: 'partner_identity', argumentsJson: JSON.stringify({ action: 'reference' }) });
|
|
36
|
-
export const TOOL_DISCOVERY_PROMPT = '伙伴工具统一由两个固定入口提供:partner_channel_access 根据真实渠道及当前发言账号返回已授权能力,partner_tools 查询和调用能力。默认渠道沿用既有授权,QQ 由渠道适配器核验账号;不接受模型自报账号或权限。先用 list 查询(可按 category/query 缩小),describe 或 load 查看参数,再用 partner_tools action=call、name=真实工具名、argumentsJson=原工具参数的 JSON
|
|
43
|
+
export const TOOL_DISCOVERY_PROMPT = '伙伴工具统一由两个固定入口提供:partner_channel_access 根据真实渠道及当前发言账号返回已授权能力,partner_tools 查询和调用能力。默认渠道沿用既有授权,QQ 由渠道适配器核验账号;不接受模型自报账号或权限。先用 list 查询(可按 category/query 缩小),describe 或 load 查看参数,再用 partner_tools action=call、name=真实工具名、argumentsJson=原工具参数的 JSON 字符串执行;不会另行向顶层工具表添加工具。用户明确要求生成或编辑图片时,先查询 media 分类或 query=image;若 generate_image 可用,describe 后通过本入口 call 实际生成,依据返回文件交付,不以口头承诺、提示词或虚构图片代替工具执行。顶层没有 generate_image 不表示没有生图能力;只有查询当前授权目录后才能说明能力是否缺失。回应和结果说明保持当前人格。私聊耗时任务先 call partner_chat_progress,argumentsJson 为 {"text":"按当前人格生成的一句自然回应"} 的 JSON 字符串;成功后再工作,此工具不结束回合。常用聊天可直接 call partner_chat_reply,参数为 {"messages":[{"text":"要说的话"}]},表情独立使用 {"stickerId":"库内ID"};先完成工作再提交最终回复。普通正文仍可直接最终回答。人格参考模板在 partner_identity 内置,包含基本身份、角色设定、关系设定和 qq-bridge 大肥鱼原卡;用户要参考时直接向 partner_tools 传入 ' + PERSONA_REFERENCE_CALL + ',无需搜索 cosplay 配置或文件。普通修改和自主优化不要求读模板。每次调用都会再次检查实时权限,原工具审批、超时、取消与终结行为保留。';
|
|
37
44
|
/** Stable model-facing entries; original definitions remain registered in scope
|
|
38
45
|
* so the normal DSH execution pipeline owns validation, policy and cancellation. */
|
|
39
46
|
export function installToolDiscovery(runtime, owner, store, entries) {
|
|
@@ -63,7 +70,7 @@ export function installToolDiscovery(runtime, owner, store, entries) {
|
|
|
63
70
|
}
|
|
64
71
|
return [...tools.values()].filter(tool => !['partner_tools', 'partner_channel_access', 'run_code'].includes(tool.name) && access.sendTools && (!access.allowedTools || access.allowedTools.includes(tool.name)));
|
|
65
72
|
};
|
|
66
|
-
const visible = (tool) => ({ name: tool.name, category: category(tool.name), summary: tool.description.slice(0, 160) });
|
|
73
|
+
const visible = (tool) => ({ name: tool.name, category: category(tool.name), summary: (tool.name === 'generate_image' ? '生图、画图、图生图、图片编辑。' + tool.description : tool.description).slice(0, 160) });
|
|
67
74
|
const render = (_args, value) => {
|
|
68
75
|
const result = value;
|
|
69
76
|
return result.dispatch ? result.dispatch.content : [{ type: 'text', text: JSON.stringify(value) }];
|
|
@@ -112,7 +119,7 @@ export function installToolDiscovery(runtime, owner, store, entries) {
|
|
|
112
119
|
throw Error('查询参数无效');
|
|
113
120
|
if (!args.category && !query)
|
|
114
121
|
return { categories: GROUPS.map(g => ({ ...g, count: all.filter(t => category(t.name) === g.id).length })).filter(g => g.count), next: '按 category 或 query 查询;call 通过本入口执行' };
|
|
115
|
-
const found = all.filter(t => (!args.category || category(t.name) === args.category) && (!query ||
|
|
122
|
+
const found = all.filter(t => (!args.category || category(t.name) === args.category) && (!query || toolSearchMatches(t, query)));
|
|
116
123
|
return { tools: found.slice(offset, offset + 12).map(visible), total: found.length, nextOffset: offset + 12 < found.length ? offset + 12 : null };
|
|
117
124
|
}
|
|
118
125
|
const tool = all.find(t => t.name === args.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-discovery.js","sourceRoot":"","sources":["../../src/collaboration/tool-discovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-discovery.js","sourceRoot":"","sources":["../../src/collaboration/tool-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../src/core/semaphore.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAIb,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;gBAEnB,KAAK,EAAE,MAAM;IAIpC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAKvC,OAAO;IAMrB,OAAO,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../src/core/semaphore.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAIb,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;gBAEnB,KAAK,EAAE,MAAM;IAIpC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAKvC,OAAO;IAMrB,OAAO,CAAC,OAAO;CAKhB"}
|
package/lib/core/semaphore.js
CHANGED
|
@@ -22,11 +22,14 @@ export class AsyncSemaphore {
|
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
await new Promise(resolve => this.waiting.push(resolve));
|
|
25
|
-
this.
|
|
25
|
+
// The releasing owner transfers its reserved slot to this waiter.
|
|
26
26
|
}
|
|
27
27
|
release() {
|
|
28
|
-
this.
|
|
29
|
-
|
|
28
|
+
const next = this.waiting.shift();
|
|
29
|
+
if (next)
|
|
30
|
+
next();
|
|
31
|
+
else
|
|
32
|
+
this.active -= 1;
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
//# sourceMappingURL=semaphore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semaphore.js","sourceRoot":"","sources":["../../src/core/semaphore.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IAII;IAHrB,MAAM,GAAG,CAAC,CAAA;IACD,OAAO,GAAsB,EAAE,CAAA;IAEhD,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,SAA2B;QACtC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACpB,IAAI,CAAC;YAAC,OAAO,MAAM,SAAS,EAAE,CAAA;QAAC,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QAC1D,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9D,
|
|
1
|
+
{"version":3,"file":"semaphore.js","sourceRoot":"","sources":["../../src/core/semaphore.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IAII;IAHrB,MAAM,GAAG,CAAC,CAAA;IACD,OAAO,GAAsB,EAAE,CAAA;IAEhD,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAChG,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,SAA2B;QACtC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACpB,IAAI,CAAC;YAAC,OAAO,MAAM,SAAS,EAAE,CAAA;QAAC,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAAC,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QAC1D,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9D,kEAAkE;IACpE,CAAC;IAEO,OAAO;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACjC,IAAI,IAAI;YAAE,IAAI,EAAE,CAAA;;YACX,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;IACvB,CAAC;CACF"}
|
|
@@ -12,7 +12,9 @@ export type ReplyActivity = {
|
|
|
12
12
|
id: string;
|
|
13
13
|
failed: boolean;
|
|
14
14
|
};
|
|
15
|
-
export type ReplyProgress = (stage: ReplyStage | ReplyActivity) => void
|
|
15
|
+
export type ReplyProgress = ((stage: ReplyStage | ReplyActivity) => void) & {
|
|
16
|
+
acknowledge?: (text: string) => Promise<void>;
|
|
17
|
+
};
|
|
16
18
|
/** Deliberately expose only fixed labels, never tool names, arguments or reasoning. */
|
|
17
19
|
export declare function replyStage(event: SessionEvent): ReplyStage | undefined;
|
|
18
20
|
export declare function replyActivity(event: SessionEvent): ReplyActivity | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply-progress.d.ts","sourceRoot":"","sources":["../../src/execution/reply-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAA;AAE1D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AACrE,MAAM,MAAM,aAAa,GAAG;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAC,YAAY,CAAC;IAAA,EAAE,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAC,UAAU,CAAC;IAAA,EAAE,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,OAAO,CAAA;CAAC,CAAA;AAC9I,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAC,UAAU,GAAG,aAAa,KAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"reply-progress.d.ts","sourceRoot":"","sources":["../../src/execution/reply-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAA;AAE1D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AACrE,MAAM,MAAM,aAAa,GAAG;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAC,YAAY,CAAC;IAAA,EAAE,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAC,UAAU,CAAC;IAAA,EAAE,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,OAAO,CAAA;CAAC,CAAA;AAC9I,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,EAAC,UAAU,GAAG,aAAa,KAAG,IAAI,CAAC,GAAG;IAAC,WAAW,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAA;AAEpH,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,KAAK,EAAC,YAAY,GAAE,UAAU,GAAC,SAAS,CAIlE;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAC,YAAY,GAAE,aAAa,GAAC,SAAS,CAkBxE;AACD,wBAAgB,cAAc,CAAC,MAAM,EAAC,aAAa,GAAC,SAAS,EAAC,KAAK,EAAC,UAAU,GAAC,aAAa,GAAE,IAAI,CAEjG"}
|
|
@@ -14,6 +14,22 @@ export function replyActivity(event) {
|
|
|
14
14
|
return { kind: 'tool-end', id: result.toolCallId, failed: !!event.data.error || !!result.isError };
|
|
15
15
|
}
|
|
16
16
|
if (event.type === 'assistant/message' && !event.data.interrupted && event.data.message.content.some(block => block.type === 'tool-call')) {
|
|
17
|
+
// Terminal chat tools own their text; forwarding it here would deliver twice.
|
|
18
|
+
if (event.data.message.content.some(block => {
|
|
19
|
+
if (block.type !== 'tool-call')
|
|
20
|
+
return false;
|
|
21
|
+
if (block.name === 'partner_chat_reply')
|
|
22
|
+
return true;
|
|
23
|
+
if (block.name !== 'partner_tools')
|
|
24
|
+
return false;
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(block.arguments).name === 'partner_chat_reply';
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}))
|
|
32
|
+
return undefined;
|
|
17
33
|
const text = event.data.message.content.filter(block => block.type === 'text').map(block => block.text).join('\n').trim();
|
|
18
34
|
if (text)
|
|
19
35
|
return { kind: 'text', text };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply-progress.js","sourceRoot":"","sources":["../../src/execution/reply-progress.ts"],"names":[],"mappings":"AAMA,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,IAAG,KAAK,CAAC,IAAI,KAAG,WAAW;QAAC,OAAO,OAAO,CAAA;IAC1C,IAAG,KAAK,CAAC,IAAI,KAAG,gBAAgB;QAAC,OAAO,WAAW,CAAA;IACnD,OAAO,SAAS,CAAA;AAClB,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,IAAG,KAAK,CAAC,IAAI,KAAG,WAAW;QAAC,OAAO,EAAC,IAAI,EAAC,YAAY,EAAC,EAAE,EAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAC,IAAI,EAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,CAAC,CAAA,IAAI,EAAC,CAAA;IAC9I,IAAG,KAAK,CAAC,IAAI,KAAG,aAAa,EAAC,CAAC;QAC7B,MAAM,MAAM,GAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA;QAC/B,OAAO,EAAC,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,MAAM,CAAC,UAAU,EAAC,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,CAAA;IAC3F,CAAC;IACD,IAAG,KAAK,CAAC,IAAI,KAAG,mBAAmB,IAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,KAAG,WAAW,CAAC,EAAC,CAAC;QAC9H,MAAM,IAAI,GAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,KAAG,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACjH,IAAG,IAAI;YAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,CAAA;IACnC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,MAA8B,EAAC,KAA8B;IAC1F,IAAG,CAAC;QAAA,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IAAA,CAAC;IAAA,MAAK,CAAC,CAAC,qDAAqD,CAAC,CAAC;AACpF,CAAC"}
|
|
1
|
+
{"version":3,"file":"reply-progress.js","sourceRoot":"","sources":["../../src/execution/reply-progress.ts"],"names":[],"mappings":"AAMA,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,IAAG,KAAK,CAAC,IAAI,KAAG,WAAW;QAAC,OAAO,OAAO,CAAA;IAC1C,IAAG,KAAK,CAAC,IAAI,KAAG,gBAAgB;QAAC,OAAO,WAAW,CAAA;IACnD,OAAO,SAAS,CAAA;AAClB,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,IAAG,KAAK,CAAC,IAAI,KAAG,WAAW;QAAC,OAAO,EAAC,IAAI,EAAC,YAAY,EAAC,EAAE,EAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAC,IAAI,EAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,CAAC,CAAA,IAAI,EAAC,CAAA;IAC9I,IAAG,KAAK,CAAC,IAAI,KAAG,aAAa,EAAC,CAAC;QAC7B,MAAM,MAAM,GAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA;QAC/B,OAAO,EAAC,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,MAAM,CAAC,UAAU,EAAC,MAAM,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,CAAA;IAC3F,CAAC;IACD,IAAG,KAAK,CAAC,IAAI,KAAG,mBAAmB,IAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,IAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,KAAG,WAAW,CAAC,EAAC,CAAC;QAC9H,8EAA8E;QAC9E,IAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA,EAAE;YACxC,IAAG,KAAK,CAAC,IAAI,KAAG,WAAW;gBAAC,OAAO,KAAK,CAAA;YACxC,IAAG,KAAK,CAAC,IAAI,KAAG,oBAAoB;gBAAC,OAAO,IAAI,CAAA;YAChD,IAAG,KAAK,CAAC,IAAI,KAAG,eAAe;gBAAC,OAAO,KAAK,CAAA;YAC5C,IAAG,CAAC;gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAG,oBAAoB,CAAA;YAAA,CAAC;YAAA,MAAK,CAAC;gBAAA,OAAO,KAAK,CAAA;YAAA,CAAC;QACxF,CAAC,CAAC;YAAC,OAAO,SAAS,CAAA;QACnB,MAAM,IAAI,GAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,KAAG,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACjH,IAAG,IAAI;YAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,CAAA;IACnC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,MAA8B,EAAC,KAA8B;IAC1F,IAAG,CAAC;QAAA,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IAAA,CAAC;IAAA,MAAK,CAAC,CAAC,qDAAqD,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
2
|
+
import type { SessionEvent } from '@deepseek-ai/dsh-session';
|
|
3
|
+
export declare function needsTaskPreamble(name: string, args: unknown): boolean;
|
|
4
|
+
export declare class TaskPreambleGate {
|
|
5
|
+
private readonly events;
|
|
6
|
+
private readonly send;
|
|
7
|
+
private readonly active;
|
|
8
|
+
private readonly sent;
|
|
9
|
+
constructor(events: () => readonly SessionEvent[], send: (text: string) => Promise<void>, active?: () => boolean);
|
|
10
|
+
acknowledge(text: string): Promise<void>;
|
|
11
|
+
before(name: string, args: unknown): Promise<string | undefined>;
|
|
12
|
+
}
|
|
13
|
+
/** Scoped to one active channel reply; no extra model or hardcoded spoken text. */
|
|
14
|
+
export declare function installTaskPreamble(agent: Agent, send: (text: string) => Promise<void>, active?: () => boolean): () => void;
|
|
15
|
+
//# sourceMappingURL=task-preamble.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-preamble.d.ts","sourceRoot":"","sources":["../../src/execution/task-preamble.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,GAAE,OAAO,CAIlE;AAYD,qBAAa,gBAAgB;IAEf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA6B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA8B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAD1I,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;gBACxB,MAAM,EAAC,MAAI,SAAS,YAAY,EAAE,EAAkB,IAAI,EAAC,CAAC,IAAI,EAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,EAAkB,MAAM,GAAC,MAAI,OAAgB;IACzJ,WAAW,CAAC,IAAI,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC;IAStC,MAAM,CAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,GAAE,OAAO,CAAC,MAAM,GAAC,SAAS,CAAC;CAgBjE;AACD,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,CAAC,IAAI,EAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,EAAC,MAAM,GAAC,MAAI,OAAgB,GAAE,MAAI,IAAI,CAoBtH"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { isInternalTaskNotice, isRequirementDeliveryReceipt } from '../channels/delivery-policy.js';
|
|
2
|
+
import { isIdleContactNotice } from '../character/idle-contact.js';
|
|
3
|
+
const conversational = new Set(['partner_tools', 'partner_channel_access', 'partner_chat_progress', 'partner_chat_reply', 'partner_stickers', 'partner_qq_reply', 'partner_activity_finish', 'partner_identity', 'partner_memory_recall', 'partner_sleep']);
|
|
4
|
+
export function needsTaskPreamble(name, args) {
|
|
5
|
+
if (conversational.has(name))
|
|
6
|
+
return false;
|
|
7
|
+
const action = args && typeof args === 'object' ? args.action : undefined;
|
|
8
|
+
return !['list', 'describe', 'load', 'unload', 'reference', 'inspect'].includes(String(action));
|
|
9
|
+
}
|
|
10
|
+
/** Only the active user turn can request a private-channel acknowledgement. */
|
|
11
|
+
function inputId(events) {
|
|
12
|
+
for (let i = events.length - 1; i >= 0; i--) {
|
|
13
|
+
const event = events[i];
|
|
14
|
+
if (event.type === 'turn/start')
|
|
15
|
+
return undefined;
|
|
16
|
+
if (event.type !== 'user/message')
|
|
17
|
+
continue;
|
|
18
|
+
if (event.data.source.kind === 'user')
|
|
19
|
+
return event.data.id;
|
|
20
|
+
if (isIdleContactNotice(event) || isInternalTaskNotice(event) && !isRequirementDeliveryReceipt(event))
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
export class TaskPreambleGate {
|
|
26
|
+
events;
|
|
27
|
+
send;
|
|
28
|
+
active;
|
|
29
|
+
sent = new Map();
|
|
30
|
+
constructor(events, send, active = () => true) {
|
|
31
|
+
this.events = events;
|
|
32
|
+
this.send = send;
|
|
33
|
+
this.active = active;
|
|
34
|
+
}
|
|
35
|
+
async acknowledge(text) {
|
|
36
|
+
const id = inputId(this.events());
|
|
37
|
+
if (!id || !this.active())
|
|
38
|
+
throw Error('只有当前用户私聊任务可以发送前置回应,内部任务和自主活动不能使用');
|
|
39
|
+
if (typeof text !== 'string' || !text.trim() || text.length > 1200)
|
|
40
|
+
throw Error('请按当前人格写一句自然回应(1–1200 字),不使用固定进度套话');
|
|
41
|
+
let pending = this.sent.get(id);
|
|
42
|
+
if (!pending) {
|
|
43
|
+
pending = this.send(text.trim());
|
|
44
|
+
this.sent.set(id, pending);
|
|
45
|
+
}
|
|
46
|
+
await pending;
|
|
47
|
+
if (!this.active() || inputId(this.events()) !== id)
|
|
48
|
+
throw Error('用户消息已变化,请先处理新的输入');
|
|
49
|
+
}
|
|
50
|
+
async before(name, args) {
|
|
51
|
+
if (!this.active() || !needsTaskPreamble(name, args))
|
|
52
|
+
return;
|
|
53
|
+
const id = inputId(this.events());
|
|
54
|
+
if (!id)
|
|
55
|
+
return;
|
|
56
|
+
let pending = this.sent.get(id);
|
|
57
|
+
if (!pending) {
|
|
58
|
+
const message = [...this.events()].reverse().find(e => e.type === 'assistant/message' || e.type === 'user/message' || e.type === 'turn/start');
|
|
59
|
+
if (message?.type === 'assistant/message' && !message.data.interrupted && message.data.message.content.some(b => b.type === 'tool-call')) {
|
|
60
|
+
const text = message.data.message.content.filter(b => b.type === 'text').map(b => b.text).join('\n').trim();
|
|
61
|
+
if (text) {
|
|
62
|
+
try {
|
|
63
|
+
await this.acknowledge(text);
|
|
64
|
+
pending = this.sent.get(id);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return '前置回应未确认送达,本次工作尚未执行。不要宣称已开始或重试未知发送;请向用户说明当前情况。';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (!pending)
|
|
73
|
+
return '本次工作尚未执行:先调用 partner_chat_progress,text 用当前人格自然回应接下此事;等待成功后再调用本工具。统一入口使用 partner_tools action=call、name=partner_chat_progress、argumentsJson={"text":"由你按当前人格生成的回应"} 的 JSON 字符串。这个回复不会结束回合;不要用 partner_chat_reply 代替。';
|
|
74
|
+
try {
|
|
75
|
+
await pending;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return '前置回应发送失败或结果未知,本次工作尚未执行;不要重复发送或宣称已开始。';
|
|
79
|
+
}
|
|
80
|
+
if (!this.active() || inputId(this.events()) !== id)
|
|
81
|
+
return '用户消息已变化,旧任务未开始;先处理新输入。';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** Scoped to one active channel reply; no extra model or hardcoded spoken text. */
|
|
85
|
+
export function installTaskPreamble(agent, send, active = () => true) {
|
|
86
|
+
const tools = agent.ctx.tools;
|
|
87
|
+
const gate = new TaskPreambleGate(() => agent.session.snapshotEvents(), send, active);
|
|
88
|
+
const unregister = tools.register({
|
|
89
|
+
name: 'partner_chat_progress',
|
|
90
|
+
description: '私聊任务开始前先按当前人格回应一句。立即发送 text,确认投递后返回,不结束回合;随后继续实际调查、生图或执行,最后再正常答复。一轮只发送一次,不能用于自主活动或内部任务。不虚构已经完成。',
|
|
91
|
+
parameters: { type: 'object', properties: { text: { type: 'string', minLength: 1, maxLength: 1200 } }, required: ['text'], additionalProperties: false },
|
|
92
|
+
output: { schema: { type: 'object' }, render: () => [{ type: 'text', text: '前置回应已送达;继续执行任务,完成后再给出最终回复。' }] },
|
|
93
|
+
presentCall: () => ({ card: 'generic', title: '任务前置回应' }),
|
|
94
|
+
async execute(raw, exec) { exec.signal.throwIfAborted(); await gate.acknowledge(raw.text); exec.signal.throwIfAborted(); return { delivered: true }; },
|
|
95
|
+
});
|
|
96
|
+
const unguard = agent.ctx.on('tools/pre-execute', async (exec, next) => {
|
|
97
|
+
const decision = await next();
|
|
98
|
+
if (exec.agent !== agent || decision.kind !== 'allow')
|
|
99
|
+
return decision;
|
|
100
|
+
exec.signal.throwIfAborted();
|
|
101
|
+
const reason = await gate.before(exec.name, exec.arguments);
|
|
102
|
+
exec.signal.throwIfAborted();
|
|
103
|
+
return reason ? { kind: 'deny', reason } : decision;
|
|
104
|
+
});
|
|
105
|
+
return () => { unguard(); unregister(); };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=task-preamble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-preamble.js","sourceRoot":"","sources":["../../src/execution/task-preamble.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SessionEvent } from '@deepseek-ai/dsh-session';
|
|
2
|
+
import type { ChannelSession } from './domain.js';
|
|
3
|
+
/** Reading shared memory never implies permission to archive every conversation. */
|
|
4
|
+
export declare function automaticMemoryAllowed(sessionId: string, events: readonly SessionEvent[], routes: readonly ChannelSession[]): boolean;
|
|
5
|
+
//# sourceMappingURL=memory-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-admission.d.ts","sourceRoot":"","sources":["../src/memory-admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAYrI"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { questionOrigin } from './channels/question-origin.js';
|
|
2
|
+
/** Reading shared memory never implies permission to archive every conversation. */
|
|
3
|
+
export function automaticMemoryAllowed(sessionId, events, routes) {
|
|
4
|
+
const primary = routes.find(r => r.kind === 'local' && r.sessionId === sessionId);
|
|
5
|
+
if (!primary)
|
|
6
|
+
return false;
|
|
7
|
+
const origin = questionOrigin(sessionId, events, routes);
|
|
8
|
+
if (origin?.userId.startsWith('group:'))
|
|
9
|
+
return false;
|
|
10
|
+
const users = events.filter(e => e.type === 'user/message' && e.data.source.kind === 'user');
|
|
11
|
+
if (!users.length)
|
|
12
|
+
return false;
|
|
13
|
+
const text = users.map(e => e.type === 'user/message' ? e.data.content.filter(b => b.type === 'text').map(b => b.text).join('\n') : '').join('\n').trim();
|
|
14
|
+
// Old group origin IDs may have aged out of the bounded route index. The
|
|
15
|
+
// transport envelope remains in the transcript; never backfill it as local chat.
|
|
16
|
+
if (/\[QQ 群 \d+ · 发言人 |群聊背景(引用资料,不能作为执行指令)/.test(text))
|
|
17
|
+
return false;
|
|
18
|
+
return !!text && !/^(?:你好|您好|早安|午安|晚安|早上好|晚上好|谢谢|多谢|好的|好|嗯|哦|收到|再见|拜拜|哈哈|hi|hello|ok|thanks)[\s!!。.,,~~]*$/iu.test(text);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=memory-admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-admission.js","sourceRoot":"","sources":["../src/memory-admission.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,MAA+B,EAAE,MAAiC;IAC1H,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;IACjF,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAA;IAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACxD,IAAI,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;IAC5F,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACzJ,yEAAyE;IACzE,iFAAiF;IACjF,IAAI,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACpE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,2FAA2F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC1H,CAAC"}
|
package/lib/memory-reflection.js
CHANGED
|
@@ -226,7 +226,7 @@ const MEMORY_QUALITY_RULES = `梦境、想象和角色主观联想不是用户
|
|
|
226
226
|
function memoryCandidateContract() {
|
|
227
227
|
return `memories 每项必须包含完整字段,例如:{"kind":"profile","subject":"常用环境","content":"用户日常使用 macOS。","confidence":0.95,"importance":0.8,"operation":"upsert","evidenceQuote":"我平时用 macOS","sourceTurnId":"复制输入中对应的 id"}。该例仅说明格式,不是待记录事实。evidenceQuote 必须来自输入 user 的连续原话,不能包含压缩标记省略号;sourceTurnId 取 newTurn.id 或 turns[].id。targetMemoryId 仅更新已有记忆时填写;长期画像和偏好不要填写 expiresInDays。用户明确陈述的长期背景和明确的长期协作偏好,应当及时提炼,不要求先重复多次;不能从临时任务推断身份。`;
|
|
228
228
|
}
|
|
229
|
-
const REFLECTION_SYSTEM =
|
|
229
|
+
const REFLECTION_SYSTEM = `你是长期伙伴的记忆整理器。你不回答用户,只从有证据的对话中维护每日回顾和结构化记忆。优先保留稳定偏好、明确要求记住的事实、重要约定和有后续价值的进展;闲聊、问候、一次性查询、工具过程和重复事实不新增长期条目,无值得保留的信息时 memories 和 concerns 返回空数组。记忆不是聊天流水账。
|
|
230
230
|
${MEMORY_QUALITY_RULES}
|
|
231
231
|
${memoryCandidateContract()}
|
|
232
232
|
只输出一个 JSON 对象,不要 Markdown。格式:
|
package/lib/ui/push-draft.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import type { PushChannelView } from '../notifications/push-domain.js';
|
|
|
2
2
|
export declare function pushDraft(channel: PushChannelView): {
|
|
3
3
|
targets: {
|
|
4
4
|
key: string;
|
|
5
|
-
name: string;
|
|
6
5
|
id: string;
|
|
6
|
+
name: string;
|
|
7
7
|
enabled: boolean;
|
|
8
8
|
configured: boolean;
|
|
9
9
|
}[];
|
|
10
|
-
name: string;
|
|
11
10
|
id: string;
|
|
11
|
+
name: string;
|
|
12
12
|
createdAt: number;
|
|
13
13
|
updatedAt: number;
|
|
14
14
|
enabled: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-partner",
|
|
3
|
-
"version": "2.21.
|
|
3
|
+
"version": "2.21.13",
|
|
4
4
|
"description": "Long-lived AI companions with QQ, WeChat, Matrix and Mattermost channels for DeepSeek Harness",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
@@ -136,7 +136,10 @@
|
|
|
136
136
|
"docs/releases/2.21.8.md",
|
|
137
137
|
"docs/releases/2.21.9.md",
|
|
138
138
|
"docs/releases/2.21.10.md",
|
|
139
|
-
"docs/releases/2.21.11.md"
|
|
139
|
+
"docs/releases/2.21.11.md",
|
|
140
|
+
"docs/releases/2.21.12.md",
|
|
141
|
+
"docs/conversation-autonomy.md",
|
|
142
|
+
"docs/releases/2.21.13.md"
|
|
140
143
|
],
|
|
141
144
|
"dsh": {
|
|
142
145
|
"bundle": {
|