Peer Configuration
By default, all peers are “observed” by Honcho. This means that Honcho will derive facts from messages sent by the peer and generate a representation of them. In most cases, this is why you use Honcho! However, sometimes an application requires a peer that should not be observed: for example, an assistant or game NPC that your program will never need to ask questions about. You may therefore disable observation of a peer by setting theobserve_me
flag in their configuration to false
.
If the peer has a session-level configuration, it will override this configuration. If the flag is not set, or is set to true
, the peer will be observed.
Session Configuration
By default, all sessions have the deriver enabled, much like peers. You may create a session that escapes the deriver’s watchful eye by setting thederiver_disabled
flag to true
. You can update the flag by calling get_or_create
on the session with a new configuration.
Session-Peer Configuration
Configuration at the session-peer level is the most common use case for configuration flags. You will often want to arrange a session such that certain peers observe others in order to form “local representations” of them. There are two flags that can be set at the session-peer level:-
observe_me
: Whether this peer should be observed by others in the session. By default, this istrue
. This overrides the peer-levelobserve_me
flag. -
observe_others
: Whether this peer should produce local representations of others in the session. By default, this isfalse
. Other peers will only be observed if theirobserve_me
flag istrue
.
observe_others
flag to true
for at least one peer in the session and at least one other peer must have their observe_me
flag set to true
.
Many applications will work best without local representations, preferring to chat with Honcho’s top-down representation of each peer. Only enable local representations via the observe_others
flag if you are doing advanced reasoning on user perspectives.

set_peer_config
on the session with the peer and the configuration you want to set.