工作台
工作台是文枢的首页,提供全局概览和快速操作入口:
- 快速操作 — 一键开启/关闭局域网访问、打开文档处理、进入校审中心
- 最近文档 — 最近处理的文档列表,可快速回看
- 系统状态 — 后端运行状态、AI 模型可用性一览
💡 工作台目前基于 Mock 数据展示,后续版本将接入真实 API。
校审中心
校审中心是格式检查与修复的核心页面,展示所有发现的问题。
规则引擎
基于三层 YAML 规则的格式检查引擎:
- Official — 官方标准规则(190 条检查规则 + 180 条修复规则)
- Custom — 组织自定义规则
- User — 个人用户规则
- 三层深度合并(user > custom > official),列表合并、字典递归覆盖
严重级别
| 级别 | 说明 | 示例 |
|---|---|---|
| P0 | 格式错误,必须修复 | 标题字体不是方正小标宋简体 |
| P1 | 轻微问题,建议修复 | 行距偏离标准值 1pt 以内 |
| P2 | 优化建议 | 推荐使用更规范的措辞 |
同类型合并
相同规则 ID 的问题自动合并显示,如"正文应两端对齐 · 5 处",可展开查看每一条详情。
AI 配置
文枢支持接入多种 AI 大模型进行语义级公文优化分析。
支持的服务商
🟢 OpenAI
GPT-4o / GPT-4o-mini 等
🔵 DeepSeek
deepseek-chat / deepseek-reasoner
🟣 Claude
claude-sonnet-4-20250514 等
🟠 Ollama
Qwen2.5、Llama 3 等本地模型
🔴 通义千问
Qwen-Max / Qwen-Plus
🟤 智谱 GLM
GLM-4 / GLM-4-Flash
⚪ Moonshot
moonshot-v1
🟡 MiniMax
MiniMax-Max / MiniMax-Turbo
🔵 腾讯混元
hunyuan-turbo
🟣 豆包
doubao-pro
⚪ 零一万物
Yi-Lightning
🟠 商汤
SenseNova 系列
模型健康监控
系统每 60 秒自动检测所有已配置 AI provider 的可用性,在 AI 配置页面实时显示:
- 在线 / 离线状态指示灯
- 响应延迟(毫秒)
- 支持一键测试连接
安全存储
API Key 使用 Fernet 加密 存储于本机 data/.encryption_key 文件中。前端显示脱敏后的密钥(如 sk-xxxx****xxxx)。
A4 实时预览
文档优化的核心功能,提供所见即所得的排版预览体验:
左右分栏布局
- 左侧:格式设置面板(页边距、标题字体字号、正文字体字号行距缩进等)
- 右侧:A4 实时预览,设置改动即时反映
- 支持版头版记可视化配置
版头版记渲染
严格按 GB/T 9704-2012 标准渲染:
- 发文机关标志 — 30pt 方正小标宋简体,红色 #E00000,居中
- 发文字号 — 自动检测 X发〔YYYY〕N号 格式
- 签发人 — 签发人三字仿宋 + 姓名楷体,右空一字
- 红色反线 — #E00000,版头下空二行
- 抄送 — 左空一字
- 印发机关/日期 — 左侧 paddingLeft 1em,右侧 paddingRight 1em
Markdown 转公文
识别 12 种 Markdown 语法并自动转为公文格式:
# ~ ######标题 → 对应公文标题级别**加粗**→ 公文强调格式| 表格 |→ Word 表格对象- 列表、缩进、引用等
模板中心
管理公文样式模板,确保单位内部格式统一。
三级模板体系
| 层级 | 目录 | 说明 |
|---|---|---|
| Official | templates/official/ | 内置官方标准模板(8 种文种) |
| Custom | templates/custom/ | 组织自定义模板 |
| User | data/templates/user/ | 个人用户模板 |
深度合并逻辑:列表合并、字典递归覆盖。
模板操作
- 查看 — A4 预览弹窗展示排版效果
- 下载 .docx — 生成可编辑的 Word 文档
- 下载 .dotx — 生成可安装的 Word 模板
- 导入 — 从已有文档自动提取格式信息生成模板
- 分类筛选 — 全部 / 政府 / 国企
规则管理
管理公文格式检查与修复的 YAML 规则:
- 官方规则 — 22 个文种各有一个 YAML 文件,继承自
_common.yaml - 自定义规则 — 组织可添加私有规则
- 用户规则 — 导入生成的规则归入用户分类
- 规则缓存 — 增删改操作自动清除引擎缓存
规则结构示例
document_type: "notice"
check_rules:
- id: CHK-N001
severity: P0
field: "title.font"
expected: "方正小标宋简体"
fix_rules:
- id: FIX-N001
action: set_font
target: title
value: "方正小标宋简体"
技术架构
整体架构
Electron Shell (main.ts) ├── Spawns Python 后端 (python main.py / backend_server.exe) ├── Health-checks http://127.0.0.1:8765/api/health └── React UI → Axios → REST API (8765) → FastAPI → Core Engine → SQLite
核心流水线
所有文档处理经过统一的 DocumentModel(Pydantic 中间表示):
.docx 文件 → Parser (解析) → DocumentModel → RuleEngine (检查修复) → DocumentModel (已修复) → Generator (生成) → 输出 .docx
后端模块
| 模块 | 职责 |
|---|---|
| core/document/ | Parser, Generator, Modifier, Validator, FontUtils, StructureAnalyzer |
| core/rules/ | Loader, Manager, Checker, Fixer, Engine(三层合并) |
| core/template/ | StyleManager (三级), Generator (.docx/.dotx) |
| ai/ | AIProvider ABC → OpenAI/DeepSeek/Ollama/Claude/Custom |
| db/ | SQLAlchemy: Document, CheckResult, AIConfig, Rule |
| services/ | DocumentService 编排 check/optimize 流程 |
前端模块
| 目录 | 职责 |
|---|---|
| electron/ | main.ts(后端生命周期、窗口、托盘)、preload.ts |
| src/pages/ | Workspace, DocumentProcess, CheckCenter, Templates, Rules, AISettings, About |
| src/api/ | Axios 封装 + 响应解包拦截器 |
GB/T 9704 标准规范
文枢遵循 GB/T 9704-2012《党政机关公文格式》,以下为关键规范:
页面设置
| 参数 | 标准值 |
|---|---|
| 纸张 | A4(210mm × 297mm) |
| 上页边距 | 37mm ± 1mm |
| 下页边距 | 35mm ± 1mm |
| 左页边距 | 28mm ± 1mm |
| 右页边距 | 26mm ± 1mm |
| 页脚距离 | 25mm |
字体与字号
| 元素 | 字体 | 字号 |
|---|---|---|
| 标题 | 方正小标宋简体 | 一号(26pt) |
| 正文 | 仿宋_GB2312 | 三号(16pt) |
| 英文/数字 | Times New Roman | 随上下文 |
| 发文机关标志 | 方正小标宋简体 | 30pt(红色 #E00000) |
| 签发人 | 仿宋_GB2312 | 三号 |
| 签发人姓名 | 楷体 | 三号 |
| 页码 | 宋体 | 四号(14pt) |
💡 所有字体操作均设置 Word XML 全部 4 个字体属性(w:ascii、w:hAnsi、w:eastAsia、w:cs),避免 MS Gothic / MS Mincho 回退。
段落格式
| 元素 | 行距 | 缩进 | 对齐 |
|---|---|---|---|
| 标题 | 33pt | 居中 | 居中 |
| 正文 | 28.95pt | 首行缩进 2 字符 | 两端对齐 |
| 一级标题 | 33pt | 左空二字 | 左对齐 |
| 版记 | — | 左空一字 | 左对齐 |