@lemoncat7/dsh-partner 0.1.0-alpha.21 → 0.1.0-alpha.22
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 -2
- package/lib/agent-runtime.d.ts +6 -4
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +33 -14
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api.d.ts +2 -2
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +21 -6
- package/lib/api.js.map +1 -1
- package/lib/client-api.d.ts +36 -7
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.js +702 -92
- package/lib/client.js.map +2 -2
- package/lib/domain.d.ts +4 -2
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js +12 -6
- package/lib/domain.js.map +1 -1
- package/lib/heartbeat.d.ts +1 -3
- package/lib/heartbeat.d.ts.map +1 -1
- package/lib/heartbeat.js +1 -7
- package/lib/heartbeat.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +14 -7
- package/lib/index.js.map +1 -1
- package/lib/memory-domain.d.ts +58 -0
- package/lib/memory-domain.d.ts.map +1 -0
- package/lib/memory-domain.js +2 -0
- package/lib/memory-domain.js.map +1 -0
- package/lib/memory-reflection.d.ts +20 -0
- package/lib/memory-reflection.d.ts.map +1 -0
- package/lib/memory-reflection.js +112 -0
- package/lib/memory-reflection.js.map +1 -0
- package/lib/memory-store.d.ts +38 -0
- package/lib/memory-store.d.ts.map +1 -0
- package/lib/memory-store.js +399 -0
- package/lib/memory-store.js.map +1 -0
- package/lib/store.js +18 -2
- package/lib/store.js.map +1 -1
- package/package.json +1 -1
- package/lib/journal.d.ts +0 -23
- package/lib/journal.d.ts.map +0 -1
- package/lib/journal.js +0 -93
- package/lib/journal.js.map +0 -1
package/lib/domain.d.ts
CHANGED
|
@@ -15,9 +15,11 @@ export interface Companion {
|
|
|
15
15
|
updatedAt: number;
|
|
16
16
|
}
|
|
17
17
|
export interface CompanionAutomation {
|
|
18
|
-
|
|
18
|
+
memory: {
|
|
19
19
|
enabled: boolean;
|
|
20
20
|
retentionDays: number;
|
|
21
|
+
provider?: string;
|
|
22
|
+
model?: string;
|
|
21
23
|
};
|
|
22
24
|
heartbeat: {
|
|
23
25
|
enabled: boolean;
|
|
@@ -66,7 +68,7 @@ export interface ChannelSession {
|
|
|
66
68
|
lastMessageAt: number;
|
|
67
69
|
}
|
|
68
70
|
export interface PartnerState {
|
|
69
|
-
schemaVersion:
|
|
71
|
+
schemaVersion: 6;
|
|
70
72
|
companions: Companion[];
|
|
71
73
|
channels: WeixinChannel[];
|
|
72
74
|
pairings: PairingRequest[];
|
package/lib/domain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAA;AACxE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;AAE9D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,mBAAmB,EAAE,CAAA;IACnC,UAAU,EAAE,mBAAmB,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
|
package/lib/domain.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
export const DEFAULT_AUTOMATION = {
|
|
2
|
-
|
|
2
|
+
memory: { enabled: true, retentionDays: 0 },
|
|
3
3
|
heartbeat: { enabled: false, intervalMinutes: 360, quietStartHour: 22, quietEndHour: 8, dailyLimit: 0 },
|
|
4
4
|
};
|
|
5
5
|
export function normalizeAutomation(value) {
|
|
6
6
|
const input = object(value, 'automation');
|
|
7
|
-
const
|
|
7
|
+
const memory = object(input.memory, 'automation.memory');
|
|
8
8
|
const heartbeat = object(input.heartbeat, 'automation.heartbeat');
|
|
9
9
|
return {
|
|
10
|
-
|
|
11
|
-
enabled: boolean(
|
|
12
|
-
retentionDays: retentionDays(
|
|
10
|
+
memory: {
|
|
11
|
+
enabled: boolean(memory.enabled, 'memory.enabled'),
|
|
12
|
+
retentionDays: retentionDays(memory.retentionDays),
|
|
13
|
+
...optionalRoute(memory),
|
|
13
14
|
},
|
|
14
15
|
heartbeat: {
|
|
15
16
|
enabled: boolean(heartbeat.enabled, 'heartbeat.enabled'),
|
|
@@ -20,6 +21,11 @@ export function normalizeAutomation(value) {
|
|
|
20
21
|
},
|
|
21
22
|
};
|
|
22
23
|
}
|
|
24
|
+
function optionalRoute(value) {
|
|
25
|
+
const provider = optionalText(value.provider, 'memory.provider', 100);
|
|
26
|
+
const model = optionalText(value.model, 'memory.model', 200);
|
|
27
|
+
return { ...(provider ? { provider } : {}), ...(model ? { model } : {}) };
|
|
28
|
+
}
|
|
23
29
|
export function normalizeCompanionDraft(value) {
|
|
24
30
|
const input = object(value, 'companion');
|
|
25
31
|
const capabilities = Array.isArray(input.capabilities)
|
|
@@ -69,7 +75,7 @@ function integer(value, label, min, max) {
|
|
|
69
75
|
function retentionDays(value) {
|
|
70
76
|
if (value === 0)
|
|
71
77
|
return 0;
|
|
72
|
-
return integer(value, '
|
|
78
|
+
return integer(value, 'memory.retentionDays', 7, 3650);
|
|
73
79
|
}
|
|
74
80
|
export function object(value, label) {
|
|
75
81
|
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
package/lib/domain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
|
package/lib/heartbeat.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
2
2
|
import { PartnerStore } from './store.js';
|
|
3
|
-
import { PartnerJournal } from './journal.js';
|
|
4
3
|
import { PartnerAgentRuntime } from './agent-runtime.js';
|
|
5
4
|
import { ChannelManager } from './channels/manager.js';
|
|
6
5
|
export declare class HeartbeatScheduler {
|
|
@@ -8,12 +7,11 @@ export declare class HeartbeatScheduler {
|
|
|
8
7
|
private readonly store;
|
|
9
8
|
private readonly agents;
|
|
10
9
|
private readonly channels;
|
|
11
|
-
private readonly journal;
|
|
12
10
|
private readonly timeZone;
|
|
13
11
|
private timer;
|
|
14
12
|
private closed;
|
|
15
13
|
private readonly running;
|
|
16
|
-
constructor(ctx: Context, store: PartnerStore, agents: PartnerAgentRuntime, channels: ChannelManager,
|
|
14
|
+
constructor(ctx: Context, store: PartnerStore, agents: PartnerAgentRuntime, channels: ChannelManager, timeZone?: string);
|
|
17
15
|
start(): void;
|
|
18
16
|
close(): Promise<void>;
|
|
19
17
|
trigger(companionId: string, force?: boolean): Promise<{
|
package/lib/heartbeat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,qBAAa,kBAAkB;IAM3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAGzB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,SAAkB;IAG7C,KAAK,IAAI,IAAI;IAKP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAUhH,OAAO,CAAC,QAAQ;YASF,IAAI;YAeJ,GAAG;YAuCH,SAAS;CAMxB;AA2BD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,OAAO,CAIlG;AACD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAE7F;AACD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAErF;AACD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAGxE"}
|
package/lib/heartbeat.js
CHANGED
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import { journalScope } from './agent-runtime.js';
|
|
2
1
|
const TICK_MS = 60_000;
|
|
3
2
|
export class HeartbeatScheduler {
|
|
4
3
|
ctx;
|
|
5
4
|
store;
|
|
6
5
|
agents;
|
|
7
6
|
channels;
|
|
8
|
-
journal;
|
|
9
7
|
timeZone;
|
|
10
8
|
timer;
|
|
11
9
|
closed = false;
|
|
12
10
|
running = new Set();
|
|
13
|
-
constructor(ctx, store, agents, channels,
|
|
11
|
+
constructor(ctx, store, agents, channels, timeZone = 'Asia/Shanghai') {
|
|
14
12
|
this.ctx = ctx;
|
|
15
13
|
this.store = store;
|
|
16
14
|
this.agents = agents;
|
|
17
15
|
this.channels = channels;
|
|
18
|
-
this.journal = journal;
|
|
19
16
|
this.timeZone = timeZone;
|
|
20
17
|
}
|
|
21
18
|
start() {
|
|
@@ -96,9 +93,6 @@ export class HeartbeatScheduler {
|
|
|
96
93
|
return { checked: true, sent: false, reason: '没有值得主动通知的内容' };
|
|
97
94
|
}
|
|
98
95
|
await this.channels.sendProactive(route.channelId, route.userId, output);
|
|
99
|
-
if (companion.automation.journal.enabled)
|
|
100
|
-
await this.journal.record(companion.id, journalScope(route.channelId, route.userId), 'heartbeat', '主动心跳检查', output)
|
|
101
|
-
.catch(error => this.ctx.logger.warn(`dsh-partner heartbeat journal write failed: ${message(error)}`));
|
|
102
96
|
await this.saveState(companion, successState(existing, companion, now, today, sentCount + 1, true));
|
|
103
97
|
return { checked: true, sent: true };
|
|
104
98
|
}
|
package/lib/heartbeat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAiB,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAiB,KAAK,MAAM,IAAI,aAAa,EAAE,MAAM,aAAa,CAAA;AAWjG,eAAO,MAAM,MAAM,0DAAe,CAAA;AAClC,MAAM,MAAM,MAAM,GAAG,aAAa,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,eAAO,MAAM,MAAM,UAA6G,CAAA;AAWhI,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAwCnE"}
|
package/lib/index.js
CHANGED
|
@@ -5,25 +5,32 @@ import { PartnerAgentRuntime } from './agent-runtime.js';
|
|
|
5
5
|
import { ChannelManager } from './channels/manager.js';
|
|
6
6
|
import { WeixinLoginManager } from './channels/weixin/login.js';
|
|
7
7
|
import { registerPartnerApi } from './api.js';
|
|
8
|
-
import { PartnerJournal } from './journal.js';
|
|
9
8
|
import { HeartbeatScheduler } from './heartbeat.js';
|
|
9
|
+
import { PartnerMemoryStore } from './memory-store.js';
|
|
10
|
+
import { MemoryReflectionService } from './memory-reflection.js';
|
|
10
11
|
export const Config = ConfigSchema;
|
|
11
12
|
export * from './domain.js';
|
|
12
13
|
export const name = 'dsh-partner';
|
|
13
|
-
export const inject = ['credentials', 'agents', 'agentDefaultModel', 'agentPresets', 'systemPrompt', 'workspaceRegistry'];
|
|
14
|
+
export const inject = ['credentials', 'agents', 'agentDefaultModel', 'agentPresets', 'systemPrompt', 'workspaceRegistry', 'llm'];
|
|
14
15
|
export function apply(context, config) {
|
|
15
16
|
const ctx = context;
|
|
16
17
|
const resolved = resolveConfig(config);
|
|
17
18
|
ctx.effect(async () => {
|
|
18
19
|
const store = await PartnerStore.open(resolved.statePath);
|
|
19
20
|
const credentials = new PartnerCredentialVault(ctx.credentials);
|
|
20
|
-
const
|
|
21
|
-
const
|
|
21
|
+
const memory = new PartnerMemoryStore(resolved.defaultCwd, resolved.timeZone);
|
|
22
|
+
for (const companion of store.snapshot().companions) {
|
|
23
|
+
const migrated = await memory.migrateLegacy(companion.id);
|
|
24
|
+
if (migrated > 0)
|
|
25
|
+
ctx.logger.info(`dsh-partner: migrated ${migrated} legacy memory records for ${companion.id}`);
|
|
26
|
+
}
|
|
27
|
+
const reflection = new MemoryReflectionService(ctx, memory);
|
|
28
|
+
const agents = new PartnerAgentRuntime(ctx, store, resolved.defaultCwd, memory, reflection);
|
|
22
29
|
const disposeJournalObserver = ctx.on('session/event', (session, event) => {
|
|
23
|
-
void agents.observeSessionEvent(session, event).catch(error => ctx.logger.warn(`dsh-partner
|
|
30
|
+
void agents.observeSessionEvent(session, event).catch(error => ctx.logger.warn(`dsh-partner memory reflection failed: ${error instanceof Error ? error.message : String(error)}`));
|
|
24
31
|
});
|
|
25
32
|
const channels = new ChannelManager(ctx, store, credentials, agents);
|
|
26
|
-
const heartbeat = new HeartbeatScheduler(ctx, store, agents, channels,
|
|
33
|
+
const heartbeat = new HeartbeatScheduler(ctx, store, agents, channels, resolved.timeZone);
|
|
27
34
|
const login = new WeixinLoginManager();
|
|
28
35
|
let disposeApi;
|
|
29
36
|
const mountApi = (runtime) => {
|
|
@@ -32,7 +39,7 @@ export function apply(context, config) {
|
|
|
32
39
|
const webServer = runtime.webServer ?? runtime.get('webServer');
|
|
33
40
|
if (webServer === undefined)
|
|
34
41
|
throw new Error('dsh-partner exposeWeb requires webServer');
|
|
35
|
-
disposeApi = registerPartnerApi(webServer, resolved.apiPrefix, { ctx, store, credentials, channels, agents, login,
|
|
42
|
+
disposeApi = registerPartnerApi(webServer, resolved.apiPrefix, { ctx, store, credentials, channels, agents, login, memory, heartbeat });
|
|
36
43
|
};
|
|
37
44
|
if (ctx.inject !== undefined)
|
|
38
45
|
ctx.inject(['webServer'], mountApi);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,aAAa,EAAgC,MAAM,aAAa,CAAA;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAsB,MAAM,UAAU,CAAA;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export type MemoryKind = 'profile' | 'preference' | 'task' | 'event' | 'relationship' | 'emotion';
|
|
2
|
+
export type MemoryStatus = 'active' | 'completed' | 'superseded' | 'expired';
|
|
3
|
+
export interface ConversationTurn {
|
|
4
|
+
id: string;
|
|
5
|
+
companionId: string;
|
|
6
|
+
scopeId: string;
|
|
7
|
+
sessionId: string;
|
|
8
|
+
at: number;
|
|
9
|
+
user: string;
|
|
10
|
+
assistant: string;
|
|
11
|
+
}
|
|
12
|
+
export interface MemoryEvidence {
|
|
13
|
+
turnId: string;
|
|
14
|
+
at: number;
|
|
15
|
+
excerpt: string;
|
|
16
|
+
}
|
|
17
|
+
export interface PartnerMemory {
|
|
18
|
+
id: string;
|
|
19
|
+
companionId: string;
|
|
20
|
+
scopeId: string;
|
|
21
|
+
kind: MemoryKind;
|
|
22
|
+
subject: string;
|
|
23
|
+
content: string;
|
|
24
|
+
status: MemoryStatus;
|
|
25
|
+
confidence: number;
|
|
26
|
+
importance: number;
|
|
27
|
+
createdAt: number;
|
|
28
|
+
updatedAt: number;
|
|
29
|
+
expiresAt?: number;
|
|
30
|
+
locked?: boolean;
|
|
31
|
+
evidence: MemoryEvidence[];
|
|
32
|
+
}
|
|
33
|
+
export interface DailyReflection {
|
|
34
|
+
date: string;
|
|
35
|
+
companionId: string;
|
|
36
|
+
scopeId: string;
|
|
37
|
+
summary: string;
|
|
38
|
+
events: string[];
|
|
39
|
+
openTasks: string[];
|
|
40
|
+
completedTasks: string[];
|
|
41
|
+
learnings: string[];
|
|
42
|
+
updatedAt: number;
|
|
43
|
+
turnCount: number;
|
|
44
|
+
}
|
|
45
|
+
export interface MemoryCandidate {
|
|
46
|
+
kind: MemoryKind;
|
|
47
|
+
subject: string;
|
|
48
|
+
content: string;
|
|
49
|
+
confidence: number;
|
|
50
|
+
importance: number;
|
|
51
|
+
operation: 'upsert' | 'complete' | 'remove';
|
|
52
|
+
expiresInDays?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ReflectionResult {
|
|
55
|
+
daily: Pick<DailyReflection, 'summary' | 'events' | 'openTasks' | 'completedTasks' | 'learnings'>;
|
|
56
|
+
memories: MemoryCandidate[];
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=memory-domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-domain.d.ts","sourceRoot":"","sources":["../src/memory-domain.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,CAAA;AACjG,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAA;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAC,CAAA;IACjG,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-domain.js","sourceRoot":"","sources":["../src/memory-domain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { AgentDefaultModelConfig } from '@deepseek-ai/dsh-agent-default-model';
|
|
3
|
+
import type { Companion } from './domain.js';
|
|
4
|
+
import type { ConversationTurn, ReflectionResult } from './memory-domain.js';
|
|
5
|
+
import type { PartnerMemoryStore } from './memory-store.js';
|
|
6
|
+
type ReflectionContext = Context & {
|
|
7
|
+
llm: Context['llm'];
|
|
8
|
+
agentDefaultModel: AgentDefaultModelConfig;
|
|
9
|
+
};
|
|
10
|
+
export declare class MemoryReflectionService {
|
|
11
|
+
private readonly ctx;
|
|
12
|
+
private readonly store;
|
|
13
|
+
private readonly queues;
|
|
14
|
+
constructor(ctx: ReflectionContext, store: PartnerMemoryStore);
|
|
15
|
+
reflect(companion: Companion, turn: ConversationTurn): Promise<void>;
|
|
16
|
+
private run;
|
|
17
|
+
}
|
|
18
|
+
export declare function parseReflection(raw: string): ReflectionResult;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=memory-reflection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-reflection.d.ts","sourceRoot":"","sources":["../src/memory-reflection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAEnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAA+B,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,KAAK,iBAAiB,GAAG,OAAO,GAAG;IAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAAC,iBAAiB,EAAE,uBAAuB,CAAA;CAAE,CAAA;AAEtG,qBAAa,uBAAuB;IAEtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAqB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAD3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAC7B,GAAG,EAAE,iBAAiB,EAAmB,KAAK,EAAE,kBAAkB;IAEzF,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAQ5D,GAAG;CA8BlB;AAgBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAa7D"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
2
|
+
export class MemoryReflectionService {
|
|
3
|
+
ctx;
|
|
4
|
+
store;
|
|
5
|
+
queues = new Map();
|
|
6
|
+
constructor(ctx, store) {
|
|
7
|
+
this.ctx = ctx;
|
|
8
|
+
this.store = store;
|
|
9
|
+
}
|
|
10
|
+
async reflect(companion, turn) {
|
|
11
|
+
const key = `${companion.id}:${turn.scopeId}`;
|
|
12
|
+
const previous = this.queues.get(key) ?? Promise.resolve();
|
|
13
|
+
const current = previous.catch(() => { }).then(() => this.run(companion, turn));
|
|
14
|
+
this.queues.set(key, current);
|
|
15
|
+
try {
|
|
16
|
+
await current;
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
if (this.queues.get(key) === current)
|
|
20
|
+
this.queues.delete(key);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async run(companion, turn) {
|
|
24
|
+
await this.store.archive(turn);
|
|
25
|
+
const existing = await this.store.recall(companion.id, turn.scopeId, turn.user, 16);
|
|
26
|
+
const diaries = await this.store.recentReflectionsForScope(companion.id, turn.scopeId, 1);
|
|
27
|
+
const selection = {
|
|
28
|
+
...this.ctx.agentDefaultModel.currentSelection(),
|
|
29
|
+
...(companion.provider ? { provider: companion.provider } : {}),
|
|
30
|
+
...(companion.model ? { model: companion.model } : {}),
|
|
31
|
+
...(companion.automation.memory.provider ? { provider: companion.automation.memory.provider } : {}),
|
|
32
|
+
...(companion.automation.memory.model ? { model: companion.automation.memory.model } : {}),
|
|
33
|
+
};
|
|
34
|
+
const controller = new AbortController();
|
|
35
|
+
const timeout = setTimeout(() => controller.abort(), 60_000);
|
|
36
|
+
let output = '';
|
|
37
|
+
try {
|
|
38
|
+
for await (const chunk of this.ctx.llm.stream({
|
|
39
|
+
...selection,
|
|
40
|
+
messages: [createUserMessage({ content: [{ type: 'text', text: reflectionInput(this.store.day(turn.at), turn, existing, diaries.find(item => item.date === this.store.day(turn.at))) }], source: { kind: 'plugin', plugin: '@lemoncat7/dsh-partner', form: 'notice', summary: '伙伴记忆提炼' } })],
|
|
41
|
+
system: REFLECTION_SYSTEM,
|
|
42
|
+
temperature: 0.1,
|
|
43
|
+
maxTokens: 1800,
|
|
44
|
+
signal: controller.signal,
|
|
45
|
+
})) {
|
|
46
|
+
if (chunk.type === 'text-delta')
|
|
47
|
+
output += chunk.text;
|
|
48
|
+
if (chunk.type === 'finish' && chunk.reason.kind !== 'stop')
|
|
49
|
+
throw new Error(`memory reflection failed: ${chunk.reason.kind}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
clearTimeout(timeout);
|
|
54
|
+
}
|
|
55
|
+
await this.store.consolidate(turn, parseReflection(output));
|
|
56
|
+
await this.store.prune(companion.id, companion.automation.memory.retentionDays);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const REFLECTION_SYSTEM = `你是长期伙伴的记忆整理器。你不回答用户,只从有证据的对话中维护每日回顾和结构化记忆。
|
|
60
|
+
只输出一个 JSON 对象,不要 Markdown。格式:
|
|
61
|
+
{"daily":{"summary":"当天截至当前的简洁总结","events":[],"openTasks":[],"completedTasks":[],"learnings":[]},"memories":[{"kind":"profile|preference|task|event|relationship|emotion","subject":"稳定且简短的索引主题","content":"带场景边界的准确内容","confidence":0.0,"importance":0.0,"operation":"upsert|complete|remove","expiresInDays":3}]}
|
|
62
|
+
规则:
|
|
63
|
+
1. 不把寒暄、模型猜测、助手自述当成用户事实;没有长期价值时 memories 返回空数组。
|
|
64
|
+
2. 偏好必须保留适用场景和例外;任务只记录用户明确提出或双方明确承诺的事项。
|
|
65
|
+
3. emotion 只是短期信号,必须设置 1-7 天过期,不做心理诊断。
|
|
66
|
+
4. 与已有记忆同主题时沿用 subject;用户纠正旧理解时用 upsert 更新,撤销时 remove,任务完成时 complete。
|
|
67
|
+
5. daily 应综合已有当日日记与新对话,不能只复述最后一句。数组每类最多 20 条,记忆候选最多 12 条。`;
|
|
68
|
+
function reflectionInput(date, turn, memories, diary) {
|
|
69
|
+
return JSON.stringify({ date, existingDailyReflection: diary ?? null, existingRelevantMemories: memories, newTurn: { id: turn.id, user: turn.user, assistant: turn.assistant } });
|
|
70
|
+
}
|
|
71
|
+
export function parseReflection(raw) {
|
|
72
|
+
const match = raw.trim().match(/\{[\s\S]*\}/);
|
|
73
|
+
if (!match)
|
|
74
|
+
throw new Error('memory reflection returned no JSON object');
|
|
75
|
+
const value = JSON.parse(match[0]);
|
|
76
|
+
const daily = record(value.daily);
|
|
77
|
+
const memories = Array.isArray(value.memories) ? value.memories.map(parseCandidate).filter((item) => item !== undefined).slice(0, 12) : [];
|
|
78
|
+
return {
|
|
79
|
+
daily: {
|
|
80
|
+
summary: string(daily.summary, 1200), events: stringArray(daily.events), openTasks: stringArray(daily.openTasks),
|
|
81
|
+
completedTasks: stringArray(daily.completedTasks), learnings: stringArray(daily.learnings),
|
|
82
|
+
},
|
|
83
|
+
memories,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function parseCandidate(value) {
|
|
87
|
+
const item = record(value);
|
|
88
|
+
const kind = item.kind;
|
|
89
|
+
const operation = item.operation;
|
|
90
|
+
if (!isKind(kind) || (operation !== 'upsert' && operation !== 'complete' && operation !== 'remove'))
|
|
91
|
+
return undefined;
|
|
92
|
+
const subject = string(item.subject, 120);
|
|
93
|
+
const content = string(item.content, 800);
|
|
94
|
+
if (!subject || (operation === 'upsert' && !content))
|
|
95
|
+
return undefined;
|
|
96
|
+
const candidate = {
|
|
97
|
+
kind, operation, subject, content,
|
|
98
|
+
confidence: number(item.confidence), importance: number(item.importance),
|
|
99
|
+
};
|
|
100
|
+
if (kind === 'emotion')
|
|
101
|
+
candidate.expiresInDays = Math.min(7, Math.max(1, Math.round(finite(item.expiresInDays, 3))));
|
|
102
|
+
else if (typeof item.expiresInDays === 'number' && item.expiresInDays > 0)
|
|
103
|
+
candidate.expiresInDays = Math.min(3650, Math.round(item.expiresInDays));
|
|
104
|
+
return candidate;
|
|
105
|
+
}
|
|
106
|
+
function isKind(value) { return value === 'profile' || value === 'preference' || value === 'task' || value === 'event' || value === 'relationship' || value === 'emotion'; }
|
|
107
|
+
function record(value) { return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : {}; }
|
|
108
|
+
function string(value, max) { const text = typeof value === 'string' ? value.replace(/\s+/g, ' ').trim() : ''; return text.slice(0, max); }
|
|
109
|
+
function stringArray(value) { return Array.isArray(value) ? [...new Set(value.map(item => string(item, 240)).filter(Boolean))].slice(0, 20) : []; }
|
|
110
|
+
function number(value) { return typeof value === 'number' && Number.isFinite(value) ? Math.min(1, Math.max(0, value)) : 0.5; }
|
|
111
|
+
function finite(value, fallback) { return typeof value === 'number' && Number.isFinite(value) ? value : fallback; }
|
|
112
|
+
//# sourceMappingURL=memory-reflection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-reflection.js","sourceRoot":"","sources":["../src/memory-reflection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ConversationTurn, DailyReflection, MemoryCandidate, PartnerMemory } from './memory-domain.js';
|
|
2
|
+
type ReflectionResultLike = {
|
|
3
|
+
daily: Omit<DailyReflection, 'date' | 'companionId' | 'scopeId' | 'updatedAt' | 'turnCount'>;
|
|
4
|
+
memories: MemoryCandidate[];
|
|
5
|
+
};
|
|
6
|
+
export declare class PartnerMemoryStore {
|
|
7
|
+
private readonly root;
|
|
8
|
+
private readonly timeZone;
|
|
9
|
+
private readonly writes;
|
|
10
|
+
constructor(root: string, timeZone?: string);
|
|
11
|
+
day(at: number): string;
|
|
12
|
+
archive(turn: ConversationTurn): Promise<void>;
|
|
13
|
+
consolidate(turn: ConversationTurn, result: ReflectionResultLike): Promise<void>;
|
|
14
|
+
recall(companionId: string, scopeId: string, query: string, limit?: number): Promise<PartnerMemory[]>;
|
|
15
|
+
recentMemories(companionId: string, limit?: number): Promise<PartnerMemory[]>;
|
|
16
|
+
updateMemory(companionId: string, memoryId: string, subject: string, content: string): Promise<PartnerMemory>;
|
|
17
|
+
deleteMemory(companionId: string, memoryId: string): Promise<void>;
|
|
18
|
+
recentReflections(companionId: string, limit?: number): Promise<DailyReflection[]>;
|
|
19
|
+
recentReflectionsForScope(companionId: string, scopeId: string, limit?: number): Promise<DailyReflection[]>;
|
|
20
|
+
clear(companionId: string): Promise<void>;
|
|
21
|
+
migrateLegacy(companionId: string): Promise<number>;
|
|
22
|
+
prune(companionId: string, retentionDays: number): Promise<void>;
|
|
23
|
+
private open;
|
|
24
|
+
private memoriesForScope;
|
|
25
|
+
private upsertMemory;
|
|
26
|
+
private migrateJson;
|
|
27
|
+
private upsertReflection;
|
|
28
|
+
private migrateJournal;
|
|
29
|
+
private scopeDirectories;
|
|
30
|
+
private memoryRoot;
|
|
31
|
+
private databasePath;
|
|
32
|
+
private scopeDirectory;
|
|
33
|
+
private serial;
|
|
34
|
+
private serialValue;
|
|
35
|
+
}
|
|
36
|
+
export declare function localMemoryDay(value: number, timeZone?: string): string;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=memory-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../src/memory-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAA4C,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGrJ,KAAK,oBAAoB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAA;AAGzJ,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAU,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAE7B,IAAI,EAAE,MAAM,EAAmB,QAAQ,SAAkB;IAEtF,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAEjB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9C,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBhF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAcjG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAM1E,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAY7G,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAM9E,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMvG,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnD,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAoBxD,IAAI;IAuBlB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;YAaN,WAAW;IAiCzB,OAAO,CAAC,gBAAgB;YAYV,cAAc;YAuBd,gBAAgB;IAM9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;YAER,MAAM;YACN,WAAW;CAO1B;AA4DD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAkB,GAAG,MAAM,CAAqC"}
|