MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
매일 오후 6시 70초 영상에 X 실시간 비트코인·도지코인·모네로·라이트코인 게시물을 보여주고 출처 링크 제공
A 70-second video every day at 6 PM. It shows real posts from X about Bitcoin, Dogecoin, Monero and Litecoin add-ons. Every card links to its source.
미디어HTML · PythonGitHub @cornishlikeadam온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Daily 70s card slideshow: Bitcoin L2, Dogecoin, Monero, Litecoin on X, with sources
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Contributor: Kendren (cornishlikeadam).
[!IMPORTANT] ⭐ The one rule: every card is a real post from X. It shows who posted, when, and a link. The robot never makes up news.
What it is: a robot that makes a 70-second video every day at 6 PM (New York time). What it shows: real posts from the last 24 hours about 4 coins and their add-ons.
| ⚡ Bitcoin | 🐕 Dogecoin | 🔒 Monero | 🪙 Litecoin |
|---|---|---|---|
| Lightning, Ark, sidechains | community, layer 2s | FCMP++ and CARROT | Lightning and MWEB |
[!TIP] 🧭 New here? Press ❓ Guide at the top of the site. It shows 4 short pages: how to use it, what it does, the core, and the widget.
flowchart LR
A["⏰ 6 PM timer"] --> B["🔎 1 · Collect posts"]
B --> C["🧹 2 · Check posts"]
C --> D["🎬 3 · Make video"]
D --> E{"🧑⚖️ 4 · Human check"}
E -->|yes| F["🌐 5 · Publish"]
E -->|no| C
F --> G["✅ LIVE only if the page loads"]
| # | 🧩 Step | ⚙️ What happens | 📁 File |
|---|---|---|---|
| 01 | 🔎 Collect | The robot searches X 4 times, once per coin. It keeps the top 25 posts. | scripts/collect_x.py |
| 02 | 🧹 Check | It removes wrong-day posts, price guesses, ads, giveaways, tiny accounts and copies. It keeps up to 3 per coin. | scripts/collect_x.py |
| 03 | 🎬 Make | It makes 8–10 cards. A free voice (Piper) reads them. The video is exactly 70 seconds. | scripts/render.py, remotion/ |
| 04 | 🧑⚖️ Human check | I approved the first video. After that, the robot publishes by itself. | scripts/approve_sample.sh |
| 05 | 🌐 Publish | It builds the site, saves a GitHub backup and sends it to Vercel. It checks that the page loads. | scripts/build_site.py, scripts/lib.sh |
[!WARNING] 🛑 If any step fails, the robot stops. It publishes nothing. A broken day never becomes a wrong video.
The AI 101 notes live in vault/project-02/. Obsidian and the website read the same files.
[!NOTE] 🎨 The vault has its own Black Platinum theme for Obsidian:
docs/obsidian/l2-daily.css. Copy it to.obsidian/snippets/. Turn it on in Settings → Appearance → CSS snippets.
Project 3 turns the Project 2 post-checking step into a reusable AI workflow. The files are in vault/project-03/.
| Part | What it does | File |
|---|---|---|
| Workflow agent | Checks candidate posts against Project 2 rules and hands the final choice back to a person. | workflow-agent.md |
| Vault agent | Gives the AI helper its job, safety rules, and writing style. | AGENTS.md |
| Skill | A repeatable recipe for checking posts, including tricky words like “Lightning.” | SKILL.md |
The vault/CLAUDE.md and vault/.claude/skills/ files help Claude Code find the helper and skill when you open the vault/ folder. The Project 2 copy of the workflow agent is kept at post-verifier.md, beside the original Project 2 steps.
Open this repository’s vault/ folder in Claude Code, then ask:
Use the
crypto-l2-post-reviewskill to check these practice posts using the Project 2 rules. Do not invent missing details. Show me what needs checking, then let me decide what to use.
The audit note has easy practice-test ideas. Test answers and personal decisions are left for the student to record in the Project 3 logs; they are not filled in for them.
Every AI 101 workflow has the same 5 parts. This project uses that generic shape. The unique parts are on the right.
| # | 🧩 Generic part (AI 101) | 💎 What is unique here |
|---|---|---|
| 01 | ⏰ Trigger | 6 PM New York time. The Mac's launchd timer starts scripts/daily.sh. |
| 02 | 📥 Context | 4 coin searches and a list of "remove it" rules. The date check is rule 1. |
| 03 | ⚙️ Task | Pick 3 posts per coin. Make 8–10 cards. Fit the voice into 70 seconds. |
| 04 | 📦 Output | A video, a site, course pages, a feed and a phone-widget file. |
| 05 | 🧑⚖️ Human check | I approved the first video. I check every archive day. |
📖 Full breakdown, feature by feature: vault/project-02/how-it-was-built.md
| 💎 Detail | 🎯 Where you see it |
|---|---|
💵 Banknote art: guilloche rosettes, microprint, serial numbers (NO. CL2-20261005-08), big denomination numbers | step tiles, cards, footer, video |
| 🌈 Holographic foil | card edges, the video frame, the 3D knot, the ribbon |
| 🏷️ "QUOTED" labels and stripe tape (industrial streetwear details) | section headers, dividers |
| ✒️ Calligraphy (Yellowtail) + bold capitals (Big Shoulders) | every title |
| 👀 Atkinson Hyperlegible (made to be easy to read) | all body text |
A small card for your iPhone Home Screen. It shows the Bitcoin price, the fee and today's top 3 posts.
scriptable.js.[!NOTE] 🤖 Android: point any JSON widget app at
widget.json.
[!TIP] 🎥 A 90-second explainer: 3Blue1Brown-style 3D math animation + Japanese-American manga style. The full prompt and the 8-shot plan are in
vault/project-02/explainer-video.md.
scripts/make_explainer.py makes the voice (Piper), the music and the timing.remotion/explainer/ (3D knot, the Guide, 8 shots).../OpenMontage/.venv/bin/python scripts/make_explainer.pycrypto-l2-daily/
├── 📜 scripts/
│ ├── daily.sh ⏰ the 6 PM run (steps 1 → 5)
│ ├── collect_x.py 🔎 step 1 + 🧹 step 2
│ ├── render.py 🎬 step 3 (calls OpenMontage)
│ ├── build_site.py 🏗️ step 5: builds every page
│ ├── site_theme.py 🎨 the Black Platinum look, 3D hero, live numbers, guide
│ ├── course_pages.py 📚 turns the vault into the course hub
│ ├── lib.sh 🚀 publish: GitHub + Vercel + "is it live?"
│ ├── approve_sample.sh 🧑⚖️ step 4: the human approval
│ ├── backfill.sh 🗂️ add an old day to the archive
│ ├── set_x_cookies.sh 🍪 save the X login codes (hidden)
│ └── set_voice.sh 🎙️ save the voice settings (hidden)
├── 🎞️ remotion/ the video card design
├── 🧠 vault/
│ ├── project-02/ the AI 101 workflow and notes
│ └── project-03/ workflow agent, vault agent, and skill
│ └── vault-agent/ rules, voice, and skill source
├── 🌐 site/ the built website
├── 🧾 data/ the checked posts for each day
├── ⚙️ config/ approval switch + archive notes
└── 📘 docs/ banner, screenshots, Obsidian theme
config/pipeline.json has the switch human_approval_default.
true: the run stops before it publishes. Do this: run scripts/approve_sample.sh YYYY-MM-DD. It records the approval, sets the switch to false, and publishes.false: every daily run publishes by itself.[!NOTE] 🍎 The robot runs from launchd, the Mac's own scheduler:
config/com.not2l8.l2daily.plist.
scripts/daily.sh every day at 6 PM.caffeinate)./bin/bash scripts/check_publish.sh[!NOTE] 🎬 OpenMontage (AGPLv3) lives in
../OpenMontage. This repo calls it. It does not copy it. 🎞️remotion/is original code. It needs only theremotionnpm packages from OpenMontage's composer.
The numbered vault instructions now use purpose, input, procedure, check and failure-action sections.
See vault/project-02/documentation-standard.md for the ASD-STE100-inspired writing status.
See vault/project-02/crypto-layer-2-reference.md for the crypto classification boundaries.
The named submission is generated in submission/project-02/; human intent and class feedback remain pending.
The first launchd-triggered run has not yet occurred. Existing successful runs are recorded in logs/daily.log.
The GitHub Pages archive is not enabled. Current videos use Vercel; the older-video fallback needs repair before retention exceeds 14 editions.