@thinkingai/ae-cli 6.0.24 → 6.0.28
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.
- package/dist/{auth-A2XXG5K4.js → auth-7TQRGLBC.js} +10 -8
- package/dist/{auth-IDPKDFSY.js → auth-MEJ642P4.js} +2 -2
- package/dist/chunk-2NDGFQHW.js +190 -0
- package/dist/{chunk-NGJDCOYA.js → chunk-7QQ4233A.js} +3 -3
- package/dist/{chunk-PFJFZVCK.js → chunk-AJTH7LT3.js} +3 -2
- package/dist/{chunk-V5R5UIRM.js → chunk-BXMXMUD7.js} +65 -6
- package/dist/{chunk-AKORWVHJ.js → chunk-C4DH76LX.js} +1 -1
- package/dist/{chunk-NXJP4CES.js → chunk-GWZ5MYWE.js} +3 -3
- package/dist/{chunk-F3ZDMC2W.js → chunk-KCA6BA5D.js} +2 -2
- package/dist/{chunk-WXBCP6SD.js → chunk-KGJQCYVC.js} +1 -1
- package/dist/{chunk-FIT4CFIN.js → chunk-LG5YT7P7.js} +1 -1
- package/dist/{chunk-IDXW6MEJ.js → chunk-MDJGDI6K.js} +2 -2
- package/dist/{chunk-4FQ36OGO.js → chunk-R77JT7XD.js} +53 -6
- package/dist/{chunk-65DKFJZB.js → chunk-YCLVYFK7.js} +49 -6
- package/dist/{chunk-2OW2RENH.js → chunk-YNQFYBDB.js} +64 -6
- package/dist/{chunk-ONOA6DYB.js → chunk-ZAOL36CG.js} +1 -1
- package/dist/cli-token-TVQRSE46.js +18 -0
- package/dist/{client-7L735LVY.js → client-2643Z5AG.js} +3 -3
- package/dist/{config-SXD2JKSL.js → config-ZVPARN4R.js} +4 -9
- package/dist/index.js +24 -24
- package/dist/{metadata-QWUAX625.js → metadata-IPSPQBX3.js} +5 -5
- package/dist/{metadata-XWTEGEN2.js → metadata-N5REJ7R7.js} +5 -5
- package/dist/{model-3OVX42DA.js → model-T3KZJWLW.js} +2 -2
- package/dist/{raw-IANB4AV5.js → raw-OHSUK42D.js} +4 -4
- package/dist/{sync-4HQ3CXSK.js → sync-ULT5SECP.js} +3 -3
- package/dist/{te-agent-OYNNTJDU.js → te-agent-QLIVKRUN.js} +1146 -61
- package/dist/{te-analysis-JX3V76OI.js → te-analysis-5WZKVFHI.js} +1332 -338
- package/dist/{te-analysis-CRPFK3LX.js → te-analysis-KAEZXLNS.js} +1332 -338
- package/dist/{te-audience-RO2IZOUC.js → te-audience-PVMKQAFH.js} +5 -5
- package/dist/{te-audience-77FGNG5E.js → te-audience-XMRMVD2V.js} +5 -5
- package/dist/{te-common-4TRJPRC5.js → te-common-CFGQXTFV.js} +5 -5
- package/dist/{te-common-PUXBUPOL.js → te-common-SDB3O2QG.js} +5 -5
- package/dist/{te-community-XKE526DS.js → te-community-6A7LKYUH.js} +5 -5
- package/dist/{te-community-NPDZQKMY.js → te-community-GMWFGILT.js} +5 -5
- package/dist/{te-dataops-PW74WP76.js → te-dataops-6LIPYNGH.js} +90 -68
- package/dist/{te-dataops-6KWLFNV4.js → te-dataops-Z53CTG2U.js} +90 -68
- package/dist/{te-engage-HTLMUN7G.js → te-engage-AGREUOW7.js} +30 -15
- package/dist/{te-engage-YPQIVF5H.js → te-engage-MIIUKY6M.js} +30 -15
- package/dist/{te-kb-DOGDQIU4.js → te-kb-KQJ53M3A.js} +4 -4
- package/dist/{te-meta-5ESSQ5B3.js → te-meta-QLANJ4B4.js} +5 -5
- package/dist/{te-meta-Z47X4VT3.js → te-meta-TOA6FWDE.js} +5 -5
- package/dist/{te-team-SOVKZIDD.js → te-team-TQGMNHQQ.js} +5 -5
- package/package.json +3 -1
- package/skills/ae-agent/SKILL.md +158 -189
- package/skills/ae-agent/references/accept-skill-share.md +39 -0
- package/skills/ae-agent/references/add-attachment.md +57 -0
- package/skills/ae-agent/references/add-mcp.md +75 -0
- package/skills/ae-agent/references/add-model.md +70 -0
- package/skills/ae-agent/references/add-skill.md +71 -0
- package/skills/ae-agent/references/approve-skill.md +41 -0
- package/skills/ae-agent/references/attachment-stats.md +50 -0
- package/skills/ae-agent/references/auto-provision-mcp-credentials.md +57 -0
- package/skills/ae-agent/references/cancel-skill-submission.md +39 -0
- package/skills/ae-agent/references/copy-skill.md +53 -0
- package/skills/ae-agent/references/create-agent.md +71 -0
- package/skills/ae-agent/references/create-automation.md +99 -0
- package/skills/ae-agent/references/del-agent.md +38 -0
- package/skills/ae-agent/references/del-attachment.md +35 -0
- package/skills/ae-agent/references/del-mcp.md +35 -0
- package/skills/ae-agent/references/del-model.md +37 -0
- package/skills/ae-agent/references/del-skill-asset.md +41 -0
- package/skills/ae-agent/references/del-skill-reference.md +41 -0
- package/skills/ae-agent/references/del-skill-script.md +41 -0
- package/skills/ae-agent/references/del-skill.md +36 -0
- package/skills/ae-agent/references/edit-skill.md +64 -0
- package/skills/ae-agent/references/get-agent.md +37 -0
- package/skills/ae-agent/references/get-skill-content.md +36 -0
- package/skills/ae-agent/references/list-agents.md +40 -0
- package/skills/ae-agent/references/list-attachments.md +42 -0
- package/skills/ae-agent/references/list-automations.md +41 -0
- package/skills/ae-agent/references/list-mcp-credentials.md +65 -0
- package/skills/ae-agent/references/list-mcp-market.md +58 -0
- package/skills/ae-agent/references/list-mcps.md +37 -0
- package/skills/ae-agent/references/list-models.md +38 -0
- package/skills/ae-agent/references/list-skill-assets.md +35 -0
- package/skills/ae-agent/references/list-skill-market.md +59 -0
- package/skills/ae-agent/references/list-skill-references.md +36 -0
- package/skills/ae-agent/references/list-skill-scripts.md +35 -0
- package/skills/ae-agent/references/list-skill-shares.md +49 -0
- package/skills/ae-agent/references/list-skill-submissions.md +45 -0
- package/skills/ae-agent/references/list-skills.md +37 -0
- package/skills/ae-agent/references/mcp-auth-disconnect.md +50 -0
- package/skills/ae-agent/references/mcp-auth-start.md +61 -0
- package/skills/ae-agent/references/mcp-auth-status.md +56 -0
- package/skills/ae-agent/references/mcp-stats.md +68 -0
- package/skills/ae-agent/references/mcp-token.md +63 -0
- package/skills/ae-agent/references/mcp-tools.md +55 -0
- package/skills/ae-agent/references/read-skill-asset.md +51 -0
- package/skills/ae-agent/references/read-skill-reference.md +50 -0
- package/skills/ae-agent/references/read-skill-script.md +51 -0
- package/skills/ae-agent/references/reject-skill-share.md +37 -0
- package/skills/ae-agent/references/reject-skill.md +42 -0
- package/skills/ae-agent/references/rescan-skills.md +44 -0
- package/skills/ae-agent/references/set-mcp-credential.md +67 -0
- package/skills/ae-agent/references/set-mcp-meta.md +52 -0
- package/skills/ae-agent/references/set-skill-meta.md +51 -0
- package/skills/ae-agent/references/share-skill.md +50 -0
- package/skills/ae-agent/references/submit-skill.md +51 -0
- package/skills/ae-agent/references/test-model.md +61 -0
- package/skills/ae-agent/references/toggle-mcp.md +39 -0
- package/skills/ae-agent/references/toggle-model.md +37 -0
- package/skills/ae-agent/references/toggle-skill.md +37 -0
- package/skills/ae-agent/references/update-agent.md +71 -0
- package/skills/ae-agent/references/update-automation.md +83 -0
- package/skills/ae-agent/references/update-mcp.md +79 -0
- package/skills/ae-agent/references/update-model.md +77 -0
- package/skills/ae-agent/references/upload-skill-asset.md +49 -0
- package/skills/ae-agent/references/upload-skill-reference.md +51 -0
- package/skills/ae-agent/references/upload-skill-script.md +49 -0
- package/skills/ae-agent/references/upload-skill.md +89 -0
- package/skills/ae-analysis/SKILL.md +60 -6
- package/skills/ae-analysis/references/analysis_gateway_assets.md +27 -10
- package/skills/ae-analysis/references/artifact_download.md +17 -0
- package/skills/ae-analysis/references/asset_abnormal_get.md +27 -0
- package/skills/ae-analysis/references/asset_abnormal_list.md +24 -0
- package/skills/ae-analysis/references/asset_authentication_list.md +23 -0
- package/skills/ae-analysis/references/asset_authentication_update.md +24 -0
- package/skills/ae-analysis/references/asset_recent_list.md +24 -0
- package/skills/ae-analysis/references/asset_search.md +24 -0
- package/skills/ae-analysis/references/bi_panel_get.md +5 -0
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +11 -1
- package/skills/ae-analysis/references/bi_panel_share.md +6 -0
- package/skills/ae-analysis/references/bi_panel_update.md +4 -1
- package/skills/ae-analysis/references/bi_panel_version_get.md +23 -0
- package/skills/ae-analysis/references/bi_panel_version_publish.md +20 -0
- package/skills/ae-analysis/references/dashboard_copy.md +3 -1
- package/skills/ae-analysis/references/dashboard_daily_report_send.md +9 -2
- package/skills/ae-analysis/references/dashboard_daily_report_update.md +3 -1
- package/skills/ae-analysis/references/dashboard_definition_export.md +21 -3
- package/skills/ae-analysis/references/dashboard_report_data_export.md +17 -1
- package/skills/ae-analysis/references/dashboard_report_data_run.md +6 -0
- package/skills/ae-analysis/references/datatable_columns_get.md +24 -0
- package/skills/ae-analysis/references/datatable_influence_list.md +24 -0
- package/skills/ae-analysis/references/datatable_version_get.md +24 -0
- package/skills/ae-analysis/references/datatable_version_list.md +24 -0
- package/skills/ae-analysis/references/event_changelog_list.md +24 -0
- package/skills/ae-analysis/references/event_create.md +24 -0
- package/skills/ae-analysis/references/event_delete.md +24 -0
- package/skills/ae-analysis/references/event_get.md +24 -0
- package/skills/ae-analysis/references/event_hide_update.md +25 -0
- package/skills/ae-analysis/references/event_influence_list.md +24 -0
- package/skills/ae-analysis/references/event_list.md +23 -0
- package/skills/ae-analysis/references/event_relation_update.md +24 -0
- package/skills/ae-analysis/references/event_update.md +26 -0
- package/skills/ae-analysis/references/exchange_config_update.md +24 -0
- package/skills/ae-analysis/references/exchange_rate_refresh.md +23 -0
- package/skills/ae-analysis/references/exchange_rule_list.md +23 -0
- package/skills/ae-analysis/references/exchange_rule_update.md +24 -0
- package/skills/ae-analysis/references/exchange_rule_validate.md +24 -0
- package/skills/ae-analysis/references/metric_create.md +24 -0
- package/skills/ae-analysis/references/metric_delete.md +24 -0
- package/skills/ae-analysis/references/metric_get.md +24 -0
- package/skills/ae-analysis/references/metric_list.md +24 -0
- package/skills/ae-analysis/references/metric_update.md +24 -0
- package/skills/ae-analysis/references/project_space_create.md +1 -1
- package/skills/ae-analysis/references/property_changelog_list.md +25 -0
- package/skills/ae-analysis/references/property_create.md +25 -0
- package/skills/ae-analysis/references/property_delete.md +25 -0
- package/skills/ae-analysis/references/property_get.md +25 -0
- package/skills/ae-analysis/references/property_hide_update.md +26 -0
- package/skills/ae-analysis/references/property_influence_list.md +25 -0
- package/skills/ae-analysis/references/property_list.md +24 -0
- package/skills/ae-analysis/references/property_related_events.md +24 -0
- package/skills/ae-analysis/references/property_relation_update.md +25 -0
- package/skills/ae-analysis/references/property_update.md +27 -0
- package/skills/ae-analysis/references/run_inspect.md +22 -0
- package/skills/ae-analysis/references/super_metadata_export.md +36 -0
- package/skills/ae-analysis/references/super_metadata_import.md +24 -0
- package/skills/ae-analysis/references/virtual_event_create.md +25 -0
- package/skills/ae-analysis/references/virtual_event_delete.md +24 -0
- package/skills/ae-analysis/references/virtual_event_get.md +24 -0
- package/skills/ae-analysis/references/virtual_property_create.md +24 -0
- package/skills/ae-analysis/references/virtual_property_sql_rule_delete.md +25 -0
- package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +24 -0
- package/skills/ae-dataops/references/dataops-flow-create.md +2 -2
- package/skills/ae-dataops/references/dataops-flow-monitor.md +3 -3
- package/skills/ae-dataops/references/dataops-integration.md +1 -0
- package/skills/ae-engage/references/flow-node-config-schema.md +32 -8
- package/skills/ae-engage/references/save-flow.md +65 -29
- package/skills/ae-engage/references/validate-flow-node-config.md +28 -10
- package/skills/ae-generate-tracking-code/SKILL.md +16 -1
- package/skills/ae-generate-tracking-code/references/snippet-delivery.md +17 -1
- package/skills/ae-generate-tracking-plan/SKILL.md +36 -12
- package/dist/chunk-OCQPQYHZ.js +0 -105
- package/dist/cli-token-OZXHC3U2.js +0 -14
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# agent +toggle-model (Toggle Model)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Models / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Enable or disable a model.
|
|
9
|
+
- Toggle operations on company/system resources only affect the current user's preference, not the global state.
|
|
10
|
+
|
|
11
|
+
## Mandatory Rules (MUST)
|
|
12
|
+
- `--id` and `--enabled` are required.
|
|
13
|
+
- Obtain the real model record ID (CUID) via `+list-models` — do not guess.
|
|
14
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
15
|
+
|
|
16
|
+
## Command
|
|
17
|
+
```bash
|
|
18
|
+
ae-cli agent +toggle-model --id <model-cuid> --enabled true --yes
|
|
19
|
+
ae-cli agent +toggle-model --id <model-cuid> --enabled false --yes
|
|
20
|
+
ae-cli agent +toggle-model --dry-run --id <model-cuid> --enabled false
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
| Parameter | Required | Description |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| `--id` | Yes | Model record ID (CUID) |
|
|
27
|
+
| `--enabled` | Yes | `true` to enable, `false` to disable |
|
|
28
|
+
|
|
29
|
+
## Decision Rules
|
|
30
|
+
- If the user wants to turn a model on/off, use `--enabled true` / `--enabled false`.
|
|
31
|
+
- Toggling a company/system model only changes the current user's preference.
|
|
32
|
+
|
|
33
|
+
## Next Steps on Failure
|
|
34
|
+
- `404` / not found: re-run `+list-models` to verify the model ID.
|
|
35
|
+
|
|
36
|
+
## Recommended Chaining
|
|
37
|
+
- `+list-models` → confirm `id` → `+toggle-model`
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# agent +toggle-skill (Toggle Skill)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Skills / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Enable or disable a Skill.
|
|
9
|
+
- Toggle operations on company/system resources only affect the current user's preference, not the global state.
|
|
10
|
+
|
|
11
|
+
## Mandatory Rules (MUST)
|
|
12
|
+
- `--id` and `--enabled` are required.
|
|
13
|
+
- Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
|
|
14
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
15
|
+
|
|
16
|
+
## Command
|
|
17
|
+
```bash
|
|
18
|
+
ae-cli agent +toggle-skill --id <skill-cuid> --enabled true --yes
|
|
19
|
+
ae-cli agent +toggle-skill --id <skill-cuid> --enabled false --yes
|
|
20
|
+
ae-cli agent +toggle-skill --dry-run --id <skill-cuid> --enabled false
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
| Parameter | Required | Description |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| `--id` | Yes | Skill record ID (CUID) |
|
|
27
|
+
| `--enabled` | Yes | `true` to enable, `false` to disable |
|
|
28
|
+
|
|
29
|
+
## Decision Rules
|
|
30
|
+
- If the user wants to turn a Skill on/off, use `--enabled true` / `--enabled false`.
|
|
31
|
+
- Toggling a company/system Skill only changes the current user's preference.
|
|
32
|
+
|
|
33
|
+
## Next Steps on Failure
|
|
34
|
+
- `404` / not found: re-run `+list-skills` to verify the Skill ID.
|
|
35
|
+
|
|
36
|
+
## Recommended Chaining
|
|
37
|
+
- `+list-skills` → confirm `id` → `+toggle-skill`
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# agent +update-agent (Update Agent)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Agents / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing Agent's name, description, system prompt, model, MCP servers, Skills, or enabled state.
|
|
9
|
+
- Only the fields you pass are changed; omitted fields keep their current values.
|
|
10
|
+
- `--enabled` on a system/company Agent writes the current user's personal preference (does not change the global state).
|
|
11
|
+
|
|
12
|
+
## Mandatory Rules (MUST)
|
|
13
|
+
- `--id` is required. Obtain the real Agent record ID (CUID) via `+list-agents` — do not guess.
|
|
14
|
+
- Only `personal` Agents can be fully edited by their owner; `company` Agents require root.
|
|
15
|
+
- `--instructions` supports `@-` to read from stdin.
|
|
16
|
+
- `--mcp-ids` / `--skill-ids` must be JSON array strings when provided; they replace the full list.
|
|
17
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
18
|
+
- PATCH does NOT support `--auto-rename`; a name conflict returns `409`.
|
|
19
|
+
|
|
20
|
+
## Command
|
|
21
|
+
```bash
|
|
22
|
+
# Rename
|
|
23
|
+
ae-cli agent +update-agent --id <agent-cuid> --name "new-name" --yes
|
|
24
|
+
|
|
25
|
+
# Replace instructions from stdin
|
|
26
|
+
echo "You are now a code reviewer..." | \
|
|
27
|
+
ae-cli agent +update-agent --id <agent-cuid> --instructions @-
|
|
28
|
+
|
|
29
|
+
# Swap model and MCP list
|
|
30
|
+
ae-cli agent +update-agent \
|
|
31
|
+
--id <agent-cuid> \
|
|
32
|
+
--model-id "cm1newuuid" \
|
|
33
|
+
--mcp-ids '["mcp-cuid-new"]'
|
|
34
|
+
|
|
35
|
+
# Enable a system/company Agent (writes personal preference)
|
|
36
|
+
ae-cli agent +update-agent --id <agent-cuid> --enabled true
|
|
37
|
+
|
|
38
|
+
# Disable
|
|
39
|
+
ae-cli agent +update-agent --id <agent-cuid> --enabled false
|
|
40
|
+
|
|
41
|
+
# Dry-run to inspect the request before executing
|
|
42
|
+
ae-cli agent +update-agent --dry-run --id <agent-cuid> --name "new-name"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Parameters
|
|
46
|
+
| Parameter | Required | Description |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| `--id` | Yes | Agent record ID (CUID) |
|
|
49
|
+
| `--name` | No | New Agent name (1–100 chars) |
|
|
50
|
+
| `--description` | No | New description (max 2000 chars) |
|
|
51
|
+
| `--instructions` | No | New system prompt (use `@-` to read from stdin) |
|
|
52
|
+
| `--model-id` | No | New model identifier (uuid or legacy modelId); omit to keep |
|
|
53
|
+
| `--mcp-ids` | No | MCP server record IDs as JSON array string (replaces the list; `[]` clears) |
|
|
54
|
+
| `--skill-ids` | No | Skill record IDs as JSON array string (replaces the list; `[]` clears) |
|
|
55
|
+
| `--enabled` | No | `true` to enable, `false` to disable (system/company: personal preference) |
|
|
56
|
+
|
|
57
|
+
## Decision Rules
|
|
58
|
+
- Confirm the Agent ID with `+list-agents` (or `+get-agent`) before updating.
|
|
59
|
+
- `--enabled` is optional; omit it to leave the enabled state unchanged. Pass `--enabled true` / `--enabled false` explicitly to toggle.
|
|
60
|
+
- `--mcp-ids` / `--skill-ids` replace the entire list on update — pass the full new set, not just additions.
|
|
61
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
62
|
+
- To rename safely without `409`, check for name conflicts first or use `+create-agent --auto-rename` (PATCH has no auto-rename).
|
|
63
|
+
|
|
64
|
+
## Next Steps on Failure
|
|
65
|
+
- `404` / `Agent 不存在`: re-run `+list-agents` to verify the Agent ID.
|
|
66
|
+
- `403` / `无权编辑该 Agent`: the Agent is not yours and you are not root.
|
|
67
|
+
- `409` / `NAME_EXISTS`: pick a different `--name` (PATCH cannot auto-rename).
|
|
68
|
+
- `模型不存在或已删除`: verify the model ID with `+list-models`.
|
|
69
|
+
|
|
70
|
+
## Recommended Chaining
|
|
71
|
+
- `+list-agents` → confirm `id` → `+update-agent` → `+get-agent` (verify)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# agent +update-automation (Update Automation)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Automations / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing Agent automation task's name, instruction, schedule, or enabled state.
|
|
9
|
+
- Used to pause (`--enabled false`) or resume (`--enabled true`) an automation, or to change its schedule/message.
|
|
10
|
+
- Obtain the automation `id` via `+list-automations` — never guess.
|
|
11
|
+
|
|
12
|
+
## Mandatory Rules (MUST)
|
|
13
|
+
- `--id` is required. Obtain the real ID via `+list-automations` — do not guess.
|
|
14
|
+
- At least one update field must be provided (`--name`, `--message`, `--enabled`, `--cron`, or a `--schedule-kind` with its time/day fields).
|
|
15
|
+
- `--cron` and `--schedule-kind` are mutually exclusive.
|
|
16
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
17
|
+
- Do not surface raw automation IDs, raw JSON, or concrete detail paths in user-facing replies.
|
|
18
|
+
|
|
19
|
+
## Schedule Kinds (when updating schedule)
|
|
20
|
+
| `--schedule-kind` | Required fields | Notes |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `hourly` | `--minute` (optional, 0–59) | Runs every hour at the given minute |
|
|
23
|
+
| `daily` | `--time HH:mm` | Runs once a day at the given time |
|
|
24
|
+
| `weekly` | `--time HH:mm`, `--weekday 0-6` | `0` = Sunday |
|
|
25
|
+
| `monthly` | `--time HH:mm`, `--day-of-month 1-28` | Day 1–28 only |
|
|
26
|
+
|
|
27
|
+
## Command
|
|
28
|
+
```bash
|
|
29
|
+
# Pause an automation
|
|
30
|
+
ae-cli agent +update-automation --id <automation-id> --enabled false --yes
|
|
31
|
+
|
|
32
|
+
# Resume an automation
|
|
33
|
+
ae-cli agent +update-automation --id <automation-id> --enabled true --yes
|
|
34
|
+
|
|
35
|
+
# Rename and change the instruction
|
|
36
|
+
ae-cli agent +update-automation \
|
|
37
|
+
--id <automation-id> \
|
|
38
|
+
--name "Daily AI Brief v2" \
|
|
39
|
+
--message "Summarize yesterday's AI news and trends" \
|
|
40
|
+
--yes
|
|
41
|
+
|
|
42
|
+
# Change the schedule to weekly on Sunday
|
|
43
|
+
ae-cli agent +update-automation \
|
|
44
|
+
--id <automation-id> \
|
|
45
|
+
--schedule-kind weekly \
|
|
46
|
+
--time 10:00 \
|
|
47
|
+
--weekday 0 \
|
|
48
|
+
--yes
|
|
49
|
+
|
|
50
|
+
# Switch to a cron expression
|
|
51
|
+
ae-cli agent +update-automation --id <automation-id> --cron "0 9 * * 1-5" --yes
|
|
52
|
+
|
|
53
|
+
# Dry-run to inspect the request before executing
|
|
54
|
+
ae-cli agent +update-automation --dry-run --id <automation-id> --enabled false
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Parameters
|
|
58
|
+
| Parameter | Required | Description |
|
|
59
|
+
|---|---|---|
|
|
60
|
+
| `--id` | Yes | Automation task ID from `+list-automations` |
|
|
61
|
+
| `--name` | No | New automation task name |
|
|
62
|
+
| `--message` | No | New instruction sent to the Agent |
|
|
63
|
+
| `--enabled` | No | `true` to enable, `false` to pause |
|
|
64
|
+
| `--cron` | No | Cron expression (mutually exclusive with `--schedule-kind`) |
|
|
65
|
+
| `--schedule-kind` | No | `hourly` \| `daily` \| `weekly` \| `monthly` |
|
|
66
|
+
| `--time` | No | Time in `HH:mm` for daily/weekly/monthly |
|
|
67
|
+
| `--minute` | No | Minute 0–59 for hourly schedules |
|
|
68
|
+
| `--weekday` | No | Weekday 0–6 for weekly schedules; `0` is Sunday |
|
|
69
|
+
| `--day-of-month` | No | Day 1–28 for monthly schedules |
|
|
70
|
+
|
|
71
|
+
## Decision Rules
|
|
72
|
+
- If the user wants to pause/resume, use `--enabled false` / `--enabled true` (no other fields needed).
|
|
73
|
+
- If the user wants to change the schedule, provide `--schedule-kind` with its required time/day fields, or `--cron`.
|
|
74
|
+
- At least one update field is required; a bare `--id` is rejected.
|
|
75
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
76
|
+
|
|
77
|
+
## Next Steps on Failure
|
|
78
|
+
- `至少提供一个更新字段`: add at least one of `--name` / `--message` / `--enabled` / `--cron` / `--schedule-kind`.
|
|
79
|
+
- `必须提供 --cron 或 --schedule-kind`: if schedule detail flags (`--time` / `--minute` / `--weekday` / `--day-of-month`) are present, a `--schedule-kind` (or `--cron`) must accompany them.
|
|
80
|
+
- `--time 格式必须是 HH:mm`: use 24-hour `HH:mm` (e.g. `09:00`).
|
|
81
|
+
|
|
82
|
+
## Recommended Chaining
|
|
83
|
+
- `+list-automations` → `+update-automation`
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# agent +update-mcp (Update MCP Server Config)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **MCP Servers / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing MCP server's configuration (name, URL, transport, headers, auth mode, etc.).
|
|
9
|
+
- Endpoint: `PATCH /api/sandbox/agent/mcp-servers/[id]`.
|
|
10
|
+
- Personal scope: requires ownership. Company scope: requires root. System scope: read-only.
|
|
11
|
+
- Includes connectivity validation and OAuth reauth cascade when relevant.
|
|
12
|
+
- Use `--auto-rename` to auto-rename on name conflict instead of returning a 409.
|
|
13
|
+
|
|
14
|
+
## Mandatory Rules (MUST)
|
|
15
|
+
- `--id` is required. Obtain the real MCP server record ID (CUID) via `+list-mcps` — do not guess.
|
|
16
|
+
- At least one update field must be provided (aside from `--id`).
|
|
17
|
+
- `--name` (when provided) must start with a letter and contain only letters, digits, `_`, or `-` (2–64 chars).
|
|
18
|
+
- `--url` (when provided) must be a valid `http://` or `https://` URL (file://, ftp://, and other protocols are blocked).
|
|
19
|
+
- `--transport` (when provided) must be `sse`, `http`, or `streamable-http` (stdio is disabled by policy on the sandbox endpoint).
|
|
20
|
+
- `--auth-mode` (when provided) must be `none`, `oauth2`, `header`, or `manual`.
|
|
21
|
+
- `--enabled` accepts `true` or `false`; **omit it to leave the enabled state unchanged**. To simply toggle, prefer `+toggle-mcp`.
|
|
22
|
+
- `--headers` / `--secret-headers` must be valid JSON objects when provided. `--secret-headers` values are encrypted server-side.
|
|
23
|
+
- The server runs a connectivity check on update; an unreachable URL fails with `connectivity_failed`.
|
|
24
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
25
|
+
|
|
26
|
+
## Command
|
|
27
|
+
```bash
|
|
28
|
+
# Rename + update URL
|
|
29
|
+
ae-cli agent +update-mcp --id <mcp-cuid> --name my-mcp-renamed --url "https://mcp.example.com/mcp" --yes
|
|
30
|
+
|
|
31
|
+
# Update transport + headers
|
|
32
|
+
ae-cli agent +update-mcp --id <mcp-cuid> --transport streamable-http --headers '{"Authorization":"Bearer token"}'
|
|
33
|
+
|
|
34
|
+
# Enable with auto-rename on conflict
|
|
35
|
+
ae-cli agent +update-mcp --id <mcp-cuid> --enabled true --auto-rename --yes
|
|
36
|
+
|
|
37
|
+
# Disable (explicit)
|
|
38
|
+
ae-cli agent +update-mcp --id <mcp-cuid> --enabled false --yes
|
|
39
|
+
|
|
40
|
+
# Dry-run to inspect the request before executing
|
|
41
|
+
ae-cli agent +update-mcp --dry-run --id <mcp-cuid> --name new-name
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Parameters
|
|
45
|
+
| Parameter | Required | Description |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| `--id` | Yes | MCP server record ID (CUID) |
|
|
48
|
+
| `--name` | No* | Server name (2–64 chars, letter start, `[a-zA-Z0-9_-]`) |
|
|
49
|
+
| `--url` | No* | MCP server URL (`http://` or `https://` only) |
|
|
50
|
+
| `--display-name` | No* | Display name (max 100) |
|
|
51
|
+
| `--description` | No* | Description (max 255) |
|
|
52
|
+
| `--transport` | No* | `sse` \| `http` \| `streamable-http` |
|
|
53
|
+
| `--headers` | No* | HTTP headers as JSON object |
|
|
54
|
+
| `--secret-headers` | No* | Secret headers as JSON object (encrypted server-side) |
|
|
55
|
+
| `--auth-mode` | No* | `none` \| `oauth2` \| `header` \| `manual` |
|
|
56
|
+
| `--enabled` | No* | `true` \| `false` (omit to leave unchanged) |
|
|
57
|
+
| `--auto-rename` | No* | Auto-rename on name conflict (default `false`) |
|
|
58
|
+
|
|
59
|
+
\* At least one of these must be provided.
|
|
60
|
+
|
|
61
|
+
## Decision Rules
|
|
62
|
+
- If the user wants to change any MCP config field, use this command.
|
|
63
|
+
- To only enable/disable an MCP (no other changes), prefer `+toggle-mcp` — it is simpler and has no connectivity check.
|
|
64
|
+
- `--enabled` is a string (`true`/`false`), not a boolean flag, so that omitting it leaves the state unchanged.
|
|
65
|
+
- If the server returns `NAME_EXISTS` (409), re-run with `--auto-rename` or pick a different `--name`.
|
|
66
|
+
- After updating URL/transport/headers, the server re-validates connectivity; if it fails, the old config is preserved.
|
|
67
|
+
- Updating OAuth-related fields (URL, auth mode, secret headers) may trigger a reauth cascade — affected credentials are expired and `reauthRequired` / `reauthCredentialCount` are returned in the response.
|
|
68
|
+
|
|
69
|
+
## Next Steps on Failure
|
|
70
|
+
- `404` / not found: re-run `+list-mcps` to verify the server ID and scope.
|
|
71
|
+
- `403` company_admin_only: the current user is not root (company-scope update).
|
|
72
|
+
- `403` system_mcp_readonly: system-scope MCPs cannot be updated.
|
|
73
|
+
- `409` NAME_EXISTS: re-run with `--auto-rename` or a different `--name`.
|
|
74
|
+
- `400` connectivity_failed: verify the URL is reachable and transport is correct.
|
|
75
|
+
- `400` needs_auth: refresh credentials first (`+mcp-auth-start`), then re-enable.
|
|
76
|
+
|
|
77
|
+
## Recommended Chaining
|
|
78
|
+
- `+list-mcps` → confirm `id` → `+update-mcp`
|
|
79
|
+
- `+update-mcp` → (if reauth required) → `+mcp-auth-start` → `+mcp-auth-status`
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# agent +update-model (Update Custom Model)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Models / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing custom model (the `--id` determines which record to update).
|
|
9
|
+
- All connection/display fields can be changed; `--api-key` may be omitted to preserve the stored key.
|
|
10
|
+
- Encouraged to verify connectivity with `+test-model` first, then pass `--connectivity-verified true`.
|
|
11
|
+
- `--scope` controls target scope: `personal` (default) or `company`. Company scope requires root/agent_admin.
|
|
12
|
+
|
|
13
|
+
## Mandatory Rules (MUST)
|
|
14
|
+
- `--id`, `--model-id`, `--name`, and `--base-url` are required.
|
|
15
|
+
- `--base-url` must be a valid URL.
|
|
16
|
+
- `--api-key` is optional; omit or leave empty to preserve the existing key (do NOT pass an empty string to clear — the stored key is kept).
|
|
17
|
+
- `--scope` controls target scope: `personal` (default) or `company`. Company scope requires root/agent_admin; system models are read-only.
|
|
18
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
19
|
+
|
|
20
|
+
## Command
|
|
21
|
+
```bash
|
|
22
|
+
# Update display name and provider
|
|
23
|
+
ae-cli agent +update-model \
|
|
24
|
+
--id <model-cuid> \
|
|
25
|
+
--model-id gpt-4o \
|
|
26
|
+
--name "GPT-4o (prod)" \
|
|
27
|
+
--base-url "https://api.openai.com/v1" \
|
|
28
|
+
--provider openai \
|
|
29
|
+
--yes
|
|
30
|
+
|
|
31
|
+
# Rotate the API key
|
|
32
|
+
ae-cli agent +update-model \
|
|
33
|
+
--id <model-cuid> \
|
|
34
|
+
--model-id gpt-4o \
|
|
35
|
+
--name "GPT-4o" \
|
|
36
|
+
--base-url "https://api.openai.com/v1" \
|
|
37
|
+
--api-key "sk-newkey" \
|
|
38
|
+
--connectivity-verified true
|
|
39
|
+
|
|
40
|
+
# Dry-run to inspect the request before executing
|
|
41
|
+
ae-cli agent +update-model --dry-run \
|
|
42
|
+
--id <model-cuid> \
|
|
43
|
+
--model-id gpt-4o \
|
|
44
|
+
--name "GPT-4o" \
|
|
45
|
+
--base-url "https://api.openai.com/v1"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Parameters
|
|
49
|
+
| Parameter | Required | Description |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `--id` | Yes | Model record ID (CUID) to update |
|
|
52
|
+
| `--model-id` | Yes | Model identifier (e.g. `gpt-4o`) |
|
|
53
|
+
| `--name` | Yes | Display name |
|
|
54
|
+
| `--base-url` | Yes | API base URL (must be a valid URL) |
|
|
55
|
+
| `--api-key` | No | API key; omit or empty to preserve the existing key |
|
|
56
|
+
| `--provider` | No | Provider name |
|
|
57
|
+
| `--description` | No | Description |
|
|
58
|
+
| `--context-length` | No | Context window length (positive integer) |
|
|
59
|
+
| `--connectivity-verified` | No | Whether connectivity was verified (default `false`; pass `true` after `+test-model`) |
|
|
60
|
+
| `--auto-rename` | No | Auto-rename on display name conflict (append `-N` suffix) |
|
|
61
|
+
| `--scope` | No | Target scope: `personal` (default) or `company` (requires root/agent_admin) |
|
|
62
|
+
|
|
63
|
+
## Decision Rules
|
|
64
|
+
- Confirm the model ID with `+list-models` before updating.
|
|
65
|
+
- To rotate the API key, pass `--api-key <new>`; to keep the stored key, simply omit `--api-key`.
|
|
66
|
+
- `--connectivity-verified` defaults to `false`. After a successful `+test-model`, pass `--connectivity-verified true` to confirm the new connection config.
|
|
67
|
+
- On display name conflict, the server returns `409`; pass `--auto-rename` to auto-resolve.
|
|
68
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
69
|
+
|
|
70
|
+
## Next Steps on Failure
|
|
71
|
+
- `模型不存在` (404): re-run `+list-models` to verify the model ID and scope.
|
|
72
|
+
- `模型名称已存在` (409): re-run with `--auto-rename`, or pick a different `--name`.
|
|
73
|
+
- `--base-url must be a valid URL`: check the URL formatting.
|
|
74
|
+
- `仅支持 LLM 类型模型测试` (from `+test-model`): the provider maps to a non-LLM type and cannot be tested.
|
|
75
|
+
|
|
76
|
+
## Recommended Chaining
|
|
77
|
+
- `+list-models` → confirm `id` → `+test-model` (verify connectivity) → `+update-model --connectivity-verified true` → `+list-models` (verify)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# agent +upload-skill-asset (Upload Skill Asset)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Skills / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Upload a single file to a Skill's `assets` directory (multipart upload).
|
|
9
|
+
- Endpoint: `POST /api/sandbox/agent/skills/[id]/assets` (multipart/form-data).
|
|
10
|
+
- Max file size: 1MB per file.
|
|
11
|
+
- Dangerous file types are rejected server-side.
|
|
12
|
+
|
|
13
|
+
## Mandatory Rules (MUST)
|
|
14
|
+
- `--id` is required. Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
|
|
15
|
+
- `--file` is required and must point to an existing local file.
|
|
16
|
+
- Max 1MB per file; server enforces `isDangerousFile` checks.
|
|
17
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
18
|
+
|
|
19
|
+
## Command
|
|
20
|
+
```bash
|
|
21
|
+
# Upload a single asset
|
|
22
|
+
ae-cli agent +upload-skill-asset --id <skill-cuid> --file ./icon.png --yes
|
|
23
|
+
|
|
24
|
+
# Upload to a sub-directory
|
|
25
|
+
ae-cli agent +upload-skill-asset --id <skill-cuid> --file ./data.csv --sub-path "sub/" --yes
|
|
26
|
+
|
|
27
|
+
# Dry-run to inspect the request before executing
|
|
28
|
+
ae-cli agent +upload-skill-asset --dry-run --id <skill-cuid> --file ./icon.png
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Parameters
|
|
32
|
+
| Parameter | Required | Description |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `--id` | Yes | Skill record ID (CUID) |
|
|
35
|
+
| `--file` | Yes | Local file path to upload (max 1MB) |
|
|
36
|
+
| `--sub-path` | No | Sub-directory under assets (e.g. `"sub/"`) |
|
|
37
|
+
|
|
38
|
+
## Decision Rules
|
|
39
|
+
- Verify the file exists locally before uploading.
|
|
40
|
+
- Use `--sub-path` to organize assets into sub-directories.
|
|
41
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
42
|
+
|
|
43
|
+
## Next Steps on Failure
|
|
44
|
+
- `File not found`: verify the local file path.
|
|
45
|
+
- `文件过大(上限 1MB)`: the file exceeds the 1MB limit — compress or split it.
|
|
46
|
+
- `禁止上传危险文件类型`: the file type is blocked by server-side security checks.
|
|
47
|
+
|
|
48
|
+
## Recommended Chaining
|
|
49
|
+
- `+list-skills` → `+list-skill-assets` → `+upload-skill-asset` → `+list-skill-assets` (verify)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# agent +upload-skill-reference (Upload Skill Reference)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Skills / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Upload a single `.md` file to a Skill's `references` directory (multipart upload).
|
|
9
|
+
- Endpoint: `POST /api/sandbox/agent/skills/[id]/references` (multipart/form-data).
|
|
10
|
+
- Max file size: 1MB per file.
|
|
11
|
+
- **Only `.md` files are allowed** — other extensions are rejected.
|
|
12
|
+
|
|
13
|
+
## Mandatory Rules (MUST)
|
|
14
|
+
- `--id` is required. Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
|
|
15
|
+
- `--file` is required, must be an existing local `.md` file.
|
|
16
|
+
- Non-`.md` files are rejected — use `+upload-skill-asset` for other file types.
|
|
17
|
+
- Max 1MB per file; server enforces `isDangerousFile` checks.
|
|
18
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
19
|
+
|
|
20
|
+
## Command
|
|
21
|
+
```bash
|
|
22
|
+
# Upload a single reference
|
|
23
|
+
ae-cli agent +upload-skill-reference --id <skill-cuid> --file ./guide.md --yes
|
|
24
|
+
|
|
25
|
+
# Upload to a sub-directory
|
|
26
|
+
ae-cli agent +upload-skill-reference --id <skill-cuid> --file ./advanced.md --sub-path "advanced/" --yes
|
|
27
|
+
|
|
28
|
+
# Dry-run to inspect the request before executing
|
|
29
|
+
ae-cli agent +upload-skill-reference --dry-run --id <skill-cuid> --file ./guide.md
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Parameters
|
|
33
|
+
| Parameter | Required | Description |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `--id` | Yes | Skill record ID (CUID) |
|
|
36
|
+
| `--file` | Yes | Local `.md` file path to upload (max 1MB) |
|
|
37
|
+
| `--sub-path` | No | Sub-directory under references (e.g. `"advanced/"`) |
|
|
38
|
+
|
|
39
|
+
## Decision Rules
|
|
40
|
+
- Verify the file exists locally and has a `.md` extension before uploading.
|
|
41
|
+
- For non-markdown files, use `+upload-skill-asset` instead.
|
|
42
|
+
- Use `--sub-path` to organize references into sub-directories.
|
|
43
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
44
|
+
|
|
45
|
+
## Next Steps on Failure
|
|
46
|
+
- `File not found`: verify the local file path.
|
|
47
|
+
- `--file must be a .md file for references`: use `+upload-skill-asset` for non-markdown files.
|
|
48
|
+
- `文件过大(上限 1MB)`: the file exceeds the 1MB limit — split the markdown.
|
|
49
|
+
|
|
50
|
+
## Recommended Chaining
|
|
51
|
+
- `+list-skills` → `+list-skill-references` → `+upload-skill-reference` → `+list-skill-references` (verify)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# agent +upload-skill-script (Upload Skill Script)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Skills / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Upload a single file to a Skill's `scripts` directory (multipart upload).
|
|
9
|
+
- Endpoint: `POST /api/sandbox/agent/skills/[id]/scripts` (multipart/form-data).
|
|
10
|
+
- Max file size: 1MB per file.
|
|
11
|
+
- Dangerous file types are rejected server-side.
|
|
12
|
+
|
|
13
|
+
## Mandatory Rules (MUST)
|
|
14
|
+
- `--id` is required. Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
|
|
15
|
+
- `--file` is required and must point to an existing local file.
|
|
16
|
+
- Max 1MB per file; server enforces `isDangerousFile` checks.
|
|
17
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
18
|
+
|
|
19
|
+
## Command
|
|
20
|
+
```bash
|
|
21
|
+
# Upload a single script
|
|
22
|
+
ae-cli agent +upload-skill-script --id <skill-cuid> --file ./helper.sh --yes
|
|
23
|
+
|
|
24
|
+
# Upload to a sub-directory
|
|
25
|
+
ae-cli agent +upload-skill-script --id <skill-cuid> --file ./run.py --sub-path "tools/" --yes
|
|
26
|
+
|
|
27
|
+
# Dry-run to inspect the request before executing
|
|
28
|
+
ae-cli agent +upload-skill-script --dry-run --id <skill-cuid> --file ./helper.sh
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Parameters
|
|
32
|
+
| Parameter | Required | Description |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `--id` | Yes | Skill record ID (CUID) |
|
|
35
|
+
| `--file` | Yes | Local file path to upload (max 1MB) |
|
|
36
|
+
| `--sub-path` | No | Sub-directory under scripts (e.g. `"tools/"`) |
|
|
37
|
+
|
|
38
|
+
## Decision Rules
|
|
39
|
+
- Verify the file exists locally before uploading.
|
|
40
|
+
- Use `--sub-path` to organize scripts into sub-directories.
|
|
41
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
42
|
+
|
|
43
|
+
## Next Steps on Failure
|
|
44
|
+
- `File not found`: verify the local file path.
|
|
45
|
+
- `文件过大(上限 1MB)`: the file exceeds the 1MB limit — compress or split it.
|
|
46
|
+
- `禁止上传危险文件类型`: the file type is blocked by server-side security checks.
|
|
47
|
+
|
|
48
|
+
## Recommended Chaining
|
|
49
|
+
- `+list-skills` → `+list-skill-scripts` → `+upload-skill-script` → `+list-skill-scripts` (verify)
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# agent +upload-skill (Upload ZIP Skill)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Skills / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Upload a ZIP-format Skill package. The server parses SKILL.md from the ZIP, extracts files to the target directory, and writes the DB record.
|
|
9
|
+
- Endpoint: `POST /api/sandbox/agent/skills/upload` (multipart/form-data, 120s timeout).
|
|
10
|
+
- Supports form-field overrides for name, displayName, description, instructions, icon, category.
|
|
11
|
+
- `--scope` controls target scope: `personal` (default) or `company`.
|
|
12
|
+
- `--replace-skill-id` replaces an existing Skill instead of creating a new one.
|
|
13
|
+
- `--auto-rename` auto-renames on name conflict.
|
|
14
|
+
|
|
15
|
+
## Mandatory Rules (MUST)
|
|
16
|
+
- `--file` is required and must be a `.zip` file that exists on disk.
|
|
17
|
+
- The ZIP must contain a `SKILL.md` file (with name and content at minimum).
|
|
18
|
+
- `--scope` must be `personal` or `company` (default `personal`).
|
|
19
|
+
- `--category` must be one of the market category keys when provided.
|
|
20
|
+
- `--instructions` supports `@-` to read from stdin.
|
|
21
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
22
|
+
|
|
23
|
+
## Market Category Keys
|
|
24
|
+
`ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`
|
|
25
|
+
|
|
26
|
+
## Command
|
|
27
|
+
```bash
|
|
28
|
+
# Upload a personal Skill from ZIP
|
|
29
|
+
ae-cli agent +upload-skill --file ./my-skill.zip --yes
|
|
30
|
+
|
|
31
|
+
# Upload with overrides
|
|
32
|
+
ae-cli agent +upload-skill \
|
|
33
|
+
--file ./my-skill.zip \
|
|
34
|
+
--scope personal \
|
|
35
|
+
--name custom-name \
|
|
36
|
+
--display-name "Custom Skill" \
|
|
37
|
+
--description "Override description" \
|
|
38
|
+
--category dev_tool \
|
|
39
|
+
--icon-emoji robot \
|
|
40
|
+
--yes
|
|
41
|
+
|
|
42
|
+
# Instructions from stdin
|
|
43
|
+
echo "You are a helpful assistant..." | \
|
|
44
|
+
ae-cli agent +upload-skill --file ./my-skill.zip --instructions @- --yes
|
|
45
|
+
|
|
46
|
+
# Replace an existing Skill
|
|
47
|
+
ae-cli agent +upload-skill --file ./updated.zip --replace-skill-id <skill-cuid> --yes
|
|
48
|
+
|
|
49
|
+
# Auto-rename on conflict
|
|
50
|
+
ae-cli agent +upload-skill --file ./my-skill.zip --auto-rename --yes
|
|
51
|
+
|
|
52
|
+
# Dry-run to inspect the request before executing
|
|
53
|
+
ae-cli agent +upload-skill --dry-run --file ./my-skill.zip
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Parameters
|
|
57
|
+
| Parameter | Required | Description |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `--file` | Yes | Local `.zip` file path |
|
|
60
|
+
| `--scope` | No | Target scope: `personal` (default) or `company` |
|
|
61
|
+
| `--auto-rename` | No | Auto-rename on name conflict |
|
|
62
|
+
| `--replace-skill-id` | No | Replace an existing Skill (CUID) instead of creating new |
|
|
63
|
+
| `--category` | No | Market category key (see above) |
|
|
64
|
+
| `--name` | No | Override Skill name (from ZIP SKILL.md if omitted) |
|
|
65
|
+
| `--display-name` | No | Override display name |
|
|
66
|
+
| `--description` | No | Override description |
|
|
67
|
+
| `--instructions` | No | Override instructions (use `@-` to read from stdin) |
|
|
68
|
+
| `--icon-emoji` | No | Market icon emoji (e.g. `robot`) |
|
|
69
|
+
| `--icon-color` | No | Market icon color (e.g. `#1E76F0`) |
|
|
70
|
+
|
|
71
|
+
## Decision Rules
|
|
72
|
+
- The ZIP must contain a `SKILL.md` with at least `name` and content — otherwise the upload fails with `missing_skill_md` or `missing_name_or_content`.
|
|
73
|
+
- Form-field overrides take precedence over ZIP SKILL.md content.
|
|
74
|
+
- Use `--replace-skill-id` to update an existing Skill's full content from a ZIP (different from `+edit-skill` which edits individual fields).
|
|
75
|
+
- Use `--auto-rename` when the Skill name might conflict with an existing one.
|
|
76
|
+
- `company` scope requires root privileges.
|
|
77
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
78
|
+
|
|
79
|
+
## Next Steps on Failure
|
|
80
|
+
- `File not found`: verify the local file path.
|
|
81
|
+
- `--file must be a .zip file`: only ZIP format is supported.
|
|
82
|
+
- `ZIP 中缺少 SKILL.md`: ensure the ZIP contains a `SKILL.md` file.
|
|
83
|
+
- `缺少名称或内容`: the SKILL.md is missing the `name` field or content — fix the ZIP.
|
|
84
|
+
- `缺少描述`: the SKILL.md is missing the description — fix the ZIP or use `--description`.
|
|
85
|
+
- `数据库写入失败`: DB write failed — retry or check server logs.
|
|
86
|
+
- `409` / name conflict: use `--auto-rename` or choose a different `--name`.
|
|
87
|
+
|
|
88
|
+
## Recommended Chaining
|
|
89
|
+
- `+upload-skill` → `+list-skills` (verify) → `+get-skill-content` (inspect) → `+edit-skill` (fine-tune) → `+submit-skill` (publish)
|