mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-05-20 16:42:25 +00:00
fix(command): show default as current model preset
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
c9b84c7b11
commit
70b8daaee6
@ -203,13 +203,23 @@ def _format_preset_names(names: list[str]) -> str:
|
|||||||
return ", ".join(f"`{name}`" for name in names) if names else "(none configured)"
|
return ", ".join(f"`{name}`" for name in names) if names else "(none configured)"
|
||||||
|
|
||||||
|
|
||||||
|
def _model_preset_names(loop) -> list[str]:
|
||||||
|
names = set(loop.model_presets)
|
||||||
|
names.add("default")
|
||||||
|
return ["default", *sorted(name for name in names if name != "default")]
|
||||||
|
|
||||||
|
|
||||||
|
def _active_model_preset_name(loop) -> str:
|
||||||
|
return loop.model_preset or "default"
|
||||||
|
|
||||||
|
|
||||||
def _model_command_status(loop) -> str:
|
def _model_command_status(loop) -> str:
|
||||||
names = sorted(loop.model_presets)
|
names = _model_preset_names(loop)
|
||||||
active = loop.model_preset or "(none)"
|
active = _active_model_preset_name(loop)
|
||||||
return "\n".join([
|
return "\n".join([
|
||||||
"## Model",
|
"## Model",
|
||||||
f"- Current model: `{loop.model}`",
|
f"- Current model: `{loop.model}`",
|
||||||
f"- Active preset: `{active}`",
|
f"- Current preset: `{active}`",
|
||||||
f"- Available presets: {_format_preset_names(names)}",
|
f"- Available presets: {_format_preset_names(names)}",
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -241,7 +251,7 @@ async def cmd_model(ctx: CommandContext) -> OutboundMessage:
|
|||||||
try:
|
try:
|
||||||
loop.set_model_preset(name)
|
loop.set_model_preset(name)
|
||||||
except (KeyError, ValueError) as exc:
|
except (KeyError, ValueError) as exc:
|
||||||
names = sorted(loop.model_presets)
|
names = _model_preset_names(loop)
|
||||||
return OutboundMessage(
|
return OutboundMessage(
|
||||||
channel=ctx.msg.channel,
|
channel=ctx.msg.channel,
|
||||||
chat_id=ctx.msg.chat_id,
|
chat_id=ctx.msg.chat_id,
|
||||||
|
|||||||
@ -61,8 +61,8 @@ async def test_model_command_lists_current_and_available_presets(tmp_path) -> No
|
|||||||
out = await cmd_model(_ctx(loop, "/model"))
|
out = await cmd_model(_ctx(loop, "/model"))
|
||||||
|
|
||||||
assert "Current model: `base-model`" in out.content
|
assert "Current model: `base-model`" in out.content
|
||||||
assert "Active preset: `(none)`" in out.content
|
assert "Current preset: `default`" in out.content
|
||||||
assert "`default`" in out.content
|
assert "Available presets: `default`, `fast`" in out.content
|
||||||
assert "`fast`" in out.content
|
assert "`fast`" in out.content
|
||||||
assert out.metadata == {"render_as": "text"}
|
assert out.metadata == {"render_as": "text"}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user