fuxin-office — 福昕 Office 全家桶编排汇总技能
定位: 唯一入口 / 汇总层。只负责路由、E2E 分步编排与通用规则。 本技能是对外暴露的唯一 Skill:产品级编排规约(写报告/建图/Deck 等)不作为独立技能对外暴露, 全部收敛为本技能内部参考文档
reference/*.md,由本技能按需读取。 参考文档: 6 份编排规约(bridge / word / excel / ppt / doc-qa / batch-undo)见reference/。 非路由:fuxin-custom-tool为示例参考文档(见reference/custom-tool.md), 不纳入默认路由触发词分发,仅用户显式引用自定义流程时按需读取;不作固定依赖成员。
Triggers
写报告,季度报告,术语统一,排版整理,高亮批注,清单审查,生成汇报,做PPT,整理演示,选区编辑,抽列,抽取数据,条件高亮,批量建图,问文档,总结文档,检查Office,预检,Office。
技能体系总览
fuxin-office(唯一入口:路由 + E2E 分步 + 交互/文案总则)
├── SKILL.md (本入口 Skill,与 reference/ 同级,位于套件根目录)
└── reference/ (内部参考文档,不作为独立技能对外暴露)
├── bridge.md 连接与预检(5层链路 + 用户提示文案统一出口)
├── word.md Word 文档编排(write_report / unify_terminology / highlight_and_comment / checklist_review)
├── excel.md Excel 表格编排(extract_data_to_new_sheet / highlight_by_condition / batch_create_charts)
├── ppt.md PowerPoint 演示编排(generate_deck / organize_deck / edit_selection)
├── doc-qa.md 文档只读问答(Word/Excel/PPT 内容问答、摘要、核对)
├── batch-undo.md 批次撤销(批次事务边界 + 一次撤销引导)
└── custom-tool.md 企业自定义流程**示例**(不入路由表;仅用户显式引用时按需按读)
一、路由总则
识别用户意图后,路由到对应内部参考文档,不在汇总层重复实现:
| 用户意图 / 触发词 | 路由到(参考文档) | 场景工具 |
|------------------|--------|----------|
| 写报告 / 季度报告 / 术语统一 / 排版 / 高亮批注 / 清单审查 | reference/word.md | write_report / unify_terminology / highlight_and_comment / checklist_review |
| 抽列 / 抽取数据 / 条件高亮 / 批量建图 | reference/excel.md | extract_data_to_new_sheet / highlight_by_condition / batch_create_charts |
| 生成汇报 / 做PPT / 整理演示 / 选区编辑 | reference/ppt.md | generate_deck / organize_deck / edit_selection |
| 问文档 / 总结 / 摘要 / 核对 | reference/doc-qa.md | 各产品只读工具 |
| 批次 / 批量撤销 | reference/batch-undo.md | 批次边界 + 撤销引导 |
| 检查Office / 预检 / 网关状态 | reference/bridge.md | 5层预检 |
| 跨产品 / 多步骤 / 未归类 | 本汇总层 E2E 分步 | 逐参考文档编排 |
| "Word 报告 → Excel 统计 → PPT 汇报" / 三阶段 / 报告到汇报 | 本汇总层(见二·专场景) | 预检 → word → excel → ppt,分步切换+切窗确认 |
通用规则:
- 触发词匹配到哪个参考文档,就整体采用该参考文档(含其参数表、调用流程、预检)
- 意图不明确时,先读取
reference/bridge.md做预检,再按各产品编排规约判断 - 同一产品内多个工具 → 交给该产品编排规约;跨产品 → 走下方 E2E 分步
二、E2E 分步编排
跨应用(Word→Excel→PPT)或多步骤任务,按以下流程:
- 预检:先跑
reference/bridge.md的 5 层预检,输出就绪状态 - 分步路由:按用户需求依次选择产品编排规约,每步:
a. 读取对应参考文档(
reference/*.md)获取参数表 b. 按需调用该产品的只读工具确认现状 c. 组装参数调用场景工具 d. 验证结果(只读工具) - 批次:多步骤写操作如需整体撤销,归入同一批次(
reference/batch-undo.md) - 汇报:汇总各步骤结果,按
reference/bridge.md统一提示出口文案输出
每步调批后等待约 0.3 秒再继续下一步,避免操作过密。
二·专、Word 报告 → Excel 统计 → PPT 汇报(跨链分步切换场景)
场景定位:用户一句话提出"Word 报告 → Excel 统计 → PPT 汇报"的三段式需求时, 只作为一个整体场景处理,绝不把一次需求拆成多次对话或多次调用重复询问。 场景编号:本跨产品 E2E 场景的所有工具调用,
scenario_id统一填UC-E2E-01(见「三·通用约定」第 8 条)。
设计铁律(无错乱的前提)
| 原则 | 说明 |
|------|------|
| 单需求单场景单调用 | 用户一次提出完整三阶段需求 → 汇总层一次受理、一次规划、分段执行;不重复问、不中途重新起调用 |
| 分步切换 | 严格按 ①Word 报告 → ②Excel 统计 → ③PPT 汇报 顺序推进,一次只处理当前步骤,上一阶段未确认完成不得进入下一阶段 |
| 每步 bridge → 对应参考文档 | 每一步进入前先跑 reference/bridge.md 5 层预检,再读取对应编排规约:reference/word.md → reference/excel.md → reference/ppt.md,不得跨级、不得省略预检 |
| 切窗确认(用户手动) | 各阶段作用在不同产品窗口(FuxinOfficeWord / FuxinOfficeExcel / FuxinOfficePPT)。跨产品切换窗口由用户手动完成,遵守下方「五·一、跨产品写前闸门」:agent 先提示将进入下一产品阶段,请用户手动切换到对应应用窗口,用户操作完成后按口令告知 agent,agent 确认后再继续推进,避免在错误窗口执行 |
| 无错乱校验 | 每个场景工具调用后,用该产品只读工具回读产物(如报告文本 / 抽取结果 / 页数)确认落在正确的活动文档,再继续下一步 |
执行流程(每步 bridge → 编排规约)
阶段0 整体预检+规划
└─ 确认三阶段目标与数据口径写成该场景唯一一次调用
阶段1 Word 报告
├─ 预检(Word 链路,见 reference/bridge.md)
├─ 就绪后开始写报告(若当前不在 Word 窗口,先请用户手动切换到 FuxinOfficeWord)
└─ reference/word.md 场景工具 write_report + 只读回读校验
阶段2 Excel 统计(切换点)
├─ 提示用户**手动切换到 FuxinOfficeExcel 应用窗口**
├─ 用户切换完成并告知 agent → agent 再跑预检(Excel 链路)
└─ reference/excel.md 场景工具 extract_data_to_new_sheet / batch_create_charts(抽关键列建统计表)只读回读校验
阶段3 PPT 汇报(切换点)
├─ 提示用户**手动切换到 FuxinOfficePPT 应用窗口**
├─ 用户切换完成并告知 agent → agent 再跑预检(PowerPoint 链路)
└─ reference/ppt.md 场景工具 generate_deck(引用报告要点,含演讲者备注)只读回读校验
收尾 汇总三阶段结果,按 reference/bridge.md 统一提示出口文案输出,含整体撤销说明(归入同批次)
交互约定
- 进度可见:每阶段向用户反馈当前处于"①报告 / ②统计 / ③汇报"哪一阶段
- 切窗由用户手动:跨产品切换是用户手动操作。agent 提示"请切换到 {产品} 应用窗口",用户完成切换后告知 agent"已在 {产品}",agent 确认后再继续后续流程;在用户告知前不得执行该产品下的场景工具
- 切窗等待成功:切换提示发出后即暂停等待用户确认,收到用户"已切换完成"反馈并已校验对应产品可用的回复,才继续
- 失败处理:任一阶段预检失败,按
reference/bridge.md文案提示并停在当前阶段,不跳过、不硬闯下一阶段,重试/确认后再进 - 阶段收尾:每完成一个产品阶段,先输出「场景任务完成」固定文案,再提示切换窗口进入下一阶段
- 单调用边界:本场景是一个完整需求、一个场景、一次执行调用;除非用户主动拆开,不擅自拆成多次独立问答
三、通用约定(总则)
- 网关:FuxinAiService,端口由
%ProgramData%\Foxit Software\Fuxin Office\MCP\MCPServerPort.ini的ListenPort读取(见reference/bridge.md「运行端口」),非固定 58688 - 产品分类:
Word/Excel/PowerPoint(不是 FuxinOfficeWord/FuxinOfficeExcel/FuxinOfficePPT) - 前置条件:网关已启动、对应产品已注册、Word/Excel/PowerPoint 应用已启动且插件已加载、已打开活动文档
- 预检:写操作前必须预检(见
reference/bridge.md) - 批量撤销:写操作默认由网关合并为单事务,一次 Ctrl+Z 整组撤销;显式批次见
reference/batch-undo.md - 测试原则:预检与只读探活用 REST + 只读工具;禁止用写操作做探测
- 工具不可用:提示重启
FuxinAiService后重试 - 埋点字段(调用统计):每次调用场景工具,都须在
arguments顶层带上skill_id与scenario_id,供网关关联到具体 Skill/场景计入调用统计(网关「传入即回显」):skill_id= 所在技能标识,如fuxin-word/fuxin-excel/fuxin-ppt/fuxin-office-bridgescenario_id= 本次实际使用的场景编号:Word 场景write_report=UC-WORD-S1、unify_terminology=UC-WORD-S2、highlight_and_comment=UC-WORD-S3、checklist_review=UC-WORD-S4;Excel 场景extract_data_to_new_sheet=UC-EXCEL-S1、highlight_by_condition=UC-EXCEL-S2、batch_create_charts=UC-EXCEL-S3;PPT 场景generate_deck=UC-PPT-S1、organize_deck=UC-PPT-S2、edit_selection=UC-PPT-S3;跨产品 E2E 三件套(Word→Excel→PPT)填UC-E2E-01;预检类调用填preflight-word/preflight-excel/preflight-ppt或doc-qa各参考文档(reference/*.md) 各子技能 SKILL.md「使用方式」均含该字段的取值说明;fuxin-office-bridge预检中的只读工具调用同样携带(见其「使用方式」埋点说明)。底层工具 MCP 定义如需覆盖场景值,以所调场景工具为准。
四、交互总则
4.1 交互原则
- 执行前简短说明将做什么;执行中逐步反馈;完成后总结结果
- 涉及多步时先规划再执行,给用户可跟踪的进度
- 缺参/歧义必追问:用户指令缺少必填参数、或存在歧义(如「不抽列」与「建表」互相矛盾、目标对象不明确、范围/条件缺失等)时,先追问澄清,补齐信息后再执行;不得按工具默认值静默执行、不得臆造参数。
- 判定口径:
- 缺必填参数(如未给源范围/目标表名/查找文本等)→ 追问补齐后再调用;
- 参数间互相矛盾(如「不抽任何列」与「建新表」冲突、「清空」与「保留」并存)→ 指出矛盾并请用户澄清意图;
- 可选参数有默认值但用户显式表达与默认相悖(如
columns不传=全部,但用户说「不抽任何列」)→ 属歧义,必须追问,不得静默套用默认值; - 目标对象不明确(如「高亮重复值」未指明范围/列)→ 追问范围后再执行。
- 追问时一次问清(可给选项),避免反复来回;用户补齐后再进入写前闸门与执行流程。
- 与「不写前二次确认」(4.2)的区别:本原则追问的是缺失/歧义信息,不是「是否允许改文档」;二者不冲突,先追问补参、再过写前闸门、最后执行。
- 判定口径:
4.2 写操作确认
- 写前先过跨产品闸门:写操作前,先按「五·一、跨产品写前闸门」判定是否需先确认目标产品窗口;命中则先提示切换、收到口令后再写,未通过前零写入。
- 不写前二次确认:用户已明确下达写指令即视为可写,Skill 不再问"确认后再写",直接执行写操作。
- 保存操作必须提前确认(例外):
save_document/save_document_as属不可逆保存操作(无撤销),必须在保存前弹窗确认。执行保存前,先展示确认提示「Agent 请求保存当前文档「{文档名}」。是否允许保存?保存 / 取消」并等待用户选择;用户同意(回复「保存」/「确认」)后才真正调用对应保存工具,用户取消则不执行保存。 - 写后固定撤销提示:普通写操作成功后固定输出一句:
改好了。要撤回改动:回复「撤销」,或在福昕Office 按 Ctrl+Z。
- 系统确认说明:支持 Elicitation 的客户端(如闸道开启系统二次确认)仍可能出现系统弹窗,用户按提示确认即可。
- 危险操作(删除页/清空/批量覆盖):即使无需写前二次确认,仍按产品要求弹确认对话框,用户同意后再执行;用户取消 → 完整回滚说明,不产生残留。
4.3 Agent 对话规范
- 用简体中文输出
- 结果说明含:执行了什么、成功/失败数、生成内容摘要、如何撤销
- 失败时给出可操作的下一步(重启网关/打开文档/重试)
五、用户提示文案总则
统一出口见 reference/bridge.md「用户提示文案(统一出口)」。汇总层只做引用与分发,不自行发明文案:
| 场景 | 文案来源 |
|------|----------|
| 未安装 / 未就绪 / 半就绪(未运行/无活动文档/只读) | reference/bridge.md「未就绪」提示表 |
| 就绪(含活动文档清单) | reference/bridge.md「已就绪」提示表 |
| 单次操作成功 / 一组操作完成 / 场景任务完成 | reference/bridge.md 三档文案,按粒度区分 |
| 成功 / 错误 / 工具不可用 / 用户取消 | reference/bridge.md「成功 / 错误」提示表 |
| 批次撤销说明 | reference/batch-undo.md 撤销引导 |
错误:工具返回
ok:false或异常时,Agent 不得把工具原始error字段原样回显给用户,一律按reference/bridge.md对应条目归一化为定稿文案(如参数缺失 →「参数有误」;连接超时 →「连接超时」)。详见reference/bridge.md「参数类错误归一化」。
收尾固定文案
三档区分:收尾文案按粒度分三档,逐字式使用不可混用:
- 单次操作成功 →
已在文档中完成「{操作名}」。请在福昕Office 中查看效果。- 一组操作完成(同一场景内多步/批量成组) →
本组修改已完成。如需撤销,请在福昕Office 中按一次「撤销」即可恢复整组操作。- 场景任务完成(整个场景完全执行完毕) →
「{场景名}」已执行完毕。请检查文档是否符合预期。
每个场景工具调用完成后,Agent 需向用户输出固定收尾文案(逐字一致):
「{场景名}」已执行完毕。请检查文档是否符合预期。
写操作场景在收尾文案后,追加写后撤销提示(逐字一致):
改好了。要撤回改动:回复「撤销」,或在福昕 Office 按 Ctrl+Z。
{场景名} 取对应场景的中文名(如「写报告」「术语统一与排版」「高亮批注」「清单审查」「抽取数据」「条件高亮」「批量建图」「生成汇报」「整理演示」「选区编辑」),不得省略或改写。跨产品 E2E 场景在收尾时逐阶段输出,最后再汇总一次整体结果。
五·一、跨产品写前闸门(全局规则)
定位:所有写操作(write_report / extract_data_to_new_sheet / generate_deck 及同产品各场景工具)在调用前,先确认操作落在正确的目标产品窗口,避免「后台产品被静默改写」。这是全局规则,不只限于 E2E 跨链,单产品操作同样适用。
与「写前不二次确认」(4.2)的区别:本闸门不确认"是否允许改文档",只确认操作对象(目标产品 / 窗口 / 文档)。二者不冲突:先过本闸门确认目标产品,命中后才进入写执行。
触发判定
| 场景 | 是否触发 | |------|----------| | 跨产品写:本轮任务中对某一目标产品【首次】发起写操作,且该产品不是当前活跃产品 | ✅ 触发,先提示切换窗口 | | 同产品连续写:本轮任务中该目标产品已经在第一次确认过(闸门已通过) | ❌ 默认不触发,继续写 | | 纯只读(doc-qa 问答 / 摘要 / 预检探活) | ❌ 不触发,直接执行 | | 上一轮(跨对话)同产品 | ⚠️ 新对话视为新一轮,仍需触发一次确认(不依赖跨进程/跨调用状态) |
不依赖跨进程窗口句柄 / 共享内存(架构不允许)。判定只在该 Skill 层对话上下文内,弱依赖、零维护。
执行流程
1. 目标写操作到达 ↓ 评估是否触发(见上表)
2. 命中 → 暂停,输出「切窗闸门」话术(见下表),**不调用任何写工具**
3. 等待用户口令:
- 「已在 {目标产品}」→ 通过,继续预检 + 写执行
- 「取消」→ 终止,输出取消文案
4. 未通过前零写入
标准话术(定稿 · 逐字一致)
| 场景 | 文案(逐字,{变量} 替换) |
|------|--------------------------|
| 跨产品写前闸门 | 接下来要在【{目标产品}】里执行「{操作名}」。请先把福昕 {目标产品} 窗口放到前面,并打开要改的那份文档。准备好后回复:已在 {目标产品}(或:取消) |
| 附活动文档(可选) | 当前检测到的活动文档:{文档名或路径}。若不是这份,请先切到正确文件再回复。 |
| 口令与目标不一致 | 本次需要的是 {目标产品}。请切换后回复:已在 {目标产品} |
| 用户取消 | 已取消,未对文档做任何修改。 |
工艺说明(面向 Agent,不进用户文案):「附活动文档」若启用,在「跨产品写前闸门」主话术之后追加一行,追加内容为表格内对应句子;"在上一句后追加一行"是拼接工艺,不属于用户可见文案,不写入用户输出。
六、服务入口行为
- 本技能为唯一入口,不直接暴露产品场景工具调用细节(细节在各内部参考文档
reference/*.md) - 收到非本体系意图时,提示用户可用的福昕 Office 能力清单
- 跨应用任务按第二节 E2E 分步编排,保证步骤间预检与批次正确衔接
Scan to join WeChat group