dsh-web-ui
zhu1090093659
Plugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:sharedcare/dsh-conversation-rollback
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Codex-style conversation rollback and "edit input, then re-generate" for the DeepSeek Harness (DSH) Web UI.
conversation-rollback is a DSH Web plugin that rewinds a conversation log to
a completed-turn boundary (Codex-style rewind) and can also edit a previous
user message and drive the model again from that point.
Both operations are destructive and cannot be undone: the original reply and all subsequent messages are permanently removed.
POST /api/conversation-rollback
{ "sessionId": "...", "atSeq": <any seq inside a completed turn> }{ "operation": "edit", "sessionId": "...", "turn": <turn number>, "text": "..." }web profile (dsh web).pnpm available on your PATH for dsh plugin management.git is required for the GitHub install and the local clone; npm is only
required for the npm pack option.dsh plugin --profile web add github:sharedcare/dsh-conversation-rollback
dsh plugin adds the package to the selected profile and automatically
registers the bundle patch layer. If you maintain a fork, replace sharedcare
with your GitHub username or use the full repository URL:
dsh plugin --profile web add "git+https://github.com/<owner>/dsh-conversation-rollback.git"
To pin an exact commit or tag, append #<commit-or-tag> to the full git URL.
For development, or if you prefer to build the package yourself:
git clone https://github.com/sharedcare/dsh-conversation-rollback.git
cd dsh-conversation-rollback
Option A — link this checkout directly into the profile (useful while developing):
dsh plugin --profile web add "$PWD"
Option B — install a packed tarball:
npm pack
dsh plugin --profile web add ./conversation-rollback-<version>.tgz
Replace <version> with the version printed by npm pack (for example
1.3.0).
cordis.patch.yml
($DSH_HOME/profiles/web/cordis.patch.yml, default
~/.dsh/profiles/web/cordis.patch.yml) still contains a hand-written
- insert: conversation-rollback entry from an older setup, remove it —
the installed bundle patch adds that entry automatically.dsh plugin --profile web list
dsh web --dump-config | grep conversation-rollback
The dump should show the bundle section and an entry with
id: conversation-rollback.
dsh plugin --profile web remove conversation-rollback
Restart the DSH Web process afterwards. To upgrade a git-based install, remove
it and run the add command again with the desired commit/tag.
cordis.patch.yml: bundle patch; the installer inserts the plugin entry
automatically.lib/index.js: host-side HTTP route, log truncation, live-session splicing,
and Agent re-driving.lib/client.js: browser side; injects
conversation.chat.user-actions (edit input) and registers
conversation.chat.assistant-actions (rollback) through a low-priority
shadow renderer without modifying any upstream package.Host dependencies are provided by the DSH bundles themselves
(@deepseek-ai/dsh-session, @deepseek-ai/dsh-llm); the plugin does not pull
in its own copies of those packages.
Cannot read properties of undefined (reading 'adapterDefaults'), the live Agent still cached state from the
truncated log. Restart the Web process so the current lib/index.js is
loaded; this version resets the session request/context folds, derived
message caches, agent.requestHeaderLogged, and runtime-context projections
after splicing.dsh plugin add fails for a git-hosted fork that adds a
prepare/postinstall script, follow the allowBuilds hint printed by
pnpm and add the exact key to
$DSH_HOME/profiles/web/pnpm-workspace.yaml, then re-run the install. The
upstream package has no build scripts, so the standard GitHub install needs
no extra approval.conversation-rollback 是一个 DSH Web 插件:既能把会话日志回退到某个已完成
回合的边界(Codex 风格),也能修改之前的用户输入,并从该位置重新驱动模型
生成。
两种操作都是不可撤销的破坏性操作:原回复及其后的所有消息会被永久删除。
POST /api/conversation-rollback
{ "sessionId": "...", "atSeq": <完成轮次内任一 seq> }{ "operation": "edit", "sessionId": "...", "turn": <turn number>, "text": "..." }web profile 的 DSH 环境(dsh web)。PATH 中有 pnpm,供 dsh plugin 管理插件使用。git;只有使用 npm pack 方式时才需要
npm。dsh plugin --profile web add github:sharedcare/dsh-conversation-rollback
dsh plugin 会把包加入所选 profile,并自动注册 bundle patch 层。如果你维护
自己的 fork,把 sharedcare 替换成你的 GitHub 用户名,或使用完整仓库地址:
dsh plugin --profile web add "git+https://github.com/<owner>/dsh-conversation-rollback.git"
如需固定到某个 commit 或 tag,在完整 git URL 末尾追加 #<commit-or-tag>。
适合二次开发,或希望自行打包的场景:
git clone https://github.com/sharedcare/dsh-conversation-rollback.git
cd dsh-conversation-rollback
方式 A:直接把当前 checkout 链接进 profile(适合边改边调试):
dsh plugin --profile web add "$PWD"
方式 B:先打包,再安装生成的 tarball:
npm pack
dsh plugin --profile web add ./conversation-rollback-<version>.tgz
请把 <version> 替换为 npm pack 输出的版本号(例如 1.3.0)。
cordis.patch.yml(位于
$DSH_HOME/profiles/web/cordis.patch.yml,默认是
~/.dsh/profiles/web/cordis.patch.yml)里还留有旧方案的手工
- insert: conversation-rollback 行,请删掉;安装后的 bundle patch 会
自动插入该条目,手工行会和它重复。dsh plugin --profile web list
dsh web --dump-config | grep conversation-rollback
配置 dump 中应出现 bundle 分节,以及 id: conversation-rollback 条目。
dsh plugin --profile web remove conversation-rollback
卸载后重启 DSH Web 进程。基于 git 安装时,如需升级,先执行上面的 remove,
再用目标 commit/tag 重新执行 add。
cordis.patch.yml:bundle patch,安装时自动插入插件行。lib/index.js:host 端 HTTP 路由、日志截断、live Session 拼接、Agent
再驱动。lib/client.js:浏览器端通过低优先级 shadow renderer 注入
conversation.chat.user-actions(修改输入)并注册
conversation.chat.assistant-actions(回退),不修改任何上游包。宿主依赖由 DSH 本体的 bundle 提供(@deepseek-ai/dsh-session、
@deepseek-ai/dsh-llm),插件不额外安装这些包。
Cannot read properties of undefined (reading 'adapterDefaults'),说明 live Agent 仍缓存了被截断掉的
request/header 状态。重启 Web 进程加载当前 lib/index.js;该版本会在
拼接日志后重置 session 的 request/context fold、派生消息缓存、
agent.requestHeaderLogged 和 runtime-context 投影。prepare/postinstall 脚本,dsh plugin add 安装
git 依赖时被 pnpm 拦截,请按 pnpm 打印的提示把对应 key 加入
$DSH_HOME/profiles/web/pnpm-workspace.yaml 的 allowBuilds,再重新执行
安装。上游包没有构建脚本,因此标准 GitHub 安装不需要额外放行。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: web-ui。