Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Shows the latest videos of my YouTube channels in Nuvio (Stremio-compatible): no recommendations, no server to host, subscription list kept private.
GitHub Action (every 30 min) Cloudflare Worker (free) Nuvio
reads the channels' RSS feeds ──► reads the KV and serves the addon ◄── /<TOKEN>/manifest.json
filters out Shorts (catalog, meta, stream with ytId)
writes the result to the KV
worker/src/index.js: the Worker. Read-only on the KV, returns 404 if the token in the URL is wrong.worker/src/parse.js: YouTube RSS feed parsing.worker/scripts/refresh.mjs: script run by the Action (RSS feeds, Shorts detection, KV writes)..github/workflows/refresh.yml: Action schedule.worker/test/: parsing test (node worker/test/parse.test.mjs).Two catalogs:
movie): the 200 latest videos across all channels.series): one "series" per channel, sorted by latest upload. The "episodes" are the channel's videos: a single season, episode 1 is the most recent video (the real publish date stays in released).IDs: yt_<videoId> for a video, ytch_<channelId> for a channel. Returned streams: ytId (plays in Nuvio) and externalUrl (YouTube / NewPipe).
Each channel keeps its 15 latest videos (what the RSS feed provides), Shorts included before filtering.
KV keys: videos, channels, resolved, config, ch:<id>. The Action only writes the keys that changed (free tier limit: 1,000 writes/day).
The repo is public, so nothing personal may appear in it:
| Data | Where it lives |
|---|---|
| Channel list | KV key config (or CHANNELS GitHub secret) |
KV access (CF_ACCOUNT_ID, CF_KV_NAMESPACE_ID, CF_API_TOKEN) | GitHub Actions secrets |
Addon URL token (TOKEN) | Cloudflare Worker secret |
| Fetched videos | Cloudflare KV (private) |
Action logs are public: the script only prints totals and masks channel IDs, handles and links. Never add a console.log of an ID, handle or title.
yt-subs-addon, branch main, Root directory worker, then Save and Deploy.TOKEN (24 random letters/digits, keep a copy). This is the runtime section, not "Build variables".KV is bound to a namespace (otherwise create one under Storage & Databases → KV and add it as binding KV).Settings → Secrets and variables → Actions → New repository secret:
| Name | Value |
|---|---|
CF_ACCOUNT_ID | Workers & Pages, right-hand column |
CF_KV_NAMESPACE_ID | Storage & Databases → KV → namespace ID |
CF_API_TOKEN | My Profile → API Tokens → Custom Token, permission Account → Workers KV Storage → Edit |
CHANNELS (optional if the KV key config exists) | channel list, see below |
Create the KV key config in the Cloudflare dashboard (Storage & Databases → KV → your namespace → KV Pairs → Add entry). One channel per line (commas and spaces also work). Accepted forms:
@handlehttps://www.youtube.com/@name, /channel/UC...)UC...The subscriptions.csv from Google Takeout (YouTube → subscriptions) can be pasted as is: the header is ignored and only the first column (ID) is read. @handles can be appended after it.
Handles and links are converted to IDs by the Action; the result is cached in the KV (resolved). config takes priority over the CHANNELS secret. GitHub secrets are write-only, which is why the KV key is easier to edit.
Actions tab → Refresh YouTube feeds → Run workflow. The log should show N entries: N channels, 0 unresolved, then N channels: N ok, 0 failed, then N videos, N channels, N writes, 0 deletions. The first run is longer because every video is checked for Shorts.
Install https://yt-subs-addon.<account>.workers.dev/<TOKEN>/manifest.json.
Edit the config KV key, then re-run the workflow or wait for the next scheduled run. A removed channel disappears from the catalog on the next run.
| Symptom | Likely cause |
|---|---|
Missing secret: XXX | secret missing or misnamed |
HTTP 401/403 on the KV | wrong Cloudflare token, or missing Workers KV Storage: Edit permission |
N unresolved | handle or link not found (typo) or YouTube page blocked from GitHub: use the UC... ID instead |
0 ok | YouTube refuses requests from GitHub |
| "Not found" in the browser | URL token differs from the TOKEN secret, or the secret was set in "Build variables" instead of the runtime section |
| Shorts show up | YouTube blocks the /shorts/<id> probe from GitHub |
| No more updates | GitHub disables scheduled workflows after 60 days without repo activity: re-enable them in the Actions tab |
The schedule is the cron: line in .github/workflows/refresh.yml (GitHub accepts 5 minutes at the minimum and often delays runs by a few minutes).