← Back to home@john-walks-slow

dsh-session-prefix

基于 Jev 或工具的会话状态自动分类。

Stars
5
Language
TypeScript
Created
Oct 13, 2026
Updated
Oct 20, 2026
GitHub repo

Introduction

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 社区提供的交流与支持。