feat(agents): add gpt-5.5 native sisyphus prompt
Ground-up rewrite styled after OpenAI Codex's gpt-5.4 prompt
architecture: '# General' -> '## Autonomy and Persistence' -> '## Task
execution' -> '## Validating your work' -> '# Working with the user' ->
'# Tool Guidelines' section hierarchy.
Key differences from the gpt-5-4 variant:
- Prose-first output, bullets only when content is list-shaped
- Contract frames replace threat frames (GPT-5.5 follows instructions
well; NEVER/FORBIDDEN rhetoric adds entropy without compliance gain)
- Explicit opener blacklist for 'Done -', 'Got it', 'Great question'
- '{{ personality }}' slot reserved for future persona substitution
- '{{ taskSystemGuide }}' slot switches todo/task tools per harness cfg
- Codex-compatible clickable file reference format
Sisyphus factory now checks isGpt5_5Model before isGptNativeSisyphusModel,
so gpt-5.5 models route to the new prompt while gpt-5.4, gpt-5.6+, and
other matches stay on the existing gpt-5-4 prompt.
This commit is contained in:
+28
-1
@@ -1,6 +1,6 @@
|
||||
import type { AgentConfig } from "@opencode-ai/sdk";
|
||||
import type { AgentMode, AgentPromptMetadata } from "./types";
|
||||
import { isGptModel, isGeminiModel, isGptNativeSisyphusModel } from "./types";
|
||||
import { isGptModel, isGeminiModel, isGpt5_5Model, isGptNativeSisyphusModel } from "./types";
|
||||
import {
|
||||
buildGeminiToolMandate,
|
||||
buildGeminiDelegationOverride,
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
buildGeminiToolCallExamples,
|
||||
} from "./sisyphus/gemini";
|
||||
import { buildGpt54SisyphusPrompt } from "./sisyphus/gpt-5-4";
|
||||
import { buildGpt55SisyphusPrompt } from "./sisyphus/gpt-5-5";
|
||||
import { buildTaskManagementSection } from "./sisyphus/default";
|
||||
import { getGptApplyPatchPermission } from "./gpt-apply-patch-guard";
|
||||
|
||||
@@ -480,6 +481,32 @@ export function createSisyphusAgent(
|
||||
const categories = availableCategories ?? [];
|
||||
const agents = availableAgents ?? [];
|
||||
|
||||
if (isGpt5_5Model(model)) {
|
||||
const prompt = buildGpt55SisyphusPrompt(
|
||||
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",
|
||||
...getGptApplyPatchPermission(model),
|
||||
} as AgentConfig["permission"],
|
||||
reasoningEffort: "medium",
|
||||
};
|
||||
}
|
||||
|
||||
if (isGptNativeSisyphusModel(model)) {
|
||||
const prompt = buildGpt54SisyphusPrompt(
|
||||
model,
|
||||
|
||||
Reference in New Issue
Block a user