mcpField
O
obsidian-canvas

obsidian-canvas

github.com/altshiftstudio生产力340 次安装37 周前更新
代码仓库

关于 obsidian-canvas

用于通过随附的 Python 库创建和编辑 Obsidian Canvas 的 `.canvas` 文件。适合需要结构化节点、分组和自动路由连线,且不直接编写原始 JSON 的画布工作流。

主要功能

  1. 01创建和操作 `.canvas` 文件
  2. 02构建节点、分组和智能连线
  3. 03通过库的 CLI 生成文件
  4. 04用逻辑坐标排列元素
  5. 05遵循层级、间距和配色指南

适用场景

  1. 01在 Obsidian Canvas 中创建项目流程图
  2. 02将相关节点整理到分组轨道
  3. 03无需手写 JSON 生成画布

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/altshiftstudio/skills --skill obsidian-canvas

安装后在 Claude Code 中输入/obsidian-canvas确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
flowchart.canvas
references/
library_spec.md
spec.md
scripts/
canvas_lib.py

详细介绍

Obsidian Canvas

此技能用于创建和操作 .canvas 文件(JSON Canvas)。

核心工作流

  1. 库:必须使用提供的 scripts/canvas_lib.py。不要编写原始 JSON。
  2. 执行:构造 JSON 负载,并通过 stdin 将其传递给库脚本(CLI 模式)。不要创建临时 Python 脚本。
  3. 布局:专注于逻辑坐标(x、y)。库会自动处理 ID 生成、节点高度和边的路由。

资源

布局与美观(资深设计师标准)

  • 留白:相关节点之间留出充足的垂直间距(120px-180px),为边标签留出“搁置空间”。
  • Z 轴索引:库会处理 Z 轴索引(分组会渲染在节点后方)。始终使用分组框定特定泳道的内容。
  • 层级:画布标题使用 H1 (#),主要章节使用 H2 (##),单个节点标题使用 H3 (###)。
  • 颜色:
    • 1(红色):阻碍、错误、提交。
    • 2(橙色):交互、支持、外联。
    • 3(黄色):证据、文档、数据。
    • 4(绿色):成功、解决、开始。
    • 5(蓝色/青色):中性、运营。
    • 6(紫色):标题、元信息、结果。
  • 边:标签应简短。如果多条边交叉同一路径,库会尝试为它们规划路线,但手动调整 x 坐标会有所帮助。

输出

要创建新画布,请构造 JSON 负载并通过管道将其传递给库脚本:

cat <<EOF | python3 /path/to/skills/obsidian-canvas/scripts/canvas_lib.py
{
  "output": "Project_Flow.canvas",
  "nodes": [
    {"node_id": "start", "text": "Start", "x": 0, "y": 0, "color": "6"},
    {"node_id": "end", "text": "End", "x": 0, "y": 200, "color": "1"}
  ],
  "edges": [
    {"from_node": "start", "to_node": "end"}
  ],
  "groups": [
    {"label": "Phase 1", "nodes_in_group": ["start", "end"], "color": "5"}
  ]
}
EOF

评论

支持 Markdown