seereelcli 0.1.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.
- package/README.md +64 -0
- package/bin/reelyai.js +1334 -0
- package/package.json +21 -0
- package/skills/reelyai-cli/SKILL.md +206 -0
package/package.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "seereelcli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Local agent CLI for creating and driving SeeReel web workflows.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"seereelcli": "bin/reelyai.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"bin",
|
|
12
|
+
"skills",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=18.17"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"smoke": "node bin/reelyai.js --help"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reelyai-cli
|
|
3
|
+
description: Use the local SeeReel CLI to create, inspect, edit, render, review, repair, and stitch web-visible SeeReel video workflows from natural language. Trigger when the user asks an AI agent to use SeeReel, seereel.studio, the SeeReel CLI, generate a web workflow, operate a shot/node prompt, generate a tailframe, run VLM review, repair prompts, publish storyboards to TOS, or produce a complete video through the site.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SeeReel CLI
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants an AI agent to operate SeeReel through the local CLI instead of manually clicking the web UI.
|
|
9
|
+
|
|
10
|
+
SeeReel has two surfaces:
|
|
11
|
+
|
|
12
|
+
- Web app: human review and takeover surface.
|
|
13
|
+
- CLI/API: agent operation surface. Everything important must remain visible in the web app.
|
|
14
|
+
|
|
15
|
+
## Human Credential Boundary
|
|
16
|
+
|
|
17
|
+
Do not invent, request from hidden memory, scrape, or expose API keys.
|
|
18
|
+
|
|
19
|
+
For real generation, the human must:
|
|
20
|
+
|
|
21
|
+
1. Open/pay for Volcengine Agent Plan.
|
|
22
|
+
2. Create an Agent Plan API key in Ark.
|
|
23
|
+
3. Paste it into the SeeReel web top-bar Agent Plan control for browser/manual work.
|
|
24
|
+
4. For CLI automation, either run:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
seereelcli configure --base-url https://seereel.studio --agent-plan-token "<human-pastes-key-here>"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
or set `SEEREEL_AGENT_PLAN_TOKEN` / `ARK_AGENT_PLAN_KEY` in the AI runtime environment.
|
|
31
|
+
|
|
32
|
+
Browser credentials and CLI credentials are cookie-scoped separately. Treat that isolation as intentional. A raw `webUrl` belongs to the CLI cookie scope; return `handoffUrl` when a human needs to open and continue editing the AI-created workflow in a normal browser.
|
|
33
|
+
|
|
34
|
+
## Install
|
|
35
|
+
|
|
36
|
+
If the npm package is published:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install -g seereelcli
|
|
40
|
+
seereelcli skill install --agent all
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The npm package bundles this skill. `seereelcli skill install --agent all` copies it into local Codex, Claude, Cursor, and generic `.agents` skill folders. `seereelcli skill print` prints the bundled `SKILL.md` when an agent needs to read or mirror it manually.
|
|
44
|
+
|
|
45
|
+
Current repo-local install:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone https://github.com/feifeibear/seereel-agent.git
|
|
49
|
+
cd seereel-agent
|
|
50
|
+
npm install
|
|
51
|
+
npm install -g ./packages/reelyai-cli
|
|
52
|
+
seereelcli --help
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
From repo root without global install:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm run cli -- --help
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Configure
|
|
62
|
+
|
|
63
|
+
Default base URL is `https://seereel.studio`.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
seereelcli configure --base-url https://seereel.studio
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
If the deployment requires a shared access token:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
seereelcli configure --access-token "$SEEREEL_ACCESS_TOKEN"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
For local development:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
seereelcli configure --base-url http://localhost:5173
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Review-First Default Flow
|
|
82
|
+
|
|
83
|
+
Default: create a visible workflow, then stop for human review.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
seereelcli workflow "一个失眠导演在午夜便利店遇见未来的自己" \
|
|
87
|
+
--duration 60 \
|
|
88
|
+
--style "neo-noir, rain reflections, grounded sci-fi" \
|
|
89
|
+
--json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Return the one-time `handoffUrl` to the user, not the raw `webUrl`. It should look like:
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
https://seereel.studio/api/handoff/xxxxxxxx
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Tell the human the handoff link transfers the session from the CLI cookie identity to their current browser identity, then they can edit script, shot prompts, assets, duration, references, and generation choices in the web UI. After a handoff is claimed, keep using the browser/web UI as source of truth unless the human asks you to continue from a CLI-owned session.
|
|
99
|
+
|
|
100
|
+
## Full Video Flow
|
|
101
|
+
|
|
102
|
+
Only continue after the human confirms Agent Plan is configured and the workflow is acceptable.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
seereelcli status --session latest --deep --json
|
|
106
|
+
seereelcli render --session latest --stitch --progress --json
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
If the human explicitly asks for full automation:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
seereelcli workflow "用户的视频创意" --duration 60 --render --stitch --jsonl
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Report the final `downloadUrl`. If a shot fails, report the shot id and failure; do not silently skip it.
|
|
116
|
+
Use `--stitch-partial` only when the human accepts a shorter cut made from ready shots:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
seereelcli render --session latest --stitch --stitch-partial --progress --json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
For policy failures or stuck renders, use the recovery loop before asking the human to intervene:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
seereelcli status --session latest --deep --json
|
|
126
|
+
seereelcli node poll --id shot_xxxxxxxx --json
|
|
127
|
+
seereelcli node update-prompt --id shot_xxxxxxxx --prompt "safer Seedance prompt" --duration 8 --json
|
|
128
|
+
seereelcli render --session latest --repair-policy safe-retry --max-attempts 2 --stitch-partial --progress --json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
`--jsonl` emits agent-readable progress events such as `session_created`, `shot_submitted`, `task_id`, `poll_status`, `retrying`, and `stitch_ready`.
|
|
132
|
+
|
|
133
|
+
Download the final video through the CLI instead of writing a private fetch script:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
seereelcli download --session latest --output ./final.mp4
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Node Operations
|
|
140
|
+
|
|
141
|
+
Inspect one node:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
seereelcli node get --id shot_xxxxxxxx --json
|
|
145
|
+
seereelcli node get --id asset_xxxxxxxx --json
|
|
146
|
+
seereelcli node get --id ses_xxxxxxxx --json
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Update a video node prompt:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
seereelcli node update-prompt --id shot_xxxxxxxx \
|
|
153
|
+
--prompt "新的 Seedance 视频 prompt,保留角色服装和场景连续性" \
|
|
154
|
+
--title "03 重新追上自己" \
|
|
155
|
+
--duration 15 \
|
|
156
|
+
--json
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Generate or poll one video node:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
seereelcli node generate --id shot_xxxxxxxx --wait --json
|
|
163
|
+
seereelcli node poll --id shot_xxxxxxxx --json
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Generate a rendered shot tailframe:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
seereelcli node tailframe --id shot_xxxxxxxx --publish-tos --canvas-node --json
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Use `--publish-tos` when the tailframe will be used as a Seedance reference. Seedance cannot fetch local `/media/...` URLs.
|
|
173
|
+
|
|
174
|
+
Open VLM review and repair:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
seereelcli node review --id shot_xxxxxxxx --frame-count 8 --json
|
|
178
|
+
seereelcli node repair --id shot_xxxxxxxx --json
|
|
179
|
+
seereelcli final-review --session latest --json
|
|
180
|
+
seereelcli final-review --session latest --repair --json
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Operate asset nodes:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
seereelcli node update-prompt --id asset_xxxxxxxx --prompt "角色参考图 prompt" --json
|
|
187
|
+
seereelcli node generate --id asset_xxxxxxxx --model seedream-5-lite --json
|
|
188
|
+
seereelcli node review --id asset_xxxxxxxx --json
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Publish storyboard references to TOS:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
seereelcli publish-storyboards --session latest --json
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Rules
|
|
198
|
+
|
|
199
|
+
- Prefer CLI/API over browser automation.
|
|
200
|
+
- Always use `--json` when you need to parse results.
|
|
201
|
+
- Use `--jsonl` or `--progress` for long render/stitch runs so the agent can observe progress without polling `/api/state` in another shell.
|
|
202
|
+
- Refresh status before continuing after a human web edit.
|
|
203
|
+
- Browser credentials and CLI credentials are cookie-scoped separately. Raw `webUrl` may not be visible in a bare browser; use `seereelcli handoff --session latest --json` and return the one-time `handoffUrl` for human takeover.
|
|
204
|
+
- Do not call paid generation before Agent Plan is configured and the human has approved continuing.
|
|
205
|
+
- Keep local scratch media out of the final story; SeeReel web state is the source of truth.
|
|
206
|
+
- For Seedance references, only remote `http(s)` URLs are valid. Publish local references to TOS first.
|