{"slug": "show-hn-loma-a-self-hosted-shared-ai-layer-for-your-whole-company", "title": "Show HN: Loma – a self-hosted shared AI layer for your whole company", "summary": "Loma, a self-hosted shared AI layer for companies, launched as an open-source agent factory that pools Claude subscriptions and runs on open models via OpenCode. It automates tasks across Slack, webhooks, and schedules, sharing a team-wide skill library to reduce per-seat AI costs.", "body_md": "**An AI Agents Factory for your whole team.**\n\nOne agent — in Slack and a dashboard — that knows your tools, runs on open models *or* your pooled Claude subscriptions, automates work on schedules and webhooks, and shares a team-wide skill library that gets better over time.\n\n[Website](https://www.lomahq.com) · [Docs](https://www.lomahq.com/docs) · [Quickstart](#quickstart) · [Contributing](/plotlinelabs/loma/blob/main/CONTRIBUTING.md) · [Security](/plotlinelabs/loma/blob/main/SECURITY.md)\n\nMost teams pay for AI per seat and per token, wire up the same context by hand in every tool, and lose every useful prompt the moment the chat ends. Loma is the opposite: one agent your whole company shares, on infrastructure you own.\n\n- 🪙\n**Pool your team's Claude Code subscriptions.** Connect existing Claude accounts into a round-robin pool so everyone's agent usage draws from subscriptions you already pay for — subsidizing token cost instead of buying per-seat API access. - 🧠\n**Run on open models via OpenCode.** The default runtime is[OpenCode](https://opencode.ai), so you get open-source models like DeepSeek V4 and GLM with no per-token bill — and you can switch models per conversation. - ⚡\n**Automate with webhook & scheduled flows.** Turn any agent task into a routine: run it on a cron schedule, or fire it from a webhook out of your CI/CD, support tool, or any system in your org. - 📚\n**Set up skills once, the whole team uses them.** Write a playbook once, store it in the database, and every teammate*and*every automation uses it instantly — versioned, and able to improve itself from feedback.\n\nPlus: reachable from **Slack and a web dashboard**, connects to **your existing stack** (databases, issue trackers, CRM, docs, observability), logs **every run, token, and cost**, and is fully **self-hostable** with env-driven config you can edit from the dashboard.\n\nLoma runs the same agent across ad-hoc questions and standing automations. A few patterns teams use it for:\n\n| Trigger | What Loma does |\n|---|---|\nAsk, anytime (dashboard or Slack) |\nAnswers questions live against your systems — \"what's the ID of X?\", \"who requested this?\", validate a config, debug an issue — without you opening five tabs. |\nA support ticket arrives (webhook) |\nInvestigates the ticket against your data and docs, then drafts a customer reply or posts an internal note. |\nA bug or feature request lands in Slack |\nTriages it, files or sizes a ticket, and links the relevant context. |\nEvery morning (schedule) |\nPosts the reports your team reads before standup — on-call & bug summaries, support digests, experiment/A-B results, adoption dashboards — pulled from across your tools. |\nA PR merges or a deploy ships (webhook) |\nPosts changelogs and release notes, sends deploy notifications, opens docs-update PRs. |\nOn a recurring sweep (schedule) |\nSizes open tickets, runs token/health checks, drives crash-fix or cleanup passes. |\nContinuously (schedule) |\nMines PR feedback, support tickets, and call transcripts to update skills — so the agent keeps getting better. |\n\n```\n   Slack  ─────────────┐                        ┌── Agent runtime ── OpenCode (open models)\n   (DM / mention)      │                        │                 └─ Claude account pool\n                       ▼                        │\n                Backend (:3000) ────────────────┼── Skills (DB) + your connected tools (MCP)\n                       ▲          MongoDB        │\n   Dashboard (:3001) ──┘   (conversations,       └── Flows: schedules + webhooks\n   (chat, flows,           skills, flows,\n    skills, config)        users, usage)\n```\n\n**Backend**— Python (aiohttp + Slack Bolt). Runs the agent, serves the API, receives webhooks.** Dashboard**— Next.js. Chat, conversation history, skills, flows, integrations, config, users/roles, usage.** Storage**— MongoDB for everything stateful; skill assets on local disk (`LOMA_SKILL_ASSET_DIR`\n\n).**Runtime**— OpenCode by default; optionally pool Claude Code accounts. Switchable per conversation.\n\nThe fastest way to try Loma is Docker Compose. You need a MongoDB connection string, a Slack app (Socket Mode), and an OpenCode API key.\n\n```\ngit clone https://github.com/plotlinelabs/loma.git\ncd loma\n\ncp .env.example .env                 # backend config\ncp dashboard/.env.example dashboard/.env   # dashboard config\n# edit both — see the env keys in the docs\n\ndocker compose up --build\n```\n\nThen open `http://localhost:3001`\n\n, create the first admin with your `LOMA_SETUP_TOKEN`\n\n, and send a message in chat.\n\n**Full setup** — fresh EC2/GCP install, Slack app scopes, auth, MongoDB, OpenCode, and the complete environment reference — is in the ** documentation**.\n\n**Config** is env-driven and editable from the dashboard's Environment page — no rebuilds to change keys.**Optional by default:** missing provider credentials never block startup, and feature flags (`LOMA_ENABLE_SCHEDULER`\n\n,`LOMA_ENABLE_WEBHOOKS`\n\n,`LOMA_ENABLE_METRICS`\n\n) gate optional subsystems.**Integrations** connect from the dashboard: databases (MongoDB, ClickHouse, BigQuery, Athena), issue trackers (Linear, GitHub), support (Pylon), CRM (HubSpot, Apollo), knowledge (Notion, GitBook, Google Workspace), and observability (Sentry, PostHog), among others.\n\nSee the [integrations guide](https://www.lomahq.com/docs) for per-provider setup.\n\nFull guides live at ** lomahq.com/docs**:\n\n- Getting started — Quickstart, fresh EC2/GCP install, local development\n- Configuration — environment reference, feature flags, in-dashboard config\n- Agent runtime — OpenCode, Claude account pooling, model selection\n- Skills — authoring, importing, assets, versioning\n- Flows & automations — scheduled routines and webhook triggers\n- Integrations — connecting your tools\n- Slack app, authentication, deployment & networking, security\n\n```\napp.py            Backend entrypoint (aiohttp + Slack Bolt)\nagent/            Agent runtime: OpenCode + Claude account pool\napi/              HTTP API (chat, skills, flows, env, governance, ...)\nscheduler/        Scheduled & webhook flow execution\nwebhooks/         Inbound webhook handlers\nintegrations/     Connectable-tool registry\ntools/            CLI tools the agent can call (skills + integrations)\nobservability/    Conversation/usage logging to MongoDB\nslack_app/        Slack event handling\ndashboard/        Next.js dashboard\n```\n\nIssues and PRs are welcome. See [CONTRIBUTING.md](/plotlinelabs/loma/blob/main/CONTRIBUTING.md). This repository is the clean OSS codebase — company-specific knowledge, prompts, playbooks, and credentials belong in your database and environment, never in source.\n\nNever commit `.env`\n\n, credentials, private prompts, or customer data. To report a vulnerability, see [SECURITY.md](/plotlinelabs/loma/blob/main/SECURITY.md).", "url": "https://wpnews.pro/news/show-hn-loma-a-self-hosted-shared-ai-layer-for-your-whole-company", "canonical_source": "https://github.com/plotlinelabs/loma", "published_at": "2026-07-01 14:07:23+00:00", "updated_at": "2026-07-01 14:20:57.477192+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-infrastructure", "developer-tools"], "entities": ["Loma", "Claude", "OpenCode", "DeepSeek", "GLM", "Slack", "MongoDB", "Next.js"], "alternates": {"html": "https://wpnews.pro/news/show-hn-loma-a-self-hosted-shared-ai-layer-for-your-whole-company", "markdown": "https://wpnews.pro/news/show-hn-loma-a-self-hosted-shared-ai-layer-for-your-whole-company.md", "text": "https://wpnews.pro/news/show-hn-loma-a-self-hosted-shared-ai-layer-for-your-whole-company.txt", "jsonld": "https://wpnews.pro/news/show-hn-loma-a-self-hosted-shared-ai-layer-for-your-whole-company.jsonld"}}