Skip to content

Wing900/PlotKityCat

Repository files navigation

PlotKityCat Logo

PlotKityCat

一款专为数学老师打造的 AI-native 可视化教学工具。

Wails Vue Go Python License

简介

PlotKityCat 是一个面向数学教学场景的 AI-native 可视化工具。它基于 Matplotlib 执行绘图代码,支持自然语言生成可视化,并以便携式 runtime 支撑课堂演示与离线分发。

视频介绍

PlotKityCat.github-preview.mp4

开发初衷

PlotKityCat 源于对 GGBPuppy 开发过程中 GGB Web API 封闭性的反思。我们转向 Matplotlib,为初高中数学可视化提供 AI-native 方案。

那天,我在研究 GGB 的 webapi,AI 总是写下错误的 GGB 代码,让我的另外一个项目 GGBPuppy 很受挫折。我突然发现一个 GGB 的 api 接口不完整,于是以开发者的口吻发了一封信给他们团队,结果收到了他们希望我付钱的要求......好吧,那天晚上关掉它肮脏线条和色彩的窗口,我梦见了 Jobs.....

  1. 开源:好的工具应该像太阳一样,太阳是闭源的吗?
  2. :拒绝 GGB 沉闷的色彩与线条。
  3. AI 原生:通过 AI 直接生成可视化代码,无需老师学习编程。

PlotKityCat 支持优盘便携,旨在让老师将其带入教室、讲台及学生手中。

设计原则

  1. 开源:以可审查、可扩展的技术栈承载教学工具。
  2. 美感:避免传统数学软件沉闷的视觉体验。
  3. AI 原生:让老师通过自然语言驱动可视化生成,而不是先学编程。

功能特性

  • AI 绘图:通过自然语言描述数学概念,由 AI 生成 Matplotlib 绘图代码。
  • 笔记系统:集成 Markdown 与 LaTeX 公式渲染,绑定代码,看到可视化的结果,更看到可视化的设计。
  • 便携运行:依赖便携 Python runtime,适合 U 盘和教室环境分发。
  • 场景包导入导出:支持 .pck 场景包的交换与复用。

技术栈

  • 前端: Vue 3, TypeScript, Vite
  • 后端: Go, Wails Framework
  • 运行时: WinPython (NumPy, Matplotlib, SciPy, PyQt5)
  • AI 接口: OpenAI API / 自定义兼容接口

快速开始

  1. 下载便携版压缩包。
  2. 配置 AI 服务商 API Key。
  3. 启动应用并新建场景。
  4. 在笔记区输入描述后运行可视化或可视化设计。

开发入口

  • Windows
  • Go: 1.22+
  • Node.js: 18+
  • Wails: v2.x

开发启动:

cd frontend
npm install
cd ..
wails dev

runtime 打包入口:

.\tools\prepare-runtime.ps1 -SourceRuntimeDir <你的 runtime 目录>

应用打包入口:

.\tools\build-versioned-app.ps1
.\tools\package-release.ps1
.\tools\prepare-update-release.ps1

文档索引

  • 开发与构建总说明: DEVELOPMENT.md
  • runtime 分发与重建: RUNTIME_BUILD.md
  • 在线更新与发布: UPDATE_RELEASE.md

致谢

愿景

期待更多的可视化资源可以被开发、开源、开放,打破教育资源长期以来的垄断,让教育越来越清晰、越来越公平。期待有一天能够建立一个 PlotKityCat 交流社区。

About

PlotKityCat 是一个开源的数学可视化工具,支持运行 Matplotlib 代码并生成交互式图形。集成 AI 功能,支持通过自然语言提示词生成绘图代码。软件采用便携式设计,支持优盘即插即用,方便在教室等不同环境下快速部署与演示。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors