Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

200 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 | English


PlotKityCat Logo
Cat paws

PlotKityCat — Plot it, Note it, Teach it

∫   ∑   ∂   π   ∞

面向数学教师的 AI-native 可视化教学工具

用自然语言生成 Matplotlib 可视化,把公式、代码、图像与教学笔记放进同一个工作区。

◆   ◆   ◆

Release v0.0.5.0 Windows AMD64 AI Native GPL-3.0

Wails v2 Vue 3 Python 3.13+

下载  •  视频  •  功能  •  快速开始  •  开发文档


PlotKityCat 是什么

PlotKityCat 为初高中数学教学提供自然语言驱动的可视化工作流。教师可以描述一个数学概念、图像或交互场景,由 AI 生成 Matplotlib 代码,并在应用内继续编辑代码、组织笔记、调整图像与沉淀教学素材。

应用携带独立 WinPython Runtime,适合放入 U 盘、教室电脑或个人工作目录运行。代码、Markdown、LaTeX 公式和可视化结果围绕同一场景组织,减少在多个工具之间切换的成本。

视频介绍

Plotkitycat_compressed.mp4

功能

AI 可视化

  • 使用自然语言生成 Matplotlib 绘图代码。
  • 支持代码生成、优化与修复。
  • Prompt 已针对数学教学和可视化质量重构。
  • AI 工作期间使用小猫动画呈现生成状态。

灵活的 AI 接口

  • 支持自定义 OpenAI-compatible API。
  • 可以配置 Base URL、API Key 与 Model。
  • AI Provider 与生成工作流解耦,方便接入兼容服务。

教学工作区

  • 场景内同时管理 Python 代码、Markdown 笔记和可视化结果。
  • Markdown 支持 LaTeX 数学公式。
  • 支持多个工作区和场景的创建、切换、重命名与组织。
  • 支持仅笔记、仅代码和组合视图等 Layout Mode。
  • 支持 .pkcw 工作区包导入与导出。

Design Card

  • 从笔记内容生成可视化设计卡片。
  • 支持继续优化生成结果。
  • 保留设计版本,方便比较与回退到所需方案。

首次上手

  • 新用户首次启动时进入新手教程。
  • 教程基于随应用发布的预制工作区。
  • 引导覆盖主要区域、常用交互和基础生成流程。

便携运行与更新

  • 完整包包含 WinPython Runtime、Matplotlib、NumPy、SciPy 和 PyQt5。
  • 支持 U 盘与免安装目录运行。
  • 设置页支持检查更新、下载更新与重启安装。
  • 更新文件执行 Size 与 SHA256 完整性校验。
  • 集成 ScreeningZoom,辅助课堂放映与局部讲解。

下载 Windows 版

全新安装

适合第一次使用,包含应用、Runtime、预制工作区和放映组件。

下载 PlotKityCat v0.0.5.0 完整包

文件名:

PlotKityCat-v0.0.5.0.zip

已有完整环境

适合已经安装过完整包、只需要替换应用文件的用户。

下载 PlotKityCat v0.0.5.0 增量包

文件名:

PlotKityCat-0.0.5.0-windows-amd64.zip

已安装用户后续可以在设置中直接检查更新。

当前发布目标为 Windows AMD64。macOS 与 Linux 安装包暂未提供。

快速开始

  1. 下载并解压完整包。
  2. 运行 PlotKityCat.exe
  3. 跟随新手教程熟悉工作区。
  4. 描述希望生成的数学图像。
  5. 在代码区、笔记区和可视化区域继续调整结果。
  /\_/\
 ( •ω•)  “画出带参数滑块的二次函数,
 / >📐    同时标出顶点和对称轴。”

       ↓ AI

  y
  │       ╭─╮
  │     ╭─╯ ╰─╮
  └────────────── x

在 AI 设置中可以切换到 Custom Mode,并填写兼容 OpenAI Chat Completions 协议的服务地址。

一个工作区里有什么

工作区
├─ 场景 A
│  ├─ main.py       # Matplotlib 代码
│  └─ note.md       # Markdown / LaTeX 教学笔记
├─ 场景 B
│  ├─ main.py
│  └─ note.md
└─ .plotkitycat-scenes.json

多个工作区可以打包为 .pkcw 文件,用于备份、交换与迁移教学素材。

开发初衷

PlotKityCat 源于我开发 GGBPuppy 时的一次受挫。

那天,我一直在研究 GeoGebra Web API。AI 总会写出无法运行的 GGB 代码,我逐渐发现,问题并不只来自模型:GGB 提供的接口并不完整。为了确认这件事,我以开发者的身份给他们的团队写了一封邮件,得到的答复却是需要付费。

那天晚上,我关掉了那个有着沉闷线条和色彩的窗口。后来我梦见了 Jobs。

这件事让我开始重新思考数学教学软件:教师为什么必须被某个封闭接口限制?AI 为什么只能在残缺的 API 上反复猜测?一张数学图像的美感,为什么总要向旧工具的视觉习惯妥协?

于是我转向 Matplotlib。它拥有开放、成熟且可审查的 Python 生态,也给 AI 留下了足够清晰的表达空间。PlotKityCat 就从这里开始:让教师描述教学意图,让代码负责精确,让图像负责表达。

我们希望守住三条原则:

  1. 开放:教学工具应当可以被审查、扩展和分享。
  2. 美感:数学图像应当清晰、克制,并具有表达力。
  3. AI-native:教师描述教学意图,工具将意图转换为代码与图像。
   /\_/\
  ( -.- )  数学负责严谨
  / >☕    小猫负责陪你等图

技术栈

层级 技术
Desktop Shell Wails v2
Frontend Vue 3、TypeScript、Vite、CodeMirror
Backend Go
Visualization Python 3.13、Matplotlib、NumPy、SciPy
Interactive Runtime WinPython、PyQt5
Notes Markdown、MathJax / LaTeX
AI OpenAI-compatible API

本地开发

环境

  • Windows
  • Go 1.22+,推荐使用 go.mod 指定的 Toolchain
  • Node.js 20+
  • Wails v2

启动

cd frontend
npm install
cd ..
wails dev

Runtime

准备或重建便携 Runtime:

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

详细说明见 RUNTIME_BUILD.md

构建发布

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

版本、更新服务器和完整发布流程见 UPDATE_RELEASE.md

文档

致谢

  • Matplotlib:核心可视化引擎。
  • ManimCat:提供早期开发基础与灵感。
  • Wails:Go 与 Web 技术结合的桌面应用框架。
  • ZoomIt / PowerToys:课堂放映辅助能力的实现基础。

愿景

期待更多数学可视化资源被开发、开放与分享,让教学表达更加清晰,让优质教育资源更容易流动。

也期待有一天,PlotKityCat 可以成为教师、学生和创作者共同维护的数学可视化社区。

        /\_/\
       ( ^.^ )
       / づ づ  一起把数学画清楚。

License

GNU General Public License v3.0

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages