deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
一个可直接安装的 DeepSeek Harness 会话管理插件。它列出本机全部已物化会话,包括运行中、空闲和已归档会话,并提供继续、大纲和永久删除。
不需要修改 deepseek-harness 源码。
从 0.2.0 起,包内同时包含:
session.delete RPC;用户只需安装本插件并重启 dsh web。不需要复制代码到 harness,不需要修改 SessionsApi、AgentLoop、SessionPersistence 或任何 harness 文件。
session.history 尾部窗口,展示轮次、用户/助手消息数及工具调用统计。origin: subagent 受管子会话(最深优先);普通 fork 自身保留,但会继续遍历其下的受管子会话。AgentLoop.stop 或 SessionPersistence.delete,插件优先调用原生能力。普通 fork 可以独立删除。origin: subagent 的受管子会话随仍存在的父会话级联删除:界面不提供子会话自己的删除按钮,删除父会话时确认框会提示将一并删除的子会话数量;直接对子会话发起删除请求仍返回 agent-busy。如果父会话已经不存在,该行会标记为孤儿并显示删除按钮,允许直接清理。删除前会先预检整棵子树,已知失败不会先删除其他成员。
0.1.0-rc.8。session-persistence-jsonl、session-persistence-sqlite。delete(id);如果需要级联删除多个 durable 会话,还必须提供原子 deleteMany(ids),否则插件会明确拒绝该级联请求,不会逐个删除造成半删。localhost、127.0.0.0/8、[::1];通过局域网地址打开页面时只显示继续和大纲。Host 实现针对 rc.8 缺失的三处能力做兼容补齐,并使用 rc.8 的内部 lifecycle/coordinator 结构。因此升级 harness 后应先运行本仓库测试;当上游提供原生接口时,插件会优先走原生接口,减少对兼容层的依赖。
先在插件仓库构建 tarball:
pnpm install
pnpm pack
再将生成的 dsh-session-manager-0.2.2.tgz 安装到 web profile:
dsh plugin --profile web add -w ./dsh-session-manager-0.2.2.tgz
安装后重启 dsh web。
-w 是必须的:profile 目录带有 pnpm-workspace.yaml,裸 add 会触发 ERR_PNPM_ADDING_TO_ROOT。建议发布构建后的 tarball;从 git URL 安装拿到的是源码,目标机器还需要完成构建,容易缺少 lib/ 产物。
本包的 dsh.bundle.patch 自动插入一个 dsh-session-manager Loader 行。该行同时激活 Host 插件和 dsh.client 浏览器插件,peer 依赖从 dsh 应用闭包解析。安装者不需要手工编辑 profile 的 cordis.patch.yml。
打开 设置 -> 会话:
删除不可恢复。正在打开的实时会话删除后会从 Host 注册表移除,其他界面会按现有 host/session-removed 生命周期更新。
session.list 和 workspace.list,得到完整会话语料及归档状态。/api/session.delete。pnpm typecheck
pnpm test
pnpm build
pnpm pack
测试覆盖控制器竞态、孤儿子会话判定、loopback/Origin 拒绝、实时 lifecycle teardown、JSONL 可恢复删除、SQLite 事务删除、subagent 拒绝、普通 fork 下的级联遍历、live 子会话、失败预检和同 id 并发去重。
session.history 的近期窗口,不是完整日志统计。archivedSessionIds;该条目是惰性的,不会让会话数据复活。origin: subagent 孤儿行可以在本页面直接删除;如果它下面还有受管子会话,会按同样规则级联清理。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。