# 芬兰校园数据CLI工具
`CLI工具` `教育` `AI集成` `TypeScript` `开源`
# wilmai
**wilmai**(wilm.ai)是一款独立的开源命令行工具,用于读取芬兰 Wilma 学校系统的数据——包括课程表、作业、考试、成绩、消息和通知。
可以**作为家长交互式使用**,快速查看孩子的重要信息;也可以将其接入 **AI 智能体**(如 OpenClaw、Claude Code 等)作为技能插件,帮助你掌握孩子的学校生活。
> **免责声明:** 本项目是一位家长开发的独立开源项目,与 Visma 或官方 Wilma 服务无任何关联、授权或背书。
## 为什么做这个
- 家长需要一种快速可靠的方式查看**今天有什么重要事项**。
- AI 智能体需要一个稳定、可脚本化的接口,以便进行摘要、提醒和辅助。
- 支持所有 Wilma 租户,输出统一的 JSON 格式。
## 项目结构
- `packages/wilma-client` – TypeScript Wilma 客户端(认证 + 解析 + 租户列表)
- `packages/wilma-cli` – 交互式 CLI 及非交互命令模式
- `apps/site` – 落地页(Vercel 部署)
## 快速开始
```bash
pnpm install
pnpm --filter @wilm-ai/wilma-cli build
node packages/wilma-cli/dist/index.js
```
### 全局安装
```bash
npm i -g @wilm-ai/wilma-cli
# 或
pnpm add -g @wilm-ai/wilma-cli
```
### 作为技能安装(npx skills)
```bash
npx skills add aikarjal/wilmai
```
### 非交互模式(适用于智能体/技能)
```bash
wilma summary --all-students --json
wilma schedule list --when tomorrow --json
wilma homework list --all-students --json
wilma exams list --all-students --json
wilma grades list --all-students --json
```
配置文件存储于 `~/.config/wilmai/config.json`(或 `$XDG_CONFIG_HOME/wilmai/config.json`),可通过 `WILMAI_CONFIG_PATH` 环境变量覆盖。
## 凭据与隐私
首次登录后,你的 Wilma 账号凭据将本地存储在 `~/.config/wilmai/config.json`(或 `$XDG_CONFIG_HOME/wilmai/config.json`)中。密码经过混淆处理(非加密),仅为使用方便——这是一款个人效率工具,并非密码保险箱。
**请勿分享你的配置文件。** 若在共享设备上使用,建议用完后删除配置(`rm -rf ~/.config/wilmai`)。
本工具访问的数据与官方 Wilma 应用或网站相同,请自行妥善处理相关数据。
## 愿景
wilmai 致力于成为**开源**、**可移植**且**对 AI 友好**的工具:
- 面向人类的 CLI
- 面向 AI 工具的 JSON 输出
- 面向 AI 智能体的技能集成
## 许可证
MIT