Once Personal AI Agents Hold the Keys: OpenClaw, Hermes, nanobot, and Jev

From open-source runtimes to cloud assistants and typed decision models: separating execution, memory, judgment, and authorization to understand agent safety and real cost.

阅读中文版

On this page
  1. First, these are not four entries in the same ranking
  2. OpenClaw: owning the runtime does not eliminate trust
  3. Hermes: experience can accumulate, and so can errors
  4. nanobot: easier to read is not less responsibility
  5. Jev: separate judgment from execution
  6. The important boundary comes before the final write
  7. The cloud changes who answers the question, not the question itself
  8. Divide cost by accepted tasks, not demo duration
  9. My conclusion: “which agent is strongest?” is the wrong first question
  10. Sources and limits

AI news in 2026 increasingly reads like an endless product changelog. Models turn over, agents change names, and yesterday’s local installation becomes tomorrow’s dedicated cloud computer. Watch enough demos and the conclusion seems obvious: assistants can finally do the work for us.

But doing work has never required intelligence alone. It also requires keys.

A directory of files. A signed-in browser. Permission to send email. An API key. Eventually, perhaps, a card that can pay. Every additional connection makes the demo more complete. It can also increase the reach of a single mistake.

This is not an annual model ranking, and GitHub stars will not decide the winner. Following OpenClaw, Hermes Agent, nanobot, and Jev raises more useful questions: who executes, what gets remembered, which judgments belong to a model, and who gets to approve the last step?

Scope: official documentation and public source code inspected as of October 21, 2026. This is not a runtime comparison on a shared task set. No comparative success rate, latency, or end-to-end cost was measured. Source observations and vendor claims are distinguished below. Workflow and cost examples are analytical illustrations, not product benchmark results.

First, these are not four entries in the same ranking

The first three projects supply environments in which an agent can work: connect a model, assemble context, invoke tools, retain state, and return results through a terminal or messaging app. Jev supplies a decision-model interface: read a state and make judgments within an answer space defined in advance. It does not replace a complete personal assistant.

ProjectMain layerDesign examined hereWhat does not follow
OpenClawAssistant runtime and GatewayConnect models, tools, devices, and messaging channelsRunning locally means no data leaves the machine
Hermes AgentRuntime with persistent memory and skillsPreserve task experience for reusePreserving experience necessarily improves every subsequent run
nanobotPython personal-agent frameworkMake the runtime, tools, and skills easier to inspectA smaller codebase necessarily has a smaller permission surface
JevHosted typed decision modelExpress bounded judgments through Choice, Score, and NoulA valid output type means a correct decision and an authorized action

The OpenClaw, Hermes, and nanobot frameworks use the MIT license.[1][3][5] Their models, external services, and plugins do not automatically share that license. Likewise, Jev’s open-source client SDK does not make the model’s weights open source.[8]

There is no clean open-versus-closed split here. A real deployment can host its own framework, call a remote model, pay separately for search, and run a browser on yet another machine.

OpenClaw: owning the runtime does not eliminate trust

OpenClaw’s official README describes the Gateway as a local control plane for sessions, tools, events, and channels. Models and agent harnesses are replaceable; state, memory, and credentials live on the operator’s hardware.[1]

That is meaningful control. You can know where the program runs, inspect its configuration, and avoid tying the entire workflow to one model provider.

But “runs on my computer” and “processes everything on my computer” are different statements. The same README says prompts go to the configured model provider and chat platforms.[1] A local copy of memory does not turn remote inference into local inference.

A second distinction matters just as much: the machine running the framework and an isolated environment executing tools are not automatically separate.

The official sandbox documentation at the inspected revision explicitly says sandboxing is off by default. When enabled, tool execution can move into a sandbox, while the Gateway stays on the host.[2] This does not mean every OpenClaw deployment is exposed. It means installation is not evidence that isolation has been configured.

A malicious email does not have to break the model. If the model mistakes the email’s contents for operational instructions, an overprivileged tool can turn that textual mistake into access to files, accounts, or external communications.

The first question is therefore not whether the model is smart enough. It is which permissions become reachable after the model reads something from outside.

Hermes: experience can accumulate, and so can errors

Hermes takes the promise further. Nous Research describes a learning loop that creates skills after complex tasks, improves them during use, persists memory, and searches past conversations.[3]

That is more appealing than explaining a project from scratch every time. But “self-improving” needs to be unpacked. Not every persistent change means a model is retraining itself.

In the inspected skills_tool.py, a skill is a directory containing SKILL.md, with optional references, templates, assets, and scripts. memory_tool.py describes persistent MEMORY.md and USER.md files entering the prompt as a frozen snapshot at the start of a session.[4]

What is directly observable here is the accumulation of external knowledge and procedural experience. It is not the same as automatic updates to the underlying model weights. Nor does the existence of this mechanism establish a claimed 40% speedup on repeated tasks. That number was not reproduced for this article.

The important question is how experience earns trust.

If an agent turns a mistaken troubleshooting sequence into a skill, it may move faster next time—while repeating the mistake faster. If it copies a hostile instruction from a webpage into long-term memory, the risk can outlive the conversation that introduced it.

Skill generation should therefore answer at least three questions: where did this procedure come from, under which conditions is it valid, and how can it be withdrawn after a failure? Persistence is not a reason for default trust.

Hermes also supplies hermes claw migrate for OpenClaw configurations, memories, and skills. Its migration code treats credential transfer separately through --migrate-secrets, skipping relevant keys when the option is not enabled.[3][4] That detail is more revealing than a claim to replace a rival. What moves between frameworks may include access capabilities, not just chat history. Moving to a new runtime does not automatically remove errors or excessive permissions from the imported material.

nanobot: easier to read is not less responsibility

nanobot takes another route: Python, self-hosting, and a lightweight framework. The official README lists file operations, shell access, web retrieval, MCP, scheduling, memory, and multi-agent delegation. It also makes clear that the user must supply a model provider or local model server.[5]

That is precisely why line count is an inadequate way to evaluate an agent.

A small core can reduce the cost of understanding and modifying a system. It does not, by itself, establish a smaller deployed attack surface. Once files, a shell, a browser, and external services are connected, the practical boundary depends on the complete configuration, dependencies, and permissions—not the length of one core module.

The inspected source is not merely a tiny loop, either. loop.py passes tool collections, runtime settings, and iteration limits to AgentRunner. skills.py loads skill text from SKILL.md. shell.py contains workspace checks, command rules, and configurable sandbox wrapping.[6]

These are identifiable implementation details, not security proofs. A check can exist without establishing that every execution path passes through it. A setting can be available without being enabled in the deployment under discussion.

For that reason, this article does not repeat “roughly 4,000 lines” or “99% smaller” as measurements of the entire current project. Without a common revision and counting method, those numbers are better treated as historical positioning than as an engineering verdict today.

nanobot still has a real attraction: an understandable, modifiable runtime can be easier to diagnose than a black box. Readability is a condition for starting to manage risk, not evidence that the risk is already managed.

Jev: separate judgment from execution

The first three projects organize assistants that use tools. Jev tries to carve out one part of that work as a dedicated interface.

TypeSafe’s official documentation defines three primitives:[7]

  • Choice selects among predefined options, such as routing a ticket to billing or technical support.
  • Score evaluates against a defined ordered scale and rubric.
  • Noul returns a probability for a yes-or-no proposition.

The model takes state and typed questions, then returns decisions and probabilities rather than prose or reasoning explanations. TypeSafe calls this class of model System One. That is the company’s product and technical classification; it does not mean classification, ranking, or probability estimation were invented this year.

The usefulness is concrete. In a refund workflow, recognizing “the customer requested a refund” is a different job from executing “refund this amount to this person.” A model may help with the former. The latter must remain constrained by transaction records, policy, and explicit authorization.

Type safety addresses only one layer. refund can be a valid option and still be the wrong answer. A probability of 0.95 is not evidence that the user approved the refund. TypeSafe’s own documentation explicitly says calibration is measured across groups of predictions and does not guarantee an individual answer is correct.[7]

At the time of inspection, the official model page lists Jev 1.13 and 1.14, with default limits of 64k tokens per request and 32k per question. Longer context requires explicit opt-in, and the vendor warns it is slower and less accurate.[8] These operational details are more useful than an unqualified “zero hallucinations” label.

Jev is potentially an organ inside an agent, not its complete replacement. Whether it belongs there should depend on missed cases, false positives, escalation rates, and total elapsed time on actual work—not the speed of one demonstration.

The important boundary comes before the final write

Together, these projects suggest a brand-independent workflow:

User goal and authorization
    ↓
Orchestration: retrieve material, assemble context, select tools
    ↓
Judgment: a general model or specialist proposes the next step
    ↓
Pre-execution checks: target, scope, limits, approval, prior execution
    ↓
Tools and external services
    ↓
Outcome evidence → follow-through and memory

This is a design decomposition proposed in this article, not a claim that all four products implement the same architecture.

The most easily overlooked check is prior execution. If a payment endpoint times out, the agent knows it did not receive a result. It does not know the money was never sent. Another attempt may be a duplicate payment, not recovery. Similarly, a successful git push does not mean a pull request exists; an open pull request does not mean the change has been merged or deployed.

A credible assistant must distinguish a proposed action, an approved action, a dispatched request, and a result confirmed by the external system. Calling all four “done” merely hides uncertainty in fluent language.

MCP and skills cannot guarantee this boundary on their own. MCP addresses connection and invocation interfaces; a skill supplies procedural knowledge. Neither, by itself, proves that the user authorized an external action. OpenClaw’s own skills documentation tells operators to treat third-party skills as untrusted code, read them before enabling them, and prefer sandboxing for risky tools and untrusted inputs.[2]

The cloud changes who answers the question, not the question itself

Self-hosting versus cloud hosting is often framed as sovereignty versus convenience. The operational responsibilities do differ. Both approaches still need to separate execution from authorization.

OpenAI introduced dots on September 29. Its official announcement describes agents powered by GPT-6 Astra, with their own cloud computer, browser, and connected applications, able to keep working between conversations.[9] That establishes a concrete example of a persistent cloud agent without relying on a second-hand product roundup.

Its stated boundaries make the more useful comparison. OpenAI says proactive research uses read-only tools, while follow-up actions remain subject to the normal rules and checks. Its safety explanation says key enforcement controls are outside the environments a dot can modify.[9][10]

These are the vendor’s descriptions, not an independent security audit conducted for this article. They do identify an important engineering direction: the environment responsible for getting work done should not also have a switch that disables its own constraints.

Conversely, self-hosting need not mean relying on a prompt alone. Accounts, filesystem mounts, network access, and external writes can be restricted outside the model. The relevant questions are who implements that boundary, who can change it, and who can reconstruct what happened after a failure.

Atlas provides a related caution about interpretation. OpenAI’s official transition documentation moves browser-agent capabilities into ChatGPT and Codex and schedules Atlas to stop working on August 9.[12] That supports a claim about the reorganization of product entry points. It does not establish that users will never switch browsers for AI. One product’s retirement is not a causal experiment on an entire category.

Divide cost by accepted tasks, not demo duration

Model prices matter. Agent bills also include repeated context, failed attempts, browser environments, search services, and the time someone spends checking the result again.

A minimum useful definition is:

Direct cost per accepted task
= (model fees across all attempts + tool fees + execution environment fees)
  / number of accepted tasks

Record human review time separately. If it is converted to money, disclose the hourly rate rather than quietly treating it as zero.

Model announcements themselves can mix cost measures that should remain separate. Anthropic says Opus 5.5’s input and output token prices are 20% below Opus 5. Its roughly 40% reduction on typical workloads also reflects token usage and caching, among other factors.[11] “About 40% cheaper to run” is not “every token is 40% cheaper.”

Here is arithmetic, not a measured workload: an attempt using exactly 100,000 uncached input tokens and 10,000 output tokens would cost $0.60 in model fees at the official standard rates of $4 and $20 per million tokens. Three complete attempts with identical usage and no caching benefit would cost $1.80. Neither figure includes browser, search, or review costs, and neither is presented as typical observed usage.

Jev’s official price is $0.042 per million input tokens, with free output.[8] But a cheap classification request cannot be compared directly with the total cost of an agent researching, changing code, and validating the result. The low price matters only if the call actually replaces a decision in that workflow without introducing additional misrouting and rework.

My conclusion: “which agent is strongest?” is the wrong first question

OpenClaw’s control plane, Hermes’s accumulated procedures, nanobot’s inspectable runtime, and Jev’s bounded judgments answer different questions. Treating them as four interchangeable assistants obscures the design changes that matter.

A personal agent is not just a model that talks better. It is software that retains context, reaches external systems, and must deal with failure and waiting over time.

For that kind of system, four properties matter more to me:

  1. It can identify which data and permissions a task actually touched.
  2. It does not mistake web content, memory, or a high-confidence answer for fresh authorization.
  3. It distinguishes an attempt from an outcome and does not blindly retry a write with an unknown result.
  4. It keeps failed attempts and human rework in the accounting.

The interesting development in 2026 is not only which model gains another few points. It is which products begin to build these responsibilities into their operation.

The keys can be delegated. Judgment, approval, and evidence of completion cannot simply disappear with them.

Sources and limits

Accessed October 21, 2026. Pinned commits identify the code actually inspected; online documentation may continue to change. Source reading is not runtime evaluation or a comprehensive security audit.

  1. OpenClaw README, revision d9387f6: Gateway, replaceable models, data flow, and MIT license.
  2. OpenClaw sandbox documentation; skill trust boundaries: default isolation, host/tool separation, and third-party skill warnings.
  3. Hermes README, revision 7dcb1b4: the vendor’s learning-loop description, migration command, and MIT license.
  4. Hermes at the same revision: skills_tool.py, memory_tool.py, and migration script: file-based skills, memory snapshots, and credential-migration opt-in.
  5. nanobot official repository; MIT license, revision 29d1600: project scope, capabilities, and prerequisites.
  6. nanobot at the same revision: loop.py, skills.py, and shell.py: runtime orchestration, skill loading, and execution boundaries.
  7. TypeSafe: System One: Choice, Score, Noul, text input, and calibration versus individual correctness.
  8. TypeSafe: Models; official Python SDK: versions, context opt-in, pricing, and client code.
  9. OpenAI: Introducing dots: September 29, 2026 launch, cloud computer, and proactive-research scope.
  10. OpenAI: How we build safety, security, and privacy into dots: the vendor’s isolation and pre-execution checks.
  11. Anthropic: Claude Opus 5.5: September 22, 2026 launch, standard token prices, cache prices, and typical-workload cost claims.
  12. OpenAI: Evolving Atlas into ChatGPT for browser-based agentic work: planned retirement and capability transition, not a causal conclusion about the browser market.