Commit remaining skill and queue updates
This commit is contained in:
1 parent
a0f0734f2d
commit
8a88e00c19
8 files changed
+48
-6
No files matched your search
@@ -18,3 +18,5 @@ data/
|
||||
src/web/node_modules/
|
||||
src/web/dist/
|
||||
src/web/*.tsbuildinfo
|
||||
|
||||
skills/videoroll/local.env
|
||||
@@ -1,4 +0,0 @@
|
||||
interface:
|
||||
display_name: "OpenClaw VideoRoll"
|
||||
short_description: "Collect YouTube URLs and push them to VideoRoll"
|
||||
default_prompt: "Use $openclaw-videoroll to collect YouTube watch URLs on an external machine and submit them to VideoRoll through the remote API."
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
name: openclaw-videoroll
|
||||
name: videoroll
|
||||
description: Collect YouTube video URLs on an external machine and submit them to VideoRoll through the remote auto-ingest API. Use when OpenClaw needs to find canonical YouTube watch links, deduplicate them, and push each URL to VideoRoll with the configured token so the project starts auto mode immediately.
|
||||
---
|
||||
|
||||
@@ -11,6 +11,39 @@ Use this skill only for one job: get valid YouTube video links and send them to
|
||||
|
||||
## Required config
|
||||
|
||||
- Before using this skill, check whether `skills/videoroll/local.env` exists.
|
||||
- If it exists, load it first and use the values from that file.
|
||||
- If it does not exist yet, copy `skills/videoroll/local.env.example` to `skills/videoroll/local.env`, then fill the real values.
|
||||
- Fill these values in `local.env`:
|
||||
|
||||
```bash
|
||||
VIDEOROLL_REMOTE_URL="<<填写你的 VideoRoll 远程接口地址>>"
|
||||
VIDEOROLL_REMOTE_TOKEN="<<填写 Settings · API 里配置的 token>>"
|
||||
VIDEOROLL_SOURCE_LICENSE="authorized"
|
||||
VIDEOROLL_PROOF_URL=""
|
||||
```
|
||||
|
||||
- What you need to fill:
|
||||
- `VIDEOROLL_REMOTE_URL`
|
||||
Fill your real remote API endpoint, for example:
|
||||
`https://your-host/api/remote/auto/youtube`
|
||||
- `VIDEOROLL_REMOTE_TOKEN`
|
||||
Fill the token you configured in VideoRoll `Settings · API`
|
||||
- `VIDEOROLL_SOURCE_LICENSE`
|
||||
Usually keep `authorized`
|
||||
- `VIDEOROLL_PROOF_URL`
|
||||
Optional. Fill only if you want every pushed task to carry the same proof link
|
||||
|
||||
- Local setup:
|
||||
|
||||
```bash
|
||||
cp ~/.codex/skills/videoroll/local.env.example ~/.codex/skills/videoroll/local.env
|
||||
vi ~/.codex/skills/videoroll/local.env
|
||||
set -a
|
||||
source ~/.codex/skills/videoroll/local.env
|
||||
set +a
|
||||
```
|
||||
|
||||
- `VIDEOROLL_REMOTE_URL`
|
||||
Full remote endpoint URL. Usually:
|
||||
`https://your-host/api/remote/auto/youtube`
|
||||
@@ -68,6 +101,7 @@ Success response shape:
|
||||
- If the API returns `deduped=true`, report it instead of retrying.
|
||||
- If token/auth fails, stop and surface the exact error.
|
||||
- Do not attempt to bypass paywalls, private videos, or platform restrictions.
|
||||
- Never commit the real `local.env` file or real token back into git.
|
||||
|
||||
## Output format
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
interface:
|
||||
display_name: "VideoRoll"
|
||||
short_description: "Collect YouTube URLs and push them to VideoRoll"
|
||||
default_prompt: "Use $videoroll to collect YouTube watch URLs on an external machine and submit them to VideoRoll through the remote API."
|
||||
@@ -0,0 +1,5 @@
|
||||
# Copy this file to skills/videoroll/local.env and fill your real values.
|
||||
VIDEOROLL_REMOTE_URL="<<填写你的 VideoRoll 远程接口地址>>"
|
||||
VIDEOROLL_REMOTE_TOKEN="<<填写 Settings · API 里配置的 token>>"
|
||||
VIDEOROLL_SOURCE_LICENSE="authorized"
|
||||
VIDEOROLL_PROOF_URL=""
|
||||
@@ -40,7 +40,8 @@ export default function RenderQueuePage() {
|
||||
const maxConc = Number(q?.settings?.max_concurrency ?? 1);
|
||||
const queued = Number(q?.queued_count ?? 0);
|
||||
const running = Number(q?.running_count ?? 0);
|
||||
if (queued > 0 && running < maxConc && maxConc > 0) {
|
||||
const hasWaitingStage = (q?.tasks ?? []).some((t) => t.stage === "waiting_subtitle" || t.stage === "waiting_render");
|
||||
if ((queued > 0 && running < maxConc && maxConc > 0) || hasWaitingStage) {
|
||||
const now = Date.now();
|
||||
if (now - (lastKickAtRef.current || 0) > 10_000) {
|
||||
lastKickAtRef.current = now;
|
||||
|
||||
Reference in new issue
Block a user