個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Open-source desktop app for content creation, with an agent runtime and standalone CLI.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
An open-source desktop app for creating and managing content. Work with projects, media, generation tools, and local agents in one application. The Ralphy runtime and standalone CLI power the same workflows.
Ralphy brings content generation, project workspaces, media review, and local agents into one desktop application. This repository contains the product in apps/desktop and its runtime in cli. Desktop development previously lived in alecs5am/ralphy-desktop; its history is preserved here.檢視完整 README ↗An open-source desktop app for creating and managing content. Work with projects, media, generation tools, and local agents in one application. The Ralphy runtime and standalone CLI power the same workflows.
Ralphy brings content generation, project workspaces, media review, and local agents into one desktop application. This repository contains the product in apps/desktop and its runtime in cli. Desktop development previously lived in alecs5am/ralphy-desktop; its history is preserved here.
The desktop calls the runtime through its CLI and bridge contract. Agents can also use the standalone CLI for reproducible model calls, content units, renders, logs, and memory.
Requires Bun 1.4.2 or newer and macOS; development and CI pin 1.4.2. From the repository root:
bun install --frozen-lockfile
bun run install:desktop
bun run start
bun run start enters the pinned mise runtime, rebuilds the current-platform Ralphy binary, and passes its absolute path to Electron. This keeps an older global Bun or CLI from leaking into the desktop process. Install the pinned runtime once with mise install [email protected]; no per-launch environment setup is required.
bun run dev runs Electron against the Vite development server with hot reload. It uses the normal desktop profile, so saved API keys and the existing Codex/Claude Code installations and sessions remain available. Use bun run dev:renderer for the browser-only fixture mode.
bun run check:desktop # types, tests, build, architecture and styles
bun run build:desktop
bun run package:mac # requires the approved runtime; see apps/desktop/README.md
The desktop and runtime retain separate Bun packages and lockfiles. Install both with the commands above; no sibling checkout is needed. See the desktop guide for application details.
See what Ralphy makes → — real rendered outputs from real projects.
Cost: ~$8–12 per 30s video. Speed: ~8 min cold-start, ~25 min for a 10-batch. Engine: HyperFrames (HTML + GSAP, deterministic Puppeteer + FFmpeg render).
| Platform | Command |
|---|---|
| macOS (Homebrew) | brew install alecs5am/tap/ralphy |
| Linux / macOS (curl) | curl -fsSL https://raw.githubusercontent.com/alecs5am/ralphy/main/install.sh | sh |
| Windows (PowerShell) | irm https://raw.githubusercontent.com/alecs5am/ralphy/main/install.ps1 | iex |
| Cross-platform (npm) | npm install -g @alecs5am/ralphy |
All four ship the same binary.
Setup is a one-time step you run once so your agent can take over from there. These two commands are agent enablement + diagnostics, not the everyday workflow:
ralphy setup # interactive wizard — paste the two API keys + install agent skill
ralphy doctor # verify env is green (run this when the agent reports a problem)
Expected output:
✦ ralphy v0.3.0
▸ Dependencies ✓ bun ✓ ffmpeg
▸ API keys ✓ OPENROUTER_API_KEY ✓ ELEVENLABS_API_KEY
✓ ready
macOS Gatekeeper warning? You used the direct-download path. Brew / npm /
install.shbypass Gatekeeper automatically. If you hit it:xattr -d com.apple.quarantine /path/to/ralphyonce and you're done.Verify your install: every Release includes a
SHA256SUMSfile.shasum -a 256 -c SHA256SUMS(macOS / Linux) orGet-FileHash(Windows) confirms the binary matches.
In practice you say "make a spring espresso ad" in chat and the agent runs these verbs for you. Here's the surface it drives, so you can see what's happening under the hood:
# 1. Create a project
ralphy new "Spring espresso ad" --id espresso-001
# 2. Find a template by free-text utterance
ralphy template suggest "talking head rant about deadlines" -p
✦ Query: "talking head rant about deadlines"
1. ✓ talking-head ███████████████░ 0.95 strong
2. ✓ story-time ███████████░░░░░ 0.70 strong
# 3. Scaffold from the chosen template (sourced from the hosted library)
ralphy template use talking-head --id espresso-001
# 4. Cost-preview before spending a cent
ralphy generate image --project espresso-001 --slot scene-01-bg \
--prompt "studio packshot, white seamless, 50mm, photoreal" --dry-run
# 5. Render the project to mp4
ralphy render espresso-001
That's it. Full CLI surface in docs/cli-surface.generated.md.
The standalone domain-store and Desktop bridge contract is documented in
docs/domain-store.md. It covers explicit scope,
immutable revisions, bounded content, safe DTOs, and portable Workspace
transfer.
The desktop and agent runtime share these production capabilities.
| Closed SaaS (Higgsfield, HeyGen, Captions) | Other OSS (ShortGPT, MoneyPrinterTurbo) | Ralphy | |
|---|---|---|---|
| Source | Closed | OSS (script-shaped) | Apache 2.0, fork-able |
| Who operates it | You, in their web UI | You, hand-running a script | Desktop app or your local agent |
| Agent surface | Their cloud agent | None | Local skills + playbooks; works in any agent |
| Models | Vendor lock-in | One model, hardcoded | Any OpenRouter model — Kling / Seedance / Veo / Sora / Nano-Banana |
| Cost transparency | Subscription black box | Free-but-you-DIY | --dry-run shows the bill before you spend |
| Reproducibility | Vibes | Vibes | Append-only genlogs + postmortems + templates-as-git |
| Quality gates | Best-effort | None | Refuse-not-warn: bad scene = no render |
| Reference grounding | None | None | Built-in research engine (ralphy research) + guideline library |
| Composer | Web canvas (theirs) | MoviePy / FFmpeg scripts | HyperFrames (HTML + GSAP) — versioned in git, tested in CI |
The hard rule that makes the rest work: ralphy <verb> is the only entry-point. No ad-hoc ffmpeg shell-outs, no direct provider fetches, no orphan scripts. Every model call lands in generations.jsonl, every cost in the rollup, every failure in the postmortem.
graph LR
DSK[Ralphy desktop app] -->|bridge| B[ralphy runtime / CLI]
A[Agent: Claude Code / Cursor / Codex] -->|playbooks| B
B --> C[Provider router]
C --> D[OpenRouter<br/>Kling / Seedance / Veo / Sora / Nano-Banana]
C --> E[ElevenLabs<br/>TTS + Music]
B --> F[HyperFrames composer<br/>HTML + GSAP]
F --> G[mp4 via Puppeteer + FFmpeg]
B --> H[Project memory<br/>genlogs · postmortems · cost rollup]
B --> I[Hosted template library<br/>+ guidelines in git]
5 agent roles (researcher / scenarist / art-director / editor / producer) routed via AGENTS.md. The router decides which playbook the agent reads before acting.
| Surface | Read when |
|---|---|
| Library | Browse published units + templates with live rendered previews. |
AGENTS.md | First. Routing rules + the "read the playbook before acting" discipline. |
MODELS.md | Before every model call: pick from the index, then ralphy models show <id>. Claude's training is stale on model names. |
docs/playbooks/ | Per-role instructions (researcher, scenarist, art-director, editor, producer). |
| GitHub Discussions | Q&A, Show & Tell, Tester feedback. |
Use the pinned Bun 1.4.2 runtime for the commands below. See developer runtime setup for a local installation that leaves your global runtime unchanged.
git clone https://github.com/alecs5am/ralphy.git
cd ralphy && bun install --frozen-lockfile
bun run install:desktop
bun run check:desktop
bun run test # runtime unit + integration tests
bun run lint # typecheck + project lints (errors / help-examples / skills / agents-md / cli-surface)
bun run cli:surface:build # regenerate docs/cli-surface.generated.md
bun run build:bin # build cross-platform binaries
A pre-commit hook runs the test suite. CI runs the same on push/PR.
PRs welcome — especially:
MODELS.md (index row) and docs/models/<kind>.md (detail) with real cost numbers + known pitfalls.cli/lib/providers/.guidelines/<slug>/ (image-prompt rules — tag-able from chat as @guideline:<slug>).For non-trivial changes, open an issue first or start a discussion.
Apache 2.0. Use, fork, ship to prod — patent grant included.
Built with Claude Code, Bun, HyperFrames, OpenRouter, and ElevenLabs.