authorclover caruso <git@paperclover.net> 2026-10-09 01:31:17-07:00
committerclover caruso <git@paperclover.net> 2026-10-09 11:21:14-07:00
log60b3566ded20e6891c09e4ef797a8cd2e5f9c1c4
tree2f89f1fdac21b65882410cb754cbb4e8cb0937d8
parentcd1feb2dc61200228c20886221a5db9fda0c8f21
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU (~clover)

Tell local AI clients their model name

Both snow-claude and snow-codex state the catalog model name, and the Shale MCP maps qwen3.8-27b to the qwen-3.8-27b author account. Assisted-by: claude-sonnet-5.5

2 files changed, 3 insertions(+), 1 deletions(-)

dashboard/ai/launch.sh+2-1
...@@ -42,6 +42,7 @@ SNOW_MODEL_CATALOG...@@ -42,6 +42,7 @@ SNOW_MODEL_CATALOG
42 -c 'model_reasoning_effort="@REASONING@"' \42 -c 'model_reasoning_effort="@REASONING@"' \
43 -c 'model_reasoning_summary="none"' \43 -c 'model_reasoning_summary="none"' \
44 -c "model_catalog_json=\"$catalog\"" \44 -c "model_catalog_json=\"$catalog\"" \
45 -c "developer_instructions=\"Your model name is $model.\"" \
45 -c 'web_search="disabled"' \46 -c 'web_search="disabled"' \
46 -c 'features.plugins=false' -c 'features.apps=false' -c 'features.memories=false' \47 -c 'features.plugins=false' -c 'features.apps=false' -c 'features.memories=false' \
47 -c 'analytics.enabled=false' \48 -c 'analytics.enabled=false' \
...@@ -69,5 +70,5 @@ else...@@ -69,5 +70,5 @@ else
69 export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 API_TIMEOUT_MS=28800000 API_FORCE_IDLE_TIMEOUT=070 export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 API_TIMEOUT_MS=28800000 API_FORCE_IDLE_TIMEOUT=0
70 export CLAUDE_STREAM_IDLE_TIMEOUT_MS=28800000 CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS=180000071 export CLAUDE_STREAM_IDLE_TIMEOUT_MS=28800000 CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS=1800000
71 export CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS=2880000072 export CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS=28800000
72 exec claude --permission-mode auto "$@"73 exec claude --permission-mode auto --append-system-prompt "Your model name is $model." "$@"
73fi74fi
dashboard/src/shale.rs+1
...@@ -455,6 +455,7 @@ impl ServerHandler for Shale {...@@ -455,6 +455,7 @@ impl ServerHandler for Shale {
455 if arguments.contains_key("model") { return Err(Error::new(400, "Read tools do not need a model.")); }455 if arguments.contains_key("model") { return Err(Error::new(400, "Read tools do not need a model.")); }
456 None456 None
457 };457 };
458 let model = model.map(|id| if id == "qwen3.8-27b" { "qwen-3.8-27b" } else { id });
458 let credential = session(app, string(&grant["user"]))?;459 let credential = session(app, string(&grant["user"]))?;
459 current(app, grant, &credential)?;460 current(app, grant, &credential)?;
460 if name == "list_repositories" {461 if name == "list_repositories" {