尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A speaking companion that helps you understand your work, learn, and plan—right inside a floating orb.
Built with OpenAI Codex. A hackathon companion for learning, coding, and planning.
Current version: Chrome hackathon demo 3.2.0.
Download the Chrome extension ZIP
· Windows installation steps
· Vercel demo setup
Roody is a Chrome extension for developers, founders, and people learning to
navigate unfamiliar pages. Open its orb on a work page to ask questions, talk
through a problem, or understand visible code without copying everything into
a separate chatbot.檢視完整 README ↗A speaking companion that helps you understand your work, learn, and plan—right inside a floating orb.
Built with OpenAI Codex. A hackathon companion for learning, coding, and planning.
Website: roodyaicompanion.vercel.app
Current version: Chrome hackathon demo 3.2.0.
Download the Chrome extension ZIP · Windows installation steps · Vercel demo setup
Roody is a Chrome extension for developers, founders, and people learning to navigate unfamiliar pages. Open its orb on a work page to ask questions, talk through a problem, or understand visible code without copying everything into a separate chatbot.
The voice engine runs in a protected offscreen extension document. Closing the panel or changing browser pages can leave voice running. Pause voice stops microphone access, browser following, and screen sharing. Screen sharing from a particular page stops when that page navigates or closes; select the screen again from the new page's orb.
| Persona | How Roody helps |
|---|---|
| Developer | Reasons through visible code, debugging, and architecture; explains the next step. |
| Founder | Acts as a CEO/CTO-style adviser: weighs tradeoffs and turns goals into a practical plan. |
| Grandparent | Uses patient, simple explanations and helps understand unfamiliar pages one step at a time. |
| Mode | What it does |
|---|---|
| Teach me | Explains the reasoning and asks useful learning questions. |
| Do with me | Works through a problem with you. |
| Do for me | Prepares code drafts, plans, or analysis for you to review. |
These modes guide conversation. Roody does not click controls, edit files, send messages, book appointments, or make payments.
No npm command or terminal is needed for the Chrome extension.
chrome://extensions and turn on Developer mode.manifest.json.Open orb Settings → Use my own OpenAI key instead, paste your key, and click Save key. Clear any demo server address and save demo access to switch back to your own key. OpenAI voice requires API billing and Realtime access; ChatGPT subscriptions do not include API credits. Never put an owner key in a shared ZIP or paste it into chat.
The extension also supports optional own-key Anthropic, Gemini, and Grok models for text/vision requests. Model discovery chooses available models without requiring users to type model IDs. Live voice uses OpenAI Realtime.
An owner can host the guest gateway on Vercel and keep the OpenAI key in server environment variables. Guests enter the server address and their invite code in orb Settings, then click Save demo access.
App credits are separate from OpenAI dollar charges. A server background task schedules voice shutdown, with a client timer as well; hosting or network failure can interrupt shutdown, so this is not an unconditional billing cap. See Vercel setup and limits before distributing codes.
Deployment address: https://roodyaicompanion.vercel.app/.
The homepage contains three clearly labeled fictional scenarios:
await.Show a sample reply displays a scripted preview with no API request or credit use. Connecting a guest code enables actual text replies through the OpenAI Responses API. Live voice and screen sharing use the Chrome extension.
Deploy the repository’s default branch with Vercel Framework Other,
repository root, and output directory public. The repository’s
vercel.json configures the API. The homepage is available at the website
link above. Live provider-backed replies require the environment variables
in the setup guide.
| Component | Technology implemented |
|---|---|
| Development assistance | OpenAI Codex |
| Chrome orb | JavaScript, HTML/CSS, Chrome Manifest V3, content scripts, service worker |
| Voice | OpenAI Realtime API (gpt-realtime), WebRTC, microphone permission, transcription |
| Persistent voice host | Chrome offscreen document with extension runtime messages |
| Page and code context | DOM extraction, editor text extraction, tab screenshots, explicit screen sharing |
| Guest demo text | OpenAI Responses API (gpt-4.1-mini), Node.js Vercel function |
| Demo access and accounting | Invite codes, Upstash Redis REST, atomic credit reservations |
| Voice shutdown | OpenAI call hangup endpoint and Vercel waitUntil background task |
| Optional model providers | OpenAI, Anthropic, Google Gemini, xAI Grok |
| Separate Windows prototype | Electron, selected-window screenshots, local goals/tasks, voice |
| Separate editor prototype | VS Code-compatible extension, Gemini transcription, optional ElevenLabs voice |
MCP status: this build has no Model Context Protocol server/client or MCP app integrations. Personas and assistance modes are prompt-driven. Direct API calls and browser context reading should not be described as MCP integrations.
flowchart LR
Page[Work page or shared screen] --> Orb[Chrome orb]
Orb --> Worker[Extension worker]
Worker --> Own[Selected provider using own key]
Worker --> Demo[Vercel demo gateway]
Demo --> OpenAI[OpenAI APIs]
Demo --> Redis[Redis credit balance]
Orb --> Voice[Offscreen WebRTC voice engine]
Voice --> Realtime[OpenAI Realtime]
Read PRIVACY.md for details.
| Path | Purpose |
|---|---|
manifest.json | Chrome extension manifest |
src/content.js / content.css | Orb, chat, goals/tasks, page and editor reading |
src/background.js | Provider routing, screenshots, protected voice controls |
src/companion.js | Structured companion memory and preferences |
src/live-engine.html / voice.js | Persistent audio engine |
src/orb-voice.html / orb-voice.js / orb-voice.css | Voice controls inside the orb |
src/options.html / options.js | Keys, invite code, server address, preferences |
src/study.html / study.js / pdf.js | PDF study page |
public/ | Vercel homepage, samples, guest text demo, owner code page |
api/demo.js / server/demo.js | Vercel guest gateway |
server/VERCEL-DEMO.md | Deployment variables and setup instructions |
server/index.js | Legacy Hostinger invite-code proxy |
desktop/ | Separate Electron Windows prototype |
editor/ | Separate VS Code-compatible editor prototype |
backend/ / backend-php/ | Alternative legacy backends |
site/ | Earlier website and portal |
eval/ | Regression and behavior checks |
Use Node.js 20+ for the root project:
npm ci
npm run eval
node --test eval/*.test.js
The desktop prototype has its own instructions and dependencies: desktop/README.md. The editor prototype is documented in editor/README.md.