vps-work 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/.well-known/skills/index.json +203 -0
  2. package/README.md +315 -0
  3. package/USAGE.md +289 -0
  4. package/dist/vps-work.cjs +64206 -0
  5. package/examples/README.md +94 -0
  6. package/package.json +76 -0
  7. package/scripts/install-onboard-skill.ps1 +77 -0
  8. package/scripts/install-onboard-skill.sh +66 -0
  9. package/scripts/test-local-tenant-services.mjs +21 -0
  10. package/skills/README.md +53 -0
  11. package/skills/sale-performance-query/SKILL.md +210 -0
  12. package/skills/sale-performance-query/references/vps-sales-account-orders.md +48 -0
  13. package/skills/sale-performance-query/references/vps-sales-agent-five-suite.md +55 -0
  14. package/skills/sale-performance-query/references/vps-sales-customer-mix.md +47 -0
  15. package/skills/sale-performance-query/references/vps-sales-customer-region.md +70 -0
  16. package/skills/sale-performance-query/references/vps-sales-daily-trend.md +44 -0
  17. package/skills/sale-performance-query/references/vps-sales-dealer-orders.md +47 -0
  18. package/skills/sale-performance-query/references/vps-sales-dealer-performance.md +49 -0
  19. package/skills/sale-performance-query/references/vps-sales-deposit-breakdown.md +16 -0
  20. package/skills/sale-performance-query/references/vps-sales-dept-breakdown.md +32 -0
  21. package/skills/sale-performance-query/references/vps-sales-dept-comparison.md +24 -0
  22. package/skills/sale-performance-query/references/vps-sales-entities.md +25 -0
  23. package/skills/sale-performance-query/references/vps-sales-headline-kpi.md +26 -0
  24. package/skills/sale-performance-query/references/vps-sales-invoice-attachments.md +37 -0
  25. package/skills/sale-performance-query/references/vps-sales-invoice-status.md +37 -0
  26. package/skills/sale-performance-query/references/vps-sales-order-finance.md +29 -0
  27. package/skills/sale-performance-query/references/vps-sales-order-logistics.md +50 -0
  28. package/skills/sale-performance-query/references/vps-sales-per-person-kpi.md +24 -0
  29. package/skills/sale-performance-query/references/vps-sales-personal-okr.md +40 -0
  30. package/skills/sale-performance-query/references/vps-sales-ranking.md +25 -0
  31. package/skills/sale-performance-query/references/vps-sales-reconciled-receipts.md +46 -0
  32. package/skills/sale-performance-query/references/vps-sales-refund-summary.md +20 -0
  33. package/skills/sale-performance-query/references/vps-sales-service-sales.md +23 -0
  34. package/skills/sale-performance-query/references/vps-sales-shared-params.md +68 -0
  35. package/skills/sale-performance-query/references/vps-sales-target-achievement.md +47 -0
  36. package/skills/sale-performance-query/references/vps-sales-team-pk.md +23 -0
  37. package/skills/vps-approval/SKILL.md +20 -0
  38. package/skills/vps-calendar/SKILL.md +64 -0
  39. package/skills/vps-calendar/agents/openai.yaml +4 -0
  40. package/skills/vps-corporate/SKILL.md +84 -0
  41. package/skills/vps-creative/SKILL.md +66 -0
  42. package/skills/vps-current-user-identity/SKILL.md +138 -0
  43. package/skills/vps-current-user-identity/reference.md +79 -0
  44. package/skills/vps-daily-report-assistant/SKILL.md +180 -0
  45. package/skills/vps-daily-sales-report/SKILL.md +124 -0
  46. package/skills/vps-daily-sales-report/reference.md +188 -0
  47. package/skills/vps-device-abnormal-statistics/SKILL.md +52 -0
  48. package/skills/vps-device-abnormal-statistics/agents/openai.yaml +4 -0
  49. package/skills/vps-device-abnormal-statistics/references/api.md +134 -0
  50. package/skills/vps-documents/SKILL.md +77 -0
  51. package/skills/vps-documents/agents/openai.yaml +4 -0
  52. package/skills/vps-documents/references/api.md +106 -0
  53. package/skills/vps-hr/SKILL.md +50 -0
  54. package/skills/vps-hr-compensation-documents/SKILL.md +61 -0
  55. package/skills/vps-hr-compensation-documents/reference.md +68 -0
  56. package/skills/vps-hr-compensation-documents/references/+payslip.md +29 -0
  57. package/skills/vps-hr-compensation-documents/references/runtime-and-helpers.md +24 -0
  58. package/skills/vps-im/SKILL.md +154 -0
  59. package/skills/vps-im/references/vps-im-bots.md +25 -0
  60. package/skills/vps-im/references/vps-im-calls.md +28 -0
  61. package/skills/vps-im/references/vps-im-channels.md +32 -0
  62. package/skills/vps-im/references/vps-im-read.md +105 -0
  63. package/skills/vps-im/references/vps-im-send.md +57 -0
  64. package/skills/vps-im/references/vps-im-shared-params.md +42 -0
  65. package/skills/vps-mail/SKILL.md +17 -0
  66. package/skills/vps-meeting/SKILL.md +42 -0
  67. package/skills/vps-okr/SKILL.md +22 -0
  68. package/skills/vps-okr-management-assistant/SKILL.md +45 -0
  69. package/skills/vps-okr-management-assistant/reference.md +84 -0
  70. package/skills/vps-pending-approval-assistant/SKILL.md +66 -0
  71. package/skills/vps-pending-approval-assistant/reference.md +55 -0
  72. package/skills/vps-product/SKILL.md +221 -0
  73. package/skills/vps-sale-personnel-efficiency/SKILL.md +124 -0
  74. package/skills/vps-sale-personnel-efficiency/reference.md +139 -0
  75. package/skills/vps-shared/SKILL.md +72 -0
  76. package/skills/vps-store-management/SKILL.md +35 -0
  77. package/skills/vps-store-management/references/store-reception.md +40 -0
  78. package/skills/vps-task-management-assistant/SKILL.md +140 -0
  79. package/skills/vps-tools/SKILL.md +73 -0
  80. package/skills/vps-tools/agents/openai.yaml +4 -0
  81. package/skills/vps-v-drive/SKILL.md +82 -0
  82. package/skills/vps-vemory/SKILL.md +33 -0
  83. package/skills/vps-work/SKILL.md +366 -0
  84. package/skills/vps-work-onboard/SKILL.md +53 -0
package/USAGE.md ADDED
@@ -0,0 +1,289 @@
1
+ # vps-work 用户使用手册
2
+
3
+ 版本:随 `vps-work` 当前 npm 包。本包取代已弃用的 `vertu-cli`。
4
+
5
+ ---
6
+
7
+ ## 一、安装前提
8
+
9
+ 确保已安装 **Node.js 20 或更高版本**:
10
+
11
+ ```bash
12
+ node -v # 输出应为 v20.x.x 或更高
13
+ ```
14
+
15
+ ---
16
+
17
+ ## 二、安装
18
+
19
+ ```bash
20
+ npx vps-work@latest install
21
+ # 或:npm install -g vps-work@latest
22
+ ```
23
+
24
+ 装包后会**自动**把公开 skill 铺到本机已检测到的 Agent 目录(`~/.cursor/skills` 等);不需要可传:
25
+
26
+ ```bash
27
+ npx vps-work@latest install --no-skills
28
+ ```
29
+
30
+ 验证:
31
+
32
+ ```bash
33
+ vps-work --version
34
+ vps-work --help
35
+ ```
36
+
37
+ ### keytar 编译失败?
38
+
39
+ ```bash
40
+ npm install -g vps-work --no-optional
41
+ ```
42
+
43
+ 未装 keytar 时会自动用 `~/.vps-work/config.json` 存会话,功能一致。
44
+
45
+ ---
46
+
47
+ ## 三、登录与身份
48
+
49
+ 业务取数需要有效凭证。以下账号密码登录仅供人工用户在交互终端执行;Agent / Bot / Hermes 必须使用宿主注入的 app_key,不得执行登录命令或接触用户密码。Hermes 固定使用 `app_id=vertu-hermes-agent`。
50
+
51
+ ```bash
52
+ vps-work auth login
53
+ vps-work auth login --login your@email.com --password '***'
54
+
55
+ vps-work auth status
56
+ vps-work auth status --json # 仅 uid / login 等极简字段
57
+ vps-work hr +me # 完整组织身份(部门链、上级等)
58
+ vps-work hr +org-tree # 组织结构,默认一级/二级部门
59
+ vps-work hr +profile # 本人人事档案、岗位、工龄、合同
60
+ ```
61
+
62
+ | 参数 | 说明 |
63
+ |------|------|
64
+ | `--service-url` | Vertu 服务地址;通常使用默认正式环境即可 |
65
+ | `--login` / `--password` | 企业账号 |
66
+
67
+ 退出:
68
+
69
+ ```bash
70
+ vps-work auth logout
71
+ vps-work auth logout --forget
72
+ ```
73
+
74
+ ```bash
75
+ vps-work auth tenants
76
+ vps-work auth use --tenant <uuid> # 仅人工/宿主;Agent 不得自行切换企业
77
+ ```
78
+
79
+ > 遗留 Odoo 动态 CLI(`--legacy-odoo-cli`)仅供人工兼容排障。Agent / Bot / Hermes 禁止使用。
80
+
81
+ ---
82
+
83
+ ## 四、活目录与通用执行
84
+
85
+ 本机 `--help` 只反映已打包的 `+` 糖衣。当前企业身份能用哪些脚本,以服务端目录为准:
86
+
87
+ ```bash
88
+ vps-work catalog --json
89
+ vps-work catalog --domain sales --json
90
+ vps-work exec --skill vps-dealer-ops --script sales --param period=this_month
91
+ ```
92
+
93
+ `transport=execute` 的条目用 `exec`;不要编造 catalog 里没有的 `script_key`。
94
+
95
+ 条目的 `provider` 字段标明数据归属:`odoo` 表示来自第三方应用 Odoo ERP(销售 / 门店 / 商品 / 经销商运营 / 审批),为空表示 VPS 原生能力(HR 档案、工资条、IM、云文档等)。企业停用 Odoo ERP 后,响应中的 `disabled_third_party_apps` 会包含 `odoo`,相关条目被隐藏且 `exec` 返回 403。
96
+
97
+ ---
98
+
99
+ ## 五、常用命令(领域 `+` 快捷)
100
+
101
+ 命令树内置本机糖衣,用 `--help` 查看。服务端新增脚本不必等本机发版,优先走上一节 `catalog` / `exec`。
102
+
103
+ ```bash
104
+ vps-work sales --help
105
+ vps-work sales +headline-kpi
106
+ vps-work sales +dept-breakdown --period this_month --group-by dept_l1
107
+ vps-work sales +customer-mix --period this_month
108
+ vps-work sales +reconciled-receipts --order-types sale,service --invoiced true --limit 100
109
+ vps-work sales +target-achievement --period this_month --params '{"group_by":"dept_l1","limit":500}'
110
+ vps-work sales +dept-monthly-okr --period this_month --limit 100 --page 1
111
+ vps-work sales +target-achievement --period this_month --okr-source postgres --limit 50 # 显式核对 Postgres 新目标表
112
+ vps-work sales +dept-breakdown --period this_month --group-by salesperson --limit 10
113
+
114
+ vps-work hr +me
115
+ vps-work hr +org-tree --max-depth 2
116
+ vps-work hr +profile
117
+ vps-work hr +subordinates
118
+ vps-work hr +manager
119
+ vps-work hr +job-details --department-l1 "线下事业部" --job "销售"
120
+ vps-work hr +contracts --contract-status open
121
+ vps-work hr +payslip --name "张三" --salary-month 2026-04
122
+
123
+ vps-work corporate +partner-list --search "深圳"
124
+ vps-work corporate +seal-list --kind contract --status finished
125
+ vps-work corporate +seal-list --kind contract --end-date-from 2025-08-13 --end-date-to 2026-08-12 --all
126
+ vps-work corporate +business-list --kind business-policy
127
+ vps-work corporate +regulation-list
128
+ vps-work corporate +attachments --record-type regulation --record-id 53
129
+
130
+ vps-work product +inventory --product-name "AGENT Q"
131
+ vps-work product +inventory --product-subcategory "VERTU ALPHAFOLD" --product-material 小牛皮 --product-color 黑色 --group-by store_detail
132
+ vps-work product +price --product-subcategory "VERTU ALPHAFOLD" --product-material 鳄鱼皮 --price-region overseas
133
+ vps-work product +abnormal-location --default-selected
134
+ vps-work product +abnormal-details --imeis 860000000000001,860000000000002
135
+ # 上述三个设备异常命令只允许授权中心已分配 vps_device_abnormal_analyst 角色的在职内部员工访问
136
+ vps-work attendance +daily --from-date 2026-08-01 --to-date 2026-08-25
137
+ vps-work attendance +daily --from-date 2026-08-01 --to-date 2026-08-25 --managed-departments
138
+ vps-work attendance +daily --from-date 2026-08-01 --to-date 2026-08-25 --employee-id 123
139
+ vps-work attendance +daily --from-date 2026-08-01 --to-date 2026-08-25 --department-path "总部 / 研发"
140
+ vps-work attendance +daily --from-date 2026-08-01 --to-date 2026-08-25 --all
141
+ vps-work attendance +schedule-rules
142
+ vps-work attendance +schedule-shifts --rule-id <rule-id> --availability all
143
+ vps-work attendance +schedule-members --rule-id <rule-id> --from-date 2026-08-26 --to-date 2026-08-31
144
+ vps-work attendance +schedules --rule-id <rule-id> --from-date 2026-08-26 --to-date 2026-08-31 --employee-id 123
145
+ vps-work attendance +schedule-preview --rule-id <rule-id> --employee-ids 123,456 --from-date 2026-08-26 --to-date 2026-08-31 --shift-template-id <shift-id>
146
+ vps-work attendance +schedule-apply --rule-id <rule-id> --items-file ./schedule-plan.json --mode fill_missing --preview-token <token> --client-request-id <uuid>
147
+ vps-work creative +models --type image
148
+ vps-work creative +image --model <id> --prompt "一只金丝猴在雪山上" --aspect-ratio 16:9
149
+ vps-work creative +video --model <id> --prompt "..." --ratio 16:9 --duration 5 --wait
150
+ vps-work creative +video-status --model <id> --task-id <task_id>
151
+ vps-work creative +tts --model <id> --text "你好,欢迎使用"
152
+ vps-work creative +music --model <id> --prompt "轻松愉快的爵士乐"
153
+ vps-work calendar +mine --start-date 2026-07-20 --end-date 2026-07-26
154
+ vps-work calendar +person --name "张三" --start-date 2026-07-23
155
+ vps-work calendar +create --title "项目评审" --starts-at "2026-07-24 09:00" --ends-at "2026-07-24 10:00" --reminder-minutes 15m,1h
156
+ vps-work calendar +update --event-id <uuid> --location "深圳办公室"
157
+ vps-work calendar +respond --event-id <uuid> --status accepted
158
+ vps-work calendar +calendars
159
+ vps-work calendar +availability --user-ids 12708,12556 --start-date 2026-07-23
160
+ vps-work drive +list --recursive
161
+ vps-work drive +mkdir --name "项目资料"
162
+ vps-work drive +upload --parent-id <uuid> --source ./方案.pdf
163
+ vps-work drive +read --item-id <uuid>
164
+ vps-work drive +download --item-id <uuid> --output ./downloads/
165
+ vps-work popup +send --title "今日提醒" --content "还有 2 个待办即将到期。" --gradient-start "#FCEBE4" --gradient-end "#FFFBFA" --button-text "立即查看"
166
+ vps-work popup +send --user-id 12708 --title "管理员提醒" --content "请及时查看新的工作安排。"
167
+ vps-work im +departments --query "线上事业部"
168
+ vps-work im +send-user --user-id 12708 --body '你好'
169
+ vps-work im +history --channel-id <channel_id> --limit 20
170
+ vps-work im +attachment-download --url "/v1/im/files/..." --output "./downloads/附件.png"
171
+ vps-work tools +oss-upload --file ./report.pdf
172
+ vps-work tools +oss-upload --file ./logo.png --visibility public
173
+ ```
174
+
175
+ 部门销售目标默认与管理端“部门业绩目标”页面一致,读取 `部门OKR_1`;需要核对 Postgres 新目标表时传 `--okr-source postgres`。个人 OKR 仍默认使用 Postgres。
176
+
177
+ ### 共享参数
178
+
179
+ 考勤日报日期为闭区间,单次最多 93 天,`--page-size` 最大 200。`--managed-departments`、`--employee-id`、`--department-path`、`--all` 互斥;都不提供时查询本人。部门负责人权限随组织同步自动变化,显式部门管理员授权可继续保留。
180
+
181
+ 排班短命令只提供授权范围内的规则、班次、人员与现有排班事实,不生成排班建议。智能体先调用 `+schedule-rules`、`+schedule-shifts` 和 `+schedule-members`/`+schedules` 获取决策材料,再用 `+schedule-preview` 校验计划并取得短期令牌,最后用完全相同的计划、令牌和唯一 `client_request_id` 调用 `+schedule-apply`。默认 `fill_missing` 不覆盖已有排班;只有明确传 `--mode replace` 才允许替换。一次应用全量成功或全量失败,历史日期仍走既有纠错流程。
182
+
183
+ `--items-file` 内容是 JSON 数组;写入只接受查询接口返回的员工、规则和班次 ID:
184
+
185
+ ```json
186
+ [
187
+ {"employee_id": 123, "work_date": "2026-08-26", "shift_template_id": "shift-id", "remark": "智能体排班"},
188
+ {"employee_id": 456, "work_date": "2026-08-26", "shift_template_id": "shift-id"}
189
+ ]
190
+ ```
191
+
192
+ - `--params <json>` / `--params-file <path>` / `@file` / `@-`:合并 JSON 到快捷默认参数
193
+ - `--validate-only` / `--dry-run`:只校验不执行
194
+ - `--no-json`:纯文本输出
195
+
196
+ ### PowerShell 传 JSON
197
+
198
+ 优先写文件再引用,避免引号被吞:
199
+
200
+ ```powershell
201
+ '{"period":"last_month"}' | Set-Content -Encoding utf8 ./p.json
202
+ vps-work sales +headline-kpi --params '@./p.json'
203
+ ```
204
+
205
+ 业务语义与参数表见仓库 `skills/vps-*/SKILL.md` 与 `references/`。
206
+
207
+ ---
208
+
209
+ ## 六、公开 Skill(Agent)
210
+
211
+ 所有 `vps-*` skill **随 npm 包分发**,**无需登录**即可安装到 Cursor / Claude Code / Trae / Hermes 等:
212
+
213
+ ```bash
214
+ vps-work skill list
215
+ vps-work skill install --all --agent all
216
+ vps-work skill install sale-performance-query vps-im --agent cursor
217
+ vps-work skill install --all --dir ~/my-agent/skills
218
+
219
+ vps-work skill update # 升级 CLI 后覆盖式重同步
220
+ vps-work skill uninstall sale-performance-query --agent cursor
221
+ ```
222
+
223
+ `--agent`:`cursor` / `claude-code` / `trae` / `trae-cn` / `openclaw` / `hermes` / `all`。
224
+
225
+ ### Agent 新建和维护个人技能
226
+
227
+ 这些命令使用当前人工会话或宿主注入的 `VERTU_APP_ID` / `VERTU_APP_KEY`,不签发临时令牌:
228
+
229
+ ```bash
230
+ vps-work skill +create-personal --slug sales-follow-up --title "销售跟进" --description "生成客户跟进计划" --instructions @instructions.md
231
+ vps-work skill +update-personal --slug sales-follow-up --skill-md @SKILL.md --note "补充输出格式"
232
+ vps-work skill +change-category --slug sales-follow-up --category sales
233
+ vps-work skill +request-publication --slug sales-follow-up --note "申请企业公开"
234
+ vps-work skill +delete-personal --slug sales-follow-up
235
+ ```
236
+
237
+ - `--slug` 必须是小写字母、数字和单连字符组成的稳定机器名。
238
+ - `--skill-md` 与 `--instructions` 支持 `@file`、`@-`;两者不能同时提供。
239
+ - 新建、更新都会自动生成或校正 YAML frontmatter:`name` 固定为 slug,`description` 自动补齐,其他字段保留。
240
+ - 只能更新、分类、申请公开或删除自己创建的个人技能;公开技能由审核流程管理。
241
+
242
+ ---
243
+
244
+ ## 七、环境变量
245
+
246
+ | 变量 | 说明 |
247
+ |------|------|
248
+ | `VERTU_APP_ID` / `VERTU_APP_KEY` | Agent 接入(app key) |
249
+ | `VERTU_BOT_INBOUND_KEY` | Bot Bearer(CI) |
250
+ | `VERTU_DISABLE_KEYTAR=1` | 强制文件存会话 |
251
+ | `VERTU_DEBUG=1` | 调试输出 |
252
+
253
+ ---
254
+
255
+ ## 八、本机路径
256
+
257
+ | 类型 | 位置 |
258
+ |------|------|
259
+ | 配置 | `~/.vps-work/config.json`(Windows:`%USERPROFILE%\.vps-work\`) |
260
+ | Cursor Skill | `~/.cursor/skills/<skill_key>/` |
261
+ | Claude Code | `~/.claude/skills/<skill_key>/` |
262
+ | Trae 国际 / 国内 | `~/.trae/skills/` / `~/.trae-cn/skills/` |
263
+ | OpenClaw / Hermes | `~/.openclaw/skills/` / `~/.hermes/skills/` |
264
+
265
+ ---
266
+
267
+ ## 九、常见问题
268
+
269
+ **Q:提示未登录?**
270
+
271
+ `vps-work auth status` 检查凭证。Agent/Bot/Hermes 凭证无效时联系管理员刷新宿主 app_key;仅人工用户可交互执行 `vps-work auth login`。
272
+
273
+ **Q:CI 怎么用?**
274
+
275
+ 设置 `VERTU_BOT_INBOUND_KEY`,然后直接跑 `vps-work sales +headline-kpi` 等。
276
+
277
+ **Q:Trae 国际版和国内版目录?**
278
+
279
+ 分开;`skill install --all` 会写两份,只用一版时用 `--agent trae` 或 `--agent trae-cn`。
280
+
281
+ ---
282
+
283
+ ## 十、卸载
284
+
285
+ 本包会话在 `~/.vps-work`。若机器上还留有已弃用的 `vertu-cli`,一并执行 `npm uninstall -g vertu-cli` 并删除 `~/.vertu`。
286
+
287
+ ```bash
288
+ npm uninstall -g vps-work
289
+ ```