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
English | 简体中文
In-process DSH (DeepSeek Harness) LLM adapter: use the Codely LiteLLM gateway (codely.tuanjie.cn) directly as a model backend inside DSH — no local proxy process needed.
⚠️ Unofficial integration based on the Codely CLI protocol; may break when the gateway changes. No login state is bundled with this package — you must register your own account and provide your own credentials.
Get an sk- API key from your Codely account (or from the official Codely CLI), then provide it through:
apiKey, orCODELY_API_KEY.The plugin uses the key directly and never touches any local login files.
Install the official Codely CLI, launch it and log in with your own registered account. The login writes the state files the plugin reads:
~/.codely-cli/oauth_creds.json
~/.codely-cli/org.json
The plugin reads these by default; point it at your own login directory with the codelyHome config if yours lives elsewhere. This also enables automatic OAuth token refresh when the gateway returns 401/403.
On first launch without any credentials, the plugin fails with a clear error pointing to this README — it never falls back to anyone else's login state.
dsh plugin --profile web add dsh-codely
Then register the row in $DSH_HOME/profiles/web/cordis.patch.yml:
- insert:
- id: codely
name: 'dsh-codely'
config:
apiKey: 'sk-...' # optional if CODELY_API_KEY is set
# codelyHome: 'C:\\Users\\you\\.codely-cli' # optional login-state dir
DSH hot-reloads the patch. The codely provider appears in the model list.
| Field | Default | Meaning |
|---|---|---|
apiKey |
CODELY_API_KEY env |
Static sk- key from your own Codely account |
codelyHome |
~/.codely-cli |
Directory holding your own oauth_creds.json + org.json (official CLI login state) |
baseURL |
https://codely-litellm.tuanjie.cn/v1 |
LiteLLM gateway base URL |
models |
GLM-5.3 only |
Model list exposed to DSH |
sessionId |
random UUID | litellm session id |
clientHeaders |
gateway-required headers | UA / X-Stainless / litellm_session_id |
retryPolicy |
resolved default | LLM retry policy |
cd <package>
node test/smoke.mjs
# expects your credentials; prints the exchanged key prefix and a model reply
npm pack --dry-run
npm publish
No credentials are ever included: the published tarball contains only lib/ plus docs. Add your own secrets at runtime via config or environment variables.
apiKey → CODELY_API_KEY → codelyHome login state.sk- key and OAuth access token in-process, and refreshes once on 401/403.CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。