尚未检测到更新。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.