voyager
voyager-crew
Enhancement suite for Gemini, AI Studio, Claude, ChatGPT & DeepSeek — plus a prompt manager for any website, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude、ChatGPT 与 DeepSeek 的增强套件;其中的提示词管理器可用于任意网站,如 DeepSeek Harness。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:snail-vs/dsh-llm-oauth
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Out-of-tree DeepSeek Harness (dsh) plugin:
log in with subscription accounts (ChatGPT Plus/Pro, Claude Pro/Max, GitHub Copilot, …)
via OAuth and use those models without an API key — the same capability
opencode's /connect and the Codex CLI's codex login provide.
@earendil-works/pi-ai package (already a dependency of dsh's
dsh-llm-pi-ai) ships complete OAuth flows — browser PKCE (localhost:1455
callback) and headless device-code — plus automatic token refresh.
This plugin wires those flows into dsh:src/store.ts — a file-backed pi-ai CredentialStore
($DSH_HOME/.oauth.json, mode 0600, atomic writes, per-provider
serialization) that pi-ai's auth resolution refreshes through.src/service.ts — the llmOAuth service: login / logout /
status over every OAuth-capable catalog provider.src/interaction.ts — terminal interaction adapter (a Web GUI
adapter will come with the client UI).src/adapter.ts — (next milestone) a LlmAdapter registering the
chatgpt provider route so logged-in models stream through ctx.llm.CredentialStore contract)LlmAdapter for the chatgpt route (pi-ai stream → dsh StreamChunk)dsh-llm-oauth in ~/.dsh/profiles/web)~/.codex/auth.json / opencode auth.jsonInstalled into ~/.dsh/profiles/web:
plugin package in node_modules/dsh-llm-oauth (host lib + client bundle, and a
file:/data/code/ds-harness dependency in the profile package.json)
composition row in cordis.patch.yml (a new row must be an insert, not a
bare override — a bare - id: x targets an already-composed row and skips
with "entry not found"):
- insert:
- id: llm-oauth
name: 'dsh-llm-oauth'
The client half declares dsh.client (inject: ['slots'], platform: 'web')
and exports['./client'], so the web app serves and loads the Settings page.
auth.openai.com, callback on localhost:1455)
or 设备码登录 (shows a code to enter at the verification link).chatgpt (e.g. gpt-5.4, gpt-5.5)
and send a message — it streams via chatgpt.com/backend-api with the OAuth
token (auto-refreshed).CLI login is still available as an alternative:
./node_modules/.bin/tsx bin/login.ts login chatgpt.
Note: after rebuilding (pnpm build), re-copy lib/ into
node_modules/dsh-llm-oauth — or run pnpm install in the profile to re-link
the file: dependency.
pnpm install
pnpm typecheck # tsc --noEmit
pnpm build # tsc -> lib/
pnpm login # interactive login (browser PKCE or device code)
pnpm status # show stored credentials
localhost:1455; if Codex CLI or opencode is
already listening there, use the device-code flow instead.@deepseek-ai/dsh-llm, @deepseek-ai/cordis).MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: chatgpt、oauth。