L3 AI TOOLING / CASE STUDY
Personal AI agents, deployed and managed
Setting up an always-on, secure and controllable personal AI agent for an individual or a small team, demonstrated on my own agent in production.
In production · Since June 2026
The starting point
A personal AI agent goes further than a chatbot: it keeps a memory, runs scheduled tasks and replies on a messaging app. This know-how was built in two stages on an open-source agent: a local installation paired with Claude Code in June 2026, then an always-on cloud deployment with its own control console in September 2026.
The problem
Open-source agents are powerful but hard for a non-specialist to put into service: installation, hosting, secrets, inference costs, remote access. Once online, they can often only be driven through messaging, with no clear view of automations or logs.
The answer
The agent is hosted in a container with a persistent volume, reachable on Telegram, and comes with a web console and a command line: create, run or pause automations, chat with the agent, follow the logs. Its internal API is never exposed directly: an authenticated proxy injects the key on the server side. The installation is documented and reproducible, and the choice of models takes cost into account.
- Always-on agent in a container (Docker, Railway), memory on a persistent volume, Telegram access
- Web console: scheduled automations (create, run, pause, delete), live chat and logs
- Control command line: status, logs, restart, questions to the agent, task management
- Authenticated proxy to the agent's internal API, with the key injected on the server side
- Versioned agent personality, installed at every start-up
- Local pairing where the agent orchestrates and delegates code execution to Claude Code
- A 10-step installation guide and a verified installation script
Under the hood
A single service hosts the open-source agent, its supervisor (status, logs, restart), the web console and a proxy to the agent's API, which stays bound to the container's local interface. The original supervisor is changed in only four lines: all the added logic lives in a separate module, so it can stay in sync with the community template. The API key is generated at first start-up and kept on the persistent volume. Locally, the agent plans with an economical model and delegates technical execution to Claude Code.
The notable challenge
Automations were failing while chat worked: the scheduler looks for the model in a variable that the admin interface does not set, and the API offers no way to set it. The problem was isolated in production, then fixed by bridging the two variables in control.py, and recorded in the documentation.
My role
Installation, development of the console and the command line, a cloud deployment done entirely from the command line, and end-to-end verification of an automation.
Where the project stands
The agent has been running in production since 7 September 2026, and the full life cycle of an automation (creation, execution, deletion) has been verified. The set-up is ready to be reproduced for another user; it has not yet been installed for a client.
- Reproduce the installation for a first external user
- Isolate each agent: its own secrets, volume and messaging account
A few figures
The project’s tools
- Agent
- Hermes Agent (open source, Nous Research)
- Control
- Python (Starlette, aiohttp), framework-free HTML/CSS/JS, Node.js CLI
- Hosting
- Docker, Railway, persistent volume
- Messaging
- Telegram
- Models
- DeepSeek (orchestration), Claude Code (local execution)
- Scripts
- PowerShell, Python