npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@deepseek-harness-tui/dsh-auth

v0.1.0

Published

Subscription OAuth sign-in (ChatGPT/Codex, Claude Pro/Max, SuperGrok) as LLM provider routes for DeepSeek Harness — no dsh source patch, bundled with dsh-tui

Readme

@deepseek-harness-tui/dsh-auth

Subscription OAuth sign-in for dsh-TUI and DeepSeek Harness

Use your ChatGPT (Plus/Pro), Claude (Pro/Max) and SuperGrok / X Premium subscriptions as model providers — sign in with the official account, no API keys, and no dsh source patch. This plugin is developed alongside (and bundled into) dsh-TUI, the Claude Code style terminal front door for DeepSeek Harness; it also installs standalone into any dsh profile.

dsh-tui → /provider → 订阅账号登录(OAuth)→ sign in   ← the TUI integration
          /auth login openai-codex                     ← the plugin command
          /model → OpenAI Codex → gpt-5.6-sol          ← routes & models

Status: experimental (M1). The OAuth flows themselves are pi-ai's shipped implementations (device-code and loopback callback included); this plugin adds the hosting: credential storage, automatic token refresh, adapter registration, and a login surface over the userQuestions seam that works in the TUI, the web client, and refuses cleanly on headless hosts.

Install

With dsh-TUI — nothing to do: dsh-auth ships inside the dsh-tui package (bundled dependency). Update dsh-tui and the /provider wizard gains its subscription sign-in branch automatically.

Standalone, into any dsh profile:

dsh plugin --profile <name> add @deepseek-harness-tui/dsh-auth

Then restart the host; / lists auth, and every model picker gains the signed-in providers' catalogs (credential-gated — see below).

What it does

  • Mounts the pi-ai catalog providers that ship OAuth flows as llm registry routes: openai-codex, anthropic, xai. Models appear in a picker only after that provider is signed in (credential-gated listing) — sign in and the catalog appears, sign out and it disappears; model ids already saved in sessions stay resolvable either way.
  • /auth login [provider] runs the provider's OAuth flow interactively. The waiting panel behaves the way pi's host does: the authorization URL is opened in your browser automatically (never hand-copied — the URL is hundreds of characters and wrap artifacts corrupt its redirect_uri), and the panel offers Copy authorization link / Open browser again / Cancel sign-in. Device-code flows open the verification page and make the short code the copy target. OpenAI Codex also offers a device-code login method — the most robust path on headless or locked-down machines (no localhost:1455 callback needed).
  • Stored access tokens refresh automatically before each request, serialized per provider under the credential store's lock — concurrent requests never double-refresh a rotated token.
  • /auth status / /auth logout <provider>; the ctx.dshAuth service exposes the same api for UIs (the dsh-tui /provider wizard and /login ride it).

Usage

/auth                          # status: which providers are signed in
/auth login                    # pick a provider interactively
/auth login openai-codex       # ChatGPT (Plus/Pro)
/auth login anthropic          # Claude (Pro/Max)
/auth login xai                # SuperGrok / X Premium
/auth logout anthropic

Model requests against a provider you have not signed in to fail loudly with the /auth login <provider> hint — never silently.

Configuration

- id: dsh-auth
  name: '@deepseek-harness-tui/dsh-auth'
  config:
    providers: [openai-codex, anthropic, xai]   # any non-empty subset
    # credentialsFile: /secure/path/credentials.json
  • credentialsFile defaults to $DSH_HOME/dsh-auth/credentials.json (~/.dsh/dsh-auth/credentials.json), overridable with the DSH_AUTH_CREDENTIALS environment variable. The directory is created 0700, the file 0600 (best-effort on Windows), and every write is atomic (temp file + rename).
  • A route another adapter family already owns — an llm-pi-ai settings profile naming the same provider — is refused by the registry; the plugin logs the refusal and mounts the remaining routes. Keep one provider on one adapter.

Security notes

  • The credential file holds long-lived refresh tokens. It is never logged, never echoed through status surfaces (/auth status shows expiry metadata only), and a corrupt file fails loudly instead of being overwritten.
  • Secret prompts warn that terminal input is not masked on this surface.
  • Login refuses to run where no interactive surface is registered (no browser/GUI assumptions — remote and headless hosts get a clear error, per the ecosystem spec's remote-determinism rule, TUI-RUN-001).
  • Subscription authentication and API-key access are different products: this plugin uses each provider's subscription backend only (ChatGPT Codex backend for OpenAI, Claude Pro/Max for Anthropic) and does not turn a subscription into a general-purpose API credential.

Development

pnpm install
pnpm verify     # build + headless smoke (credential store, refresh
                # serialization, prompt bridging, gating, service api)

The smoke suite runs without cordis or a harness: the pure modules are exercised directly. Real end-to-end login needs an interactive host (dsh-tui) and is verified manually per release. The plugin is developed in the dsh-TUI repository as the dsh-auth/ submodule and mirrors to this repository.

Roadmap

  • M2 (landed) — dsh-tui integration: /provider OAuth branch, /login account section, two-level /model picker with a pinned recently-used group.
  • M3dsh-ecosystem-spec conformance (manifest validation, admission fixtures) plus the remaining pi-ai OAuth providers (GitHub Copilot, OpenRouter, Kimi); community list entry.
  • M4 — Gemini: a custom Google device-code flow (pi-ai ships none; this is the one wheel this project plans to build itself).

License

MIT