Effort selector dropdown hidden for GLM models — blocks access to GLM-5.2 High/Max effort tiers
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Empieza leyendo la condición de effort-selector en src/components/chat/MessageInput.tsx y las entradas de capacidades de modelos en src/lib/provider-catalog.ts; luego localiza dónde se definen los modelos env-provider. Comprueba cómo gestiona el desplegable supportedEffortLevels antes de elegir qué modelos y niveles exponer. Se considerará terminado cuando los usuarios de GLM puedan seleccionar niveles de esfuerzo compatibles y el valor de esfuerzo existente siga pasando a través de la solicitud de chat.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
When using a GLM model (e.g. GLM-5.2 via Z.ai's Anthropic-compatible endpoint at https://api.z.ai/api/anthropic), the effort selector dropdown does not render in the chat composer. This prevents users from selecting GLM-5.2's High and Max reasoning effort tiers, even though the downstream plumbing already carries the effort field end-to-end and Z.ai's endpoint accepts it.
Environment
- CodePilot: v0.56.0 (source HEAD
b4e96a1) - OS: Windows 11
- Provider: env (Claude Code SDK runtime)
- Endpoint:
https://api.z.ai/api/anthropic - Model:
glm-5.2[1m]
Root cause
The dropdown visibility is gated by a model capability flag that GLM does not have.
src/components/chat/MessageInput.tsx:991-992:
```tsx
const currentModelMeta = currentModelOption as (typeof currentModelOption & { supportsEffort?: boolean; supportedEffortLevels?: string[] }) | undefined;
const showEffortSelector = currentModelMeta?.supportsEffort === true;
```
supportsEffort: true is set on Claude variants in src/lib/provider-catalog.ts (Sonnet / Opus / Haiku roles, plus Fable 5 at lines 240, 250, 260, 290, 301, 314, 325, 344, 355, 370, 385, 396, 428, 437) but not on GLM models configured via the env provider. When a user selects GLM, currentModelMeta.supportsEffort is undefined, so showEffortSelector is false and the dropdown never renders. There is no way inside the UI to set selectedEffort to anything other than the 'auto' default.
The downstream plumbing already works
Once selectedEffort is anything other than 'auto', the value flows through cleanly:
src/app/chat/page.tsx:890:
```tsx
...(selectedEffort && selectedEffort !== 'auto' ? { effort: selectedEffort } : {}),
```
src/lib/claude-model-options.ts:102-144 (sanitizeClaudeModelOptions) passes effort through unchanged for any model that isn't Opus 4.7/4.8/Fable 5. GLM matches neither the OPUS_ADAPTIVE_THINKING_PATTERN nor the FABLE_PATTERN, so effort: 'max' would reach Z.ai's endpoint as-is.
The EffortSelectorDropdown itself also already falls back to the full 5-level set when supportedEffortLevels is undefined:
src/components/chat/EffortSelectorDropdown.tsx:36:
```tsx
const baseLevels = supportedEffortLevels || ['low', 'medium', 'high', 'xhigh', 'max'];
```
So the only thing missing is the capability flag on GLM model entries.
GLM-5.2 does support effort tiers
Per Z.ai's "How to Switch Models" doc:
"In a Claude Code session, type the /effort command to switch thinking intensity. After switching, Claude Code maps the selected effort to GLM-5.2's actual effort levels..."
GLM-5.2 exposes at least High and Max effort tiers. Users running the Claude Code CLI directly against Z.ai can reach them via /effort max. CodePilot users cannot, because the UI gate is closed. (CodePilot also does not forward /effort as a slash command to the underlying SDK, so there's no escape hatch.)
Suggested fixes
In order of preference:
-
Mark env-provider models with
supportsEffort: trueby default so the dropdown renders for any Anthropic-compatible endpoint (GLM, DeepSeek, Kimi, etc.). Downstream code handles unknown effort values gracefully, and the endpoint will either accept the level or ignore it. -
Add explicit GLM entries to
ENV_CLAUDE_CODE_MODELSwithsupportedEffortLevels: ['high', 'max']matching what Z.ai's endpoint actually documents, so the dropdown surfaces only the levels GLM-5.2 truly supports.
Workaround
None inside CodePilot today. Switching to Opus surfaces the dropdown (Opus has supportsEffort: true), but that's not a real fix for users who chose GLM for cost or quota reasons.
- Lenguaje dominante
- TypeScript
- Estrellas
- 6.5k
- Forks
- 697
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de op7418/CodePilot
-
发生错误时提醒Error:successAbiertobug P0-crash-or-interrupt
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug P0-crash-or-interrupt
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
无法正常应用内更新Abiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de op7418/CodePilot
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
backnotprop/plannotator#2914 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/vscode-containers#655 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
dsh-tauri-desk/deepseek-harness-desktop#1477 · 1 comentario ·