Roost:为 Hermes 智能体打造的开源私有 PWA 界面
calebbrinkley/roost
Roost 是一个面向 Hermes 智能体的私有 Progressive Web App,为单一所有者提供对话与定时任务的专注界面,支持桌面和手机布局。它可连接现有 Hermes 智能体,凭据保存在服务端,提供 Messages 对话与 Jobs 定时任务管理,并支持 passkey 登录、主题与强调色设置。目前文本对话和 Jobs 已实现,语音与推送通知仍在计划中,采用 MIT 许可证。
A private Progressive Web App for your Hermes agent.
· Setup · Contributing · Security
Messages and Jobs in dark mode. AI device mockups with demo data.
Roost gives one owner a focused interface for conversations and scheduled work. It connects to your existing Hermes agent, keeps dashboard credentials on the server, and supports desktop and phone layouts.
Features
- Messages: continue conversations from Roost and other Hermes channels, with source badges and confirmed deletion.
- Jobs: search, create schedules, edit instructions, pause or resume work, run a Job immediately, and view its history.
- Settings (the gear beside Messages and Jobs): system, light or dark theme per device; an accent colour and a display time zone shared across devices; the agent's name (Hermes's own by default); the agent's SOUL instructions; passkeys (Face ID, Touch ID or a device PIN) alongside the password; delete all conversations or Jobs; restart Roost or the Hermes gateway; and About, with the build, live service stats, Hermes status and credits.
Early preview: text conversations and Jobs are implemented. Voice and push notifications are planned. See compatibility and validation status.
Try the demo
Requires Python 3.11+. The demo uses a local Hermes stand-in and disposable sample data.
git clone https://github.com/calebbrinkley/roost.git cd roost python3 -m venv .venv .venv/bin/python -m pip install -e . .venv/bin/python dev/demo.py
Open http://127.0.0.1:8787 and sign in with roost-demo-only. Stop with Ctrl+C. Demo state is stored in the Git-ignored .roost-demo-state/ directory.
Follow the setup guide to connect a running Hermes dashboard. Roost has its own owner password and stores the dashboard password in a private file outside the checkout.
Keep Roost behind a private HTTPS front door for access from other devices. Authenticated access can submit work to your agent. Roost does not start Hermes or load models.
Contributing
Work on a short-lived branch and open a pull request. Merges to main require passing repository checks and resolved review conversations; reviewer approval is optional. See CONTRIBUTING.md and the repository security policy.
make hooks make PYTHON=.venv/bin/python check
Server and interface changes also need the demo smoke check. CI uses sample data and does not validate a live deployment.
License
MIT. Bundled Space Grotesk fonts by Florian Karsten use the SIL Open Font License.
来源:GitHub · github.com


