@busabase/dsh-plugin
v0.1.10
Published
Busabase MCP, cards, and live inspector for DeepSeek Harness
Readme
English | 中文
给 DeepSeek Harness 插上知识库和数据库
@busabase/dsh-plugin 把 DeepSeek Harness 接入 Busabase,让 Agent 能读取可信知识、处理结构化数据,并把每一次写入提案交给人审阅。
它让 Agent 获得超越单次对话的长期上下文,但不会让 Agent 静默改写你的事实来源。
实际效果
观看 DeepSeek Harness 使用插件创建 CRM AirApp、提交变更供审阅,并在 Busabase 中打开结果。
快速开始
环境要求
- 与本包 peer dependencies 兼容的当前 DeepSeek Harness 版本;
- Node.js
>=24.18.0; PATH中可用 pnpm。
安装前不需要启动本地 Busabase。本地模式会按需启动 busabase@latest,或复用健康的 Busabase Personal Desktop 或本地服务;Cloud 模式会通过浏览器 OAuth 连接托管服务。
1. 安装插件
npx @deepseek-ai/dsh plugin --profile web add @busabase/dsh-plugin安装包会自动激活 Host 和 Web 两端。经过审阅的 Skills 已经包含在 npm 包中,因此安装不需要授权生命周期脚本。安装验证、更新、删除和旧版本说明见 安装与管理 npm Bundle。
2. 选择本地或 Cloud
- 本地是零配置默认模式,适合本机数据、免账号使用或 Busabase Personal Desktop。
- Cloud适合已有 Busabase 账号、团队工作区和多设备访问。把以下列表项加入
$DSH_HOME/profiles/web/cordis.patch.yml;默认路径是~/.dsh/profiles/web/cordis.patch.yml:
- id: busabase
config:
baseUrl: https://busabase.com
serverName: busabase如果文件中已有其他 row,请追加此项。不要把凭据写进文件;浏览器登录后,DeepSeek Harness 会把 OAuth 授权保存在凭据存储中。更新、验证、切换模式和故障处理见完整的本地与 Cloud 设置指南。
3. 启动 DeepSeek Harness
npx @deepseek-ai/dsh --profile web如果已经全局安装 dsh,可以用 dsh 替换 npx @deepseek-ai/dsh。打开 http://127.0.0.1:3080/。本地模式会等到实际需要时再启动 Busabase;Cloud 模式首次启动会打开浏览器 OAuth,之后复用已保存的授权。
4. 试一个任务
创建一个客户跟进 Base,包含公司、联系人、阶段、预计金额、负责人、
下一步动作和跟进日期。把结构提交给我审阅。本地模式下,如果还看不到完整 MCP 工具,请先调用 busabase_start;Cloud 模式先完成浏览器授权。Agent 会先检查现有工作区,再通过 ChangeRequest 提出 Base 结构。你查看差异并决定是否批准和合并;Cloud 提案请通过返回的 Busabase 正式链接审核。
为什么使用它
聊天上下文适合完成当前任务,却不适合作为长期数据系统。重要结论难以稳定复用,业务对象缺少结构,而 Agent 的一次误判也可能在被发现前污染文档或数据库。
这个插件为 DeepSeek Harness 增加四种能力:
- 可信知识: 搜索已批准的 Docs、Files、Bases、Records、评论和关联对象;
- 结构化工作: 把自然语言需求变成 Bases、Forms、AirApps 和记录的修改提案;
- 可用的结果: 把 Busabase 实体显示成会话卡片和实时 Inspector,而不是大段 JSON;
- 人的控制权: 把 Agent 写权限限制在
changeRequest,并默认要求用户重新确认每个审阅动作。
DeepSeek Harness 负责理解任务与调用工具
↓
@busabase/dsh-plugin 负责把 Agent 接入 Busabase
↓
Busabase 负责保存已批准的知识和结构化数据常见用法
- 团队知识: 从已批准的产品文档、会议决策、研究资料和 FAQ 中检索答案,并返回可定位的来源。
- 研究整理: 从访谈中提取证据、主题和优先级,先审阅提案记录,再决定是否合并。
- 业务数据库: 用自然语言描述 CRM、项目跟踪、库存、招聘流程或运营台账。
- 内容运营: 准备可审阅的文章、社交媒体内容、Newsletter、SEO 页面和本地化记录。
- 数据清洗: 批量提出去重、标签、补全、分类、匹配或翻译建议。
- 工作区应用: 围绕 Busabase 正式数据创建 Form 和 AirApp,并在 Inspector 中预览。
例如:
查一下知识库中最新的企业版数据保留策略,给我来源文档,
并为存在冲突的 FAQ 记录提出修订。Agent 可以读取已批准的策略并准备修订,但不能批准自己的修改。
只提议、不合并的设计
有直接写权限的 Agent
Agent ──直接写入──► 正式数据
错误已经生效
本插件(权限封顶在 changeRequest)
Agent ──提出修改──► ChangeRequest ──人类审阅──► 正式数据
错误仍只是提案这件事 Busabase 是按凭据逐个决定的:调用方有写权限就当场合并,没有才等人审阅。本插件是刻意把模型压到较低的那一档。
MCP 连接权限固定在 changeRequest。Busabase 会拒绝 Agent 发起的批准、拒绝、关闭和合并操作,也不会让 autoMerge: true 绕过审阅。Inspector 中的审阅动作默认要求用户重新明确确认,工作区里存储的内容也只会被视为数据,而不是新的指令。高级配置可以关闭确认提示,但这不会提高服务端强制执行的 Agent 权限。
配置
默认配置会连接 http://localhost:15419,按需启动或复用 loopback 服务,启用 Inspector 实时刷新,并要求用户确认审阅动作。
如需使用其他地址、调整插件加载顺序,或修改服务与刷新行为,请查看 完整配置参考。
连接 Busabase Cloud
按 id 覆盖 Bundle row,并把 baseUrl 设置为 https:// 的 Busabase Cloud 地址(根域名部署可配合 spaceId,或直接使用工作区子域名),即可连接到云端而不是本地服务:
- id: busabase
config:
baseUrl: https://busabase.com
serverName: busabase插件不会管理或启动远程服务器。首次加载远程插件时会打开系统浏览器完成标准 OAuth 登录;DeepSeek Harness 通过其凭据存储保存生成的令牌,而不是写入本插件的配置。MCP 连接仍会固定发送 changeRequest 权限上限。当前版本中,Inspector 的审阅、合并、实时刷新以及 Base/AirApp 内嵌预览仍仅支持本地模式:请使用 Inspector 展示的 Busabase Cloud 正式链接,在云端查看、审阅与合并。
当前边界
- 默认面向单个本地 Busabase 工作区;
- 非 loopback
baseUrl在auto模式下会被视为外部服务,插件不会尝试启动它; - 连接非 loopback 的
https://baseUrl时使用基于浏览器的 OAuth,而不是本地中继,且 Inspector 的审阅、合并和实时刷新仍仅支持本地模式; busabase_start启动服务并重新连接后,完整 MCP 工具才会可用(仅本地模式);- Agent 可以提出修改,但不能执行最终审阅和合并;
- Base 与 AirApp 预览需要正确的同源和 embed origin 配置;
- 关闭 iframe 后,实体元数据和“Open in Busabase”入口仍然可用。
文档
- 开发者指南:源码设置、架构、配置、安全内部实现、构建、打包和 E2E 测试;
- Busabase 官网;
- Busabase 开源仓库;
- Busabase Skills 与 MCP 接入;
- DeepSeek Harness。
