archscribe is a Claude Code plugin with 1 hand-picked skill, indexed on Flowy in the Design category.
$ npx -y skills add lazypay/Archscribe --agent claude-code
高级手绘风动态架构 / 流程图,深色霓虹与浅色纸面双风格,专为文章、系统与工作流讲解打造。
JSON 配置 -> .excalidraw + .png + 动画 .gif
简体中文 · English
archscribe 是一个 Codex / Claude 技能 + 本地渲染器,用于生成高级感的手绘技术图:手绘字体、可编辑的 Excalidraw 源文件、静态 PNG 预览,以及真正会动的 GIF。
它适合用来做文章讲解、系统架构图、流程图,以及 DailyDoseOfDS 风格的技术草图——深色霓虹与浅色纸面两套观感。
三套首页案例分别展示 panorama、swimlane、graph。每个案例单独占一行,保留足够细节;同一份配置也可以通过 --style default|paper 切换深色霓虹或浅色纸面观感。
panorama + default)适合把一个系统、产品、Agent 或文章主题拆成输入、核心流程、判断节点与交付产物。

用 $archscribe 把这个 Skill / Agent 的工作机制整理成深色霓虹手绘全景图,展示输入、核心流程、质量检查和最终产物,输出 GIF、PNG 和 Excalidraw。
swimlane + paper)适合做 DailyDoseOfDS 风格的分类横带、对比表、角色泳道和知识卡片。

用 $archscribe 画一张浅色纸面风格的分类泳道图,主题是「四种 Agent Loops」,每条泳道说明触发条件、关键步骤和回路关系。
graph + paper)适合表达 CI/CD、渲染管线、故障恢复、审核回路等不规则流程。长链路会自动向下堆叠,避免左右裁切和下半部分空白。

用 $archscribe 把 HyperFrames 从 HTML composition 到校验、视觉检查、渲染和修复回路画成 graph 布局动态图,用浅色纸面风格输出 GIF。
三套模板覆盖绝大多数讲解场景。在配置里用 "layout" 字段选择;内容数量弹性适配,画布高度自动计算。
| 布局 | 适合的内容 | 预览 |
|---|---|---|
panorama(默认) | 完整系统全景:输入源 → 核心管线 → 存储/产出面板 | |
swimlane | 分类横带 / 对比行(「N 种 X」)、跨角色协作、图标目录 | |
graph | 自由节点/边 + 自动 DAG + 专属回路通道,随项目定制 |
弹性说明:panorama 支持 2-6 个输入、2-4 张核心卡片,三个底部面板均可省略;swimlane 支持 2-5 条横带,每带 1-5 步,左侧标题列可加副标题(如 "Triggered by: ..."),带内从右往左的连线自动落入卡片下方的虚线回路通道;graph 支持 2-24 节点、40 条边的自由拓扑与 kind: "loop" 回路边——线性流程也用它表达,超过 7 个顺序层级的右向长链会自动向下堆叠。
Archscribe 内置 2 套风格。图的布局、动画、图标完全一致,只有配色与收尾处理不同。通过命令行 --style 或配置文件里的 "style" 字段选择。
| 风格 | 观感 | 预览 |
|---|---|---|
default | 纯黑底手绘霓虹:流光光束、颗粒、暗角(品牌默认) | |
paper | 暖白纸面:鼠尾草绿 / 长春花蓝交替色带、近黑墨线、白卡彩描边,流动动画换成沿箭头移动的小圆点 |
在命令行选择风格(优先级高于配置文件):
python3 scripts/render_animated_diagram.py \
--spec assets/examples/swimlane-spec.json \
--outdir outputs \
--basename my-diagram \
--style paper
或写进配置 JSON,让该图始终用这套风格渲染:
{
"style": "paper",
"canvas": { "fps": 20, "frames": 41 }
}
两者同时存在时,--style 优先;都不设置时使用 default。其余风格名会直接报错。graph 布局不建议手写 canvas.width/height;它会使用自然画布避免裁切和大面积空白。
layout 字段):panorama 系统全景、swimlane 分类横带(参考图同款:副标题列 + 交替色带 + 带内虚线回路)、graph 自由节点/边 + 自动 DAG + 回路通道;长 graph 会自动改为纵向堆叠防止裁切--animation):flow、draw、relay、trace、chapter、failure-recovery,布局全部支持.excalidraw、.png、.gif、.mp4、独立 .svg 和交互 .html(--formats 选择)default 深色霓虹、paper 浅色纸面(浅色下流光自动换成小圆点,无颗粒无暗角)outline / illustrated / hero 三级图标系统,以及脑部脉冲、齿轮旋转、眼睛扫描、记忆写入等确定性微动画(详见 references/illustrated-icons.md)--validate-only 或渲染时自动执行):字段级 path / message / fix 报错,方便 agent 自动修正icon_file 指向本地 SVG/PNG 当彩色图标 / 产品 logo(保留原色);left_panel.badge_file 在面板头放品牌标;input_style: "plain" 输出参考图同款无框彩色输入图标;down_label / up_label / yes_label 改写内置箭头标签;超长签名(如域名)自动左移 + 下划线拉伸,不再裁剪.excalidraw 源文件保持可编辑、纯文本flow 预设下图标还有波次弹跳微动效--check 校验完整输出契约(尺寸、帧数、真实动效、MP4 流参数、SVG 字体内嵌、HTML 热区、Excalidraw 不变量),并检查 graph 是否裁切、是否垂直失衡、长链是否安全换向;--verify 打印帧差报告--renderer pillow 兜底默认渲染(--renderer browser)生成:
<basename>.excalidraw
<basename>.png
<basename>.gif
<basename>.mp4
可选:<basename>.svg(内嵌字体,可独立打开)、<basename>.html(点击探索的交互页面)。画布宽 1210,高度由布局按内容计算(经典 panorama 为 1210 x 1138)@ 20 fps;flow 41 帧(约 2 秒循环),draw 至少 72 帧,relay 至少 88 帧。
git clone https://github.com/lazypay/Archscribe.git
cd Archscribe
python3 -m pip install -r requirements.txt
python3 -X utf8 scripts/render_animated_diagram.py \
--spec assets/default-spec.json \
--outdir outputs \
--basename sample \
--verify \
--check
把本文件夹放进你的 Codex 技能目录:
~/.codex/skills/archscribe
常见的本地安装路径:
${CODEX_HOME:-$HOME/.codex}/skills/archscribe
安装运行依赖:
python3 -m pip install -r requirements.txt
按技能名直接调用:
用 $archscribe 把这篇文章做成高级感手绘动态架构 GIF。
中文提示词示例:
用 $archscribe 把这篇文章整理成手绘动态架构图(岚叔 / DailyDoseOfDS 风格),输出 GIF、PNG 和 Excalidraw。
用 $archscribe 画一个 CI/CD 发布流程图(graph 布局),带失败重试回路,再给我一个能点击探索的 HTML。
关于浏览器图标引擎:
browser引擎是脚本通过 Playwright 自己拉起的无头 Chromium,与 "Codex 内置浏览器" 无关,无需手动启动。只要装好requirements-browser.txt与python -m playwright install chromium,后续会自动启用;未安装时会静默回退到pillow引擎。
从内置模板开始:
cp assets/default-spec.json work/my-diagram-spec.json
渲染:
python3 -X utf8 scripts/render_animated_diagram.py \
--spec work/my-diagram-spec.json \
--outdir outputs \
--basename my-diagram \
--style default \
--animation flow \
--verify \
--check
关键参数:
--renderer auto|browser|pillow — browser(可用时的默认)在无头 Chromium 里用 rough.js 重放布局;pillow 为经典栅格兜底。--animation flow|draw|relay|trace|chapter|failure-recovery — 动画预设(浏览器渲染器),优先级高于配置文件的 animation 字段。--formats gif,mp4,png,svg,html,excalidraw — 选择产物;浏览器渲染器默认 gif,mp4,png,excalidraw。--style default|paper — 配色,详见 风格。--validate-only — 只做配置预检并退出(JSON 格式的字段级报错/警告,有错误时退出码 2);正常渲染前也会自动预检。--verify — 打印抽样帧间差异(变化像素非零 = 真动画)。--check — 校验完整输出契约(PNG/GIF 尺寸、帧数、FPS、动效、MP4 流参数、SVG 字体内嵌、HTML 热区、Excalidraw 不变量),不通过则以非零码退出。--strict-formats — 发布时使用;只要请求的格式没有实际生成就失败,避免浏览器或 ffmpeg 缺失时静默少产物。--icon-engine — 仅影响 pillow 兜底管线的图标质量。调试排版时先用 --formats png 快速出静态图(几秒),布局确认后再跑完整渲染。
从示例配置起步:assets/default-spec.json(panorama)、assets/examples/swimlane-spec.json(paper 风格的「四种 agent 回路」参考款)、assets/examples/graph-workflow-spec.json(自由图),以及 illustrated-loop / loop-icon-pack / illustrated-icon-catalog 插画样例。
所有布局共享的字段:
layout (可选: panorama | swimlane | graph)
style (可选: default | paper)
animation (可选: flow | draw | relay | trace | chapter | failure-recovery)
signature
title.prefix
title.highlight
title.subtitle
panorama 专属:inputs(2-6)、core.cards(2-4)、decision、output、left_panel / center_panel / right_panel(均可省略)。
swimlane 专属:lanes(2-5,每条含 title / 可选 subtitle / 可选 accent / steps(1-5 个,每个含 id / title / 可选 icon))、可选 connections(from / to / label / style / accent;带内从右往左的连线自动走虚线回路通道)。
graph 专属:nodes(2-24)、edges(最多 40,支持 kind: "loop" 回路边)、direction(right 或 down)。超过 7 个顺序层级的右向长链会自动向下堆叠;canvas.width/height 会触发诊断警告并交由布局规划器计算自然尺寸。完整字段见 references/spec-format.md;具象插画见 references/illustrated-icons.md。
自定义图标 / logo:任何带 icon 的条目都可以改用 icon_file(本地 .svg / .png,相对路径以配置文件所在目录为基准),浏览器渲染器按原色嵌入,适合品牌 logo;left_panel.badge_file 则把面板头的文字徽标换成 logo 图片。
支持的图标键:
folder file scan shield db hash
package message event api clock brain
gear eye terminal globe video snapshot
server lock check clipboard
详细说明见 references/spec-format.md。
校验技能结构:
python3 -X utf8 ${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py \
${CODEX_HOME:-$HOME/.codex}/skills/archscribe
校验 GIF 媒体参数:
ffprobe -v error -select_streams v:0 -count_frames \
-show_entries stream=width,height,r_frame_rate,avg_frame_rate,nb_read_frames \
-show_entries format=duration \
-of default=noprint_wrappers=1 outputs/my-diagram.gif
校验动画:
python3 -X utf8 scripts/render_animated_diagram.py \
--spec assets/default-spec.json \
--outdir outputs \
--basename sample \
--verify \
--check
必需:
安装 Python 包:
python3 -m pip install -r requirements.txt
推荐(浏览器主渲染器——手绘形状、动画预设、SVG 输出):
python3 -m pip install -r requirements-browser.txt
python3 -m playwright install chromium
可选工具:
ffmpeg:MP4 输出(缺失时自动跳过);ffprobe:检查媒体参数.excalidraw 文件内置资产(渲染时零下载):
assets/fonts/ — Excalifont + 思源黑体子集(OFL-1.1),见 assets/fonts/README.mdassets/vendor/rough.js — rough.js 4.6.6(MIT)assets/icons/tabler/ — Tabler 图标子集(MIT)archscribe/
├── SKILL.md
├── README.md # 中文说明(本文件,默认)
├── README.en.md # English
├── LICENSE
├── requirements.txt
├── requirements-browser.txt
├── agents/
│ └── openai.yaml
├── assets/
│ ├── default-spec.json # panorama 示例
│ ├── examples/ # 各布局与插画样例
│ ├── fonts/ # 内置 Excalifont + 思源黑体(OFL)
│ ├── vendor/ # rough.js(MIT)
│ ├── icons/
│ │ └── tabler/
│ └── previews/ # GitHub 首页画廊与布局预览
├── docs/
│ └── interactive-output-design.md # 2.0 路线图
├── references/
│ ├── spec-format.md
│ └── illustrated-icons.md
├── scripts/
│ ├── render_animated_diagram.py # CLI + 配置预检 + pillow 管线 + op 录制
│ ├── svg_renderer.py # rough.js 浏览器渲染器 + 动画引擎 + 交互 HTML
│ ├── graph_model.py # 布局规划器(几何 + 图拓扑)
│ ├── doctor.py # 环境自检
│ ├── prepare_fonts.py # 一次性字体资产构建
│ └── icon_browser.py # 旧图标引擎(pillow 管线用)
└── tests/
本项目刻意把视觉系统收得很窄:
graph_model.py 单一来源:Pillow、浏览器渲染器、动画路径、交互热区共享同一份 plan,不存在双渲染漂移这种约束保证不同架构主题下的输出都一致、精致。
深色手绘动态视觉风格,灵感来自 岚叔 的动态架构图;浅色纸面风格与分类横带模板,灵感来自 DailyDoseOfDS(akshay_pachaar)的手绘技术图。Archscribe 是对这些观感的独立、开源再实现;原创美学的全部功劳归属于这些创作者。
MIT
assets/icons/tabler 中内置的图标来自 Tabler Icons,采用 MIT 许可,详见 assets/icons/tabler/LICENSE。
archscribe is a Claude Code plugin with 1 hand-picked skill, indexed on Flowy in the Design category. Install it with the command on its page. It includes Archscribe. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it