3 ms·
Show HN: Airlock – self-upgrading compiled AI agents
Airlock is a platform for creating and running cyborg agents - half-code half-AI compiled binaries that execute code where possible and invoke AI where needed
The short version:
- Agents are compiled containerized autonomous go binaries
- They use normal code for deterministic/repeated work and call AI when needed
- They can be interacted with via chat, web, cron, webhooks
- They can upgrade themselves through Airlock api call to generate new tools/fix errors
- Airlock manages OAuth, storage, sandboxing, web UI and bridges to telegram/discord
Example:
Tell agent "I want to edit Google Sheets"
-> Airlock generates integration code, handles OAuth, stores tokens securely and gives you a chat interface
Tell it "I want a webpage where I can upload picture of my food so you write calories to the spreadsheet"
-> Airlock will upgrade the agent to give you a webpage with a picture upload form. Webpage is rendered from inside the agent.
<bio>
Hello HN! I wanted to share a personal project I've been working on for quite a while. But first - a little bit about myself. I am 32yo, backend software engineer with more than 12 years of experience. I got taught some very basic C and Assembly in school and then Left 4 Dead came out. In order to host L4D game servers I learned how to Linux and how to write actual working code (sourcepawn), then I switched to Minecraft hosting/modding and then I had to focus on Uni. I have spent some time working in enterprises as well as in startups. I worked as a backend engineer, system analyst, system architect, PM, ... I even tried to make a MedTech startup as a cofounder (I was doing only the IT part and we got no traction). And about 2 years ago I decided I want to try to do something by myself. I switched to freelance but I always wanted to actually make something of my own and then show it to everyone.
About a year ago I started working on something personal. I first started with an MCP gateway, pivoted to a company's agentic slack-like platform and then finally switched to my current project. In order to build it I had to implement an AI thinking loop. I could use ready libraries but I wanted go and I needed a coding harness like loop. So I decided to port some parts from opencode to go. And since opencode requires vercel/ai-sdk I had to port that as well.
So in the last ~4 months I
ported vercel/ai-sdk -> airlockrun/goai
ported opencode -> sol
Verified the thinking loop by recording opencode<->LLM interaction and replaying it on the ported code.
Then built the Airlock system - agentsdk as a library for agents, airlock as a platform to create, evolve and run these agents.
</bio>
<current state and roadmap>
This is an alpha version and bugs are expected even after my thorough testing. You can check out the quick local deployment but you will be missing some features and Agent<->LLM interaction will be degraded. If you have a VPS and a domain - this is the recommended way to run it. Look at the readme, its literally
git clone ... && git checkout ... && cp .env.local.example .env && docker compose -f docker-compose.yml -f docker-compose.local.yml up -d
In the near future I will be adding agent-to-agent calls, exposing self-coded tools as MCP server, improve self-upgrade times and webpage styling, remote agents, etc.
</current state and roadmap>
In any case, thank you for reading, I really hope you check out the project and give some feedback.
- hiroto_lemon 5mo agoWhat are the trigger conditions for the self-upgrade, and how do you manage MCP connections and permissions during an update? Also, what’s your strategy for rollbacks?
- cyberteaborg 5mo agoOuch, didn't see your question. Self-upgrade can be initiated by chatting with the agent, it can be manually called via Actions->Upgrade web ui or if you experienced errors during chatting with the agent (tool errors) you can trigger self-repair from the Runs tabs in agent's page. I am aiming for an auto-repair in future but right now the main trigger is basically chating with the agent: chat, and if you want any new features or there are errors you just request upgrade in chat - the LLM will send the context to the builder agent. Connections and MCP connections (these are different) credentials are saved on the Airlock's (platform's) side. So the credentials are kept after an agent upgrade. Permissions are defined in the agent's code (admin/user/public) and are auto-updated. Rollbacks are not possible right now. But every agent's update is a git commit. And every agent has to write migrations. In the near future an option to rollback to a specific build will be added. Right now I think you can try to just request an upgrade to rollback, I think the builder agent will be able to look into git history and rollback. But this is not really tested. As I mentioned before this is an alpha version.
- hiroto_lemon 5mo ago[flagged]