<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>架构图 on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/%E6%9E%B6%E6%9E%84%E5%9B%BE/</link>
        <description>Recent content in 架构图 on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Wed, 15 Jul 2026 22:02:00 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/%E6%9E%B6%E6%9E%84%E5%9B%BE/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Archify アーキテクチャ図スキル チュートリアル: インストール、図の生成、および「間違った図」のトラブルシューティング</title>
        <link>https://knightli.com/ja/2026/07/15/archify-skill-install-architecture-diagram-troubleshooting/</link>
        <pubDate>Wed, 15 Jul 2026 22:02:00 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/07/15/archify-skill-install-architecture-diagram-troubleshooting/</guid>
        <description>&lt;p&gt;技术图“能画出来”和“能拿去评审”是两回事。Archify 是一个可用于 Claude Code、Codex CLI 和 opencode 的 Agent Skill：它把自然语言描述或仓库分析结果转为独立 HTML 图表，并支持架构图、工作流、时序图、数据流图和生命周期图；生成后可切换明暗主题，导出 PNG、JPEG、WebP 或 SVG。&lt;a class=&#34;link&#34; href=&#34;https://github.com/tt-a1i/archify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Archify 官方仓库&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;它特别适合需要可验证交付物的场景：安装后能运行 &lt;code&gt;doctor&lt;/code&gt; 和 &lt;code&gt;demo&lt;/code&gt;，生成后能检查 HTML、SVG 与布局，而不是只收到一段无法确认正确性的 Mermaid 文本。&lt;/p&gt;
&lt;h2 id=&#34;archify-能画什么先别选错图种&#34;&gt;Archify 能画什么，先别选错图种
&lt;/h2&gt;&lt;p&gt;先根据问题选择视图，图会更清楚：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;图种&lt;/th&gt;
          &lt;th&gt;适合回答的问题&lt;/th&gt;
          &lt;th&gt;提示词必须交代的内容&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Architecture&lt;/td&gt;
          &lt;td&gt;服务、数据库、外部依赖如何组成系统&lt;/td&gt;
          &lt;td&gt;核心组件、主请求路径、信任边界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Workflow&lt;/td&gt;
          &lt;td&gt;CI/CD、审批、运维 Runbook 如何推进&lt;/td&gt;
          &lt;td&gt;参与者、顺序、分支和异常&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Sequence&lt;/td&gt;
          &lt;td&gt;一次请求或认证过程如何交互&lt;/td&gt;
          &lt;td&gt;调用者、被调用者、返回与时序&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Data Flow&lt;/td&gt;
          &lt;td&gt;数据从哪里来、如何处理、流向哪里&lt;/td&gt;
          &lt;td&gt;来源、转换、存储、PII 边界&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Lifecycle&lt;/td&gt;
          &lt;td&gt;状态、重试、等待与结束条件&lt;/td&gt;
          &lt;td&gt;状态、事件、取消和终止条件&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;“画整个仓库”通常是图不清晰的起点。先限制到 8–12 个核心组件和一条主要路径，其他细节放到卡片或第二张图里。&lt;/p&gt;
&lt;h2 id=&#34;安装-archify-skill&#34;&gt;安装 Archify Skill
&lt;/h2&gt;&lt;p&gt;官方推荐通过 &lt;code&gt;skills&lt;/code&gt; CLI 全局安装：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills add tt-a1i/archify -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;安装后，适配的 Agent 可直接使用。若只想临时试用而不做永久安装，官方示例是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills use tt-a1i/archify@archify --agent codex
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;把 &lt;code&gt;codex&lt;/code&gt; 替换为 &lt;code&gt;claude-code&lt;/code&gt; 或 &lt;code&gt;opencode&lt;/code&gt; 即可切换目标 Agent。手动安装也可行：将 &lt;code&gt;archify.zip&lt;/code&gt; 解压到对应 Skill 目录，例如 Codex CLI 使用 &lt;code&gt;~/.agents/skills/&lt;/code&gt; 或项目内 &lt;code&gt;.agents/skills/&lt;/code&gt;；Claude Code 使用 &lt;code&gt;~/.claude/skills/&lt;/code&gt; 或 &lt;code&gt;.claude/skills/&lt;/code&gt;。打包版不需要额外 &lt;code&gt;npm install&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;先验证安装再让-agent-画图&#34;&gt;先验证安装，再让 Agent 画图
&lt;/h2&gt;&lt;p&gt;不要装完就直接交给真实项目。若你是从仓库检出版本运行，先执行官方 CLI 的基础检查：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; archify
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node bin/archify.mjs doctor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node bin/archify.mjs demo /tmp/archify-demo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node bin/archify.mjs examples
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;doctor&lt;/code&gt; 用于发现本地环境问题，&lt;code&gt;demo&lt;/code&gt; 应产生可打开的示例输出。验证通过后再把 Skill 用在仓库上，能把“安装问题”和“提示词/图表问题”分开排查。&lt;/p&gt;
&lt;p&gt;最小请求可以这样写：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Analyze this repository, then use archify to create a high-level runtime architecture diagram.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Show 8–12 core components, one primary request or data path, external dependencies, and trust boundaries.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Put supporting detail in cards instead of adding more edges.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;对于单一流程，描述实际方向而非笼统说“画登录图”：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Use archify to draw this login flow: Browser -&amp;gt; Web App -&amp;gt; API -&amp;gt; JWT validation -&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Redis session lookup -&amp;gt; PostgreSQL fallback. Make the cache-miss path secondary.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;archify-输出为何更容易验证&#34;&gt;Archify 输出为何更容易验证
&lt;/h2&gt;&lt;p&gt;Archify 不直接让模型手写最终 SVG。其流程是先生成带类型的 JSON IR，再进行 schema 验证、渲染、布局检查以及 HTML/SVG 成品检查；修改时针对 JSON IR 局部迭代，避免无关结构被一并破坏。&lt;/p&gt;
&lt;p&gt;你也可以手动验证一个工作流图：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node bin/archify.mjs render workflow examples/agent-tool-call.workflow.json /tmp/workflow.html
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node bin/archify.mjs validate workflow examples/agent-tool-call.workflow.json --json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node bin/archify.mjs check /tmp/workflow.html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;验证至少分两层：命令是否成功、浏览器里是否真的可读。前者能发现 schema 或渲染错误，后者才能发现边线穿过节点、文字被遮挡、信息密度过高等沟通问题。&lt;/p&gt;
&lt;h2 id=&#34;如何检查最终图表&#34;&gt;如何检查最终图表
&lt;/h2&gt;&lt;p&gt;生成的 HTML 是独立文件，可直接用现代浏览器打开。右上角可切换主题或导出；快捷键 &lt;code&gt;T&lt;/code&gt; 切换明暗主题，&lt;code&gt;E&lt;/code&gt; 打开导出菜单。&lt;/p&gt;
&lt;p&gt;交付前逐项确认：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;主路径是否可以从左到右或从上到下连续读完。&lt;/li&gt;
&lt;li&gt;每个箭头是否有明确方向，异步、失败或回滚路径是否被标记为次要分支。&lt;/li&gt;
&lt;li&gt;组件数量是否超过读者一次能理解的范围；太多就拆图。&lt;/li&gt;
&lt;li&gt;信任边界、数据敏感边界和外部系统是否真的画出，而非只写在说明中。&lt;/li&gt;
&lt;li&gt;在浅色与深色主题下都检查文字、线条和图标对比度。&lt;/li&gt;
&lt;li&gt;导出的 SVG 是否能在 README、博客或设计工具中正常打开；位图则检查分辨率和裁切。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Archify 的 SVG 会携带深浅色变量并响应 &lt;code&gt;prefers-color-scheme&lt;/code&gt;，适合放在 README；位图导出最高可达源尺寸的 4 倍，但超大图会受浏览器画布限制而自动降级。&lt;/p&gt;
&lt;h2 id=&#34;图不对时按这个顺序修&#34;&gt;图不对时，按这个顺序修
&lt;/h2&gt;&lt;p&gt;不要让 Agent 反复“重新画一个更好看的”。先定位问题属于信息、布局还是渲染：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;现象&lt;/th&gt;
          &lt;th&gt;常见原因&lt;/th&gt;
          &lt;th&gt;优先修法&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;节点太多、线像毛线团&lt;/td&gt;
          &lt;td&gt;提示词没有限定范围&lt;/td&gt;
          &lt;td&gt;只保留 8–12 个核心组件和一条主路径&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;关系方向错误&lt;/td&gt;
          &lt;td&gt;输入没有写清调用方向、同步/异步&lt;/td&gt;
          &lt;td&gt;明确 &lt;code&gt;A -&amp;gt; B&lt;/code&gt;，写出返回、队列或 fallback&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;重要路径不突出&lt;/td&gt;
          &lt;td&gt;主路径和次要分支权重相同&lt;/td&gt;
          &lt;td&gt;指定主路径、将缓存未命中/回滚标为 secondary&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;图形技术标签不匹配&lt;/td&gt;
          &lt;td&gt;组件名称过于抽象&lt;/td&gt;
          &lt;td&gt;使用 &lt;code&gt;postgres&lt;/code&gt;、&lt;code&gt;redis&lt;/code&gt;、&lt;code&gt;aws.lambda&lt;/code&gt;、&lt;code&gt;github-actions&lt;/code&gt; 等语义标签&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HTML 正常但 SVG 异常&lt;/td&gt;
          &lt;td&gt;导出或浏览器兼容性问题&lt;/td&gt;
          &lt;td&gt;先运行 &lt;code&gt;check&lt;/code&gt;，再换浏览器检查 SVG 与本地字体回退&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;改一点就破坏全图&lt;/td&gt;
          &lt;td&gt;让 Agent 重画而非局部迭代&lt;/td&gt;
          &lt;td&gt;指定“只移动 auth 到左侧”“只新增 Redis”这类局部变更&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;问题报告也应包含三样东西：原始提示词、图种、Archify 版本。没有这些信息，别人很难稳定复现布局或渲染错误。&lt;/p&gt;
&lt;h2 id=&#34;用-chat-做说明用-skill-生成可审查图&#34;&gt;用 Chat 做说明，用 Skill 生成可审查图
&lt;/h2&gt;&lt;p&gt;Archify 擅长把已明确的技术关系变成图，不负责替你凭空决定系统设计。较稳的流程是：先让 Agent 输出组件清单、边界、主路径与未知项；人工确认后，再让 Archify 绘图；最后根据审查意见局部迭代。&lt;/p&gt;
&lt;p&gt;如果你正在把 Codex 的工作方式沉淀成项目规范，也可结合 &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/ja/2026/07/10/codex-skills-custom-workflow-guide/&#34; &gt;Codex Skills 怎么写自己的工作流&lt;/a&gt; 来管理本地 Skill 目录和生效范围。&lt;/p&gt;
&lt;h2 id=&#34;常见问题&#34;&gt;常见问题
&lt;/h2&gt;&lt;h3 id=&#34;archify-能替代-mermaid-吗&#34;&gt;Archify 能替代 Mermaid 吗？
&lt;/h3&gt;&lt;p&gt;它不是通用 Mermaid 主题或自由画图编辑器。它采用自己的 JSON IR 和渲染器，目标是把技术意图做成可分享、可导出的独立图表；已有 Mermaid 流程是否迁移，取决于团队的图表维护方式。&lt;/p&gt;
&lt;h3 id=&#34;安装了但-codex-没有使用-skill怎么办&#34;&gt;安装了但 Codex 没有使用 Skill，怎么办？
&lt;/h3&gt;&lt;p&gt;先确认安装目录与当前 Codex CLI/项目的 Skill 发现范围一致，再用临时 &lt;code&gt;npx skills use ... --agent codex&lt;/code&gt; 复现。若仍无效，运行 &lt;code&gt;doctor&lt;/code&gt;，并检查终端实际运行的账户、项目目录和 Skill 名称。&lt;/p&gt;
&lt;h3 id=&#34;为什么图很漂亮但不准确&#34;&gt;为什么图很漂亮但不准确？
&lt;/h3&gt;&lt;p&gt;因为图的准确性来自输入。让 Agent 先列出它从仓库中推断出的组件与调用关系，标记未知项；确认无误后再生成图。视觉检查不能替代架构事实核对。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;Archify 适合把架构、流程和数据关系做成可以打开、导出、检查的交付物。安装后先跑 &lt;code&gt;doctor&lt;/code&gt; 与 &lt;code&gt;demo&lt;/code&gt;，绘图时限定范围和主路径，交付前同时检查 HTML、导出文件和事实关系；图不对时优先修输入与视图选择，而不是反复要求“画得更漂亮”。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
