从宏到 AI Agent:用 WPS 开放平台构建企业级文档自动化流水线
1. 背景
过去,企业文档自动化主要依赖宏:VBA、JSA、WPS 加载项。宏能完成批量替换、格式整理、导出 PDF,但通常运行在单机,难审计、难扩展。面对合同、财报、投标、知识库等场景,宏很快遇到瓶颈。
WPS 开放平台把文档能力扩展到云端:上传、下载、转换、预览、编辑、权限、Webhook、插件 JSAPI 等。结合 AI Agent,可以把“人找功能”变成“Agent 编排工具”。
建议先访问 WPS官网 了解开放平台能力,并通过 WPS下载 安装最新版 WPS 客户端,保证本地 JSAPI 与云文档 API 版本匹配。
2. 总体架构
流水线分五层:
- 触发层:定时任务、Webhook、企业 IM、邮件、表单。
- 接入层:WPS 云文档、WPS 客户端、WebOffice 嵌入页。
- 编排层:AI Agent、工作流引擎、规则引擎。
- 工具层:WPS 开放平台 API、WPS JSAPI 宏、Python 服务、OCR、向量检索。
- 数据层:对象存储、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)
生产环境需要处理 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);
}
宏适合做最后一公里:套模板、更新域、导出。业务规则不要写死在宏里。
7. AI Agent 编排
Agent 工作流:
- 接收任务:审查合同、生成周报、汇总财报。
- 规划:确定需要的文档、工具、审批节点。
- 执行:调用 extract_content、search_knowledge、update_document。
- 校验:规则引擎检查金额、日期、条款。
- 交付:导出 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)
8. 企业级保障
- 权限:OAuth2、最小权限、文档水印、访问审计。
- 安全:私有化部署、数据脱敏、密钥管理、传输加密。
- 稳定性:幂等、重试、死信队列、限流、熔断。
- 可观测:日志、指标、链路追踪、WPS API 配额监控。
- 合规:操作留痕、版本快照、审批流。
9. 典型场景
合同审查
上传到 WPS 云文档,Agent 提取条款,比对模板,标注风险,生成修订版,人工审批后归档。
财务报表
从 WPS 表格抽取数据,校验勾稽关系,生成分析文字,回写批注,导出 PDF 和 PPT。
知识库问答
把 WPS 文档切片入向量库,Agent 检索后生成答案,并可自动创建 WPS 文档。
10. 最佳实践
- 宏只做客户端 UI 和格式操作。
- 服务端统一封装 WPS 开放平台调用。
- Agent 工具原子化、可测试、可回滚。
- 模板和业务规则分离。
- 所有写操作记录审计日志。
- 从 WPS官网 获取最新 API 文档,通过 WPS下载 更新客户端。
11. 结语
从宏到 AI Agent,不是简单替换,而是把文档自动化升级为可编排、可治理、可扩展的企业能力。WPS 开放平台提供文档底座,AI Agent 提供理解与决策,二者结合可以构建真正落地的企业级文档自动化流水线。
Top comments (0)