dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:keepermttl/dsh-archive-viewer
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek Harness(DSH)Web GUI 的归档会话管理插件:查看 / 恢复已归档会话,外加右上角一键关闭 dsh。
当前版本:3.1.0(适配 DSH 0.1.2-rc.x,不再需要 DSH 核心补丁)
English: README.en.md · 更新日志: CHANGELOG.md
standard,可在设置改为其他 agent preset)驱动真实 agent,帮助检索会话、添加标签、整理归档;对话中的代码块/超长文本自动折叠E:\dsh-ai-workspace 下创建,可在设置中修改sessionPersistence.readRaw,逐行解析、不做整段重放),分页加载更早;冷/热会话都可读,不激活 Agent,几 MB 的日志也在亚秒级返回session.export 端点--dsw-alias-*),自动跟随任意皮肤(含半透明/深色侧边栏类皮肤);面板 Portal 到 document.body,避开皮肤侧边栏作用域的令牌覆盖DSH 客户端/宿主 API 在 0.1.2 一轮重构后与 0.1.0-rc.x 完全不同,本版本按新版接线:
| 能力 | 旧版接线(已失效) | 当前接线 |
|---|---|---|
| 读会话日志 | 客户端 connection.api.sessions.history RPC |
宿主半区 /api/archive-viewer/history(sessionPersistence.readRaw 原始 JSONL 快路径,回退 sessionQuery.readSession) |
| 内容检索 | 客户端逐页 RPC 扫描 | 宿主半区 /api/archive-viewer/content-search(一次读日志 + 计数) |
| 取消归档 | 核心补丁新增的 workspace.unarchiveSession RPC |
宿主半区 /api/archive-viewer/unarchive(写注册表归档集合并触发 domain/changed,UI 实时更新) |
| 归档(隐藏 AI 助手会话) | workspace.archiveSession RPC(点号路径) |
宿主半区 /api/archive-viewer/archive(workspaceRegistry.archiveSession) |
| AI 助手建会话/投递/选模型/模型目录/preset 列表 | connection.api.* |
官方 unary RPC:优先客户端命名空间服务 ctx.get('remote.session') / remote.agentPresets,缺失时回退线协议 POST /api/<namespace>/<method>,信封 {type:'client-request',rpcId,method,payload:{args}} |
| 关闭 dsh | 经核心补丁的 host.shutdown RPC |
宿主半区 /api/host.shutdown + launcher 的 appExit 宿主值(缺失时只报错,不让插件停摆) |
| 客户端服务依赖 | inject: ['slots','sessions','workspaces','connection'] |
inject: ['slots','sessions','workspaces'](dsh.client.inject 同步更新为现存包名) |
关键点:插件不再要求改 DSH 源码。取消归档走注册表自己的提交路径,因此升级 DSH 不会再把补丁冲掉;
patches/目录仅作历史留存,无需再应用。
前置:Node.js >= 22、pnpm。
git clone https://github.com/keepermttl/dsh-archive-viewer.git
cd dsh-archive-viewer
pnpm install
pnpm build
# 安装进 web profile(link: 指向本目录)
dsh plugin --profile web add link:$(pwd) # POSIX
dsh plugin --profile web add link:E:\path\to\dsh-archive-viewer # Windows
重启 dsh web,浏览器 Ctrl+F5 硬刷新。
从旧版本升级后,请务必重启
dsh web:本版本 host 半区新增了历史/检索/归档四条本地 API,仅刷新浏览器无法加载 host 侧变更。
设置项(语言、排序、排列、搜索、AI 模式、AI 模型与思考强度、标签筛选模式等)保存在浏览器 localStorage(dsh-archive-viewer:settings:v1),跨刷新、跨页面持久生效。
标签数据由 host 半区持久化到 DSH profile 目录下的 dsh-archive-viewer-tags.json,并通过本地 HTTP API 读写:
GET /api/archive-viewer/tags:读取全部标签POST /api/archive-viewer/tags:增删标签,JSON 体如 {"sessionId":"<id>","add":["标签"]} / {"sessionId":"<id>","remove":["标签"]}POST /api/archive-viewer/tags:清除隐藏检索标签,JSON 体 {"clearHidden":true}其余宿主半区本地 API(均只接受本机同源请求:Host 必须是环回地址,带 Origin 时必须同源):
POST /api/archive-viewer/history {sessionId,beforeSeq?,maxMessages?} → {ok,events,hasMore,nextBeforeSeq}:会话日志分页(消息已归一化:data.text)POST /api/archive-viewer/content-search {sessionId,keyword,maxMessages?} → {ok,matches}:单会话内容命中数POST /api/archive-viewer/unarchive {sessionId} → {ok,archivedSessionIds}:取消归档POST /api/archive-viewer/archive {sessionId} → {ok,archivedSessionIds}:归档POST /api/archive-viewer/helper-sessions {sessionId,action:'add'|'remove'}:登记/注销 AI 助手会话POST /api/archive-viewer/session/delete {sessionId}:删除已登记的 AI 助手会话(其他会话一律拒绝)POST /api/host.shutdown(client-request 信封):优雅关机patches/ 保留的旧补丁仅作历史记录@deepseek-ai/* 值,全部结构类型,不随 DSH SDK 版本漂移tsdown(host 半区 lib/index.js + browser 半区 lib/client.js,标准 window.__ModuleLoader__.load 闭包工厂格式)MIT License(见 LICENSE)。
欢迎任何人使用、修改、引用、或把本项目收录进自己的插件合集(如 dsh-web-ui 全家桶),只需:
LICENSE 文件与版权声明dsh.bundle.patch + dsh.client 声明 + 槽位注册)CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: session-archive、web-ui。