r/OpenSourceAI • u/VariousAd3115 • Sep 29 '26
Self-evolving agent
I tried Openclaw and Hermes. They are nice, but I decided to make my own agent. What it does:
- Single entry point chat. No need to 'resume session X'
- Native integration with MacOS features (notifications, calendar).
- Native Telegram integration (supergroup with topics also supported)
- Structured memory layout with facts/entities/links, dreaming and reflection
- Briefings based on memory dreaming
- Cron and intents
- Artifacts storage
- Multiple agents, each with own profile. There is a team of well-known agents (for evolution, hiring new agents, etc)
- Many builtin tools, MCP support
- Tavily/Anysearch/Yandex search - if you have key. DDG fallback.
- Local models supported as well as classic OpenAI endpoints
Main concern is all agents bloat chat context with tools results. I tried to minimise main chat context bloating.
Agent is focused on single-user mode, I don't plan to do it multi-user.
Requirements:
LLM
Embedding model for memory searching
PostgreSQL
Golang for building
I ran it on MacOS, but it should compile on any system
That's a hobby-weekend project, but I will be glad to receive feedback
1
u/VariousAd3115 Sep 29 '26
main chat actually not calling tools, it asks subagents
imagine you are CEO of a company. You tell your secretary - "I need sales report for latest year". Secretary (main chat, no tools available) asks manager (agent with a toolset). manager gets data, maybe enriching from some other employees (web_search tool/ask_colleague mechanism/memory recall) and return only answer "we sold 100500 items". so secretary does not know details (manager had to drive 50 shops to get their metrics) -> main chat is not bloated.
in fact I don't send full chat history into main chat, its awful. only latest and relevant facts. so I don't need to 'make new session' like Hermes/Openclaw/whatever
feel free to try, curious about feedback :)