|
@@ -305,6 +305,8 @@ export default tool({
|
|
|
sawCancelled = true
|
|
sawCancelled = true
|
|
|
progress.cancel()
|
|
progress.cancel()
|
|
|
updateMetadata("Research67 已取消", { latest_event: ev.event, status: "cancelled" })
|
|
updateMetadata("Research67 已取消", { latest_event: ev.event, status: "cancelled" })
|
|
|
|
|
+ } else if (ev.event === "research_status" && data) {
|
|
|
|
|
+ updateMetadata(scientificLabel(data.status), { scientific_status: data.status, latest_event: ev.event })
|
|
|
} else if (ev.event === "done" && data) {
|
|
} else if (ev.event === "done" && data) {
|
|
|
done = data
|
|
done = data
|
|
|
break
|
|
break
|
|
@@ -352,10 +354,12 @@ export default tool({
|
|
|
`- [${name}](${config.url}/api/v1/agents/${encodeURIComponent(agentID)}/runs/${encodeURIComponent(String(metadata.run_id))}/artifacts/${encodeURIComponent(id)}/download)`,
|
|
`- [${name}](${config.url}/api/v1/agents/${encodeURIComponent(agentID)}/runs/${encodeURIComponent(String(metadata.run_id))}/artifacts/${encodeURIComponent(id)}/download)`,
|
|
|
]
|
|
]
|
|
|
})
|
|
})
|
|
|
|
|
+ const science = asRecord(asRecord(done.research)?.science)
|
|
|
if (status === "completed")
|
|
if (status === "completed")
|
|
|
return {
|
|
return {
|
|
|
- title: `AgentPaaS ${args.agent_name}`,
|
|
|
|
|
|
|
+ title: science ? scientificLabel(science.status) : `AgentPaaS ${args.agent_name}`,
|
|
|
output: [
|
|
output: [
|
|
|
|
|
+ ...(science ? [`研究状态:${scientificLabel(science.status)}。执行结束不代表科学结论成立。\n`] : []),
|
|
|
String(done.output ?? ""),
|
|
String(done.output ?? ""),
|
|
|
...(artifactLinks.length ? ["\n研究产物(通过 PaaS 身份验证后下载):", ...artifactLinks] : []),
|
|
...(artifactLinks.length ? ["\n研究产物(通过 PaaS 身份验证后下载):", ...artifactLinks] : []),
|
|
|
].join("\n"),
|
|
].join("\n"),
|
|
@@ -388,6 +392,13 @@ export default tool({
|
|
|
},
|
|
},
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+function scientificLabel(status: unknown): string {
|
|
|
|
|
+ if (status === "needs_evidence") return "证据不足"
|
|
|
|
|
+ if (status === "needs_revision") return "方案待修订"
|
|
|
|
|
+ if (status === "needs_review") return "方案检查通过,待人工审阅"
|
|
|
|
|
+ return "研究状态待核查"
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
async function resolveAgentID(config: { url: string; apiKey: string }, agentName: string, signal: AbortSignal) {
|
|
async function resolveAgentID(config: { url: string; apiKey: string }, agentName: string, signal: AbortSignal) {
|
|
|
const name = agentName.trim()
|
|
const name = agentName.trim()
|
|
|
if (!name) throw new Error("agent_name 不能为空")
|
|
if (!name) throw new Error("agent_name 不能为空")
|