@thinkingai/ae-cli 6.0.24 → 6.0.27
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-CRPFK3LX.js → te-analysis-2U5EPXQC.js} +207 -69
- package/dist/{te-analysis-JX3V76OI.js → te-analysis-QMZ2UH7F.js} +207 -69
- 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 +4 -2
- package/skills/ae-analysis/references/analysis_gateway_assets.md +21 -6
- package/skills/ae-analysis/references/artifact_download.md +17 -0
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +11 -1
- package/skills/ae-analysis/references/dashboard_copy.md +3 -1
- package/skills/ae-analysis/references/dashboard_daily_report_send.md +4 -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 +11 -1
- package/skills/ae-analysis/references/project_space_create.md +1 -1
- package/skills/ae-analysis/references/run_inspect.md +22 -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-plan/SKILL.md +9 -7
- package/dist/chunk-OCQPQYHZ.js +0 -105
- package/dist/cli-token-OZXHC3U2.js +0 -14
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# agent +share-skill (Share Skill Peer-to-Peer)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Skill Share (peer-to-peer) / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Share a personal Skill to another user in the same company.
|
|
9
|
+
- Endpoint: `POST /api/sandbox/agent/skills/[id]/share`.
|
|
10
|
+
- Sharing is Skill-only — MCP has no share flow.
|
|
11
|
+
- The recipient gets a pending share; accepting creates an independent personal copy for the recipient.
|
|
12
|
+
- Optional `--category` / `--icon-emoji` / `--icon-color` set the market meta proposed for the recipient's copy.
|
|
13
|
+
|
|
14
|
+
## Mandatory Rules (MUST)
|
|
15
|
+
- `--id` is required and must reference a **personal-scope** Skill (CUID). Obtain it via `+list-skills` — do not guess.
|
|
16
|
+
- `--to-user-id` is required — the recipient user ID (must be in the same company).
|
|
17
|
+
- `--category` must be one of the market category keys (see below) when provided.
|
|
18
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
19
|
+
|
|
20
|
+
## Market Category Keys
|
|
21
|
+
`ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`
|
|
22
|
+
|
|
23
|
+
## Command
|
|
24
|
+
```bash
|
|
25
|
+
ae-cli agent +share-skill --id <skill-cuid> --to-user-id <user-id> --yes
|
|
26
|
+
ae-cli agent +share-skill --id <skill-cuid> --to-user-id <user-id> --category dev_tool --icon-emoji robot --yes
|
|
27
|
+
ae-cli agent +share-skill --dry-run --id <skill-cuid> --to-user-id <user-id>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Parameters
|
|
31
|
+
| Parameter | Required | Description |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| `--id` | Yes | Skill record ID (CUID, personal scope) |
|
|
34
|
+
| `--to-user-id` | Yes | Recipient user ID (same company) |
|
|
35
|
+
| `--category` | No | Market category key (see above) |
|
|
36
|
+
| `--icon-emoji` | No | Market icon emoji (e.g. `robot`) |
|
|
37
|
+
| `--icon-color` | No | Market icon color (e.g. `#1E76F0`) |
|
|
38
|
+
|
|
39
|
+
## Decision Rules
|
|
40
|
+
- `--id` here is a Skill ID (not a share ID) — `+accept-skill-share` / `+reject-skill-share` take a share ID instead.
|
|
41
|
+
- Only personal-scope Skills can be shared; the recipient must be in the same company.
|
|
42
|
+
- Do not guess `--to-user-id`; obtain it from the user or contact directory.
|
|
43
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
44
|
+
|
|
45
|
+
## Next Steps on Failure
|
|
46
|
+
- `404` / not found: re-run `+list-skills --scope personal` to verify the Skill ID.
|
|
47
|
+
- Cross-company error: the recipient is not in the same company.
|
|
48
|
+
|
|
49
|
+
## Recommended Chaining
|
|
50
|
+
- `+list-skills` (personal) → `+share-skill` → recipient: `+list-skill-shares --direction received` → `+accept-skill-share` / `+reject-skill-share`
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# agent +submit-skill (Submit Skill for Approval)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Skill Approval (company-scope publish) / write**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Submit a personal Skill for company-scope review.
|
|
9
|
+
- Endpoint: `POST /api/sandbox/agent/skills/[id]/submit`.
|
|
10
|
+
- Submitting writes a `SkillSubmit` row; the original personal Skill is untouched.
|
|
11
|
+
- Approval is Skill-only — MCP has no approval flow.
|
|
12
|
+
- Optional `--category` / `--icon-emoji` / `--icon-color` set the market meta proposed for the company copy.
|
|
13
|
+
|
|
14
|
+
## Mandatory Rules (MUST)
|
|
15
|
+
- `--id` is required and must reference a **personal-scope** Skill (CUID). Obtain it via `+list-skills` — do not guess.
|
|
16
|
+
- `--description` is required (1–80 chars) — the submission reason.
|
|
17
|
+
- `--category` must be one of the market category keys (see below) when provided.
|
|
18
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
19
|
+
- After submission, the Skill enters `pending` status until a root user approves or rejects it.
|
|
20
|
+
|
|
21
|
+
## Market Category Keys
|
|
22
|
+
`ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`
|
|
23
|
+
|
|
24
|
+
## Command
|
|
25
|
+
```bash
|
|
26
|
+
ae-cli agent +submit-skill --id <skill-cuid> --description "Code reviewer for the team" --yes
|
|
27
|
+
ae-cli agent +submit-skill --id <skill-cuid> --description "Data query helper" --category data_query --icon-emoji robot --yes
|
|
28
|
+
ae-cli agent +submit-skill --dry-run --id <skill-cuid> --description "Test submit"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Parameters
|
|
32
|
+
| Parameter | Required | Description |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `--id` | Yes | Skill record ID (CUID, personal scope) |
|
|
35
|
+
| `--description` | Yes | Submission reason / description (1–80 chars) |
|
|
36
|
+
| `--category` | No | Market category key (see above) |
|
|
37
|
+
| `--icon-emoji` | No | Market icon emoji (e.g. `robot`) |
|
|
38
|
+
| `--icon-color` | No | Market icon color (e.g. `#1E76F0`) |
|
|
39
|
+
|
|
40
|
+
## Decision Rules
|
|
41
|
+
- If the user wants to publish a personal Skill to the company, use `+submit-skill`.
|
|
42
|
+
- `--id` here is a Skill ID (not a submission ID) — `+cancel-skill-submission` / `+approve-skill` / `+reject-skill` take a submission ID instead.
|
|
43
|
+
- Only personal-scope Skills can be submitted; company/system Skills are not submittable.
|
|
44
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
45
|
+
|
|
46
|
+
## Next Steps on Failure
|
|
47
|
+
- `--description length must be between 1 and 80`: shorten the description.
|
|
48
|
+
- `404` / not found: re-run `+list-skills --scope personal` to verify the Skill ID.
|
|
49
|
+
|
|
50
|
+
## Recommended Chaining
|
|
51
|
+
- `+list-skills` (personal) → `+submit-skill` → `+list-skill-submissions` (track) → root: `+approve-skill` / `+reject-skill`
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# agent +test-model (Test Model Connectivity)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Models / read**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Test whether a model endpoint is reachable and the credentials are valid (LLM models only).
|
|
9
|
+
- Probe a brand-new config (with `--api-key`) or reuse the stored key of an existing model (`--id`).
|
|
10
|
+
- Run this before `+update-model --connectivity-verified true` to confirm connection changes.
|
|
11
|
+
|
|
12
|
+
## Mandatory Rules (MUST)
|
|
13
|
+
- `--model-id` and `--base-url` are required.
|
|
14
|
+
- `--base-url` must be a valid URL.
|
|
15
|
+
- Only LLM-type models can be tested; other provider types return `400`.
|
|
16
|
+
- Read operation — no confirmation prompt (the test does not modify any state).
|
|
17
|
+
|
|
18
|
+
## Command
|
|
19
|
+
```bash
|
|
20
|
+
# Test a brand-new config with an explicit key
|
|
21
|
+
ae-cli agent +test-model \
|
|
22
|
+
--model-id gpt-4o \
|
|
23
|
+
--base-url "https://api.openai.com/v1" \
|
|
24
|
+
--api-key "sk-xxx" \
|
|
25
|
+
--provider openai
|
|
26
|
+
|
|
27
|
+
# Test an existing model's stored key (--id reuses the decrypted key)
|
|
28
|
+
ae-cli agent +test-model \
|
|
29
|
+
--model-id gpt-4o \
|
|
30
|
+
--base-url "https://api.openai.com/v1" \
|
|
31
|
+
--id <model-cuid>
|
|
32
|
+
|
|
33
|
+
# Dry-run to inspect the request before executing
|
|
34
|
+
ae-cli agent +test-model --dry-run \
|
|
35
|
+
--model-id gpt-4o \
|
|
36
|
+
--base-url "https://api.openai.com/v1"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Parameters
|
|
40
|
+
| Parameter | Required | Description |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `--model-id` | Yes | Model identifier (e.g. `gpt-4o`) |
|
|
43
|
+
| `--base-url` | Yes | API base URL (must be a valid URL) |
|
|
44
|
+
| `--api-key` | No | API key; omit to reuse the stored key of `--id` |
|
|
45
|
+
| `--provider` | No | Provider name |
|
|
46
|
+
| `--id` | No | Existing model config ID; when `--api-key` is omitted, the stored key is decrypted and reused |
|
|
47
|
+
|
|
48
|
+
## Decision Rules
|
|
49
|
+
- When testing a model that already exists (e.g. before `+update-model`), pass `--id <existing-cuid>` and omit `--api-key` to reuse the stored key.
|
|
50
|
+
- When testing a brand-new config, pass `--api-key` (and optionally `--provider`).
|
|
51
|
+
- A successful test returns `{ "ok": true }`; a failure returns `{ "ok": false, "message": "<reason>" }` with a localized message.
|
|
52
|
+
- Use `--dry-run` first to verify the request shape before executing.
|
|
53
|
+
|
|
54
|
+
## Next Steps on Failure
|
|
55
|
+
- `--base-url must be a valid URL`: check the URL formatting.
|
|
56
|
+
- `仅支持 LLM 类型模型测试` (400): the provider maps to a non-LLM type (e.g. embedding) and cannot be tested via this endpoint.
|
|
57
|
+
- `{ "ok": false, "message": "..." }`: the endpoint was unreachable or rejected the credentials. Fix the URL/key/provider and retry.
|
|
58
|
+
- Auth error: run `ae-cli auth login`.
|
|
59
|
+
|
|
60
|
+
## Recommended Chaining
|
|
61
|
+
- `+list-models` → confirm `id` → `+test-model --id <cuid>` (verify) → `+update-model --connectivity-verified true`
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# agent +toggle-mcp (Toggle MCP Server)
|
|
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
|
+
- Enable or disable an MCP server.
|
|
9
|
+
- Toggle operations on company/system resources only affect the current user's preference, not the global state.
|
|
10
|
+
- For company/system MCP servers there is no copy flow — use `+toggle-mcp` to enable a system/company MCP per-user.
|
|
11
|
+
|
|
12
|
+
## Mandatory Rules (MUST)
|
|
13
|
+
- `--id` and `--enabled` are required.
|
|
14
|
+
- Obtain the real MCP server record ID (CUID) via `+list-mcps` — do not guess.
|
|
15
|
+
- Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
|
|
16
|
+
|
|
17
|
+
## Command
|
|
18
|
+
```bash
|
|
19
|
+
ae-cli agent +toggle-mcp --id <mcp-cuid> --enabled true --yes
|
|
20
|
+
ae-cli agent +toggle-mcp --id <mcp-cuid> --enabled false --yes
|
|
21
|
+
ae-cli agent +toggle-mcp --dry-run --id <mcp-cuid> --enabled false
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Parameters
|
|
25
|
+
| Parameter | Required | Description |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| `--id` | Yes | MCP server record ID (CUID) |
|
|
28
|
+
| `--enabled` | Yes | `true` to enable, `false` to disable |
|
|
29
|
+
|
|
30
|
+
## Decision Rules
|
|
31
|
+
- If the user wants to turn an MCP server on/off, use `--enabled true` / `--enabled false`.
|
|
32
|
+
- Toggling a company/system server only changes the current user's preference.
|
|
33
|
+
- MCP has no copy flow (unlike Skills); to use a system/company MCP, toggle it on per-user.
|
|
34
|
+
|
|
35
|
+
## Next Steps on Failure
|
|
36
|
+
- `404` / not found: re-run `+list-mcps` to verify the server ID.
|
|
37
|
+
|
|
38
|
+
## Recommended Chaining
|
|
39
|
+
- `+list-mcps` → confirm `id` → `+toggle-mcp`
|
|
@@ -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)
|