dsh-llm-aimux
by arcships
由 aimux 驱动的 DeepSeek Harness(dsh)LLM 适配器:使用一个 Rust 引擎,将 325+ 个提供方作为 DSH 模型路由。
DeepSeek Harness (dsh) LLM adapter backed by aimux — one Rust engine, 325+ providers as dsh model routes
安装
dsh plugin --profile web add github:arcships/dsh-llm-aimuxGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
DeepSeek Harness (dsh) LLM adapter backed by aimux — one Rust engine exposing 325+ AI providers as dsh model routes.
中文简介:本插件把 aimux(Rust 统一 LLM 访问层,325+ 提供商)接入 DeepSeek Harness——每个 aimux provider 都可以配置成一条 dsh 模型路由。
Install
dsh plugin --profile web add @arcships/dsh-llm-aimux
Then store a credential (or export the environment variable) and pick the model:
dsh --profile web
# Models page → provider "deepseek" → paste your DEEPSEEK_API_KEY
Headless without the credentials store works too — aimux reads the provider's
conventional env var (DEEPSEEK_API_KEY, GROQ_API_KEY, …) directly.
Configuration
Routes are keyed by dsh provider id; each maps to one aimux provider. The
composition entry below is only the base layer — users add or edit routes
through their settings (web Models page → provider card, or the llm-aimux:
section in settings.yaml) and changes apply without a restart:
- insert:
- id: llm-aimux
name: '@arcships/dsh-llm-aimux'
config:
providers:
deepseek: # dsh route id
provider: deepseek # aimux provider name (default: the route id)
apiKeyEnv: DEEPSEEK_API_KEY # credential ref (default: <PROVIDER>_API_KEY)
kimi:
provider: moonshot # credential ref derives as MOONSHOT_API_KEY
groq:
displayName: Groq
The same shape works in the user settings layer:
llm-aimux:
streamIdleTimeoutMs: 300000 # chunk-idle watchdog relayed to aimux
providers:
groq: {}
relay: # endpoint override through a gateway/relay
provider: deepseek
baseUrl: https://relay.example/v1
headers:
X-Org: acme
provider— an aimux provider name. aimux ships 325+ (251 of them OpenAI-compatible registry entries); see the aimux provider docs.- Every route appears as a configurable provider on the Models page
(
ctx.llm.registerConfigurableProviders, addressed atllm-aimux.providers.<route>); added or removed routes swap atomically. - Credentials resolve through the harness
ctx.credentialsseam when mounted; otherwise aimux falls back to the provider's own env var. Resolution is per-request, so a rotated key reaches the next call.
Status & scope
This is a young experiment tracking a developer-preview harness — expect breaking changes on both sides (dsh rc bumps, aimux pre-1.0).
Currently supported:
- Streaming chat with tool calls (raw JSON tool arguments, per the adapter contract)
- Reasoning blocks in and out
- Disjoint token usage accounting (cache read/write split out)
- Attribution headers on every outbound provider request
- Settings integration:
llm-aimuxuser-settings section, per-route Models page cards, and hot route swaps (registration.replace) on section changes - Model metadata merging (aimux RFC-0027 host role): runtime
/modelsdiscovery + the community catalogue (getModelSpecs), feeding Models-page cards,resolveModelcontext windows / output caps / reasoning efforts, and endpoint interrogation for stored routes - Per-route endpoint overrides (
baseUrl,headers) for relays and gateways - Streaming chunk-idle watchdog (
streamIdleTimeoutMs, default 300 s)
Retry policy: aimux always sends exactly one attempt (max_retries: 0) — the
dsh agent layer owns the retry budget, matching llm-pi-ai's treatment.
Not yet supported:
- Image input (dsh attachment references are not resolved to bytes yet) — fails
closed with
UNSUPPORTED - Subscription/OAuth channels (aimux RFC-0018 keeps those integrator-side)
- Endpoint interrogation for draft (not-yet-stored) routes — arbitrary baseURL drafts cannot go through the aimux registry and answer with nothing
Route conflicts: routes owned here cannot overlap with the built-in
llm-pi-ai routes (dsh rejects duplicate adapters). If you configure both,
give the aimux entry a distinct route id.
Development
npm install
npm run typecheck
npm test
The adapter is a thin shell over src/translate.ts (pure, synchronous,
fully unit-tested without the native binding). @arcships/aimux ships
prebuilt platform binaries via npm optional dependencies — no build scripts,
so dsh plugin add works without pnpm allowBuilds flags.
License
原始 README: https://github.com/arcships/dsh-llm-aimux/blob/main/README.md ↗
同类插件
查看全部 →
agent-vision-toolkit
为纯文本模型"看图“设计更好的视觉工具箱和技能,支持多图理解,图片问答,前端UI还原、GUI 自动化等,并可选无缝接入多个主流agent,直接识别粘贴图片| A vision toolkit and skill designed for text-only llms — image Q&A, long-screenshot OCR, frontend UI restoration, and GUI automation, with optional seamless integration for Codex, Claude Code, Pi, Oh My Pi, and OpenCode

api-relay-audit
从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。

OpenStory
✨ OpenStory 现已支持 DeepSeek Harness 插件! 现在可以通过 dsh-openstory 将 OpenStory 多智能体推演接入 DeepSeek Harness,让 agent 直接启动模拟、查看角色、下达指令并逐回合推进故事。查看 DSH 插件配置与使用指南。

phi
pi的编码代理 ∞ 提供者、子代理、hashline编辑和权限门

anysearch-dsh
DeepSeek Harness(DSH)的 AnySearch 网络搜索提供方与高级搜索工具。

codex-switch
Codex Switch 是一个 macOS 工具,一键配置 Codex 的自定义 API,同时保留官方 OpenAI 登录。保存后 Codex 的模型选择器里只会出现你选的那个 provider 的模型。也支持 Claude Code 的官方 / 自定义 API 切换。Codex Switch is a lightweight helper for configuring multiple coding-agent API routes. For Codex, it keeps Official OpenAI and a custom API provider configured in parallel, registers the custom model in Codex's mod