Hours 工时管理 Skill
这个 skill 让你可以通过自然语言管理工时系统,无需手动编写 API 请求。
功能
- 📅 工时查询 - 按日期、项目、人员查询工时记录
- ➕ 工时新增 - 添加新的工时填报
- ✏️ 工时修改 - 更新已有的工时记录
- 🗑️ 工时删除 - 删除工时记录
- 📊 项目管理 - 查询和维护项目信息
- 📈 报表导出 - 生成汇总报表和绩效报表
- 📤 数据导出 - 导出 JSON/Excel 格式
前置要求
1. 安装 Hours CLI
# 克隆或复制 agent-harness 目录
cd /path/to/hours/agent-harness
# 安装到 Python 环境
pip install -e .
2. 配置认证(3 种方式任选其一)
方式 A:用户名密码自动登录(推荐 ⭐)
# 设置用户名和密码
export HOURS_BASE_URL=https://your-hours-server.com/prod-api
export HOURS_USERNAME=你的用户名
export HOURS_PASSWORD=你的密码
# 首次使用会自动登录并缓存 token
# 后续自动刷新,无需重复登录
方式 B:命令行登录(缓存 Token)
# 登录并缓存 token
cli-anything-hours login -u 你的用户名 -p 你的密码
# 之后可以直接使用其他命令,token 自动管理
cli-anything-hours hours list
方式 C:手动 Token(不推荐)
# 使用 curl 登录获取 token
curl -X POST https://your-hours-server.com/prod-api/login \
-H "Content-Type: application/json" \
-d '{"username":"你的用户名","password":"你的密码"}'
# 设置 token 环境变量
export HOURS_BASE_URL=https://your-hours-server.com/prod-api
export HOURS_TOKEN=获取到的 token
使用方法
在 OpenClaw 中调用此 skill:
查询工时
@hours-cli 查询我本周的工时记录
@hours-cli 查询 2024 年 1 月的工时
@hours-cli 查询项目 1019P 的所有工时
@hours-cli 查询王君的工时记录
新增/修改工时
@hours-cli 新增工时:2024-01-15,项目 1019P,8 小时,任务:硬件开发
@hours-cli 修改工时 ID 329953,工时改为 6 小时
@hours-cli 删除工时 ID 329953
项目管理
@hours-cli 列出所有项目
@hours-cli 查询项目 1019P 的详情
@hours-cli 新增项目:代码 1020P,名称:新产品开发
报表导出
@hours-cli 导出本月工时报表
@hours-cli 生成项目绩效报表
@hours-cli 导出所有工时数据为 JSON
底层命令映射
这个 skill 会调用以下 CLI 命令:
| 自然语言 | CLI 命令 |
|---|---|
| 查询工时 | cli-anything-hours hours list [选项] |
| 查询详情 | cli-anything-hours hours get <ID> |
| 新增工时 | cli-anything-hours hours add [参数] |
| 修改工时 | cli-anything-hours hours edit <ID> [参数] |
| 删除工时 | cli-anything-hours hours delete <ID> |
| 列出项目 | cli-anything-hours projects list |
| 查询项目 | cli-anything-hours projects get <ID> |
| 导出报表 | cli-anything-hours reports summary |
环境变量
| 变量名 | 说明 | 示例值 |
|---|---|---|
HOURS_BASE_URL |
API 基础 URL | https://your-hours-server.com/prod-api |
HOURS_USERNAME |
用户名(用于自动登录) | zhangjiamin |
HOURS_PASSWORD |
密码(用于自动登录) | your_password |
HOURS_TOKEN |
JWT 认证令牌 | 可选(优先级高于用户名密码) |
HOURS_VERBOSE |
启用详细输出 | false |
优先级: HOURS_TOKEN > HOURS_USERNAME+HOURS_PASSWORD > 缓存的 token
错误处理
- 401 未授权 - Token 过期或无效,请重新获取
- 403 权限不足 - 当前用户没有相应权限
- 404 未找到 - 请求的资源不存在
- 500 服务器错误 - 联系系统管理员
权限要求
你的用户账号需要以下权限:
工时权限
workinghours:hoursList:list- 查看工时workinghours:hoursList:add- 添加工时workinghours:hoursList:edit- 编辑工时workinghours:hoursList:remove- 删除工时workinghours:hoursList:export- 导出工时
项目权限
workinghours:projectManage:list- 查看项目workinghours:projectManage:add- 添加项目workinghours:projectManage:edit- 编辑项目
使用示例
示例 1:查询并导出
用户:帮我查询本周的工时并导出为 JSON
助手:好的,正在查询 2024-01-01 至 2024-01-07 的工时记录...
找到 25 条记录。正在导出到 hours_export_20240107.json...
✓ 导出完成!文件路径:~/.openclaw/delivery/hours_export_20240107.json
示例 2:批量新增
用户:帮我添加本周每天的工时,项目都是 1019P,每天 8 小时
助手:好的,正在添加 2024-01-01 至 2024-01-07 的工时记录...
✓ 已添加 5 条工作日记录(跳过周末)
- 2024-01-01: 8 小时 ✓
- 2024-01-02: 8 小时 ✓
- ...
示例 3:项目查询
用户:1019P 项目这个月总共有多少工时?
助手:正在查询 1019P 项目 2024 年 1 月的工时统计...
总计:156 小时
- 王君:40 小时
- 李四:36 小时
- 张三:80 小时
技术细节
CLI 位置
安装后,CLI 命令位于:
cli-anything-hours- 主命令hours-cli- 别名
包结构
cli_anything/hours/
├── hours_cli.py # 主 CLI 实现
├── core/
│ ├── backend.py # API 客户端
│ └── state.py # 状态管理
├── utils/
│ └── formatters.py # 格式化工具
└── tests/ # 测试套件
API 端点
- 工时列表:
GET /workinghours/hoursList/list - 工时详情:
GET /workinghours/hoursList/{id} - 工时新增:
POST /workinghours/hoursList - 工时修改:
PUT /workinghours/hoursList - 工时删除:
DELETE /workinghours/hoursList/{ids} - 项目列表:
GET /workinghours/projectManage/list - 项目详情:
GET /workinghours/projectManage/{id}
故障排查
问题:找不到命令
解决:
# 验证安装
which cli-anything-hours
# 重新安装
cd /path/to/hours/agent-harness
pip install -e . --force-reinstall
问题:Token 过期
解决:
# 重新登录获取新 token
curl -X POST https://hour.peninsula-med.com/prod-api/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"你的密码"}'
# 更新环境变量
export HOURS_TOKEN=新的 token
问题:连接超时
解决:
# 检查网络连通性
curl -I https://hour.peninsula-med.com/prod-api
# 检查 URL 配置
echo $HOURS_BASE_URL
更新日志
- v0.1.0 (2024-01) - 初始版本
- 工时 CRUD 操作
- 项目管理
- 报表导出
- JSON/表格输出
支持与反馈
如有问题或建议,请联系系统管理员或提交 issue。
生成工具: CLI-Anything for OpenClaw
目标系统: Peninsula 工时管理系统
API 版本: RuoYi-Vue v3.8.6
