ワンクリックで
dyadadd-models
// Add one or more AI models to the language model constants file, researching specs from official docs.
// Add one or more AI models to the language model constants file, researching specs from official docs.
Root-cause flaky or failing E2E tests from a specific CI run by downloading and analyzing the Playwright HTML report (traces, screenshots, errors). Use this when given a GitHub Actions run URL and asked to investigate failures. Diagnose from report artifacts first, then rebuild and rerun the affected E2E tests locally after making fixes.
Fix failing CI checks and GitHub Actions on a Pull Request.
Read all unresolved GitHub PR comments from trusted authors and address or resolve them appropriately.
Automatically gather flaky E2E tests from recent CI runs on the main branch and from recent PRs by wwwillchen/keppo-bot/dyad-assistant, then deflake them.
Commit any uncommitted changes, run lint checks, fix any issues, and push the current branch.
Promote the latest pre-release to a stable release by creating a release branch, bumping the version, and pushing.
| name | dyad:add-models |
| description | Add one or more AI models to the language model constants file, researching specs from official docs. |
Add one or more AI models to src/ipc/shared/language_model_constants.ts, researching correct specifications from official documentation.
$ARGUMENTS: Comma-separated list of model names to add (e.g., "gemini 3.1 pro, glm 5, sonnet 4.6").Parse the model list:
Split $ARGUMENTS by commas to get individual model names. Trim whitespace from each.
Read the current constants file:
Read src/ipc/shared/language_model_constants.ts to understand:
claude-sonnet-4-20250514 for Anthropic, gemini-2.5-pro for Google)ModelOption entries (name, displayName, description, maxOutputTokens, contextWindow, temperature, dollarSigns)Identify the provider for each model:
Map each model to its provider based on the model name:
anthropic): Claude models (Opus, Sonnet, Haiku)openai): GPT modelsgoogle): Gemini modelsxai): Grok modelsopenrouter): Models from other providers (DeepSeek, Qwen, Moonshot/Kimi, Z-AI/GLM, etc.)azure): Azure-hosted OpenAI modelsbedrock): AWS Bedrock-hosted Anthropic modelsvertex): Google Vertex AI-hosted modelsIf a model could belong to multiple providers (e.g., a new Anthropic model should go in anthropic AND potentially bedrock), add it to the primary provider. Ask the user if they also want it added to secondary providers.
Research each model's specifications:
For each model, use WebSearch and WebFetch to look up the official documentation:
docs.anthropic.com for model specsplatform.openai.com/docs/models for model specsai.google.dev/gemini-api/docs/models for model specsdocs.x.ai/docs/models for model specsopenrouter.ai/<provider>/<model-name> for model specs and pricingFor each model, determine:
claude-sonnet-4-5-20250929, gemini-2.5-pro)Dollar signs guide (approximate, based on per-million-token input pricing):
Follow provider-specific conventions:
Match the patterns used by existing entries:
maxOutputTokens: undefined (OpenAI errors with max_tokens), temperature: 1maxOutputTokens: 32_000, temperature: 0maxOutputTokens: 65_536 - 1 (exclusive upper bound for Vertex), temperature variesmaxOutputTokens: 32_000, prefix model name with provider (e.g., deepseek/deepseek-chat-v3.1)maxOutputTokens commented out, temperature: 1us.anthropic.claude-sonnet-4-5-20250929-v1:0)maxOutputTokens: 32_000, temperature: 0Add the models to the constants file:
Insert each new model entry into the appropriate provider's array in MODEL_OPTIONS. Place new models:
Also check if related arrays need updating:
TURBO_MODELS: If the model has a turbo variantPROVIDERS_THAT_SUPPORT_THINKING: If adding a new provider that supports thinkingCheck for named constant exports:
If the new model is likely to be referenced elsewhere (like SONNET_4_5 or GPT_5_2_MODEL_NAME), create a named constant export for it. Search the codebase for references to similar constants to determine if one is needed:
grep -r "SONNET_4_5\|GPT_5_2_MODEL_NAME\|GEMINI_3_FLASH" src/
Verify the changes compile:
npm run ts
Fix any type errors if they occur.
Summarize what was added:
Report to the user: