求职申请追踪器 是做什么的?
将本地便携式求职看板作为申请记录的单一数据源。让用户自然语言描述需求;智能体负责解析正确的看板,保留已有信息,并执行确定性的、无冲突的修改。
语言策略
技能实现、智能体指令、参考文档、脚本、数据模式、注释和测试均使用英文。英文名称和定义视为规范。
面向用户的界面可本地化。README.md 和 assets/dashboard-* 前端文件当前包含中文和英文。对阶段和批次使用语言无关的代码,确保显示语言不会改变底层含义。
必需参考文档
仅读取当前操作所需的参考文档:
- 在记录、更新、验证、总结或提醒之前,先阅读 references/data-model.md。
- 在安装、激活、定位、移动、修复或启动看板之前,先阅读 references/deployment.md。
- 在重建或修改仪表盘、启动器、本地服务器或可视化逻辑之前,先阅读 references/board-ui.md。
首先解析看板路径
将选定的目录记为 BOARD_DIR。
在 macOS/Linux 上使用 python3。在 Windows 上,将以下命令中的 python3 替换为 py -3(如果可用),否则使用 python。
-
如果用户提供了路径,则检查该路径:
python3 <skill-dir>/scripts/board_locator.py inspect --board-dir <path>如果目录包含有效的旧版
data.json但缺少标记文件,则解释将添加一个便携式、非敏感的身份文件,然后运行:python3 <skill-dir>/scripts/board_locator.py mark --board-dir <path> -
否则,发现已标记的看板:
python3 <skill-dir>/scripts/board_locator.py discover -
对发现结果进行精确解释:
- 退出码 0:使用唯一的有效看板,并报告其路径和记录数。
- 退出码 4:询问现有路径或明确许可创建新看板。
- 退出码 5:显示所有候选看板,要求用户选择。
不得根据修改时间、记录数或猜测来选择。不能因为发现失败就创建看板。不得在用户主目录中存储全局绝对路径注册表。
安全数据工作流
每次读取或写入:
-
解析
BOARD_DIR。 -
获取真实当前日期(当日期影响操作时):在 macOS/Linux 上运行
date +%Y-%m-%d,在 Windows PowerShell 中运行(Get-Date).ToString('yyyy-MM-dd')。 -
创建快照:
python3 <skill-dir>/scripts/data_store.py snapshot \ --data <BOARD_DIR/data.json> -
保留返回的
boardTitle、可选的lang、可选的stageLevels、所有记录、所有未知但有效的记录字段以及返回的 ETag。 -
对于写入操作,创建候选 JSON 文件并安全替换:
python3 <skill-dir>/scripts/data_store.py replace \ --data <BOARD_DIR/data.json> \ --input <candidate.json> \ --expected-etag <etag> -
将退出码 3 视为并发编辑冲突。拍摄新快照,仅重新应用用户请求的更改并重试。绝不强制执行过时的写入。
-
仅在工具成功后确认成功。
绝不直接写入 data.json。未经用户明确确认,不得加载教学示例或将其视为真实申请。在仅执行数据操作期间,不得修改已部署的引擎文件。
核心操作
记录或更新申请
- 阅读 references/data-model.md。
- 根据公司和职位匹配现有记录。如果目标不明确,请用户选择。
- 对于新记录,需要公司和职位。询问一次缺失的可选详细信息——渠道、申请门户、城市和招聘批次——然后等待用户的回答或明确要求跳过后再保存。
- 在
records数组开头插入新记录,以便新申请默认显示在最前面。更新记录时保留其原有数组位置。 - 对于现有记录,仅更改用户提到的字段。
- 通过追加事件来推进进度;绝不维护单独的“状态”字段。
- 对于未见过的自定义阶段,保留其确切文本并添加
stageLevels规则。使用用户要求的放置位置;否则默认放在k_hr之前的一个独立级别。 - 保持
note为空,除非用户明确要求在其中写入内容。 - 使用安全数据工作流,并报告确切修改的记录和事件。
绝不编造公司、职位、日期、渠道、地点、薪资、结果或面试轮次。
显示文本进度摘要
- 阅读 references/data-model.md。
- 创建安全快照,不修改数据。
- 首先列出从今天起未来七天内符合条件的带日期提醒。
- 将记录分为进行中、有 offer、已结束和尚未申请。
- 识别停滞的进行中记录和即将到来的里程碑。
- 以一个具体的下一步操作结尾。
除非用户明确要求,否则不重建 HTML。
打开或重建可视化看板
- 阅读 references/deployment.md 和 references/board-ui.md。
- 在接触引擎文件前,先解析并验证现有看板。
- 通常告知用户启动看板并打开
http://127.0.0.1:8770/。 - 仅在引擎文件缺失或用户明确要求重建或更新引擎时,才重新复制前端引擎集合。
- 保留
data.json和所有备份。
安装或激活
阅读 references/deployment.md 并遵循其“先发现”的工作流。技能安装和创建新看板是两个独立的操作。创建看板需要用户明确意图。
硬性规则
- 仅使用已解析、已标记的
BOARD_DIR。 - 不得静默创建替代看板。
- 不得递归扫描用户主目录。
- 不得存储全局路径注册表。
- 每次智能体端数据写入必须使用
data_store.py。 - 保留未提及的数据和现有字段。
- 保持
note为空,除非用户明确请求。 - 使用来自
references/data-model.md的中立阶段和批次编码。 - 使用真实当前日期;不依赖心理日期计算。
- 如果文件写入权限不可用,则解释确切的手动步骤,绝不说写入成功。
- 不要将数据修改与引擎重建合并,除非用户明确要求两者。
- 在部署或更新引擎文件时,不得覆盖
data.json、.data.backup.*.json或.job-tracker-board.json。
捆绑资源
scripts/board_locator.py:识别、标记和安全发现看板目录。scripts/data_store.py:快照、验证、冲突检查、原子替换和备份数据。assets/dashboard-template.html、dashboard.css和dashboard-*.js:本地化的、无依赖的仪表盘模块。assets/server.py:仅回环的本地服务器和经过验证的数据 API。assets/start.command/assets/stop.command:macOS 启动器。assets/start-board.bat/assets/stop-board.bat及配套的 PowerShell 辅助脚本:Windows 启动器,带健康检查和诊断日志。assets/data.json:仅用于明确要求创建的新看板的空种子文件。tools/:确定性的桑基图交叉回归工具。