]> git.giacomolli.uk - onechat/blobdiff - README.rst
Manage source routes with root tools
[onechat] / README.rst
index 556ab46e51bb0e2957c6eb230324cb61ed97c933..36db09c371132db8ddb1455b901533b5935521dc 100644 (file)
@@ -155,9 +155,9 @@ Each child has its own memory, model client, usage file, subagents,
 schedules, and turn loop. Its prompt limits work to its area, asks for
 only reports that need the parent or the user, and permits an empty
 reply. Children have no WhatsApp tools and draft replies instead of
-sending them. Clients and WhatsApp still address only the root. A
-child's saved schedules and subagents can resume at startup. The ready
-log line lists the child names.
+sending them. Clients address only the root. A child's saved schedules
+and subagents can resume at startup. The ready log line lists the child
+names.
 
 A message from a parent to its own child enters the child's log as
 ``user`` and wakes it. A child's final reply reaches the parent as
@@ -443,7 +443,8 @@ device. The terminal client and Telegram take three commands:
 
 ``/whatsapp status``
    Shows the link: not linked, linked and connected, or linked and
-   disconnected, with the times of the connection.
+   disconnected, with the times of the connection and the WhatsApp
+   routes.
 
 ``/whatsapp unlink``
    Ends the link and deletes the session. When WhatsApp is disconnected,
@@ -518,6 +519,13 @@ agent has the WhatsApp tools, not its subagents.
 Each batch of a group goes to the chat, also with no turn, and the
 memory tree summarizes it with model calls, which use the quota.
 
+The root manages source routes with ``route(source, agent)``,
+``unroute(source)``, and ``routes()``, only after the user agrees. A
+source is ``whatsapp:CHAT-ID``, with the ID from ``whatsapp_find`` or a
+``[WhatsApp]`` message, and the agent must be its child. The root keeps
+the map in ``agent/routes.json`` with mode 0600. Children and subagents
+have no route tools. There is no command to change routes.
+
 When the session holds a linked device, the daemon connects at its
 start. If the first connection fails, it tries again after 2 seconds,
 then doubles the wait up to 5 minutes. The inbox and commands stay