用途
Timesheet 是一个用于从命令行控制 timesheet.io 时间追踪服务的技能。它适用于需要通过 CLI 记录工时、管理项目与任务、生成时间报表的场景,并支持以 JSON 格式输出结果以便程序化处理。
主要能力
认证
- 使用前可通过
timesheet auth status --json检查认证状态。 - 若未认证,可运行
timesheet auth login,或通过环境变量设置 API Key:export TIMESHEET_API_KEY=ts_your.apikey。
计时器操作
- 列出项目获取项目 ID:
timesheet projects list --json - 启动计时器:
timesheet timer start <project-id> - 查看状态:
timesheet timer status --json,返回状态(running/paused/stopped)、项目名称、时长、开始时间。 - 控制计时器:
timesheet timer pause、timesheet timer resume、timesheet timer stop(停止时会从计时器创建任务)。 - 更新运行中的计时器:
timesheet timer update --description "Working on feature X"、timesheet timer update --billable。
项目管理
- 列出:
timesheet projects list --json - 创建:
timesheet projects create "Project Name" --json、timesheet projects create "Client Project" --billable --json - 查看/更新/删除:
timesheet projects show <id> --json、timesheet projects update <id> --title "New Name"、timesheet projects delete <id>
任务管理
- 列表:
timesheet tasks list --json(最近任务)、--today --json(今日任务)、--this-week --json(本周任务) - 手动创建:
timesheet tasks create -p <project-id> -s "2024-01-15 09:00" -e "2024-01-15 17:00" --json,或指定时间格式:-s "09:00" -e "17:00" -d "Task description" --json - 更新:
timesheet tasks update <id> --description "Updated description"、--billable、--start "10:00" --end "12:00" - 删除:
timesheet tasks delete <id>
团队与标签
- 团队列表:
timesheet teams list --json - 标签列表:
timesheet tags list --json - 创建标签:
timesheet tags create "Urgent" --color 1 - 删除标签:
timesheet tags delete <id>
报表
- 时间汇总:
timesheet reports summary --today --json、--this-week --json、--this-month --json、--from 2024-01-01 --to 2024-01-31 --json - 导出数据:
timesheet reports export -f xlsx -s 2024-01-01 -e 2024-01-31、timesheet reports export -f csv --this-month
个人资料与配置
- 查看资料:
timesheet profile show --json、timesheet profile settings --json - 配置:
timesheet config show、timesheet config set defaultProjectId <id>
使用方式
常用工作流
记录当前工作的用时
- 检查计时器是否运行:
timesheet timer status --json - 若未运行,启动计时器:
timesheet timer start <project-id> - 完成后停止计时器:
timesheet timer stop
快速记录时间
直接创建已完成任务:
timesheet tasks create -p <project-id> -s "09:00" -e "12:00" -d "Morning standup and dev work" --json
按名称查找项目
timesheet projects list --json | jq '.[] | select(.title | contains("ProjectName"))'
错误处理
退出码含义:
- 0:成功
- 1:一般错误
- 2:用法错误(无效参数)
- 3:认证错误,需运行
timesheet auth login - 4:API 错误
- 5:超出速率限制,等待后重试
- 6:网络错误
提示
- 程序化解析输出时始终使用
--json。 - 使用
--quiet或-q抑制非必要输出。 - 在配置中设置
defaultProjectId可跳过计时器的项目选择。 - 非终端环境下自动启用管道友好输出。
适用场景
适用于需要在命令行中追踪时间、管理项目和任务、获取时间汇总或导出报表的开发者、团队或自动化流程。
限制
关于该技能的收费、价格、平台兼容性、具体效果等信息,资料中暂未提供。