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…
PROJECT TOPICS
PROJECT README
A DeepSeek Harness (DSH) plugin that shows a small always-on-top desktop popup in the bottom-right corner of your screen. It mirrors the AI's thinking status in real time and alerts you when the AI requests permission or finishes thinking — even when you are working in other apps, browsers, or virtual desktops.
中文说明见 README.zh.md
| State | Popup | Sound |
|---|---|---|
| AI is thinking | DeepSeek-blue pulsing dot + AI 正在思考… + elapsed time. Auto-collapses to a slim right-edge tab after 5 s; hover or click the tab to expand it again |
none |
| AI requests permission | Amber pulsing dot + AI 请求权限 + session/tool name |
system Exclamation |
| AI finished thinking | Green dot + AI 已完成思考, auto-hides after 12 s |
system Asterisk |
| Idle | Hidden | none |
#1E2235 / #4D6BFE).DSH process
└─ lib/index.js (host plugin)
├─ listens to session/event: turn/start, turn/end, approval/asked, approval/decided, session/title
├─ rebuilds existing session state from ctx.sessions.list() at startup
├─ serves a local status JSON at http://127.0.0.1:7389/status
└─ launches the desktop popup process
├─ Windows: desktop-popup.ps1 (PowerShell + WPF)
└─ macOS/Linux: desktop-popup.py (Python 3 + tkinter)
Desktop popup
├─ polls /status every second
├─ renders the DeepSeek-style card (running/pending/done/idle)
├─ plays a system sound on pending/done transitions
├─ auto-collapses to the right edge while running; expands on new states
└─ hides while idle, keeps running in the background
cd dsh-thinking-notifier
dsh plugin --profile web add .
# Restart DSH web so the host plugin is loaded
dsh web
dsh plugin --profile web add dsh-thinking-notifier
dsh web
dsh plugin --profile web remove dsh-thinking-notifier
| Environment variable | Default | Description |
|---|---|---|
DSH_THINKING_NOTIFIER_PORT |
7389 |
Local status server port. If busy, the next 10 ports are tried. |
dsh web)^22.19.0 || >=24.0.0tkinterdsh-thinking-notifier/
├── lib/
│ └── index.js # host plugin: status service + popup launcher
├── desktop-popup.ps1 # Windows native popup (PowerShell + WPF)
├── desktop-popup.py # macOS/Linux native popup (Python 3 + tkinter)
├── cordis.patch.yml # DSH bundle patch for persistent mounting
├── package.json # npm package + dsh.bundle declaration
├── README.md # English readme
├── README.zh.md # Chinese readme
├── CHANGELOG.md
├── CONTRIBUTING.md
└── LICENSE
Debug logs are written to:
~/.dsh/tn-plugin.log — host plugin lifecycle and launcher status.~/.dsh/tn-launcher.log — PID of the popup process created by the launcher.~/.dsh/tn-popup-debug.log — popup script lifecycle and polling errors.If the popup does not appear after restarting dsh web, check those logs first.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。