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 floating badge for the DeepSeek Harness (DSH) Web GUI. Shows your LLM API account balance, drags anywhere, resizes, and switches text color to match whatever sits beneath it.
The screenshots show the badge itself only. No real UI or conversation content.
~/.dsh/.credentials.yaml) and never reach the browser. curl gets the key through an environment variable, not the command line.One command installs the plugin into your DSH web profile and registers it automatically (dsh plugin reconciles dsh.profile.bundles for you). The tarball form is plain HTTPS. You don't need a GitHub account, an SSH key, or git:
dsh plugin --profile web add https://github.com/GPIOX/dsh-api-balance/archive/refs/heads/main.tar.gz
Alternative git-based form (resolves through your local git configuration):
dsh plugin --profile web add github:GPIOX/dsh-api-balance.
Then restart DSH (stop the dsh process and run it again, e.g. dsh web), refresh the page, and open Settings › API Balance to save your key. The badge shows up right away.
Uninstall / rollback:
dsh plugin --profile web remove dsh-api-balance-badge
The in-app Market (Settings › Plugins/Market) can install it too once it is listed in the awesome-dsh-plugin registry. For local development:
dsh plugin --profile web add link:/path/to/dsh-api-balance-badge.
If you would rather not touch your profile, paste the plugin into any DSH Web GUI session as a dynamic plugin. No build step and no restart:
cordis_define tool (kind: "new", any 3-6 letter prefix) and paste
plugins/api-balance/host.js / plugins/api-balance/client.js
as code.host / code.clientcordis_run and click Approve on the run cardDynamic plugins live in the process, not on disk. After a DSH restart, define and activate it again (both source files are in this repo).
| Provider | Balance endpoint | Auth | Notes |
|---|---|---|---|
| DeepSeek | GET https://api.deepseek.com/user/balance |
API Key (sk-...) |
total / granted / topped-up (CNY) |
| Moonshot (Kimi) | GET https://api.moonshot.cn/v1/users/me/balance |
API Key (sk-...) |
available / voucher / cash (CNY) |
| OpenAI | GET https://api.openai.com/dashboard/billing/credit_grants |
Browser session token (sess-...) |
OpenAI offers no API-key balance endpoint; session tokens expire |
| Custom | any GET endpoint (Bearer auth) | your own | JSON field paths like data.available_balance or balance_infos[0].total_balance, such as relay stations |
~/.dsh/.credentials.yaml), the same place DSH keeps its other secrets.AI_BALANCE_KEY through env, so it never appears in process listings..
├── assets/ # README screenshots (badge renders, no real UI content)
├── lib/index.js # Host half: /dsh-api-balance-badge/* HTTP routes + credential handling
├── client/client.js # Client half: floating badge + settings page (factory bundle)
├── cordis.patch.yml # Bundle patch inserting this plugin into a profile
├── package.json # DSH plugin package manifest (dsh.bundle / dsh.client)
├── plugins/api-balance/ # Same halves as dynamic-plugin sources (zero-install path)
│ ├── host.js
│ ├── client.js
│ └── README.md
├── LICENSE # MIT
├── README.md # this file (English)
└── README.zh-CN.md # 中文文档
MIT © 2026 GPIOX
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。