让本地 DeepSeek Harness 智能体通过 BailingHub,直接操作商城、SaaS 或其他业务系统后台,在现有账号权限内查询数据、修改资料并执行已开放的操作。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-bailinghub
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:bailinghub/bailinghub-dsh-plugin
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
0.7.0: optional model services and plan billing
Keep orchestration local while Core relays model requests and meters shared allowance asynchronously. Discover chat models and image tools separately; preserve business authorization, approvals and audit. Pair Core 0.9.0 / SDK 0.7.0 / DSH 0.7.0.
简体中文 | English
Ask your local DeepSeek Harness Agent to work with a business system connected to BailingHub: find records, update allowed fields, and follow the system's existing approval rules. BailingHub records which authorization was used and what each business action returned.
Version 0.5.0 lets one conversation use authorizations from different systems on the same Hub. Authorize a shop and inventory system separately, select both for a new conversation and ask:
Check tumbler stock. If any are available, change the corresponding shop product's price to 59 and list it; otherwise leave it unlisted.
The Agent reads stock with the inventory authorization, then uses the shop authorization for the permitted price and listing actions. Those capabilities must already exist, and the product mapping must be confirmed. A stock read does not reserve or synchronize stock. Price changes, listing results and approvals are tracked separately.
The 0.4.0 same-system flow remains available: select Store A and Store B to compare sales without switching a global connection. New system descriptions explain each selected system's purpose before tool search, and business-supplied names identify the approved organization, account or other subject. See what changed and how to upgrade.
It also keeps the visible conversation together with links to its business actions. If uploading that record fails, it can retry after reconnecting or restarting without repeating those actions.
This is an independent community integration, not a plugin developed, certified, endorsed, or recommended by DeepSeek.
Install and start
You need Node.js 22.19.0+ or 24+, pnpm, and a compatible DeepSeek Harness release. Your
administrator must first connect the business system to BailingHub. The matched release set is
BailingHub Core 0.9.0 → BailingHub MCP/SDK 0.7.0 → this plugin 0.7.0.
npm install --global pnpm @deepseek-ai/dsh@0.1.1-rc.2
dsh plugin --profile web add dsh-bailinghub@0.7.0
The plugin installs its exact bailinghub-mcp-server@0.7.0 dependency automatically.
For an existing installation, read the migration steps from 0.4.0 and earlier.
Follow the getting started guide to enter your administrator's four public connection values and authorize in the browser. Do not put a business password, Client Token, signing secret, or model-provider key into this plugin's settings or chat.
Choose the accounts for each conversation
Authorize each account separately through its original business authorization page and verify the approved subject. A compatible business backend supplies its display name automatically, such as “Brand flagship store” or “Main warehouse”. A missing name is shown as “Authorization name pending sync”; the plugin does not guess it from a local alias.
Names are for display only. Duplicate names and renames do not merge or recreate credentials, change an original Session, or rewrite history. Keep the local connection selector and fixed key independent from both the current business name and the system description.
In a new conversation, before the first message, run:
/bailinghub connections list
/bailinghub scope set <shop-connection-key> <inventory-connection-key>
/bailinghub scope
Replace the placeholders with the fixed keys from the list, not connection names. You can select just one account, several accounts in one system, or several systems on the same Hub and audit domain. Each selected target must have its own original Agent Session. Wait for the command to confirm the selection, then send your request.
New conversations start as ordinary chat until you select their business scope. Logging in or
changing the default connection does not enable business tools. /bailinghub scope none explicitly
chooses ordinary chat. The first user message freezes the selection; start a new conversation to
change accounts or move from ordinary chat to business access.
Matching tools within one system are shared; same-named tools from different systems remain separate. The Agent chooses the authorization for each call; it does not receive credentials. Every action still uses that account's own permissions and approval rules. An approval-required action continues the original call after approval while that conversation is still running.
If any selected authorization is revoked, replaced, or cannot be checked, business access pauses for the whole conversation. The plugin never silently switches to another account. A temporary connection failure can be retried with the same original selection after the network returns. A confirmed revocation or identity change requires a new conversation with a valid selection.
Follow the conversation and its actions
With Core 0.7.0 and SDK 0.5.0, BailingHub can show the visible user and assistant messages, turn boundaries, and links to the original business runs as one conversation record. Each authorization also keeps its own business-call record; the combined reply is not copied into every account's memory.
/bailinghub archive status
/bailinghub archive sync
archive status shows whether the visible record has uploaded. archive sync retries the saved
record without running the business actions again. This is separate from /bailinghub sync,
which retries a pending run completion in the currently running conversation.
| Status | What it means |
|---|---|
synced |
Saved events have been acknowledged by the Hub; this does not prove a business action succeeded |
pending |
Upload is unfinished; retry when the connection is available |
blocked |
Original authorization checks prevent upload; inspect /bailinghub scope |
unsupported |
The connected SDK or Hub does not support this archive contract |
storage_error |
A local write failed; some visible events may not yet be safely saved |
recovery_gap |
Available DSH history shows missing archive events; the record is incomplete |
Reopening a saved business conversation restores its original selected accounts only after every
original authorization is checked. If it was reopened offline, reconnect and run
/bailinghub archive sync or /bailinghub scope in that same conversation to retry the check.
This recovers scope and saved uploads, not pending business invocations or approvals after a
process restart. A saved draft that never started needs explicit selection again. An older
started conversation without a valid saved scope cannot adopt today's default account.
What is shared and stored
All selected accounts' context and your visible user request share the same local Agent/model conversation. The combined archive requires the full selected authorization set; an authorization for only one member is not sufficient to read the mixed conversation. Use separate conversations when those accounts' data must remain separate.
The plugin captures visible text from business turns enabled with this version, not all past conversations, attachments, or hidden reasoning. It cannot remove arbitrary secrets pasted into visible text. Missing local writes are reported as gaps when detectable; hosts without durable history report unverified coverage.
The private local outbox contains plaintext visible task text, including events already uploaded. It stays under the DSH home until the host/operator removes it; there is no automatic retention cleanup. Removing it does not delete the Hub's record. Credentials remain in SDK-owned secure storage. Review Privacy and Security before enabling business access.
Commands and administration
| Command | Purpose |
|---|---|
/bailinghub doctor |
Check setup, SDK, authorization, and workspace without printing credentials |
/bailinghub login |
Authorize the selected connection in the browser |
/bailinghub status |
Inspect that connection's authorization |
/bailinghub connections list |
List connection labels, fixed keys, and authorization state |
/bailinghub connections add <name> <hub-url> <client-app-id> <workspace> |
Register a connection and select it for connection management; quote names containing spaces |
/bailinghub connections use <name-or-key> |
Choose which connection to manage or authorize; does not change a conversation's scope |
/bailinghub connections remove <name-or-key> |
Revoke its Agent Session before removing local credentials |
/bailinghub workspaces |
List workspaces allowed by the current authorization |
/bailinghub use <workspace> |
Select another already-authorized workspace for connection management |
/bailinghub logout |
Revoke and remove the selected Agent Session |
Connection management and scope selection are user commands, not model tools. Reauthorizing the same trusted identity replaces its old connection and Agent Session. A different identity remains independent. If login reports cleanup required, the new connection is already authorized: inspect the listed old entry and retry its removal, rather than authorizing again. Details are in the host contract.
For integrators
DSH owns reasoning and tool orchestration. BailingHub Core owns trusted identity, governance, approvals, invocation state, and audit. The SDK owns browser authorization, secure credentials, and HTTP mapping. This plugin only adapts DSH sessions, prompts, commands, tools, and visible events; it does not call your business API directly or govern unrelated DSH tools.
Existing business integrations continue exposing the same capabilities and authorizing each identity separately. Custom DSH hosts must implement the scope selection and restore APIs and display confirmation before the first message. The native slash commands already use those APIs. Tool envelopes, persistence, event schemas, and recovery limits are documented in the Agent Client contract. For the Local Agent attachment space (image-first), see host artifact integration. Register approved conversation outputs, upload them once, and use ready URLs with existing business tools.
Use Native Tool Mode. DSH Code Mode is deliberately degraded because it cannot safely present the current-turn dynamic schemas. See the compatibility matrix.
Legacy 0.1.1 and feedback
Public dsh-bailinghub@0.1.1 remains the separate static MCP compatibility path. It starts
bailinghub-mcp-server@0.1.1, uses one operator-provided route-scoped Client Token, and leaves
orchestration in BailingHub. The native plugin does not read or convert that credential. Keep the exact
legacy version when using that path and follow the migration guide.
Report issues at GitHub Issues with versions and redacted errors. Do not include tokens, private URLs, personal data, or production payloads. Compatibility tests and package downloads are not evidence of production adoption.
Recover an original action after reopening
Version 0.6.0 adds a local invocation journal for actions such as a product listing awaiting approval or an inventory update whose response was lost. Reopen the same conversation and explicitly recover the original call without creating a second business request. Custom hosts must retain the new store alongside their existing Session scope. See the recovery contract, limits and host integration.
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 33277
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 4991
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1136
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 511
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 503
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 458
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。