hello-agents 实战:在 Windows 上为 Personal Information Signaling System 配置每日桌面日报提醒
【免费下载链接】hello-agents📚 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/datawhalechina/hello-agents
导读
本文讲解如何为 Personal_Information_Signaling_System(个人信息信号系统)配置 Windows 任务计划程序,实现每天 23:30 自动弹出带人物形象的桌面提醒窗口、督促用户写日报的完整方案。读完本文你将掌握:任务计划程序三种推荐的启动配置(项目虚拟环境 / 系统 Python / 直接运行脚本)、Python 路径的确认与虚拟环境创建方法、任务创建与高级选项设置、任务测试与常见故障排查,以及项目路径变更后如何通过图形界面和 PowerShell 命令更新既有任务。
一、提醒功能与任务计划程序的关系
Personal_Information_Signaling_System是 hello-agents 仓库下的一个智能体实战项目。它的日常工作流依赖用户持续产出日报,每日提醒工具 daily_reminder.py 负责在设定时间弹出一个位于屏幕右下角的置顶小窗口,窗口内显示人物图片并附"写日报提醒"标题。用户点击窗口后,脚本会通过subprocess.Popen以--daily参数拉起 write_report.py(对应write_report.py中sys.argv[1] in ['--daily', '--auto-daily']直接进入"创建日报"模式的分支),完成"提醒 → 写作"的一键闭环。
但这个提醒脚本本身不具备定时能力,它需要借助操作系统的调度器在指定时间被唤醒。因此,"桌面提醒设置"的核心工作就是配置Windows 任务计划程序(Task Scheduler),把daily_reminder.py包装成一个每天 23:30 触发的计划任务。任务计划程序会负责三件事:到点启动 Python 解释器、传递正确的脚本参数、设置正确的起始工作目录。
二、三种推荐的启动配置方案
配置任务时,"程序或脚本 / 添加参数 / 起始于"三个字段的组合方式直接决定任务能否成功运行。根据 Python 环境的差异,文档给出了三种方案,底层原理分别是"用解释器执行脚本"与"直接让系统关联打开脚本"。
方案 1:使用项目虚拟环境(推荐)
如果你的项目已经创建了.venv虚拟环境目录,推荐让任务直接调用虚拟环境内的 Python 解释器,这样脚本所需的 Pillow 等依赖与全局环境完全隔离,不受系统 Python 版本变动影响。
| 字段 | 值 |
|---|---|
| 程序或脚本 | C:\Python\pythonprogram\Personal_Information_Signaling_System\.venv\Scripts\python.exe |
| 添加参数(可选) | daily_reminder.py |
| 起始于(可选) | C:\Python\pythonprogram\Personal_Information_Signaling_System |
请根据你的实际项目路径替换上述路径。从源码看,daily_reminder.py 以
Path(__file__).parent作为base_dir,并在load_image()中从base_dir / "assets" / "person.png"等路径寻找图片,因此"起始于"目录设置错误会直接导致找不到图片与write_report.py。
方案 2:使用系统 Python
如果你的系统 Python 已添加到 PATH,且已通过pip install -r requirements.txt安装全部依赖,也可以直接使用系统解释器:
| 字段 | 值 |
|---|---|
| 程序或脚本 | python.exe |
| 添加参数(可选) | daily_reminder.py |
| 起始于(可选) | C:\Python\pythonprogram\Personal_Information_Signaling_System |
方案 3:直接运行脚本(如果配置了文件关联)
如果系统已将.py文件默认关联到 Python 解释器,可以跳过解释器、直接填写脚本完整路径:
| 字段 | 值 |
|---|---|
| 程序或脚本 | C:\Python\pythonprogram\Personal_Information_Signaling_System\daily_reminder.py |
| 起始于(可选) | C:\Python\pythonprogram\Personal_Information_Signaling_System |
该方案最简单,但依赖系统文件关联配置,若换机器或换用户登录可能失效,稳定性不如前两种。
三、如何确认与准备 Python 环境
路径填错是任务计划程序最常见的失败原因。正式配置前,务必先用以下方法核实解释器真实路径。
方法 1:检查项目虚拟环境
cd C:\Python\pythonprogram\Personal_Information_Signaling_System dir .venv\Scripts\python.exe如果存在该文件,说明虚拟环境可用,直接使用:
C:\Python\pythonprogram\Personal_Information_Signaling_System\.venv\Scripts\python.exe方法 2:检查系统 Python
在命令行输入:
where python命令会输出 Python 的完整安装路径,例如:
C:\Python\python311\python.exe方法 3:创建项目虚拟环境(如果还没有)
cd C:\Python\pythonprogram\Personal_Information_Signaling_System python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt激活后安装依赖,随后即可采用方案 1 的配置。项目 requirements.txt 中与提醒功能直接相关的依赖是Pillow>=10.0.0(图片显示),其余如pyyaml、python-dotenv、httpx服务于维度分析与 YouTube 视频搜索模块;若只需提醒功能,可以只安装 Pillow。
四、在任务计划程序中创建每日提醒任务
步骤 1:打开任务计划程序
- 按
Win + R打开运行对话框,输入taskschd.msc并回车; - 或者通过开始菜单搜索"任务计划程序"打开。
步骤 2:创建基本任务
- 在右侧"操作"面板中点击"创建基本任务";
- 输入任务名称:
每日写日报提醒; - 输入描述:
每天23:30提醒写日报; - 点击"下一步"。
步骤 3:设置触发器
- 选择"每天",点击"下一步";
- 设置开始时间:
23:30:00; - 设置开始日期:今天或明天;
- 点击"下一步"。
步骤 4:设置操作
- 选择"启动程序",点击"下一步";
- 在"程序或脚本"中输入 Python 的完整路径(推荐使用虚拟环境):
C:\Python\pythonprogram\Personal_Information_Signaling_System\.venv\Scripts\python.exe或使用系统 Python:
python.exe(需确保 Python 已加入系统 PATH); - 在"添加参数"中输入:
daily_reminder.py - 在"起始于"中输入脚本所在目录:
C:\Python\pythonprogram\Personal_Information_Signaling_System(请根据你的实际路径修改)
- 点击"下一步"。
步骤 5:完成设置
勾选"当单击完成时,打开此任务属性的对话框",点击"完成"。
步骤 6:高级设置(可选)
在任务属性对话框中:
- 常规选项卡:
- 勾选"不管用户是否登录都要运行"(可选);
- 勾选"使用最高权限运行"(可选)。
- 条件选项卡:
- 如果是笔记本,取消勾选"只有在计算机使用交流电源时才启动此任务";
- 勾选"唤醒计算机运行此任务"(可选)。
- 设置选项卡:
- 勾选"允许按需运行任务";
- 勾选"如果请求的任务正在运行,则停止现有实例"。
- 点击"确定"保存。
高级设置的源码佐证:提醒窗口依赖 GUI 显示(
tkinter的Toplevel窗口),勾选"不管用户是否登录都要运行"时窗口只会出现在已登录用户的桌面会话中;而勾选"唤醒计算机运行此任务"可避免休眠中的电脑错过提醒。窗口本身在 daily_reminder.py 中被设置为置顶(-topmost)、95% 半透明(-alpha),并定位到屏幕右下角(距右 20 像素、距底 60 像素,为任务栏留出空间),配合淡入动画让提醒既不打扰又足够醒目。
五、测试任务是否生效
方法 1:立即运行测试
- 在任务计划程序中找到刚创建的任务;
- 右键点击 →"运行";
- 检查屏幕右下角是否弹出提醒窗口。
方法 2:修改时间测试
- 右键点击任务 →"属性";
- 在"触发器"选项卡中编辑触发器;
- 将时间改为"当前时间 + 1 分钟";
- 等待 1 分钟,观察是否弹出提醒窗口;
- 测试完成后,将时间改回 23:30。
六、常见问题排查
1. 任务不运行
- 检查 Python 路径是否正确;
- 检查脚本路径是否正确;
- 检查"起始于"目录是否正确;
- 查看任务历史记录中的错误信息(任务属性 →"历史记录"标签页)。
2. 窗口不显示
- 检查是否安装了 Pillow:
pip install Pillow。从 daily_reminder.py 可以看到,缺少 Pillow 时脚本会打印"⚠️ 警告: Pillow 未安装,无法显示图片",并降级为弹错误框提示; - 检查图片文件是否存在:
assets/person.png。脚本会在base_dir/assets/下依次尝试person.png、person.jpg、person.jpeg、reminder.png、reminder.jpg五种命名(见 daily_reminder.py),任一命中即可加载; - 检查是否有错误提示。若 Python 未安装 tkinter,脚本会降级为系统通知(依赖
plyer,见 show_system_notification)。
3. 点击后不启动写日报
- 检查
write_report.py是否存在(点击事件会调用start_write_report(),若脚本缺失会弹出错误框并指明路径,见 daily_reminder.py); - 检查 Python 环境是否正确,确保用于拉起
write_report.py --daily的解释器与安装依赖的环境一致。
补充:关于提醒图片
项目根目录的 README.md 对图片有明确要求:将人物图片放在assets/目录下,命名为person.png(推荐,支持透明背景)、person.jpg、person.jpeg、reminder.png或reminder.jpg;推荐 200×200 到 400×400 像素的 PNG(透明背景)或 JPG,内容为人物照片或卡通形象。仓库中的示例图片 person.png 就是一个手持笔记本、正在记录的卡通人物形象,与"写日报"场景高度匹配。README 还提到系统会自动在图片眼睛位置添加眨眼动画,无需额外准备动画素材。
七、开机自启动提醒服务(可选)
默认方案只在 23:30 弹一次提醒。如果希望系统在开机后持续提供提醒服务(例如需要全天后台运行提醒逻辑),可以按以下方式设置自启动:
- 创建启动脚本
start_reminder_service.bat:@echo off cd /d C:\Python\pythonprogram\Personal_Information_Signaling_System C:\Python\pythonprogram\Personal_Information_Signaling_System\.venv\Scripts\python.exe daily_reminder_service.py - 将脚本添加到启动文件夹:
- 按
Win + R,输入shell:startup回车; - 将
start_reminder_service.bat的快捷方式放入该文件夹。
- 按
八、注意事项与卸载
配置时请重点核对四件事:
- Python 路径:确保使用虚拟环境中的 Python,或使用完整路径,避免依赖 PATH;
- 工作目录:确保"起始于"目录设置正确(脚本以自身所在目录为基准寻找
assets/图片与write_report.py); - 权限:可能需要管理员权限运行任务计划程序;
- 图片文件:确保
assets/person.png或assets/person.jpg存在。
需要删除任务时:打开任务计划程序 → 找到"每日写日报提醒"任务 → 右键点击 →"删除"。
九、项目路径变更后如何更新既有任务
如果你之前已按旧路径(例如C:\Python\pythonprogram\datawhale_Agent\PersonalizationMCP-main)配置过提醒任务,而项目迁移到了新路径C:\Python\pythonprogram\Personal_Information_Signaling_System,任务中的路径不会自动跟随,需要手动更新。
需要更新的字段对照
| 字段 | 旧值 | 新值 |
|---|---|---|
| 程序或脚本 | ...\PersonalizationMCP-main\daily_reminder.py | ...\Personal_Information_Signaling_System\daily_reminder.py |
| Python 解释器 | ...\datawhale_Agent\.venv\Scripts\python.exe | ...\Personal_Information_Signaling_System\.venv\Scripts\python.exe |
| 起始于 | ...\PersonalizationMCP-main | ...\Personal_Information_Signaling_System |
图形界面更新步骤
- 按
Win + R输入taskschd.msc打开任务计划程序; - 在左侧"任务计划程序库"中查找任务,常见名称有:
每日写日报提醒、Daily Report Reminder、写日报提醒或自定义名称; - 右键点击任务 → 选择"属性"(或双击);
- 切换到"操作"标签页,更新以下字段:
- 程序或脚本:从旧脚本路径改为
C:\Python\pythonprogram\Personal_Information_Signaling_System\daily_reminder.py;如果采用"解释器 + 参数"方式,则把解释器路径改为新的.venv\Scripts\python.exe,并确保添加参数仍为daily_reminder.py; - 起始于:改为
C:\Python\pythonprogram\Personal_Information_Signaling_System;
- 程序或脚本:从旧脚本路径改为
- 点击"确定"保存。系统可能会要求输入管理员密码(如果任务需要管理员权限);
- 右键点击任务 →"运行"测试;若失败,检查"历史记录"标签页的错误信息。
通过 PowerShell 命令行更新(高级)
熟悉命令行的用户可以完全绕过图形界面:
# 1. 查看现有任务 Get-ScheduledTask | Where-Object {$_.TaskName -like "*日报*" -or $_.TaskName -like "*reminder*"} # 2. 获取任务的操作配置 $task = Get-ScheduledTask -TaskName "你的任务名称" $task.Actions # 3. 更新任务操作(需要管理员权限) $action = New-ScheduledTaskAction -Execute "C:\Python\pythonprogram\Personal_Information_Signaling_System\daily_reminder.py" -WorkingDirectory "C:\Python\pythonprogram\Personal_Information_Signaling_System" Set-ScheduledTask -TaskName "你的任务名称" -Action $action上述 PowerShell 方式通过
New-ScheduledTaskAction重建任务的执行动作(-Execute指定程序、-WorkingDirectory指定起始目录)并用Set-ScheduledTask写回,适合批量维护或脚本化部署场景。
十、配置检查清单
设置或更新任务计划程序后,请逐项确认:
- 程序或脚本路径正确且文件存在
- 起始于路径正确且目录存在
- 添加参数正确(如果使用 Python 解释器运行脚本)
- 触发器时间正确(通常是每天 23:30)
- 测试运行成功(右键任务 → 运行)
十一、快速复制粘贴
最后提供两组可直接套用的最终配置值:
方案 1(项目虚拟环境)
程序或脚本: C:\Python\pythonprogram\Personal_Information_Signaling_System\.venv\Scripts\python.exe 添加参数: daily_reminder.py 起始于: C:\Python\pythonprogram\Personal_Information_Signaling_System方案 2(系统 Python)
程序或脚本: python.exe 添加参数: daily_reminder.py 起始于: C:\Python\pythonprogram\Personal_Information_Signaling_System完成上述配置后,任务计划程序会在每天 23:30 拉起提醒窗口,点击窗口即自动进入write_report.py的日报编写流程,与项目的维度提取、主题修正等后续环节无缝衔接,构成"定时提醒 → 日报写作 → 维度分析 → 搜索主题修正"的完整个人信息闭环。
【免费下载链接】hello-agents📚 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/datawhalechina/hello-agents
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考