mcpField
A
Atelier

Atelier

本地服务
marmikshah.github.io媒体与设计255 天前更新

关于 Atelier

Atelier 是面向命令行工作流和 AI Agent 的离线无头像素画编辑器。它通过 CLI 和 MCP 提供相同绘图工具,文档保存在本地,可导出精灵图、动画和像素字体。

主要功能

  1. 01创建分层像素画精灵图
  2. 02绘制并检查像素
  3. 03制作精灵图动画
  4. 04导出 PNG、GIF 和精灵图集
  5. 05创建 TrueType 像素字体

适用场景

  1. 01通过 Agent 工作流绘制精灵图
  2. 02制作并导出短动画
  3. 03检查图像中的单个像素
  4. 04为项目生成像素字体

MCP 相关

Atelier 向 MCP 客户端提供编辑工具,包括 Claude Code 和 Codex。MCP 接口与 CLI 使用相同工具;CLI 调用无需图形编辑器。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"marmikshah-atelier": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/marmikshah/atelier:0.2.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/marmikshah/atelier:0.2.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/marmikshah/atelier:0.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Atelier

Atelier 是一款离线、无头的像素艺术编辑器,适用于命令行工具和 AI Agent。创建分层精灵图和动画、检查像素,并导出 PNG、精灵图集、GIF、APNG 和 TrueType 像素字体。文档保留在本地。

你可以直接在 shell 中使用,也可以通过 MCP(Model Context Protocol)连接 Claude Code 或 Codex 等 Agent。这两种接口都提供相同的编辑工具;使用 CLI 调用时,无需图形编辑器或正在运行的服务。

像素艺术风格的动画猫 像素艺术风格的动画火把 像素艺术风格的动画药水 像素艺术风格的动画爆炸效果

由 Agent 通过 Atelier 的工具绘制。在 CI 中,每个作品都会根据旁边的 绘制配方逐字节重建。

使用 Opus 5.5 将物理模拟与 Atelier MCP 结合创作的更复杂设计。
使用物理模拟和 Atelier MCP 创作的动画战斗
回放文件太大,无法在此收录。 如有需要,请从 Google Drive 下载。

展示

安装

在 macOS、Ubuntu 或其他 Linux 系统上,将以下内容粘贴到终端中:

curl -fsSL https://github.com/marmikshah/atelier/releases/latest/download/install.sh | sh

Ubuntu Desktop 未预装 curl;请改用 wget:

wget -qO- https://github.com/marmikshah/atelier/releases/latest/download/install.sh | sh

该命令会为你的设备下载 Atelier、检查文件、将其放入 ~/.local/bin 并将该目录添加到 PATH。如果已安装 Claude Code 或 Codex,它还会将 Atelier 连接到这些工具:它们会在每个项目中获得 Atelier 的绘图工具,以及用于绘制精灵图和场景、审阅美术作品的指南。无需其他操作,甚至不需要 Rust。

然后启动新的 Agent 会话并提出需求:

使用 atelier 绘制一支 32×32 的动画火把,并将其保存为 torch.gif。

你的作品会保存在 ~/.atelier。如果要将某个项目的作品保存在项目目录中,请在启动 Agent 前于该目录运行 atelier init。

  • 更新: 再次运行安装命令。
  • 之后才安装了 Claude Code 或 Codex? 运行 atelier connect。
  • 需要指定版本或文件夹,或不想修改配置文件: 设置 ATELIER_VERSION、ATELIER_INSTALL_DIR 或 ATELIER_NO_MODIFY_PATH=1;install.sh 列出了所有选项。

卸载

atelier uninstall

该命令会列出将要移除的内容,并在删除前征求确认:Atelier 在 Claude Code 和 Codex 中的注册信息、技能、它添加的 PATH 配置行、atelier 程序,以及你设置的 Linux 后台服务。

保留你在 ~/.atelier 中的作品;添加 --documents 可一并删除。通过 atelier init 设置的文件夹不会受到影响。

其他运行方式

  • 从终端运行。 每个工具都对应一条命令:atelier call TOOL '<json>'。你的第一幅精灵图将带你逐步完成创建、绘制和保存图像。

  • 在 Cursor 和其他 MCP 客户端中运行。 按上述方式安装,然后将 command -v atelier 输出的路径注册为不带参数的 stdio 服务,并运行 atelier skills install --for cursor(或为其他 skills 文件夹运行 --dir PATH)来安装绘图指南:

    {
      "mcpServers": {
        "atelier": {
          "command": "/full/path/to/atelier"
        }
      }
    }
    
  • 在 Docker 中运行。 为能启动 Docker 的 MCP 客户端发布了一个容器镜像。

  • 作为 HTTP 服务或后台服务运行。 请参阅运行 Atelier。

从源代码构建

在其他平台上运行,或自行构建时,请先安装 Rust 1.98 或更高版本,然后:

cargo install --locked --git https://github.com/marmikshah/atelier atelier
atelier connect

atelier uninstall 也可以通过 cargo uninstall 删除以这种方式安装的构建版本。

我想……从这里开始
在终端中创作艺术入门指南
运行服务、使用 Docker,或选择艺术作品的存储位置运行 Atelier
查找工具的参数atelier tools --markdown 或 atelier tools --schema NAME
从检出版本构建、了解代码,或参与作品展示开发指南
报告错误或安全问题问题 · 安全

稳定性

Atelier 当前版本为 0.2。master 是当前源代码;发布版本从该分支生成,并发布 macOS 和 Linux 二进制文件、容器镜像、vX.Y.Z 标签以及 MCP Registry 条目。

  • 不会丢弃你的文档。 编辑会记录在日志中,并以原子方式提交。损坏的文档,或由使用不同文档架构的构建版本保存的文档,会被拒绝并显示错误,且磁盘上的文件不会更改。
  • 文档格式有版本号,且不会迁移。 如果更新更改了文档格式,更新前保存的文档将被拒绝,原样保留在磁盘上,并可使用写入该文档的提交版本重新打开。
  • 配方是构建文档所用调用的纯文本日志,每行一条 JSON。配方本身没有版本号:绘制结果取决于工具的行为,因此,来自某个提交的配方在工具绘制方式相同的提交上会精确重放。
  • 工具名称和参数仍可能在不同提交之间发生变化。 如果你要基于它们编写脚本,请固定提交版本,并通过 atelier tools --markdown 查看当前工具信息。

构建方式

这段代码 100% 由 AI 编写。 Atelier 最初是一项实验,旨在探索 Agent 能否仅通过工具调用,为游戏创作实用的艺术作品。我所做的只是指引方向,希望这个成果能帮助你创作自己的作品。

CI 会在 Linux 和 macOS 上检查格式、运行严格的 Clippy 检查和 Rust 测试套件,冒烟测试容器,并重放所有作品展示配方;重放结果必须与原 GIF 的每个字节完全一致。安全策略说明了网络和文件访问的边界。

说明

所有代码均未经人工逐行审查。 仍可能存在错误、安全问题和破坏性变更。在生产环境中使用前,请审查代码,并使用重要数据的副本。

贡献

欢迎通过问题提交错误报告和提问;请附上检出版本的提交号,以及最简命令序列或配方文件。不接受来自项目外部的拉取请求。请通过安全策略私下报告漏洞。

许可证

MIT © Marmik Shah

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。