yfwu2020/dsh-think-flow ↗★ 0

@yfwu2020/dsh-think-flow

DSH 思维链可视化:把模型的实时思考按 turn → step →(思考原文 + 工具调用)聚合成可读的右侧栏视图 适合需要直观、结构化观察模型思维链和执行步骤的用户。

Package
@yfwu2020/dsh-think-flow
Compatibility
Unverified
Harness peer range
>=0.1.7-rc <2
Cordis peer range
>=4.0.2 <5
Version
0.1.2
License
MIT
Last updated
Sep 27, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yfwu2020/dsh-think-flow

配置项

改 profile 的 cordis.patch.yml 里 id: think-flow 那一行的 config:(覆盖,不要再 insert):

- id: think-flow
  config:
    maxTurnsPerSession: 20
键默认范围含义
maxTurnsPerSession200–500每个会话常驻多少轮的正文(0 = 不限)。⚠️ 这是正文窗口,不是"能看到多少轮"
maxIndexTurns20000–20000目录(全轮骨架)最多记多少轮。一轮骨架几百字节,所以给得宽
coldTtlMs72000000–86400000按需折进来的冷轮正文保留多久(空闲计时:读一次续一次期。0 = 不按时间收)
maxColdChars40000000–2e8冷轮正文的硬上限。和 coldTtlMs 是两条独立策略,谁先到算谁
maxReasoningCharsPerStep1200001000–400000单个 step 的思考原文上限,超了从尾部保留并打上"这段不全"
maxSessions321–256内存里同时跟踪多少个会话(LRU)
sseThrottleMs1200–2000合并推送的最小间隔。别调到 0:流式每秒几百个事件
heartbeatMs150002000–120000SSE 心跳,防代理掐连接
snapshotTailChars4000200–20000连接快照里给"当前步"带多少字符原文(其余步骤走 /step 按需取)
titleStepChars42080–4000生成中文标题时,每一步最多喂多少字思考原文
titleTotalChars240002000–200000一次标题请求的字符上限(整轮一起总结,一次调用)
titleReasoningEffort'low'—生成标题的推理档位(压缩任务,低档就够)
titleCachePath''—标题缓存路径。空 = ~/.dsh/think-flow/titles.json
autoTickMs500020–60000自动标题(面板上的「实时」)的节拍器间隔
maxHydrateEvents200000–200000历史回看时最多折入多少条落盘事件(从最新往回取)
maxTitledTurns6400–10000标题缓存最多保留多少轮

三条策略要一起看(它们管的是同一块内存):

turns(正文)        maxTurnsPerSession = 20   ← 常驻
  └ 更早的轮次按需折进来 = 冷轮正文
       ├ coldTtlMs    = 7,200,000   空闲 2 小时收回
       └ maxColdChars = 4,000,000   字符超了从最旧的丢
index(全轮骨架)    maxIndexTurns = 2000      ← 目录读它;正文丢了它还在

时间策略管"不用了就还回来",但它没有内存上界(两小时里连开几百个老轮次会一直涨), 字符上限补的正是那个洞 —— 所以两条都建议留着。

清理全是自动的,没有手动入口(要手动只能删文件或重启进程)。除上面那些, 还有两处硬编码上限:trace.attempts 是 128 条 FIFO;订阅者的增量队列由节流窗口清空。 另外卸载插件不会删 ~/.dsh/think-flow/(标题缓存留着,重装即复用)。