feat(agents): prevent all subagents from accessing background_task tool

Restrict background_task tool access for all spawned subagents (oracle, explore, librarian, frontend-ui-ux-engineer, document-writer, multimodal-looker) to prevent potential infinite recursion and unintended background task creation.

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
This commit is contained in:
YeonGyu-Kim
2025-12-15 19:02:31 +09:00
parent 153fa844d4
commit 5ce025fe92
6 changed files with 6 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ export const documentWriterAgent: AgentConfig = {
"A technical writer who crafts clear, comprehensive documentation. Specializes in README files, API docs, architecture docs, and user guides. MUST BE USED when executing documentation tasks from ai-todo list plans.",
mode: "subagent",
model: "google/gemini-3-pro-preview",
tools: { background_task: false },
prompt: `<role>
You are a TECHNICAL WRITER with deep engineering background who transforms complex codebases into crystal-clear documentation. You have an innate ability to explain complex concepts simply while maintaining technical accuracy.

View File

@@ -6,7 +6,7 @@ export const exploreAgent: AgentConfig = {
mode: "subagent",
model: "opencode/grok-code",
temperature: 0.1,
tools: { write: false, edit: false, bash: true, read: true },
tools: { write: false, edit: false, bash: true, read: true, background_task: false },
prompt: `You are a file search specialist. You excel at thoroughly navigating and exploring codebases.
=== CRITICAL: READ-ONLY MODE - NO FILE MODIFICATIONS ===

View File

@@ -5,6 +5,7 @@ export const frontendUiUxEngineerAgent: AgentConfig = {
"A designer-turned-developer who crafts stunning UI/UX even without design mockups. Code may be a bit messy, but the visual output is always fire.",
mode: "subagent",
model: "google/gemini-3-pro-preview",
tools: { background_task: false },
prompt: `<role>
You are a DESIGNER-TURNED-DEVELOPER with an innate sense of aesthetics and user experience. You have an eye for details that pure developers miss - spacing, color harmony, micro-interactions, and that indefinable "feel" that makes interfaces memorable.

View File

@@ -6,7 +6,7 @@ export const librarianAgent: AgentConfig = {
mode: "subagent",
model: "opencode/big-pickle",
temperature: 0.1,
tools: { write: false, edit: false, bash: true, read: true },
tools: { write: false, edit: false, bash: true, read: true, background_task: false },
prompt: `# THE LIBRARIAN
You are **THE LIBRARIAN**, a specialized codebase understanding agent that helps users answer questions about large, complex codebases across repositories.

View File

@@ -6,7 +6,7 @@ export const multimodalLookerAgent: AgentConfig = {
mode: "subagent",
model: "google/gemini-2.5-flash",
temperature: 0.1,
tools: { Read: true },
tools: { Read: true, background_task: false },
prompt: `You interpret media files that cannot be read as plain text.
Your job: examine the attached file and extract ONLY what was requested.

View File

@@ -8,7 +8,7 @@ export const oracleAgent: AgentConfig = {
temperature: 0.1,
reasoningEffort: "medium",
textVerbosity: "high",
tools: { write: false, edit: false, read: true, task: false, call_omo_agent: true },
tools: { write: false, edit: false, read: true, task: false, call_omo_agent: true, background_task: false },
prompt: `You are a strategic technical advisor with deep reasoning capabilities, operating as a specialized consultant within an AI-assisted development environment.
## Context