mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-08 16:39:42 +02:00
feat: support "Default (CLI default)" option for model selection
Allow users to leave the default model unset, so sessions use whatever the Claude CLI defaults to rather than forcing a specific model. - Add empty-value "Default (CLI default)" option to the model dropdown - Treat empty string as undefined when passing model to Session - Apply consistently across session creation, quick-start, and Ralph
This commit is contained in:
@@ -1085,6 +1085,7 @@
|
|||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label>Default Model</label>
|
<label>Default Model</label>
|
||||||
<select id="appSettingsDefaultModel" class="form-select">
|
<select id="appSettingsDefaultModel" class="form-select">
|
||||||
|
<option value="">Default (CLI default)</option>
|
||||||
<option value="opus">Opus (Most capable)</option>
|
<option value="opus">Opus (Most capable)</option>
|
||||||
<option value="sonnet">Sonnet (Balanced)</option>
|
<option value="sonnet">Sonnet (Balanced)</option>
|
||||||
<option value="haiku">Haiku (Fast & cheap)</option>
|
<option value="haiku">Haiku (Fast & cheap)</option>
|
||||||
|
|||||||
@@ -1278,7 +1278,7 @@ Object.assign(CodemanApp.prototype, {
|
|||||||
// Default model
|
// Default model
|
||||||
const defaultModelEl = document.getElementById('appSettingsDefaultModel');
|
const defaultModelEl = document.getElementById('appSettingsDefaultModel');
|
||||||
if (defaultModelEl) {
|
if (defaultModelEl) {
|
||||||
defaultModelEl.value = config.defaultModel || 'opus';
|
defaultModelEl.value = config.defaultModel || '';
|
||||||
}
|
}
|
||||||
// Show recommendations
|
// Show recommendations
|
||||||
const showRecsEl = document.getElementById('appSettingsShowModelRecommendations');
|
const showRecsEl = document.getElementById('appSettingsShowModelRecommendations');
|
||||||
@@ -1317,7 +1317,7 @@ Object.assign(CodemanApp.prototype, {
|
|||||||
if (reviewEl?.value) agentTypeOverrides.review = reviewEl.value;
|
if (reviewEl?.value) agentTypeOverrides.review = reviewEl.value;
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
defaultModel: defaultModelEl?.value || 'opus',
|
defaultModel: defaultModelEl?.value || '',
|
||||||
showRecommendations: showRecsEl?.checked ?? true,
|
showRecommendations: showRecsEl?.checked ?? true,
|
||||||
agentTypeOverrides,
|
agentTypeOverrides,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -308,7 +308,7 @@ export function registerRalphRoutes(
|
|||||||
useMux: true,
|
useMux: true,
|
||||||
mode: 'claude',
|
mode: 'claude',
|
||||||
niceConfig,
|
niceConfig,
|
||||||
model: rlModelConfig?.defaultModel,
|
model: rlModelConfig?.defaultModel || undefined,
|
||||||
claudeMode: rlClaudeModeConfig.claudeMode,
|
claudeMode: rlClaudeModeConfig.claudeMode,
|
||||||
allowedTools: rlClaudeModeConfig.allowedTools,
|
allowedTools: rlClaudeModeConfig.allowedTools,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -186,7 +186,11 @@ export function registerSessionRoutes(
|
|||||||
const modelConfig = await ctx.getModelConfig();
|
const modelConfig = await ctx.getModelConfig();
|
||||||
const mode = body.mode || 'claude';
|
const mode = body.mode || 'claude';
|
||||||
const model =
|
const model =
|
||||||
mode === 'opencode' ? body.openCodeConfig?.model : mode !== 'shell' ? modelConfig?.defaultModel : undefined;
|
mode === 'opencode'
|
||||||
|
? body.openCodeConfig?.model
|
||||||
|
: mode !== 'shell'
|
||||||
|
? modelConfig?.defaultModel || undefined
|
||||||
|
: undefined;
|
||||||
const claudeModeConfig = await ctx.getClaudeModeConfig();
|
const claudeModeConfig = await ctx.getClaudeModeConfig();
|
||||||
const session = new Session({
|
const session = new Session({
|
||||||
workingDir,
|
workingDir,
|
||||||
@@ -766,7 +770,11 @@ export function registerSessionRoutes(
|
|||||||
const niceConfig = await ctx.getGlobalNiceConfig();
|
const niceConfig = await ctx.getGlobalNiceConfig();
|
||||||
const qsModelConfig = await ctx.getModelConfig();
|
const qsModelConfig = await ctx.getModelConfig();
|
||||||
const qsModel =
|
const qsModel =
|
||||||
mode === 'opencode' ? openCodeConfig?.model : mode !== 'shell' ? qsModelConfig?.defaultModel : undefined;
|
mode === 'opencode'
|
||||||
|
? openCodeConfig?.model
|
||||||
|
: mode !== 'shell'
|
||||||
|
? qsModelConfig?.defaultModel || undefined
|
||||||
|
: undefined;
|
||||||
const qsClaudeModeConfig = await ctx.getClaudeModeConfig();
|
const qsClaudeModeConfig = await ctx.getClaudeModeConfig();
|
||||||
const session = new Session({
|
const session = new Session({
|
||||||
workingDir: casePath,
|
workingDir: casePath,
|
||||||
|
|||||||
Reference in New Issue
Block a user