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
让 DSH(DeepSeek Harness)通过 ChatGPT 订阅使用 Gpt 系列模型的插件。
插件注册 codex-chatgpt Provider(显示名 “Codex(ChatGPT 订阅)”),以当前 Windows 用户的 ChatGPT OAuth 登录态访问模型,并在设置页展示账号信息、连接状态与订阅额度。
登录与会话
模型接入
AbortSignal;Retry-After。设置页
gpt-5.6-sol、gpt-5.6-terra、gpt-5.6-luna、gpt-5.5、gpt-5.4、gpt-5.4-mini、gpt-5.2
目录只用于展示;账号实际可用的模型由 ChatGPT 套餐、workspace 策略与上游兼容状态决定。
直接从 npm 安装已发布的插件包:
# 如果全局安装了 dsh
dsh plugin --profile web add @eddyskywalker/dsh-chatgpt-subscription
# 或使用 npx 直接运行
npx @deepseek-ai/dsh plugin --profile web add @eddyskywalker/dsh-chatgpt-subscription
@eddyskywalker/dsh-chatgpt-subscription 或 dsh-chatgpt-subscription;如需进行二次开发或本地源码调试:
git clone https://github.com/Aa728848/dsh-chatgpt-subscription.git
cd dsh-chatgpt-subscription
npm install
npm run build
npx @deepseek-ai/dsh plugin --profile web add "link:C:\absolute\path\to\dsh-chatgpt-subscription"
dsh web;DSH 模型选择器应显示 “Codex(ChatGPT 订阅)”。
卸载前建议先在设置页点击 “注销”,它会删除 DPAPI 凭据和 Host 内存中的额度缓存
若 DSH 已异常退出,可在确认路径后删除凭据文件 oauth.dpapi:
%DSH_HOME%\storages\dsh-chatgpt-subscription\oauth.dpapiDSH_HOME 时为 %USERPROFILE%\.dsh\storages\dsh-chatgpt-subscription\oauth.dpapi该文件只能由创建它的 Windows 用户通过 DPAPI 解密。
http://localhost:1455/auth/callback,登录任务五分钟超时,同一时刻只允许一个;https://auth.openai.com/oauth/token;https://chatgpt.com/backend-api/codex/responses 和 https://chatgpt.com/backend-api/wham/usage,没有 endpoint override;settings.yaml 或日志;block-end;畸形参数终止本次生成;Origin 与 Host。所有路由都以 /api/dsh-chatgpt-subscription 为前缀:
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /status |
查询账号、连接状态与额度 |
| POST | /login/start |
开始 OAuth 登录 |
| GET | /login/events?loginId=... |
SSE 订阅登录进度 |
| POST | /login/cancel |
取消登录任务 |
| POST | /logout |
注销并清除凭据与额度缓存 |
| POST | /token/refresh |
刷新 token |
| POST | /quota/refresh |
刷新额度 |
| POST | /connection/test |
测试连接 |
状态响应只包含脱敏 email、套餐、账号 ID 后四位、token 到期时间和额度 DTO。
npm run typecheck
npm test
npm run build
npm pack --dry-run
测试使用 mock OAuth、Responses SSE 和 Wham usage,不需要真实 ChatGPT 凭据。真实账号的端到端登录与生成应在独立 DSH profile 中人工验收,避免影响日常 profile。
| 现象 | 处理 |
|---|---|
| 1455 端口占用 | 结束旧登录任务或占用该端口的进程后重试;插件卸载会关闭 listener |
| 登录后仍是 401 | 刷新 token;若刷新 token 已失效,注销并重新登录,不会循环请求 |
| 额度显示旧数据 | 设置页会保留最后成功值;等待 15 秒节流窗口后手动刷新 |
| 429 | 插件遵守 Retry-After,不会高频轮询;模型请求由 DSH retry policy 有界重试 |
| 模型不可用 | 检查 ChatGPT 套餐、workspace 权限与当前模型可用性 |
| DPAPI 读取失败 | 确认 DSH 以创建凭据时的同一 Windows 用户运行;必要时清理凭据后重新登录 |
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。