Caroline is the one dispatcher
Tasks come from her. App agents do not listen to other traffic and do not call one another; everything goes through her and the system.
Agents & A2A
An application in Beroun can contain agents. It publishes them to the system, Caroline hands them tasks, and the system keeps every step visible.
How it works
The owner asks Caroline. "Plan my week from the calendar." By voice or in chat.
Caroline picks the specialist from the agents' own descriptions, here the calendar's planner, and hands it a task.
The agent works on its own. With plain code or with AI of its own; Caroline watches progress and can cancel at any time.
When the agent needs a decision, "move Thursday's lunch?", the task waits for input. Caroline asks the owner and passes the answer back into the same task.
The result comes back to Caroline, who reports to the owner. The whole chain, who was asked what and what came out, is in the log.
The task
A task is not a function call that blocks. It has a state, the assistant sees how it is going, and a long task never holds the assistant up.
Tasks come from her. App agents do not listen to other traffic and do not call one another; everything goes through her and the system.
The dispatcher checks permissions, starts the agent's service on demand, keeps the task log and signs every action.
Which agent was given what, what it asked, and what came out.
In the manifest
Name, a description for the assistant, skills with their input and result, the permissions it needs, and where it runs: in the page, in the app's service, or in a process of its own. Install the app and its agents are registered; remove it and they are gone. There is no separate registry and nothing to switch on.
A calendar's planner agent. long runs the skill as a task Caroline can follow and cancel; confirm marks a skill with an effect outside the app.
An agent names what of the system it may use. Its own app's data needs no permission, and another app's data is out of its reach: Caroline is the one who passes things between apps.
An agent may call the Camerlengo API of SquirrelWisdom for models and other commands. It names the command families it needs in the manifest, and that declaration is the permission.
The call goes through the system dispatcher: keys and the owner's session stay with the system, and every call is logged under the agent's name, so it is clear who spent what.
Open protocol
Tasks and messages in Beroun follow the form of the open Agent2Agent protocol. That opens the device in both directions.
An app's agent can be reachable from outside: the system builds its Agent Card from the manifest and accepts tasks over the network.
External agents join Caroline as her own, declared through a manifest in the same way.
For an app that only declares tools for the assistant nothing changes: it is simply an agent without a model of its own.
Beroun
Declare an agent in your manifest and Caroline can put it to work.
Build an agentSee the architecture