Do I need to know how to program?
No. The agent assembles pages from your words: you describe what a page needs, and it builds the page from ready-made blocks. Programming is only needed for dynamic blocks that compute data — and even that is handled by the agent. From you it only takes the knowledge of which numbers you want to show and where they come from.
Who edits the portal pages?
The managing AI agent. People do not edit content in a browser: the interface has no editor, only page viewing and commands to the agent. This is deliberate. The content lives as plain files under git — a version store — so every edit is visible and an unlucky one can always be rolled back. There are also never two “latest” versions of a page, or changes nobody can attribute.
Can I show the agent exactly what to fix on a page?
Yes, and in two ways. The first is to leave a remark: select the fragment that is not right, write a comment on it and press Comment. The second is to send a task straight away: the same selection and your instruction go to the agent as a separate conversation, and it starts on the fix immediately. In both cases you do not have to explain in words where things are — the remark remembers the selected text itself. Remarks are visible to the administrator inside the portal only — they never reach the public site (see the Page Comments section).
What happens when a reader submits a form to the agent or presses a request button?
The portal opens a separate conversation for the agent: its first message is what the form or button assembled. The conversation appears in the chat list and works on its own — the chat panel does not open, and nothing has to be switched on: the agent starts on the task right away. If the button or form has consequences configured, after the task is accepted the needed blocks on the page refresh and the stated page opens — beside the current one or in a new tab. A task that did not go through produces nothing but an error message. Details are in the Buttons & Actions and Forms sections.
Do I need Xedant Agent?
Yes, if you want the chat and edits in plain words: the agent connects by address and key, after which you can say “add a contacts block to the home page” — and it will do it. Without it the portal still works: pages and the tree are visible, the public site opens, dynamic blocks compute. Only the agent chat is hidden. Details are in the Chat with the AI Agent section.
How is this different from WordPress and ordinary content management systems?
The content lives as files in git and is fully controlled by an agent, not a person: the interface simply has no editor. Pages are assembled from 28 block types, and some blocks compute data with Python scripts — the numbers on the page are live, not typed in by hand. Ready-made systems are convenient for hands-on edits, but they require someone to make those edits. Here you describe in words what you need — and get a page. More about the website product is on the WordPress Agent page.
Where is the data stored, and can everything be moved?
On your server. The service data (the database, the license, unread marks) lives in the permanent /apps/portal volume, while the portal content itself is in a separate /project/apps/portal folder. The content is plain files: the folder can be kept in git whole and moved to another server by copying. No export or import is needed, and the data is not tied to the program. The product is deployed on your server through Xedant MultiAgent, as part of the Agent Factory subscription.
Where should keys and fine-grained settings be kept?
In the .env file in the root of the project folder — next to the portal content folder. That is a convenient place for the portal management key, the key to your Xedant Agent and everything else you would rather not spell out in compose.yml. It never gets into git: it usually holds keys. The file is read at startup and re-reads on the fly: edits apply within a second, without a restart. Settings that are read once at startup (the database, the agent address and key, the license, the brand) are picked up after a restart. If the agent is opened by people at a different address than the service one (for instance, the service address is an internal one on the server’s network), it is set by AGENT_URL: the links that reach the browser are built from it. The portal’s own external address is set by PORTAL_APP_URL.
Can part of the portal be opened to the outside?
Yes. A page with “public” access opens for everyone at /p/, and the public site’s menu is built from the published pages — with the order and depth you set. Drafts and internal pages look exactly like non-existent ones from the outside: nobody will even guess they exist. Details are in the Page Access and Public Site sections.
Are dynamic block scripts safe?
The scripts are as much a part of the content as the page text, and they are written by the managing agent you trust. They run right on the server, in a separate Python environment: without launching a system shell, with a time limit (usually up to a minute for filling a page and up to two minutes for an action) and at most four at a time. There is no separate isolated “sandbox”: a script runs with the application’s rights, so trust in whoever edits the files matters here just as with any other code.
Will the portal be slow?
The pages themselves are read from files, so they open fast. Script results can be kept for a while: the period is set in the block’s settings, and then a repeat view takes the ready result without pulling your systems again. By default the script runs on every open — handy for fresh numbers — and for heavy calculations it is enough to set a storage period of a few minutes. Details are in the Dynamic Python Blocks and Charts sections.
Where does the portal take the numbers for its summaries?
By two paths. If the numbers already lie in your database (PostgreSQL, ClickHouse or SQLite), it is enough to describe in the page what to take — and the portal goes to the database on every view itself. If the data has to be collected or calculated first, the agent writes a small Python script. The result can be shown in 33 ways: from a single number and a gauge to a map of regions (see the Data Sources & Visualisations and Dynamic Python Blocks sections).
How much does it cost and what does the license give?
The license comes with the Agent Factory subscription, and there is a free key for the trial period. It is needed only for sending messages in the chat with the AI agent: the tree and pages, blocks, dynamic blocks, forms, the public site and content edits by the agent work without it.