dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam โ local headless browser, no API key, no mโฆ
hanwuji1/dsh-web-launcher
๐ One-click desktop launcher for the DeepSeek Harness Web UI โ a whale-icon app that boots dsh web and opens your browser. Zero friction, zero typing.
PROJECT TOPICS
PROJECT README
English ยท ไธญๆ
Stop typing. Stop navigating. Double-click the whale and you're in.
DeepSeek Harness (
dsh) is DeepSeek's open-source agent harness. Its Web UI is one command and one URL away from your work โ this plugin removes both.
Good tools disappear.
Every time you open the DSH Web UI the old way, you perform the same ritual:
open terminal โ type "dsh web" โ wait for boot โ open browser โ type the URL โ Enter
Six steps. Ten seconds. Every single time. Ten times a day, that's a hundred minutes a month spent just arriving at your tools โ not doing the work. Friction like this doesn't sound like much per click, but it taxes you every time, forever. The tax is invisible, so it never gets questioned.
Who is this for? Anyone who uses the DSH Web UI more than once a day on Windows and wants the entry point to be a single double-click instead of a six-step ritual โ end users, agent power users, and anyone tired of typing http://127.0.0.1:3080 from memory.
This plugin exists to delete that ritual:
%LOCALAPPDATA%, off your desktop. All you see is one clean app icon.web_launcher model tool lets the agent itself install, open, or check the UI โ the entry point becomes part of the workflow, not a detour from it."The best interface is no interface โ the second best is one click."
| dsh | Verified on 0.1.0-rc.6 (web profile); installs via the standard dsh plugin add flow (dsh.bundle manifest) |
| Node | ^22.19 \|\| >=24 (as declared in engines) |
| Platforms | Windows 10/11 for the desktop shortcut; the web_launcher tool's status / open actions work on any platform |
| Last verified | 2026-08-15 (dsh 0.1.0-rc.6, plugin install + unit tests) |
Requires a dsh profile (e.g. the web profile).
Install
# from npm
dsh plugin --profile web add dsh-web-launcher
# or straight from GitHub
dsh plugin --profile web add github:hanwuji1/dsh-web-launcher
Upgrade
dsh plugin --profile web update dsh-web-launcher
Uninstall
dsh plugin --profile web remove dsh-web-launcher
Then delete the leftovers: the DeepSeek Harness Web.lnk shortcut on your
desktop and the %LOCALAPPDATA%\dsh-web-launcher folder.
No dsh yet? Standalone PowerShell install:
powershell -ExecutionPolicy Bypass -File install.ps1 # default port 3080
powershell -ExecutionPolicy Bypass -File install.ps1 -Port 8080
dsh web once โ the plugin activates on boot and places the DeepSeek Harness Web app on your desktop.web_launcher with action status โ expect running: true and the URL http://127.0.0.1:3080.Minimal configuration (optional) โ see Configuration for the full table.
| Action | Effect |
|---|---|
install |
(Re)create the launcher and the whale-icon app shortcut (Windows) |
open |
Open the Web UI in the default browser |
status |
Report whether the DSH Web server is running |
Override the plugin row in your profile's cordis.patch.yml (e.g. ~/.dsh/profiles/web/cordis.patch.yml). A patch replaces the whole row config, so restate the keys you keep:
- id: dsh-web-launcher
config:
autoInstall: true # create/refresh the launcher on activation (default true)
createShortcut: true # also create/refresh the app shortcut (default true)
port: 3080 # Web UI port (default 3080)
shortcutName: Start-DSH-Web.cmd # launcher file name (default)
linkName: DeepSeek Harness Web.lnk # app shortcut name (default)
launcherDir: "" # launcher folder; empty = %LOCALAPPDATA%\dsh-web-launcher
desktopDir: "" # desktop folder; empty = auto-detect
No environment variables and no secrets are involved.
| Area | What the plugin does |
|---|---|
| Files written | Start-DSH-Web.cmd under %LOCALAPPDATA%\dsh-web-launcher; DeepSeek Harness Web.lnk on the desktop |
| Files read | None of your data โ only its own template and icon inside the package |
| Processes | Spawns powershell.exe (WScript.Shell) to create the shortcut; the launcher spawns dsh web under your user account |
| Network | Loopback only: probes http://127.0.0.1:<port> for status; open delegates to the OS default browser |
| Credentials | None โ never reads, stores, or sends credentials |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DeepSeek Harness Web โโโโถโ cmd /c Start-DSH-Web.cmd โ
โ (desktop .lnk, whale ico)โ โ (hidden in %LOCALAPPDATA%) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโ
โผ โผ โผ
where dsh? port listening? start dsh web
(friendly error) (open browser) (poll โ open browser)
cordis.patch.yml โ declares the dsh.bundle manifest; dsh plugin add auto-reconciles it into the profile's bundle stack.lib/launcher.js โ template rendering (pure ASCII), desktop/launcher directory resolution, port probing (fetch + timeout), .lnk creation via WScript.Shell.lib/index.js โ Cordis plugin (name / inject: ['tools'] / Config schema) + the defineTool-based web_launcher tool.tools/make-icon.mjs โ regenerates the multi-size whale.ico (SVG โ PNG โ PNG-in-ICO) from the official Harness favicon silhouette.tools/make-banner.mjs โ regenerates this README's hero banner.| Symptom | Cause & fix |
|---|---|
transport failure for /api/...: HTTP 403 |
The browser-trust fence rejected a cross-origin call. Open DevTools โ Network โ the failed request โ copy its Origin header. If it is not http://127.0.0.1:3080, something else is calling the local API โ a browser extension (e.g. local-model/translate tools), a leftover tab, or an embedded iframe. Disable it or close that page. --trusted-host does not relax the Origin check. |
EADDRINUSE / port already bound |
Another instance is running โ the launcher detects the listening port and just opens the browser. To use a different port, set port in cordis.patch.yml. |
dsh not found when double-clicking |
Install the CLI first: npm install -g @deepseek-ai/dsh |
| Desktop icon missing or generic | Run web_launcher with action install to recreate the shortcut and icon |
| Where are the logs? | The launcher console shows dsh web output; profile state lives under ~/.dsh |
Rollback: dsh plugin --profile web remove dsh-web-launcher and delete the two files listed under Uninstall โ the plugin leaves nothing else behind.
lib/; zero runtime dependencies beyond the dsh peer packages.npm test (node:test โ no third-party dependencies needed).node tools/make-icon.mjs and node tools/make-banner.mjs (need sharp; set SHARP_PATH to its node_modules when not installed locally).version in package.json โ npm publish โ git push. The dsh.bundle manifest means dsh plugin update picks up new versions.Q: Will this run my commands as admin? No. The launcher runs dsh web with your normal user permissions.
Q: Does it interfere with the running server? No. It detects the listening port and skips straight to the browser.
Q: Why is the launcher a .cmd and not an exe? Zero dependencies, no build chain, trivially auditable โ 60 lines you can read before running.
Q: Non-Windows? The tool stays registered (status/open work anywhere); the desktop shortcut is Windows-only by design.
If this plugin saves you even a few seconds a day, star the repo โ it helps other people find it, and it tells the maintainer the friction tax was worth deleting.
Found a bug or want a feature? Open an issue โ PRs welcome.
dsh-web-launcher/
โโโ lib/ # plugin code (ESM, zero runtime deps)
โ โโโ index.js # Cordis plugin + web_launcher tool
โ โโโ launcher.js # template, shortcut, status, browser helpers
โ โโโ template.cmd.txt # the ASCII launcher template
โโโ icons/ # whale.ico + multi-size PNGs (generated)
โโโ assets/ # banner.svg, favicon.whale.svg (icon source)
โโโ tools/ # icon/banner generators (sharp)
โโโ tests/ # node:test unit tests
โโโ install.ps1 # standalone install (no dsh required)
MIT โ see LICENSE.
To report a security issue privately, use the repository's Security tab (GitHub Security Advisory) instead of a public issue.
CLASSIFICATION EVIDENCE
็ณป็ปไผๅ ่ฏปๅ GitHub Topics๏ผๅไธ็ซๅ ๅ็ฑป่ฏๅ ธๅ่ฏๆ น่งๅๆฏๅฏนใ