@mcd0luo/celes-dsh-session-manage
v0.1.1
Published
Session management for dsh (Celestea series): delete sessions from the official sidebar ⋯ menu, manage archived sessions (restore / delete) from the settings panel
Maintainers
Readme
celes-dsh-session-manage
dsh 会话管理(Celestea 系列成员):侧栏 ⋯ 菜单删除会话 + 基座配置面板归档管理。
- 官方没有会话删除 API,也没有归档恢复 API——本插件在存储层实现:
定位会话文件 → 删除目录 → 从 workspace 归档集合移除;活跃会话拒绝删除。
删除命令双端适配:Windows 用 pwsh
Remove-Item -Recurse -Force, Linux/macOS(服务器部署)用rm -rf --(直接 argv,无 shell 注入面)。 - 官方侧栏会话 ⋯ 菜单(重命名/分叉/归档)是硬编码无扩展点,插件在启动时
幂等补丁官方客户端 bundle(
@deepseek-ai/dsh-client-ui-workspace/lib/client.js): 在"归档会话"后追加"删除会话"项——红色 danger 样式 + 垃圾桶图标(与官方 工作区删除一致),点击弹出官方 primitives Modal 确认框(非原生 alert; 取消 / 红色删除按钮,失败在框内显示),确认后调/api/session-manage/delete→ 刷新。bundle rev 为文件内容哈希,重启 desk 即生效;npm/dsh update覆盖后下次启动自愈。 - 归档管理:设置 → Celestea 页 → 会话管理卡片内嵌管理面板(
manageUrliframe,基座 0.1.4+),列出所有归档会话,支持恢复(回到侧栏)与删除。 - 配置接入 Celestea 基座:
celestea-session-manage命名空间(设置 → Celestea 页聚合)。
安装
# 基座先行(一次性,若未装;0.1.4+ 才支持管理面板)
dsh plugin --profile web add @mcd0luo/dsh-celestea
# 本插件(基座 cordis.patch.yml 已含条件行,装上即挂载)
dsh plugin --profile web add @mcd0luo/celes-dsh-session-manage
# 重启 desk(补丁 + 客户端 bundle 生效)使用
- 删除会话:侧栏会话行 ⋯ 菜单 → "删除会话"(红色)→ Modal 确认 → 页面刷新。 运行中的会话(有活跃 agent)会被拒绝。
- 归档管理:设置 → Celestea → 会话管理面板 → 恢复 / 删除。归档列表含标题与 id。
配置
设置 → Celestea → 会话管理:
| 字段 | 说明 | 默认 | |---|---|---| | menuLabel | ⋯ 菜单删除项文案(重启生效) | 删除会话 |
开发
npm run build # src/ → lib/(仅 host;无 client 半——管理面板由基座 iframe 承载)
npm publish # 发版后 dsh plugin --profile web update @mcd0luo/celes-dsh-session-manage说明
- 删除会话不会触发恢复:sqlite 搜索索引按观察自动 reconcile,删除后从搜索消失。
- 归档/恢复走 workspace 存储域(
storageDomain),与官方归档会话菜单项完全一致。 - 菜单补丁同时作用于共享 web profile(
dsh web也会显示"删除会话"项;未安装本插件时点击报"删除失败")。
