OpenViking
volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:AbcdefgXW/dsh-toolbox-web
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
dsh(DeepSeek Harness)增强工具箱插件:会话管理 / 回收站 / 子目录管理 / 全文搜索 / 预设编辑 / 配置编辑 / 归档管理。
dsh-channels-push 服务(见下文「IM 渠道推送(可选)」),未安装时自动回退主工作区心跳会话管理(删除 / 复制 / 移动 / 重设 / 标签 / 查看 / 空会话标注):

回收站(删除的会话进回收站,可恢复 / 彻底删除 / 查看内容):

子目录管理(工作区下建目录 / 重命名 / 删除 / 复制):

开关设置项(分区化设置:⏰ 定时心跳 / 🔧 功能开关 / 🗑️ 回收站):


react、@deepseek-ai/dsh-client-ui-primitives 等)node:zlib 的 zstd 支持)/home/dsh、/workspace);Windows / macOS 部署请设置环境变量 DSH_HOME 与 DSH_CHANNELS_CWD 指向实际目录(见下文「环境变量」)# GitHub 仓库分发(自动 clone + 装依赖)
dsh plugin --profile web add github:AbcdefgXW/dsh-toolbox-web
# 或已发布 npm 包
dsh plugin --profile web add dsh-toolbox-web
dsh plugin add会自动将本插件加入 profile 的dsh.profile.bundles并挂载插件自带的注册行(cordis.patch.yml),无需也不应手动修改任何配置文件。⚠️ 排查注册问题时请检查
package.json的dsh.profile.bundles是否包含dsh-toolbox-web;切勿再在 profile 的cordis.patch.yml里手动insert本插件——bundles 已挂载时手动 insert 会导致duplicate loader entry id启动崩溃。
git clone https://github.com/AbcdefgXW/dsh-toolbox-web.git
cd dsh-toolbox-web
npm install --omit=dev
将插件目录放入 dsh 插件加载路径(如 $DSH_HOME/plugins/ 或 compose 挂载卷),按上述方式注册,重启 dsh web。
@deepseek-ai/*依赖为 dsh 运行时自带包,版本与 dsh 发布对齐;js-yaml为插件自身依赖(配置编辑校验用)。
# 方式一:dsh 命令
dsh plugin --profile web remove dsh-toolbox-web
# 方式二:手动
# 1. 编辑 profile 的 package.json,从 dsh.profile.bundles 移除 "dsh-toolbox-web"
# 2. 删除依赖与软链:rm -rf $DSH_HOME/profiles/web/node_modules/dsh-toolbox-web
# 3. 删除插件数据(回收站/设置/索引):rm -rf <插件目录>/state
# 4. 重启 dsh web
卸载后
dsh-msg-hub未安装时,定时心跳的 IM 渠道推送自动不可用(回退主工作区心跳),其余功能不受影响。
dsh 启动失败(插件树加载报错)时,95% 是以下两类,用 vi 手工恢复即可,无需重装:
① duplicate loader entry id: xxx(最常见)
原因:插件被注册了两次——package.json 的 dsh.profile.bundles 与 cordis.patch.yml 的手动 - insert: 重复。
vi /home/dsh/profiles/web/cordis.patch.yml
# 删除文件中形如以下的手动 insert 块(bundles 会自动挂载,不需要它):
# - insert:
# - id: dsh-toolbox-web
# name: 'dsh-toolbox-web'
# 保留 sandbox-policy / approval 等系统配置不动
② cannot resolve profile bundle "xxx"(依赖缺失)
vi /home/dsh/profiles/web/package.json
# 确认 dsh.profile.bundles 里的包名与 dependencies 对应、node_modules 存在:
ls -la /home/dsh/profiles/web/node_modules/ | grep dsh-
# 缺失时恢复软链:
ln -s /path/to/插件目录 /home/dsh/profiles/web/node_modules/插件名
通用救急:改动前插件会保留备份,恢复旧配置最快:
ls /home/dsh/profiles/web/cordis.patch.yml.bak-* # patch 备份
ls /home/dsh/profiles/web/package.json.bak-* # package.json 备份
cp 备份名 /home/dsh/profiles/web/cordis.patch.yml # 覆盖回去
修改后重启 dsh 容器/服务生效;仍失败时查看日志:docker logs deepseek-harness(或 journalctl -u dsh)。
⚠️ 本插件(及 dsh-msg-hub)自带
cordis.patch.yml注册行,由dsh plugin add自动挂载,切勿在 profile 的cordis.patch.yml手动 insert(见「安装」警示)。
重启 dsh web 后,浏览器强刷(Ctrl+Shift+R):
-副本x)、移动、重设工作区根、打标签、查看内容;空会话标注「(空会话)」~/.agent-presets){time} 替换为当前时间)+ 下次触发倒计时| 变量 | 用途 | 默认 |
|---|---|---|
DSH_HOME |
dsh 数据目录(会话/配置/缓存) | /home/dsh |
DSH_CHANNELS_CWD |
当前工作区根(会话 cwd 基准) | /workspace |
未设置时使用上述默认值;其余路径全部由插件自身目录(import.meta.url)推导,无硬编码。
state/ 目录(设置、回收站、备份、标签)——不随代码发布,.gitignore 已排除$DSH_HOME/sessions/(会话文件,多帧 zstd)、$DSH_HOME/storages/workspace.json(工作区注册)、dsh 配置文件(仅配置编辑功能使用时)定时心跳的「📱 微信 / QQ / 飞书」目标是可选集成:dsh-toolbox-web 通过 cordis 服务 dsh-channels-push 调用渠道插件完成「唤醒渠道 bot 执行任务 → AI 回复回传 IM」。
index.js 后端(cordis Service + typert remote,方法名 = 端点名);client.js 前端(无构建管线,window.__ModuleLoader__ 加载)invocation 注册 + 前端 DESCRIPTORSlib/zstd.js compressSessionText:header 帧恰好一行 + 每 500 行事件帧),单帧全压会导致 dsh 加载崩溃MIT — 见 LICENSE
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: chat、sessions。