360 Secure SkillHub
360 安全技能中心

Hours Cli Publish

hours-cli 让用户以自然语言调用 cli-anything-hours 命令行工具,经 REST API 对 Peninsula 工时系统进行工时查询、新增、修改、删除,以及项目查询维护和 JSON/Excel 报表导出。使用前需用 pip 安装 CLI 并配置账号或令牌等环境变量,token 可缓存并自动刷新。

zjm1226
zjm1226
热度 19.16
最近更新 2026-04-03 16:05:05
分类:效率依赖:代码执行 / 第三方 API / 读写文件应用场景:任务管理 / 报告撰写 / 数据处理 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add hours-cli-publish
Metadata
name
hours-cli
version
0.2.0
description
工时管理系统 CLI。支持查询工时、项目管理、报表导出等功能。适用于 Peninsula 工时系统。

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