feat: preserve native channel and task continuity
This commit is contained in:
parent
610c688dd9
commit
30865321a8
31 changed files with 2138 additions and 171 deletions
|
|
@ -192,7 +192,7 @@ export function KnowledgeAgent({ activeKnowledgePath, onClose }: { activeKnowled
|
|||
<main className="agent-dialogue">
|
||||
<div className="agent-ledger" ref={scrollRef} aria-live="polite">
|
||||
{!messages.length && <div className="agent-empty"><b>频道系统本体已经就绪</b><p>你是在和当前频道直接交流。频道先用本地规则、私有技能脑与本机工具判断任务;需要整体认知或频道架构推理时使用旗舰模型,唤醒人格后再由频道按任务选择模型层级。</p></div>}
|
||||
{messages.map((item) => <article className={`agent-message is-${item.role}`} key={item.messageId}><header><div><b>{item.participantNumber} · {item.participantName}</b><span>{item.role === 'human' ? '人类语言本体瞄点' : item.role === 'persona' ? runtime?.boundPersonaNumber === item.participantNumber ? '人格回应通道' : '历史署名 · 未经当前系统绑定验证' : '频道系统本体'}</span></div><time>{date(item.createdAtUnixMs)} · v{item.stateVersion}</time></header><div className="agent-message-content" dangerouslySetInnerHTML={{ __html: agentMarkdownHtml(item.content) }}/>{item.toolReceipts.length > 0 && <div className="agent-evidence">{item.toolReceipts.map((receipt) => <span key={`${item.messageId}-${receipt.toolNumber}-${receipt.targetPath}`}><b>{receipt.toolName}</b>{receipt.targetPath}<small>{short(receipt.contentSha256)}</small></span>)}</div>}<footer><span>{item.model}</span><span>回执 {short(item.receiptHash)}</span></footer></article>)}
|
||||
{messages.map((item) => <article className={`agent-message is-${item.role}`} key={item.messageId}><header><div><b>{item.participantNumber} · {item.participantName}</b><span>{item.role === 'human' ? '人类语言本体瞄点' : item.role === 'persona' ? runtime?.responderKind === 'BOUND_PERSONA_RESPONSE_CHANNEL' && runtime?.boundPersonaNumber === item.participantNumber ? '人格回应通道' : '人格历史署名 · 当前轮未唤醒' : '频道系统本体'}</span></div><time>{date(item.createdAtUnixMs)} · v{item.stateVersion}</time></header><div className="agent-message-content" dangerouslySetInnerHTML={{ __html: agentMarkdownHtml(item.content) }}/>{item.toolReceipts.length > 0 && <div className="agent-evidence">{item.toolReceipts.map((receipt) => <span key={`${item.messageId}-${receipt.toolNumber}-${receipt.targetPath}`}><b>{receipt.toolName}</b>{receipt.targetPath}<small>{short(receipt.contentSha256)}</small></span>)}</div>}<footer><span>{item.model}</span><span>回执 {short(item.receiptHash)}</span></footer></article>)}
|
||||
{sending && <section className="agent-progress"><header><span className="pulse"/><b>频道正在处理这一轮</b><small>下方只显示真实路由阶段</small></header>{progress.length ? progress.map((item, index) => <div className={phaseTone[item.phase] || ''} key={`${item.turnId}-${item.phase}-${index}`}><i/><span><b>{item.label}</b><small>{item.detail}</small></span></div>) : <div><i/><span><b>消息正在进入编号频道</b><small>正在等待频道本地调度结果</small></span></div>}</section>}
|
||||
</div>
|
||||
<form className="agent-composer" onSubmit={(event) => { event.preventDefault(); void send() }}><textarea value={draft} maxLength={64000} placeholder={activeKnowledgePath ? `正在阅读:${activeKnowledgePath}` : runtime?.boundPersonaNumber ? '直接和当前人格体说话;需要知识时它会自己调用工具。' : '直接和频道系统说话;可用自然语言发起人格唤醒,绑定前不会冒充人格回应。'} onKeyDown={(event) => { if (event.key === 'Enter' && !event.shiftKey) { event.preventDefault(); void send() } }} onChange={(event) => setDraft(event.target.value)}/><div><span>Enter 发送 · Shift+Enter 换行</span><select value={model} onChange={(event) => setModel(event.target.value)}>{(provider?.models || ['qwen3.8-max']).map((item) => <option key={item}>{item}</option>)}</select><button disabled={sending || !draft.trim()}>{sending ? '执行中' : '发送'}</button></div></form>
|
||||
|
|
|
|||
|
|
@ -1472,6 +1472,70 @@ const ROUTES = {
|
|||
"moduleNumber": "HLP-NIPC-MOD-0024",
|
||||
"operationNumber": "HLP-NIPC-OP-0184",
|
||||
"targetNumber": "HLP-NIPC-TGT-0024"
|
||||
},
|
||||
"get_personal_state_repository": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0038",
|
||||
"operationNumber": "HLP-NIPC-OP-0185",
|
||||
"targetNumber": "HLP-NIPC-TGT-0038"
|
||||
},
|
||||
"create_personal_state_snapshot": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0038",
|
||||
"operationNumber": "HLP-NIPC-OP-0186",
|
||||
"targetNumber": "HLP-NIPC-TGT-0038"
|
||||
},
|
||||
"preview_personal_state_restore": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0038",
|
||||
"operationNumber": "HLP-NIPC-OP-0187",
|
||||
"targetNumber": "HLP-NIPC-TGT-0038"
|
||||
},
|
||||
"apply_personal_state_restore": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0038",
|
||||
"operationNumber": "HLP-NIPC-OP-0188",
|
||||
"targetNumber": "HLP-NIPC-TGT-0038"
|
||||
},
|
||||
"list_dynamic_work_surfaces": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0039",
|
||||
"operationNumber": "HLP-NIPC-OP-0189",
|
||||
"targetNumber": "HLP-NIPC-TGT-0039"
|
||||
},
|
||||
"save_dynamic_work_surface": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0039",
|
||||
"operationNumber": "HLP-NIPC-OP-0190",
|
||||
"targetNumber": "HLP-NIPC-TGT-0039"
|
||||
},
|
||||
"get_dynamic_work_surface": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0039",
|
||||
"operationNumber": "HLP-NIPC-OP-0191",
|
||||
"targetNumber": "HLP-NIPC-TGT-0039"
|
||||
},
|
||||
"execute_dynamic_work_surface": {
|
||||
"protocolVersion": "HLP-NIPC-v1",
|
||||
"callerNumber": "HLP-NIPC-CALLER-MAIN-WEBVIEW-0001",
|
||||
"channelNumber": "HLP-NIPC-CH-0002",
|
||||
"moduleNumber": "HLP-NIPC-MOD-0039",
|
||||
"operationNumber": "HLP-NIPC-OP-0192",
|
||||
"targetNumber": "HLP-NIPC-TGT-0039"
|
||||
}
|
||||
} as const
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue