Visual goal lifecycle for the DSH web UI: a composer dock to create, multiline-edit, pause, resume, complete and clear session goals with live round progress, plus a phase-dot composer entry and a settings-page goal overview.
Install
# from a prebuilt release tarball
dsh plugin --profile web add "https://github.com/xlennart/dsh-goal-mode-enhance/releases/download/v0.2.0/dsh-goal-mode-0.2.0.tgz"
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:xlennart/dsh-goal-mode-enhance
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
为 DeepSeek Harness Web 界面提供可视化 goal 模式的插件。
把原本只能靠对话命令(/goal)和模型工具(create_goal / get_goal / update_goal)操作的目标系统,变成看得见、点得动的界面。
English | 中文
两种形态
本仓库同时提供两种形态,推荐使用 A(正式插件,稳定、可注册安装):
| 形态 | 说明 | 适合 |
|---|---|---|
| A. 正式插件包(推荐) | 独立 npm 包结构(dsh.plugin.json + cordis.patch.yml + 构建产物),dsh plugin add 安装,页面刷新/重启不丢 |
日常使用、分享给他人 |
| B. 动态插件源码(保留) | 会话内 cordis_define + cordis_run 加载(host.js / client.js) |
快速试玩、调试 |
功能(形态 A)
- 完整生命周期目标栏(composer 上方,
conversation.input.dock,替换内置 goal 条):- 无目标时:
◎按钮展开「设定目标」创建表单 - 有目标时:状态标签 + 目标文本 + 轮次进度条与 n/上限 + 已达上限徽标
- 图标按钮:⏸ 暂停 / ▶ 恢复 / ✎ 编辑(多行)/ ✓ 完成 / 🗑 清除 / 收起
- 已完成:完成横幅 + 「开始新目标」
- 无目标时:
- 多行编辑/创建:目标内容用多行文本框(自动换行、可拖高、
Ctrl+Enter提交),可同框设置轮次上限 - Composer 工具行入口(
conversation.input.left):◎目标按钮 + 阶段色点(绿=进行中 / 黄=暂停 / 红=阻塞),点击展开/收起目标栏;目标栏可折叠为内容自适应胶囊 - General 设置开关(
settings.general.item):「在输入框工具行显示目标入口」,经ui-goal-mode设置段持久化 - 独立「目标」设置页(
settings.section):展示当前会话的目标状态、轮次和紧凑目标预览,长目标可按需展开,并附使用说明 - 零空闲干扰:未设置目标时,composer 上方不渲染任何内容(除非创建表单显式打开)
截图
目标栏——完成态(与原生任务条同屏共存)

创建表单(多行目标 + 轮次上限)

折叠胶囊(工具行入口点击展开/收起)

原理
| 部分 | 实现 |
|---|---|
| 数据展示 | useProjection('goal') 实时投影(含实时 roundsStarted),零轮询 |
| 操作通道 | ctx.remote.goals(web 装配的 api-remotes 挂载的 Remote 命名空间),带 CAS revision 乐观并发 |
| 偏好持久化 | host 半以 ui-goal-mode 条目 Config 暴露设置表单,client 经 configForms 镜像 Host 段落 |
| UI 落点 | conversation.input.dock(goal 单元,priority -10 覆盖内置条)、conversation.input.left、settings.general.item、settings.section |
| 图标 | 内联 SVG 线条图标(Feather 风格,currentColor 随主题) |
数据本身存储在会话日志(goal/change 事件),持久化由引擎保证,插件只负责展示与操作。
安装
- 形态 A(正式插件):推荐直接使用 Release 预构建 tarball——
dsh plugin --profile web add <tgz 路径>后重启即可;开发者本地构建方式见 INSTALL.md。已验证的 DSH 版本兼容性结论见 COMPATIBILITY.md。 - 形态 B(动态插件):见
host.js/client.js顶部注释,会话内cordis_define+cordis_run加载。
仓库结构
dsh-goal-mode/
├── src/ # 形态 A 插件源码
│ ├── index.ts # host 半:ui-goal-mode 条目 Config + 设置页策略
│ ├── settings-contract.ts # 浏览器安全的设置常量/类型(host 与 client 共享)
│ └── client/
│ ├── index.ts # 插件主体:注册 dock 条 / composer 入口 / 设置行
│ ├── GoalBar.tsx # 目标栏 / 创建 / 编辑 / 胶囊 / composer 按钮
│ ├── ComposerEntryRow.tsx # 设置开关行
│ ├── GoalSettingsSection.tsx # 独立目标设置页(主视图会话)
│ ├── settings-policy.ts # 偏好策略(configForms 镜像)
│ ├── store.ts # 查看状态(页面内)
│ ├── slots.ts / locales.ts / styles.ts
├── build.mjs # esbuild 单文件构建(host ESM + client CJS bundle)
├── dsh.plugin.json # 插件清单
├── cordis.patch.yml # web profile patch 挂载(条目 id:ui-goal-mode = 设置段名)
├── package.json / tsconfig.json / pnpm-workspace.yaml
├── host.js # 形态 B 动态插件 host 半(保留,未随 0.2 适配)
├── client.js # 形态 B 动态插件 client 半(保留,未随 0.2 适配)
├── INSTALL.md # 安装指南
└── README.md
0.2.0 起不发布运行库不变式伴生(
./invariant):插件只有槽位注册(HMR 安全性已 由宿主规范约束)与设置表单投影(归 settings 服务所有),没有可独立分叉的观测点, 空 installer 在 0.2 纪律下不再合规。
要求
- DeepSeek Harness(Web GUI,
webprofile)@deepseek-ai/*0.2.0-rc.2及以上(configForms服务;插件 0.1.0 对应 0.1.1-rc.2) - 目标系统内置(
goals服务 +goal投影)
License
MIT
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 10172
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 10172
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
ccch1mneyyy/dsh-TUI★ 7101
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 6959
A fixed-corner whale widget for the DSH web GUI — balance, today's usage and per-turn cost with peak/off-peak pricing, editable balance-alert and daily-budget bubbles, a module-based custom bubble queue with A/B weighted choices and random lines or images, 30+ vendor templates (OpenAI, OpenRouter, Kimi, SiliconFlow, Ark, Zhipu, MiniMax and more) with per-model balance and subscription quota, plus task-end sound, imported audio, custom roles and a resource manager. Local-only, no telemetry.
omdsh-dev/DSH-better-sidebar★ 4959
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1744
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.