feat: Doro系统提示词内置课程评价数据(34条),支持选课推荐
一只会聊天、会查课表、会看贴吧的 Doro 桌宠 🍊
BJTU Desktop Pet Assistant 是一款面向北京交通大学学生的桌面宠物应用。
Doro(一只喜欢橘子、爱钻纸箱的粉色小生物)栖息在你的桌面上,它能:
# 1. 克隆仓库 git clone https://github.com/your-org/bjtu-pet.git cd bjtu-pet # 2. 安装依赖 pip install -r requirements.txt # 3. 安装 Playwright 浏览器 playwright install chromium # 4. 配置 DeepSeek API Key(可选,用于 AI 聊天) # 在项目根目录创建 .env 文件: # DEEPSEEK_API_KEY=sk-your-key-here cp .env.example .env # 编辑 .env 填入你的 API Key
python main.py
首次运行 Doro 会出现在屏幕右下角!右键点击 Doro 打开功能菜单。
bjtu-pet/ ├── main.py # 入口 ├── config/ # 配置层 (YAML + dataclass) │ ├── settings.py # ConfigManager + 9 个 Config dataclass │ └── default_config.yaml # 默认配置 ├── core/ # 核心层 │ ├── app.py # PetApplication — 主控制器 (600行) │ ├── auto_chat.py # AI 自动聊天话题生成器 │ ├── scheduler.py # APScheduler 定时任务调度 │ ├── notifier.py # 通知分发 │ └── plugin_base.py # 模块基类 ├── storage/ # 持久化层 │ ├── database.py # SQLite + 12 张表 + ORM │ ├── credential_vault.py # Fernet 加密凭据存储 │ └── models.py # 数据模型 ├── integration/ # 外部集成层 │ ├── deepseek.py # DeepSeek API (流式/非流式) │ ├── tieba.py # 贴吧爬虫 (Playwright + stealth) │ ├── auth.py # CAS 统一认证 (两阶段登录) │ ├── captcha.py # 验证码对话框 │ └── http_client.py # HTTP 会话管理 ├── modules/ # 业务模块 │ ├── courses/ # 课表解析 │ ├── homework/ # 作业解析 │ ├── email/ # 邮件解析 (Coremail) │ └── exams/ # 考试+成绩解析 ├── ui/ # 表现层 (13 个 widget) │ ├── pet_window.py # 桌宠主窗口 │ ├── speech_bubble.py # 漫画风格气泡 │ ├── chat_window.py # AI 对话窗口 │ └── ... # 各功能视图 ├── sdd/ # 📐 SDD 规格文档 │ ├── requirements/ # 需求全景图 + 可追溯矩阵 │ ├── specs/ # 6 份功能规格说明书 │ ├── harness/ # 行为穿刺测试 │ └── design/ # 架构设计文档 ├── tests/ # pytest 自动化测试 ├── docs/ # 用户手册 └── .github/workflows/ # CI/CD
详见 架构设计文档
配置文件位于 ~/.bjtu-pet/user_config.yaml,首次运行后自动生成。
~/.bjtu-pet/user_config.yaml
关键配置项:
deepseek: api_key: "sk-xxx" # DeepSeek API Key tieba: enabled: true # 是否启用贴吧爬取 scrape_interval: 60 # 爬取间隔(分钟) auto_chat: enabled: true # 是否启用自动聊天 interval: 2 # 话题生成间隔(分钟) use_tieba: true # 是否使用贴吧数据 use_exam: true # 是否使用考试信息
# 运行 Harness 穿刺测试(无需网络) python sdd/harness/harness_database.py python sdd/harness/harness_deepseek.py python sdd/harness/harness_tieba.py # 运行 pytest 单元测试 pytest tests/ -v # 带覆盖率 pytest tests/ -v --cov=. --cov-report=html
本项目采用 Specification Driven Development:
本项目在全开发周期中系统性地使用了 AI 工具:
详见 AI 工具使用报告
MIT License — 详见 LICENSE
Doro: “Dororo~ 这个项目是不是超棒?!(从纸箱里探出头)”
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
🐱 BJTU Desktop Pet Assistant — 北京交通大学全能助手桌宠
一只会聊天、会查课表、会看贴吧的 Doro 桌宠 🍊
📖 项目介绍
BJTU Desktop Pet Assistant 是一款面向北京交通大学学生的桌面宠物应用。
Doro(一只喜欢橘子、爱钻纸箱的粉色小生物)栖息在你的桌面上,它能:
✨ 核心功能
🚀 快速开始
前置要求
安装
运行
首次运行 Doro 会出现在屏幕右下角!右键点击 Doro 打开功能菜单。
🏗️ 项目架构
详见 架构设计文档
🔧 配置说明
配置文件位于
~/.bjtu-pet/user_config.yaml,首次运行后自动生成。关键配置项:
🧪 测试
📐 SDD 开发流程
本项目采用 Specification Driven Development:
🧑💻 AI 工具应用实践
本项目在全开发周期中系统性地使用了 AI 工具:
详见 AI 工具使用报告
🧭 项目路线图
📄 许可证
MIT License — 详见 LICENSE
🙏 致谢