diff --git a/server/routes/company.js b/server/routes/company.js index 5ba41f8..37dbbb8 100644 --- a/server/routes/company.js +++ b/server/routes/company.js @@ -25,14 +25,29 @@ function triggerOrgGraphPlanning(company, tag = 'OrgGraph') { const PORT = config.port || 3000; const { id, name, goal, description } = company || {}; - fetch(`http://127.0.0.1:${PORT}/api/agent/orggraph-planning/chat`, { + // ⚠️ 必须用 `${companyId}:orggraph-planning` 这个公司限定地址。 + // orggraph-planning 是被 hire 进公司的,住在 data/companies/{id}/agents/ 下, + // 裸名 /api/agent/orggraph-planning/chat 会 404 Agent not found。 + const namespacedId = `${id}:orggraph-planning`; + + fetch(`http://127.0.0.1:${PORT}/api/agent/${encodeURIComponent(namespacedId)}/chat`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: `公司 ${id}(${name})已创建。\n公司目标(company-goal):${goal || '(未填写)'}\n公司描述:${description || '(未填写)'}\n请按 orggraph-planning 工作流规划并建立这家公司的 workflow:读 system/org-graph-templates/ 候选骨架 + 可招角色清单,产出执行流图后调用 POST /api/company/${id}/org-graph 落库,再按拓扑序完成招聘。`, conversationId: `orggraph-bootstrap-${id}-${Date.now().toString(36)}`, }), - }).catch(e => console.error(`[${tag}] orggraph-planning 触发失败:`, e.message)); + }) + // fetch 不会因为 4xx/5xx 而 reject,只在网络层出错时 reject。 + // 不显式检查 res.ok 的话,地址写错这类问题会被完全静默吞掉(实测踩过)。 + .then(res => { + if (!res.ok) { + console.error(`[${tag}] orggraph-planning 触发失败: HTTP ${res.status} @ ${namespacedId}`); + } else { + console.log(`[${tag}] ✅ 已触发 ${namespacedId} 规划 org graph`); + } + }) + .catch(e => console.error(`[${tag}] orggraph-planning 触发失败(网络):`, e.message)); } // ═══════════════════════════════════════