X-Git-Url: http://git.giacomolli.uk/onechat/blobdiff_plain/2a276c273c21a1752d541bf87e074c5d1c27e30f..6004a6d0f7af1ecf3d0ac976f50bb4f93c619887:/README.rst diff --git a/README.rst b/README.rst index 3112355..473d1e5 100644 --- a/README.rst +++ b/README.rst @@ -138,6 +138,23 @@ ends with them, and a change applies at the next call. The agent can propose a change to the file, and it makes the change only after the user agrees. +A permanent child agent lives in ``agent/children/NAME/`` with the same +files as the root. Create its directory and ``config.json`` by hand +before startup. Use the root config fields with a separate random ID, +set ``name`` to ``NAME``, and add ``parent`` with the root name and +``responsibility`` with the child's area. The daemon opens all children +at startup. A missing or invalid child config stops startup. Only one +level of children is supported. + +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. There +are no messages or tools between parent and child agents. A child's +saved schedules and subagents can resume at startup. The ready log line +lists the child names. + ************** User service ************** @@ -236,14 +253,15 @@ command prints its path and size in bytes. With no daemon, it fails. ONECHAT_DIR=EMPTY_DATA_DIR onechat restore BACKUP_FILE.tar.gz The daemon flushes memory and holds its write locks during the agent -copy. It also flushes and locks the subagent logs. It copies the -WhatsApp session with SQLite ``VACUUM INTO``, not as raw database files. -It then compresses the copy and installs the archive through a temporary -file and a rename. Use a backup path outside the data directory. +copy. It also flushes and locks the child agents and all subagent logs. +It copies the WhatsApp session with SQLite ``VACUUM INTO``, not as raw +database files. It then compresses the copy and installs the archive +through a temporary file and a rename. Use a backup path outside the +data directory. The archive includes configuration, instructions, the log, tree, -indexes, views, layout, schedules, subagents, Telegram offset, tokens, -and WhatsApp state and session. It excludes sockets, lock files, +indexes, views, layout, schedules, subagents, children, Telegram offset, +tokens, and WhatsApp state and session. It excludes sockets, lock files, ``probe/``, and the ``agent-backup-*`` import copies. Links and special files fail, rather than enter the archive. **The archive holds secrets**, including login tokens, the Telegram bot token, and the