一个 AI Native 的本地图片编辑器,专注于自媒体封面编辑。
每一个图层、每一个编辑操作都能直接交给 AI。 界面上能做的事,背后都是一条命令:AI 通过命令行 / HTTP API 直接调用,不用去操控浏览器。浏览器里打开的是同一份文档、同一套命令、同一个撤销栈,AI 的每一步都实时可见。
到 Releases 下载对应操作系统的版本进行安装。
注意:Windows版本安装包没有签名,安装过程中会提示「Windows 已保护你的电脑」,点击「更多信息 → 仍要运行」即可。
装好后:
- 第一次打开App,会引导你装好命令行工具和Agent skill(Agent靠它们干活),点两下就行;以后也能在菜单里找到这两项。
- 新开一个Agent会话,说“做一张小红书封面,标题是……”。Agent改的每一个图层都实时出现在App里。 编辑器左上角的链接按钮会复制当前设计稿和画板的链接,发给Agent,它就知道你说的是哪一张。
本机安装并登录 Codex CLI 或 Claude Code 后:
- 选中一个或多个图层,点击选框旁的评论图标。
- 输入修改意见,如「这些图层统一改成暖黄色」,点 ↑ 或按 Enter 提交(Shift + Enter 换行)。
- AI 会直接修改选中的图层,完成后自动更新画稿;顶部撤销可一次撤回整条评论的修改。
默认使用本机可用的 Codex,并记住上次选择的 AI。右侧「评论改图」保留历史记录、AI 切换和整个画板的评论入口。
Codex 使用常驻 app-server,每个项目独立保存会话。打开项目时预载项目名称、画板、图层、可用命令和字体,不触发模型回复;后续评论复用会话并附带最新画板快照。刷新页面或重启服务后会恢复该项目的会话。Claude Code 仍按单次评论启动。
会话仅用于生成编辑指令,修改仍由 DaVinci 校验、应用;取消或连接中断不会自动重发评论。服务日志记录准备、AI 和应用三个阶段的耗时。
打开项目及修改当前画板后,会在后台预先生成评论所需的预览。提交时按画板内容复用缓存;新旧版本分别保存,同时请求同一版本只渲染一次。缓存最多保留 16 份、32 MiB,字体更新后失效。
支持文字、配色、排版、图片滤镜和已导入素材的调整;暂不生成新的图片像素。
评论会保存,可取消处理或失败后重试。处理期间如果你改了画稿,旧结果不会覆盖新修改。
使用所选 CLI 已有的登录与模型配置,无需另填 API Key。请使用支持结构化输出的近期 CLI 版本。
若 App 未找到自定义安装路径,可在启动服务前设置 DAVINCI_CODEX_BIN / DAVINCI_CLAUDE_BIN 为程序绝对路径。
Windows 当前检测原生 .exe;npm 的 .cmd 启动器需要使用原生可执行文件路径。
需要先装好 Go 1.26+、Node 20+ 和 pnpm。
1. 启动服务
./start.sh构建并启动服务,浏览器会打开 http://127.0.0.1:7789。
2. 给 AI Agent 装 skill
./start.sh skill这一条命令会自动装好 davinci CLI(Agent 靠它干活),再把 skill 装给
Claude Code、Codex、Hermes 这些 AI Agent。
之后直接跟 Agent 说你想要创作的封面或调整就行,比如“做一张小红书封面,标题是……”,“把整体配色换一版”,“把人像换一张”等等,任何一个图层都能这样让 AI 改;它的每一步都会实时出现在浏览器里打开的同一个项目上。
| 模块 | 功能 | 说明 |
|---|---|---|
| 画布 | 尺寸预设 | 小红书 3:4 / 1:1、B 站 16:9、视频号 9:16、公众号头图 900×383,也可以自定义宽高 |
| 背景 | 纯色(从当前设计里取色推荐),或背景图(等比铺满) | |
| 多画板 | 一个项目放多个画板(参考原图 + 设计稿、一稿多版) | |
| 画板条 | 看缩略图切换;双击改名、拖动排序;右键复制 / 在后面新建 / 删除;可收起成「‹ 画板 N/M ›」 | |
| 文字 | 字体 | 按中英文名搜索;中文字体显示中文名并用字体本身预览;收藏置顶;系统界面字体和其他语种字体默认隐藏;可上传 .ttf / .otf(davinci font add) |
| 排版 | 字号、行高、字距、内边距;左 / 中 / 右对齐 | |
| 字形 | 字重(细 / 常规 / 粗 / 黑)、斜体、下划线、删除线 | |
| 颜色与效果 | 文字颜色、文字底色(色块底)、描边(颜色和粗细,可放在字的下面)、投影(颜色、不透明度、模糊、偏移) | |
| 变形 | 梯形透视(可调强度和相对高度)、斜切(整行斜向上走、竖笔不歪,可调角度),二选一;倾斜角度、横向拉伸目前在命令里设置 | |
| 文字预设 | 白色无衬线、黄底黑字、红底白字、黑描边、柔和投影、小字副标题、荧光笔 | |
| 画布上编辑 | 双击直接改字;拖侧边改换行宽度,拖四角等比缩放字号 | |
| 换行与缺字 | 中文按字、英文按词自动换行;字体缺字时自动换用中文字体 | |
| 图片 | 添加 | 本地上传、拖进画布、⌘V 粘贴截图,或从素材库选 |
| 裁剪 | 双击图片裁剪,可恢复完整图片 | |
| 换图 | 从素材库或本地换一张,新图按原比例放进原来的框里 | |
| 去除背景 | rembg + BiRefNet,通用和人像两种模型,可恢复原图 | |
| 外观 | 圆角;描边(沿图片轮廓描一圈,抠过背景的人像就是贴纸白边);投影(同样沿轮廓) | |
| 调色 | 亮度、对比度、饱和度、模糊(拖动时实时预览),黑白、复古 | |
| 翻转与适配 | 水平 / 垂直翻转;一键铺满画布或完整放入 | |
| 形状与线条 | 形状 | 矩形(可圆角)、椭圆,以及三角形(命令里添加);填充色、描边颜色和粗细 |
| 直线 | 实线 / 虚线;无箭头 / 单向箭头 / 双向箭头;颜色和粗细 | |
| 图层与排版 | 图层面板 | 拖动排序、改名、显示 / 隐藏、锁定 |
| 层级 | 置底 / 下移 / 上移 / 置顶 | |
| 多选与编组 | ⇧ 或 ⌘ 点击、框选;编组 / 解散编组 | |
| 对齐与分布 | 对齐到画布(左 / 中 / 右、上 / 中 / 下)、多个图层互相对齐、水平 / 垂直等间距分布 | |
| 吸附 | 拖动时吸附画布边缘、中线和其他图层,并标出间距;按住 ⇧ 只沿一个方向拖 | |
| 旋转 | 旋转手柄,按住 ⇧ 每 15° 一档,接近直角时自动吸附 | |
| 精确调整 | 位置、尺寸、旋转、不透明度直接输入;方向键微移 1px(⇧ 10px) | |
| 复制粘贴 | 复制 / 剪切 / 粘贴(可以跨项目)、创建副本、右键菜单 | |
| 撤销重做 | 人在页面上的操作和 AI 的命令共用同一个历史 | |
| 视图 | 缩放与平移 | ⌘ + 滚轮或双指捏合缩放(以画板为中心);滚轮或按住空格拖动平移;⌘0 适应画布、⌘1 原始大小 |
| 超出画布的部分 | 默认不显示,选中图层时才淡淡显示出来 | |
| 快捷键 | 按 ? 查看全部 | |
| 导出 | 格式与倍率 | PNG / JPG / WebP,1× / 2× / 3×;JPG、WebP 可调质量,PNG、WebP 可导出透明背景 |
| 局部导出 | 只导出选中的图层;复制 PNG 到剪贴板 | |
| 命令行导出 | davinci render 支持面板全部选项:格式、倍率、质量、透明背景、指定图层及剪贴板;--all-boards 导出所有画板到目录或 ZIP(名称规则与界面一致) | |
| 素材库 | 管理 | 分类(人像、背景、APP Logo、装饰元素……可自建)、标签和说明、搜索、批量上传 |
| 在编辑器里用 | 打开素材面板点击插入,或直接拖进画布;「换一张图」也能从库里选 | |
| 给 AI 用 | davinci lib 搜索、插入、上传;AI 可以按「指向右边」「惊讶」这样的描述找人像 | |
| 模板库 | 模板 | 模板就是完整的分层项目,只是归在模板库里;打开时默认只读预览,点「编辑模板」才进入编辑。作品可以一键移进来,也能移回去 |
| 收藏与整理 | 喜欢的封面拖进来、⌘V 粘贴或贴图片链接就成了模板;标签筛选、搜索,每个模板可以写备注(喜欢它哪里)和原帖链接 | |
| 照着做 | 「用这个模板新建」把整份模板复制成新作品,在副本上改;AI 用 davinci tpl 查看和照着做 | |
| 项目 | 项目管理 | 首页项目宫格、搜索、按尺寸预设新建、删除;编辑器左上角点项目名改名 |
| 封面缩略图 | 第一个画板就是项目的封面缩略图,改动后自动更新 |
本项目提供了 CLI 和 REST API,使用这两种方式的效果是一样的,具体的命令和接口说明见 docs/COMMANDS.md、docs/API.md、 docs/ARCHITECTURE.md。
davinci -p P -b 2 render --format webp --quality 0.8 --scale 3 --transparent -o cover.webp
davinci -p P -b 1 render --ids 标题,人像 -o selected.png
davinci -p P render --all-boards --scale 2 -o ./exports
davinci -p P render --all-boards --format jpg --quality 0.8 -o covers.zip
davinci -p P -b 1 render --clipboard默认仍只导出当前或 -b 指定的画板;批量不带 -b / --ids / --clipboard。
--format 默认 PNG,不从输出文件名推断;批量 -o 以 .zip 结尾输出 ZIP,否则输出目录。
--clipboard 始终复制 PNG(Linux 需 wl-copy 或 xclip)。
- 端口:默认 7789,被占用时自动换一个空闲端口;实际地址写在数据目录的
server.json里,davinci命令会自己找到。 一定要用某个端口时指定./start.sh --port 7790(被占用就报错,不会换)。 - 数据:从源码运行时,项目、素材和上传的字体都放在仓库里的
data/(已被 git 忽略),第一次启动时自动创建; 桌面版放在~/Library/Application Support/davinci(Windows:%APPDATA%\davinci),两边互不影响。 - 中文字体:macOS 自带的字体就够用;精简的 Linux 要先装中文字体,否则中文显示不出来,
比如
sudo apt install fonts-noto-cjk。自己的字体可以用davinci font add <文件>加进来。 - 去除背景:macOS 上开箱即用(系统自带的主体抠图)。想要头发边缘更细的效果,另装 rembg 并用 BiRefNet 作为 backend,装了就自动改用它:直接跟你的 Agent 说“帮我安装 rembg,并用 BiRefNet 作为 backend”即可。 Windows 没有系统自带的主体抠图,要用去除背景就得装 rembg。
