From 2024c0cb8484bc670e041819fad264e0ce54ba1a Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Mon, 27 Apr 2026 21:15:38 +0900 Subject: [PATCH] feat(agents): wire Claude Opus 4.7 support into Sisyphus agent Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/agents/sisyphus.ts | 36 +++++++++++++++++++++++++++++++++++- src/agents/sisyphus/index.ts | 3 +++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/agents/sisyphus.ts b/src/agents/sisyphus.ts index d0bfb0979..254e164d8 100644 --- a/src/agents/sisyphus.ts +++ b/src/agents/sisyphus.ts @@ -1,6 +1,12 @@ import type { AgentConfig } from "@opencode-ai/sdk"; import type { AgentMode, AgentPromptMetadata } from "./types"; -import { isGptModel, isGeminiModel, isGpt5_5Model, isGptNativeSisyphusModel } from "./types"; +import { + isGptModel, + isGeminiModel, + isGpt5_5Model, + isGptNativeSisyphusModel, + isClaudeOpus47Model, +} from "./types"; import { buildGeminiToolMandate, buildGeminiDelegationOverride, @@ -9,6 +15,7 @@ import { buildGeminiToolGuide, buildGeminiToolCallExamples, } from "./sisyphus/gemini"; +import { buildClaudeOpus47SisyphusPrompt } from "./sisyphus/claude-opus-4-7"; import { buildGpt54SisyphusPrompt } from "./sisyphus/gpt-5-4"; import { buildGpt55SisyphusPrompt } from "./sisyphus/gpt-5-5"; import { buildTaskManagementSection } from "./sisyphus/default"; @@ -536,6 +543,33 @@ export function createSisyphusAgent( }; } + if (isClaudeOpus47Model(model)) { + const prompt = buildClaudeOpus47SisyphusPrompt( + model, + agents, + tools, + skills, + categories, + useTaskSystem, + ); + return { + description: + "Powerful AI orchestrator. Plans obsessively with todos, assesses search complexity before exploration, delegates strategically via category+skills combinations. Uses explore for internal code (parallel-friendly), librarian for external docs. (Sisyphus - OhMyOpenCode)", + mode: MODE, + model, + maxTokens: 64000, + prompt, + color: "#00CED1", + permission: { + question: "allow", + call_omo_agent: "deny", + ...getFrontierToolSchemaPermission(model), + ...getGptApplyPatchPermission(model), + } as AgentConfig["permission"], + thinking: { type: "enabled", budgetTokens: 32000 }, + }; + } + let prompt = buildDynamicSisyphusPrompt( model, agents, diff --git a/src/agents/sisyphus/index.ts b/src/agents/sisyphus/index.ts index fc921708c..a88c18d6d 100644 --- a/src/agents/sisyphus/index.ts +++ b/src/agents/sisyphus/index.ts @@ -3,11 +3,14 @@ * * This directory contains model-specific prompt variants: * - default.ts: Base implementation for Claude and general models + * - claude-opus-4-7.ts: Native Claude Opus 4.7 prompt with literal-instruction tuning * - gemini.ts: Corrective overlays for Gemini's aggressive tendencies * - gpt-5-4.ts: Native GPT-5.4 prompt with block-structured guidance + * - gpt-5-5.ts: Native GPT-5.5 prompt with Codex-style sections */ export { buildDefaultSisyphusPrompt, buildTaskManagementSection } from "./default"; +export { buildClaudeOpus47SisyphusPrompt } from "./claude-opus-4-7"; export { buildGeminiToolMandate, buildGeminiDelegationOverride,