How to use dsh-web-ui
DSH Web GUI with multi-column task board, Host authoritative ledger for task management, real DSH session execution, 5-field cron scheduling, and optional cross-platform idle sleep protection.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
dsh-task-board
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add @linxin666/dsh-client-ui-task-board
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- Web 终端:xterm.js 远程终端,实时输出,窗口大小自适应;
- 文件传输:SFTP 上传 / 下载,有进度条,能浏览远程目录;
- 端口转发:本地隧道直连远程内网服务(数据库、API、管理后台),只监听 127.0.0.1;
- 集群执行:一条命令并发跑多台主机,按别名 / 环境 / 标签过滤;
- Agent 直连:Agent 和面板共用同一份主机配置,对话里说一句「连一下 xxx 看看状态」,智能体就去执行远程命令。
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
Will tasks continue to run after closing the browser?
Yes. Task execution is handled by the Host process; the browser is just an asynchronous view. Closing the page or losing network connection will not stop running sessions or cron schedules.
Where is task data stored?
The authoritative ledger is written to the Host at $DSH_HOME/task-board/ledger-v2.json with POSIX file permissions 0600; legacy browser localStorage data will be imported in one go on first upgrade based on stable source/request id.
Will missed cron triggers be replayed?
No. Missed triggers during Host shutdown, system sleep, or long pause are all skipped, and nextRunAt simply rolls forward from the current Host time.
Can it wake a computer that is already asleep?
No. Power protection only holds a lock when the system is about to enter idle sleep. It does not create wake timers, nor does it intercept lid close, manual sleep, hibernation, or low battery forced sleep.
Does task execution consume API quota?
Yes. Each execution creates an independent DSH agent session, consuming the same API quota as a regular session.
What are the prerequisites on Linux?
Requires systemd-logind and the current user must be allowed to acquire an idle block lock; containers, WSL, non-system bus, or non-systemd systems will display 'unsupported' without enabling desktop alternatives.
How to expose via reverse proxy?
Bind DSH Web to loopback, set trustedProxyHosts whitelist, place the high-entropy token in the env specified by proxyTokenEnv, and have the proxy replace X-Dsh-Task-Board-Proxy-Token after completing authentication; restart Host after modification.
How to completely uninstall?
Run dsh plugin --profile web remove @linxin666/dsh-client-ui-task-board, then restart dsh web; the ledger file will not be automatically deleted by the plugin.
— source: plugin_wiki.faq_json
Compatibility
- DSH: >=0.1.0-rc.8(peerDependencies: @deepseek-ai/dsh-agent / @deepseek-ai/dsh-commands)
- Node: 源码未声明 engines;monorepo 约定 ^22.19 || >=24(package.json#devDependencies @types/node ^22.20.0)
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule