尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Typora Markdown写作伴侣:一键调用万象熔炉·丹青幻境为文章配图

Typora Markdown写作伴侣:一键调用万象熔炉·丹青幻境为文章配图 Typora Markdown写作伴侣一键调用万象熔炉·丹青幻境为文章配图1. 引言当写作遇上配图难题如果你经常用Markdown写技术博客或者项目文档肯定遇到过这个场景文章写到一半需要一个示意图或者流程图来辅助说明这时候就得停下来要么去网上找半天图要么打开设计软件自己画。找图吧版权和风格匹配是个问题自己画吧又费时费力打断写作思路。我之前写一篇技术分享光是找合适的配图就花了一个多小时写作的连贯性全被打乱了。后来我想既然现在AI画图这么厉害能不能在我写Markdown的时候直接让AI根据我的文字描述当场生成一张图然后自动插到文档里呢这个想法听起来有点科幻但实现起来其实并不复杂。今天要分享的就是如何把Typora这个优秀的Markdown编辑器和你本地部署的“万象熔炉·丹青幻境”AI绘画服务打通打造一个真正的“写作伴侣”。选中一段描述文字按个快捷键等上几十秒一张为你文章量身定制的插图就出现在光标位置了。整个过程不需要离开编辑器不需要手动保存图片再插入真正实现了“所想即所得”。对于需要大量配图的技术文档、教程、博客来说效率提升不是一点半点。2. 核心思路让编辑器与AI服务对话要实现这个功能核心就是让Typora能和你本地跑起来的AI绘画服务“说上话”。Typora本身支持通过自定义命令调用外部脚本或程序这给了我们很大的操作空间。整个流程可以拆解成几个简单的步骤你在Typora里写了一段描述图片的文字比如“一个程序员在深夜调试代码的卡通插图”。选中这段文字然后触发一个自定义命令比如按个快捷键。Typora会把你选中的文字传递给一个你事先写好的脚本。这个脚本充当“信使”它拿着这段文字描述去调用你本地部署的‘万象熔炉·丹青幻境’服务的API接口。AI服务收到请求开始“作画”生成图片。脚本收到AI返回的图片数据把它保存到你指定的文件夹同时记录下图片的路径。脚本再告诉Typora“图已经生成好了路径是XXX请把它以Markdown图片语法插入到刚才选中文字的位置。”Typora照做你的文档里瞬间就多了一行![描述](图片路径)。听起来步骤不少但一旦配置好对你来说就是“选中 - 按快捷键 - 等结果”三个动作。下面我们就来看看具体怎么搭建这个工作流。3. 前期准备确保AI服务就绪在让Typora调用之前你得先确保“万象熔炉·丹青幻境”这个服务已经在你的电脑上正常运行。这里假设你已经通过一些镜像部署工具比如星图镜像广场上提供的相关镜像把它部署好了。你需要确认几个关键点3.1 服务地址和端口通常本地部署后服务会运行在一个特定的端口上比如http://127.0.0.1:7860或http://localhost:7860。打开浏览器访问这个地址你应该能看到服务的Web界面。记下这个地址后面脚本会用到。3.2 API接口可用性我们需要的是服务的API接口而不是Web界面。大多数这类AI绘画服务都提供了标准的API。你需要查阅你所使用的“万象熔炉·丹青幻境”具体版本的文档找到它的文生图Text-to-ImageAPI端点Endpoint是什么。通常它可能长这样http://127.0.0.1:7860/api/predict或者http://127.0.0.1:7860/sdapi/v1/txt2img。同时你还需要了解这个API需要以什么格式接收数据一般是JSON以及哪些是必填的参数。关键参数通常包括prompt: 最重要的就是你写的图片描述文字。negative_prompt: 反向提示词告诉AI你不想要什么。steps: 迭代步数影响生成质量和时间。cfg_scale: 提示词相关性值越高越贴近你的描述。width/height: 生成图片的尺寸。sampler_name: 采样器名称。seed: 随机种子固定种子可以复现相同图片。如果你不太确定一个简单的测试方法是打开浏览器的开发者工具F12在Web界面上操作生成一张图观察网络Network选项卡里发送的请求就能找到真实的API地址和请求格式。3.3 准备一个图片保存目录在你的电脑上找一个合适的位置创建一个文件夹专门用来存放这个工作流生成的图片。例如D:\MyDocs\AI_Images。记下这个路径。4. 搭建桥梁编写调用脚本这是整个方案的核心部分。我们需要一个脚本它能接收Typora传来的文本去调用AI API保存图片并返回Markdown格式的图片链接。这里以Python脚本为例因为它跨平台且库丰富。下面是一个基本的脚本示例generate_image_for_typora.py#!/usr/bin/env python3 Typora 自定义命令脚本调用本地AI绘画服务生成图片并插入。 import sys import json import requests from pathlib import Path from datetime import datetime import uuid # 配置区域根据你的实际情况修改 # 1. 你的AI服务API地址 API_URL http://127.0.0.1:7860/sdapi/v1/txt2img # 请替换为你的实际API地址 # 2. 图片保存目录 IMAGE_SAVE_DIR Path(D:/MyDocs/AI_Images) # 请替换为你的实际路径 # 3. 图片访问的基础URL用于Markdown链接 # 如果你使用Typora的“复制图片到指定文件夹”功能这里可以设为相对路径 ./ # 如果图片保存在固定位置并用绝对路径访问可以留空或设为 file:/// 开头 IMAGE_BASE_URL ./ # def main(): # 从Typora获取选中的文本作为提示词 # Typora会将选中的文本作为命令行参数传入 if len(sys.argv) 2: # 如果没有提供参数可以设置一个默认提示词或者退出 prompt a beautiful landscape else: prompt sys.argv[1] if not prompt.strip(): print(提示词为空未生成图片。) return print(f正在生成图片提示词: {prompt[:50]}...) # 输出日志Typora会捕获显示 # 准备API请求的载荷Payload payload { prompt: prompt, negative_prompt: low quality, blurry, ugly, # 反向提示词可根据需要修改 steps: 20, # 迭代步数 cfg_scale: 7, # 提示词相关性 width: 512, # 图片宽度 height: 512, # 图片高度 sampler_name: Euler a, # 采样器 seed: -1, # -1表示随机种子 } try: # 发送请求到AI服务 response requests.post(urlAPI_URL, jsonpayload, timeout120) # 设置较长超时时间 response.raise_for_status() # 检查请求是否成功 # 解析返回的JSON获取图片数据通常是base64编码 r response.json() image_base64 r[images][0] # 解码并保存图片 import base64 image_data base64.b64decode(image_base64) # 生成唯一文件名避免冲突 timestamp datetime.now().strftime(%Y%m%d_%H%M%S) unique_id str(uuid.uuid4())[:8] filename ftypora_ai_{timestamp}_{unique_id}.png image_path IMAGE_SAVE_DIR / filename # 确保保存目录存在 IMAGE_SAVE_DIR.mkdir(parentsTrue, exist_okTrue) with open(image_path, wb) as f: f.write(image_data) print(f图片已保存至: {image_path}) # 构建Markdown图片语法并输出 # Typora会捕获这个输出并将其插入到光标位置 markdown_link f![{prompt}]({IMAGE_BASE_URL}{filename}) print(markdown_link) except requests.exceptions.RequestException as e: print(f调用AI服务失败: {e}) except KeyError as e: print(f解析API响应失败请检查API格式: {e}) except Exception as e: print(f生成过程中出现未知错误: {e}) if __name__ __main__: main()脚本使用前你需要做几件事修改配置打开脚本修改最上面的API_URL、IMAGE_SAVE_DIR和IMAGE_BASE_URL让它符合你的环境。安装依赖确保你的Python环境安装了requests库。如果没有在命令行运行pip install requests。测试脚本在命令行手动运行一下这个脚本看看能不能正常生成图片。python generate_image_for_typora.py a cute cat wearing glasses如果成功你应该能在指定的文件夹里看到生成的图片并且命令行会输出像![a cute cat...](./typora_ai_xxxxxx.png)这样的文本。5. 连接Typora配置自定义命令脚本准备好了现在要让Typora能调用它。打开Typora进入文件-偏好设置macOS是Typora-偏好设置。在设置面板中找到通用选项卡。向下滚动找到高级设置部分点击打开高级设置按钮。这会打开一个conf.user.json文件。在这个JSON文件中我们需要添加一个customCommands配置。找到合适的位置比如在最后的大括号前添加如下配置{ // ... 其他已有配置 ... customCommands: [ { name: AI生成配图, command: python, args: [/你的/脚本/完整/路径/generate_image_for_typora.py, ${selected}], keyBinding: Ctrl-Shift-I } ] }重要参数解释name: 在Typora菜单中显示的命令名称。command: 执行脚本的解释器这里是python。args: 传递给解释器的参数列表。第一个参数是你的Python脚本的完整路径注意Windows用反斜杠\或双正斜杠\\建议使用/或\\。第二个参数${selected}是Typora的特殊变量代表你当前选中的文本。keyBinding: 为这个命令设置的快捷键。Ctrl-Shift-I是一个建议你可以改成任何不冲突的快捷键。保存conf.user.json文件并重启Typora使配置生效。6. 实战演示从文字到插图的秒速体验配置完成后我们来实际用一下感受它的便捷。假设我正在写一篇关于Python异步编程的文章需要一张图来表现“事件循环”的概念。编写描述我在Typora里写下这样一段描述“A simple and elegant diagram illustrating the concept of an event loop in computer programming, with arrows showing tasks being added and processed in a queue, digital art, flat design.”选中并触发我选中这段英文描述用英文提示词通常效果更好然后按下我们设置的快捷键Ctrl-Shift-I。也可以点击顶部菜单栏的格式-自定义命令-AI生成配图。等待生成Typora底部状态栏会显示“Running command...”脚本开始工作。大约20-50秒后取决于你的模型和参数状态栏提示完成。查看结果光标处自动插入了一行Markdown图片代码比如![A simple and elegant diagram...](./typora_ai_20231027_143022_abc123.png)。Typora会立即将其渲染为图片显示出来。一张描绘事件循环的简约风格示意图就出现在了我的文档中。如果对第一次生成的效果不满意我可以稍微修改提示词比如加上“minimalist, blue and white color scheme”再生成一次直到获得满意的配图。处理中文描述如果你习惯用中文描述脚本也完全支持。现在的AI模型对中文的理解已经很好。你可以写“一幅表现编程中事件循环概念的示意图极简风格蓝色调。” 同样选中并运行命令即可。如果效果不佳可以尝试将中文翻译成英文后再生成通常细节会更丰富。7. 进阶优化与使用技巧基础功能跑通后你可以根据自己的需求把这个工作流打磨得更加顺手。参数图形化前端可选如果你觉得修改脚本里的参数如尺寸、步数太麻烦可以写一个更复杂的脚本或者用其他支持图形界面的工具如AutoHotkey、PowerShell窗体来包装在生成前弹个小窗口让你调整参数。与Typora图片设置集成在Typora偏好设置的图像选项卡里可以设置“复制图片到指定文件夹”。你可以将脚本的图片保存目录设置为Typora的这个“指定文件夹”并将IMAGE_BASE_URL设为./。这样所有图片包括AI生成的和手动复制的都统一管理文档迁移也更方便。提示词库为常用的配图场景如“架构图”、“流程图”、“封面图”、“表情包”准备一些高质量的提示词模板保存在一个文本文件里。需要时在Typora中选中对应的模板名称脚本可以读取文件并替换为完整的提示词再发送给AI。错误处理与日志在上面的脚本基础上可以增加更完善的错误处理和日志记录功能方便排查问题。多模型切换如果你的AI服务支持多个模型可以在脚本中通过参数指定使用哪个模型实现不同画风的快速切换。8. 总结回过头看我们只是用了一个简单的Python脚本就把专业的Markdown编辑器和强大的本地AI绘画能力连接了起来。这个方案最大的好处就是“无缝”和“专注”。写作的时候你的思维不需要在编辑器、浏览器、图片文件夹之间来回跳跃所有的创作动作都集中在Typora这一个窗口里完成。它可能生成的不是每张都完美的艺术品但对于技术文档、博客配图这种强调示意和效率的场景完全足够了。你可以快速获得一张风格统一、完全原创、且紧密贴合文字内容的插图省去了大量搜寻和调整的时间。配置过程可能需要你花上半个小时熟悉和调试但一旦完成它将成为你写作流程中一个高频使用的利器。下次当你写文档卡在配图环节时不妨试试自己动手搭建这个“写作伴侣”体验一下让AI为你实时“画”出所想的感觉。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
返回列表