AI助手请查阅 working-notes 文件夹中的文件,以获取背景信息。
基于Julia+React Flow的画布式编程环境,支持变量、表达式、公式对象的可视化、交互式编辑与复合。
# 启动前后端服务
.\start-services.ps1
# 仅启动后端
.\start-services.ps1 -BackendOnly
# 仅启动前端
.\start-services.ps1 -FrontendOnly
# 查看帮助
.\start-services.ps1 -Help# 快速启动(在新窗口中运行)
.\start.ps1cd julia-backend
julia --project=. start_server.jlcd example-react-flow
pnpm dev- 后端API: http://127.0.0.1:8081
- 前端界面: http://127.0.0.1:5173
- Julia: 代码执行引擎
- HTTP.jl: REST API服务器
- JSON3.jl: JSON处理
- React + TypeScript: 前端框架
- React Flow: 画布和节点系统
- Vite: 构建工具
- TailwindCSS: 样式框架
- Zustand: 状态管理
- Julia代码节点编辑和执行
- 变量控件系统(@input/@output标记)
- 滑动条控件 (
@slider) - 文本输入控件 (
@string) - 布尔开关控件 (
@boolean)
- 滑动条控件 (
- 实时代码执行和结果显示
- 节点间连接和数据流
- 多模式工具栏(选择/文本/连接模式)
- 键盘快捷键支持(WASD移动,V/T/C模式切换)
- 画布状态持久化(自动保存/恢复)
- 导入/导出功能
- 错误处理和用户反馈
🚧 开发中- [ ] Julia语法高亮- [ ] 节点间依赖关系可视化- [ ] Desmos预览和导出- [ ] 更多变量控件类型- [ ] 性能优化(大规模画布支持)- [ ] 用户引导和帮助功能
创建一个简单的计算节点:
@input x @slider(0, 100, 1, 50)
@input y @slider(0, 100, 1, 30)
const sum = x + y
const product = x * y
const average = sum / 2
@output sum
@output product
@output average这将创建:
- 两个滑动条控件(x和y)
- 自动计算总和、乘积和平均值
- 显示三个输出结果
- 滑动条改变时实时更新计算结果
- Julia (≥1.8)
- Node.js (≥18)
- pnpm (≥8)
cd julia-backend
julia --project=. -e "using Pkg; Pkg.instantiate()"cd example-react-flow
pnpm installGET /api/health
POST /api/parse
Content-Type: application/json
{
"code": "Julia代码字符串"
}
POST /api/evaluate
Content-Type: application/json
{
"code": "Julia代码字符串",
"input_values": {
"变量名": "变量值"
}
}
- 确认Julia已安装:
julia --version - 检查项目依赖:
julia --project=. -e "using Pkg; Pkg.status()" - 重新安装依赖:
julia --project=. -e "using Pkg; Pkg.instantiate()"
- 确认Node.js和pnpm已安装:
node --version,pnpm --version - 清理并重新安装依赖:
pnpm clean-install - 检查端口占用:
netstat -ano | findstr :5173
- 确认后端服务正常:访问 http://127.0.0.1:8081/api/health
- 检查防火墙设置
- 确认CORS配置正确
本项目采用 MIT 许可证。
欢迎提交 Issue 和 Pull Request!
有问题或建议请创建 Issue。