使用 `otta-cli` 在终端自动化 `otta.fi` 工作流。该工具常用于记录工时、缺勤和病假:认证,...
Otta CLI. 使用此技能执行 Otta 时间跟踪任务 端到端, 重复可重复的 CLI 命令.
功能概述
Otta CLI. 使用此技能执行 Otta 时间跟踪任务 端到端, 重复可重复的 CLI 命令.是一项面向实际任务的技能,主要用于Main 仓库: https:// github.com/mekedron/ otta- cli;QQQQQQ 快速启动. 使用 otta 二进制直导。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Otta CLI
使用该技能,可通过可重复执行的 CLI 命令端到端完成 Otta 工时追踪任务。
主代码仓库:https://github.com/mekedron/otta-cli
快速开始
直接使用
otta二进制文件。验证命令接口及存储路径。
otta --help otta config path otta config cache-path
- 完成身份认证并填充缓存。
otta auth login --username "$OTTA_CLI_USERNAME" --password "$OTTA_CLI_PASSWORD" --format json otta status --format json
status命令会更新缓存中的用户元数据(供worktimes、holidays、calendar等命令在未显式指定user或worktimegroup时作为回退值使用)。- 对于非交互式自动化场景,建议使用
--password-stdin或通过环境变量安全传入密钥,以降低密码泄露至 shell 历史记录的风险。
命令示例
请在命令中显式使用 YYYY-MM-DD 和 HH:MM 格式的日期与时间。
列出工时记录:
otta worktimes list --date 2026-02-20 --format json
新增工时记录:
otta worktimes add --date 2026-02-20 --start 09:00 --end 17:00 --pause 30 --project--worktype --description "示例任务描述" --format json
- 若已设置环境变量
OTTA_CLI_USER_ID或缓存中存在用户 ID,则--user参数为可选。
更新工时记录:
otta worktimes update --id--start 10:00 --end 18:00 --format json
- 执行更新时,除
--id外,至少需提供一个待变更字段。
删除工时记录:
otta worktimes delete --id--format json
获取节假日/工作日历:
otta holidays --from 2026-02-20 --to 2026-02-29 --worktimegroup--format json
- 若已设置环境变量
OTTA_CLI_WORKTIMEGROUP_ID或缓存中存在对应值,则--worktimegroup参数为可选。
浏览请假记录:
otta absence browse --from 2026-02-01 --to 2026-02-28 --format json
获取当前累计余额(saldo):
otta saldo --format json
生成综合日历概览:
otta calendar overview --from 2026-02-01 --to 2026-02-28 --format json
生成详细日历(逐日报告):
otta calendar detailed --from 2026-02-01 --to 2026-02-28 --format json
当总量以分钟为单位时,可选用其他时间单位格式:
otta calendar detailed --from 2026-02-01 --to 2026-02-28 --format json --duration-format hours otta worktimes browse --from 2026-02-01 --to 2026-02-28 --format json --duration-format days
--duration-format可选值:minutes(默认)、hours、days、hhmm- 天数换算固定为:
1 day = 24h = 1440 minutes
生成请假说明文本:
otta absence comment --type sick --from 2026-02-20 --to 2026-02-20 --details "流感症状" --format json
环境变量
在 CI 或非交互式环境中运行时,请使用以下环境变量:
OTTA_CLI_CONFIG_PATHOTTA_CLI_CACHE_PATHOTTA_CLI_API_BASE_URLOTTA_CLI_CLIENT_IDOTTA_CLI_USERNAMEOTTA_CLI_PASSWORDOTTA_CLI_ACCESS_TOKENOTTA_CLI_TOKEN_TYPEOTTA_CLI_REFRESH_TOKENOTTA_CLI_TOKEN_SCOPEOTTA_CLI_USER_IDOTTA_CLI_WORKTIMEGROUP_ID
代理运行规范
- 所有产生数据的命令均应优先使用
--format json,并解析响应字段,而非依赖文本输出进行正则匹配或字符串提取。 worktimes list/browse/report命令仅返回工时记录,**绝不包含请假信息**;不可将空的工时行推断为请假。- 如需检查用户排班或解读日志,应优先使用
calendar detailed --format json;仅在性能敏感场景下,才将calendar overview作为轻量级备选。 - 当用户明确要求非分钟单位的输出时,使用
--duration-format;审计用途应始终保留原始分钟值。 - 在执行依赖缓存用户或
worktimegroup元数据的操作前,应先运行status --format json确保缓存最新。 - 执行命令前须校验日期/时间格式是否符合
YYYY-MM-DD与HH:MM要求。 - 当工时 ID 不明确时,应在执行
update或delete前,先运行worktimes list查询 ID。 - 发生错误时,须返回**精确的失败命令、退出码及简洁的 stderr 错误消息**。
- 摘要或日志中**严禁打印原始凭据或令牌**。
故障恢复
no access token configured (runotta auth login`)`- 运行
auth login完成登录,随后重新执行status。
- 运行
username is required (use --username)- 显式传入
--username参数,或设置环境变量OTTA_CLI_USERNAME。
- 显式传入
--worktimegroup is required (...)- 显式传入
--worktimegroup参数,或设置环境变量OTTA_CLI_WORKTIMEGROUP_ID,或运行status刷新缓存。
- 显式传入
--date must be YYYY-MM-DD、--start must be HH:MM、--to must be greater than or equal to --from- 修正输入格式或参数顺序后重试命令。
directory ... is contained in a module that is not one of the workspace modules listed in go.work- 在此仓库上下文中,使用
GOWORK=off进行构建或运行。
- 在此仓库上下文中,使用
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
