1实现原理 · 为什么它能做到
把 .canvas 定义为只含两个顶层数组的 JSON 文件:nodes 与 edges(均可选)。
skills/json-canvas/SKILL.md
- `nodes` (optional): Array of node objects
注:这里在做什么:先给出最小合法骨架,后续所有节点/边都挂在这两个数组下。
节点分四类:text / file / link / group,各自附加字段(text、file+subpath、url、label/background)。
skills/json-canvas/SKILL.md
- `group` - Visual container for other nodes
注:这里在做什么:用类型枚举覆盖画布上会出现的所有元素,编辑时有明确落点。
节点共有必填属性 id/type/x/y/width/height 与可选 color;数组顺序即 z-index(先底后顶)。
skills/json-canvas/SKILL.md
| `id` | Yes | string | Unique identifier for the node |
注:这里在做什么:把几何与层级规则写死,保证生成的画布可被应用正确渲染。
边 edges 连接节点,支持 fromSide/toSide/fromEnd/toEnd/color/label 等可选修饰。
skills/json-canvas/SKILL.md
| `toEnd` | No | string | `arrow` | Shape at edge end |
注:这里在做什么:把「谁连谁、从哪边、有无箭头、什么颜色」全部参数化。
颜色 canvasColor 支持 hex 或预设编号 "1"-"6",且预设具体值故意不定义。
skills/json-canvas/SKILL.md
Note: Specific color values for presets are intentionally undefined, allowing applications to use their own brand colors.
注:这里在做什么:让配色随宿主应用品牌走,规范只固定语义档位。
约定 ID 为 16 位小写十六进制(64 位随机值),并要求全局唯一。
skills/json-canvas/SKILL.md
This format is a 16-character lowercase hex string (64-bit random value).
注:这里在做什么:统一 ID 生成口径,避免跨节点/边冲突。
给出布局指南:坐标可为负、y 向下增大、推荐尺寸表与 20-50px 内边距、50-100px 节点间距。
skills/json-canvas/SKILL.md
- Space nodes 50-100px apart for readability
注:这里在做什么:把「排版好看」量化为可执行的间距/尺寸建议。
结尾附 8 条校验规则(唯一 id、引用存在、必填字段、枚举取值合法等),并外链 JSON Canvas Spec 1.0。
skills/json-canvas/SKILL.md
1. All `id` values must be unique across nodes and edges
注:这里在做什么:给出可自查的正确性清单,降低生成非法文件概率。
2核心能力
01创建/编辑 Obsidian 兼容的 .canvas 文件
02生成文本节点(Markdown 内容)
03文件/附件节点(含指向标题或块的 subpath)
04链接节点(外部 URL)
05分组容器节点(label 与背景图/背景样式)
06边连接:方向、端点形状、颜色、标签
07颜色:hex 或预设编号 1-6
08布局与校验:推荐尺寸、间距与 8 条合法性规则
4风险提醒 风险提醒:绿色 · 放心使用
风险提醒:绿色 · 放心使用
- 无脚本校验,正确性完全依赖模型遵循文档。 — skill 不提供校验脚本,生成的 .canvas 可能违反 8 条校验规则;建议生成后由宿主或工具二次校验。
- 随着 JSON Canvas 规范演进可能过期。 — 内容绑定 Spec 1.0,规范更新后需同步维护。
绿色:本 skill 目录仅一份 Markdown 指令,无脚本执行、无网络请求、无凭证读取、无写盘代码;不读取任何外部输入去执行,纯知识/规范编排。按统一分档准则取绿色。
5第二遍独立确认
- [ok] 是否存在可执行脚本 — 目录清单仅 SKILL.md;扫描「执行外部程序」0 命中。
- [ok] URL 命中性质 — §3 5 条 URL 均为规范链接(jsoncanvas.org/github.com/obsidianmd)或示例值(obsidian.md/example.com),非运行期请求。
- [ok] 凭证/环境变量 — 0 命中,正文无 env/keychain 读取。
- [ok] 写盘 — 0 命中;skill 只描述生成 JSON 内容,实际落盘由宿主完成。
- [ok] 能力声明与内容相符 — description 声称创建/编辑 .canvas,正文含完整节点/边/示例/校验,无夸大。
- [ok] 规范引用可定位 — 结尾 References 与开头 Overview 均指向 JSON Canvas Spec 1.0,口径一致。
6结论
适合:需要为 Obsidian/支持 JSON Canvas 的应用生成思维导图、流程图或视觉画布的用户与代理。
不适合:需要运行时校验/渲染 .canvas,或使用其它画布格式的场景。
安装 agent 直装可复制
① 本站镜像 更新 2026-10-10
方式 A · 人下载镜像包下载 json-canvas.tar.gz
sha256:
方式 B · JSON 格式安装指南,复制给 agentc5f293ab4ece925e…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② 上游 GitHub · 原始来源
来源信息 GitHub 原始
作者 / 仓库freestylefly / freestylefly/canghe-skills
原始 GitHubfreestylefly/canghe-skills ↗
本 skill commit
dd0bf35595许可MIT(仓库根 LICENSE)
本站信息
收录日期2026-09-06
分类内容创作
侦查报告AI 侦查 · 2 遍 · 2026-09-06
本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。