deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
dsh web 的一个设置面板,列出本机上的全部会话——运行中、空闲、已归档——支持:
它是唯一还能看到已归档会话的界面:工作区浏览器处处隐藏归档行,因此会话一旦归档,只能在这里被移除。
dsh-plugin topic: (https://github.com/topics/dsh-plugin)
session.history 尾部页——不派生、不持久化任何模型可见状态。host/session-removed 置灰),再移除持久化数据。loopback 锁定,不可恢复。要求 dsh 的应用闭包包含插件的 @deepseek-ai/dsh-* peer 包——即任何带 @deepseek-ai/dsh-web-app bundle 的部署。
删除依赖 session.delete——这是 dsh 近期新增的 loopback 特权 RPC。在非 loopback 页面、或宿主未暴露该方法时,删除按钮会被隐藏(若弹窗已打开则显示内联提示),仅保留"继续/大纲"。请将插件与包含 session.delete 的宿主版本一起发布。
# 1. 在插件目录构建并打包出 tarball(产物名为 <name>-<version>.tgz,如 dsh-session-manager-0.1.0.tgz)
pnpm install
pnpm pack
# 2. 用 tarball 安装到 profile(用 1 产出的实际文件名替换 <file>.tgz)
dsh plugin --profile web add -w ./<file>.tgz
-w标志是必须的:每个 profile 都带一个pnpm-workspace.yaml,pnpm 会把 profile 目录当作 workspace 根,裸add会报ERR_PNPM_ADDING_TO_ROOT。安装后重启dsh web。
Tarball 是构建产物(
.tgz在 gitignore 中),不会随仓库或 release 自动生成——发布时请用上面的pnpm pack现场生成,而不是引用一个已删除的文件。
该包是 dsh.client 浏览器插件,同时声明 dsh.bundle.patch,因此 dsh plugin 会将其安装为可激活的配置层,profile 的模块回退机制从 dsh 应用闭包解析其 peer 依赖。patch 插入的 loader 行使用包自身的 id(dsh-session-manager)——刻意不用官方的 ui-session-manage id,因此绝不会与已内置该行的部署冲突。本包定位为兼容/扩展面板:仅在 dsh 未内置会话管理行时安装。在已带官方会话管理行的当前 web-app 部署上,两个面板并存(功能相同),多出的一个是冗余的。
从 git URL 安装取到的是源码而非构建好的
lib/,且插件的 peer 包未发布到 npm,git 安装无法构建或解析它们;请改用 tarball。
打开 dsh web 的 设置 → 会话。每行展示会话标题、id、徽标与元信息;操作有"继续""大纲""删除"。subagent/子会话(实时或 fork)、以及非 loopback 页面或缺少能力宿主上的删除不显示——徽标显示"由父会话管理"。
pnpm install
pnpm build # tsdown:产出 lib/index.js、lib/invariant.js、lib/client.js
pnpm typecheck # tsc --noEmit 使用仅开发用的类型 stub(见下)
pnpm test # vitest:foldOutline + controller 行为
构建自包含(tsdown + lightningcss),无需 monorepo 检出。prepare 运行同一构建,因此允许的 git 安装也会产出产物。
干净检出的类型检查:@deepseek-ai/dsh-* peer 未发布到 npm,全新安装下 tsc 无法解析它们。tsconfig.typecheck.json 引入了 types/stubs.d.ts 中的 ambient 声明,它们镜像本插件用到的 dsh 客户端 API 的很小片段——足以在无 peer 时检核插件自身源码。若挂载了 dsh 工作区,删除该文件让 tsc 解析真实包(参见 src/client/* 的 import)。
session.list(每个已物化会话,含已归档)与 workspace.list 的归档集合。sessions.open。session.history(尾部页)并在客户端折叠。session.delete——先停止 agent、再擦除持久化数据的 loopback 特权 RPC。session.history 尾部页,最多携带有限数量的消息。archivedSessionIds 中留下(现已过期的)id;注册表容忍缺失 id,过期条目是惰性的。agent-busy);删除入口被隐藏而非提供后被拒。session.delete 的宿主会隐藏删除(见"安装")。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。