Skip to main content

dsh-openai

OpenAI-compatible /v1/chat/completions HTTP bridge backed by the DeepSeek Harness Python SDK (deepseek-harness-sdk), so any OpenAI client (OpenWebUI, official SDKs, curl) can drive a full coding agent — tools, sandbox, persistent shell — instead of a plain chat model. The agent works in a per-session directory and delivers its files through signed download links.

This directory is both the PyPI packaging root and the Docker build context. The full deployment documentation (compose, Caddy/TLS, env matrices, security notes) lives in the repository README.

Install & run

pip install dsh-openai                 # or, from a checkout: pip install -e .
set DEEPSEEK_API_KEY=sk-xxxx           # upstream model credential (export on Linux/macOS)
dsh_openai serve                       # -> http://127.0.0.1:8000/v1

python -m dsh_openai serve is identical. serve applies local-development defaults (loopback bind, ~/.dsh-openai/{home,workspaces}, in-process fakeredis, the shipped editor profile patch); precedence is CLI flag > DSH_OPENAI_* env > local default. Run dsh_openai serve --help for the flag list.

Endpoints

  • POST /v1/chat/completions — JSON and SSE streaming
  • GET /v1/models, GET /healthz (auth-free liveness)
  • GET /v1/dsh/info, GET /v1/dsh/sessions/{id}/files, GET /v1/dsh/files/{token} (signed deliverable download)

Pin a conversation with the x-dsh-session-id header or a stable chat_id body field; both map onto one dsh session and one workspace directory.

Configuration

All runtime settings are DSH_OPENAI_* environment variables resolved by dsh_openai/config.py — including DSH_OPENAI_API_KEY (inbound bearer token), DSH_OPENAI_MODEL, DSH_OPENAI_MAX_SESSIONS, DSH_OPENAI_REDIS_URL, DSH_OPENAI_SYSTEM_PROMPT and DSH_OPENAI_PATCHES. Relative patch paths resolve against the installed package, so the shipped dsh_openai/patches/editor.patch.yml works from any cwd.

Development

pip install -e .[dev]
python -m pytest tests

License

Apache-2.0 — see the LICENSE file (mirrored from the repository root).

Metadata

Release files for dsh-openai 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dsh-openai 0.1.1
File Size Uploaded
dsh_openai-0.1.1.tar.gz 84.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dsh-openai 0.1.1
File Interpreter ABI Platform
dsh_openai-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 144.1 kB

Release files / dsh_openai-0.1.1.tar.gz

Download URL dsh_openai-0.1.1.tar.gz
Size 84.9 kB
Tags Source
SHA-256 checksum
How to use checksums
17890f75e85c381617e45c14541efad1fb4e89c5caf5b0544b7c53402d1e9665
BLAKE2b-256 checksum
How to use checksums
808daca48b38e8e9f9600dd809fe012ade3ff27430a0fa05c9fe136140dd7c4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / dsh_openai-0.1.1-py3-none-any.whl

Download URL dsh_openai-0.1.1-py3-none-any.whl
Size 59.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25dee491170f82c6ae8b3b12690aa94056cf96fc80ef97d2152665eb5ad5cac1
BLAKE2b-256 checksum
How to use checksums
1fb8f5e621bc91737ace0abd397d188dc401f0ae2d61b365734fc14b99a099d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page