Team AI-agents uitvoeren in Slack met Centaur

Ontwikkelaars omarmen snel CLI-agents zoals Claude Code, Codex of Amp. We vragen ze om een module te refactoren, tests uit te voeren of een bug in logs te vinden. Maar de resultaten van dit werk blijven meestal in de terminal van een specifieke engineer. Wanneer een vraag over een mislukte build opduikt in een werkchat, moet iemand naar de console gaan en handmatig gegevens naar het neurale netwerk sturen.
Venture fund Paradigm heeft Centaur als open source uitgebracht. Het is een platform dat lokale autonome agents omzet in gedeelde teamassistenten die direct in Slack of Teams wonen.
Waarom je Centaur nodig hebt
De belangrijkste uitdaging bij het implementeren van AI-agents over een heel team is beveiliging. Een LLM directe toegang geven tot een omgeving met productiesleutels is gevaarlijker dan een stage student op vrijdagavond in productie laten. Centaur lost dit op door geïsoleerde sandboxes.
Je implementeert het platform in je eigen infrastructuur. Een teamlid noemt @centaur in een Slack-thread met een taak, en het systeem maakt een geïsoleerde context aan en begint te werken.
# Пример взаимодействия в Slack
@centaur можешь разобраться, почему падают тесты биллинга?
Daarna wijst Centaur een aparte container toe voor de taak, voert daar een agent uit, geeft het toegang tot code en tools, en levert tussenliggende en eindresultaten terug naar de thread.
Beveiliging en architectuur
De ingenieurs van Paradigm hebben een veilige grens ontworpen voor autonome code-uitvoering. Het systeem bestaat uit verschillende componenten:
- Rust Control Plane — verwerkt wachtrijen, gespreksstatus, autorisatie en workflow-uitvoering via Postgres.
- Kubernetes Sandbox — elk gesprek start een container-gebaseerde isolate. Het wordt geleverd met vooraf geïnstalleerde Git, Python, Node.js, Bun en een basisset van CLI-hulpprogramma's.
- iron-proxy Netwerkproxy — verwerkt geheimenbeheer.
Het meest interessante deel hier is on-the-fly referentievervanging. Standaard heeft de pod met de agent NetworkPolicy geblokkeerd. De agent ontvangt helemaal geen echte API-sleutels of tokens van interne services. De omgeving bevat in plaats daarvan nep-placeholder strings.
Wanneer de agent een HTTP-verzoek maakt naar een API van een derde partij, gaat verkeer door de proxy-laag. De proxy controleert het doeldomein, vindt de corresponderende header en vervangt de echte sleutel uit 1Password vlak voordat het pakket naar het externe netwerk wordt verzonden. Zelfs als het model wordt gecompromitteerd of output genereert met al zijn env, lekken echte geheimen niet uit.
Slack / API
│
▼
Centaur API (Rust + Postgres)
│
▼
Kubernetes Sandbox (Agent + Workspace + Shell)
│
▼
iron-proxy (Проверка доменов и инъекция реальных секретов)
│
▼
Внешний интернет / Внутренние сервисы
Hoe de mogelijkheden van agents uit te breiden
Centaur heeft twee uitbreidingsformaten: Tools en langlopende Workflows.
Tools
Tools worden verpakt als gewone Python-packages. Ze kunnen de interne API's, databases of CLI-hulpprogramma's van je bedrijf wrappen.
Wanneer de container start, mount het platform deze scripts als command-line wrappers. De agent ontdekt ze bij het opstarten via het centaur-tools list commando en leest argumentinstructies uit --help.
De toolstructuur ziet er bekend uit:
tools/my_tool/
├── __init__.py
├── client.py
├── cli.py
├── .env.example
└── pyproject.toml
Workflows
Als een taak langer dan twee minuten duurt, wachten vereist op externe gebeurtenissen, of service-herstarts omvat, gebruik je workflows. Dit zijn Python-functies met duurzame uitvoeringsstappen.
WORKFLOW_NAME = "daily_digest"
async def handler(inp, ctx):
# Данные сохранятся, даже если сервис перезагрузится во время выполнения
data = await ctx.step("collect", lambda: collect_digest_data(inp))
summary = await ctx.run_agent("summarize", text=f"Сделай краткую выжимку: {data}")
return {"summary": summary}
Deze aanpak redt de dag wanneer een agent een lange test suite moet uitvoeren, wachten op een reactie van een extern systeem, of een complexe taak opbreken in een keten van onafhankelijke subtaken.
Wat je aan Centaur kunt delegeren
In de README van het project benadrukken de auteurs verschillende use cases waar het systeem oorspronkelijk voor is ontworpen:
- Onderzoeken van fouten in CI/CD-pipelines.
- Genereren van dagelijkse samenvattingen en on-call rapporten.
- Snel antwoorden vinden in interne bedrijfskennisbanken via aangepaste plugins.
- Analyseren van context en samenvatten van lange threads in Slack.
- Agents verbinden met een geïsoleerde testomgeving voor code debugging.
Implementatie en lancering
Je hoeft geen volledige zware Kubernetes-cluster op te zetten om het project te leren kennen. Voor lokale ontwikkeling of implementatie op een kleine Mac Mini / VPS is een lichtgewicht k3s voldoende.
Projectbeheer is gekoppeld aan het just hulpprogramma. Het launch-proces komt neer op een paar stappen:
# Клонируем репозиторий
git clone https://github.com/paradigmxyz/centaur
cd centaur
# Устанавливаем раннер команд
brew install just
# Настраиваем переменные для Slack и 1Password в bash-сессии
export OP_SERVICE_ACCOUNT_TOKEN=...
export SLACK_BOT_TOKEN=...
export SLACK_SIGNING_SECRET=...
# Создаём секреты в локальном K8s и запускаем стек
just bootstrap-secrets
just up
Nadat de build is voltooid, zal de bot beginnen met het accepteren van commando's in Slack of via REST API.
Samenvatting
Paradigm heeft een net tool geleverd met de juiste beveiligingsfocus. In plaats van nog een geïsoleerde webinterface te creëren, richtten de ontwikkelaars zich op integratie met bestaande teamchat en het uitvoeren van code in geïsoleerde sandboxes.
Als je team al actief console AI-agents gebruikt en je op zoek bent naar een manier om hun mogelijkheden veilig te delen tussen medewerkers, is Centaur zeker het proberen waard. Het project is uitgebracht onder een open licentie, en het Rust-gebaseerde control plane laat een prettige indruk achter qua resourcegebruik.
Gerelateerde projecten