Document version: 1.3 Status: Matches current backend (capability, workspace_capabilities API, conversation tool gating) Voice: For product, operations, and admins — what workspace “assistant capability packs” are and how they map to assistant tools. Implementation names: Implementation mapping.
An assistant capability pack is a switch workspace admins turn on for members: tool-class capabilities the assistant may call in Messages. It is not equal to one tool function: one pack may map to several tools, or only extend how existing tools behave.
Cadau uses three layers:
Layer
User language
Duty
Capability pack
Assistant capability pack
Turn on, validity window, audit and billing grain
Tool
(not user-visible)
Function-call primitives exposed to the model
Implementation
(not user-visible)
Built-in module / MCP plugin / business adapter
Hard rules:
New capabilities prefer hanging on existing tools; add a new tool only when the governance boundary is independent.
Pipeline capabilities (vision, knowledge-document injection, skill recall, memory retrieval) do not enter capability packs by default, unless they need a separate turn-on or a compliance gate.
2. Existing capability packs
2.1 basic_documents — basic document tools
Dimension
Convention
User value
Members can have the assistant read/organize Markdown, plain text, and similar, and export downloadable files
Default
New workspaces on by default
Mapped tools
file_read + file_write
Mapped implementation
Built-in agentfile + attachmenttext (text types)
Write formats
.md.txt.csv.json; one file ≤ 512 KiB
Off / expired
Tools do not appear in the schema; the assistant should explain the limit
2.2 office_documents — office document tools
Dimension
Convention
User value
The assistant can read PDF, Word, Excel, PPT attachments, create or edit .docx/.xlsx/.pptx, and generate laid-out .pdf
Default
Off by default
Mapped tools
No new tool name (extends file_read); office_document (read/write Office; build_pdf generates PDF)
Mapped implementation
Read: attachmenttext + OfficeCLIview (Excel pages by row so whole-sheet JSON is not cut in half); write/edit: OfficeCLI (create/merge/set/add and similar); PDF generate: built-in gopdf (build_pdf, not via OfficeCLI)
Prerequisite
basic_documents must be in force at the same time
Platform switch
AGENT_OFFICECLI_TOOL_ENABLED; the server must have OfficeCLI installed (MINDLINK_OFFICECLI or PATH)
When off
file_read returns a clear error for office extensions; office_document does not appear in the schema
Do not split a tool per business API; business path and auth are described in the skill operations body.
2.4 code_execution — script execution
Dimension
Convention
User value
The assistant can run Python under skill scripts/; when built-in tools are not enough, after admin allow, install libraries, write code, and deposit a skill for reuse
Default
Off by default
Mapped tools
run_script, skill_script_write
Mapped implementation
Built-in agentscript (sandbox, timeout, outputs registered as uploads)
Prerequisite
basic_documents must be in force at the same time; editing existing Office attachments should also have office_documents on
Member policy
workspace_members.script_policy_json: inherit / forbid / grant separately (skill slug, temp scripts, and similar)
Workspace skills, permissions.tools: [run_script] or body ## 脚本执行
Install libraries
Libraries the platform already allows can install directly. Others: the assistant must say “library name / what it can do / which current problem it solves”: the admin allows on the spot, or a member applies to an admin. After approve, write into this workspace’s allowlist. In-script pip install is forbidden. Do not generate .xlsx / .docx / .pptx / .pdf with Python (use office_document).
Reuse
After a successful run, deposit a workspace skill (scripts/ + dependencies); later similar conversations prefer running the existing script
2.5 data_integration — data connections (data integration)
Dimension
Convention
User value
Members look up MySQL, PostgreSQL, SQL Server and similar business DBs already authorized in the workspace; admins configure connections, predefined queries, and controlled mutations
Default
Off by default
Mapped tools
data_source_invoke (read-only + controlled mutation share one tool name)
Mapped implementation
Built-in datasource + store (encrypted connections, data resources, member grants, mutation approval)
No ad-hoc SQL; read-only uses predefined queries or table preview; writes use mutation definitions
Table preview rows
Default 200 rows, hard cap 500 per call (mindlink.json → data_source_tool.default_preview_max_rows / absolute_preview_max_rows)
Member policy
Data resources + who can use: tick readable tables/queries and CUD rights per member
Dual gate
Workspace capability pack and server AGENT_DATA_SOURCE_TOOL_ENABLED / data_source_tool.enabled
Host allowlist
Platform data_source_tool.allow_hosts (empty means no limit in development)
Collaboration
Workspace skills, permissions.tools: [data_source_invoke]; after saving a connection, generate a skill to sync query notes
Binary/photos
Image BLOBs in query results land as attachments, returning upload_id / download_url; conversation shows mindlink://upload/{id}, can embed in Office
Off / expired
Tool does not appear in the schema; the assistant should explain the limit
Admin sub-features (user-side entry is the whole Data connections page, same shell as the knowledge base): Data connections, Data resources, Who can use, Mutation definitions, Mutation approval.
2.6 data_visualization — data charts
Dimension
Convention
User value
The assistant generates bar/line/pie PNG charts in conversation, downloadable or embeddable in Office
Default
Off by default
Mapped tools
chart
Mapped implementation
Built-in agentchart (matplotlib render → register as upload)
Prerequisite
basic_documents must be in force at the same time (DataVisualizationActive)
Platform switch
No separate platform section; depends on workspace turn-on and a Python/matplotlib runtime (Docker image already includes Python 3)
When the workspace also has data integration on: business-report numbers must come from data_source_invoke; user-attached images default to layout/leader-line reference only; copying numbers off the screenshot is forbidden (except the user clearly asks to “digitize from the screenshot”)
When off
chart does not appear in the schema
Turning off basic document tools automatically cascades data charts off.
2.7 wecom_integration — WeCom
Dimension
Convention
User value
Service notices and scheduled tasks can push to personal WeCom; the assistant can operate contacts, app messages, to-dos, calendar, meetings, docs, smart sheets, WeDrive, mail, and read-only query approvals and leave
Workspace capability pack and server AGENT_WECOM_TOOL_ENABLED / agent_wecom_tool.enabled
Push
In-site notices also send an app card; after a scheduled auto-run succeeds, an extra summary may be pushed (task switch notify_wecom, on by default when the member is bound)
Not done
Conversation archive (colleague DMs), submitting approvals on someone’s behalf, changing leave balances, DingTalk/Feishu/email channels, changing the WeCom “app admin” console
Approvals/leave
In WeCom App admin → Approvals detail, tap “Apps that can call APIs” → “Settings” to authorize this app (do not tap the API next to the title); query window at most 31 days
Off / expired
Tools do not appear in the schema; conversation does not treat WeCom as an optional push channel
3. Capability-pack relations
flowchart LR
subgraph packs [Workspace capability packs]
B[basic_documents]
O[office_documents]
H[http_integration]
CE[code_execution]
DI[data_integration]
DV[data_visualization]
WC[wecom_integration]
end
subgraph tools [Model tools]
FR[file_read]
FW[file_write]
OD[office_document]
HTTP[http_request]
RS[run_script]
DS[data_source_invoke]
CH[chart]
W1[wecom_list_methods]
W2[wecom_invoke]
end
B --> FR
B --> FW
O --> FR
O --> OD
H --> HTTP
CE --> RS
B --> CE
DI --> DS
B --> DV
DV --> CH
WC --> W1
WC --> W2
Capability pack
Prerequisite
basic_documents
None
office_documents
basic_documents (in force together)
http_integration
None (strongly related to skills/site config)
code_execution
basic_documents (in force together)
data_integration
None (strongly related to data-connection / data-resource config)
data_visualization
basic_documents (in force together)
wecom_integration
None (must configure self-built app credentials and bind members to push/operate)
4. Baseline capabilities that are not capability packs
User agents in Messages have these by default (except help-assistant mode):
Capability
Type
Note
Structured memory
Tool
memory_search / memory_get
Memos
Tool
memo_save / memo_search and similar; not auto-injected; called only when the user clearly wants to look up/save
Multimodal vision
Pipeline
Message image_url injection, not a function call
Knowledge base
Pipeline
Retrieve and inject by agent/workspace config
Workspace skill recall
Pipeline
Inject operations material after match
Conversation-deposited skills
Pipeline + API
Triggered by user wording; product lives in the Skills center
Capability packs mainly cover behavior that may go outbound or needs a separate compliance approval.
5. MCP and plugin access rules
Scene
Suggestion
Replace an HTTP backend
Adapt MCP to the same http_request schema; the workspace still uses http_integration
Replace Office parse
Hang on the file_read implementation chain; the workspace still uses office_documents
New business API
Prefer skill + http_request, no new tool
Must add a new tool
Also add a capability pack, audit, and permissions.tools declaration
Platform plugin modules (§4.2.4)
Usually app-desktop iframe business apps (see 平台插件SDK.md ); need not 1:1 with conversation-tool capability packs. Pure conversation API capabilities do not register platform_plugins; follow this table “new business API → skill + http_request”
6. Phase-2 candidates (pre-registered)
Candidate ID
User language
Suggested mapping
Why turn on separately
wiki_knowledge
Structured knowledge base
wiki_search + wiki_get
Separate from free memory, needs provenance
enterprise_search
Enterprise search
Reuse http_request or a dedicated search tool
Split only when schema differs a lot from HTTP
7. Admin UI convention
Item
Copy
Section title
Assistant capability packs
Admin note
Turn on assistant tool capabilities for this workspace; set validity and network sites
Member note
See what is on; apply when off or expired
Technical master switches
AGENT_HTTP_TOOL_ENABLED, AGENT_DATA_SOURCE_TOOL_ENABLED, AGENT_SCRIPT_TOOL_ENABLED, AGENT_WECOM_TOOL_ENABLED, and similar live in admin docs, not on members’ first screen
workspace_duties / workspace_duty_pack_grants; once a sensitive pack has duty grants, ordinary members without a grant no longer get it by default (admins excepted; personal “disable” still wins)