refactor: disable automatic main-agent thread sync pushes
This commit is contained in:
@@ -2882,8 +2882,6 @@ function appendThreadProgressEventInState(
|
||||
return event;
|
||||
}
|
||||
|
||||
const THREAD_STATUS_FULL_SYNC_INTERVAL_MS = 15 * 60_000;
|
||||
|
||||
function normalizeState(raw: Partial<BossState> | undefined): BossState {
|
||||
const base = cloneInitialState();
|
||||
if (!raw) return syncDerivedState(base);
|
||||
@@ -7635,6 +7633,15 @@ function shouldQueueProjectUnderstandingSync(
|
||||
state: BossState,
|
||||
reason: "heartbeat_activity" | "thread_reply" = "heartbeat_activity",
|
||||
) {
|
||||
// 主 Agent 自动向线程发隐藏理解对话当前整体关闭。
|
||||
// 保留现有数据模型,后续如果需要恢复,可在明确产品决策后重新开启。
|
||||
void project;
|
||||
void observedActivityAt;
|
||||
void state;
|
||||
void reason;
|
||||
return false;
|
||||
|
||||
/*
|
||||
if (!isDispatchableThreadProject(project)) {
|
||||
return false;
|
||||
}
|
||||
@@ -7681,6 +7688,7 @@ function shouldQueueProjectUnderstandingSync(
|
||||
task.projectUnderstandingTargetProjectId === project.id &&
|
||||
(task.status === "queued" || task.status === "running"),
|
||||
);
|
||||
*/
|
||||
}
|
||||
|
||||
function buildProjectUnderstandingSyncPrompt(project: Project, reason: "heartbeat_activity" | "thread_reply") {
|
||||
|
||||
@@ -1775,35 +1775,6 @@ function buildDeviceImportResolutionPrompt(params: {
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
function buildDeviceImportUnderstandingPrompt(params: {
|
||||
deviceName: string;
|
||||
draftId: string;
|
||||
candidateId: string;
|
||||
threadDisplayName: string;
|
||||
folderName: string;
|
||||
lastActiveAt: string;
|
||||
}) {
|
||||
return [
|
||||
"你正在协助 Boss 控制台完成新设备导入前的项目理解。",
|
||||
"请以当前活跃线程的视角,直接总结这个项目当前最关键的信息。",
|
||||
"输出必须是 JSON,对象结构如下:",
|
||||
'{ "projectGoal": "一句中文目标", "currentProgress": "一句中文进度", "technicalArchitecture": "一句中文架构说明", "currentBlockers": "一句中文阻塞说明", "recommendedNextStep": "一句中文建议动作" }',
|
||||
"要求:",
|
||||
"1. 只输出 JSON,不要输出额外解释。",
|
||||
"2. 用中文,句子短而明确。",
|
||||
"3. 如果某项信息不确定,也要明确写出当前已知范围,不要留空。",
|
||||
"",
|
||||
`deviceName: ${params.deviceName}`,
|
||||
`draftId: ${params.draftId}`,
|
||||
`candidateId: ${params.candidateId}`,
|
||||
`threadDisplayName: ${params.threadDisplayName}`,
|
||||
`folderName: ${params.folderName}`,
|
||||
`lastActiveAt: ${params.lastActiveAt}`,
|
||||
"",
|
||||
"请回答当前项目:目标、进度、技术架构、阻塞点、下一步建议。",
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
export async function queueDeviceImportResolutionTask(params: {
|
||||
deviceId: string;
|
||||
reviewedBy: string;
|
||||
@@ -1824,35 +1795,7 @@ export async function queueDeviceImportResolutionTask(params: {
|
||||
const selectedCandidates = draft.candidates.filter((candidate) =>
|
||||
draft.selectedCandidateIds.includes(candidate.candidateId),
|
||||
);
|
||||
const understandingTasks = await Promise.all(
|
||||
selectedCandidates
|
||||
.filter((candidate) => candidate.codexThreadRef?.trim())
|
||||
.map((candidate) =>
|
||||
queueMasterAgentTask({
|
||||
projectId: "master-agent",
|
||||
taskType: "conversation_reply",
|
||||
requestMessageId: draft.draftId,
|
||||
requestText: `请总结线程 ${candidate.threadDisplayName} 当前项目目标与进度`,
|
||||
executionPrompt: buildDeviceImportUnderstandingPrompt({
|
||||
deviceName: device.name,
|
||||
draftId: draft.draftId,
|
||||
candidateId: candidate.candidateId,
|
||||
threadDisplayName: candidate.threadDisplayName,
|
||||
folderName: candidate.folderName,
|
||||
lastActiveAt: candidate.lastActiveAt,
|
||||
}),
|
||||
requestedBy: params.reviewedBy,
|
||||
requestedByAccount: params.reviewedBy,
|
||||
deviceId: device.id,
|
||||
deviceImportDraftId: draft.draftId,
|
||||
deviceImportCandidateId: candidate.candidateId,
|
||||
deviceImportCandidateFolderName: candidate.folderName,
|
||||
targetThreadDisplayName: candidate.threadDisplayName,
|
||||
targetCodexThreadRef: candidate.codexThreadRef,
|
||||
targetCodexFolderRef: candidate.codexFolderRef ?? candidate.folderRef,
|
||||
}),
|
||||
),
|
||||
);
|
||||
const understandingTasks: Array<Awaited<ReturnType<typeof queueMasterAgentTask>>> = [];
|
||||
const task = await queueMasterAgentTask({
|
||||
projectId: "master-agent",
|
||||
taskType: "device_import_resolution",
|
||||
|
||||
Reference in New Issue
Block a user