8c71221595
Remove non-existent council-orchestrator.ts and council-prompt.ts from AGENTS.md structure listing. Fix Athena denied tools (add call_omo_agent) and Council-Member denied tools (remove non-existent athena_council). Add council-member-agents.ts to builtin-agents listing. Fix stale athena_council reference in docs/features.md. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
4.7 KiB
4.7 KiB
src/agents/ — 13 Agent Definitions
Generated: 2026-04-11
OVERVIEW
Agent factories following createXXXAgent(model) → AgentConfig pattern. Each has static mode property. Built via buildAgent() compositing factory + categories + skills.
AGENT INVENTORY
| Agent | Model | Temp | Mode | Fallback Chain | Purpose |
|---|---|---|---|---|---|
| Sisyphus | claude-opus-4-6 max | 0.1 | all | k2p5 -> kimi-k2.5 -> gpt-5.4 medium -> glm-5 -> big-pickle | Main orchestrator, plans + delegates |
| Hephaestus | gpt-5.4 medium | 0.1 | all | — | Autonomous deep worker |
| Oracle | gpt-5.4 high | 0.1 | subagent | gemini-3.1-pro high -> claude-opus-4-6 max | Read-only consultation |
| Librarian | minimax-m2.7 | 0.1 | subagent | minimax-m2.7-highspeed -> claude-haiku-4-5 -> gpt-5-nano | External docs/code search |
| Explore | grok-code-fast-1 | 0.1 | subagent | minimax-m2.7-highspeed -> minimax-m2.7 -> claude-haiku-4-5 -> gpt-5-nano | Contextual grep |
| Multimodal-Looker | gpt-5.3-codex medium | 0.1 | subagent | k2p5 -> gemini-3-flash -> glm-4.6v -> gpt-5-nano | PDF/image analysis |
| Metis | claude-opus-4-6 max | 0.3 | subagent | gpt-5.4 high -> gemini-3.1-pro high | Pre-planning consultant |
| Momus | gpt-5.4 xhigh | 0.1 | subagent | claude-opus-4-6 max -> gemini-3.1-pro high | Plan reviewer |
| Atlas | claude-sonnet-4-6 | 0.1 | primary | gpt-5.4 medium | Todo-list orchestrator |
| Prometheus | claude-opus-4-6 max | 0.1 | — | internal planner | Strategic planner (internal) |
| Athena | claude-opus-4-6 max | 0.1 | primary | k2p5 -> kimi-k2.5 -> gpt-5.4 medium -> glm-5 | Multi-model council orchestrator |
| Council-Member | gpt-5-nano | 0.1 | subagent | NONE | Independent council analyst |
| Sisyphus-Junior | claude-sonnet-4-6 | 0.1 | all | user-configurable | Category-spawned executor |
TOOL RESTRICTIONS
| Agent | Denied Tools |
|---|---|
| Oracle | write, edit, task, call_omo_agent |
| Librarian | write, edit, task, call_omo_agent |
| Explore | write, edit, task, call_omo_agent |
| Multimodal-Looker | ALL except read |
| Atlas | task, call_omo_agent |
| Momus | write, edit, task |
| Athena | write, edit, call_omo_agent |
| Council-Member | write, edit, task, call_omo_agent |
STRUCTURE
agents/
├── sisyphus.ts # 559 LOC, main orchestrator
├── hephaestus.ts # 507 LOC, autonomous worker
├── oracle.ts # Read-only consultant
├── librarian.ts # External search
├── explore.ts # Codebase grep
├── multimodal-looker.ts # Vision/PDF
├── metis.ts # Pre-planning
├── momus.ts # Plan review
├── atlas/agent.ts # Todo orchestrator
├── athena/ # Multi-model council orchestrator
│ ├── agent.ts # Athena agent factory
│ ├── council-member-agent.ts # Council member agent factory
│ ├── model-parser.ts # Model string parser
│ ├── types.ts # Council types
│ └── index.ts # Barrel exports
├── types.ts # AgentFactory, AgentMode
├── agent-builder.ts # buildAgent() composition
├── utils.ts # Agent utilities
├── builtin-agents.ts # createBuiltinAgents() registry
├── dynamic-agent-prompt-builder.ts # Dynamic prompt builder system
├── dynamic-agent-core-sections.ts # Core prompt sections
├── dynamic-agent-policy-sections.ts # Policy prompt sections
├── dynamic-agent-tool-categorization.ts # Tool categorization
├── dynamic-agent-category-skills-guide.ts # Category skills guide
├── custom-agent-summaries.ts # Custom agent summaries
├── env-context.ts # Environment context
└── builtin-agents/ # maybeCreateXXXConfig conditional factories
├── sisyphus-agent.ts
├── hephaestus-agent.ts
├── atlas-agent.ts
├── council-member-agents.ts # Council member registration
├── general-agents.ts # collectPendingBuiltinAgents
└── available-skills.ts
FACTORY PATTERN
const createXXXAgent: AgentFactory = (model: string) => ({
instructions: "...",
model,
temperature: 0.1,
// ...config
})
createXXXAgent.mode = "subagent" // or "primary" or "all"
Model resolution: 4-step: override → category-default → provider-fallback → system-default. Defined in shared/model-requirements.ts.
MODES
- primary: Respects UI-selected model, uses fallback chain
- subagent: Uses own fallback chain, ignores UI selection
- all: Available in both contexts (Sisyphus-Junior)