Skip to content
ChrisZouPublic

About

AI Native 的本地图层化封面编辑器:每一个图层、每一个编辑操作都能直接交给 AI · An AI-native, local layered image editor for covers

Resources

Stars

33 stars

Watchers

0 watching

Forks

Repository files navigation

davinci

一个 AI Native 的本地图片编辑器,专注于自媒体封面编辑。

每一个图层、每一个编辑操作都能直接交给 AI。 界面上能做的事,背后都是一条命令:AI 通过命令行 / HTTP API 直接调用,不用去操控浏览器。浏览器里打开的是同一份文档、同一套命令、同一个撤销栈,AI 的每一步都实时可见。

每一个图层,AI 都能直接控制

下载桌面版

到 Releases 下载对应操作系统的版本进行安装。

注意:Windows版本安装包没有签名,安装过程中会提示「Windows 已保护你的电脑」,点击「更多信息 → 仍要运行」即可。

装好后:

  1. 第一次打开App,会引导你装好命令行工具和Agent skill(Agent靠它们干活),点两下就行;以后也能在菜单里找到这两项。
  2. 新开一个Agent会话,说“做一张小红书封面,标题是……”。Agent改的每一个图层都实时出现在App里。 编辑器左上角的链接按钮会复制当前设计稿和画板的链接,发给Agent,它就知道你说的是哪一张。

在 App 内评论改图

本机安装并登录 Codex CLI 或 Claude Code 后:

  1. 选中一个或多个图层,点击选框旁的评论图标。
  2. 输入修改意见,如「这些图层统一改成暖黄色」,点 ↑ 或按 Enter 提交(Shift + Enter 换行)。
  3. 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 查看和照着做
项目项目管理首页项目宫格、搜索、按尺寸预设新建、删除;编辑器左上角点项目名改名
封面缩略图第一个画板就是项目的封面缩略图,改动后自动更新

给AI用的接口说明

本项目提供了 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。

许可证

Apache License 2.0

About

AI Native 的本地图层化封面编辑器:每一个图层、每一个编辑操作都能直接交给 AI · An AI-native, local layered image editor for covers

Resources

Stars

33 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages