feat: upgrade investigation and presentation runtime
Generic Container CI/CD / test-build-publish (push) Successful in 1m6s
Agent CI/CD / build-test-publish-and-deploy (push) Successful in 1m7s

This commit is contained in:
2026-10-30 17:30:19 +08:00
parent 3b52a0ddab
commit 6336157ff4
104 changed files with 6541 additions and 961 deletions
+11 -2
View File
@@ -68,24 +68,33 @@ export function serviceOpencodeConfig(input: Record<string, unknown>, models: Ag
instruction: {
description: "TJWater structured data and UI agent", mode: "primary", ...instruction, model: models.defaults.chat, system,
permissions: [
{ action: "ask_task_user", resource: "*", effect: "deny" },
...agentMessageTools.map((action): PermissionRule => ({ action, resource: "*", effect: action.startsWith("mcp_") && deniedProductQuery(action, (input.permissions ?? []) as PermissionRule[]) ? "deny" : "allow" })),
...((instruction.permissions ?? []) as PermissionRule[]),
{ action: "subagent", resource: "*", effect: "deny" },
],
},
"prompt-suggestions": {
description: "仅根据已加载活动生成推荐问题 JSON", mode: "primary",
model: models.defaults.chat,
system: readFileSync(resolve(".opencode/agents/prompt-suggestions.md"), "utf8"),
permissions: [{ action: "*", resource: "*", effect: "deny" }],
},
[TASK_AGENT]: {
description: "后台工况调查,协调只读子任务并统一发布进展与报告", mode: "primary",
model: models.defaults.task,
system: `${system}\n\n${readFileSync(resolve(".opencode/agents/investigation.md"), "utf8")}`,
permissions: [
{ action: "ask_task_user", resource: "*", effect: "allow" },
{ action: "question", resource: "*", effect: "deny" },
{ action: "ask_user", resource: "*", effect: "deny" },
...agentMessageTools.map((action): PermissionRule => ({ action, resource: "*", effect: [queryMcpToolId("read_agent_messages"), "reply_agent_message"].includes(action) && !(action.startsWith("mcp_") && deniedProductQuery(action, (input.permissions ?? []) as PermissionRule[])) ? "allow" : "deny" })),
{ action: "subagent", resource: "*", effect: "deny" },
{ action: "subagent", resource: TASK_READER_AGENT, effect: "allow" },
],
},
[TASK_READER_AGENT]: {
description: "独立核查一项调查问题,仅查询当前任务授权资料并返回证据编号、发现与局限", mode: "subagent",
system: readFileSync(resolve(".opencode/agents/investigation-reader.md"), "utf8"),
description: "运行时只读调查子代理,具体核查提示由父调查在每次调用中提供", mode: "subagent",
permissions: [
{ action: "*", resource: "*", effect: "deny" },
...TASK_READER_TOOLS.filter((name) => !PRODUCT_MCP_TOOL_IDS.includes(name) || !deniedProductQuery(name, (input.permissions ?? []) as PermissionRule[])).map((action) => ({ action, resource: "*", effect: "allow" })),