Version 0.1 · October 2026 · Sam Ochoa

Queva OS: a working paper

Field notes on what I'm building, how it works, and what comes next.

Unless a source is marked, details come from my own build notes.

Summary

I'm building Queva OS as a business assistant on top of the open-source Hermes Agent from Nous Research. [1] It helps prepare everyday work, remembers owner preferences, and connects to selected business tools. Routine preparation can move ahead. Supported actions like publishing a draft or starting a reviewed email campaign ask for the owner's approval by text. It's been built and tested with test data, and it isn't yet tested on real client accounts. These are my field notes on what works in the build and what's next.

Why I started

I'm building this for small business owners and real estate team leads. The work I have in mind is familiar: replying to an inquiry, preparing a reminder, reviewing paperwork, and checking how marketing is doing. An assistant should help move that work along.

Drafting is a useful starting point. I also want Queva to take supported actions in the tools an owner already uses. That means getting the permissions right. Connecting an account shouldn't give an assistant permission to do everything inside it.

My approach is to let preparation move ahead and ask at the step that changes something important. The owner gets to review the action before it happens. Some steps stay with the owner, and some are blocked altogether. Those boundaries are part of how I'm building it.

What Queva OS is

Hermes provides the foundation: the assistant itself, memory, task instructions, scheduled work, and messaging. [2] Queva adds the business profile, private project folders and links, saved owner preferences, support controls, and rules for approving supported actions.

The business guidance covers inquiry drafts, payment reminders, reviews, paperwork, marketing, and dashboards. I keep the instructions separate from account access. Giving Queva a guide for payment reminders, for example, doesn't connect a payment app or give it permission to move money.

Hermes supports a standard way to plug in other apps. [5] Queva limits which parts of a connection the assistant can use. I distinguish between an app listed as a setup option and a connection with specific actions built into Queva. The table below shows those actions.

The choices I'm making

Designed so the owner owns it

The arrangement I'm designing for is an owner-owned server in Europe and an owner-owned OpenRouter key with a spending cap. OpenRouter supplies access to the AI models. The onboarding plan puts billing, data, and account credentials with the owner, and calls for removing my setup access at handoff.

Ownership also means being clear about where information goes. Project files can live on the owner's server, while model requests go to the model provider. Search queries, selected synced files, forwarded messages, and approved website files go to the services handling that work.

I want owners to understand those routes when we choose the setup. Having a private server is one part of the arrangement. Knowing which outside services receive information is another.

Text it where you already talk

I want owners to learn Queva by talking to it. The setup paths include iMessage through Photon, Telegram, WhatsApp, Slack, and Signal. Each needs its own platform setup and an approved account. For iMessage, the plan uses the owner's own account.

Setup includes a real message from the approved account. Unknown direct messages are ignored. The owner experience is a conversation, while the server and provider setup happen behind it.

Memory should help without hiding its costs

The standard setup has Hindsight long-term memory on. It gives the assistant ways to save, recall, and think through information from earlier conversations. Hindsight also supports automatic conversation capture. [3]

The selected setup stores memory locally and handles searching and ranking it locally. Turning conversations into saved information and making sense of that information still uses a model through OpenRouter. That work can add usage.

Queva also asks for approval before writing to Hermes' built-in memory. Hermes documents a review step for those writes. [4] Everyday business lists belong in project files. Saved preferences and project work have different jobs.

Prepare freely, ask at the risky step

Once an owner has agreed to a connection and its allowed uses, Queva can generally read, draft, and fill allowed forms without asking again each time. Supported sending, publication, and certain account changes pause for review.

Some boundaries are firm. Queva refuses money movement, purchases, bank and payment sites, personal inbox access, and bulk lead deletion. Its own AgentMail inbox can receive selected forwarded messages, but it can't send, reply, or forward. The owner sends those drafts from their own mail app.

The business instructions also tell Queva to refuse sensitive material such as patient records, legal case files, card numbers, bank logins, and recovery codes. Health checks and usage notices are handled separately from customer messages.

How approval by text works

Before a supported risky action, Queva sends the owner a preview and a short-lived, single-use code. Longer previews can link to the private page. The owner replies YES with the code to approve, or NO with the code to cancel.

For example, a request to publish a reviewed WordPress draft might read:

Publish this reviewed draft to the connected WordPress site? Reply YES 4821 to approve or NO 4821 to cancel. This request expires soon.

That's an example. The owner uses the code in the actual request, and only the configured owner's direct chat and identity can approve it.

Approval covers that action, its contents, and the connected account. Changing the connection cancels pending approvals. A changed browser page or form needs a fresh review. Queva then retries the same approved action; the assistant receives the approval result rather than the code.

Approving an action doesn't grant me server access. Temporary support access has its own separate approval process.

What it connects to

These are the connection paths built into Queva and the limits on each. Where a step says owner-only, the owner does it in the app. A text approval doesn't change that boundary.

Current connection scope
ConnectionWhat Queva may doOwner-only or blocked
Follow Up BossRead account information and results. Prepare individual message drafts and plans. Make supported contact or setup changes after exact approval.Owner sends messages. No appointment changes, existing template edits, Zillow-lead changes, exports, deletion, or payments. Changes that may trigger unreviewed outreach are blocked.
SuiteDashRead contacts, companies, and usage. Create one Lead or update one contact after approval, with a note recording the change.Owner creates Clients and Prospects and changes contact groups called circles. No invites, sending, deletion, invoice/file/message access, or company changes. Unknown or sensitive custom fields are blocked.
InstantlyRead results and sending-account health. Prepare inactive drafts and add owner-supplied leads. Activate or resume one reviewed draft or paused campaign, or send one reply, after approval.No buying or deleting. Campaign review includes every recipient, sending account, message version, and footer. CC/BCC must be empty, with no extra follow-up sequences attached.
Google AdsRead results. Prepare paused drafts within the configured total budget. Pause a reviewed item without a code.Owner turns ads on in Google Ads and changes the allowed limit on the private page. No budget increases, deletion, or billing actions.
WordPressRead posts and pages. Create and change its own drafts. Publish one unchanged, reviewed draft after approval.Owner handles live-page edits, deletion, and media uploads. Unreviewed settings, plugin fields, featured images, custom excerpts, special page elements, or changed visible copy block publication.
CalendarRead Google, iCloud, or Outlook events through a link supplied by the owner.Owner supplies the link. No event creation or editing.
TickTickListed as a setup option.Task access is currently blocked.
OpenRouterUse the owner's AI key and replace it through the private connection page.Owner creates the key and sets its spending cap. This provides model access.

GoHighLevel has separate development work behind it, but it isn't in this build's connection list. The wider Hermes app directory is a list of setup options, separate from the connections above.

Costs and monitoring

The owner sets the spending cap in OpenRouter. Queva checks and stores the key; the cap is set with the provider. Model calls, including memory work, contribute to usage.

The monitoring setup is built so I get alerts when a client's usage climbs or credit runs low. It watches selected client keys. There's also a separate usage check on the client server. Alerts help me keep an eye on spending; the spending cap belongs in the provider account.

What I've learned building it

The approval work went through 15 review rounds. Follow Up Boss had three separate rounds of fixes. The most useful lesson was straightforward: the preview has to match what will happen.

For an email campaign, that means reviewing the sending accounts and the whole sequence. For a website draft, it means checking the visible page and its settings. For a contact change, it means checking whether that change triggers outreach.

That's why I prefer specific app connections for consequential work. They let me define a smaller action and check the account, content, and expected result together. Browser access takes more care because clicking or typing can have effects beyond the visible button.

A separate development handoff records passing automated checks and desktop and phone browser checks with test data. In the lease example, the downloaded file matched the reviewed file, the signature stayed empty, approval worked once, and reuse was rejected. Focused checks also covered the usage monitor and confirmed TickTick's blocked access.

What's still open

These are the next checks and decisions:

Measured running costs, time saved, and business results belong here too. I'll add them as I gather the evidence and update these notes as the work moves forward.

Change log

0.1 · October 2026 · revised field notes

Sources

  1. Hermes Agent on GitHub, Nous Research. MIT license.
  2. Hermes Agent: official overview, Nous Research.
  3. Hermes Agent: official Hindsight plugin documentation.
  4. Hermes Agent: persistent memory documentation.
  5. Hermes Agent: app connection documentation.

Questions or ideas about this?

Tell me.
← All writing