返回 Skill 列表
extension
分类: 其它需要 API Key

jinbi-cli

Execute property workorder and owner visit tasks with the bundled Jinbi CLI. Use when querying, creating, updating, remarking, rating, exporting, or summarizing property work orders, or when executing owner visit, transfer, approval, and statistics tasks. STRICT COMPLIANCE REQUIRED: use only configured accessKey credentials and never infer missing identity IDs from memory or prior conversation.

person作者: user_ea7a4de8hubcommunity

Property Operations CLI

This merged WorkBuddy skill combines the following original skill documents without changing their body content.

Original Skill: visit-center-cli-0512


name: visit-center-cli-0512 description: | STRICT COMPLIANCE REQUIRED: Execute owner visit tasks. CRITICAL: DO NOT use any identity info (ID, Phone, Name) from conversation history or memory. If an ID is missing, you MUST ask the user. All auth must come from 'config set accessKey'.

Property Workorder CLI

可执行文件路径:dist\windows-x64\jinbi-cli.exe

.\dist\windows-x64\jinbi-cli.exe

业主拜访 CLI (拜访中心)

通过 ycli visit 命令管理业主拜访任务、转办流程及数据统计。


🛑 核心约束 (CRITICAL CONSTRAINTS) - 必须严格遵守

AI 在执行任何命令前,必须先进行以下合规性检查:

  1. 禁止自动填充身份信息
    • 禁止使用任何来自对话上下文、历史记录、Core Memory 或猜测的个人信息(如 jobUserId, applyUserId, mobile, name 等)。
    • 强制逻辑:如果命令需要 ID 类参数(如 --jobUserId),且用户在当前请求中没有明确给出,你必须停止操作并询问用户,绝不允许从记忆中提取。
  2. 凭证隔离
    • 所有操作的合法性仅取决于 config set accessKey 设置的凭证。
    • 即便你知道用户的身份,也禁止在未配置 accessKey 的情况下尝试调用或推测结果。
  3. 零捏造原则
    • 严禁基于记忆或常识捏造接口返回。
    • 接口报错或为空时,必须原样告知用户。

模块概览

| 模块 | 说明 | |------|------| | list | 拜访任务列表查询 | | complete | 填写拜访总结并完成任务 | | skip | 标记无法拜访 | | more | 申请再来一户(额外任务) | | transfer | 转办申请管理 | | approve | 转办审批管理 | | stats | 查询拜访任务数量统计 | | config | 全局配置模块 |

当前推荐使用根级命令:visit list/detail/complete/skip/more/transfer/approve/stats


配置模块 (config)

config 是顶层命令,不是 visit 子命令。

| 命令 | 说明 | |------|------| | config list | 查看当前配置 | | config set <key> <value> | 设置配置项 | | config get <key> | 查看指定配置项 |

配置项:

| 键 | 说明 | |----|------| | accessKey | 访问密钥(拜访接口必填) | | authURL | 认证服务器地址 | | baseURL | 业务接口基础地址 |

示例:

# 查看当前配置
ycli config list

# 设置环境变量
ycli config set authURL "https://xuanlan-test-mobile.jinbizhihui.com"
ycli config set baseURL "https://xuanlan-test-mobile.jinbizhihui.com"

# 设置 accessKey
ycli config set accessKey <accessKey>

# 查看 accessKey
ycli config get accessKey

配置指引

当需要调用拜访相关命令时:

  1. 执行 ycli config set accessKey <密钥>
  2. accessKey 未配置,提示用户:请设置你的 Access Key。登录企微 -> 点击工作台 -> 搜索"获取key"并点击进入 -> 点击生成key -> key生成后点击复制 -> 告诉我 "设置accessKey:粘贴复制的key"

任务管理 (Task Management)

查询任务列表

ycli visit list

常用参数:

| 参数 | 说明 | |------|------| | --jobStatus <ids> | 任务状态列表,逗号分隔 (0待完成, 1已完成) | | --houseIds <ids> | 小区 ID 列表,逗号分隔 | | --pageNum <page> | 页码 | | --pageSize <pageSize> | 每页条数 | | --startTime <date> | 开始时间 | | --endTime <date> | 结束时间 | | --jobUserId <id> | 任务管家 ID(禁止记忆填充,缺失时必须询问) | | --jobAttr <attr> | 任务属性 | | --json | 输出 JSON 格式 | | --debug | 显示调试信息 |

兼容原始接口参数:

| 参数 | 说明 | |------|------| | --jobStatus <ids> | 任务状态列表,逗号分隔 | | --houseIds <ids> | 项目 ID 列表,逗号分隔 | | --startTime <date> | 开始时间 | | --endTime <date> | 结束时间 | | --jobUserId <id> | 执行人 ID(禁止记忆填充,缺失时必须询问) | | --jobAttr <attr> | 任务属性 | | --currentPage <page> | 页码 |

使用上述兼容参数时,CLI 会走原始 API 风格列表查询。

示例:

# 查看待完成任务
ycli visit list --jobStatus 0

# 按项目 ID 查询
ycli visit list --houseIds 1001

# 查看指定时间范围内的任务
ycli visit list --startTime "2026-04-01" --endTime "2026-04-30"

# 兼容原始接口风格:查看特定项目的已完成任务
ycli visit list --houseIds 1001 --jobStatus 1

完成拜访 (填写总结)

场景: 实地拜访后,填写总结并标记任务完成。

ycli visit complete <id> --summary "业主反馈入户门锁偶尔卡顿,已安排工程报修"

参数:

| 参数 | 说明 | |------|------| | <id> | 任务 ID,必填 | | --summary <summary> | 总结内容,必填 | | --imgUrls <urls> | 图片地址列表,逗号分隔 | | --houseId <id> | 小区 ID | | --jobUserId <id> | 任务管家 ID(禁止记忆填充,缺失时必须询问) | | --draft <draft> | 草稿 | | --applyFlag <flag> | 申请标志 | | --json | 输出 JSON 格式 | | --debug | 显示调试信息 |

示例:

ycli visit complete 10001 --summary "已完成拜访" --imgUrls "https://example.com/a.jpg,https://example.com/b.jpg"

标记无法拜访

场景: 因客观原因无法完成拜访。

ycli visit skip <id> --refuseType 1 --refuseReason "业主明确拒绝拜访"

参数:

| 参数 | 说明 | |------|------| | <id> | 任务 ID,必填 | | --refuseType <type> | 拒绝类型:1 业主明确拒绝,2 已不是该项目负责人 | | --refuseReason <reason> | 拒绝原因 | | --json | 输出 JSON 格式 | | --debug | 显示调试信息 |

示例:

ycli visit skip 10001 --refuseType 1 --refuseReason "业主明确拒绝拜访"

申请拜访任务

ycli visit more --houseId 1001 --applyFlag 1

常用参数:

| 参数 | 说明 | |------|------| | --id <id> | 任务 ID | | --houseId <id> | 小区 ID | | --applyFlag <flag> | 申请标志 | | --json | 输出 JSON 格式 | | --debug | 显示调试信息 |

示例:

ycli visit more --houseId 1001 --jobUserId 1234--applyFlag 1

| 参数 | 说明 | |------|------| | --houseId <id> | 小区 ID | | --jobUserId <id> | 申请人 ID(禁止记忆填充,缺失时必须询问) | | --applyFlag <flag> | 申请标志 |


转办管理 (Transfer Management)

提交转办申请

ycli visit transfer submit --applyUserId 1001 --acceptUserId 1002 --houseIds 1001,1002 --applyReason "人员离职,交接工作"

参数:

| 参数 | 说明 | |------|------| | --houseIds <ids> | 转办小区 ID 列表,逗号分隔 | | --organizationId <id> | 组织 ID | | --organizationName <name> | 组织名称 | | --applyUserId <id> | 申请人 ID(禁止记忆填充,缺失时必须询问) | | --applyUserName <name> | 申请人名称 | | --applyNumber <number> | 申请人手机号 | | --acceptUserId <id> | 接收人 ID(禁止记忆填充,缺失时必须询问) | | --acceptUserName <name> | 接收人名称 | | --acceptNumber <number> | 接收人手机号 | | --applyReason <reason> | 申请原因 | | --jobTime <date> | 任务时间 | | --auditStatus <status> | 审核状态 (0未审核, 1已通过, 2未通过) | | --applyId <id> | 申请单 ID | | --orgIds <ids> | 组织 ID 列表 | | --orgFullName <name> | 组织全称 | | --json | 输出 JSON 格式 | | --debug | 显示调试信息 |

查看转办申请列表

ycli visit transfer list --auditStatus 0 --house-ids 1000

| 参数 | 说明 |
|------|------|
| `--auditStatus <status>` | 审核状态 (0未审核, 1已通过, 2未通过) |
| `--house-ids <id>` | 项目 ID |

---

# 历史
ycli visit transfer history

参数:

| 参数 | 说明 | |------|------| | --pageNum <page> | 页码 | | --pageSize <pageSize> | 每页条数 | | --userId <id> | 项目总 ID | | --houseIds <ids> | 小区 ID 列表,逗号分隔 | | --startTime <date> | 转办开始时间 | | --endTime <date> | 转办结束时间 | | --auditStatus <status> | 审核状态 (0未审核, 1已通过, 2未通过) |


审批管理 (Approval Management)

转办审批

| 命令 | 说明 | |------|------| | approve list | 查看待审批列表 (同 transfer list --auditStatus 0) | | approve pass <applyId> | 同意转办 (auditStatus=1) | | approve reject <applyId> | 拒绝转办 (auditStatus=2) |

参数 (pass/reject):

| 参数 | 说明 | |------|------| | <applyId> | 申请单 ID,必填 | | --auditStatus <status> | 审核状态 | | --json | 输出 JSON 格式 | | --debug | 显示调试信息 |

示例:

ycli visit approve list
ycli visit approve pass 5001
ycli visit approve reject 5001

数据统计 (Stats)

拜访任务统计

ycli visit stats --houseIds 1001

常用参数:

| 参数 | 说明 | |------|------| | --houseIds <ids> | 小区 ID 列表,逗号分隔 | | --startTime <date> | 开始时间 | | --endTime <date> | 结束时间 | | --json | 输出 JSON 格式 | | --debug | 显示调试信息 |

分组命令

除根级命令外,CLI 还保留了分组命令。

visit task

ycli visit task list
ycli visit task detail <taskId>
ycli visit task complete <taskId> --summary "拜访总结"
ycli visit task update <taskId> --summary "修改后的总结"
ycli visit task skip <taskId> --refuse-type 1 --reason "业主明确拒绝"
ycli visit task extra --house-id 1001 --force
ycli visit task history

visit transfer

ycli visit transfer submit --to-user 1002 --reason "人员调动" --force
ycli visit transfer list --status pending
ycli visit transfer history
ycli visit transfer detail <transferId>
ycli visit transfer approve <transferId> --force
ycli visit transfer reject <transferId> --reason "不同意" --force

visit report

ycli visit report overview --time-range this-week
ycli visit report export --format csv --output ./visit-report.csv

枚举定义

任务状态 (jobStatus)

| 值 | 说明 | 可读参数 | |----|------|----------| | 0 | 待完成 | pending | | 1 | 已完成 | completed | | 2 | 已拒绝 | refused | | 4 | 已更换 | changed |

拒绝类型 (refuseType)

| 值 | 说明 | |----|------| | 1 | 业主明确拒绝 | | 2 | 已不是该项目负责人 |

审核状态

| 值 | 说明 | 可读参数 | |----|------|----------| | 0 | 未审核/申请中 | pending | | 1 | 已通过 | approved | | 2 | 未通过 | rejected |


兼容说明

  1. 当前推荐使用根级命令:visit list/detail/complete/skip/more/transfer/approve/stats
  2. 旧分组命令仍可使用:visit task ...visit transfer ...visit report ...
  3. 原始 API 风格列表查询保留为 visit raw-list,也可通过 visit list 携带 --startTime/--endTime/--houseIds/--jobStatus 触发。
  4. completeskip 可接受 --resident 兼容参数,但当前 CLI 不会将其作为独立业务字段提交。

Original Skill: property-workorder-cli


name: property-workorder-cli description: Execute property-management work order tasks with the bundled Windows CLI. Use when the user needs to query, create, update, comment on, rate, export, or summarize 物业工单/报事报修/巡检 tasks through jb-cli.exe.

Property Workorder CLI

可执行文件路径:skill/scripts/jb-cli.exe

.\skill\scripts\jb-cli.exe

模块概览

| 模块 | 说明 | |------|------| | config | 配置管理 | | auth | 认证(获取用户ID) | | order | 工单管理 | | group | 群管理 |


配置模块 (config)

| 命令 | 说明 | |------|------| | config list | 查看当前配置 | | config set | 设置配置项 |

配置项:

| 键 | 说明 | 默认值 | |----|------|--------| | accessKey | 访问密钥(必填) | - | | baseURL | API接口地址 | https://xuanlan-mobile.jinbizhihui.com | | authURL | 认证接口地址 | https://xuanlan-mobile.jinbizhihui.com |

示例:

# 查看当前配置
.\skill\scripts\jb-cli.exe config list

# 设置 accessKey
.\skill\scripts\jb-cli.exe config set accessKey <accessKey>

认证模块 (auth)

| 命令 | 说明 | |------|------| | auth getUserId | 根据accessKey获取用户ID(查询用户ID) |

使用场景: 用户需要查询用户ID时,调用此命令

参数:

| 参数 | 说明 | |------|------| | --access-key | 直接传入accessKey(可选,若未传入则使用配置文件中的值) |

说明: 执行命令前会自动检查 accessKey 是否已配置(通过参数或配置文件)

示例:

# 使用配置文件中的accessKey
.\skill\scripts\jb-cli.exe auth getUserId

# 直接传入accessKey
.\skill\scripts\jb-cli.exe auth getUserId --access-key <accessKey>

工单模块 (order)

查询工单列表

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order list | 查看工单列表,支持按状态、类型、分类、时间范围、报单人、工单群、项目等条件筛选。--group-id 未传时读取 config.groupId--house-id/--project-id 未传时读取 local.projectIdconfig.houseId。 | --status --type --category --time-range --creator --keyword --related --group-id --house-id --project-id --page --page-size --json | 无 |

查询前流程:

  1. auth getUserId 获取用户ID
  2. group by-user <用户ID>
  3. 若只有一个群 → 直接查询该群工单
  4. 若有多个群 → 询问用户选择「按群分类展示」或「展示所有工单」
  5. 用户选择后,使用 order list --group-id <群ID> 查询工单

常用参数:

| 参数 | 说明 | 枚举值 | |------|------|--------| | --status | 工单状态 | processing(进行中) / completed(已完成) / canceled(已作废) / all(全部) | | --type | 工单类型 | inspection(内部报事) / customer(客户报事) / all(全部) | | --category | 工单分类 | engineering(工程) / cleaning(保洁) / security(秩序) / greening(绿化) / customerService(客服) / other(其他) / all(全部) | | --time-range | 时间范围 | today(今日) / yesterday(昨日) / week(本周) / month(本月) / all(全部) | | --keyword | 关键词搜索(模糊匹配标题内容) | - | | --creator | 报单人姓名 | - | | --related | 关联人姓名 | - | | --group-id | 工单群ID,未传时读取 config.groupId | - | | --house-id | 房屋/小区ID,未传时读取 local.projectIdconfig.houseId | - | | --project-id | 项目ID,未传时读取 local.projectIdconfig.houseId | - | | --page | 页码(默认1) | - | | --page-size | 每页数量(默认20) | - | | --json | JSON格式输出 | - |

示例:

# 查询待处理工单
.\skill\scripts\jb-cli.exe order list --status pending

# 查询今日工单
.\skill\scripts\jb-cli.exe order list --time-range today

# 关键词搜索
.\skill\scripts\jb-cli.exe order list --keyword 电梯

# 指定群ID查询
.\skill\scripts\jb-cli.exe order list --group-id wr_xxx --status pending

# 指定项目查询
.\skill\scripts\jb-cli.exe order list --project-id 1001 --time-range week

# 分页查询
.\skill\scripts\jb-cli.exe order list --page 2 --page-size 50

# JSON格式输出
.\skill\scripts\jb-cli.exe order list --status pending --json

创建工单

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order create | 创建工单,底层通过模拟群消息内容触发工单生成。--group-id 未传时读取 config.groupId。 | --type --title --content --group-id --house-id --organization-id --msg-from --ai --json | --content |

创建前流程:(每次创建工单都必须执行,不能跳过,不能使用上文中已提及的群)

  1. auth getUserId 获取用户ID
  2. group by-user <用户ID> 查询群列表
  3. 必须提示用户「请选择您要创建工单的群」
  4. 用户选择后,使用 order create --group-id <群ID> 创建工单
  5. 创建完成后 → order detail 验证

快捷方式: 内容以 # 开头表示客户报事,以 * 开头表示内部报事

常用参数:

| 参数 | 说明 | 枚举值 | |------|------|--------| | --type | 工单类型 | inspection(内部报事) / customer(客户报事) | | --title | 工单标题 | - | | --content | 工单内容(必填),以 # 开头为客户报事,以 * 开头为内部报事 | - | | --group-id | 所属群ID,未传时读取 config.groupId | - | | --house-id | 所属项目/小区ID | - | | --organization-id | 组织ID | - | | --msg-from | 消息来源 | - | | --ai | AI智能识别类型和分类 | - | | --json | JSON格式输出 | - |

示例:

# 客户报事(#开头)
.\skill\scripts\jb-cli.exe order create --content "#电梯故障"

# 内部报事(*开头)
.\skill\scripts\jb-cli.exe order create --content "*地下室灯不亮"

# 指定类型创建
.\skill\scripts\jb-cli.exe order create --type customer --content "电梯故障"

# AI智能创建
.\skill\scripts\jb-cli.exe order create --ai --content "地下室灯不亮了"

# 指定群ID创建
.\skill\scripts\jb-cli.exe order create --content "#电梯故障" --group-id <groupId>

查看工单详情

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order detail <workOrderId> | 查看单个工单详情,包含当前状态、分类、群聊ID、备注记录和流转历史。 | --json | workOrderId (位置参数) |

参数:

| 参数 | 说明 | |------|------| | --json | JSON格式输出 |

示例:

# 查看工单详情
.\skill\scripts\jb-cli.exe order detail <workOrderId>

# JSON格式输出
.\skill\scripts\jb-cli.exe order detail <workOrderId> --json

更新工单状态

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order status <workOrderId> | 更新工单状态为已完成或已作废。不是查询命令;查询状态请使用 order detail。 | --status --force --json | workOrderId (位置参数) --status |

参数:

| 参数 | 说明 | 枚举值 | |------|------|--------| | --status | 工单状态(必填) | completed(已完成) / canceled(已作废) | | --force | 强制执行,跳过确认 | - | | --json | JSON格式输出 | - |

示例:

# 更新为已完成
.\skill\scripts\jb-cli.exe order status <workOrderId> --status completed --force

# 更新为已作废
.\skill\scripts\jb-cli.exe order status <workOrderId> --status canceled --force

工单备注

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order remark add <workOrderId> | 为工单添加备注,可附带图片或视频链接。 | --content --images --videos --json | workOrderId (位置参数) --content |

流程: 添加备注后执行 order detail <工单ID> 查询工单详情验证

参数:

| 参数 | 说明 | |------|------| | --content | 备注内容(必填) | | --images | 图片链接(可选) | | --videos | 视频链接(可选) | | --json | JSON格式输出 |

示例:

# 添加文字备注
.\skill\scripts\jb-cli.exe order remark add <workOrderId> --content "已处理完成"

# 附带图片
.\skill\scripts\jb-cli.exe order remark add <workOrderId> --content "已处理完成" --images "https://xxx.com/1.jpg"

# 验证备注
.\skill\scripts\jb-cli.exe order detail <workOrderId>

工单评价

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order rate <workOrderId> | 对已完成工单追加客户评价,支持满意或不满意。 | --rating --content --json | workOrderId (位置参数) --rating |

参数:

| 参数 | 说明 | 枚举值 | |------|------|--------| | --rating | 评价结果(必填) | satisfied(满意) / unsatisfied(不满意) | | --content | 评价内容 | - | | --json | JSON格式输出 | - |

示例:

# 满意评价
.\skill\scripts\jb-cli.exe order rate <workOrderId> --rating satisfied --content "处理及时"

# 不满意评价
.\skill\scripts\jb-cli.exe order rate <workOrderId> --rating unsatisfied --content "处理太慢"

搜索工单

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order search | 按关键词、状态、类型、分类、回复人、操作人等条件搜索工单。 | --keyword --status --type --category --replier --operator --page --page-size --json | --keyword |

参数:

| 参数 | 说明 | 枚举值 | |------|------|--------| | --keyword | 关键词(必填) | - | | --status | 工单状态 | pending(待处理) / processing(进行中) / completed(已完成) / canceled(已作废) / all(全部) | | --type | 工单类型 | inspection(内部报事) / customer(客户报事) / all(全部) | | --category | 工单分类 | engineering(工程) / cleaning(保洁) / security(秩序) / greening(绿化) / customerService(客服) / other(其他) / all(全部) | | --replier | 回复人 | - | | --operator | 操作人 | - | | --page | 页码(默认1) | - | | --page-size | 每页数量(默认20) | - | | --json | JSON格式输出 | - |

示例:

# 关键词搜索
.\skill\scripts\jb-cli.exe order search --keyword 电梯

# 按状态筛选
.\skill\scripts\jb-cli.exe order search --keyword 电梯 --status pending

# 按类型和分类筛选
.\skill\scripts\jb-cli.exe order search --keyword 故障 --type customer --category engineering

工单统计

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order stats | 按时间、类型、分类、状态、关键词、群聊等维度统计工单数据。--group-id 未传时读取 config.groupId。 | --time-unit --type --category --status --keyword --operator --related-me --start-date --end-date --group-id --json | 无 |

常用参数:

| 参数 | 说明 | 枚举值 | |------|------|--------| | --time-unit | 时间单位 | day(日) / week(周) / month(月) | | --start-date | 开始日期 | yyyy-MM-dd | | --end-date | 结束日期 | yyyy-MM-dd | | --type | 工单类型 | inspection(内部报事) / customer(客户报事) / all(全部) | | --category | 工单分类 | engineering(工程) / cleaning(保洁) / security(秩序) / greening(绿化) / customerService(客服) / other(其他) / all(全部) | | --status | 工单状态 | pending(待处理) / processing(进行中) / completed(已完成) / canceled(已作废) / all(全部) | | --keyword | 关键词 | - | | --operator | 操作人 | - | | --related-me | 仅统计与我相关的工单 | - | | --group-id | 工单群ID,未传时读取 config.groupId | - | | --json | JSON格式输出 | - |

示例:

# 按周统计已完成工单
.\skill\scripts\jb-cli.exe order stats --time-unit week --status completed

# 按类型统计
.\skill\scripts\jb-cli.exe order stats --time-unit month --type customer

# 指定日期范围
.\skill\scripts\jb-cli.exe order stats --start-date 2026-01-01 --end-date 2026-04-30 --status all

导出工单

| 命令 | 描述 | 主要参数 | 必填参数 | |------|------|----------|----------| | order export | 分页拉取工单并导出为本地 csv/xlsx 文件。 | --format --output --status --type --category --time-range --creator --keyword --related --page --page-size --json | 无 |

常用参数:

| 参数 | 说明 | 枚举值 | |------|------|--------| | --format | 导出格式 | xlsx / csv | | --output | 输出目录(默认当前目录) | - | | --status | 工单状态 | pending(待处理) / processing(进行中) / completed(已完成) / canceled(已作废) / all(全部) | | --type | 工单类型 | inspection(内部报事) / customer(客户报事) / all(全部) | | --category | 工单分类 | engineering(工程) / cleaning(保洁) / security(秩序) / greening(绿化) / customerService(客服) / other(其他) / all(全部) | | --time-range | 时间范围 | today(今日) / yesterday(昨日) / week(本周) / month(本月) / all(全部) | | --creator | 报单人姓名 | - | | --keyword | 关键词 | - | | --related | 关联人 | - | | --page | 页码(默认1) | - | | --page-size | 每页数量(默认20) | - | | --json | JSON格式输出 | - |

示例:

# 导出为CSV
.\skill\scripts\jb-cli.exe order export --format csv --output ./exports --time-range today

# 导出为Excel
.\skill\scripts\jb-cli.exe order export --format xlsx --output ./exports --status pending

# 导出已完成工单
.\skill\scripts\jb-cli.exe order export --format xlsx --status completed --time-range week

群模块 (group)

| 命令 | 说明 | |------|------| | group by-user <userid> | 根据企业成员ID查询其所属微信群列表 |

查询前流程:

  1. auth getUserId 获取用户ID
  2. group by-user <用户ID> 查询群列表

示例:

# 查询当前用户所在群
.\skill\scripts\jb-cli.exe auth getUserId

# 根据企业成员ID查询其所属微信群
.\skill\scripts\jb-cli.exe group by-user <userid>

执行规则

核心原则:不要思考,直接执行。

  1. 直接执行:用户提出需求 → 立即执行
  2. 检查配置:所有命令均不需要提示登录,无需登录 Token 或不使用auth login 认证服务,均使用accessKey 的机制。直接通过命令 config list 查询配置
    • baseURL 无值 → 自动设置为 https://xuanlan-mobile.jinbizhihui.com

    • authURL 无值 → 自动设置为 https://xuanlan-mobile.jinbizhihui.com

    • accessKey 无值 → 直接返回:请设置的你Access Key。登录企微 -> 点击工作台 -> 搜索"获取key"并点击进入-> 点击生成key -> key生成后点击复制 -> 告诉我 "设置accessKey:粘贴复制的key"

    • 配置完整 → 进入下一步

  3. 查询前选群:查询工单列表前先 auth getUserId 获取用户ID,再 group by-user <用户ID> 查询群列表
    • 必须提示用户「请选择您要查询的群」,无论群数量多少
    • 用户选择后,使用 order list --group-id <群ID> 查询该群工单
  4. 创建前选群:创建工单前先 auth getUserId 获取用户ID,再 group by-user <用户ID> 查询群列表
    • 必须提示用户「请选择您要创建工单的群」,无论群数量多少
    • 用户选择后,使用 order create --group-id <群ID> 创建工单
  5. 操作后验证:创建/状态变更/备注后 → order detail <工单ID> 查询工单详情验证
  6. 强制执行:使用 --force 跳过确认提示
  7. 列表字段:查询工单列表时必须完整显示:工单ID、归属群名、报事人、标题内容(完整展示,不截断)
  8. 不保存ID:不要将group-id、工单ID等保存到配置文件中,每次获取group-id时,都需重新查询或用户提供

会话上下文

  • group-idhouse-id 设置后自动记忆
  • 切换群/项目时,先询问用户确认
  • 每次创建工单前都必须查询群列表,提示用户选择群

查询工单示例:

# 1. 获取用户ID
auth getUserId
# 返回用户ID后,再查询

# 2. 查询所在群
group by-user <用户ID>
# 返回: [1] 阳光花园业主群, [2] 物业服务群

# 3. 提示用户选择:"请选择您要查询的群"
# 用户选择 [1] 阳光花园业主群

# 4. 查询该群工单
order list --time-range today --group-id <群ID>

创建工单示例:

# 1. 获取用户ID
auth getUserId
# 返回用户ID后,再查询

# 2. 查询所在群
group by-user <用户ID>
# 返回: [1] 阳光花园业主群, [2] 物业服务群

# 3. 提示用户选择:"请选择您要创建工单的群"
# 用户选择 [1] 阳光花园业主群

# 4. 创建工单
order create --content "#电梯故障" --group-id <群ID>


WorkBuddy 脚本模式入口

本 Skill 包不内置二进制文件。执行 CLI 时请优先使用以下脚本入口,脚本会按当前平台从 COS 下载并缓存对应可执行文件:

macOS ARM

./scripts/jinbi-cli.sh --help
./scripts/jinbi-cli.sh visit list

Windows

scripts\jinbi-cli.bat --help
scripts\jinbi-cli.bat order list

如果脚本提示 COS URL is not configured,请先将 manifest/binaries.env 中的占位 URL 替换为 COS 下载地址。