Repository navigation
Releases
v0.1.6
新增失败红点。
状态四色 + 空闲
- 🔵 正在执行:主 agent、其下任一子智能体/团队成员,或这棵会话树里任一后台任务仍在跑
- 🟠 等待你处理:等待批准 / 等待计划确认 / 等待回答
- 🔴 任务失败(新增):会话树里有后台任务结算为
failed - 🟢 已完成·未读;无点 = 空闲
优先级:等待 > 正在执行 > 任务失败 > 已完成未读 > 空闲。同一棵树重新跑起来时红点自动让位给蓝点;用户主动 killed 的任务不算失败。
为什么只有后台任务能标红
宿主对客户端只暴露一个失败信号:job roster 的 JobView.status === 'failed'(且结算记录会保留在列表里,红点不会一闪而过)。主 agent / subagent 的失败在 SessionStatus、SessionSummary 里没有任何失败位——"跑完"和"跑挂了"在客户端不可区分。要覆盖 agent 失败需要宿主补 session 级失败投影;插件侧去解析会话日志属于第二真相源,违反插件契约,故意不做。
验证
node --test 46/46,浏览器回归 37/37(新增 failed / killed / 被 running 覆盖 / 子智能体树下失败 四个用例),eslint 干净。无本地路径、无密钥、无公司信息。
v0.1.5
首个 npm 发布版本。
发布
- 已发布到 npm:@pianner/dsh-session-manager(unscoped 名称
dsh-session-manager已被他人占用,故改用作用域)。包名、client 模块 id、cordis bundle name 一并改为该作用域。 - 安装:
dsh plugin --profile <profile> add @pianner/dsh-session-manager,并在dsh.profile.bundles中加入同名项后重启 DSH。
界面
- 小蓝点覆盖整棵会话树:主 agent、其下任一子智能体/团队成员、以及这棵树里任一后台任务仍在跑时,会话即显示「正在执行」;之前主 agent 在等待子智能体或后台轮询时不亮蓝点。
- 置顶会话与工作区隔离:置顶(未归档)会话只出现在「置顶会话」区,工作区组里不再重复出现;「项目会话」分区小标题恢复显示。
安全与工程
- 泄露防护升级:本地
.git/hooks/pre-commit与 CIleak-scan新增 npm token /_authToken/_password形态拦截(已用探针验证可拦)。 jobs为可选注入:无该服务的 DSH 构建仍能加载插件;job roster 监听只读、随 cleanup 释放。- 验证:
node --test45/45,浏览器回归 36/36,eslint 干净。
v0.1.4
作用域化为 @pianner/dsh-session-manager,用于首个 npm 发布。
unscoped 的 dsh-session-manager 名已被他人占用,故改用 @pianner 作用域发布。本次同步更新了所有联动标识,无运行时行为变化:
package.jsonname→@pianner/dsh-session-manager- 客户端模块 id(DSH 要求 client 模块 id == 包名)
cordis.patch.ymlbundlename(Node 解析按包名)- 包名测试断言
- README / README_EN / DEPLOY 安装文档改用新包名
安装:
dsh plugin --profile <profile> add @pianner/dsh-session-manager验证:lint 0、41 项测试全通过、契约 6/6;npm pack 产物 @pianner/dsh-session-manager@0.1.4(12 文件)。
v0.1.3
npm 发布准备 + 安装文档完善(暂不含包名改作用域)。
打包
- 新增
publishConfig(公开发布、指向官方 registry),精简发布files到运行件 + 文档——tarball 不再包含test/与scripts/(工作区与本地开发脚本不变)。 npm pack产物:12 个文件、约 22 kB,内容干净无泄露。
文档
docs/DEPLOY.md增加推荐的dsh plugin --profile <profile> add <plugin-dir>命令行安装方式(与手动编辑 profile 并列),并说明插件暂未发布到 npm。
说明
包名作用域化(@pianner/dsh-session-manager)会联动改动 client 模块 id、cordis bundle name、本机 profile 注册与软链,并需重启 DSH 验证——故按计划推迟到 npm 账号就绪、正式发布前一刻一次性完成。本版仅做不触碰本机运行插件的安全准备。
v0.1.2
交互优化 + 仓库规范化。
界面
- 空闲会话不再显示灰点——状态点透明但保留占位,只剩 运行=蓝 / 待处理=黄 / 完成=绿。
- 未读强调由蓝改绿(圆点光晕 + “未读”徽标),蓝色从此只代表“正在执行”,不再与之混淆。
- 项目会话缩进——在展开的工作区分组下,会话行增加一级缩进;置顶区保持平级。
仓库 / 工具链
- README 与 README_EN 增加目录与安装渠道说明。
- 客户端用户可见文案集中到单一
STRINGS表(取值不变,渲染不变)。 - 新增
test/a11y.test.js无障碍回归,以及 ESLint flat config + CI lint 步骤。
验证:41 项测试通过(32 browser + 7 plugin + 2 a11y),契约 6/6,lint 零告警。无运行时数据归属变化(仍是遵循 PLUGIN-CONTRACT.md 的可逆覆盖层)。
v0.1.1
插件清单修正。
修正 package.json 的 dsh.client.inject,改为声明插件实际使用的服务所对应的真实 DSH client-module 包,替换掉并不存在的 @deepseek-ai/dsh-client-runtime 占位:
@deepseek-ai/dsh-api-session-controller→sessions@deepseek-ai/dsh-api-workspace-controller→workspaces@deepseek-ai/dsh-client-ui-session→uiSession@deepseek-ai/dsh-client-ui-workspace→uiWorkspace@deepseek-ai/dsh-cordis-client-runner→timer
依据 DSH 0.2.0-rc.2 源码(各服务的提供方)与一个已发布参考插件逐项核对确认。解决 v0.1.0 标注的 inject verification-gap。无运行时行为变化。
v0.1.0
首个公开版本。
DSH 的 Codex 风格左侧会话管理插件(web client,目标版本线 0.2.0-rc.2)。
亮点
- 独立「置顶会话」区:按宿主顺序投影、置顶去重、取消置顶后恢复到原工作区。
- 「项目会话」分块;标题单行省略,时间列右对齐、固定宽度。
- 运行 / 等待 / 已完成未读 三类状态标记。
- 固定/取消固定、重命名、分叉、归档/取消归档、复制 Session ID、复制工作目录。
- 可逆的左侧 UI 覆盖层——绝不成为宿主会话数据的第二真相源(见
PLUGIN-CONTRACT.md)。
文档
README.md / README_EN.md / docs/DEPLOY.md / docs/USAGE.md。
已知待办
package.json 的 dsh.client.inject 当时用聚合 runtime 占位;粒度化对齐留待后续版本(verification-gap,已在 v0.1.1 解决)。