feat: refactor model selection to use developer tiers

- Replaced raw model aliases with developer tiers (junior, medior, senior, qa) in dispatch and model selection logic.
- Updated `dispatchTask` to resolve models based on tiers and plugin configuration.
- Modified `selectModel` to return tier names instead of model aliases based on task description.
- Implemented migration logic for transitioning from old model aliases to new tier names in worker state.
- Added setup logic for agent creation and model configuration in `setup.ts`.
- Created shared templates for workspace files and instructions for DEV/QA workers.
- Enhanced project registration to scaffold role files based on developer tiers.
- Updated task management tools to reflect changes in model selection and tier assignment.
- Introduced a new `devclaw_setup` tool for agent-driven setup and configuration.
- Updated plugin configuration schema to support model mapping per developer tier.
This commit is contained in:
Lauren ten Hoor
2026-02-09 13:41:22 +08:00
parent 8a79755e4c
commit aa8e8dbd1b
16 changed files with 1162 additions and 257 deletions

View File

@@ -1,21 +1,27 @@
{
"id": "devclaw",
"name": "DevClaw",
"description": "Multi-project dev/qa pipeline orchestration for OpenClaw. Atomic task pickup, completion, queue status, and session health tools.",
"description": "Multi-project dev/qa pipeline orchestration for OpenClaw. Developer tiers, atomic task management, session health, and audit logging.",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"modelSelection": {
"models": {
"type": "object",
"description": "Model mapping per developer tier (junior, medior, senior, qa)",
"properties": {
"enabled": { "type": "boolean" },
"analyzerModel": { "type": "string" }
"junior": { "type": "string", "description": "Junior dev model (default: anthropic/claude-haiku-4-5)" },
"medior": { "type": "string", "description": "Medior dev model (default: anthropic/claude-sonnet-4-5)" },
"senior": { "type": "string", "description": "Senior dev model (default: anthropic/claude-opus-4-5)" },
"qa": { "type": "string", "description": "QA engineer model (default: anthropic/claude-sonnet-4-5)" }
}
},
"glabPath": {
"type": "string",
"description": "Path to glab CLI binary. Defaults to 'glab' on PATH."
},
"ghPath": {
"type": "string",
"description": "Path to gh CLI binary. Defaults to 'gh' on PATH."
}
}
}