工作区能力包
面向产品、运营与管理员,说明工作区「助手能力包」是什么、如何映射到助手工具;实现名见 实现对照。
来源 docs/core-mechanisms/工作区能力包.md
文档版本:1.1 状态:与当前后端实现一致(capability、workspace_capabilities API、对话工具门控) 表述:面向产品、运营与管理员,说明工作区「助手能力包」是什么、如何映射到助手工具;实现名见 实现对照。
关联:
- 产品规格.md §3.5(运行时工具)、§3.6(MCP 与扩展)、§4.2.4(平台插件)
- 技能组成规范.md(技能
permissions.tools与能力包关系) - 机制索引.md
- 用户侧说明:help/product-features/data-integration.md(数据连接与预定义查询)
1. 结论先说
助手能力包是工作区管理员为成员开通的、助手在 消息 里可调用的 工具类能力 开关。它 不等于 一个工具函数:同一能力包可对应多个工具,或只扩展已有工具的行为。
Cadau 采用三层模型:
| 层 | 用户说法 | 职责 |
|---|---|---|
| 能力包 | 助手能力包 | 开通、有效期、审计与计费粒度 |
| 工具 | (用户不可见) | 暴露给模型的 function call 原语 |
| 实现 | (用户不可见) | 内置模块 / MCP 插件 / 业务适配器 |
硬性约定:
- 新能力优先 挂到现有工具;只有治理边界独立时才新增工具。
- 管线能力(识图、知识文档注入、技能召回、记忆检索)默认 不进能力包,除非需单独开通或合规门控。
2. 现有能力包
2.1 basic_documents — 基础文档工具
| 维度 | 约定 |
|---|---|
| 用户价值 | 成员可让助手读取/整理 Markdown、纯文本等,并导出可下载文件 |
| 默认 | 新工作区 默认开通 |
| 映射工具 | file_read + file_write |
| 映射实现 | 内置 agentfile + attachmenttext(文本类) |
| 写入格式 | .md .txt .csv .json;单文件 ≤ 512 KiB |
| 未开通/已到期 | 工具不出现在 schema;助手应说明限制 |
2.2 office_documents — 办公文档工具
| 维度 | 约定 |
|---|---|
| 用户价值 | 助手可读取 PDF、Word、Excel、PPT 等附件,并创建或修改 .docx/.xlsx/.pptx |
| 默认 | 默认关闭 |
| 映射工具 | 无新工具名(扩展 file_read);office_document(读写 Office) |
| 映射实现 | 读取:attachmenttext + OfficeCLI view(Excel 按行分页,避免整表 JSON 拦腰截断);写入/修改:OfficeCLI(create/merge/set/add 等) |
| 前置依赖 | basic_documents 须同期有效 |
| 平台开关 | AGENT_OFFICECLI_TOOL_ENABLED;服务端须安装 OfficeCLI(MINDLINK_OFFICECLI 或 PATH) |
| 未开通时 | file_read 对办公扩展名返回明确错误;office_document 不出现在 schema |
关闭 基础文档工具 时,办公文档读取 自动级联关闭。
2.3 http_integration — 联网请求
| 维度 | 约定 |
|---|---|
| 用户价值 | 助手可按技能说明调用业务接口 |
| 默认 | 默认关闭 |
| 映射工具 | http_request |
| 映射实现 | 内置 agenthttp(站点策略、SSRF 防护) |
| 双重门控 | 工作区能力包 且 服务端 AGENT_HTTP_TOOL_ENABLED |
| 站点策略 | 工作区白名单 / 平台备案名单 / 公网开放(须平台允许) |
| 成员覆盖 | 管理员可为成员单独配置联网范围(继承或收紧) |
| 协作 | 工作区技能、permissions.tools: [http_request] |
不为每个业务 API 单独拆工具;业务路径与鉴权由 技能操作正文 描述。
2.4 code_execution — 脚本执行
| 维度 | 约定 |
|---|---|
| 用户价值 | 助手可执行技能 scripts/ 下 Python,生成或修改 Excel/Word/PPT |
| 默认 | 默认关闭 |
| 映射工具 | run_script |
| 映射实现 | 内置 agentscript(沙箱、超时、产出注册为 upload) |
| 前置依赖 | basic_documents 须同期有效;修改已有 Office 附件建议同时开通 office_documents |
| 成员策略 | workspace_members.script_policy_json:继承 / 禁止 / 单独授权(技能 slug、临时脚本等) |
| 平台开关 | AGENT_SCRIPT_TOOL_ENABLED / agent_script_tool.enabled |
| 协作 | 工作区技能、permissions.tools: [run_script] 或正文 ## 脚本执行 |
2.5 data_integration — 数据连接(数据集成)
| 维度 | 约定 |
|---|---|
| 用户价值 | 成员在对话中查工作区已授权的 MySQL 等业务库;管理员配置连接、预定义查询与受控变更 |
| 默认 | 默认关闭 |
| 映射工具 | data_source_invoke(只读 + 受控变更共用一个工具名) |
| 映射实现 | 内置 datasource + store(连接加密、数据资源、成员授权、变更审批) |
| 只读动作 | ping、schema.tables、schema.columns、table.preview、query.list、query.run |
| 变更动作 | mutation.list、mutation.submit、mutation.approve / mutation.reject |
| SQL 约束 | 禁止临时拼 SQL;只读走预定义查询或表预览;写入走变更定义 |
| 表预览行数 | 默认 200 行、单次硬上限 500(mindlink.json → data_source_tool.default_preview_max_rows / absolute_preview_max_rows) |
| 成员策略 | 数据资源 + 谁可以使用:按成员勾选可读表/查询及增删改权限 |
| 双重门控 | 工作区能力包 且 服务端 AGENT_DATA_SOURCE_TOOL_ENABLED / data_source_tool.enabled |
| 主机白名单 | 平台 data_source_tool.allow_hosts(空表示开发环境不限制) |
| 协作 | 工作区技能、permissions.tools: [data_source_invoke];保存连接后可 生成技能 同步查询说明 |
| 二进制/照片 | 查询结果中的图片 BLOB 落盘为附件,返回 upload_id / download_url;对话中用 mindlink://upload/{id} 展示,可嵌入 Office |
| 未开通/已到期 | 工具不出现在 schema;助手应说明限制 |
管理端子功能(用户侧入口 数据连接 整页,与知识文档目录同壳):数据连接、数据资源、谁可以使用、变更定义、变更审批。
2.6 data_visualization — 数据图表
| 维度 | 约定 |
|---|---|
| 用户价值 | 助手在对话中生成柱状/折线/饼图等 PNG 统计图,可下载或嵌入 Office |
| 默认 | 默认关闭 |
| 映射工具 | chart |
| 映射实现 | 内置 agentchart(matplotlib 渲染 → 注册为 upload) |
| 前置依赖 | basic_documents 须同期有效(DataVisualizationActive) |
| 平台开关 | 无单独平台段;依赖工作区开通与 Python/matplotlib 运行环境(Docker 镜像已内置 Python 3) |
| 协作 | 工作区技能、permissions.tools: [chart];嵌入 PPT/Word 时配合 office_document + image_upload_id |
| 数与图 | 工作区同时开通 数据集成 时:业务报表数字须来自 data_source_invoke;用户附图默认只作版式/引线参考,禁止抄图上数字(用户明确要求「按截图数字化」除外) |
| 未开通时 | chart 不出现在 schema |
关闭 基础文档工具 时,数据图表 自动级联关闭。
3. 能力包关系
flowchart LR
subgraph packs [工作区能力包]
B[basic_documents]
O[office_documents]
H[http_integration]
CE[code_execution]
DI[data_integration]
DV[data_visualization]
end
subgraph tools [模型工具]
FR[file_read]
FW[file_write]
OD[office_document]
HTTP[http_request]
RS[run_script]
DS[data_source_invoke]
CH[chart]
end
B --> FR
B --> FW
O --> FR
O --> OD
H --> HTTP
CE --> RS
B --> CE
DI --> DS
B --> DV
DV --> CH| 能力包 | 前置依赖 |
|---|---|
basic_documents | 无 |
office_documents | basic_documents(同期有效) |
http_integration | 无(与技能/站点配置强相关) |
code_execution | basic_documents(同期有效) |
data_integration | 无(与数据连接/数据资源配置强相关) |
data_visualization | basic_documents(同期有效) |
4. 不进能力包的基础能力
用户智能体在 消息 中默认具备(帮助智能体 模式除外):
| 能力 | 类型 | 说明 |
|---|---|---|
| 结构化记忆 | 工具 | memory_search / memory_get |
| 备忘 | 工具 | memo_save / memo_search 等;不自动注入,仅用户明确要查/存时调用 |
| 多模态识图 | 管线 | 消息 image_url 注入,非 function call |
| 知识文档目录 | 管线 | 按智能体/工作区配置检索注入 |
| 工作区技能召回 | 管线 | 匹配后注入操作材料 |
| 会话沉淀技能 | 管线 + API | 用户话术触发,产物在技能中心 |
能力包主要覆盖 可能出站或需单独合规审批 的行为。
5. MCP 与插件接入规则
| 场景 | 建议 |
|---|---|
| 替代 HTTP 后端 | MCP 适配为同一 http_request schema;工作区仍用 http_integration |
| 替代 Office 解析 | 挂在 file_read 实现链;工作区仍用 office_documents |
| 新业务 API | 优先 技能 + http_request,不新工具 |
| 必须新工具时 | 同步新增能力包、审计与 permissions.tools 声明 |
| 平台插件模块(§4.2.4) | 通常为 应用桌面 iframe 业务应用(见 平台插件SDK.md );与对话工具能力包 不必 1:1。纯对话 API 能力 不 注册 platform_plugins,走本表「新业务 API → 技能 + http_request」 |
6. 二期候选(预登记)
| 候选 ID | 用户说法 | 建议映射 | 开通理由 |
|---|---|---|---|
wiki_knowledge | 结构化知识库 | wiki_search + wiki_get | 与自由记忆分离、需溯源 |
enterprise_search | 企业搜索 | 复用 http_request 或专用搜索工具 | schema 与 HTTP 差异大时再拆 |
7. 管理员界面约定
| 项 | 文案 |
|---|---|
| 区块标题 | 助手能力包 |
| 管理员说明 | 为本工作区开通助手工具能力,设置有效期与联网站点 |
| 成员说明 | 查看已开通能力;未开通或已到期时可提交申请 |
| 技术总开关 | AGENT_HTTP_TOOL_ENABLED、AGENT_DATA_SOURCE_TOOL_ENABLED、AGENT_SCRIPT_TOOL_ENABLED 等写在管理员文档,不出现在成员首屏 |
8. 实现对照
| 用户概念 | 实现 |
|---|---|
| 能力包 JSON | workspaces.capabilities_json |
| 解析与依赖 | capability.ParseWorkspace、ValidateWorkspaceDependencies、NormalizeWorkspaceDependencies |
| 办公运行时 | Workspace.OfficeDocumentsActive |
| 工具门控 | chat.go → fileToolContext、dataSourceToolContext、workspaceCapsForAgent;agenttool.RunAgentToolLoop |
| 成员脚本策略 | script_policy_json、ResolveEffectiveScriptPolicy、GET/PATCH .../script-policy |
| 业务职责授权 | workspace_duties / workspace_duty_pack_grants;某敏感包一旦配置了职责授权,未授予的普通成员不再默认可用(管理员除外;个人「禁用」仍优先) |
| 数据连接与授权 | workspace_data_sources、workspace_data_datasets、workspace_member_data_source_grants;datasource.Invoke、store.ResolveUserDataSourceAccess |
| 受控变更 | workspace_data_mutations、data_mutation_requests;datasource.PreviewMutation / ExecuteMutation |
| 数据图表 | agentchart.Render;门控 wsCaps.DataVisualizationActive |
| 管理 API | GET/PATCH /api/v1/workspaces/:id/capabilities;.../data-sources、数据资源与变更相关 REST |
| 能力申请 | workspace_capability_request 处理器 |
| 前端 | WorkspaceCapabilitiesPanel.tsx、WorkspaceDataIntegrationWorkspace.tsx、DataIntegrationPanel.tsx、capabilityPackDefs.ts |
9. 扩展能力包时的决策清单
- 管理员是否需要 单独开通?否 → 管线能力。
- 能否 复用现有工具?能 → 只扩展实现。
- 是否 高风险/出站?是 → 独立能力包 + 审计。
- 是否仅为某业务 API?是 → 技能 +
http_request。 - MCP 接入后 用户可见工具名 是否保持不变?应尽量不变。