本 skill 提供完整的 TAPD 工时自动填写网页解决方案,包含:
适用场景:每周五填写工时、批量补填多日工时、多任务工时分配、每日工时自定义。
触发词:
cd ~/.workbuddy/skills/tapd-timesheet/scripts/
python3 tapd_proxy.py
成功提示:✅ TAPD 代理服务已启动: http://127.0.0.1:8899
> 每次使用工时系统前,都需要先启动代理服务(或者设置开机自启)。
用浏览器打开:
file:///Users/zh/.workbuddy/skills/tapd-timesheet/assets/tapd-timesheet-v3.html
或者启动一个本地HTTP服务:
cd ~/.workbuddy/skills/tapd-timesheet/assets/
python3 -m http.server 8080
# 然后访问 http://localhost:8080/tapd-timesheet-v3.html
Authorization: Bearer | 字段 | 说明 | 示例 |
|---|---|---|
| ------ | ------ | ------ |
workspace_id | 项目ID,从任务ID第3~10位截取 | 36966048 |
entity_type | 固定值 | task |
entity_id | 19位完整任务ID | 1136966048001014066 |
timespent | 工时(数字字符串) | "8" |
spentdate | 工时日期 | 2026-04-10 |
memo | 工作内容描述 | 完成需求设计 |
owner | 人员(中文名+数字) | 邵文彬74 |
8899/proxy/timesheets.json → https://api.tapd.cn/timesheets.jsonallow_reuse_address = True(避免"Address already in use")/holiday/{year} 动态获取节假日数据(timor.tech API)提交完成后自动调用:
GET http://127.0.0.1:8899/proxy/timesheets.json?workspace_id=XXX&owner=XXX&spentdate=XXX&tapd_token=XXX
tapd-timesheet/
├── SKILL.md # 本文档
├── assets/
│ └── tapd-timesheet-v3.html # 网页主界面(表单式交互,V3.0)
└── scripts/
├── tapd_proxy.py # 本地代理服务(必启动)
├── holidays.json # 2024-2026 节假日数据(备用)
└── WORKFLOW.md # CLI 工作流文档(备用)
无需安装依赖,直接打开 HTML 文件即可。
Q:代理服务启动失败,提示"Address already in use"?
A:代理脚本已设置 allow_reuse_address = True,一般可自动恢复。如果仍报错,先杀掉旧进程:
lsof -i :8899 | grep LISTEN | awk '{print $2}' | xargs kill -9
Q:提交一直返回401/422?
A:Token 已失效,需要重新生成。获取方式:TAPD → 左下角头像 → 个人设置 → 个人访问令牌。
Q:如何设置开机自启代理服务?
A:在 ~/.zshrc 或 ~/.bashrc 中添加:
nohup python3 ~/.workbuddy/skills/tapd-timesheet/scripts/tapd_proxy.py > /tmp/tapd_proxy.log 2>&1 &
Q:其他人导入这个 skill 后,文件路径在哪里?
A:导入后所有文件在 ~/.workbuddy/skills/tapd-timesheet/ 目录下。
Q:如何修改每日工时?
A:在步骤2中,有"每日工时"输入框,默认 8 小时,可修改为 1-24 之间的任意值(支持 0.5 步进)。
Q:提交后如何撤回?
A:提交完成后,在结果页面有"撤回"按钮,点击可撤回已提交的工时记录。
[...] 括号缺失)classList.add('show') 匹配 CSS)127.0.0.1(本地回环),不对外网开放MIT License(自由使用和修改)
WorkBuddy AI Agent(自动生成并维护)
如有问题或改进建议,请在 WorkBuddy Skill 市场留言或在 GitHub 提交 Issue。
共 1 个版本