Skip to content

Releases

v0.1.6

Choose a tag to compare

@NianjunZou NianjunZou released this 12 Oct 12:55

新增失败红点。

状态四色 + 空闲

  • 🔵 正在执行:主 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

Choose a tag to compare

@NianjunZou NianjunZou released this 12 Oct 12:02

首个 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 与 CI leak-scan 新增 npm token / _authToken / _password 形态拦截(已用探针验证可拦)。
  • jobs 为可选注入:无该服务的 DSH 构建仍能加载插件;job roster 监听只读、随 cleanup 释放。
  • 验证:node --test 45/45,浏览器回归 36/36,eslint 干净。

v0.1.4

Choose a tag to compare

@NianjunZou NianjunZou released this 08 Oct 12:10

作用域化为 @pianner/dsh-session-manager,用于首个 npm 发布。

unscoped 的 dsh-session-manager 名已被他人占用,故改用 @pianner 作用域发布。本次同步更新了所有联动标识,无运行时行为变化:

  • package.json name → @pianner/dsh-session-manager
  • 客户端模块 id(DSH 要求 client 模块 id == 包名)
  • cordis.patch.yml bundle name(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

Choose a tag to compare

@NianjunZou NianjunZou released this 08 Oct 08:37

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

Choose a tag to compare

@NianjunZou NianjunZou released this 08 Oct 07:21

交互优化 + 仓库规范化。

界面

  • 空闲会话不再显示灰点——状态点透明但保留占位,只剩 运行=蓝 / 待处理=黄 / 完成=绿。
  • 未读强调由蓝改绿(圆点光晕 + “未读”徽标),蓝色从此只代表“正在执行”,不再与之混淆。
  • 项目会话缩进——在展开的工作区分组下,会话行增加一级缩进;置顶区保持平级。

仓库 / 工具链

  • 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

Choose a tag to compare

@NianjunZou NianjunZou released this 08 Oct 06:51

插件清单修正。

修正 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

Choose a tag to compare

@NianjunZou NianjunZou released this 08 Oct 06:41

首个公开版本。

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 解决)。