一个基于 Anki 的可视化学习工具,帮助用户更高效地管理和学习记忆卡片。
ankirus 是一个为 Anki 用户设计的增强工具,它提供了直观的卡片状态可视化界面,帮助用户更好地理解和管理自己的学习进度。通过状态地图(StateMap),用户可以一目了然地看到所有卡片的难度、稳定性和 retention 等关键指标。
ankirus/
├── ankirus/ # Python 后端代码
│ ├── __main__.py # 主程序入口
│ └── ...
├── ankirus_nodejs/ # Node.js 后端相关代码
│ └── ...
├── web/ # HTML, CSS 以及编译后的前端 JavaScript 代码
├── web_ts/ # TypeScript 前端代码 (原版)
│ ├── ankirus.ts # 主应用类
│ ├── statemap.ts # 状态地图组件
│ ├── options.ts # 选项设置
│ └── ...
├── web_new/ # 新版 React + D3.js 前端 (实验性)
│ ├── src/ # TypeScript 源码
│ ├── package.json # Node.js 依赖
│ └── ...
├── config.json # 配置文件
├── config-test.json # 测试配置
└── ankirus.sh # Docker 运行脚本
- Python 3.9+
- Node.js 16+
- Anki 已安装并配置
- 克隆项目到本地
git clone https://github.com/9-2-1/ankirus.git
cd ankirus- 安装 Python 依赖
pip install aiohttp anki- 安装 Node.js 依赖
cd ankirus_nodejs
npm install- 编译 TypeScript 代码
# 在 web_ts 目录下
tsc复制 config-test.json 为 config.json 并根据你的系统修改配置:
{
"media": "collection.media/", # Anki 媒体文件目录
"userprofile": "/path/to/anki/profile/", # Anki 用户配置目录
"tmp_db": "tmp-collection.anki2", # 临时数据库文件
"port": 24032, # 服务端口
"cache_ttl": 86400 # 缓存有效期(秒)
}- 启动服务
python -m ankirus- 在浏览器中访问打开 http://127.0.0.1:24032
- 卡片状态可视化
- 按组查看卡片
- 卡片难度和稳定性分析
- 自定义视图选项
前端代码位于 web_ts/ 目录,使用 TypeScript 编写。修改代码后需要重新编译:
cd web_ts
tsc实验性的新版前端使用 React + D3.js,提供 TreeMap 可视化:
cd web_new
npm install
npm run dev # 开发模式
npm run build # 生产构建后端代码位于 ankirus/ 目录,使用 Python 编写。
本项目采用 MIT 许可证。