我的软件
我在做的软件
离开大公司之后,我给自己定下了一个长期计划:一边记录重启人生的周记,一边慢慢做一些真正能被别人用起来的软件。这里会陆续放上我在做、或者打算长期维护的项目。
目前最重要的一个,是给孩子和少儿编程机构用的图形化编程工具 101kit。
101kit:一款面向少儿编程的本地化教学工具
它是做什么的?
101kit 是一款可以替代网页版 Scratch 的本地少儿编程系统:
- 面向 儿童编程入门 的图形化编程编辑器;
- 集成 账户管理、课程管理、作品管理 的小型教学平台;
- 支持 Scratch 图形化编程 + Excalidraw 流程图 + Python;
- 运行在本地电脑上,兼容 Windows、macOS、Linux。
它的目标,是让个人老师、家长、小型培训机构,不用折腾服务器和复杂环境,就能在一台普通电脑上搭建起“自己的少儿编程教室”。
和其他开源 Scratch 系统相比,有什么特点?
根据 101kit 仓库的 README,总结几个关键点:
- 部署非常简单:使用 SQLite 文件数据库,无需单独配置数据库服务;
- 一键运行:下载可执行文件,赋予执行权限,直接运行即可启动服务;
- 跨平台:提供 Windows / Linux / macOS 不同平台的构建版本;
- 前后端一体:内置学生端界面和管理后台,不需要再额外搭网站;
- 适合小规模教学场景:个人老师、小机构、小型编程班都能轻松使用。
这些设计的出发点很简单:我希望家长或老师不需要是运维工程师,也能把环境搭好,让更多孩子有机会接触到编程。
下载地址
你可以在 GitHub Release 页面下载对应平台的可执行文件:
- 仓库地址:
https://github.com/mail2fish/101kit - 下载页:
https://github.com/mail2fish/101kit/releases
通常的使用流程是:
- 在 Release 页面下载适合自己平台的压缩包;
- 解压后得到一个可执行文件(例如
101kit_darwin_arm64); - 赋予执行权限并运行程序。
以 macOS ARM 为例,命令大致如下:
chmod +x ./101kit_darwin_arm64
./101kit_darwin_arm64
程序启动后,会自动创建一个 101kit_server 目录,用来存放配置和学员的程序文件。之后在浏览器中访问终端里提示的地址,就能进入系统。
教学界面预览
101kit 内置了学生端和管理端界面(截图在项目 README 中有更完整的展示):
- 学生端:
- 学生首页、我的程序列表、我的班级、作品分享、资源文件等;
- 可以像在 Scratch 一样拖拽积木块编程,保存和管理自己的作品。
- 管理端:
- 管理学员、班级、课程、课件和资源文件;
- 支持创建用户、创建班级、上传和管理教学资源;
- 一键进入 Scratch 图形化编程界面。
在我的少儿编程课堂里,我主要用 101kit 来:
- 带孩子做动画、小游戏;
- 管理每个孩子的作品和课堂进度;
- 逐步引导高年级孩子接触 Python 和流程图。
给开发者的一些信息
如果你不仅想使用 101kit,还想参与开发或自己二次定制,可以参考仓库的构建与开发指南。这里给一个概览:
- 技术栈:
- 后端:Go(基于 Gin + GORM,使用 SQLite 数据库);
- 前端:Scratch GUI 魔改版 + React Router + shadcn UI;
- 构建方式:
- 需要 Go 1.24+、Node.js 23.9.0+;
- 先构建前端(Scratch 客户端和学员管理系统),再构建 Go 服务端;
- 阅读 README 的“构建指南”和“开发指南”部分可以获得完整命令列表。
详细的安装、构建与部署说明,请直接参考 101kit 仓库的 Readme.zh.md,那里记录得更全面、也会持续保持更新。
未来会增加的内容
目前这个页面只介绍了 101kit,一个和少儿编程课程紧密相关的软件项目。后续如果我在重启人生的路上,把其他想法做成了真正的软件,也会陆续整理到这里,按模块简单说明它们解决了什么问题、适合谁用。