TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
voice-agent-v3-2 — голосовий асистент з прямими Google API (без n8n) Статус: міграція з n8n → Google Calendar + Gmail OAuth (локальний desktop MVP) Голосовий асистент: wake word → voice engine (VOICE_ENGINE=live — основний, або realtime — запасний) → локальний Agent Router → Google Calendar / Gmail / нотатки (Drive+Docs) через OAuth Desktop flow. n8n і зовнішній agent-ecosystem не потрібні.查看完整 README ↗
Голосовий асистент, з яким можна говорити як з людиною. Він бачить ваш Google Календар, пошту й нотатки, вміє шукати в інтернеті й виконує прохання голосом: «що в мене завтра?», «запиши зустріч з Олегом на п'ятницю о 15:00», «чи є нові листи від бухгалтерії?», «додай у нотатки ідею для демо».
Працює у двох варіантах: десктопна програма з wake word і веб-версія для команди, яку достатньо відкрити в браузері.
🎙️ Спробуйте просто зараз: voice-agents-web-three.vercel.app. Нічого встановлювати не треба, достатньо браузера й мікрофона.
VOICE_ENGINE=realtime).BACKGROUND_LISTENING=false на десктопі.Кожен користувач входить своїм Google-акаунтом. Сторонні сервіси на кшталт n8n не потрібні: агент звертається до Google API напряму.
Браузер (web/, Vercel) ──WebRTC: мікрофон і звук──► OpenAI GPT-Live
│ ▲
│ SDP-оффер, вхід у Google │ sideband (інструменти)
▼ │
Бекенд (server/, Render) ────────────────────────────────┘
└─ Google Calendar / Gmail / нотатки, вебпошук
Wake word «Єва, скажи» → голосова сесія → локальний Agent Router → Google API. Мікрофон, VAD і захист від ехо локальні, токени Google зберігаються в Windows Credential Manager.
Десктоп (main.py) | Веб | |
|---|---|---|
| Запуск розмови | «Єва, скажи» | кнопка «Почати розмову», далі «Єва, скажи» |
| Пауза | «Дякую, Єва» | «Дякую, Єва» або кнопка «Пауза» |
| Звук | локальний мікрофон, VAD, власний захист від ехо | WebRTC у браузері |
| Вхід у Google | OAuth Desktop-клієнт, вікно на тому ж ПК | OAuth Web-клієнт, редірект на бекенд |
| Токени | Windows Credential Manager | пам'ять сервера |
voice/wake_phrases.py, їхня копія для сайту
в web/app.js (тест tests/test_eva_phrases_js.py стежить, щоб вони не розійшлися).voice/conversation.py → Live input). Історію
веде бекенд (сайт) або Assistant (десктоп); «Нова розмова» чи вихід з Google її стирають.set_voice_style, панель на сайті). Тембру й
точної швидкості GPT-Live не має. Гучність — повзунок на сторінці. «Прослухати» грає
зразки з web/samples/.RUN_LIVE_TESTS=1 pytest -q -k live_memory.| Шлях | Призначення |
|---|---|
main.py, assistant.py | десктопний застосунок: життєвий цикл (сон ↔ сесія), пам'ять, спільні хелпери інструментів |
voice/ | драйвери голосових рушіїв (live_driver.py, realtime_driver.py), логіка перебивання, налаштування голосу й мови |
router/agent_router.py | локальний роутер: вільний текст → інтенти |
tools/ | схеми інструментів для Live і Realtime, міст до роутера, вебпошук |
server/ | бекенд веб-версії (FastAPI) |
web/ | фронтенд веб-версії (статичні файли) |
render.yaml, requirements-server.txt | деплой бекенду на Render |
DEPLOY.md | покрокова інструкція з розгортання веб-версії |
Відкрийте voice-agents-web-three.vercel.app → «Почати розмову» → дозвольте мікрофон → говоріть. Щоб агент бачив календар і пошту, натисніть «Підключити Google». Якщо Google попередить, що застосунок не перевірено: «Додатково» → «Перейти до …».
Коротко: OAuth-клієнт Web application у Google Cloud → бекенд на Render (Blueprint з render.yaml) → фронтенд на Vercel (Root Directory = web). Деталі — у DEPLOY.md.
Змінні середовища бекенду:
| Змінна | Опис |
|---|---|
OPENAI_API_KEY | ключ OpenAI |
PUBLIC_BACKEND_URL | публічна адреса бекенду, без / у кінці |
FRONTEND_ORIGINS | адреса(и) фронтенду через кому |
GOOGLE_OAUTH_WEB_CLIENT_ID / GOOGLE_OAUTH_WEB_CLIENT_SECRET | дані Web OAuth-клієнта |
ACCESS_CODE | пароль на сторінку; порожнє значення = доступ для всіх, у кого є посилання |
WEB_SEARCH_API_KEY | ключ Tavily (необов'язково) |
GOOGLE_CALENDAR_TIMEZONE | часовий пояс, за замовчуванням Europe/Kyiv |
uv sync --group server
# .env: OPENAI_API_KEY, PUBLIC_BACKEND_URL=http://localhost:8000,
# GOOGLE_OAUTH_WEB_CLIENT_ID/SECRET (redirect http://localhost:8000/auth/google/callback)
.venv/Scripts/python.exe -m uvicorn server.app:app --port 8000
# фронтенд
python -m http.server 5173 -d web
# відкрити http://localhost:5173/?backend=http://localhost:8000