1. 周五下午三点,那份不能出内网的送审稿
材料岗的周五下午,往往是从一份带密级的稿子开始的。三十页专项汇报,下周一上会,今天下班前要把错别字、序号、标点过一遍。稿子不能出内网,机器打不开公网页面,代理也不让走。你打开某个网页大模型,把正文粘进去,光标停在发送键上——然后全删了。
不是不会用,是四件事同时卡住:带密级的稿贴到公网就是扩大知悉范围;事后被问"谁允许上传的"写不出情况说明;这台机器根本解析不了外网域名;就算前三条都过了,模型吐回来的是一段"润色后"的文字,没有定位、没有痕迹,领导问"你凭什么改这句",答不上来。
这就是机关内网文档审查的真实处境。你要的不是更聪明的聊天框,而是长在国产 WPS 里、跑在内网、改动可核对、人来点头的东西。本文聚焦机关内网隔离环境下,用国产 WPS 对送审稿做自动审查的落地路径:以 MCP 串联批注回写与规则校验,并说明如何把 endpoint 改到 TaoToken 打通统一 Key/API 通道。适合政务/政企办公读者、信息中心试点人员、材料岗文书岗,目标是在不触网的前提下完成审查闭环。
先把结论放前面:模型可以在机房,批注必须在稿子上。下面按"问题—前置—配置—验证—排障—入口"六段走,每段都能直接跟做。
2. 内网隔离下 WPS 自动审查的前置准备与 TaoToken 通道定位
在动手之前,先把环境边界想清楚。机关内网的五道墙——不联网、内网隔离、国产化信创、不敢上传、要留痕问责——决定了你不能照搬公网那套"网页大模型 + 复制粘贴"的流程。可行的架构是四块拼在同一台办公机上:
- WPS:稿件始终在国产办公软件里打开,是唯一的"活动文档"。智能体读它、定位它、往它上面写批注,而不是把正文搬到别处。
- 内网模型:推理用 Ollama、Xinference、OneAPI 这类 OpenAI 兼容的内网端点,或纯本机模型。模型流量走内网,不走公网。
- 本机 MCP:起一个本机服务,固定监听
http://127.0.0.1:62588/mcp,服务名chayuan-wps-mcp。客户端只连这个本机回环地址,端口只绑127.0.0.1,从设计上就没打算被互联网碰到。 - 人工确认:任何会改文档的动作(写批注、替换、脱密),默认要你点头(协议层叫
confirmed=true);你没说"确认",一个字都改不了。
那 TaoToken 在这里扮演什么角色?它是统一 Key/API 通道层。当你的内网模型端点需要统一管理、或者试点阶段需要把多个模型供应商收敛到一个 endpoint 时,把基础 URL 指向 TaoToken 的 API 地址https://taotoken.net/api,用统一的 Key 去调用,客户端侧只认一个入口。这样做的价值在于:模型可以换、供应商可以调,但 WPS 加载项和 MCP 客户端的配置不用跟着改,密钥管理也集中在一处。
需要说清楚的是:TaoToken 是 API 通道,不是替代 WPS 的编辑器,也不是绕过内网管控的工具。内网隔离环境里,模型推理仍然优先走本机或内网端点;TaoToken 通道适用于那些已经通过单位数据与采购规定、允许接入的模型调用场景。把 endpoint 改到 TaoToken,本质是统一入口、统一 Key,而不是把材料送出去。
前置清单(建议逐项确认):
| 项目 | 要求 | 说明 |
|---|---|---|
| 安装包来源 | 官网或单位软件仓库 | 核对版本号,避免来路不明 |
| WPS | 国产 WPS 文字,已启动一次 | 只装包不启动,加载项不注册 |
| 模型端点 | 内网 Ollama / Xinference / OneAPI | 本机常见端口 11434 |
| MCP 端口 | 127.0.0.1:62588 | 只绑回环,不做端口映射 |
| 统一通道 | TaoToken API 地址 | 需要统一 Key 时使用 |
| 确认策略 | confirmed=true 才写回 | 默认预览,授权才改 |
装完必须真正打开一次 WPS 文字,确认加载项出现。只装包不启动,加载项不注册,后面客户端一律报WPS_AGENT_OFFLINE——这个错误码后面会反复出现,先记住它。
3. 可复制的 MCP 配置片段与 WPS 批注回写设置
这一节给可直接复制的配置。先说 MCP 挂载。以 Claude Code 为例,一行命令挂上本机端点:
claude mcp add --transport http chayuan-wps-mcp http://127.0.0.1:62588/mcp如果你用的是支持 JSON 配置的客户端(Cline、Codex 等),把下面这段写进对应的 MCP 配置文件。注意路径与原文一致,服务名保持chayuan-wps-mcp:
{ "mcpServers": { "chayuan-wps-mcp": { "transport": "http", "url": "http://127.0.0.1:62588/mcp", "headers": {} } } }Codex 用户如果走auth.json体系,把统一通道的 Key 和 Base URL 写进去,三件套要齐:Base URL、Key、Model ID。示例结构如下(字段名以你本地客户端版本为准):
{ "base_url": "https://taotoken.net/api", "api_key": "你的统一Key", "model": "你的模型ID" }再给一份 TOML 形式,方便用配置文件管理的场景:
[mcp_servers.chayuan-wps-mcp] transport = "http" url = "http://127.0.0.1:62588/mcp" [model_provider] base_url = "https://taotoken.net/api" api_key = "你的统一Key" model = "你的模型ID"配置完,把下面这段开场白贴进客户端。它就是人机分工的契约,建议原样保存:
你通过 chayuan-wps-mcp 操作当前 WPS 文档。 1)先校对预览,检查错别字、标点、明显病句; 2)汇总问题列表给我,不要改正文; 3)我回复「确认写批注」后,再写成 WPS 批注,钉在具体文字上; 4)没有「确认替换」,禁止改正文; 5)脱密相关工具禁止擅自调用。然后下一句"对当前文档做错别字与标点审查,先给问题列表"——智能体返回列表,你核对,再回"确认写批注"。批注就钉在了稿面上,每处都带原文、问题、建议。
批注模板建议统一成三列,方便会签时讨论:
【原文】……(被标注的文字) 【问题】错别字 / 标点 / 序号 / 病句 【建议】……(拟修改内容)整套流程的妙处在于:它没让你信任 AI,它让你信任流程。预览是默认,写回是授权,确认一次改一次。这条契约比任何"我们绝对安全"的承诺都更适合写进科室操作规范。
4. 验证请求与成功结果:healthz 冒烟与一次送审前自检
配置完不能直接上正式稿,先做三层验证。
第一层:服务在线。浏览器打开http://127.0.0.1:62588/healthz,看到在线(online)算第一关。这一步不通,后面全免谈。
第二层:模型配通。在加载项内跑一次"拼写与语法检查",能出问题列表算模型配通。出不了列表,多半是MODEL_NOT_CONFIGURED,回去检查模型端点配置。
第三层:只读冒烟。客户端连上http://127.0.0.1:62588/mcp后,先下一句只读指令,比如"读当前文档标题和前两段,不要改、不要批注"。这一步验证的是读写链路,不产生任何修改。
三层都过,再做一次送审前自检。用一份故意造错的测试稿,跑完整闭环:
对当前文档做错别字与标点审查,先给问题列表,不要改正文。预期结果:返回一份问题列表,每条带原文定位。你核对后回:
确认写批注预期结果:批注钉在具体文字上,表格内容钉在单元格。此时打开 WPS 批注窗格,应该能看到每条批注的原文、问题、建议三要素齐全。
成功结果的判断标准,我建议用这三条:
- 批注锚点准确,没有飘到表外或段落外;
- 预览列表与最终批注条目一致,没有"预览说三处、写回变五处";
- 原始稿未被改动,改动只发生在另存的副本上。
如果这三条都满足,说明闭环通了。接下来才是把它用到真实但非涉密的旧制度稿上,只出批注、不改正文,观察误报率。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth
排障这节按真实报错来,遇到对号入座。
401 Unauthorized。出现在走统一通道调用模型时。原因通常是 Key 没配、Key 过期、或者 Base URL 和 Key 不匹配。检查三件套是否齐全:Base URL 指向https://taotoken.net/api,Key 是当前有效的,Model ID 拼写正确。三者缺一或错一,都会 401。
local proxy failed。客户端连不上本机 MCP 端点。先确认http://127.0.0.1:62588/healthz是否在线;再确认端口有没有被别的进程占用;最后确认你没有把端口改成0.0.0.0或做无鉴权转发——那样虽然"能连",但等于把本机助手变成未鉴权文档接口,安全检查扫到会按高风险处置。需要远程用时,走带鉴权的 SSH 本地转发,用完即关。
reading choices 相关报错。多出现在模型返回结构不符合预期时,比如预览阶段模型直接吐了一段改写正文而不是问题列表。这通常是开场白契约没贴、或者模型能力不足。回到第 3 节,把开场白原样贴进去,再下一句明确的"只要问题列表,不要改正文"。
OAuth 报错。出现在客户端尝试走 OAuth 流程连接时。本机 MCP 端点默认不需要 Token、不走 OAuth,只连回环地址。如果客户端弹 OAuth,说明它连错了地址,或者配置里混进了需要鉴权的远程端点。把 URL 改回http://127.0.0.1:62588/mcp即可。
WPS_AGENT_OFFLINE。加载项没注册。原因几乎都是装完包没真正打开一次 WPS 文字。打开一次,确认加载项出现,再重试。
MODEL_NOT_CONFIGURED。模型端点没配通。回加载项设置里检查基础 URL 和模型名,先在加载项内跑通"拼写与语法检查",再谈外部客户端。
CONFIRMATION_REQUIRED。这不是故障,是设计。它表示某个改文档的动作没拿到confirmed=true。回一句"确认写批注"或"确认替换"即可。它替你挑错,不替你担责。
排障时记住一条:先分层,再定位。服务层(healthz)→ 模型层(拼写检查)→ 链路层(只读冒烟)→ 写回层(确认批注)。哪层断,修哪层,不要一上来就怀疑模型。
6. 统一 Key/API 通道入口与试点落地建议
把闭环跑通之后,剩下的是推广节奏。一周试点可以这样排:第 1 天信息中心装包、打开 WPS、healthz 确认在线,模型只接内网端点;第 2 天选两名文书,用故意造错的测试稿跑预览与写批注,不碰正式红头;第 3 天引入一份真实但非涉密的旧制度稿,只出批注、不改正文;第 4 天把开场白写进科室备忘录,统一"确认写批注 / 确认替换"口径;第 5 天复盘误报与锚点问题,决定是否扩大到处室。试点期正式涉密稿一律不进,公共演示机不存个人云密钥,这两条写进纪要。
三种岗位的分工也写清楚,免得出错三方甩锅:起草人负责事实与口径,收到批注改字;核稿或文书下预览指令、删误报、决定哪些条目确认写批注;信息中心管内网模型端点、安装包来源、端口是否只绑本机、密钥是否进公共机房。
三条不能让步的界线:不替代定密、不替代终审;62588 不出本机;脱密要密码、预览内容别外贴。预览列表里可能含公文合同原文片段,复制到外部聊天、邮件、公有云,就等于主动扩大知悉范围。
需要统一 Key/API 通道时,从这里进:
- 模型对话与验证:https://taotoken.net/api?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite
- 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite
- API Keys 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite
- 控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite
- 长期编码与 Agent 场景:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite
如果你要向领导汇报一句话:"我们在国产 WPS 里接上了文档智能体,模型走内网,改动留批注、人来确认,材料不出单位。" 机关要的不是更会聊天的网页,而是国产 WPS 里可复核的审查痕迹。按本文闭环做完,再去追更细的端口、分块、多文档文章不迟。终审、定密、印发,仍然是人。