Summary
The root agent peer is always created with observeMe: true (hardcoded), so Honcho derives a self-observation model / peer_card for the agent itself on every message. For self-hosted coding-assistant deployments this produces ongoing LLM-deriver cost and DB growth with no downstream consumer. Requesting a config option to opt out.
Why this matters for our deployment
We run @honcho-ai/opencode-honcho 0.1.3 self-hosted against OpenCode 1.17.13. For a coding assistant the agent peer_card is effectively operational noise rather than a stable model of anything:
- Sample derived observations for the agent peer:
opencode completed a build operation on ...
opencode has stopped the Gradle daemon
opencode is updating the 'todo' list
opencode is in 'assembly mode'
- The peer_card currently holds 88+ observations / 40+ attribute lines, mostly duplicating facts already stored on the user peer (stack, projects, config).
- These entries are never consumed in our setup, but the deriver still processes every agent message to produce them, and the representation keeps being rebuilt.
We fully understand this is intentional (README describes a "fixed observation model tuned for OpenCode") and that it is genuinely valuable for the companion / tutor use-cases Plastic Labs targets. We're not asking to change the default — only to make it configurable, in the same spirit as the removeUserPrefix flag added in 0.1.3.
Current behavior
observeMe: true for the root agent peer is hardcoded in three places:
dist/index.js / dist/server.js
buildPeerTopology — rootAgentPeer.observeMe = true (and the matching sessionPeerConfigs[rootAgentPeer.id].observeMe = true)
createActiveRuntime — honcho.peer(handle.activeAgentPeerId, { configuration: { observeMe: true } })
There is no config key in ~/.honcho/config.json → hosts.opencode to override it, and PATCH /v3/workspaces/{w}/peers/{p} returns Method Not Allowed, so it cannot be flipped at runtime either.
Proposed solution
Add a config option under hosts.opencode, e.g.:
When false, the root agent peer would be created with observeMe: false, so no self-observations are derived for it. User-side observation (observeMe/observeOthers on the user peer) stays unchanged.
(Alternative: a more granular peerTopology override object — happy with either.)
Workaround we currently ship
In our local context-enrichment shim we simply stopped reading /peers/{agent}/context into the prompt (the "Agent Work Context" section). That removes the noise from the prompt but does not stop the writing side, so the DB and deriver cost keep accumulating — which is exactly why a plugin-level opt-out would help.
Environment
@honcho-ai/opencode-honcho 0.1.3
- Self-hosted Honcho v3.0.x (local,
http://127.0.0.1:8000)
- OpenCode 1.17.13,
recallMode: tools, sessionStrategy: per-directory
Summary
The root agent peer is always created with
observeMe: true(hardcoded), so Honcho derives a self-observation model / peer_card for the agent itself on every message. For self-hosted coding-assistant deployments this produces ongoing LLM-deriver cost and DB growth with no downstream consumer. Requesting a config option to opt out.Why this matters for our deployment
We run
@honcho-ai/opencode-honcho0.1.3 self-hosted against OpenCode 1.17.13. For a coding assistant the agent peer_card is effectively operational noise rather than a stable model of anything:opencode completed a build operation on ...opencode has stopped the Gradle daemonopencode is updating the 'todo' listopencode is in 'assembly mode'We fully understand this is intentional (
READMEdescribes a "fixed observation model tuned for OpenCode") and that it is genuinely valuable for the companion / tutor use-cases Plastic Labs targets. We're not asking to change the default — only to make it configurable, in the same spirit as theremoveUserPrefixflag added in 0.1.3.Current behavior
observeMe: truefor the root agent peer is hardcoded in three places:dist/index.js/dist/server.jsbuildPeerTopology—rootAgentPeer.observeMe = true(and the matchingsessionPeerConfigs[rootAgentPeer.id].observeMe = true)createActiveRuntime—honcho.peer(handle.activeAgentPeerId, { configuration: { observeMe: true } })There is no config key in
~/.honcho/config.json→hosts.opencodeto override it, andPATCH /v3/workspaces/{w}/peers/{p}returnsMethod Not Allowed, so it cannot be flipped at runtime either.Proposed solution
Add a config option under
hosts.opencode, e.g.:{ "hosts": { "opencode": { "agentObserveMe": false // default: true (backward compatible) } } }When
false, the root agent peer would be created withobserveMe: false, so no self-observations are derived for it. User-side observation (observeMe/observeOtherson the user peer) stays unchanged.(Alternative: a more granular
peerTopologyoverride object — happy with either.)Workaround we currently ship
In our local
context-enrichmentshim we simply stopped reading/peers/{agent}/contextinto the prompt (the "Agent Work Context" section). That removes the noise from the prompt but does not stop the writing side, so the DB and deriver cost keep accumulating — which is exactly why a plugin-level opt-out would help.Environment
@honcho-ai/opencode-honcho0.1.3http://127.0.0.1:8000)recallMode: tools,sessionStrategy: per-directory