Replies: 3 comments
|
I traced this against rc.8 and documented an operator runbook: https://sandbaseai.github.io/deepseek-harness-handbook/session-title-reasoning-budget.html One useful source-level correction to the visible symptom:
The guide also separates timeout, empty-text, tool-call, and UI-projection branches, and notes that an explicit lightweight title route changes the prompt data/privacy boundary. The 1024-token patch is presented only as a bounded workaround, not a universal default or a replacement for title-specific reasoning control. |
|
+1 — confirmed on DSH Desktop 2.0.2 (macOS) with Four occurrences on Aug 24 alone (10:46 / 10:52 / 12:16 / 13:45 — four different sessions). Affected sessions keep the first-prompt-snippet fallback title in the sidebar (truncated first sentence as the "title"), which matches the A (AI-assisted comment; log lines verified against local host logs.) |
|
你的根因分析我读下来是对的,尤其是"推理 token 计进同一个 两步1. 先把预算调大(最确定、最省事的一步)
2. 给标题调用单独指一条"不思考"的路由
llm-pi-ai:
providers:
my-provider-notitle: # 单独一条,只给标题用
displayName: Title helper
api: openai-completions
baseURL: <和主路由同一个端点>
apiKeyEnv: <同一个凭据引用>
models:
- id: <同一个 model id>
name: Title helper
contextWindow: 131072
reasoningEfforts:
off: # 只声明 off然后把
必须说清的边界
利益相关:我维护 pi2dsh,上面全是 DSH 官方 |
Uh oh!
There was an error while loading. Please reload this page.
Problem
Session titles stop being generated entirely when the default/selected model is a reasoning (thinking) model. The auxiliary call that derives a session name fails silently — the name never appears, with no user-facing error.
Root cause
Session titles are produced by
@deepseek-ai/dsh-session-title-first-prompt-llm→@deepseek-ai/dsh-session-title-llm. That provider calls the LLM with:Two problems compound:
No reasoning control. The call passes no
reasoningEffortand the config schema of this provider accepts no reasoning/thinking option — it only hasprovider/modeloverrides. So the title request always falls back to the model's default reasoning level, which for a reasoning model likedeepseek-v4-flashis "think".Reasoning is folded into the same output budget. For the underlying adapter (pi-ai at
openai-completions), reasoning tokens count againstmaxTokens. With the shipped defaultmaxOutputTokens: 64, the model's thinking for even a trivial title prompt consumes the whole 64-token budget, finishes withmax-tokens, and emits no title text → empty title → the title provider throws and no name is ever shown.There is no config-only way to turn reasoning off for this one auxiliary call while keeping it enabled inside real session turns.
Expected behavior
It should be possible to generate a session title on a reasoning model without it silently failing:
reasoning/reasoningEffort-style option on thesession-title-llmprovider so an operator can set it tooff, keeping the main session on its own reasoning setting), ormaxOutputTokensfor reasoning models), orWorkaround (configuration only)
Raising the generation budget on the
session-title-llmrow unblocks it because reasoning is counted againstmaxTokens:This is a workaround, not a fix — it doesn't give operators a way to choose non-thinking title generation, and a model that thinks heavily could still hit the cap.
All reactions