Files
oh-my-opencode/src/agents/athena/council-member-agent.ts
T

37 lines
1.0 KiB
TypeScript
Raw Normal View History

import type { AgentConfig } from "@opencode-ai/sdk"
import type { AgentMode } from "../types"
import { isGptModel } from "../types"
import { createAgentToolRestrictions } from "../../shared/permission-compat"
const MODE: AgentMode = "subagent"
const COUNCIL_MEMBER_PROMPT =
"You are an independent code analyst in a multi-model council. Provide thorough, evidence-based analysis."
export function createCouncilMemberAgent(model: string): AgentConfig {
const restrictions = createAgentToolRestrictions([
"write",
"edit",
"task",
"call_omo_agent",
"athena_council",
])
const base = {
description:
"Independent code analyst for Athena multi-model council. Read-only, evidence-based analysis. (Council Member - OhMyOpenCode)",
mode: MODE,
model,
temperature: 0.1,
prompt: COUNCIL_MEMBER_PROMPT,
...restrictions,
}
if (isGptModel(model)) {
return { ...base, reasoningEffort: "medium" }
}
return { ...base, thinking: { type: "enabled", budgetTokens: 32000 } }
}
createCouncilMemberAgent.mode = MODE