Files
modelstudioai__cli/README.md
T
zeyu.fz dbf83c3e16 refactor(tool-bailian-kb): 合并 bundle 功能到插件包并简化结构
- 移除独立的 bundle 包及其配置文件和说明文档
- 将原 bundle 的 patch 配置迁移到插件包内的 cordis.patch.yml
- 在插件包 package.json 中声明 dsh.bundle.patch 指向新 patch 文件
- 更新 README,说明插件包即是 bundle,简化安装和本地联调流程
- 调整文档中插件名及卸载命令,统一使用 dsh-tool-bailian-kb
- 修正仓库结构描述,将包称为目录,更准确反映当前结构
- 改进配置解析链和 Web UI 配置页的说明,突出用户层设置及覆盖机制
2026-08-17 15:21:41 +08:00

2.4 KiB
Raw Blame History

bailian-kb-dsh

阿里云百炼知识库能力的 DeepSeek Harness (dsh) 插件 bundle:三个 API 直连模型工具(kb_service_list / kb_search / kb_chat)+ kscli 管理面 skill。

设计文档:docs/specs/2026-08-15-bailian-kb-bundle-design.md · 实现计划:docs/plans/2026-08-15-bailian-kb-bundle.md

仓库结构

目录 职责
packages/tool-bailian-kb 插件包(同时是 dsh bundle):Config、KbClient、工具、skill、cordis.patch.yml、浏览器端配置页

安装(dsh 用户)

dsh plugin --profile web add dsh-tool-bailian-kb   # npm 发布后;本地开发用绝对/相对路径

安装后 CLI 自动把 bundle 加入 profile 的层栈,无需手改 YAML。

配置写入 ~/.dsh/.env:

BAILIAN_WORKSPACE_ID=ws-xxx        # 必填:百炼工作空间 id
DASHSCOPE_API_KEY=sk-xxx           # 必填:也可放 ~/.dsh/.credentials.yaml

验证:dsh --profile web --dump-config 应能看到 tool-bailian-kb row。缺 BAILIAN_WORKSPACE_ID 时加载期直接报错(fail loud),不会静默跳过。

卸载:dsh plugin --profile web remove dsh-tool-bailian-kb。

开发

依赖 dsh 的运行时包(@deepseek-ai/dsh-tools 等)以 peerDependencies 声明、由 dsh 安装闭包在运行时提供;开发期通过 link: 指向同级的 ../deepseek-harness checkout(npm registry 尚未发布完整 dsh 闭包)。

pnpm install
pnpm run test        # vitest 单元测试
pnpm run typecheck
pnpm run build       # tsc 产出 lib/

本地联调:只需 add 一次(包同时声明 dsh.bundle 和插件代码):

dsh plugin --profile dev add <本仓库>/packages/tool-bailian-kb

patch 文件受 HMR 监听。

Known Limitations

  • 无 keyless snapshot / e2e 基建:首版以单元测试 + 手动集成验收覆盖;snapshot/e2e 依赖 dsh snapshot harness 对 out-of-tree bundle 的支持情况,v0.2 跟进。
  • kb_chat 执行期无进展显示:服务端是分钟级 agentic loop,UI 只有 pending → 完成两态;进展会话事件 + Web 渲染器的设计见 spec 附录 A,等真实使用反馈再排期。
  • 服务清单单 scene 上限 100 条:超出部分靠 name_filter 收窄(结果带 truncated 提示)。