fix: support /models alias for /model

This commit is contained in:
Peter Steinberger
2026-01-09 06:23:18 +01:00
parent 133124e023
commit 31a2830f7d
5 changed files with 12 additions and 2 deletions

View File

@@ -2,6 +2,7 @@
## Unreleased
- Commands: accept /models as an alias for /model.
- Debugging: add raw model stream logging flags and document gateway watch mode.
- Agent: add claude-cli/opus-4.5 runner via Claude CLI with resume support (tools disabled).
- CLI: improve `logs` output (pretty/plain/JSONL), add gateway unreachable hint, and document logging.

View File

@@ -26,6 +26,8 @@ describe("commands registry", () => {
expect(detection.regex.test("/status:")).toBe(true);
expect(detection.regex.test("/stop")).toBe(true);
expect(detection.regex.test("/send:")).toBe(true);
expect(detection.regex.test("/models")).toBe(true);
expect(detection.regex.test("/models list")).toBe(true);
expect(detection.regex.test("try /status")).toBe(false);
});

View File

@@ -104,7 +104,7 @@ const CHAT_COMMANDS: ChatCommandDefinition[] = [
key: "model",
nativeName: "model",
description: "Show or set the model.",
textAliases: ["/model"],
textAliases: ["/model", "/models"],
acceptsArgs: true,
},
{

View File

@@ -10,6 +10,13 @@ describe("extractModelDirective", () => {
expect(result.cleaned).toBe("");
});
it("extracts /models with argument", () => {
const result = extractModelDirective("/models gpt-5");
expect(result.hasDirective).toBe(true);
expect(result.rawModel).toBe("gpt-5");
expect(result.cleaned).toBe("");
});
it("extracts /model with provider/model format", () => {
const result = extractModelDirective("/model anthropic/claude-opus-4-5");
expect(result.hasDirective).toBe(true);

View File

@@ -14,7 +14,7 @@ export function extractModelDirective(
if (!body) return { cleaned: "", hasDirective: false };
const modelMatch = body.match(
/(?:^|\s)\/model(?=$|\s|:)\s*:?\s*([A-Za-z0-9_.:@-]+(?:\/[A-Za-z0-9_.:@-]+)?)?/i,
/(?:^|\s)\/models?(?=$|\s|:)\s*:?\s*([A-Za-z0-9_.:@-]+(?:\/[A-Za-z0-9_.:@-]+)?)?/i,
);
const aliases = (options?.aliases ?? [])