1. 为什么要把 Architecture Diagram Skill 封装成独立应用如果你已经在 Codex、Claude Code 这类 AI 助手里反复调用 architecture-diagram Skill大概会遇到一个共同的别扭点每次画架构图都要重新组织一段自然语言描述生成完 HTML 文件后还得自己找地方存、自己命名、自己整理。一次两次还行当成日常动作就会明显感到流程是断的。Architecture Diagram Skill 本身解决的是「把自然语言描述转成内联 SVG CSS 的独立 HTML 架构图」这件事。它理解组件、连接关系、技术栈、协议、端口和部署边界输出的是可离线查看、可交付、可归档的文件。这个能力很强但它默认活在对话窗口里没有固定的输入界面也没有结果管理。iThinkAir 的价值就在这里它能把一个 Skill 技能化再基于技能生成一款带首页、带表单、带图库的应用。换句话说原本「描述—生成—下载—整理」的散点动作被收拢成一个字段明确、操作连续、结果可检索的产品界面。这篇要做的就是把 architecture-diagram 封装成「架构图生成器」同时把底层模型通道统一到 TaoToken 的 Key 上让 Skill 调用走一条稳定、可配置、可验证的 API 链路。适合谁看已经在用 AI 助手画架构图、想把它产品化的开发者需要给团队沉淀架构资产的技术负责人以及想把 Skill 接入统一模型通道、不想每个工具各配一套 Key 的工程同学。下面从 TaoToken 的前置配置讲起一路走到一次真实的架构图生成请求验证。2. TaoToken 前置统一 Key 与 API 通道准备在 iThinkAir 里跑 Skill底层还是要调模型。如果每个 Skill、每个应用都单独配一套厂商 Key维护成本会迅速失控。TaoToken 在这里扮演的是统一入口一个 Key、一条 API 通道覆盖对话、编码、Agent 等不同调用场景配置一次就能被多个工具复用。你需要先拿到两样东西API Key 和 API 地址。Key 在控制台的 API Keys 页面创建地址固定为https://taotoken.net/api。注意这个 API 地址后面不加任何查询参数保持干净避免某些客户端在拼接路径时出现重复斜杠或参数污染。创建 Key 的入口在这里控制台 API Keyshttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentithinkair-arch-skill创建时建议按用途命名比如ithinkair-arch-diagram这样后面在 iThinkAir 的配置里一眼能对上。Key 只在创建时完整显示一次复制后先存到本地密码管理器别直接贴进会提交到 Git 的文件。如果你还想先确认模型通道是否正常可以先用模型对话页面做一次最小验证确认 Key 有效、额度正常再去配 iThinkAir模型对话验证https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentithinkair-arch-skill接入相关的字段说明和路径规则以官方文档为准遇到 404 或鉴权失败时优先对照文档核对 base URL 和请求头接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentithinkair-arch-skill前置准备做完你手里应该有一个可用的 API Key、确认过的 API 地址https://taotoken.net/api、以及一次成功的对话验证记录。接下来进入 iThinkAir 的配置文件环节。3. 可复制配置config.toml 与 settings.json 骨架iThinkAir 的技能化与应用生成底层配置通常分两层一层是模型通道配置config.toml一层是应用与技能绑定配置settings.json。下面给出可直接复制的骨架字段名按你本地 iThinkAir 版本为准重点是结构和取值逻辑。先看config.toml它负责声明模型提供方、API 地址和鉴权方式# config.toml —— 模型通道统一配置 [provider] name taotoken # API 地址保持干净不加查询参数 base_url https://taotoken.net/api # 建议从环境变量读取避免明文入库 api_key_env TAOTOKEN_API_KEY [provider.headers] Content-Type application/json [model] # 按你实际可用的模型名填写 default claude-sonnet timeout_seconds 120 max_retries 2 [skill.architecture_diagram] enabled true # 技能包解析后的标识技能化完成后可在技能列表确认 skill_id architecture-diagram output_format html inline_svg true这里有两个容易踩的点。第一base_url只写到/api不要自己拼/v1/chat/completions之类的完整路径客户端会按自己的规则补全拼多了会 404。第二api_key_env走环境变量别把 Key 写死在 toml 里尤其是这个文件可能被同步或备份。再看settings.json它负责把技能和应用绑定起来并定义生成架构图时的输入字段{ app: { name: 架构图生成器, entry: index.html, features: [generate, gallery] }, skill_bindings: [ { skill_id: architecture-diagram, provider: taotoken, model: claude-sonnet, params: { theme: dark, inline_svg: true, export: [png, pdf] } } ], form_schema: { title: { type: string, required: true }, requirement: { type: text, required: true }, layers: { type: array, items: string } }, gallery: { searchable: true, sortable: true, actions: [preview, download, edit, delete] } }form_schema决定了「生成架构图」页面上的输入项gallery决定了架构图库的检索与操作能力。把这两个骨架填好应用的基本形态就定了。设置环境变量后启动 iThinkAirexport TAOTOKEN_API_KEY你的Key ithinkair serve --config ./config.toml --settings ./settings.json启动日志里如果出现 provider 初始化和 skill 加载成功的记录说明配置被正确读取。如果报 provider 未注册多半是name和客户端内置的 provider 标识对不上回文档核对一下。4. 验证请求跑通一次架构图生成配置就绪后最关键的一步是验证 Skill 到架构图生成器的完整链路。不要一上来就点界面按钮先用一次命令行请求确认模型通道和 Skill 调用都通这样出问题时能快速定位是通道问题还是应用层问题。先做一次最小连通性验证确认 Key 和 base URL 有效curl -sS https://taotoken.net/api/v1/messages \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: claude-sonnet, max_tokens: 64, messages: [ { role: user, content: 只回复 ok } ] }返回里能看到正常的响应体说明通道没问题。如果返回 401检查 Key 是否复制完整、是否带了多余空格返回 404检查 base URL 是否被拼错。通道确认后触发一次真实的架构图生成。在 iThinkAir 的「生成架构图」页面填写标题和需求需求尽量按「组件 关系 边界 约束」来写。以云原生数据中台为例标题云原生数据中台架构 需求 - 数据采集层使用 Flink 与 Spark支持实时与离线两条链路 - 存储层使用 HDFS 与 Iceberg实现湖仓融合 - 计算层使用 Presto 与 ClickHouse - 服务层通过 API Gateway 对外提供查询接口 - 全部组件部署在 Kubernetes 集群内使用 Helm 管理 - 标注实时数仓与离线数仓的数据流向点击「立即生成架构图」后应用会调用绑定的 architecture-diagram Skill把这段描述转成内联 SVG 的 HTML 文件。生成完成后预览窗口会打开你应该能看到 Kubernetes 集群边界、实时与离线两条链路以及 Flink、Spark、Iceberg、ClickHouse、Presto、API Gateway 之间的连线关系。验证成功的标志有三个预览能正常渲染、组件与连线符合描述、生成的文件能导出为 PNG 或 PDF。如果预览是空白先看浏览器控制台有没有 SVG 解析错误如果组件缺失多半是需求描述里层级没写清回到编辑功能补充组件关系再生成一次。5. 本篇常见错排查链路跑通之前报错基本集中在几个固定位置。下面按现象归类方便你对照排查。鉴权类401 / 403。最常见的是 Key 没读到环境变量。检查TAOTOKEN_API_KEY是否在当前 shell 会话里 export 过echo $TAOTOKEN_API_KEY能打印出值才算生效。如果用了 systemd 或容器启动环境变量要显式传入不会自动继承。路径类404 / 405。几乎都是 base URL 拼错。config.toml里只写https://taotoken.net/api不要补/v1或/chat/completions。客户端会按 provider 规则补全路径你补了它就重复了。技能类skill not found。技能化没完成或者skill_id和技能列表里的标识不一致。回到 iThinkAir 技能页面确认 architecture-diagram 已出现在列表中再核对settings.json里的skill_id。生成类预览空白或组件缺失。空白先查 SVG 是否被转义inline_svg要设为 true组件缺失是需求描述问题把「微服务架构」这种模糊说法换成明确的组件、协议、端口和边界重新生成。导出类PNG / PDF 失败。检查params.export是否包含对应格式以及运行环境是否有无头浏览器依赖。部分环境需要额外安装渲染依赖按 iThinkAir 启动日志的提示补齐。超时类请求 120 秒未返回。架构图生成属于长输出任务timeout_seconds建议不低于 120。如果频繁超时把需求拆成「先出结构、再补细节」两轮比一次塞进所有约束更稳。排查时有个通用原则先用 curl 验证通道再用应用验证 Skill。通道不通就别在应用层折腾通道通了再逐层往上查能省掉大量来回试错。6. 长期使用与 Coding Plan 接入建议把 architecture-diagram 封装成应用之后真正的收益在于复用。生成的架构图会自动进入架构图库支持按标题或需求搜索、排序以及预览、下载、编辑、删除。对需要持续迭代方案的团队来说这把一次性的 AI 输出沉淀成了可检索、可修改的架构资产不再散落在各个对话和本地目录里。如果你后续还要把这类 Skill 接到编码助手或 Agent 工作流里比如让 Claude Code 在写方案时直接调用架构图能力建议把模型通道统一到 Coding Plan避免对话、编码、Agent 各配一套 KeyCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentithinkair-arch-skill需要新增或轮换 Key 时回到控制台 API Keys 页面操作命名保持和用途一致方便审计API Keyshttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentithinkair-arch-skill配置字段和路径规则有疑问时以接入文档为准接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentithinkair-arch-skill最后给一个实操建议把「组件 关系 边界 约束」写成需求模板存进团队文档每次生成架构图直接套用。需求写得越结构化生成结果越稳定返工越少。这套模板配合统一 Key 配置基本能让架构图生成从一次性尝试变成日常动作。
企业数字化 ERP 产品动态
相关推荐
名古屋亚运会开幕式观看指南:时差、直播渠道与投屏技巧 1. 先把时间线捋清楚:开幕式到底几点开始 大型综合运动会的开幕式,最容易把人绕晕的就是时间。名古屋和国内有1小时时差,日本当地时间比北京时间快1小时。这个1小时看着不多,但足以让你错过运动员入场的重头戏。 按照近几届亚运会… · 2026/9/26 17:05:15
Redux架构深度解析:从单向数据流到现代状态管理实践 前阵子我们团队接手了一个快烂尾的后台管理系统,组件树已经叠到五六层,用户信息、权限标识、筛选条件散落在十几个页面里。改一个下拉框,要同时排查三个地方;同一个用户资料,不同的页面能展示出两个版本。那段时间我每… · 2026/9/26 17:39:38
Web自动化测试工程化:工具选型、框架设计与稳定性治理 1. 很多人口中的"Web自动化测试"其实只是"写脚本"接触过不少准备转行自动化测试的同行,也有不少刚入行的朋友拿着网上搜来的Selenium教程跑通了一段登录脚本,就觉得Web自动化测试不过如此。但真到一线项目里,你很快会发现… · 2026/9/26 17:39:38
Spring Boot自动装配原理与实战:从条件装配到自定义Starter 1. 为什么我们需要自动装配:传统Spring配置的痛点先从一个真实场景说起。我早年写Spring应用时,最头疼的不是业务逻辑,而是那些"永远在配置"的样板代码。一个普通的Web项目,要手动配置数据源、事务管理器、JdbcTemplate… · 2026/9/26 17:39:38
VoNR高掉话排查实战:端到端信令与用户面联合定位 简介:这份PDF面向5G网络优化工程师与核心网维护人员,聚焦VoNR端到端高掉话这一典型疑难问题,提供从指标异常发现到根因定位、优化验证的完整排查思路。资源为单文件PDF,压缩包约1.81MB,内容以案例正文与信令分析为主&a… · 2026/9/26 17:39:38
AI落地作战地图:39岗位345场景的可执行指南 1. 这不是又一份“AI赋能”PPT,而是一张能直接钉在工位墙上的作战地图“WorkBuddy企业应用地图”这名字听起来像某个SaaS厂商的营销话术,但实际拆开来看——39个岗位、345个具体场景、161页白皮书,这三个数字背后没有虚的。我去年帮三家制造型… · 2026/9/26 17:39:38
毕业生必备:9款免费AI论文网站,一键生成开题报告与论文大纲|TaoToken 统一 Key 接入指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:39:32
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46