flower-trellis 0.4.0-beta.4 → 0.4.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 (25) hide show
  1. package/enhancements/0.6/.agents/skills/trellis-push/SKILL.md +17 -8
  2. package/enhancements/0.6/.agents/skills/trellis-route/SKILL.md +8 -3
  3. package/enhancements/0.6/.claude/skills/trellis-push/SKILL.md +17 -8
  4. package/enhancements/0.6/.claude/skills/trellis-route/SKILL.md +8 -3
  5. package/enhancements/0.6/overrides/skills/trellis-finish-work.md +14 -0
  6. package/enhancements/0.6/overrides/workflow-states/in_progress-inline.md +2 -2
  7. package/enhancements/0.6/overrides/workflow-states/in_progress.md +2 -2
  8. package/enhancements/0.6/overrides/workflow-states/no_task.md +2 -2
  9. package/enhancements/0.6/overrides/workflow-states/planning-inline.md +1 -1
  10. package/enhancements/0.6/overrides/workflow-states/planning.md +1 -1
  11. package/enhancements/0.6/overrides/workflow.md +18 -10
  12. package/enhancements/0.6/scripts/push_snapshot.py +387 -0
  13. package/enhancements/0.6/scripts/spec_router.py +244 -33
  14. package/enhancements/MANIFEST.json +3 -4
  15. package/package.json +1 -1
  16. package/src/lib/copy-scripts.js +2 -0
  17. package/src/lib/skill-catalog.js +0 -1
  18. package/enhancements/common/.common/.claude/skills/sub2api-account-json-fix/SKILL.md +0 -47
  19. package/enhancements/common/.common/.claude/skills/sub2api-account-json-fix/env/push.env.example +0 -8
  20. package/enhancements/common/.common/.claude/skills/sub2api-account-json-fix/scripts/run.sh +0 -27
  21. package/enhancements/common/.common/.codex/skills/sub2api-account-json-fix/SKILL.md +0 -126
  22. package/enhancements/common/.common/.codex/skills/sub2api-account-json-fix/agents/openai.yaml +0 -4
  23. package/enhancements/common/.common/.codex/skills/sub2api-account-json-fix/env/push.env.example +0 -8
  24. package/enhancements/common/.common/.codex/skills/sub2api-account-json-fix/scripts/fix_exported_account_json.py +0 -890
  25. package/enhancements/common/.common/.codex/skills/sub2api-account-json-fix/scripts/run.sh +0 -26
@@ -1,126 +0,0 @@
1
- ---
2
- name: sub2api-account-json-fix
3
- description: 按模板批量补全 sub2api 账号导出 JSON,修复 `accounts[].name` 与 `credentials.email` 不一致、缺失 `credentials.model_mapping`、缺失 `extra.allow_overages` 等问题,并把这些账号直接推送到 sub2api admin 创建接口。用于处理 `sub2api-account-*.json` 这类导出文件,尤其适合“先规范化 JSON,再批量推送到 sub2api 指定分组”的场景。
4
- ---
5
-
6
- # Sub2API 账号 JSON 补全
7
-
8
- ## 概览
9
-
10
- 先确认模板 JSON,再用脚本批量修复目标文件。默认修复三件事:
11
-
12
- - 把每个账号的 `credentials.model_mapping` 同步成模板账号的值
13
- - 确保每个账号都包含 `extra.allow_overages`
14
- - 把 `name` 改成该账号 `credentials.email`
15
-
16
- 脚本只改这些字段,不会删除其他 `credentials`、`extra`、代理、并发、优先级或 token 字段。
17
-
18
- ## 工作流
19
-
20
- 1. 读取模板文件,默认使用模板中的第一个账号。
21
- 2. 确认模板账号里已经有正确的 `credentials.model_mapping` 和 `extra.allow_overages`。
22
- 3. 先用预览模式检查哪些文件会被修改。
23
- 4. 确认预览结果后,再用 `--write` 真正写回文件。
24
- 5. 如果要直推到 sub2api,先检查技能目录里的 `env/push.env`;没有再看系统环境变量;还没有才向用户询问直推地址、token 和目标分组 IDs。
25
- 6. 如果 `env/push.env` 里还是示例值
26
- `SUB2API_ACCOUNT_JSON_FIX_PUSH_ADMIN_BASE_URL=http://127.0.0.1:8080/api/v1/admin`
27
- 和 `SUB2API_ACCOUNT_JSON_FIX_PUSH_TOKEN=admin-xxxx`,把它视为“未配置”,不要直接直推,先向用户索要真实值。
28
- 7. 创建账号后,默认立刻关闭调度;如果账号带有 `refresh_token`,默认立刻调用一次 refresh。
29
-
30
- ## 快速命令
31
-
32
- 先预览:
33
-
34
- ```bash
35
- python sub2api-account-json-fix/scripts/fix_exported_account_json.py \
36
- --template sub2api-account-20260316021320.json
37
- ```
38
-
39
- 真正写回:
40
-
41
- ```bash
42
- python sub2api-account-json-fix/scripts/fix_exported_account_json.py \
43
- --template sub2api-account-20260316021320.json \
44
- --write
45
- ```
46
-
47
- 只检查是否还有待修复项,并用退出码表示结果:
48
-
49
- ```bash
50
- python sub2api-account-json-fix/scripts/fix_exported_account_json.py \
51
- --template sub2api-account-20260316021320.json \
52
- --check
53
- ```
54
-
55
- 把规范化后的账号直接推送到 `sub2api`:
56
-
57
- ```bash
58
- python sub2api-account-json-fix/scripts/fix_exported_account_json.py \
59
- --template sub2api-account-20260316021320.json \
60
- --push \
61
- --push-admin-base-url http://127.0.0.1:8080/api/v1/admin \
62
- --push-token 'admin-xxxx' \
63
- --push-group-id 3 \
64
- --push-group-id 7
65
- ```
66
-
67
- 也可以预先设置环境变量,调用时不再重复传参:
68
-
69
- ```bash
70
- export SUB2API_ACCOUNT_JSON_FIX_PUSH_ADMIN_BASE_URL='http://127.0.0.1:8080/api/v1/admin'
71
- export SUB2API_ACCOUNT_JSON_FIX_PUSH_TOKEN='admin-xxxx'
72
- export SUB2API_ACCOUNT_JSON_FIX_PUSH_SCHEDULABLE='false'
73
- export SUB2API_ACCOUNT_JSON_FIX_PUSH_REFRESH_AFTER_CREATE='true'
74
- python sub2api-account-json-fix/scripts/fix_exported_account_json.py \
75
- --template sub2api-account-20260316021320.json \
76
- --push
77
- ```
78
-
79
- 更推荐把配置放在技能目录里:
80
-
81
- ```bash
82
- cat > sub2api-account-json-fix/env/push.env <<'EOF'
83
- SUB2API_ACCOUNT_JSON_FIX_PUSH_ADMIN_BASE_URL=http://127.0.0.1:8080/api/v1/admin
84
- SUB2API_ACCOUNT_JSON_FIX_PUSH_TOKEN=admin-xxxx
85
- SUB2API_ACCOUNT_JSON_FIX_PUSH_GROUP_IDS=3,7
86
- SUB2API_ACCOUNT_JSON_FIX_PUSH_SCHEDULABLE=false
87
- SUB2API_ACCOUNT_JSON_FIX_PUSH_REFRESH_AFTER_CREATE=true
88
- EOF
89
- ```
90
-
91
- 指定部分文件:
92
-
93
- ```bash
94
- python sub2api-account-json-fix/scripts/fix_exported_account_json.py \
95
- --template sub2api-account-20260316021320.json \
96
- sub2api-account-20260316015827.json \
97
- sub2api-account-20260316020213.json \
98
- --write
99
- ```
100
-
101
- ## 规则
102
-
103
- - 把模板账号 `credentials.model_mapping` 原样复制到目标账号。
104
- - 只补齐 `extra.allow_overages`,不要覆盖目标账号 `extra` 里的其他键。
105
- - 只有当 `credentials.email` 是非空字符串时,才把 `name` 改成邮箱。
106
- - 默认处理当前工作目录里匹配 `sub2api-account-*.json` 的文件,并自动跳过模板自身。
107
- - 脚本支持一个文件里有多个 `accounts`,会逐个账号处理。
108
-
109
- ## 直推 sub2api
110
-
111
- - 直推固定走 `POST /api/v1/admin/proxies` 和 `POST /api/v1/admin/accounts`。
112
- - 脚本会先确保 JSON 里的代理存在,再按账号逐个创建到 sub2api。
113
- - 如果配置了 `group_ids`,会在创建账号时直接带上 `group_ids`。
114
- - 创建账号后默认会再调用一次 `POST /api/v1/admin/accounts/:id/schedulable`,把调度显式设为关闭。
115
- - 如果账号带有 `refresh_token`,创建账号后默认会再调用一次 `POST /api/v1/admin/accounts/:id/refresh`。
116
- - 直推参数优先级是:命令行参数 > 技能目录 `env/push.env` > 系统环境变量。
117
- - 技能目录配置文件路径固定是 `sub2api-account-json-fix/env/push.env`。
118
- - 支持的键有 `SUB2API_ACCOUNT_JSON_FIX_PUSH_ADMIN_BASE_URL`、`SUB2API_ACCOUNT_JSON_FIX_PUSH_TOKEN`、`SUB2API_ACCOUNT_JSON_FIX_PUSH_GROUP_IDS`、`SUB2API_ACCOUNT_JSON_FIX_PUSH_SCHEDULABLE`、`SUB2API_ACCOUNT_JSON_FIX_PUSH_REFRESH_AFTER_CREATE`。
119
- - 如果 `push.env` 仍然保留示例值 `admin-xxxx`,脚本会拒绝直推,并要求先替换为真实配置。
120
- - 如果要直推但命令行、技能目录配置和系统环境变量都没给地址或 token,调用这个技能的代理应先询问用户,再决定是否执行 `--push`。
121
- - `group_ids` 为空时,是否触发 sub2api 默认分组绑定,取决于 sub2api 当前创建接口的行为。
122
-
123
- ## 资源
124
-
125
- - `scripts/fix_exported_account_json.py`:批量补全 JSON 的主脚本。
126
- - `env/push.env`:可选的技能目录本地配置文件;不存在时不会报错。
@@ -1,4 +0,0 @@
1
- interface:
2
- display_name: "Sub2API 账号 JSON 补全"
3
- short_description: "按模板批量补全 sub2api 账号导出 JSON 字段"
4
- default_prompt: "使用 $sub2api-account-json-fix 按模板批量补全当前目录里的 sub2api 账号导出 JSON。"
@@ -1,8 +0,0 @@
1
- # 把本文件复制为同目录下的 push.env 后再填写真实值。
2
- # 如果仍保留 admin-xxxx 这样的示例值,脚本会把它视为未配置并拒绝直推。
3
-
4
- SUB2API_ACCOUNT_JSON_FIX_PUSH_ADMIN_BASE_URL=http://127.0.0.1:8080/api/v1/admin
5
- SUB2API_ACCOUNT_JSON_FIX_PUSH_TOKEN=admin-xxxx
6
- SUB2API_ACCOUNT_JSON_FIX_PUSH_GROUP_IDS=3,7
7
- SUB2API_ACCOUNT_JSON_FIX_PUSH_SCHEDULABLE=false
8
- SUB2API_ACCOUNT_JSON_FIX_PUSH_REFRESH_AFTER_CREATE=true