DEV Community

Zhang Zhemin
Zhang Zhemin

Posted on

从宏到 AI Agent:用 WPS 开放平台构建企业级文档自动化流水线

从宏到 AI Agent:用 WPS 开放平台构建企业级文档自动化流水线

1. 背景

过去,企业文档自动化主要依赖宏:VBA、JSA、WPS 加载项。宏能完成批量替换、格式整理、导出 PDF,但通常运行在单机,难审计、难扩展。面对合同、财报、投标、知识库等场景,宏很快遇到瓶颈。

WPS 开放平台把文档能力扩展到云端:上传、下载、转换、预览、编辑、权限、Webhook、插件 JSAPI 等。结合 AI Agent,可以把“人找功能”变成“Agent 编排工具”。

建议先访问 WPS官网 了解开放平台能力,并通过 WPS下载 安装最新版 WPS 客户端,保证本地 JSAPI 与云文档 API 版本匹配。

2. 总体架构

流水线分五层:

  1. 触发层:定时任务、Webhook、企业 IM、邮件、表单。
  2. 接入层:WPS 云文档、WPS 客户端、WebOffice 嵌入页。
  3. 编排层:AI Agent、工作流引擎、规则引擎。
  4. 工具层:WPS 开放平台 API、WPS JSAPI 宏、Python 服务、OCR、向量检索。
  5. 数据层:对象存储、PostgreSQL、Redis、向量数据库、审计日志。

核心原则:宏负责客户端交互和轻量格式操作,服务端负责业务逻辑、权限、审计和 AI 编排。

3. 从宏到 Agent 的演进

3.1 宏时代

  • 优点:贴近文档对象模型,操作 Range、Table、Shape 方便。
  • 缺点:版本分散、难以测试、无法集中治理、权限粗放。

3.2 API 时代

  • 通过 WPS 开放平台 REST API 管理文件、权限、转换。
  • 通过 WebOffice 嵌入实现多人协作。
  • 服务端可做模板渲染、批量导出、归档。

3.3 Agent 时代

  • LLM 负责理解意图、拆解任务、选择工具。
  • Agent 调用 WPS API 和宏工具,完成写入、修订、导出。
  • 加入 RAG、规则校验、人工审批,形成闭环。

4. 关键工具设计

WPS 能力封装成 Agent 可调用的原子工具:

工具 作用 实现
get_document 获取文档元数据 WPS 开放平台 API
extract_content 提取正文、表格、批注 WPS API + Python 解析
replace_placeholders 替换模板变量 WPS JSAPI 宏
update_document 写回云文档 WPS 开放平台 API
export_pdf 导出 PDF WPS JSAPI 或云转换
audit_log 记录操作 服务端日志

工具定义要幂等,入参包含 request_id,失败可重试。

5. 示例:Python 调用 WPS 开放平台

import requests

class [WPS](https://www.wps.com/)Client:
    def __init__(self, app_id, app_secret):
        self.base = 'https://open.wps.cn/api/v1'
        self.app_id = app_id
        self.app_secret = app_secret
        self.token = None

    def get_token(self):
        payload = {'app_id': self.app_id, 'app_secret': self.app_secret}
        r = requests.post(f'{self.base}/oauth/token', json=payload)
        r.raise_for_status()
        self.token = r.json()['access_token']

    def download_file(self, file_id, save_path):
        headers = {'Authorization': f'Bearer {self.token}'}
        r = requests.get(f'{self.base}/files/{file_id}/download', headers=headers)
        r.raise_for_status()
        with open(save_path, 'wb') as f:
            f.write(r.content)
Enter fullscreen mode Exit fullscreen mode

生产环境需要处理 token 刷新、限流、重试和密钥托管。

6. 示例:WPS JSA 宏批量替换

function batchReplaceAndExport() {
  const app = wps.WpsApplication();
  const doc = app.ActiveDocument;
  const find = doc.Content.Find;
  find.Text = '{{company}}';
  find.Replacement.Text = '示例科技有限公司';
  find.Execute(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 2);
  doc.ExportAsFixedFormat('output.pdf', 17);
}
Enter fullscreen mode Exit fullscreen mode

宏适合做最后一公里:套模板、更新域、导出。业务规则不要写死在宏里。

7. AI Agent 编排

Agent 工作流:

  1. 接收任务:审查合同、生成周报、汇总财报。
  2. 规划:确定需要的文档、工具、审批节点。
  3. 执行:调用 extract_content、search_knowledge、update_document。
  4. 校验:规则引擎检查金额、日期、条款。
  5. 交付:导出 PDF、发送邮件、归档到 WPS 云文档。

伪代码:

async def run_contract_agent(task):
    doc = await wps.download(task.file_id)
    text = await extract_text(doc)
    risks = await llm_review(text, rules=contract_rules)
    revised = await llm_generate_revision(text, risks)
    await wps.update_document(task.file_id, revised)
    await wps.export_pdf(task.file_id)
    await notify(task.owner, risks)
Enter fullscreen mode Exit fullscreen mode

8. 企业级保障

  • 权限:OAuth2、最小权限、文档水印、访问审计。
  • 安全:私有化部署、数据脱敏、密钥管理、传输加密。
  • 稳定性:幂等、重试、死信队列、限流、熔断。
  • 可观测:日志、指标、链路追踪、WPS API 配额监控。
  • 合规:操作留痕、版本快照、审批流。

9. 典型场景

合同审查

上传到 WPS 云文档,Agent 提取条款,比对模板,标注风险,生成修订版,人工审批后归档。

财务报表

WPS 表格抽取数据,校验勾稽关系,生成分析文字,回写批注,导出 PDF 和 PPT。

知识库问答

WPS 文档切片入向量库,Agent 检索后生成答案,并可自动创建 WPS 文档。

10. 最佳实践

  1. 宏只做客户端 UI 和格式操作。
  2. 服务端统一封装 WPS 开放平台调用。
  3. Agent 工具原子化、可测试、可回滚。
  4. 模板和业务规则分离。
  5. 所有写操作记录审计日志。
  6. WPS官网 获取最新 API 文档,通过 WPS下载 更新客户端。

11. 结语

从宏到 AI Agent,不是简单替换,而是把文档自动化升级为可编排、可治理、可扩展的企业能力。WPS 开放平台提供文档底座,AI Agent 提供理解与决策,二者结合可以构建真正落地的企业级文档自动化流水线。

Top comments (0)