소스 정보
- 저장소
- caoronglin/nwafu-task-feishu
- 최근 소스 활동
- 2026년 3월 15일 02:29
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 0
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- nwafu-task-feishu
- description
- 西北农林科技大学课表导入飞书待办技能。支持校历作息时间(夏令时/冬令时自动切换)、课程表解析、飞书任务创建、分组管理等功能。
- version
- 1.0.0
- author
- 薛麟麒 <xuelinqi@nwsuaf.edu.cn>
- tags
- 西北农林科技大学,课表,飞书,待办,任务管理,校历,作息时间
- repository
- https://github.com/caoronglin/nwafu-task-feishu
- license
- MIT
## 📚 技能描述
西北农林科技大学(NWSUAF)课表自动导入飞书待办技能。根据校历规定的作息时间(夏令时/冬令时自动切换),将课程表 Excel 中的课程信息批量创建为飞书待办任务,支持按课程/实验分组管理。
## 🎯 功能特性
- ✅ **作息时间自动切换**:根据校历自动应用夏令时(5 月 1 日 -9 月 30 日)或冬令时(10 月 1 日 -4 月 30 日)
- ✅ **课程表解析**:支持从飞书导出的课表 Excel 文件中解析课程信息
- ✅ **飞书任务创建**:批量创建带准确时间的飞书待办任务
- ✅ **分组管理**:自动创建"课程"和"实验"分组,任务按类型归类
- ✅ **班级匹配**:支持多班级课程,精确匹配用户所在班级
- ✅ **北京时间**:所有时间使用北京时间(UTC+8)
## 📋 触发词
nwafu task feishu,西农课表,西北农林科技大学课表,课表导入飞书,飞书待办,创建课程任务,校历作息,夏令时冬令时,课程分组,实验分组,批量创建任务,课表自动化,NWSUAF,nwafu schedule
## 🔧 前置准备
### 1. 飞书应用配置
在飞书开放平台创建应用,获取以下权限:
- 任务读写权限
- 用户信息读取权限
### 2. 环境变量配置
复制 `.env.example` 为 `.env` 并填写配置:
```bash
cp .env.example .env
```
### 3. 依赖安装
```bash
pip install -r requirements.txt
```
## 💻 使用方法
### 基础用法
```bash
python nwafu_task_feishu.py --excel 课表文件.xls --class 生技 2402
```
### 完整参数
```bash
python nwafu_task_feishu.py \
--excel /path/to/calendar.xls \
--class "生技 2402" \
--start-date 2026-03-02 \
--lab-excel /path/to/lab.xls \
--action create # create, delete, sync
```
### 参数说明
| 参数 | 必需 | 说明 |
|------|------|------|
| `--excel` | ✅ | 课表 Excel 文件路径 |
| `--class` | ✅ | 用户班级名称(如"生技 2402") |
| `--start-date` | ❌ | 开学日期(默认:2026-03-02) |
| `--lab-excel` | ❌ | 实验课表 Excel 文件路径 |
| `--action` | ❌ | 操作类型:create(创建)、delete(删除)、sync(同步) |
| `--delete-all` | ❌ | 删除所有已创建的任务 |
## 📅 作息时间规则
### 夏令时(5 月 1 日 - 9 月 30 日)
| 节次 | 时间 |
|------|------|
| 1-2 节 | 08:00-09:40 |
| 3-4 节 | 10:10-11:50 |
| 5-6 节 | 14:30-16:10 |
| 7-8 节 | 16:30-18:10 |
| 9-10 节 | 19:00-20:35 |
| 11-12 节 | 20:45-22:20 |
### 冬令时(10 月 1 日 - 4 月 30 日)
| 节次 | 时间 |
|------|------|
| 1-2 节 | 08:00-09:40 |
| 3-4 节 | 10:10-11:50 |
| 5-6 节 | 14:00-15:40 |
| 7-8 节 | 16:00-17:40 |
| 9-10 节 | 19:00-20:35 |
| 11-12 节 | 20:45-22:20 |
## 📁 文件结构
```
nwafu-task-feishu/
├── nwafu_task_feishu.py # 主程序脚本
├── pyproject.toml # Python 项目配置
├── requirements.txt # Python 依赖
├── .env.example # 环境变量模板
├── .gitignore # Git 忽略配置
├── .editorconfig # 编辑器配置
├── LICENSE # MIT 许可证
├── README.md # 项目说明
├── CHANGELOG.md # 更新日志
├── CONTRIBUTING.md # 贡献指南
├── CODE_OF_CONDUCT.md # 行为准则
├── SECURITY.md # 安全政策
├── SKILL.md # CoPaw 技能描述
├── tests/ # 测试目录
│ ├── __init__.py
│ └── test_schedule.py
└── .github/workflows/ # GitHub Actions
└── ci.yml
```
## 🔐 密钥管理
### 方式一:.env 文件(推荐)
```bash
cp .env.example .env
# 编辑 .env 填写密钥
```
### 方式二:系统环境变量
```bash
export FEISHU_APP_ID=your_app_id
export FEISHU_APP_SECRET=your_app_secret
export FEISHU_USER_OPEN_ID=your_open_id
```
### 方式三:命令行参数
```bash
python nwafu_task_feishu.py --app-id xxx --app-secret xxx --user-id xxx
```
## ⚠️ 注意事项
1. **密钥安全**:不要将 `.env` 文件提交到 Git
2. **班级名称**:必须与课表中的班级名称完全一致(注意空格)
3. **开学日期**:根据实际校历调整开学日期
4. **任务删除**:删除操作不可恢复,请谨慎使用
5. **时区设置**:服务器时区应设置为 Asia/Shanghai(北京时间)
## 🐛 常见问题
### Q: 任务创建后看不到?
A: 检查 `FEISHU_USER_OPEN_ID` 是否正确,必须使用用户的 open_id
### Q: 时间不对?
A: 检查服务器时区是否为 Asia/Shanghai,执行 `date` 查看
### Q: 班级匹配不到?
A: 课表中的班级名称可能有空格差异,用 `--debug` 查看解析结果
### Q: 夏令时/冬令时切换?
A: 脚本自动根据日期判断,5 月 1 日 -9 月 30 日用夏令时,其他用冬令时
## 📝 示例
### 示例 1:创建课程任务
```bash
python nwafu_task_feishu.py \
--excel 课表导出.xls \
--class "生技 2402" \
--action create
```
### 示例 2:创建课程 + 实验任务
```bash
python nwafu_task_feishu.py \
--excel 课表导出.xls \
--lab-excel 实验课表.xls \
--class "生技 2402" \
--action create
```
### 示例 3:删除所有任务
```bash
python nwafu_task_feishu.py \
--class "生技 2402" \
--delete-all
```
## 📄 License
MIT License - 详见 [LICENSE](LICENSE) 文件
## 🤝 贡献
欢迎提交 Issue 和 Pull Request!详见 [CONTRIBUTING.md](CONTRIBUTING.md)
## 🔗 链接
- GitHub: https://github.com/caoronglin/nwafu-task-feishu
- Issues: https://github.com/caoronglin/nwafu-task-feishu/issues
- PyPI: (待发布)
GitHub에서 보기