Back to home

HiSeax

dsh-codely

DSH in-process LLM adapter for the Codely LiteLLM gateway (codely.tuanjie.cn). No login state bundled — bring your own registered account credentials.

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-codely

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.

Before you start: register & obtain your own login state

  1. Register an account at https://codely.tuanjie.cn.
  2. Provide credentials to the plugin in one of two ways:

Way A — static API key (simplest)

Get an sk- API key from your Codely account (or from the official Codely CLI), then provide it through:

  • plugin config apiKey, or
  • environment variable CODELY_API_KEY.

The plugin uses the key directly and never touches any local login files.

Way B — official CLI login state

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.

Install (web profile)

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.

Configuration

FieldDefaultMeaning
apiKeyCODELY_API_KEY envStatic sk- key from your own Codely account
codelyHome~/.codely-cliDirectory holding your own oauth_creds.json + org.json (official CLI login state)
baseURLhttps://codely-litellm.tuanjie.cn/v1LiteLLM gateway base URL
modelsGLM-5.3 onlyModel list exposed to DSH
sessionIdrandom UUIDlitellm session id
clientHeadersgateway-required headersUA / X-Stainless / litellm_session_id
retryPolicyresolved defaultLLM retry policy

Verify

cd <package>
node test/smoke.mjs
# expects your credentials; prints the exchanged key prefix and a model reply

Development & publishing

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.

Notes

  • Login credentials are resolved in this order: config apiKeyCODELY_API_KEYcodelyHome login state.
  • The adapter caches the exchanged sk- key and OAuth access token in-process, and refreshes once on 401/403.
  • Unofficial reverse-engineered protocol — gateway updates may break it.