🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话固定归档 fallow5/dsh-pin-sessions

DeepSeek Harness
fallow561 天前有提交已提供中文文档扫描:含敏感能力

将会话固定到侧边栏顶部,并批量归档管理

29.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add fallow5/dsh-pin-sessions
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · browser
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 61 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@opendsh/dsh-plugin-pin-sessions(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 05:57:43

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 删除本地文件递归
    lib/runtime.js:230
    await rm(sessionDir, { recursive: true, force: true });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-sidebar@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-storage-domain@deepseek-ai/dsh-typert-protocol@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 固定会话到侧边栏顶部
  • 批量删除与恢复会话
  • 按工作区分组归档

README

由 DeepSeek 最新模型翻译生成
DSH 固定会话插件 一个 DeepSeek Harness (DSH) Web 插件,允许用户将会话固定到侧边栏的专用区域,以便快速访问重复的工作流程,并提供一个归档会话设置面板,支持批量删除、恢复、工作区分组和分页。 功能特性 - 固定 / 取消固定会话 —— 将会话固定到侧边栏顶部,并从其工作区浏览器中隐藏 - 归档面板 —— 用于管理已归档会话的设置面板,支持批量删除、逐行恢复、工作区分组和每页 20 条的分页 - 上下文菜单集成 —— 通过 @baihejiangnan/dsh-session-context-menu 右键点击固定/取消固定 - 固定 = 归档 —— 固定会将会话从工作区浏览器中归档;取消固定则会将其恢复 架构 标准的 DSH 插件拆分:宿主端(Cordis 加载器入口 + TYPERT 清单)+ 客户端(window.__ModuleLoader__.load 包装器)。
展开完整文档(README 剩余 1 节)
DSH 固定会话插件

一个 DeepSeek Harness (DSH) Web 插件,允许用户将会话固定到侧边栏的专用区域,以便快速访问重复的工作流程,并提供一个归档会话设置面板,支持批量删除、恢复、工作区分组和分页。

功能特性

- 固定 / 取消固定会话 —— 将会话固定到侧边栏顶部,并从其工作区浏览器中隐藏
- 归档面板 —— 用于管理已归档会话的设置面板,支持批量删除、逐行恢复、工作区分组和每页 20 条的分页
- 上下文菜单集成 —— 通过 @baihejiangnan/dsh-session-context-menu 右键点击固定/取消固定
- 固定 = 归档 —— 固定会将会话从工作区浏览器中归档;取消固定则会将其恢复

架构

标准的 DSH 插件拆分:宿主端(Cordis 加载器入口 + TYPERT 清单)+ 客户端(window.__ModuleLoader__.load 包装器)。

宿主端

| 文件 | 职责 |
| src/index.ts | 打开 pin_sessions 存储域,创建 PinsStore + PinsRuntime |
| src/runtime.ts | PinsRuntime extends TypertRemoteService —— 8 个 TYPERT 方法 |
| src/typert.ts | 宿主端 TYPERT 清单(必须与客户端一致) |
| src/store.ts | 基于 pin_sessions 域的持久化固定存储 |
| src/domain.ts | pin_sessions 域声明 |
| src/schemas.ts | 固定记录的 Zod schema |

TYPERT 方法

list、pin、unpin、toggle、isPinned、deleteSessions、listArchived、unarchiveSession

关键设计:固定 = 归档

固定会调用 workspaceRegistry.archiveSession(sessionId),以从工作区浏览器中隐藏该会话。取消固定会调用 unarchiveSession(),将 ID 从 archivedSessionIds 中移除。这会触发 domain/changed → host/archived-sessions-changed 帧 → 客户端自动更新。

客户端

| 文件 | 职责 |
| src/client/index.ts | 注册语言区域、挂载 TYPERT_REMOTE、上下文菜单扩展、传送 PinnedSection + ArchiveSection |
| src/client/PinPanel.tsx | 传送到侧边栏顶部的固定区域 |
| src/client/ArchivePanel.tsx | 设置面板,支持工作区分组、分页、批量删除、恢复 |
| src/client/styles.ts | 镜像原生 DSH 类的 CSS |
| src/client/locales.ts | i18n 字符串 |
| src/client/remote.ts | TYPERT 远程接口 |
| src/client/typert-remote.ts | 客户端 TYPERT 清单(必须与宿主端一致) |

构建与安装

Build
cd dsh-pin-sessions
pnpm install
pnpm run build # tsc + tsdown + wrap-client.mjs

Typecheck
pnpm run typecheck

Install into DSH
dsh plugin --profile web add /path/to/dsh-pin-sessions

- 宿主端更改需要重启 DSH 服务器
- 客户端更改需要刷新浏览器

关键服务访问模式

| 服务 | 用途 |
| ctx.get("workspaceRegistry") | archiveSession()、archivedSessionIds、list()、enqueueOperation()、setState() |
| ctx.get("sessionPersistence") | list() 返回带有 {id, cwd?, origin?} 的标头 |
| ctx.get("sessions") | get(id) 返回活动会话或 undefined |
| ctx.get("agents") | get(id) 返回带有 cancel() 和 whenIdle() 的 agent |
| ctx.get("storageDomain") | get("session_projcache") 用于投影缓存 |
| GlobalStandardProps | 自动注入 useSessions 和 useWorkspaces 钩子 |

上下文菜单集成

@baihejiangnan/dsh-session-context-menu 在 Symbol.for("dsh.session-context-menu.extensions") 处暴露一个全局注册表,并带有 .register(entry)。该插件可能在我们之后加载,因此我们每 500ms 轮询一次,直到注册表出现。

条目:{id, label, order?, visible?, run}。上下文菜单的 isAction() 检查 aria-label 中是否包含“会话”+“操作”或“session”+“action”;titleFrom() 提取带引号的标题。

许可证

MIT
预览分享卡片长什么样 ↓fallow5/dsh-pin-sessions
分享 · DeepSeek Harness Hub
fallow5/dsh-pin-sessions

将会话固定到侧边栏顶部,并批量归档管理

这是你的仓库?认领条目

回到顶部