feat(workbench): refine dynamic task collaboration

This commit is contained in:
2026-09-24 16:36:12 +08:00
parent b64d2b78bb
commit 87cc7785da
25 changed files with 1216 additions and 470 deletions
@@ -89,6 +89,7 @@ export function useWorkbenchAgent({
const [mobilePanelCollapsing, setMobilePanelCollapsing] = useState(false);
const [sessionId, setSessionId] = useState<string | null>(null);
const [sessionPurpose, setSessionPurpose] = useState<AgentSessionPurpose>("ordinary_chat");
const [sessionTaskId, setSessionTaskId] = useState<string | null>(null);
const [registry, setRegistry] = useState<UIRegistry | null>(null);
const [sessionTitle, setSessionTitle] = useState("新对话");
const [statusLabel, setStatusLabel] = useState("Agent 后端连接中");
@@ -131,6 +132,7 @@ export function useWorkbenchAgent({
const clearSessionId = useCallback(() => {
sessionIdRef.current = null;
setSessionId(null);
setSessionTaskId(null);
}, []);
const resolveRenderRef = useCallback((renderRef: string, nextSessionId: string) => {
@@ -549,6 +551,7 @@ export function useWorkbenchAgent({
applySessionId(loadedSession.sessionId);
setSessionPurpose(loadedSession.purpose);
setSessionTaskId(loadedSession.taskId ?? null);
setSessionTitle(loadedSession.title);
setStatusLabel("Agent 历史会话已打开");
setPermissionOverrides({});
@@ -632,6 +635,7 @@ export function useWorkbenchAgent({
clearSessionId();
setSessionTitle("新对话");
setSessionPurpose("ordinary_chat");
setSessionTaskId(null);
setStatusLabel(nextStatusLabel);
setConnectionStatus("online");
setPermissionOverrides({});
@@ -917,6 +921,7 @@ export function useWorkbenchAgent({
sessionHistoryLoading: sessionHistoryLoading || sessionHistoryValidating,
sessionId,
sessionPurpose,
sessionTaskId,
sessionTitle,
statusLabel,
streamRenderState,