Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Your own mail server and newsletters in one Go binary on a $5 VPS, run by your coding agent from the terminal. No admin UI, no per-subscriber bill.
curl -fsSL https://lfr.email/install.sh | sudo sh
On the server it goes to /usr/local/bin. Without sudo it installs to ~/.local/bin, which is enough
on a machine that only drives a server over ssh.
lfr runs mail for your domains from one binary on one small server: mailboxes, and newsletters with
their websites. An agent operates it through a CLI, on the server or over ssh; there is no admin UI, no
remote API and no monthly bill beyond the server (and a relay's cents per thousand mails where the
provider blocks port 25).
name@domain in seconds, aliases, catch-alls, plus-addressing, forwarding,
full-text search, replies, and a spam filter that learns from every message you move. DKIM (RSA and
Ed25519), SPF, DMARC, MTA-STS and TLS reporting for every domain; lfr domain add prints exactly the
DNS records to publish and lfr doctor checks them.lfr evidence): 136 reader and writer voices, 20
newsletters and 144 standards, studies and benchmarks, quoted verbatim.Pure Go, SQLite, one process. About 25 MB of memory idle; comfortable on a 512 MB droplet with dozens of domains.
The script at the top installs the latest release for Linux and macOS, amd64 and arm64, after checking
it against the release checksums. With Homebrew: brew install anonyfox/tap/lfr. With Go 1.26 or newer: go install github.com/Anonyfox/lfr/cmd/lfr@latest.
On the server (a DigitalOcean droplet named mail.example.com, for example):
sudo lfr setup --hostname mail.example.com --acme-email [email protected] --systemd
lfr domain add example.com # prints every DNS record to publish
lfr domain dns example.com --check # every record ok?
lfr doctor # reverse DNS, blocklists, outbound, certificates, disk, queue
setup creates /var/lib/lfr, a system user and a hardened systemd service allowed to bind ports 25, 80
and 443. On Cloudflare, set the records to "DNS only"; lfr domain dns example.com --zone prints them as
a zone file Cloudflare imports.
lfr delivers straight to recipients' mail servers when outbound port 25 is open. Many cloud providers block it; DigitalOcean blocks ports 25, 465 and 587 on every droplet. Then lfr hands finished, DKIM-signed messages to a relay on an alternate port for the last hop:
echo "$SES_SMTP_PASSWORD" | lfr relay smtps://[email protected]:2465 --spf include:amazonses.com
lfr relay # the route, a login test, and webhook URLs for the relay's bounce notifications
Amazon SES costs $0.10 to $0.16 per 1,000 messages; SMTP2GO has a free tier. See operations for both.
lfr mailbox add [email protected] --name "Example"
lfr mailbox alias [email protected] [email protected]
lfr mail ls --unread
lfr mail read 42
lfr mail reply 42 --md - <<< "Thanks, Ann. Feed it twice a day."
lfr mail mv 43 spam # teaches the spam filter
lfr events --follow # new mail, bounces, signups as they happen
lfr skills install # setup, mailbox, research, concept, launch, issue, learn
export [email protected] # every command, from your laptop, over ssh
Every command accepts --json; exit codes are 0 (ok), 1 (failed), 2 (wrong usage or invalid input) and
3 (server not running). Human output ends with Next: and the step that usually follows.
SKILL.md is the entry point for agents.
The list lives on the server; the newsletter's editorial work lives in a project folder:
lfr list add bakers --name "Bakers Weekly" --from [email protected] --host news.example.com
lfr init bakers --list bakers --owner [email protected]
cd bakers && lfr check # names the next step and its skill, every time
lfr check walks a newsletter through research (readers' verbatim voices, peer newsletters), the brief
(concept.md: promise, cadence, format, length, subjects, voice, guardrails), the launch (lfr push
copies the promise, cadence and welcome issue to the list), and then every issue: plan, draft, fix,
test, approve, send, learn. Issues are Markdown files, with images next to them:
---
subject: Why your starter smells like nail polish
preheader: It is hungry, not dead, and two feeds fix it
idea: I001
---
# Your starter is hungry
It smells of acetone because it ran out of food. Feed it twice a day.

lfr issue put issues/acetone.md # create or update by slug, upload its images
lfr issue test acetone [email protected]
lfr issue send acetone --at 2026-10-23T07:00:00+02:00
lfr issue show acetone --learn # the learnings.md entry, two days later
Readers sign up at https://news.example.com/ (or any form that posts email to /subscribe),
confirm by clicking a button, and leave with one click. Published issues live at
/issues/<slug>. lfr site bakers --eject site copies the website templates into the project for editing and lfr push uploads them; lfr rules
lists every check with the research behind it.
MIT licensed.