帮助动作链接
帮助智能体回答中的可点击跳转,用用户能懂的说法描述;实现协议为 mindlink://action/…。
来源 docs/core-mechanisms/帮助动作链接.md
表述:帮助智能体回答中的可点击跳转,用用户能懂的说法描述;实现协议为 mindlink://action/…。
何时用:仅当用户问 「如何 / 怎么 / 怎样」 打开某页时,用动作链接作入口。用户说 「打开工作区协作页面」 这类办事请求时,主站应 直接切到该页 并保持浮动帮助对话,不要只给「点这里」。实现见 helpNavigation.ts 与 tryHelpNavigationFromChat。
目标
在帮助文档中插入“可点击的操作链接”,让用户在阅读回答时一键跳到对应操作界面(例如“创建工作区”)。
链接协议
帮助文档使用自定义协议:
主站白名单以 client/web/src/helpActions.ts 为准(嵌入挂件同源列表见 sdk/host-embed/widget/src/mindlinkAction.ts):
mindlink://action/workspace.createmindlink://action/module.workspace(可选section=;客服队列section=support,再可选cs=requests|local|group|inbound;能力包/数据连接等可用pack/data/conn/http/script)mindlink://action/module.chat(可选user_agent_id/session_id定位会话)mindlink://action/chat.new-sessionmindlink://action/module.skills(可选skill/id打开指定技能)mindlink://action/module.agents(打开智能体市场子区)mindlink://action/module.scheduled(定时任务)mindlink://action/module.me(账号与偏好)mindlink://action/module.apps(可选app=打开工作区应用;plugin=hr打开平台插件,并可带tab=)mindlink://action/module.workflows(可选def=/instance=深链)mindlink://action/module.im(联络;主站切到消息)
语法示例:
`创建工作区`
执行流程
- 帮助文档(Markdown)包含
mindlink://action/*链接。 - 前端
HelpOnboardingPanel在 Markdown 渲染时拦截该协议。 - 链接触发
onHelpAction(action, params)。 AppHome通过白名单分发动作(见上表):工作区协作、创建工作区、消息/新建会话、技能中心、智能体市场、定时任务、账号、应用桌面、工作流、联络。
当前实现已将动作白名单抽到 client/web/src/helpActions.ts,由 executeHelpAction() 统一分发。
安全策略
- 不执行任意脚本,不使用
javascript:。 - 仅允许白名单动作;未知动作只提示“暂不支持”。
- 外部
http/https链接保持正常新窗口打开。
嵌入场景(宿主页)
协议 相同(mindlink://action/…),但 执行方不同:
| 场景 | 拦截与分发 |
|---|---|
| Cadau 主站帮助 | HelpOnboardingPanel → helpActions.ts → 主站模块路由 |
| 网站嵌入挂件 | 用户点击或 auto_execute_navigation → widget.on("action") → 宿主页白名单(如 executeHostAction) |
- 主站动作(
module.workspace、chat.new-session等)在嵌入场景 无效,除非宿主页自行映射。 - 嵌入须维护 动作登记表 并写入智能体知识,见
../../sdk/host-embed/宿主知识文档撰写要求.md、../../sdk/host-embed/网站集成说明.md§5。 - HR 范例白名单:
examples/hr-multi-tenant/web/src/mindlinkHostActions.ts。
扩展建议
- 已支持基础埋点(本地队列):
trackHelpActionEvent()
- stage=clicked:用户点击了动作链接 - stage=executed:动作执行结果(ok/reason) - 存储键:mindlink_help_action_events(最多保留 200 条)
- 可将本地队列定时上报后端,纳入 MemoryForge 分析。