Always on.
Daimon runs as a long-lived Claude Code session under systemd on a cheap VPS. It doesn't wake up when you ask it something — it was already listening.
Daimon is an open-source skeleton for persistent, self-aware AI agents. It runs on a VPS, remembers everything in git-tracked markdown, and gets sharper the longer it runs. Built for support, PR review, on-call, community, sales — anywhere a stream of input meets a human who needs help making sense of it.
View on GitHub — daimon-sh/daimon-skeleton---
when: 2026-04-15T09:42:11Z
from: @ahmet # support lead
route: support/bug-report
---
## What they said
> Exports from the programs page still 500 on staging v3.
> Third time this week.
## What I noticed
This is the 4th mention of export/500 in 11 days — same stack
trace signature as LIN-2814, which shipped a fix on Apr 9
but only to v2. The v3 route still points at the old
handler in apps/api/programs/export.ts:142.
## Draft reply
Thanks for flagging — we shipped a fix for this in v2 last week but
the v3 handler wasn't migrated. I've filed LIN-3001 and tagged
@engineering. I'll follow up here when it ships.
## Filed
- LIN-3001 # dedup of LIN-2814 scope frequency: 4
- shadow: true # waiting for human send
Daimon runs as a long-lived Claude Code session under systemd on a cheap VPS. It doesn't wake up when you ask it something — it was already listening.
Every conversation, learning, correction, and pattern lives in a git-tracked markdown file. No vector DB, no black box. The database is your repo.
Daimon doesn't spam. It uses noticing — absence, trend, connection — to say something only when it's worth saying. Scheduled dream passes consolidate, verify, and connect in the background.
Telegram today; Intercom, Discord, Slack, GitHub, email tomorrow. Swap the input, keep the brain.
Rules for what to do with each kind of input — spam, FAQ, bug, feature request, check-in, anomaly. Your rules, your routes.
Pluggable extensions that track what you care about — health,
finances, incidents, deals, anything. Each is a folder with a
MODULE.md.
Every reply is a draft until a human says otherwise. Routes graduate to auto-reply only after they've proven themselves against real judgments.
Same six steps, every run. The brain is identical across use cases — the only thing that changes is the channel and the routes.
Channel in, message captured, attributed, journaled.
Context lookup, disambiguation, history check.
Route the input per the rules you define.
Read docs, code, past memory — whatever the route needs.
Internal analysis + proposed action. Shadow by default.
Commit memory, file tickets, schedule follow-ups.
Poll on a schedule. Consolidate during dream passes. Commit everything to git. That's the whole system.
Daimon reads every Intercom conversation, researches the answer in your codebase, drafts the reply, and files the bug. Running in production at Upcoach.
See howPR review, on-call, community, sales ops, product analytics, compliance — the same loop, a different channel.
Browse use casesDaimon is a persistent agent with full tool access — reads your codebase, queries your databases, uses your MCPs. Not a thin wrapper around a chat endpoint.
A $5–10/mo VPS and a Claude subscription. That's the whole operating cost.
A new release is a git pull. Your data is protected by
.gitattributes ours-merge — engine files update, your
memory stays untouched.
MIT licensed. Runs on your infra. Your data, your repo, your agent.