john-walks-slow/dsh-session-prefix

session-prefix

基于 Jev 决策模型或 Agent 工具为会话自动分类,并将任务阶段直观展示为标题前缀 Emoji(进行中 🚧、阻塞 ⏸️、待验收 👀、已完成 ✅、规划 💡、排障 🐛)。支持生命周期状态自愈、可选 Jev 决策推断(需配置 Jev API Key)、Agent 自主标记与可视化设置面板。

미분류deepseek-harnessdeveloper-toolsdsh

dsh-session-prefix

中文 | English

基于 Jev 决策模型或 Agent 工具为会话自动分类,直接在标题前显示对应 Emoji。

当会话越积越多,侧边栏一长串标题很难一眼分辨谁在写代码、谁在等确认、谁已交付。dsh-session-prefix 支持基于 Jev 决策模型或 Agent 工具自动分类,把任务状态直观呈现在标题最前端:

侧边栏前缀效果 · Web 设置面板 ·

快速安装

# 线上安装
dsh plugin --profile web add dsh-session-prefix

# 从 GitHub 源码安装
dsh plugin --profile web add github:john-walks-slow/dsh-session-prefix

# 本地开发直链
dsh plugin --profile web add link:/path/to/session-prefix

安装后无需繁琐配置,插件自动挂载生效:自带 session_prefix 模型工具、/prefix 用户命令与「会话前缀」设置页。

自动分类机制

dsh-session-prefix 支持两条互补的自动分类通路,开箱即用,可单独开启或协同工作:

1. 基于 Jev 决策模型的免配置全自动分类

  • 零 Prompt 调教,不占上下文:引入轻量级快速决策模型(TypeSafe Jev),专门承担阶段分类研判,无需向主模型注入冗长提示词,也不消耗会话主模型的上下文预算。
  • 全生命周期自适应感知:
  • 回合中快速响应:用户发出新需求后,结合上一轮产出即刻研判意图变化(如从开发切换至验收、排障或规划);
  • 回合末精准分类:Agent 输出交付物后,依据最终成果自动将分类更新至对应状态(如标记为待验收 👀 或已完成 ✅)。
  • 极简且隐私安全:仅向决策模型提供当前指令与产出摘要(不外发全量历史上下文),未配置 API Key 时静默跳过,绝不阻塞会话。

2. 基于 Agent 工具的智能体主动标记

  • 模型自主驱动:向 Agent 暴露 session_prefix 工具,Agent 在推进复杂任务阶段时,主动调用工具维护会话状态。
  • 内置引导:工具描述已自包含各分类的定义与使用场景,Agent 天然理解何时打标;支持在设置页补充专属规则(如“未经用户确认不得标记完成”)。

3. 会话状态自愈与协同兜底

  • 唤醒即回落:当用户在已处于静止状态(⏸️ 阻塞 / 👀 待验收 / ✅ 已完成)的会话中继续追问时,插件在回合开始时自动将其回落至进行中(🚧),真实反映活跃度。
  • 平滑兼容起名:新会话初始化自动赋予默认分类(🚧),与后台异步 LLM 标题生成机制无缝共存,起名完成后前缀自动衔接,绝不冲突。

默认分类体系

前缀 Emoji · 状态 Key · 状态名称 · 适用阶段 🚧 · wip · 进行中 · 编码实施、方案执行(新会话默认) ⏸️ · blocked · 等待/阻塞 · 等待用户输入、审批确认或外部阻塞 👀 · review · 待验收 · 功能实现已就绪,等待用户检视验证 ✅ · done · 已完成 · 当前会话目标已全部交付达成 💡 · plan · 规划/调研 · 需求探讨、架构设计与技术调研 🐛 · bug · 排障/修复 · 问题定位、故障排查与缺陷修复

提示:在侧边栏搜索框直接输入状态 Emoji(如 🚧 或 ✅),即可即时筛选出同类别会话。

灵活控制与设置

用户斜杠命令 /prefix

随时在会话中手动查看、切换或重置分类:

/prefix              # 查看当前会话状态及可用分类列表
/prefix review       # 切换为「👀 待验收」
/prefix done         # 切换为「✅ 已完成」
/prefix none         # 清除前缀,恢复纯净标题

Web 设置面板(Settings → 会话前缀)

  • 分类体系管理:自由增、删、改状态预设(支持 Emoji 或短文本前缀,如 [DEV])。
  • Jev 自动分类配置:切换自动推断开关,配置 API Key、模型与端点,支持一键连通性测速。
  • 过滤与跳过规则:内置正则规则(默认 ^\S+ · ),自动跳过带有外部标签的标题(如 Telegram · xxx),避免前缀重复叠加。
  • 纯视觉、零副作用:插件唯一操作是更新当前会话的标题字符串,不修改数据结构,不影响运行时行为。

开发与构建

npm run check       # 类型检查
npm run build       # 构建产物(dist/ 与 lib/client.js)
npm test            # 单元测试

致谢

  • 感谢 LINUX DO 社区提供的交流与支持。