Project Graph 节点图快速上手指南:把散乱思路变成能拖拽的图
【免费下载链接】project-graphA node-based visual tool for organizing thoughts and notes in a non-linear way.项目地址: https://gitcode.com/gh_mirrors/pr/project-graph
脑子里的想法很多,落到文档里却总是对不上:给同事讲架构时只能干瞪眼说"这块调那块";项目排期散落在聊天记录、便签和半成品表格里;头脑风暴一结束,白板上的关系就没人记得清了。线性文档天生不擅长表达"分支与互相引用",你需要的是一张能随手拖拽、随时改线的图。
认识 Project Graph:一个节点图绘图工具
project-graph(Project Graph)是一个桌面级节点图工具:拖一个节点、连两条线,思路就变成了看得见的图,专为头脑风暴、知识图谱、项目规划这类非线性思考场景设计。
核心能力:
- 🖱 拖拽建节点,连线即关联
- 画出树、DAG 与关系网络
- 撤销/重做随时回退
- 图自动保存并备份
- 一键导出 PNG / SVG / Markdown
技术拆解:前端桌面应用怎么搭的
它不是网页套壳,也不是纯本地脚本,主要技术构成如下:
| 层次 | 用了什么 | 带来什么效果 |
|---|---|---|
| 桌面壳 | Tauri 2 + Rust | Windows / macOS / Linux 全平台运行,Rust 负责本地文件读写与系统能力 |
| 前端 UI | React 19 + TypeScript + Vite | 界面响应快、类型安全,改起来不慌 |
| 组件样式 | shadcn/ui + Tailwind CSS + Radix UI | 弹窗、菜单、工具条风格统一,观感现代 |
| 图渲染 | Canvas 2D 自研渲染管线 | 同屏画大量节点与连线,拖拽缩放不卡,源码见 app/src/core/render/canvas2d/ |
| 状态管理 | Jotai | 细粒度订阅,改动一个节点不会重刷整个舞台 |
| 节点内编辑 | Plate.js 富文本 + KaTeX | 节点里能写富文本、代码块、数学公式 |
| 数据存储 | 本地 .prg 文件(msgpack 序列化) | 数据存自己硬盘,不依赖云端,序列化逻辑见 packages/serializer/ |
| 工程组织 | pnpm workspace + Nx monorepo | serializer、shapes、data-structures 等包独立拆分,可单独复用 |
业务逻辑集中在一套服务化架构里,控制、数据、AI、协作各管一段,入口在 app/src/core/service/。
四个真实场景:谁在用、怎么用
📌 程序员整理模块依赖:你接了个新需求,要理清模块间调用关系,就把每个模块拖成节点、用箭头连起来;画完导出 PNG 贴进设计文档,架构评审不再靠嘴说。
📌 教师做学期知识图谱:你在设计一学期的教学计划,把章节关系摆上画布、用 section 分组各单元;导出 Markdown 随教案发给学生,章节之间的前后依赖一目了然。
📌 产品经理开头脑风暴会:你在会上把每条想法敲成节点,相近的想法现场连线归类;散会时白板上的一团乱麻变成一张能保存、能转发的图,讨论结论不用二次整理。
📌 在意数据归属的个人用户:你不想笔记被锁在某个云盘里,.prg 文件就在自己硬盘上,自动保存加备份,中途断电也能从备份恢复上一版。
为什么值得试试
不用等官方排期,功能可以自己加。项目自带扩展运行时和扩展工具链,你照着 packages/create-extprg/ 的模板写一个新节点类型或新菜单项,装进应用就能用;扩展加载逻辑在 app/src/core/extension/,读一读就知道边界在哪。
AI 是内置常驻,不是后期插件。内置 AI 聊天、MCP 本地工具接入和本地模型支持,能直接针对图里的内容提问、操作对象;实现集中在 app/src/core/service/dataManageService/aiEngine/,不想用也可以直接关掉。
协作与导入导出同样齐备。协作服务 app/src/core/service/collaboration/ 支持多人实时同步同一张舞台;素材方面,Markdown、Mermaid、纯文本都能导入,导出方向涵盖 PNG、SVG 与 Markdown(app/src/core/service/dataGenerateService/stageExportEngine/),图不是死物,随时能变成文档里的素材。
细节上有完整的本地化与主题。中英及多种语言界面见 app/src/locales/,多套主题配色见 app/src/themes/,深色画布长时间画图不费眼。
下一步:现在开始动手
无论是讲架构、排项目,还是单纯想把一团乱麻的思路理清楚,project-graph 都能给思维一个安放的地方。现在就拉取仓库体验一下:
git clone https://gitcode.com/gh_mirrors/pr/project-graph【免费下载链接】project-graphA node-based visual tool for organizing thoughts and notes in a non-linear way.项目地址: https://gitcode.com/gh_mirrors/pr/project-graph
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考