Skip to content

Commit 3675c01

Browse files
fix: /status is too verbose for pinned model sessions (#95797)
* fix: compact status model override output * fix: align compact status override wording
1 parent cc32f27 commit 3675c01

4 files changed

Lines changed: 19 additions & 23 deletions

File tree

src/auto-reply/reply/commands-status.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1470,7 +1470,7 @@ describe("buildStatusReply subagent summary", () => {
14701470
});
14711471

14721472
const normalized = normalizeTestText(text);
1473-
expect(normalized).toContain("Session selected: anthropic/claude-opus-4-7");
1473+
expect(normalized).toContain("Model: anthropic/claude-opus-4-7");
14741474
expect(normalized).toContain("oauth (claude-cli)");
14751475
expect(normalized).not.toContain("api-key (env: ANTHROPIC_API_KEY)");
14761476
expect(normalized).not.toContain("Usage:");

src/auto-reply/status.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1732,7 +1732,7 @@ describe("buildStatusMessage", () => {
17321732
});
17331733

17341734
const normalized = normalizeTestText(text);
1735-
expect(normalized).toContain("Session selected: google/gemini-3.1-flash-lite");
1735+
expect(normalized).toContain("Model: google/gemini-3.1-flash-lite");
17361736
expect(normalized).not.toContain("Fallbacks:");
17371737
});
17381738

@@ -1765,7 +1765,7 @@ describe("buildStatusMessage", () => {
17651765
expect(normalizeTestText(text)).toContain("Model: google-antigravity/claude-sonnet-4-6");
17661766
});
17671767

1768-
it("warns when the session-selected model differs from the configured default", () => {
1768+
it("renders session-selected model overrides compactly", () => {
17691769
const text = buildStatusMessage({
17701770
agent: {
17711771
model: "zhipu/glm-4.5-air",
@@ -1785,14 +1785,14 @@ describe("buildStatusMessage", () => {
17851785
});
17861786

17871787
const normalized = normalizeTestText(text);
1788-
expect(normalized).toContain("Configured default: zhipu/glm-4.5-air");
1789-
expect(normalized).toContain("Session selected: deepseek/deepseek-v4-flash");
1790-
expect(normalized).toContain("Reason: session override");
1791-
expect(normalized).toContain(
1792-
"This session is pinned to deepseek/deepseek-v4-flash; config primary zhipu/glm-4.5-air will apply to new/unpinned sessions.",
1793-
);
1794-
expect(normalized).toContain("Clear with: /model default");
1795-
expect(normalized).toContain(
1788+
expect(normalized).toContain("Model: deepseek/deepseek-v4-flash");
1789+
expect(normalized).toContain("pinned session; config primary zhipu/glm-4.5-air");
1790+
expect(normalized).toContain("clear /model default");
1791+
expect(normalized).not.toContain("Configured default:");
1792+
expect(normalized).not.toContain("Session selected:");
1793+
expect(normalized).not.toContain("Reason: session override");
1794+
expect(normalized).not.toContain("This session is pinned");
1795+
expect(normalized).not.toContain(
17961796
"Docs: https://docs.openclaw.ai/concepts/models#selection-source-and-fallback-behavior",
17971797
);
17981798
});

src/status/status-message.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ describe("buildStatusMessage context window", () => {
6060
modelAuth: "api-key",
6161
});
6262

63-
expect(text).toContain("Session selected: ollama-cloud/glm-5.1");
63+
expect(text).toContain("Model: ollama-cloud/glm-5.1");
64+
expect(text).toContain("pinned session; config primary ollama-cloud/deepseek-v4-pro");
6465
expect(text).toContain("Context: 128k/200k");
6566
expect(text).not.toContain("Context: 128k/1.0m");
6667
});
@@ -127,5 +128,4 @@ describe("buildStatusMessage context window", () => {
127128
expect(text).toContain("Context: 36k/1.0m");
128129
expect(text).not.toContain("Context: 36k/200k");
129130
});
130-
131131
});

src/status/status-message.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,16 +1070,12 @@ export function buildStatusMessage(args: StatusArgs): string {
10701070
!areRuntimeModelRefsEquivalent(selectedModelLabel, configuredDefaultModelLabel, {
10711071
config: args.config,
10721072
});
1073-
const modelLines = configDefaultDiffersFromSession
1074-
? [
1075-
`🧠 Configured default: ${configuredDefaultModelLabel}`,
1076-
`📌 Session selected: ${selectedModelLabel}${selectedAuthLabel}${modelNote}`,
1077-
"⚠️ Reason: session override",
1078-
`⚠️ This session is pinned to ${selectedModelLabel}; config primary ${configuredDefaultModelLabel} will apply to new/unpinned sessions.`,
1079-
"↩️ Clear with: /model default",
1080-
"📖 Docs: https://docs.openclaw.ai/concepts/models#selection-source-and-fallback-behavior",
1081-
]
1082-
: [`🧠 Model: ${selectedModelLabel}${selectedAuthLabel}${modelNote}`];
1073+
const overrideLabel = configDefaultDiffersFromSession
1074+
? ` · pinned session; config primary ${configuredDefaultModelLabel} · clear /model default`
1075+
: "";
1076+
const modelLines = [
1077+
`🧠 Model: ${selectedModelLabel}${selectedAuthLabel}${modelNote}${overrideLabel}`,
1078+
];
10831079

10841080
// Show configured fallback models (from agent model config)
10851081
const configuredFallbacks = (() => {

0 commit comments

Comments
 (0)