{"skill":{"slug":"pms-worklog","displayName":"pms-worklog","summary":"自动填写 PingCode/PMS 系统工时记录。支持批量填写多天的工时，自动登录、选择事项类型、填写事项、工时、日期和说明。","description":"---\nname: pms-worklog\ndescription: 自动填写 PingCode/PMS 系统工时记录。支持批量填写多天的工时，自动登录、选择事项类型、填写事项、工时、日期和说明。\nread_when:\n  - 需要填写 PMS 工时记录\n  - 需要批量填写多天的工时\n  - 需要在 PingCode 系统中登记工时\nmetadata:\n  clawdbot:\n    emoji: ⏱️\n    requires:\n      bins: [node, npm]\n      npm: [playwright]\n---\n\n# PMS 工时自动填写技能\n\n## 功能\n\n自动在 PingCode/PMS 系统中填写工时记录，支持：\n- 自动登录\n- 选择事项类型（工作项）\n- 填写事项编号并选择匹配项\n- 填写工时、日期、说明\n- 批量填写多天的工时\n\n## 前置条件\n\n1. 安装 Playwright：\n```bash\nnpm install -g playwright\nplaywright install chromium\n```\n\n2. 确保系统已安装 Google Chrome\n\n## 使用方法\n\n### 方式 1：直接运行脚本\n\n```bash\nNODE_PATH=/Users/aispeech/.npm-global/lib/node_modules node ~/.openclaw/workspace/skills/pms-worklog/scripts/fill_worklog.js\n```\n\n### 方式 2：通过 OpenClaw 调用\n\n```\nexec: node ~/.openclaw/workspace/skills/pms-worklog/scripts/fill_worklog.js\n```\n\n## 配置\n\n编辑脚本中的配置区域：\n\n```javascript\n// ===== 配置区域 =====\nconst username = 'your_username@company.com';  // 你的 PMS 账号\nconst password = 'your_password';              // 你的 PMS 密码\n\nconst dates = ['2026-03-09', '2026-03-10', '2026-03-11'];  // 填写日期\n\nconst workItem = 'IOTxxxxxx-xxxx';  // 事项编号\nconst hours = '8';                       // 每天工时\nconst description = '工作内容说明';       // 工作说明\n\nconst pmsUrl = 'https://pms.aispeech.com.cn/workspace/workload/insight';\nconst screenshotDir = '/Users/aispeech/.openclaw/workspace';\n// ===================\n```\n\n### 使用环境变量（推荐）\n\n也可以将敏感信息放在环境变量中：\n\n```bash\nexport PMS_USERNAME=\"your_username@company.com\"\nexport PMS_PASSWORD=\"your_password\"\n```\n\n然后在脚本中使用：\n```javascript\nconst username = process.env.PMS_USERNAME || 'default_user';\nconst password = process.env.PMS_PASSWORD || 'default_pass';\n```\n\n## 输出\n\n脚本运行后会：\n- 在终端显示填写进度\n- 保存截图到配置的 `screenshotDir/pms_png` 目录：\n  - `day1_filled.png` - 填写完成截图\n  - `day1_done.png` - 提交成功截图\n  - `day1_error.png` - 提交失败截图（如有）\n\n## 注意事项\n\n1. **事项类型必须先选择**：必须先选择\"工作项\"类型，再填写事项编号\n2. **下拉列表需要等待**：填写事项后需要等待 3 秒让下拉列表刷新\n3. **必须点击选项**：不能按回车确认，必须点击下拉列表中的选项\n4. **网络要求**：需要能访问 PMS 系统\n\n## 故障排除\n\n### 浏览器启动失败\n```bash\n# 确保 Chrome 已安装\n/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --version\n\n# 重新安装 Playwright\nnpm install -g playwright\nplaywright install chromium\n```\n\n### 事项无法选择\n- 检查事项类型是否已选择为\"工作项\"\n- 增加等待时间（将 `waitForTimeout(3000)` 改为更长时间）\n- 检查事项编号是否正确\n\n### 表单提交失败\n- 检查所有必填字段是否已填写\n- 查看 `day*_error.png` 截图确认错误信息\n\n### 登录失败\n- 检查账号密码是否正确\n- 检查网络连接\n- 确认 PMS 系统可访问\n","topics":["批量"],"tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":644,"installsAllTime":24,"installsCurrent":0,"stars":1,"versions":1},"createdAt":1773411409869,"updatedAt":1778491885889},"latestVersion":{"version":"1.0.0","createdAt":1773411409869,"changelog":"pms-worklog v1.0.0\n\n- 首次发布：自动填写 PingCode/PMS 系统工时记录脚本。\n- 支持批量填写多天工时，自动登录、选择事项类型、填写事项编号、工时、日期和说明。\n- 提供命令行运行方法及 OpenClaw 集成方式。\n- 支持环境变量配置账号信息，提升安全性。\n- 运行后输出填写进度并保存截图，便于故障排查。","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"ww12355","userId":"s17ds7kmam38mkqcj7x7yz8h2183gmwc","displayName":"ww12355","image":"https://avatars.githubusercontent.com/u/139432533?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089870251}}