Metadata-Version: 2.4
Name: pyfa-wzq
Version: 1.0.0
Summary: EAMS 培养方案生成与分析技能（major-curriculum）自动安装包 —— pip 安装后自动同步到 WorkBuddy 技能目录
Author-email: 吴振谦 <wuzhenqian@nbu.edu.cn>
Project-URL: Homepage, https://github.com/wuzhenqian/pyfa-wzq
Keywords: workbuddy,skill,培养方案,EAMS,major-curriculum
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# pyfa-wzq · major-curriculum 技能自动安装包

> **作者：吴振谦**
> **邮箱：wuzhenqian@nbu.edu.cn**
> **QQ：38328063**

`pyfa-wzq` 是一个 **Python 插件**，用于把「**major-curriculum**」技能（EAMS 培养方案生成与分析技能）**自动安装到 WorkBuddy 的技能目录**。
用户只需 `pip install pyfa-wzq`，技能就会自动同步到 `~/.workbuddy/skills/major-curriculum/`，打开 WorkBuddy 即可直接使用。

---

## 一、功能介绍

major-curriculum 技能面向高校各二级学院系主任 / 教学秘书，**不内置任何实际数据**，使用者把自己学院近几年的 **htm 格式培养方案**放入 `input/` 目录后，即可自助完成：

| # | 能力 | 说明 |
|---|---|---|
| ① | **生成新培养方案初稿** | 以某专业最新年度 htm 为模板生成新一年度初稿（三件套：初稿 + 登山图 + 变化脉络），含表1/表2 支撑关系表、淡蓝表格 |
| ② | **学分修习进阶登山图** | 分列登山图（第1学期在底部，通识/专业/方向分列），供学生选课参考 |
| ③ | **课程体系变化脉络** | 近几年的课程四列时间线分析（稳定/增删/学分调整 + 总评 + 重修顶替建议） |
| ④ | **培养方案错误诊断** | 总学分核对、四类子表学分/学时校验、课号重复、毕设重复、必修标记矛盾等 11 项检查，报告含高亮定位 |

---

## 二、安装与自动同步

```bash
pip install pyfa-wzq
```

**安装后自动生效**：包内含 `.pth` 自动同步机制，任一次 Python 启动（包括 WorkBuddy 运行环境）都会把技能同步到 `~/.workbuddy/skills/major-curriculum/`，无需手动复制。
（同步带版本检查：同版本只同步一次，升级插件版本后会自动覆盖更新。）

如需**立即手动同步**（不等待下一次 Python 启动）：

```bash
pyfa-wzq-install            # 同步（已是最新则跳过）
pyfa-wzq-install --force    # 强制重新同步
```

同步完成后，在 WorkBuddy 左侧「技能」中即可看到 **major-curriculum**。

---

## 三、指令用法（命令行）

```bash
# 查看同步状态 / 手动同步
pyfa-wzq-install
pyfa-wzq-install --force

# 查看包版本
pip show pyfa-wzq
```

### 技能内部脚本（安装到技能目录后，在技能目录下运行）

```bash
# ① 放入 htm 到 input/ 后解析
python scripts/parse_all.py

# ② 生成新培养方案初稿（三件套）
python scripts/gen_draft_ai.py --major 电气工程及其自动化 --from 2026 --to 2027

# ③ 学分修习进阶登山图
python scripts/build_mountain.py

# ④ 课程体系变化脉络
python scripts/task2_trend.py

# ⑤ 培养方案错误诊断（全量 / 单份）
python scripts/audit_plan.py
python scripts/diagnose_plan.py input/2025_电子信息工程_本科.htm
```

**文件名约定**（放 `input/` 的 htm 需按此命名）：
`{年份}_{专业名}[_{方向}]_{类别}.htm`，如 `2025_电子信息工程_本科.htm`、`2024_会计学_专升本.htm`、`2023_英语_国际商务_本科.htm`。

---

## 四、在 WorkBuddy 里的用法

技能安装后，在 WorkBuddy 对话中直接说（自然语言即触发对应能力）：

| 想做这件事 | 这样说 |
|---|---|
| 生成新方案 | 「帮我基于 input 里最新的会计学方案，生成 2027 级培养方案初稿，要登山图和变化脉络」 |
| 生成登山图 | 「生成各专业的学分修习进阶登山图」 |
| 变化脉络 | 「分析各专业近几年的课程体系变化脉络」 |
| 错误诊断 | 「检查这些培养方案有什么问题，全部罗列出来」 |

---

## 五、开发者信息

- **作者**：吴振谦
- **邮箱**：wuzhenqian@nbu.edu.cn
- **QQ**：38328063
- **技能目录**：`~/.workbuddy/skills/major-curriculum/`（Windows 为 `C:\Users\<用户名>\.workbuddy\skills\major-curriculum\`）

---

## 六、常见问题

- **安装后技能没出现**：技能在**下一次 Python 进程启动**时自动同步；或手动运行 `pyfa-wzq-install` 立即同步，然后重启 WorkBuddy。
- **提示"未找到 master.json"**：先运行 `python scripts/parse_all.py`。
- **想自定义生成内容**：编辑 `scripts/gen_draft_ai.py` 顶部的 `COURSE_RENAME` / `DIR_RENAME` 映射表（README 有说明）。
