前言¶
在 DSH 里做智能体或日常对话,模型调用往往走各自配置的提供方;若团队已经部署星桥(StarBridge)这类 AI 中台,还需要在 DSH 侧单独接网关地址、凭据,并区分「工具调用」和「整轮对话是否经中台」。下面介绍社区插件 dsh-starbridge-client(维护者 LiHeng99):在一个 profile 里安装后,提供统一网关接入、设置页填地址或平台账号登录、对话 / 反馈 / 知识库相关工具,以及 Web UI 面板;可选打开「模型路由」,让 DSH 的每一次 AI 调用都经星桥 OpenAI 兼容面。插件公开发布,出厂不含任何一家的网关地址或凭据。
这是什么¶
dsh-starbridge-client 是星桥 AI 中台的 DSH 客户端类组合包(bundle):同时提供 host 面(lib/index.js:服务、HTTP 路由、认证、工具实现)和 client 面(lib/client.js:对话面板、设置页、反馈条)。分工是 host 负责网络、认证、重试与流式解析,client 只做展示;浏览器不持有 access token,也不直接访问网关。
- 目录页:https://www.skillhub.cn/plugins/LiHeng99/dsh-starbridge-client
- 源码与说明:https://github.com/LiHeng99/dsh-starbridge-client
- 许可证:MIT(见仓库
package.json) - 当前资料中的版本:0.1.0
核心功能¶
接入与凭据¶
唯一推荐入口是 Web UI 「设置 → 星桥 StarBridge」,无需手改配置文件即可完成:
- 填服务地址:支持服务根、
/starbridge、/starbridge/gw、/starbridge/gw/v1等粘贴形式,页面会规范化并展示机器面与模型面地址。 - 二选一登录:
- 访问密钥:中台签发的 Access Key,写入 DSH 凭据库(引用名STARBRIDGE_GATEWAY_API_KEY),重启后从同一引用读取。
- 平台账号:控制台账号密码登录,换取平台 JWT;勾选「在本机记住」时凭据 AES-256-GCM 加密落盘($DSH_HOME/starbridge-gateway-session.enc等),到期前自动续期。 - 模型路由开关:打开后把
llm-pi-ai的starbridge路由baseURL指向<地址>/gw/v1,凭据写入该路由的apiKeyEnv,默认模型切到starbridge / general;关闭则退回 DSH 当前默认提供方。
未配置网关时,starbridge_* 工具会返回 [GATEWAY_NOT_CONFIGURED] 并提示去设置页填写,而不是只在日志里失败。
非机密接入信息落在 $DSH_HOME/starbridge-gateway.json;密钥优先可通过环境变量注入(见下文「配置」)。
四个 host 工具¶
| 工具 | 用途 |
|---|---|
starbridge_chat |
发送对话(内部流式),可带 scenario / use_knowledge_base |
starbridge_feedback |
点赞 / 点踩 / 修正(含期望答案);本地必写,云端转发可配置 |
starbridge_kb_query |
查询知识库(网关支持时),返回带引用的片段 |
starbridge_gateway |
查看状态、保存地址与身份、保存密钥、平台登录、开关模型路由、清除本机凭据 |
需要模型能绕开的失败(未登录、网关不可达等)以 { ok: false, error } 返回,错误文本带 [CODE] 与 Hint,便于模型转述给用户。
Web UI¶
client 面注册对话面板(流式 + Markdown + 代码高亮)、设置分节与反馈条;样式使用 DSH 设计令牌(--dsw-alias-* 等),跟随明暗主题,不单独配色。
模型面(可选)¶
除工具面外,组合层通过 cordis.patch.yml 为 @deepseek-ai/dsh-llm-pi-ai 声明 starbridge 手工网关路由(OpenAI Completions API,不写死 baseURL)。用户在设置页打开模型路由后,对话、子代理、摘要、标题生成等每一次模型调用都可经中台;model 字段表示场景(如 general),具体上游由中台路由规则决定。
安装与启用¶
在目标 profile(资料示例为 web)安装:
# 插件市场「设置 → 插件市场」一键安装,或:
dsh plugin --profile web add dsh-starbridge-client
# 本地开发从目录安装(profile 内建立 pnpm 链接):
dsh plugin --profile web add ./dsh-starbridge-client
# 查看组合是否包含该 bundle(无需启动服务):
dsh --profile web --dump-config | grep -A 20 starbridge
# 重启 profile
dsh web
dsh plugin add 会把包加入 profile 依赖,并将声明了 dsh.bundle 的包追加到 dsh.profile.bundles,其 cordis.patch.yml 成为组合层的一层。
装完后尚未连接任何网关:在 设置 → 星桥 StarBridge 填一次地址并完成凭据或登录后,工具与(若开启)模型路由才可用。
运行环境要求(仓库 package.json):Node ^22.19.0 || >=24.0.0;peer 依赖含 @deepseek-ai/cordis、@deepseek-ai/dsh-tools、@deepseek-ai/schemastery 等,由 DSH profile 组合提供。
配置要点¶
部署参数在 Config Schema 中,均有默认值。除设置页外,还可:
- 在 profile 的
$DSH_HOME/profiles/<profile>/cordis.patch.yml覆盖单行配置; - 用环境变量注入(推荐用于密钥):
STARBRIDGE_GATEWAY_URL、STARBRIDGE_GATEWAY_API_KEY、STARBRIDGE_OIDC_ISSUER_URL、STARBRIDGE_OIDC_CLIENT_ID、STARBRIDGE_OIDC_CLIENT_SECRET、STARBRIDGE_USER_ID、STARBRIDGE_DEPARTMENT等。
常用字段摘要:
| 字段 | 默认值 | 说明 |
|---|---|---|
gateway.gatewayUrl |
'' |
网关基址;出厂为空是刻意设计 |
gateway.apiKey |
'' |
机器凭据;可被环境变量与设置页覆盖 |
gateway.timeoutMs |
30000 |
单次请求超时 |
gateway.maxRetries |
2 |
传输错误与 5xx 重试 |
behavior.useKnowledgeBase |
false |
是否默认请求知识库增强 |
behavior.forwardFeedback |
true |
false 则反馈仅留本机 |
若启用 OIDC SSO,网关侧需注册 Public client + Authorization Code + PKCE,回调为 http(s)://<dsh-host>/starbridge/api/login/complete(可用 STARBRIDGE_REDIRECT_URI 指定)。
典型用法¶
智能体通过工具访问中台¶
模型在对话中可调用 starbridge_chat 向星桥发消息,或用 starbridge_kb_query 查知识库;接入状态与保存配置可用 starbridge_gateway 的 status / save / use_access_key / login / route_models 等 action(具体参数见仓库 README「工具」一节)。
整 profile 模型走星桥¶
在设置页完成地址与凭据后,打开「模型路由」。之后 DSH 默认模型指向 starbridge / general,无需为每次对话再手动指定网关。
从源码构建(维护者 / 二次开发)¶
npm install
npm run build # build:host + build:client
npm run verify # 离线冒烟(资料称 228 项检查)
安装到 profile 前,host 的 tsc 与 client 的 tsdown 均需产出 lib/index.js、lib/client.js。
适用场景与注意¶
适合谁:已在组织内部署星桥网关、希望在 DSH Web profile 里用统一设置页接入,并可选让全部 LLM 调用经中台审计与路由的团队或个人开发者。
权限与安全:插件与当前 dsh 进程同一权限运行,会读写 $DSH_HOME 下网关配置与加密会话文件,并向用户配置的网关发起请求。安装前应阅读 GitHub 仓库 源码与 MIT 许可证,确认网关地址与凭据来源可信;生产环境优先用环境变量注入密钥,避免明文落盘。
生态说明:DSH 采用「一切皆插件」的扩展方式;SkillHub 目录页 是社区插件索引,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-starbridge-client 把星桥的网关接入、登录、工具与 Web 面板收进一个 bundle,并可选接管模型路由,适合要把 DSH 接到自有 StarBridge 中台的场景。进一步细节以仓库 README 为准: