先从一个常见的科研绘图场景说起。
论文返修意见里写着“补充材料与方法流程图”,你打开 Visio 开始拖矩形、拖箭头,调整对齐、改字号、统一配色;好不容易画完一版,导师又说“实验模块顺序不对,算法部分要改成三列”;于是你又回到画布上,把整块图形选中、拖动、重新连线。这种循环在写论文、做汇报、整理技术方案时反复出现。
如果把“手工拖拽绘图”变成“用文字描述结构,让工具自动生成图形”,能不能直接躺平?答案是能的。OpenAI 的 Codex 这类编程智能体,最擅长的事情就是把自然语言描述变成代码和文件。而 Visio 只是缺少一个能听懂自然语言的入口。本文把这两件事接起来:用 Codex 自动生成可编辑的绘图文件,再交给 Visio 完成最终排版,形成一条完整的“科研绘图自动化”链路。
文章会覆盖 Codex 的安装、模型服务配置,Visio 的环境准备,自动生成绘图的完整流程,以及过程中最常见的报错和排查方法。适合正在写论文、做项目汇报、画系统架构图的同学,也适合想接触 AI 辅助绘图的开发者。
1. 背景与核心概念
1.1 科研绘图为什么这么费时间
科研绘图的“费时间”和平时画示意图不一样。论文里的技术路线图、实验流程图、系统架构图,往往有这些要求:模块之间的先后关系必须准确;同一层级节点的尺寸、风格要统一;箭头方向、交叉连线要清晰;导出到论文里时,分辨率还要足够高,不能发虚。这些要求叠加在一起,导致绘图工具的使用成本很高。
更麻烦的是修改成本。一张图从初稿到终稿,通常要经历多次返工:加一个模块、调整顺序、合并分支、改配色。在 Visio 里,质量比较高的图是由大量“框 + 连线 + 文本”组成的,每次修改都需要重新选中、移动、对齐、验证不交叉。这本质上不是技术问题,而是重复劳动问题。
1.2 Codex 是什么,能干什么
Codex 是 OpenAI 推出的编程智能体工具,用户可以通过自然语言描述任务,由它自动完成代码编写、文件生成、命令行执行等操作。它不只是一个聊天窗口,而是能“动手做”的代理:你说“帮我生成一个 Python 脚本,读取 CSV 并绘制柱状图”,它可能会真的把脚本写出来,甚至帮你尝试运行,然后根据报错继续修正。
这个能力放到绘图场景里,价值非常大。因为绝大多数绘图工具都没有“听得懂人话”的接口,但 Codex 可以把自然语言转换成结构化文件。比如你告诉它“生成一个三层的技术路线图,最初是数据预处理,中间是特征工程,最后是模型评估”,它就可以产出一份包含节点、坐标、连线、样式的绘图描述文件。
Codex 目前可以通过官方 CLI、桌面客户端等方式使用,具体形态变化较快,安装和使用以官方文档为准。本文后面会给出一个完整可参考的实操链路。
1.3 Visio 在科研绘图中的定位
Visio 是微软的专业图形绘制工具,擅长画流程图、组织结构图、网络拓扑图、实验流程图等。在科研场景里,很多人把 Visio 当成最终排版工具:先用工具或代码搭出草图,再放到 Visio 里调整对齐、字体、线宽,然后导出高分辨率图片。
Visio 的主要优势在于“所见即所得”的精细排版。它对节点对齐、参考线、自动连线、页面尺寸都有非常成熟的支持。不足之处也很明显:它没有一个“从文字自动生成图形”的入口。我们今天的任务,就是给 Visio 补上这个入口。
1.4 Codex + Visio 的自动化思路
核心思路可以用一条链路概括:
bash复制自然语言需求
↓ Codex 生成
draw.io XML(或 Mermaid / Graphviz 等文本图形描述)
↓ 转换工具
draw.io 桌面版打开 / 导出
↓ .vsdx 文件
Visio 打开并微调排版
↓ 最终输出
论文配图 / 汇报插图
这里为什么用 draw.io XML 作为中间格式?因为 Visio 没有一套稳定的“纯文本生成 .vsdx”的官方推荐入门方式,直接让 Codex 生成二进制 .vsdx 文件比较麻烦。但 draw.io XML 是非常成熟的可视化描述格式:它本身就是文本,Codex 很擅长生成;draw.io 桌面版可以自由打开它,并且支持导出为 .vsdx,再交给 Visio 继续编辑。
这样一来,绘图的本质就从“手工拖拽”变成了“文本描述 + 自动生成 + 排版微调”。改图时,不需要再去画布上挪框,只需要回来修改那段描述文本,重新生成即可。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与版本说明
2.1 设备与操作系统建议
这条链路中,Codex CLI 是跨平台的,Windows、macOS、Linux 都能运行。但最后要用 Visio 出图,所以 Windows 环境会更顺滑。如果只有 macOS 或 Linux,可以走完前几步,最后把 .vsdx 文件拷贝到 Windows 上打开,或者使用网页版绘图工具替代。
开发环境方面,Codex CLI 依赖 Node.js 运行时。安装时建议使用 Node.js 的 LTS 版本,因为 LTS 版本更稳定。如果你电脑上已经装了 nvm(Node 版本管理器),可以随时切换版本,这比直接安装导致版本冲突要省心很多。
2.2 账号与模型服务准备
使用 Codex 需要一个可用的模型服务来源。两类情况:
- 使用 OpenAI 官方服务:需要 OpenAI 账号,并在本地配置 API Key,或者使用官方 CLI 提供的登录方式。
- 使用第三方模型服务:很多国内开发者会通过服务商提供的 OpenAI 兼容接口来调用模型,这时需要在 Codex 的配置里指定接口地址。CCSwitch 这类本地工具可以把不同模型服务统一成 Codex 能识别的格式。
账号准备好之后,建议先用文本对话测试一下模型服务是否可用,再进入 Codex 安装环节。
2.3 工具清单
以 Windows 环境为例,推荐准备以下工具:
| 工具 | 作用 | 获取方式 |
|---|---|---|
| Node.js LTS | 运行 Codex CLI | 官方安装包或 nvm |
| Codex CLI | 执行自然语言绘图任务 | 官方 npm 包 |
| CCSwitch | 统一第三方模型服务接口 | 官方渠道下载 |
| draw.io 桌面版 | 打开生成文件并导出 VSDX | diagrams.net 官网 |
| Microsoft Visio | 最终排版和导出 | 微软官方购买或企业授权 |
| Git | 管理绘图文件版本 | 官方安装包 |
以上工具都有免费或官方评估渠道,不建议从第三方网站下载不明安装包,尤其是 Visio。原因在后面安全合规部分会提到。
3. Codex 安装与模型服务配置
3.1 安装 Codex CLI
Codex 的官方安装方式会根据版本发生变化。通常可以在终端里通过 npm 全局安装,命令类似:
bash复制npm install -g @openai/codex
安装完成后,检查是否成功:
bash复制codex --version
如果提示 command not found,大概率是 Node.js 的全局 bin 目录没有加到 PATH 中。Windows 上可以尝试重新打开终端,或者检查 npm 全局路径配置:
bash复制npm config get prefix
把 prefix 对应的目录加入系统环境变量 PATH 即可。
如果你的网络环境中 npm 官方源比较慢,也可以通过镜像源安装。这一步本质是 npm 仓库加速,不影响 Codex 后续使用。
3.2 初始化登录与鉴权
Codex 首次使用需要鉴权。官方 CLI 通常支持两种方式:一种是交互式登录,另一种是环境变量设置 API Key。
交互式登录命令一般是:
bash复制codex login
执行后,终端会提示打开浏览器完成授权。授权成功之后,Codex 会把凭据保存在本地配置目录中。
如果你习惯使用 API Key,可以直接设置环境变量。在 Windows PowerShell 中:
powershell复制$env:OPENAI_API_KEY="你的API密钥"
macOS 或 Linux 中使用:
bash复制export OPENAI_API_KEY="你的API密钥"
需要提醒的是,API Key 是敏感凭据,不要提交到 Git 仓库。如果是在团队项目里,建议使用密钥管理工具或本地环境文件,而不是写在明文的共享配置里。
3.3 通过 CCSwitch 接入第三方模型服务
很多团队的模型服务并不是直接访问 OpenAI 官方,而是使用国内可正常调用的服务商接口。此时 Codex 默认配置无法直接连接,需要用工具把服务商接口转换成 Codex 可识别的格式。
CCSwitch 就是这类工具中的一种。它可以在本地启动一个兼容 OpenAI 接口的服务,然后把请求转发到你配置的模型服务商。对 Codex 来说,它只需要知道一个 base_url 和 API Key。
Codex 的配置文件一般在用户目录下的 ~/.codex/config.toml。参考配置片段如下,具体字段以你安装的 Codex 版本为准:
toml复制# 模型名称请换成服务商支持的模型
model = "你所用服务商支持的模型名"
model_providers = [
{
name = "ccswitch",
base_url = "http://127.0.0.1:本地端口",
env_key = "CCSWITCH_API_KEY"
},
]
配置完成后,设置对应的环境变量:
bash复制export CCSWITCH_API_KEY="你的服务商密钥"
这里的关键点是:base_url 必须和 CCSwitch 本地服务监听的地址一致,端口不能写错。CCSwitch 的界面上一般会显示当前可用的本地服务地址,直接复制那个地址即可。
3.4 验证 Codex 可用
配置完成后,执行一个最简单的任务来验证:
bash复制codex exec "用 Python 写一个 hello.py,运行并输出 HelloCSDN"
如果 Codex 返回一段代码并成功运行,说明链路已经通了。如果报错,优先检查:
- 模型名是否被服务商支持;
- base_url 是否正确;
- API Key 是否正确;
- 本地服务是否启动。
验证通过后,我们就可以开始正式的绘图实战。
4. Visio 环境与绘图文件准备
4.1 Visio 的获取与版本选择
Visio 是商业软件,获取方式通常有几种:个人购买、Microsoft 365 订阅包含、企业批量授权。为了让最终文件编辑体验最顺滑,建议优先使用微软官方渠道安装,不要使用第三方“绿色版”或激活工具。很多安全事件都源于安装来源不明的破解软件,风险远大于省下来的那点费用。
Visio 版本方面,常见的有 Visio Standard、Visio Professional,以及按订阅方式提供的 Visio Plan 1、Plan 2。版本越高,对复杂流程图的建模和导出支持越好。具体版本差异以微软官网为准,这里不展开。
4.2 与 Office 版本匹配关系
很多人会有这样的疑问:Visio 和 Office 版本要一样吗?
Visio 虽然属于 Microsoft 365 生态,但它是独立安装的产品,不要求本机必须安装同版本的 Office。比如电脑上装了 Office 2019,也可以安装 Visio 2021 或订阅版 Visio Plan 2。不过要注意文件兼容性:如果你把 .vsdx 文件发给别人,对方需要能打开对应版本文件的 Visio,否则就会出现“文件版本过高,无法打开”的提示。
稳妥的做法是:内部协作时统一 Visio 版本;对外交付时,如果对方没有 Visio,可以导出 PDF 或高清 PNG,减少格式兼容问题。
4.3 为什么不直接在 Codex 里画
Codex 擅长生成代码和文本,但它不擅长直接操作 GUI 程序。你让它“打开 Visio 画一条流程线”,可能会得到一堆不可用的方案,因为 Visio 没有面向 Codex 的稳定自动化接口。
但 Codex 非常擅长生成“描述图形”的文本。这类文本有很多格式:draw.io XML、Mermaid、Graphviz、PlantUML 等。我们要利用的,就是 Codex 对结构化文本的生成能力。这也解释了为什么整个链路选择“文本描述 → 中间格式 → Visio”而不是“Codex 直接操作Visio”。
5. 全自动绘图实战:从自然语言到 Visio 可编辑文件
5.1 整体流程设计
先画一张流程示意:
bash复制1. 你:用自然语言描述科研图内容
2. Codex:生成 draw.io XML 文件(.drawio)
3. draw.io:打开文件并查看效果
4. draw.io:导出为 .vsdx
5. Visio:打开 .vsdx,微调排版
6. 输出:论文所需的 PDF/PNG/SVG
这个流程里,绘图的“创建”环节由 Codex 完成,“编辑”环节由 Visio 完成。改图时,你只需要回到第 1 步修改文字描述,重新生成,不需要再手工拖动那些框线。
5.2 步骤一:编写绘图 Prompt
Prompt 的质量直接决定生成结果。只写一句“帮我画个流程图”,Codex 会自由发挥;写清楚节点、层级、连线关系、布局方向,它才能画出可用的图。
推荐把 Prompt 拆成四部分:
- 背景:这张图用在什么地方;
- 内容:具体有哪些节点和连线;
- 布局:从上到下还是从左到右;
- 输出格式:必须是 draw.io XML。
示例 Prompt:
text复制请为我的论文生成一张技术路线图,使用 draw.io XML 格式输出。
背景:这是计算机视觉论文的 Materials and Methods 部分。
布局:从上到下,分四层。
第一层:研究目标,节点文字为“基于深度学习的裂缝检测”。
第二层:数据预处理,包含两个节点:“图像采集”、“数据增强”。
第三层:模型构建,包含三个节点:“骨干网络”、“特征金字塔”、“检测头”。
第四层:结果评估,包含两个节点:“定量指标”、“可视化分析”。
连线规则:
- 第二层两个节点都指向第三层的第一个节点;
- 第三层内部按顺序连接;
- 第四层两个节点都从第三层最后一个节点引出;
- 如果同一层有多个节点,请让它们横向均匀分布,保持同层对齐。
样式要求:
- 节点使用圆角矩形;
- 配色使用浅蓝色背景和深色文字;
- 连线带箭头,拐角尽量使用直角。
请直接输出完整的 draw.io XML。
这个 Prompt 明确告诉 Codex“背景、内容、布局、连线规则、样式、输出格式”。后面即使需要修改,也只需要改动其中一两句描述,不需要重新编写全部内容。
5.3 步骤二:让 Codex 生成 draw.io XML
将上面的 Prompt 交给 Codex 执行,让它把结果保存成文件。你可以直接要求:
bash复制将上面的 XML 内容保存为 file:paper_pipeline.drawio
Codex 会写文件,你就能在项目目录里看到绘图源文件。一个简化后的 draw.io XML 大概是这样的结构:
xml复制<mxfile host="app.diagrams.net" modified="2025-01-01T00:00:00.000Z">
<diagram name="技术路线图" id="paper-pipeline">
<mxGraphModel dx="800" dy="600" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- 第一层:研究目标 -->
<mxCell id="node1" value="基于深度学习的裂缝检测" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="300" y="40" width="220" height="60" as="geometry" />
</mxCell>
<!-- 第二层:数据预处理 -->
<mxCell id="node2" value="图像采集" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="150" y="160" width="160" height="50" as="geometry" />
</mxCell>
<mxCell id="node3" value="数据增强" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="510" y="160" width="160" height="50" as="geometry" />
</mxCell>
<!-- 连线 -->
<mxCell id="edge1" style="edgeStyle=orthogonalEdgeStyle;" edge="1" source="node2" target="node4" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
这段 XML 里,mxCell 代表一个元素,vertex="1" 表示节点,edge="1" 表示连线。节点的坐标和尺寸由 mxGeometry 控制,文字内容由 value 控制。Codex 生成的文件会比这个示例完整得多,但结构是同一个体系。
5.4 步骤三:用 draw.io 打开并导出 VSDX
打开 draw.io 桌面版,在菜单里选择 File > Open,找到 Codex 生成的 .drawio 文件。此时会看到完整的技术路线图。
如果要从文本图形变成 Visio 可编辑的格式,操作是:
File > Export as > VSDX;- 选择保存路径;
- 得到
.vsdx文件。
如果当前 draw.io 版本不支持 VSDX,可以尝试导出为旧版 VDX 格式,再在 Visio 中打开并另存为当前版本。两种方式都可以,优先用 VSDX。
这里需要说明一下:draw.io 导出 VSDX 时,简单的节点和连线通常能转换得很好,但如果原文件里有很多高级图形、特殊嵌入对象,转换后可能需要手工修复。对绝大多数科研流程来说是够用的。
5.5 步骤四:在 Visio 中完成最终排版
用 Visio 打开 .vsdx 文件后,重点做三件事:
第一,页面尺寸。在 设计 > 页面设置 中选择适合论文插入的尺寸。一般横向图使用 A4 横版或自定义宽度,避免后期裁剪。
第二,对齐和间距。使用 开始 > 排列 中的对齐、分布功能,让同一层节点水平对齐、纵向间距一致。这一步能快速去除手动画图常见的“歪歪扭扭”问题。
第三,统一字体和线宽。科研绘图最忌讳同一张图里出现三种以上字体。建议全图统一使用同一种无衬线字体,例如微软雅黑或 Arial;线宽统一为一致数值;连接线箭头样式统一。
排版完成后,按目标渠道导出。论文配图通常导出 TIFF 或高分辨率 PNG;汇报 PPT 可以导出 EMF(矢量格式)保持清晰。
5.6 附:用 Python 自动生成 draw.io XML 的示例
有些情况下,你不想每次都依赖外部模型服务生成文件,而是希望批量生成固定模板图。这时可以用 Python 直接生成 draw.io XML。下面是一个最小可运行示例,它的作用是生成一张包含两个节点和一条连线的简单流程图。
python复制# 文件路径:generate_drawio.py
import xml.etree.ElementTree as ET
# 创建根元素
root = ET.Element(
"mxfile",
attrib={
"host": "app.diagrams.net",
"type": "device",
},
)
diagram = ET.SubElement(
root,
"diagram",
attrib={"name": "简单流程图", "id": "simple-flow"},
)
model = ET.SubElement(
diagram,
"mxGraphModel",
attrib={
"dx": "800",
"dy": "600",
"grid": "1",
"gridSize": "10",
"guides": "1",
"tooltips": "1",
"connect": "1",
"arrows": "1",
"fold": "1",
"page": "1",
"pageScale": "1",
"pageWidth": "827",
"pageHeight": "1169",
"math": "0",
"shadow": "0",
},
)
root_cell = ET.SubElement(model, "root")
ET.SubElement(root_cell, "mxCell", attrib={"id": "0"})
ET.SubElement(root_cell, "mxCell", attrib={"id": "1", "parent": "0"})
# 节点1
node1 = ET.SubElement(
root_cell,
"mxCell",
attrib={
"id": "node1",
"value": "输入数据",
"style": "rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;",
"vertex": "1",
"parent": "1",
},
)
ET.SubElement(
node1,
"mxGeometry",
attrib={"x": "200", "y": "160", "width": "160", "height": "60", "as": "geometry"},
)
# 节点2
node2 = ET.SubElement(
root_cell,
"mxCell",
attrib={
"id": "node2",
"value": "输出结果",
"style": "rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;",
"vertex": "1",
"parent": "1",
},
)
ET.SubElement(
node2,
"mxGeometry",
attrib={"x": "500", "y": "160", "width": "160", "height": "60", "as": "geometry"},
)
# 连线
edge = ET.SubElement(
root_cell,
"mxCell",
attrib={
"id": "edge1",
"style": "edgeStyle=orthogonalEdgeStyle;rounded=0;",
"edge": "1",
"source": "node1",
"target": "node2",
"parent": "1",
},
)
ET.SubElement(edge, "mxGeometry", attrib={"relative": "1", "as": "geometry"})
# 生成文件
tree = ET.ElementTree(root)
ET.indent(tree, space=" ")
tree.write("simple_flow.drawio", encoding="UTF-8", xml_declaration=True)
print("已生成 simple_flow.drawio")
运行:
bash复制python generate_drawio.py
之后打开生成的 simple_flow.drawio,就能看到两个节点和一条连线。这个脚本验证了“文本文件 → 图形文件”的原理:节点坐标、样式、连线全都只是文本,谁写文本都可以。Codex 本质上也是在做这件事,只不过比手写脚本更灵活。
如果你的绘图需求是固定结构、固定模板,用 Python 脚本批量生成会更快;如果需求千变万化,让 Codex 按自然语言生成更合理。两者可以组合使用。
6. 常见问题与排查思路
6.1 Codex 安装与登录问题
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| codex 命令找不到 | Node.js 全局 bin 目录不在 PATH | 执行 npm config get prefix,把对应目录加入 PATH |
| 登录不上 | 浏览器授权页面未正常打开,或账号权限不足 | 重新执行 codex login,检查网络和账号状态 |
| 无法加载组织设置 | 登录账号未绑定组织,或组织接口访问异常 | 检查账号是否已加入组织,重新登录,或直接使用 API Key |
| Windows 设置未完成 | 环境变量、PATH、凭据未配置完整 | 按照安装提示重新跑一遍设置,重启终端再验证 |
6.2 CCSwitch 与模型调用问题
这里重点讲一个高频报错:
text复制cc switch local proxy failed while handling codex endpoint /responses. ...
这个报错字面上是“CCSwitch 本地代理处理 /responses 请求失败”。常见的根因有三个:
第一,CCSwitch 本地服务没有启动。Codex 请求发过去,但是本地端口没有任何程序接收。解决方法是打开 CCSwitch,确认本地服务状态处于运行中。
第二,base_url 配置的地址或端口和 CCSwitch 实际监听地址不一致。检查 config.toml 中的端口是否和 CCSwitch 界面显示的一致。
第三,模型服务商没有实现 /responses 接口。Codex 新版的部分请求会走 /responses 接口,而很多第三方兼容服务只实现了 /chat/completions。如果 CCSwitch 无法把新版接口转换为服务商支持格式,就会出现这个报错。此时可以尝试在 CCSwitch 中开启协议兼容模式,或者把 Codex 配置调整到兼容旧接口的版本。
另外还有个常见提示:
text复制codex is ignoring 1 unrecognized configuration setting. check for typos or d...
意思是配置文件里出现了 Codex 不认识的配置项。通常是 config.toml 中拼写错误,或从网上复制了其他版本配置。解决方法是打开配置文件逐项检查,删除未知字段,只保留官方文档中列出过的配置项。
如果遇到模型名不支持,例如提示:
text复制the 'gpt-5.6-sol' model is not supported when using codex with a...
说明模型名写错了,或者当前服务商没有这个模型。需要查一下服务商实际支持的模型列表,然后把 config.toml 里的 model 改成正确名称。检查时注意大小写和空格,有些模型名对大小写敏感。
6.3 Visio 导入与版本问题
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| Visio 打不开 .vsdx,提示版本过高 | 文件由更高版本 Visio 保存 | 用 draw.io 重新导出为兼容格式,或让对方降级保存 |
| 打开 .vsdx 后文字重叠 | draw.io 转换时样式映射不完全 | 在 Visio 中全选图形,使用“排列”功能重新对齐 |
| 导出图片模糊 | 页面尺寸小,导出分辨率低 | 先设置大页面尺寸,再用高分辨率或矢量格式导出 |
| Visio 与 Office 版本不一致 | 以为是强制要求 | 独立产品不要求同版本,但建议同代版本降低兼容问题 |
需要注意的是,Visio 文件格式兼容问题在团队协作中很常见。如果你负责生成原始绘图,建议同时保留 .drawio 源文件、.vsdx 中间文件、PDF/PNG 最终文件三种形式,分别对应“可修改的文本源”“可编辑的绘图源”“可直接使用的成果”。
7. 最佳实践与工程建议
7.1 用文本管理科研绘图资产
当你走通“Codex → draw.io XML → VSDX → Visio”这条链路后,最好把所有绘图的文本描述和 .drawio 文件统一放到 Git 仓库里管理。这样每一次“改图”都有记录:上个月用的配色是什么样的,后来为什么把三个模块合并成两个,全部能从历史提交里找出来。
不要只保存 .vsdx 文件。.vsdx 本质上是压缩包,对 Git 的 diff 不友好;而 .drawio 是纯文本,适合评审和追溯。把 Prompt 描述也一起保存,以后复用会非常方便。
7.2 提示词模板沉淀
每个人都会遇到几种固定类型的图。比如论文技术路线图、系统架构图、实验流程图、算法对比表结构图。可以把这些图的 Prompt 沉淀成模板。
一个不错的模板结构如下:
text复制绘图类型:
绘图用途:
节点层级:
连线规则:
样式要求:
输出格式:
下次画同类图时,只需要替换“节点层级”和“连线规则”,其他保持不变。这样会比每次从零开始写 Prompt 稳定很多。
7.3 科研绘图规范
科研绘图的“高级感”,往往不是来自复杂效果,而是来自统一和克制。建议遵循这几条:
- 全图字体不超过两种,常用无衬线字体;
- 同一层级节点尺寸一致;
- 节点间距一致,上下左右留白均匀;
- 配色控制在三种以内,一处高亮色,其余用低饱和色;
- 连线优先使用正交线,避免弧线交叉;
- 箭头方向统一,含义清晰;
- 导出前检查文字是否被裁剪,加粗层级是否正确。
这些规范不需要 PPT 里那种花哨的渐变、阴影、立体效果。论文图越干净越专业。
7.4 安全与合规
两个方面的安全需要重视。
第一是软件安全。Visio 属于商业软件,务必通过微软官方渠道获取。不要为了省安装步骤使用第三方“绿色版”“破解补丁”。这些文件是窃取信息、植入木马的高发渠道,对科研数据危害极大。
第二是数据安全。如果你处理的是尚未公开的实验数据、企业内部系统架构、敏感业务指标,不要把原始数据直接丢给外部模型服务。先对数据进行脱敏:把真实模块名替换成 A、B、C,把节点文字改成通用描述,等图形结构和配色确认后再替换成正式文案。如果企业内部使用了私有化部署的模型服务,通过 base_url 指向内网地址即可,原则是“数据不出内网,指令可以发往模型”。
7.5 给绘图链路加一点自动化
当你的绘图模板固定下来以后,还可以继续优化:写一个批处理脚本,每次从 Markdown 文档里读取绘图描述,自动调用 Codex 或 Python 脚本生成 draw.io 文件,再调用命令行版 draw.io 导出 VSDX。这样连“打开 draw.io 手动导出”都省了。
这样一来,真正需要手工参与的只有最后的 Visio 排版检查。画一张论文技术路线图的时间,会从几个小时压缩到几分钟。核心工作不再是拉框拖线,而是把思路写成结构化描述。
8. 小结与下一步
这一套“Codex 全自动画 Visio”的方案,本质上是用文本生成能力替代冗杂的手工排版,但也没有完全抛弃 Visio。Codex 负责把你脑子里的结构快速变成图形,Visio 负责把图形打磨成符合学术规范的成品。两者配合,既保留了 AI 生成的高效率,又保住了科研绘图的精细控制。
下一步你可以先从一张简单的技术路线图开始,按文章中的 Prompt 和流程走一遍。失败没有关系,绘图和调试代码一样,都是在报错中逐渐完善的。跑通之后,再把你最常用的两三类图沉淀成模板,以后写论文、做汇报、画架构图,基本可以告别“从早拖到晚”的绘图循环。
