04633ba208
* fix(models): update model names to match OpenCode Zen catalog OpenCode Zen recently updated their official model catalog, deprecating several preview and free model variants: DEPRECATED → NEW (Official Zen Names): - gemini-3-pro-preview → gemini-3-pro - gemini-3-flash-preview → gemini-3-flash - grok-code → gpt-5-nano (FREE tier maintained) - glm-4.7-free → big-pickle (FREE tier maintained) - glm-4.6v → glm-4.6 Changes: - Updated 6 source files (model-requirements, delegate-task, think-mode, etc.) - Updated 9 documentation files (installation, configurations, features, etc.) - Updated 14 test files with new model references - Regenerated snapshots to reflect catalog changes - Removed duplicate think-mode entries for preview variants Impact: - FREE tier access preserved via gpt-5-nano and big-pickle - All 55 model-related tests passing - Zero breaking changes - pure string replacement - Aligns codebase with official OpenCode Zen model catalog Verified: - Zero deprecated model names in codebase - All model-related tests pass (55/55) - Snapshots regenerated and validated Affects: 30 files (6 source, 9 docs, 14 tests, 1 snapshot) * fix(multimodal-looker): update fallback chain with glm-4.6v and gpt-5-nano - Change glm-4.6 to glm-4.6v for zai-coding-plan provider - Add opencode/gpt-5-nano as 4th fallback (FREE tier) - Push gpt-5.2 to 5th position Fallback chain now: 1. gemini-3-flash (google, github-copilot, opencode) 2. claude-haiku-4-5 (anthropic, github-copilot, opencode) 3. glm-4.6v (zai-coding-plan) 4. gpt-5-nano (opencode) - FREE 5. gpt-5.2 (openai, github-copilot, opencode) * chore: update bun.lock --------- Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
189 lines
6.7 KiB
TypeScript
189 lines
6.7 KiB
TypeScript
import type { CategoryConfig } from "../../config/schema"
|
|
|
|
export const VISUAL_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
You are working on VISUAL/UI tasks.
|
|
|
|
Design-first mindset:
|
|
- Bold aesthetic choices over safe defaults
|
|
- Unexpected layouts, asymmetry, grid-breaking elements
|
|
- Distinctive typography (avoid: Arial, Inter, Roboto, Space Grotesk)
|
|
- Cohesive color palettes with sharp accents
|
|
- High-impact animations with staggered reveals
|
|
- Atmosphere: gradient meshes, noise textures, layered transparencies
|
|
|
|
AVOID: Generic fonts, purple gradients on white, predictable layouts, cookie-cutter patterns.
|
|
</Category_Context>`
|
|
|
|
export const STRATEGIC_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
You are working on BUSINESS LOGIC / ARCHITECTURE tasks.
|
|
|
|
Strategic advisor mindset:
|
|
- Bias toward simplicity: least complex solution that fulfills requirements
|
|
- Leverage existing code/patterns over new components
|
|
- Prioritize developer experience and maintainability
|
|
- One clear recommendation with effort estimate (Quick/Short/Medium/Large)
|
|
- Signal when advanced approach warranted
|
|
|
|
Response format:
|
|
- Bottom line (2-3 sentences)
|
|
- Action plan (numbered steps)
|
|
- Risks and mitigations (if relevant)
|
|
</Category_Context>`
|
|
|
|
export const ARTISTRY_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
You are working on HIGHLY CREATIVE / ARTISTIC tasks.
|
|
|
|
Artistic genius mindset:
|
|
- Push far beyond conventional boundaries
|
|
- Explore radical, unconventional directions
|
|
- Surprise and delight: unexpected twists, novel combinations
|
|
- Rich detail and vivid expression
|
|
- Break patterns deliberately when it serves the creative vision
|
|
|
|
Approach:
|
|
- Generate diverse, bold options first
|
|
- Embrace ambiguity and wild experimentation
|
|
- Balance novelty with coherence
|
|
- This is for tasks requiring exceptional creativity
|
|
</Category_Context>`
|
|
|
|
export const QUICK_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
You are working on SMALL / QUICK tasks.
|
|
|
|
Efficient execution mindset:
|
|
- Fast, focused, minimal overhead
|
|
- Get to the point immediately
|
|
- No over-engineering
|
|
- Simple solutions for simple problems
|
|
|
|
Approach:
|
|
- Minimal viable implementation
|
|
- Skip unnecessary abstractions
|
|
- Direct and concise
|
|
</Category_Context>
|
|
|
|
<Caller_Warning>
|
|
THIS CATEGORY USES A LESS CAPABLE MODEL (claude-haiku-4-5).
|
|
|
|
The model executing this task has LIMITED reasoning capacity. Your prompt MUST be:
|
|
|
|
**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:
|
|
1. MUST DO: List every required action as atomic, numbered steps
|
|
2. MUST NOT DO: Explicitly forbid likely mistakes and deviations
|
|
3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples
|
|
|
|
**WHY THIS MATTERS:**
|
|
- Less capable models WILL deviate without explicit guardrails
|
|
- Vague instructions → unpredictable results
|
|
- Implicit expectations → missed requirements
|
|
|
|
**PROMPT STRUCTURE (MANDATORY):**
|
|
\`\`\`
|
|
TASK: [One-sentence goal]
|
|
|
|
MUST DO:
|
|
1. [Specific action with exact details]
|
|
2. [Another specific action]
|
|
...
|
|
|
|
MUST NOT DO:
|
|
- [Forbidden action + why]
|
|
- [Another forbidden action]
|
|
...
|
|
|
|
EXPECTED OUTPUT:
|
|
- [Exact deliverable description]
|
|
- [Success criteria / verification method]
|
|
\`\`\`
|
|
|
|
If your prompt lacks this structure, REWRITE IT before delegating.
|
|
</Caller_Warning>`
|
|
|
|
export const UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
You are working on tasks that don't fit specific categories but require moderate effort.
|
|
|
|
<Selection_Gate>
|
|
BEFORE selecting this category, VERIFY ALL conditions:
|
|
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
2. Task requires more than trivial effort but is NOT system-wide
|
|
3. Scope is contained within a few files/modules
|
|
|
|
If task fits ANY other category, DO NOT select unspecified-low.
|
|
This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
|
|
</Selection_Gate>
|
|
</Category_Context>
|
|
|
|
<Caller_Warning>
|
|
THIS CATEGORY USES A MID-TIER MODEL (claude-sonnet-4-5).
|
|
|
|
**PROVIDE CLEAR STRUCTURE:**
|
|
1. MUST DO: Enumerate required actions explicitly
|
|
2. MUST NOT DO: State forbidden actions to prevent scope creep
|
|
3. EXPECTED OUTPUT: Define concrete success criteria
|
|
</Caller_Warning>`
|
|
|
|
export const UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
You are working on tasks that don't fit specific categories but require substantial effort.
|
|
|
|
<Selection_Gate>
|
|
BEFORE selecting this category, VERIFY ALL conditions:
|
|
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
2. Task requires substantial effort across multiple systems/modules
|
|
3. Changes have broad impact or require careful coordination
|
|
4. NOT just "complex" - must be genuinely unclassifiable AND high-effort
|
|
|
|
If task fits ANY other category, DO NOT select unspecified-high.
|
|
If task is unclassifiable but moderate-effort, use unspecified-low instead.
|
|
</Selection_Gate>
|
|
</Category_Context>`
|
|
|
|
export const WRITING_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
You are working on WRITING / PROSE tasks.
|
|
|
|
Wordsmith mindset:
|
|
- Clear, flowing prose
|
|
- Appropriate tone and voice
|
|
- Engaging and readable
|
|
- Proper structure and organization
|
|
|
|
Approach:
|
|
- Understand the audience
|
|
- Draft with care
|
|
- Polish for clarity and impact
|
|
- Documentation, READMEs, articles, technical writing
|
|
</Category_Context>`
|
|
|
|
|
|
|
|
export const DEFAULT_CATEGORIES: Record<string, CategoryConfig> = {
|
|
"visual-engineering": { model: "google/gemini-3-pro" },
|
|
ultrabrain: { model: "openai/gpt-5.2-codex", variant: "xhigh" },
|
|
artistry: { model: "google/gemini-3-pro", variant: "max" },
|
|
quick: { model: "anthropic/claude-haiku-4-5" },
|
|
"unspecified-low": { model: "anthropic/claude-sonnet-4-5" },
|
|
"unspecified-high": { model: "anthropic/claude-opus-4-5", variant: "max" },
|
|
writing: { model: "google/gemini-3-flash" },
|
|
}
|
|
|
|
export const CATEGORY_PROMPT_APPENDS: Record<string, string> = {
|
|
"visual-engineering": VISUAL_CATEGORY_PROMPT_APPEND,
|
|
ultrabrain: STRATEGIC_CATEGORY_PROMPT_APPEND,
|
|
artistry: ARTISTRY_CATEGORY_PROMPT_APPEND,
|
|
quick: QUICK_CATEGORY_PROMPT_APPEND,
|
|
"unspecified-low": UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND,
|
|
"unspecified-high": UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
|
|
writing: WRITING_CATEGORY_PROMPT_APPEND,
|
|
}
|
|
|
|
export const CATEGORY_DESCRIPTIONS: Record<string, string> = {
|
|
"visual-engineering": "Frontend, UI/UX, design, styling, animation",
|
|
ultrabrain: "Deep logical reasoning, complex architecture decisions requiring extensive analysis",
|
|
artistry: "Highly creative/artistic tasks, novel ideas",
|
|
quick: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
"unspecified-low": "Tasks that don't fit other categories, low effort required",
|
|
"unspecified-high": "Tasks that don't fit other categories, high effort required",
|
|
writing: "Documentation, prose, technical writing",
|
|
}
|
|
|
|
|