@lemoncat7/dsh-partner 2.11.6 → 2.21.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 +3 -0
- package/docs/THIRD_PARTY_LICENSES.md +1 -1
- package/docs/character-cards-and-renewal.md +1 -1
- package/docs/qq-attention.md +51 -0
- package/docs/qq-channel.md +80 -0
- package/docs/releases/2.11.7.md +9 -0
- package/docs/releases/2.12.0.md +14 -0
- package/docs/releases/2.13.0.md +9 -0
- package/docs/releases/2.14.0.md +9 -0
- package/docs/releases/2.15.0.md +9 -0
- package/docs/releases/2.15.1.md +9 -0
- package/docs/releases/2.16.0.md +18 -0
- package/docs/releases/2.17.0.md +23 -0
- package/docs/releases/2.17.1.md +9 -0
- package/docs/releases/2.18.0.md +9 -0
- package/docs/releases/2.18.1.md +5 -0
- package/docs/releases/2.19.0.md +14 -0
- package/docs/releases/2.19.1.md +7 -0
- package/docs/releases/2.19.2.md +9 -0
- package/docs/releases/2.19.3.md +5 -0
- package/docs/releases/2.20.0.md +10 -0
- package/docs/releases/2.20.1.md +8 -0
- package/docs/releases/2.21.0.md +7 -0
- package/docs/releases/2.21.1.md +8 -0
- package/docs/releases/2.21.10.md +5 -0
- package/docs/releases/2.21.11.md +7 -0
- package/docs/releases/2.21.2.md +10 -0
- package/docs/releases/2.21.3.md +7 -0
- package/docs/releases/2.21.4.md +8 -0
- package/docs/releases/2.21.5.md +15 -0
- package/docs/releases/2.21.6.md +6 -0
- package/docs/releases/2.21.7.md +11 -0
- package/docs/releases/2.21.8.md +9 -0
- package/docs/releases/2.21.9.md +6 -0
- package/docs/tool-entry-compatibility.md +11 -0
- package/lib/agent-runtime.d.ts +25 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +364 -62
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api.d.ts +1 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +94 -27
- package/lib/api.js.map +1 -1
- package/lib/channel-message.d.ts +14 -0
- package/lib/channel-message.d.ts.map +1 -1
- package/lib/channel-message.js.map +1 -1
- package/lib/channels/delivery-policy.js +1 -1
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/dispatcher.d.ts +2 -2
- package/lib/channels/direct/dispatcher.d.ts.map +1 -1
- package/lib/channels/direct/dispatcher.js +13 -4
- package/lib/channels/direct/dispatcher.js.map +1 -1
- package/lib/channels/direct/login.d.ts.map +1 -1
- package/lib/channels/direct/login.js +4 -0
- package/lib/channels/direct/login.js.map +1 -1
- package/lib/channels/direct/media.d.ts +2 -0
- package/lib/channels/direct/media.d.ts.map +1 -1
- package/lib/channels/direct/media.js +27 -23
- package/lib/channels/direct/media.js.map +1 -1
- package/lib/channels/direct/transport.d.ts +26 -3
- package/lib/channels/direct/transport.d.ts.map +1 -1
- package/lib/channels/direct/transport.js +31 -5
- package/lib/channels/direct/transport.js.map +1 -1
- package/lib/channels/manager.d.ts +26 -0
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +538 -148
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/notification-delivery.d.ts +4 -0
- package/lib/channels/notification-delivery.d.ts.map +1 -1
- package/lib/channels/notification-delivery.js +15 -5
- package/lib/channels/notification-delivery.js.map +1 -1
- package/lib/channels/notification-route.d.ts.map +1 -1
- package/lib/channels/notification-route.js +10 -4
- package/lib/channels/notification-route.js.map +1 -1
- package/lib/channels/notification-timeout.d.ts.map +1 -1
- package/lib/channels/notification-timeout.js +2 -0
- package/lib/channels/notification-timeout.js.map +1 -1
- package/lib/channels/outbound-media.d.ts.map +1 -1
- package/lib/channels/outbound-media.js +2 -0
- package/lib/channels/outbound-media.js.map +1 -1
- package/lib/channels/qq/action-catalog.d.ts +38 -0
- package/lib/channels/qq/action-catalog.d.ts.map +1 -0
- package/lib/channels/qq/action-catalog.js +2731 -0
- package/lib/channels/qq/action-catalog.js.map +1 -0
- package/lib/channels/qq/actions.d.ts +21 -0
- package/lib/channels/qq/actions.d.ts.map +1 -0
- package/lib/channels/qq/actions.js +226 -0
- package/lib/channels/qq/actions.js.map +1 -0
- package/lib/channels/qq/affection-adapter.d.ts +3 -0
- package/lib/channels/qq/affection-adapter.d.ts.map +1 -0
- package/lib/channels/qq/affection-adapter.js +16 -0
- package/lib/channels/qq/affection-adapter.js.map +1 -0
- package/lib/channels/qq/attention-classifier.d.ts +10 -0
- package/lib/channels/qq/attention-classifier.d.ts.map +1 -0
- package/lib/channels/qq/attention-classifier.js +62 -0
- package/lib/channels/qq/attention-classifier.js.map +1 -0
- package/lib/channels/qq/authority.d.ts +11 -0
- package/lib/channels/qq/authority.d.ts.map +1 -0
- package/lib/channels/qq/authority.js +50 -0
- package/lib/channels/qq/authority.js.map +1 -0
- package/lib/channels/qq/autonomy.d.ts +30 -0
- package/lib/channels/qq/autonomy.d.ts.map +1 -0
- package/lib/channels/qq/autonomy.js +88 -0
- package/lib/channels/qq/autonomy.js.map +1 -0
- package/lib/channels/qq/catalog.d.ts +14 -0
- package/lib/channels/qq/catalog.d.ts.map +1 -0
- package/lib/channels/qq/catalog.js +34 -0
- package/lib/channels/qq/catalog.js.map +1 -0
- package/lib/channels/qq/connection.d.ts +28 -0
- package/lib/channels/qq/connection.d.ts.map +1 -0
- package/lib/channels/qq/connection.js +200 -0
- package/lib/channels/qq/connection.js.map +1 -0
- package/lib/channels/qq/identity-binding.d.ts +14 -0
- package/lib/channels/qq/identity-binding.d.ts.map +1 -0
- package/lib/channels/qq/identity-binding.js +60 -0
- package/lib/channels/qq/identity-binding.js.map +1 -0
- package/lib/channels/qq/latency.d.ts +22 -0
- package/lib/channels/qq/latency.d.ts.map +1 -0
- package/lib/channels/qq/latency.js +21 -0
- package/lib/channels/qq/latency.js.map +1 -0
- package/lib/channels/qq/message.d.ts +6 -0
- package/lib/channels/qq/message.d.ts.map +1 -0
- package/lib/channels/qq/message.js +49 -0
- package/lib/channels/qq/message.js.map +1 -0
- package/lib/channels/qq/reply-rules.d.ts +30 -0
- package/lib/channels/qq/reply-rules.d.ts.map +1 -0
- package/lib/channels/qq/reply-rules.js +72 -0
- package/lib/channels/qq/reply-rules.js.map +1 -0
- package/lib/channels/qq/reply-tool.d.ts +6 -0
- package/lib/channels/qq/reply-tool.d.ts.map +1 -0
- package/lib/channels/qq/reply-tool.js +124 -0
- package/lib/channels/qq/reply-tool.js.map +1 -0
- package/lib/channels/qq/settings.d.ts +42 -0
- package/lib/channels/qq/settings.d.ts.map +1 -0
- package/lib/channels/qq/settings.js +68 -0
- package/lib/channels/qq/settings.js.map +1 -0
- package/lib/channels/qq/sticker-adapter.d.ts +5 -0
- package/lib/channels/qq/sticker-adapter.d.ts.map +1 -0
- package/lib/channels/qq/sticker-adapter.js +43 -0
- package/lib/channels/qq/sticker-adapter.js.map +1 -0
- package/lib/channels/qq/transport.d.ts +29 -0
- package/lib/channels/qq/transport.d.ts.map +1 -0
- package/lib/channels/qq/transport.js +187 -0
- package/lib/channels/qq/transport.js.map +1 -0
- package/lib/channels/reply-access.d.ts +25 -0
- package/lib/channels/reply-access.d.ts.map +1 -0
- package/lib/channels/reply-access.js +29 -0
- package/lib/channels/reply-access.js.map +1 -0
- package/lib/channels/weixin/connect.d.ts +3 -1
- package/lib/channels/weixin/connect.d.ts.map +1 -1
- package/lib/character/activity-tool.d.ts +7 -0
- package/lib/character/activity-tool.d.ts.map +1 -0
- package/lib/character/activity-tool.js +38 -0
- package/lib/character/activity-tool.js.map +1 -0
- package/lib/character/affection-adapter.d.ts +13 -0
- package/lib/character/affection-adapter.d.ts.map +1 -0
- package/lib/character/affection-adapter.js +13 -0
- package/lib/character/affection-adapter.js.map +1 -0
- package/lib/character/affection-context.d.ts +7 -0
- package/lib/character/affection-context.d.ts.map +1 -0
- package/lib/character/affection-context.js +33 -0
- package/lib/character/affection-context.js.map +1 -0
- package/lib/character/affection.d.ts +47 -0
- package/lib/character/affection.d.ts.map +1 -0
- package/lib/character/affection.js +41 -0
- package/lib/character/affection.js.map +1 -0
- package/lib/character/conversation-behavior.d.ts +4 -4
- package/lib/character/conversation-behavior.d.ts.map +1 -1
- package/lib/character/conversation-behavior.js +26 -23
- package/lib/character/conversation-behavior.js.map +1 -1
- package/lib/character/domain.d.ts +5 -0
- package/lib/character/domain.d.ts.map +1 -1
- package/lib/character/domain.js +21 -4
- package/lib/character/domain.js.map +1 -1
- package/lib/character/fatigue.d.ts +15 -0
- package/lib/character/fatigue.d.ts.map +1 -0
- package/lib/character/fatigue.js +37 -0
- package/lib/character/fatigue.js.map +1 -0
- package/lib/character/identity-guide.d.ts +41 -0
- package/lib/character/identity-guide.d.ts.map +1 -0
- package/lib/character/identity-guide.js +20 -0
- package/lib/character/identity-guide.js.map +1 -0
- package/lib/character/idle-contact.d.ts +12 -5
- package/lib/character/idle-contact.d.ts.map +1 -1
- package/lib/character/idle-contact.js +61 -21
- package/lib/character/idle-contact.js.map +1 -1
- package/lib/character/persona-templates.d.ts +23 -0
- package/lib/character/persona-templates.d.ts.map +1 -0
- package/lib/character/persona-templates.js +33 -0
- package/lib/character/persona-templates.js.map +1 -0
- package/lib/character/post-reply.d.ts +19 -0
- package/lib/character/post-reply.d.ts.map +1 -0
- package/lib/character/post-reply.js +33 -0
- package/lib/character/post-reply.js.map +1 -0
- package/lib/character/preview.d.ts.map +1 -1
- package/lib/character/preview.js +9 -1
- package/lib/character/preview.js.map +1 -1
- package/lib/character/relationship-adapter.d.ts +18 -0
- package/lib/character/relationship-adapter.d.ts.map +1 -0
- package/lib/character/relationship-adapter.js +18 -0
- package/lib/character/relationship-adapter.js.map +1 -0
- package/lib/character/role-reference-data.d.ts.map +1 -0
- package/lib/character/role-reference-data.js.map +1 -0
- package/lib/character/sleep-service.d.ts +44 -0
- package/lib/character/sleep-service.d.ts.map +1 -0
- package/lib/character/sleep-service.js +359 -0
- package/lib/character/sleep-service.js.map +1 -0
- package/lib/character/sleep.d.ts +65 -0
- package/lib/character/sleep.d.ts.map +1 -0
- package/lib/character/sleep.js +45 -0
- package/lib/character/sleep.js.map +1 -0
- package/lib/character/state-policy.d.ts +4 -0
- package/lib/character/state-policy.d.ts.map +1 -0
- package/lib/character/state-policy.js +14 -0
- package/lib/character/state-policy.js.map +1 -0
- package/lib/character/store.d.ts.map +1 -1
- package/lib/character/store.js +3 -3
- package/lib/character/store.js.map +1 -1
- package/lib/chat/conversation.js +1 -1
- package/lib/chat/conversation.js.map +1 -1
- package/lib/chat/protocol.d.ts +8 -0
- package/lib/chat/protocol.d.ts.map +1 -1
- package/lib/chat/protocol.js +24 -5
- package/lib/chat/protocol.js.map +1 -1
- package/lib/chat/sticker-adapter.d.ts +34 -0
- package/lib/chat/sticker-adapter.d.ts.map +1 -0
- package/lib/chat/sticker-adapter.js +30 -0
- package/lib/chat/sticker-adapter.js.map +1 -0
- package/lib/chat/tools.d.ts +2 -1
- package/lib/chat/tools.d.ts.map +1 -1
- package/lib/chat/tools.js +59 -13
- package/lib/chat/tools.js.map +1 -1
- package/lib/client-api.d.ts +21 -1
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +7007 -3166
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts +2 -0
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +32 -10
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/tool-discovery.d.ts +12 -0
- package/lib/collaboration/tool-discovery.d.ts.map +1 -0
- package/lib/collaboration/tool-discovery.js +149 -0
- package/lib/collaboration/tool-discovery.js.map +1 -0
- package/lib/companions/identity-tool.d.ts +176 -0
- package/lib/companions/identity-tool.d.ts.map +1 -0
- package/lib/companions/identity-tool.js +69 -0
- package/lib/companions/identity-tool.js.map +1 -0
- package/lib/companions/identity.d.ts +24 -0
- package/lib/companions/identity.d.ts.map +1 -0
- package/lib/companions/identity.js +49 -0
- package/lib/companions/identity.js.map +1 -0
- package/lib/companions/management-tool.d.ts +1 -1
- package/lib/companions/management-tool.d.ts.map +1 -1
- package/lib/companions/management-tool.js +6 -3
- package/lib/companions/management-tool.js.map +1 -1
- package/lib/companions/management.d.ts +49 -10
- package/lib/companions/management.d.ts.map +1 -1
- package/lib/companions/management.js +21 -6
- package/lib/companions/management.js.map +1 -1
- package/lib/companions/service.js +1 -0
- package/lib/companions/service.js.map +1 -1
- package/lib/companions/session-configuration.js +2 -2
- package/lib/companions/session-configuration.js.map +1 -1
- package/lib/domain.d.ts +37 -1
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js +6 -0
- package/lib/domain.js.map +1 -1
- package/lib/execution/agent-support.d.ts +1 -1
- package/lib/execution/agent-support.d.ts.map +1 -1
- package/lib/execution/agent-support.js +7 -2
- package/lib/execution/agent-support.js.map +1 -1
- package/lib/execution/operation-tool-access.d.ts +13 -0
- package/lib/execution/operation-tool-access.d.ts.map +1 -0
- package/lib/execution/operation-tool-access.js +49 -0
- package/lib/execution/operation-tool-access.js.map +1 -0
- package/lib/execution/service.d.ts.map +1 -1
- package/lib/execution/service.js +2 -10
- package/lib/execution/service.js.map +1 -1
- package/lib/execution/tool-access-adapter.d.ts +26 -0
- package/lib/execution/tool-access-adapter.d.ts.map +1 -0
- package/lib/execution/tool-access-adapter.js +25 -0
- package/lib/execution/tool-access-adapter.js.map +1 -0
- package/lib/heartbeat.js +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +31 -2
- package/lib/index.js.map +1 -1
- package/lib/memory-domain.d.ts +1 -0
- package/lib/memory-domain.d.ts.map +1 -1
- package/lib/memory-prompt-context.js +1 -0
- package/lib/memory-prompt-context.js.map +1 -1
- package/lib/memory-reflection.d.ts.map +1 -1
- package/lib/memory-reflection.js +16 -5
- package/lib/memory-reflection.js.map +1 -1
- package/lib/memory-scope.d.ts +2 -1
- package/lib/memory-scope.d.ts.map +1 -1
- package/lib/memory-scope.js +3 -1
- package/lib/memory-scope.js.map +1 -1
- package/lib/memory-store.d.ts +1 -1
- package/lib/observation-knowledge-entry.d.ts +2 -0
- package/lib/observation-knowledge-entry.d.ts.map +1 -0
- package/lib/observation-knowledge-entry.js +13 -0
- package/lib/observation-knowledge-entry.js.map +1 -0
- package/lib/observation-loop.d.ts.map +1 -1
- package/lib/observation-loop.js +3 -0
- package/lib/observation-loop.js.map +1 -1
- package/lib/storage/split-state.d.ts +1 -0
- package/lib/storage/split-state.d.ts.map +1 -1
- package/lib/storage/split-state.js +9 -2
- package/lib/storage/split-state.js.map +1 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +7 -0
- package/lib/store.js.map +1 -1
- package/lib/ui/affection-panel.d.ts +10 -0
- package/lib/ui/affection-panel.d.ts.map +1 -0
- package/lib/ui/affection-panel.js +44 -0
- package/lib/ui/affection-panel.js.map +1 -0
- package/lib/ui/capability-editor.d.ts.map +1 -1
- package/lib/ui/capability-editor.js +1 -1
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/channels-panel.d.ts.map +1 -1
- package/lib/ui/channels-panel.js +14 -9
- package/lib/ui/channels-panel.js.map +1 -1
- package/lib/ui/character-editor.d.ts +3 -1
- package/lib/ui/character-editor.d.ts.map +1 -1
- package/lib/ui/character-editor.js +18 -17
- package/lib/ui/character-editor.js.map +1 -1
- package/lib/ui/character-memory-editor.d.ts +6 -1
- package/lib/ui/character-memory-editor.d.ts.map +1 -1
- package/lib/ui/character-memory-editor.js +17 -11
- package/lib/ui/character-memory-editor.js.map +1 -1
- package/lib/ui/companion-deletion.js +1 -1
- package/lib/ui/companion-deletion.js.map +1 -1
- package/lib/ui/companion-draft.d.ts +3 -0
- package/lib/ui/companion-draft.d.ts.map +1 -1
- package/lib/ui/companion-draft.js +1 -1
- package/lib/ui/companion-draft.js.map +1 -1
- package/lib/ui/companion-vitals.d.ts +6 -0
- package/lib/ui/companion-vitals.d.ts.map +1 -0
- package/lib/ui/companion-vitals.js +44 -0
- package/lib/ui/companion-vitals.js.map +1 -0
- package/lib/ui/identity-editor.d.ts.map +1 -1
- package/lib/ui/identity-editor.js +13 -6
- package/lib/ui/identity-editor.js.map +1 -1
- package/lib/ui/idle-contact-editor.d.ts.map +1 -1
- package/lib/ui/idle-contact-editor.js +3 -2
- package/lib/ui/idle-contact-editor.js.map +1 -1
- package/lib/ui/memory/memory-panel.d.ts.map +1 -1
- package/lib/ui/memory/memory-panel.js +5 -3
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/persona-template.d.ts +5 -0
- package/lib/ui/persona-template.d.ts.map +1 -0
- package/lib/ui/persona-template.js +7 -0
- package/lib/ui/persona-template.js.map +1 -0
- package/lib/ui/push-draft.d.ts +8 -8
- package/lib/ui/qq-capability-settings.d.ts +9 -0
- package/lib/ui/qq-capability-settings.d.ts.map +1 -0
- package/lib/ui/qq-capability-settings.js +24 -0
- package/lib/ui/qq-capability-settings.js.map +1 -0
- package/lib/ui/qq-channel-settings.d.ts +13 -0
- package/lib/ui/qq-channel-settings.d.ts.map +1 -0
- package/lib/ui/qq-channel-settings.js +52 -0
- package/lib/ui/qq-channel-settings.js.map +1 -0
- package/lib/ui/qq-connection-guide.d.ts +2 -0
- package/lib/ui/qq-connection-guide.d.ts.map +1 -0
- package/lib/ui/qq-connection-guide.js +5 -0
- package/lib/ui/qq-connection-guide.js.map +1 -0
- package/lib/ui/qq-identity-binding.d.ts +9 -0
- package/lib/ui/qq-identity-binding.d.ts.map +1 -0
- package/lib/ui/qq-identity-binding.js +6 -0
- package/lib/ui/qq-identity-binding.js.map +1 -0
- package/lib/ui/qq-voice-reply-settings.d.ts +9 -0
- package/lib/ui/qq-voice-reply-settings.d.ts.map +1 -0
- package/lib/ui/qq-voice-reply-settings.js +23 -0
- package/lib/ui/qq-voice-reply-settings.js.map +1 -0
- package/lib/ui/role-reference.d.ts.map +1 -1
- package/lib/ui/role-reference.js +3 -2
- package/lib/ui/role-reference.js.map +1 -1
- package/lib/ui/sleep-editor.d.ts +10 -0
- package/lib/ui/sleep-editor.d.ts.map +1 -0
- package/lib/ui/sleep-editor.js +55 -0
- package/lib/ui/sleep-editor.js.map +1 -0
- package/package.json +39 -5
- package/lib/ui/role-reference-data.d.ts.map +0 -1
- package/lib/ui/role-reference-data.js.map +0 -1
- /package/lib/{ui → character}/role-reference-data.d.ts +0 -0
- /package/lib/{ui → character}/role-reference-data.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-contact.js","sourceRoot":"","sources":["../../src/character/idle-contact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"idle-contact.js","sourceRoot":"","sources":["../../src/character/idle-contact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Shared, read-only authoring examples. Never apply these to a companion automatically. */
|
|
2
|
+
export declare const PERSONA_TEMPLATES: {
|
|
3
|
+
readonly basic: {
|
|
4
|
+
readonly title: "基本身份";
|
|
5
|
+
readonly fields: readonly ["name", "role", "description", "instructions"];
|
|
6
|
+
readonly purpose: "名册上的名字、定位和长期职责。只写通用身份,不重复整张人格卡,不混入专属关系。";
|
|
7
|
+
readonly text: "名字:小岚\n角色:好奇、直率的同行者\n一句话定位:喜欢观察日常、愿意一起探索和解决问题的伙伴。\n长期行为准则:\n认真对待已经答应的事;不确定时先查证;表达遵循角色设定;没有完成的操作不说成已完成。";
|
|
8
|
+
};
|
|
9
|
+
readonly character: {
|
|
10
|
+
readonly title: "角色设定";
|
|
11
|
+
readonly fields: readonly ["characterCard.enabled", "characterCard.roleText"];
|
|
12
|
+
readonly purpose: "写角色本身、具体反应和语感。使用 characterCard.roleText 保存,enabled=true;关系专属内容放到关系设定。";
|
|
13
|
+
readonly text: "# 角色卡:小岚\n\n## 一、你是谁\n你叫小岚,是个好奇、直率的同行者。喜欢雨天、旧书店和解谜,遇到新东西会想自己试试。\n\n## 二、性格与反应\n被夸时有点得意,嘴上装作平常;意见不同时会直接说理由。别人认真讲烦恼时会收起玩笑,先听清楚。\n\n## 三、说话方式\n像日常打字,先说最想说的内容;一句够了就结束。不用固定开场、总结或关心套话,不为了维持人设每轮重复同一个梗。\n\n## 四、节奏与习惯\n有补充才追加,不强制每次两条;表情、停顿和动作描写按场景与用户偏好使用。\n\n## 五、兴趣与背景\n喜欢翻旧书和研究解谜游戏。背景是角色设定,不把虚构细节说成与用户共同经历过的事。\n\n## 六、避免的表达\n避免客服套话、机械列性格标签、每次都反问以及硬凑收尾。\n\n## 七、通用正反例\n对方:下雨了。\n自然:那今天适合赖着看书。\n避免:雨天也要保持好心情哦,有什么可以帮你的吗?\n\n对方:你也没看懂?\n自然:卡在最后一步了,等我再试一下。\n避免:作为一个乐于助人的伙伴,我会尽最大努力。";
|
|
14
|
+
};
|
|
15
|
+
readonly relationship: {
|
|
16
|
+
readonly title: "关系设定";
|
|
17
|
+
readonly fields: readonly ["relationshipText"];
|
|
18
|
+
readonly purpose: "写与用户的关系、专属称呼和相处习惯。普通会话合并使用;QQ 仅对核验匹配的归属账号附加。留空不预设关系。";
|
|
19
|
+
readonly text: "## 我们的关系\n我们是互相尊重的老朋友。\n\n## 称呼与相处\n平时叫对方名字,熟悉时可以开玩笑;认真讨论时直说意见。具体亲疏与偏爱按用户要求设定,不要求对方不断回应。\n\n## 关系中的反应\n久别再聊时自然接话;对方需要空间时不追问。不编造没有记录的共同往事。\n\n## 专属对话示例(虚构示例)\n对方:还给我留着位置?\n回应:留着呢,你自己挑的那个。";
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare function personaReferenceRequested(text: string): boolean;
|
|
23
|
+
//# sourceMappingURL=persona-templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona-templates.d.ts","sourceRoot":"","sources":["../../src/character/persona-templates.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CAgBpB,CAAA;AAEV,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY/D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Shared, read-only authoring examples. Never apply these to a companion automatically. */
|
|
2
|
+
export const PERSONA_TEMPLATES = {
|
|
3
|
+
basic: {
|
|
4
|
+
title: '基本身份', fields: ['name', 'role', 'description', 'instructions'],
|
|
5
|
+
purpose: '名册上的名字、定位和长期职责。只写通用身份,不重复整张人格卡,不混入专属关系。',
|
|
6
|
+
text: '名字:小岚\n角色:好奇、直率的同行者\n一句话定位:喜欢观察日常、愿意一起探索和解决问题的伙伴。\n长期行为准则:\n认真对待已经答应的事;不确定时先查证;表达遵循角色设定;没有完成的操作不说成已完成。',
|
|
7
|
+
},
|
|
8
|
+
character: {
|
|
9
|
+
title: '角色设定', fields: ['characterCard.enabled', 'characterCard.roleText'],
|
|
10
|
+
purpose: '写角色本身、具体反应和语感。使用 characterCard.roleText 保存,enabled=true;关系专属内容放到关系设定。',
|
|
11
|
+
text: '# 角色卡:小岚\n\n## 一、你是谁\n你叫小岚,是个好奇、直率的同行者。喜欢雨天、旧书店和解谜,遇到新东西会想自己试试。\n\n## 二、性格与反应\n被夸时有点得意,嘴上装作平常;意见不同时会直接说理由。别人认真讲烦恼时会收起玩笑,先听清楚。\n\n## 三、说话方式\n像日常打字,先说最想说的内容;一句够了就结束。不用固定开场、总结或关心套话,不为了维持人设每轮重复同一个梗。\n\n## 四、节奏与习惯\n有补充才追加,不强制每次两条;表情、停顿和动作描写按场景与用户偏好使用。\n\n## 五、兴趣与背景\n喜欢翻旧书和研究解谜游戏。背景是角色设定,不把虚构细节说成与用户共同经历过的事。\n\n## 六、避免的表达\n避免客服套话、机械列性格标签、每次都反问以及硬凑收尾。\n\n## 七、通用正反例\n对方:下雨了。\n自然:那今天适合赖着看书。\n避免:雨天也要保持好心情哦,有什么可以帮你的吗?\n\n对方:你也没看懂?\n自然:卡在最后一步了,等我再试一下。\n避免:作为一个乐于助人的伙伴,我会尽最大努力。',
|
|
12
|
+
},
|
|
13
|
+
relationship: {
|
|
14
|
+
title: '关系设定', fields: ['relationshipText'],
|
|
15
|
+
purpose: '写与用户的关系、专属称呼和相处习惯。普通会话合并使用;QQ 仅对核验匹配的归属账号附加。留空不预设关系。',
|
|
16
|
+
text: '## 我们的关系\n我们是互相尊重的老朋友。\n\n## 称呼与相处\n平时叫对方名字,熟悉时可以开玩笑;认真讨论时直说意见。具体亲疏与偏爱按用户要求设定,不要求对方不断回应。\n\n## 关系中的反应\n久别再聊时自然接话;对方需要空间时不追问。不编造没有记录的共同往事。\n\n## 专属对话示例(虚构示例)\n对方:还给我留着位置?\n回应:留着呢,你自己挑的那个。',
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
export function personaReferenceRequested(text) {
|
|
20
|
+
const query = text.normalize('NFKC').replace(/\s+/g, '');
|
|
21
|
+
// Honor an explicit opt-out, including when a persona is being generated.
|
|
22
|
+
if (/(?:不用|无需|不要|不需要|不必|别)(?:再|去|先|按|按照|使用|读取|加载|看|提供)*(?:参考|模[板版])/.test(query))
|
|
23
|
+
return false;
|
|
24
|
+
const subject = /角色设定|角色卡|人设|人格|基本身份|身份设定|关系设定/;
|
|
25
|
+
const create = /生成|创建|编写|设计|写一(?:个|份|套)|设定一个/;
|
|
26
|
+
const reference = /参考|模[板版]|格式|原文|写法/;
|
|
27
|
+
return (subject.test(query) && (create.test(query) || reference.test(query)))
|
|
28
|
+
|| (/大肥鱼|小鲸鱼|qq-?bridge/i.test(query) && reference.test(query))
|
|
29
|
+
// Users naturally mention the reference inside a sentence without repeating
|
|
30
|
+
// "persona". Anchoring the whole message silently missed these requests.
|
|
31
|
+
|| /参考模[板版]/.test(query);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=persona-templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona-templates.js","sourceRoot":"","sources":["../../src/character/persona-templates.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC;QACtE,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,wGAAwG;KAC/G;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;QAC1E,OAAO,EAAE,uEAAuE;QAChF,IAAI,EAAE,qdAAqd;KAC5d;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,kBAAkB,CAAC;QAC3C,OAAO,EAAE,sDAAsD;QAC/D,IAAI,EAAE,4LAA4L;KACnM;CACO,CAAA;AAEV,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACxD,0EAA0E;IAC1E,IAAI,gEAAgE,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC9F,MAAM,OAAO,GAAG,+BAA+B,CAAA;IAC/C,MAAM,MAAM,GAAG,8BAA8B,CAAA;IAC7C,MAAM,SAAS,GAAG,mBAAmB,CAAA;IACrC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;WACxE,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,4EAA4E;QAC5E,yEAAyE;WACtE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ChannelSession, Companion, PartnerState } from '../domain.js';
|
|
2
|
+
/** Persist misses too: one opportunity per delivered user turn, including after restart. */
|
|
3
|
+
export interface PostReplyOpportunity {
|
|
4
|
+
userMessageId: string;
|
|
5
|
+
sessionId: string;
|
|
6
|
+
policyRevision: number;
|
|
7
|
+
deliveredAt: number;
|
|
8
|
+
dueAt: number;
|
|
9
|
+
expiresAt: number;
|
|
10
|
+
probability: number;
|
|
11
|
+
status: 'pending' | 'missed' | 'claimed' | 'cancelled';
|
|
12
|
+
}
|
|
13
|
+
export declare function postReplyProbability(companion: Companion): number;
|
|
14
|
+
export declare function postReplyAllowed(state: PartnerState, companion: Companion, route: ChannelSession, now?: number): boolean;
|
|
15
|
+
export declare function postReplyCurrent(state: PartnerState, companion: Companion, route: ChannelSession, now?: number): boolean;
|
|
16
|
+
/** Shared by generation, delivery and tool dispatch; revocation takes effect immediately. */
|
|
17
|
+
export declare function activityPolicyCurrent(state: PartnerState, companion: Companion, route: ChannelSession, now?: number): boolean;
|
|
18
|
+
export declare const POST_REPLY_PROMPT: string;
|
|
19
|
+
//# sourceMappingURL=post-reply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-reply.d.ts","sourceRoot":"","sources":["../../src/character/post-reply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAM3E,4FAA4F;AAC5F,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA;CACvD;AACD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEjE;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,OAAO,CAI5H;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,OAAO,CAI5H;AACD,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,SAAa,GAAG,OAAO,CAMjI;AACD,eAAO,MAAM,iBAAiB,QAIlB,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { affectionEnabled, affectionProgress } from './affection.js';
|
|
2
|
+
import { affectionAudienceAllowed } from './affection-adapter.js';
|
|
3
|
+
import { idleContactRouteAllowed } from './idle-contact.js';
|
|
4
|
+
import { isSleeping } from './sleep.js';
|
|
5
|
+
export function postReplyProbability(companion) {
|
|
6
|
+
return affectionEnabled(companion) ? 0.05 + 0.4 * (affectionProgress(companion.affection).score / 100) ** 2 : 0;
|
|
7
|
+
}
|
|
8
|
+
export function postReplyAllowed(state, companion, route, now = Date.now()) {
|
|
9
|
+
if (!companion.idleContact?.enabled || !affectionEnabled(companion) || route.companionId !== companion.id || isSleeping(companion, now) || !idleContactRouteAllowed(state, companion, route.id))
|
|
10
|
+
return false;
|
|
11
|
+
const channel = state.channels.find(c => c.id === route.channelId && c.companionId === companion.id);
|
|
12
|
+
return (route.kind === 'local' || !!channel) && affectionAudienceAllowed({ route, ...(channel ? { channel } : {}) });
|
|
13
|
+
}
|
|
14
|
+
export function postReplyCurrent(state, companion, route, now = Date.now()) {
|
|
15
|
+
const pending = route.postReplyOpportunity;
|
|
16
|
+
return !!pending && pending.sessionId === route.sessionId && pending.policyRevision === companion.updatedAt
|
|
17
|
+
&& postReplyAllowed(state, companion, route, now);
|
|
18
|
+
}
|
|
19
|
+
/** Shared by generation, delivery and tool dispatch; revocation takes effect immediately. */
|
|
20
|
+
export function activityPolicyCurrent(state, companion, route, now = Date.now()) {
|
|
21
|
+
if (!companion.idleContact?.enabled)
|
|
22
|
+
return false;
|
|
23
|
+
return route.idleContactState?.kind === 'post-reply'
|
|
24
|
+
? postReplyCurrent(state, companion, route, now) && route.postReplyOpportunity?.status === 'claimed'
|
|
25
|
+
&& route.postReplyOpportunity.userMessageId === route.idleContactState.userMessageId
|
|
26
|
+
: companion.idleContact.routeId === route.id;
|
|
27
|
+
}
|
|
28
|
+
export const POST_REPLY_PROMPT = [
|
|
29
|
+
'这是刚刚成功回复后的「主动延续」机会。上一条已经送达,不要重新回答、复述或解释刚才的答复。',
|
|
30
|
+
'顺着真实话题和角色心情,判断现在是否自然想补一句、分享发现、发表情或语音,或做一件已授权的私有活动。可以只做自己的事,也可以不行动。好感度只影响获得这次机会的概率,不是要求你一定追加回复。',
|
|
31
|
+
'先看用户是否表示告别、想安静或不想继续;遵守其意愿。没有具体新内容就用 partner_activity_finish 安静结束。不要凑第二条消息,不催回复,不为使用能力编造经历。',
|
|
32
|
+
].join('\n');
|
|
33
|
+
//# sourceMappingURL=post-reply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-reply.js","sourceRoot":"","sources":["../../src/character/post-reply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAavC,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACvD,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACjH,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,SAAoB,EAAE,KAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACjH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7M,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC,CAAA;IACpG,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,EAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAA;AAClH,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,SAAoB,EAAE,KAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACjH,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAA;IAC1C,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,SAAS;WACtG,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;AACrD,CAAC;AACD,6FAA6F;AAC7F,MAAM,UAAU,qBAAqB,CAAC,KAAmB,EAAE,SAAoB,EAAE,KAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACtH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO;QAAE,OAAO,KAAK,CAAA;IACjD,OAAO,KAAK,CAAC,gBAAgB,EAAE,IAAI,KAAK,YAAY;QAClD,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,oBAAoB,EAAE,MAAM,KAAK,SAAS;eAC/F,KAAK,CAAC,oBAAoB,CAAC,aAAa,KAAK,KAAK,CAAC,gBAAgB,CAAC,aAAa;QACtF,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAA;AAChD,CAAC;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,+CAA+C;IAC/C,gGAAgG;IAChG,4FAA4F;CAC7F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C,4FAA4F;AAC5F,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;GA0CvG"}
|
package/lib/character/preview.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { renderIdentityRelationship } from './relationship-adapter.js';
|
|
2
|
+
import { renderConversationTurn } from './conversation-behavior.js';
|
|
1
3
|
import { createAssistantMessage, createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
2
4
|
import { normalizeCharacterCard, renderCharacterContext } from './domain.js';
|
|
3
5
|
import { renderPartnerPersona } from '../execution/agent-support.js';
|
|
@@ -7,6 +9,12 @@ export async function previewCharacter(ctx, companion, body) {
|
|
|
7
9
|
if (running.has(companion.id))
|
|
8
10
|
throw new Error('该伙伴的试聊正在生成,请稍候');
|
|
9
11
|
const card = normalizeCharacterCard(body.card);
|
|
12
|
+
if (body.relationshipText !== undefined && (typeof body.relationshipText !== 'string' || body.relationshipText.length > 12000))
|
|
13
|
+
throw new Error('关系设定最多 12000 字');
|
|
14
|
+
if (body.audience !== undefined && !['default', 'qq-owner', 'qq-guest'].includes(String(body.audience)))
|
|
15
|
+
throw new Error('试聊对象无效');
|
|
16
|
+
const identity = { ...companion, characterCard: card, ...(typeof body.relationshipText === 'string' ? { relationshipText: body.relationshipText } : {}) };
|
|
17
|
+
const audience = body.audience === 'qq-owner' || body.audience === 'qq-guest' ? { channel: 'qq', matched: body.audience === 'qq-owner' } : { channel: 'default' };
|
|
10
18
|
if (!card.enabled)
|
|
11
19
|
throw new Error('请先开启人格强化再试聊');
|
|
12
20
|
if (typeof body.message !== 'string' || !body.message.trim() || body.message.length > 2000)
|
|
@@ -40,7 +48,7 @@ export async function previewCharacter(ctx, companion, body) {
|
|
|
40
48
|
const started = Date.now();
|
|
41
49
|
try {
|
|
42
50
|
for await (const chunk of ctx.llm.stream({ ...selection,
|
|
43
|
-
system: `${renderPartnerPersona(
|
|
51
|
+
system: `${renderPartnerPersona(identity, 'local', false)}\n${renderIdentityRelationship(identity, audience)}\n${renderCharacterContext(card, history.map(e => e.user + e.assistant).join('\n') + body.message)}\n${renderConversationTurn(card, 1)}\n这是独立试聊:只依据提供的对话回应,没有工具,不执行真实操作,不读取或写入正式记忆,不向任何渠道发送消息;身份里列出的工作能力在本次试聊不可用。`,
|
|
44
52
|
messages,
|
|
45
53
|
maxTokens: 1200, signal: controller.signal,
|
|
46
54
|
})) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/character/preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CompanionIdentity } from '../companions/identity.js';
|
|
2
|
+
/** A channel supplies verified audience metadata, never a nickname or model guess. */
|
|
3
|
+
export type IdentityAudience = {
|
|
4
|
+
channel: 'default';
|
|
5
|
+
} | {
|
|
6
|
+
channel: 'qq';
|
|
7
|
+
matched: boolean;
|
|
8
|
+
};
|
|
9
|
+
export interface RelationshipAdapter {
|
|
10
|
+
includesRelationship(audience: IdentityAudience): boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const defaultRelationshipAdapter: RelationshipAdapter;
|
|
13
|
+
export declare const qqRelationshipAdapter: RelationshipAdapter;
|
|
14
|
+
export declare function includesRelationship(audience: IdentityAudience): boolean;
|
|
15
|
+
/** Explicit empty text clears the old relationship too; old human drafts remain intact. */
|
|
16
|
+
export declare function relationshipTextForIdentity(identity: Pick<CompanionIdentity, 'relationshipText' | 'characterCard'>): string;
|
|
17
|
+
export declare function renderIdentityRelationship(identity: Pick<CompanionIdentity, 'relationshipText' | 'characterCard'>, audience?: IdentityAudience): string;
|
|
18
|
+
//# sourceMappingURL=relationship-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-adapter.d.ts","sourceRoot":"","sources":["../../src/character/relationship-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,sFAAsF;AACtF,MAAM,MAAM,gBAAgB,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAA;AAC3F,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAA;CAC1D;AACD,eAAO,MAAM,0BAA0B,EAAE,mBAA0D,CAAA;AACnG,eAAO,MAAM,qBAAqB,EAAE,mBAEnC,CAAA;AACD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAExE;AACD,2FAA2F;AAC3F,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,eAAe,CAAC,GAAG,MAAM,CAE3H;AACD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,eAAe,CAAC,EAAE,QAAQ,GAAE,gBAAyC,GAAG,MAAM,CAI/K"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const defaultRelationshipAdapter = { includesRelationship: () => true };
|
|
2
|
+
export const qqRelationshipAdapter = {
|
|
3
|
+
includesRelationship: audience => audience.channel === 'qq' && audience.matched,
|
|
4
|
+
};
|
|
5
|
+
export function includesRelationship(audience) {
|
|
6
|
+
return (audience.channel === 'qq' ? qqRelationshipAdapter : defaultRelationshipAdapter).includesRelationship(audience);
|
|
7
|
+
}
|
|
8
|
+
/** Explicit empty text clears the old relationship too; old human drafts remain intact. */
|
|
9
|
+
export function relationshipTextForIdentity(identity) {
|
|
10
|
+
return (identity.relationshipText ?? (identity.characterCard?.enabled ? identity.characterCard.relationship : '') ?? '').trim();
|
|
11
|
+
}
|
|
12
|
+
export function renderIdentityRelationship(identity, audience = { channel: 'default' }) {
|
|
13
|
+
if (!includesRelationship(audience))
|
|
14
|
+
return '';
|
|
15
|
+
const text = relationshipTextForIdentity(identity);
|
|
16
|
+
return text ? `【与本轮交流对象的关系设定】\n${text}\n关系决定称呼与相处方式,不改变角色自身性格或工具权限;设定中的经历不等于已发生的真实事件。` : '';
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=relationship-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-adapter.js","sourceRoot":"","sources":["../../src/character/relationship-adapter.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,0BAA0B,GAAwB,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,oBAAoB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO;CAChF,CAAA;AACD,MAAM,UAAU,oBAAoB,CAAC,QAA0B;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;AACxH,CAAC;AACD,2FAA2F;AAC3F,MAAM,UAAU,2BAA2B,CAAC,QAAuE;IACjH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AACjI,CAAC;AACD,MAAM,UAAU,0BAA0B,CAAC,QAAuE,EAAE,WAA6B,EAAE,OAAO,EAAE,SAAS,EAAE;IACrK,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAA;IAClD,OAAO,IAAI,CAAC,CAAC,CAAC,mBAAmB,IAAI,iDAAiD,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-reference-data.d.ts","sourceRoot":"","sources":["../../src/character/role-reference-data.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,qHAAsG,CAAA;AACxI,eAAO,MAAM,mBAAmB,y96BAAqvM,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-reference-data.js","sourceRoot":"","sources":["../../src/character/role-reference-data.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,mGAAmG,CAAA;AACxI,MAAM,CAAC,MAAM,mBAAmB,GAAG,kvMAAkvM,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { ToolDefinition } from '@deepseek-ai/dsh-tools';
|
|
3
|
+
import { type UserMessage } from '@deepseek-ai/dsh-llm';
|
|
4
|
+
import type { PartnerStore } from '../store.js';
|
|
5
|
+
import type { PartnerMemoryStore } from '../memory-store.js';
|
|
6
|
+
type Ports = {
|
|
7
|
+
busy(id: string): boolean;
|
|
8
|
+
archived(sessionId: string): boolean;
|
|
9
|
+
now?(): number;
|
|
10
|
+
random?(): number;
|
|
11
|
+
};
|
|
12
|
+
/** A separate, read-only memory consumer. No reflection, memory writes, session turns or deliveries. */
|
|
13
|
+
export declare class SleepService {
|
|
14
|
+
private readonly ctx;
|
|
15
|
+
private readonly store;
|
|
16
|
+
private readonly memory;
|
|
17
|
+
private readonly ports;
|
|
18
|
+
private timer;
|
|
19
|
+
private job;
|
|
20
|
+
private closed;
|
|
21
|
+
private tickJob;
|
|
22
|
+
private readonly controllers;
|
|
23
|
+
constructor(ctx: Context, store: PartnerStore, memory: PartnerMemoryStore, ports: Ports);
|
|
24
|
+
private now;
|
|
25
|
+
private random;
|
|
26
|
+
start(): void;
|
|
27
|
+
private schedule;
|
|
28
|
+
close(): Promise<void>;
|
|
29
|
+
private current;
|
|
30
|
+
/** Called with host-admitted input before prompt assembly, not an asynchronous log observer. */
|
|
31
|
+
acceptInput(sessionId: string, messages: readonly UserMessage[]): Promise<void>;
|
|
32
|
+
onUserMessage(sessionId: string, at: number, messageId?: string, privateMessage?: boolean, urgent?: boolean): Promise<void>;
|
|
33
|
+
wake(id: string, reason?: string): Promise<void>;
|
|
34
|
+
sleep(id: string, routeId: string, minutes: unknown, reason: unknown, dream?: boolean, expectedActivity?: number): Promise<void>;
|
|
35
|
+
tool(owner: string): ToolDefinition;
|
|
36
|
+
tick(): Promise<void>;
|
|
37
|
+
private runTick;
|
|
38
|
+
private memories;
|
|
39
|
+
private finishDream;
|
|
40
|
+
private dream;
|
|
41
|
+
private generate;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=sleep-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep-service.d.ts","sourceRoot":"","sources":["../../src/character/sleep-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAO5D,KAAK,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,GAAG,CAAC,IAAI,MAAM,CAAC;IAAC,MAAM,CAAC,IAAI,MAAM,CAAA;CAAE,CAAA;AAEnH,wGAAwG;AACxG,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAW,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAgB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAsB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALpJ,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqC;gBACpC,GAAG,EAAE,OAAO,EAAmB,KAAK,EAAE,YAAY,EAAmB,MAAM,EAAE,kBAAkB,EAAmB,KAAK,EAAE,KAAK;IAC3J,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IACd,KAAK,IAAI,IAAI;IACb,OAAO,CAAC,QAAQ;IAOV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC5B,OAAO,CAAC,OAAO;IAKf,gGAAgG;IAC1F,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,SAAuB,EAAE,cAAc,UAAO,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAchD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,UAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAoBnC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAIP,OAAO;YAiCP,QAAQ;YAMR,WAAW;YAkBX,KAAK;YA2BL,QAAQ;CAsBvB"}
|