100% Lokal · Keine Cloud

Social Media Management aus deinem Terminal

Ein Markdown-first, Terminal-nativer Post-Scheduler. 100% kostenlos und Open-Source für bis zu 2 soziale Netzwerke. Verwalte Instagram, Facebook, Threads, X, LinkedIn, Bluesky, Mastodon, Telegram und Discord direkt über die CLI oder TUI.

postctl
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ╭─ CAMPAIGNS ────────────────────────────────────────────────╮ ╭─ STATS ─────────────────────────────────────────╮
  │ ▌ ● summer-launch                             ░░░░░░░░ 0/5 │ │  Posted 6   Scheduled 8                         │
  │   ● hiring                                    ██▋░░░░░ 1/3 │ │  Drafts 2   Failed 0                            │
  │   ● behind-scenes                             ░░░░░░░░ 0/3 │ ╰─────────────────────────────────────────────────╯
  │   ● spring-recap                              ████████ 5/5 │ ╭─ PLATFORMS ─────────────────────────────────────╮
  │                                                            │ │ ● Twitter/X   Connected ✓ · 50 d                │
  │                                                            │ │ ● LinkedIn    Connected ✓ · 50 d                │
  │                                                            │ │ ● Threads     Connected ✓ · 50 d                │
  │                                                            │ │ ● Mastodon    Connected ✓ · 50 d                │
  │                                                            │ │ ● Bluesky     Connected ✓ · 50 d                │
  │                                                            │ │ ● Facebook    Connected ✓ · 50 d                │
  │                                                            │ │ ● Instagram   Connected ✓ · 50 d                │
  │                                                            │ │                                                 │
  ╰────────────────────────────────────────────────────────────╯ │ ● Scheduler running                             │
  ╭─ NEXT UP ──────────────────────────────────────────────────╮ │                                                 │
  │   tomorrow 17:30  Instagram  Summer Menu — teaser          │ │ Connect platforms in the SETTINGS tab           │
  │   tomorrow 18:00  Threads  Summer Menu — teaser            │ │                                                 │
  │   tomorrow 18:30  Twitter/X  Summer Menu — teaser          │ │                                                 │
  │   tomorrow 19:00  Facebook  Summer Menu — teaser           │ │                                                 │
  │   in 3d 12:00     Instagram  Menu day — carousel           │ │                                                 │
  │   in 4d 09:00     LinkedIn  We are hiring a line cook      │ │                                                 │
  │   in 4d 09:30     Bluesky  We are hiring a line cook       │ │                                                 │
  │   in 6d 11:00     Instagram  Prep day story                │ │                                                 │
  │                                                            │ │                                                 │
  │                                                            │ │                                                 │
  │                                                            │ │                                                 │
  │                                                            │ │                                                 │
  ╰────────────────────────────────────────────────────────────╯ ╰─────────────────────────────────────────────────╯
  enter open  ? help  q quit  n new  tab next tab  i import  f1 manual                                              

Einmal schreiben, überall veröffentlichen

Feed-Posts, Carousels und Stories auf Instagram, Foto-Posts auf Facebook-Seiten, Carousels auf Threads — dazu X, LinkedIn, Bluesky, Mastodon, Telegram und Discord. Was ein Netzwerk kann, kann auch postctl.

TextBilderCarouselStoryAlt-TextLöschen per API
Instagram✓✓✓✓✓–
Facebook Page✓✓✓–✓✓
Threads✓✓✓–✓✓
X / Twitter✓✓–––✓
LinkedIn (profile + page)✓✓––✓✓
Bluesky✓✓––✓✓
Mastodon✓✓––✓✓
Telegram · Discord✓✓–––✓

Instagram erlaubt kein Löschen per API — Posts dort in der App entfernen. Die Fähigkeiten folgen dem, was die API der jeweiligen Plattform anbietet.

Die Tour

Das sind echte Ansichten von postctl (mit erfundenen Demo-Daten), direkt aus der App gerendert. Maus und Tastatur funktionieren beide.

postctl — dashboard
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ╭─ CAMPAIGNS ────────────────────────────────────────────────╮ ╭─ STATS ─────────────────────────────────────────╮
  │ ▌ ● summer-launch                             ░░░░░░░░ 0/5 │ │  Posted 6   Scheduled 8                         │
  │   ● hiring                                    ██▋░░░░░ 1/3 │ │  Drafts 2   Failed 0                            │
  │   ● behind-scenes                             ░░░░░░░░ 0/3 │ ╰─────────────────────────────────────────────────╯
  │   ● spring-recap                              ████████ 5/5 │ ╭─ PLATFORMS ─────────────────────────────────────╮
  │                                                            │ │ ● Twitter/X   Connected ✓ · 50 d                │
  │                                                            │ │ ● LinkedIn    Connected ✓ · 50 d                │
  │                                                            │ │ ● Threads     Connected ✓ · 50 d                │
  │                                                            │ │ ● Mastodon    Connected ✓ · 50 d                │
  │                                                            │ │ ● Bluesky     Connected ✓ · 50 d                │
  │                                                            │ │ ● Facebook    Connected ✓ · 50 d                │
  │                                                            │ │ ● Instagram   Connected ✓ · 50 d                │
  │                                                            │ │                                                 │
  ╰────────────────────────────────────────────────────────────╯ │ ● Scheduler running                             │
  ╭─ NEXT UP ──────────────────────────────────────────────────╮ │                                                 │
  │   tomorrow 17:30  Instagram  Summer Menu — teaser          │ │ Connect platforms in the SETTINGS tab           │
  │   tomorrow 18:00  Threads  Summer Menu — teaser            │ │                                                 │
  │   tomorrow 18:30  Twitter/X  Summer Menu — teaser          │ │                                                 │
  │   tomorrow 19:00  Facebook  Summer Menu — teaser           │ │                                                 │
  │   in 3d 12:00     Instagram  Menu day — carousel           │ │                                                 │
  │   in 4d 09:00     LinkedIn  We are hiring a line cook      │ │                                                 │
  │   in 4d 09:30     Bluesky  We are hiring a line cook       │ │                                                 │
  │   in 6d 11:00     Instagram  Prep day story                │ │                                                 │
  │                                                            │ │                                                 │
  │                                                            │ │                                                 │
  │                                                            │ │                                                 │
  │                                                            │ │                                                 │
  ╰────────────────────────────────────────────────────────────╯ ╰─────────────────────────────────────────────────╯
  enter open  ? help  q quit  n new  tab next tab  i import  f1 manual                                              

Kampagnenfortschritt, nächste Posts, Plattform-Status und Token-Ablauf auf einen Blick.

postctl — posts
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ── POSTS ─────────────────────────────────────────────────────────────────────────────────────────────────────────
  ▌ [ ]  Instagram  SCHED   Summer Menu — teaser                                    📁 summer-launch  tomorrow 17:30
    [ ]  Threads    SCHED   Summer Menu — teaser                                    📁 summer-launch  tomorrow 18:00
    [ ]  Twitter/X  SCHED   Summer Menu — teaser                                    📁 summer-launch  tomorrow 18:30
    [ ]  Facebook   SCHED   Summer Menu — teaser                                    📁 summer-launch  tomorrow 19:00
    [ ]  Instagram  SCHED   Menu day — carousel                                        📁 summer-launch  in 3d 12:00
    [ ]  LinkedIn   SCHED   We are hiring a line cook                                         📁 hiring  in 4d 09:00
    [ ]  Bluesky    SCHED   We are hiring a line cook                                         📁 hiring  in 4d 09:30
    [ ]  Instagram  SCHED   Prep day story                                             📁 behind-scenes  in 6d 11:00
    [ ]  Twitter/X  DRAFT   Thread: how we cure lemons                                              📁 behind-scenes
    [ ]  Facebook   DRAFT   Photo night recap                                                       📁 behind-scenes
    [ ]  Instagram  POSTED  Spring recap                                               📁 spring-recap  3d ago 17:30
    [ ]  Threads    POSTED  Spring recap                                               📁 spring-recap  3d ago 18:00
    [ ]  Twitter/X  POSTED  Spring recap                                               📁 spring-recap  3d ago 18:30
    [ ]  Facebook   POSTED  Opening hours update                                        📁 spring-recap  Oct 9 10:00
    [ ]  Instagram  POSTED  Wine tasting night                                          📁 spring-recap  Oct 6 17:30
    [ ]  LinkedIn   POSTED  Welcome, Mara!                                                    📁 hiring  Oct 3 09:00











  enter open  n new  ? help  q quit  e edit  d delete  s schedule  p post now  space select  / search           1/16

Filtern, mit / suchen, mehrere Posts markieren, sofort posten oder planen — komplett per Tastatur.

postctl — editor
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ╭─ EDIT POST DRAFT ──────────────────────────────────────────────────────────────────────────────────────────────╮
  │ ➔ Platform:                                                                                                    │
  │     TWITTER  LINKEDIN  THREADS  MASTODON  BLUESKY  FACEBOOK  [INSTAGRAM]  TELEGRAM  DISCORD  DEVTO  REDDIT     │
  │     HASHNODE  MEDIUM                                                                                           │
  │                                                                                                                │
  │   Campaign:   > summer-launch                                                                                  │
  │                                                                                                                │
  │   Scheduled:  > 19.10.2026 17:30                                                                               │
  │                                                                                                                │
  │   Images:     > https://cdn.example.com/menu-teaser.png                                                        │
  │                                                                                                                │
  │   Alt texts:  > Three summer dishes on a wooden table                                                          │
  │                                                                                                                │
  │   Post / Body:                                                                                                 │
  │ ┃   1 Our summer menu drops Friday 🍋                                                                          │
  │ ┃   2 Three new dishes, one very cold drink.                                                                   │
  │ ┃   3                                                                                                          │
  │ ┃   4 #nordlicht #summermenu #local                                                                            │
  │ ┃                                                                                                              │
  │ ┃                                                                                                              │
  │ ┃                                                                                                              │
  │ ┃                                                                                                              │
  │      ✓ Length okay. Chars: 100/2200                                                                            │
  │                                                                                                                │
  │    [ SAVE ]       [ CANCEL ]                                                                                   │
  │                                                                                                                │
  │                                                                                                                │
  ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
  esc cancel  tab next field  shift+tab prev field  ctrl+v nvim                                                     

Live-Vorschau, Zeichenzähler, Alt-Text pro Bild und ein Post für mehrere Plattformen gleichzeitig.

postctl — calendar
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ╭─ October 2026  ·  14 Posts ────────────────────────────────────────────────────────────────────────────────────╮
  │ Mon            Tue            Wed            Thu            Fri            Sat            Sun                  │
  │ 28             29             30              1              2              3 1            4                   │
  │                                                                            ○                                   │
  │                                                                            09:00 Welcome…                      │
  │  5              6 1            7              8              9 1           10             11                   │
  │                ○                                            ○                                                  │
  │                17:30 Wine ta…                               10:00 Opening…                                     │
  │ 12             13             14             15 3           16             17             18                   │
  │                                              ○○○                                                               │
  │                                              17:30 Spring …                                                    │
  │ 19 4           20             21 1           22 2           23             24 1           25                   │
  │ ●●●●                          ●              ●●                            ●                                   │
  │ 17:30 Summer …                12:00 Menu da… 09:00 We are …                11:00 Prep da…                      │
  │ 26             27             28             29             30             31              1                   │
  │                                                                                                                │
  │                                                                                                                │
  ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
  ╭─ Mon 19 Oct ───────────────────────────────────────────────────────────────────────────────────────────────────╮
  │ ▌ 17:30   Instagram    SCHED    Summer Menu — teaser                                                           │
  │   18:00   Threads      SCHED    Summer Menu — teaser                                                           │
  │   18:30   Twitter/X    SCHED    Summer Menu — teaser                                                           │
  │   19:00   Facebook     SCHED    Summer Menu — teaser                                                           │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
  ? help  q quit  ←↑↓→ day  [ ] month  t today  enter open  tab next tab  f1 manual                                 

Monatsraster mit markenfarbigen Punkten pro Plattform. Ein Klick auf den Tag zeigt, was rausgeht.

postctl — queue
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ── SCHEDULED POSTS ───────────────────────────────────────────────────────────────────────────────────────────────
  ── 📁 SUMMER-LAUNCH ──────────────────────────────────────────────────────────────────────────────────────────────
  ▌ tomorrow 17:30   Instagram Summer Menu — teaser                                                                 
    tomorrow 18:00   Threads   Summer Menu — teaser                                                                 
    tomorrow 18:30   Twitter/X Summer Menu — teaser                                                                 
    tomorrow 19:00   Facebook  Summer Menu — teaser                                                                 
    in 3d 12:00      Instagram Menu day — carousel                                                                  
  
  ── 📁 HIRING ─────────────────────────────────────────────────────────────────────────────────────────────────────
    in 4d 09:00      LinkedIn  We are hiring a line cook                                                            
    in 4d 09:30      Bluesky   We are hiring a line cook                                                            
  
  ── 📁 BEHIND-SCENES ──────────────────────────────────────────────────────────────────────────────────────────────
    in 6d 11:00      Instagram Prep day story                                                                       














  enter open  ? help  q quit  e edit  d delete  tab next tab  f1 manual                                          1/8

Die Veröffentlichungs-Queue mit Scheduler-Status und nächstem Check.

postctl — history
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ╭─ Posting history ──────────────────────────────────────────────────────────────────────────────────────────────╮
  │ ▌ 15.10.2026 18:30  POSTED    Post: p3 (ID: 17p3)                                                              │
  │   15.10.2026 18:00  POSTED    Post: p2 (ID: 17p2)                                                              │
  │   15.10.2026 17:30  POSTED    Post: p1 (ID: 17p1)                                                              │
  │   09.10.2026 10:00  POSTED    Post: p4 (ID: 17p4)                                                              │
  │   06.10.2026 17:30  POSTED    Post: p5 (ID: 17p5)                                                              │
  │   03.10.2026 09:00  POSTED    Post: p6 (ID: 17p6)                                                              │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  │                                                                                                                │
  ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
  enter open  ? help  q quit  x export  tab next tab  f1 manual                                                  1/6

Jede Veröffentlichung mit Plattform-ID und Fehlertext — samt Details.

postctl — settings
  postctl · Social Media                                                                                  Sun 18 Oct
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   ● DASHBOARD   ◷ POSTS 16   ↺ QUEUE 8   ▦ CALENDAR   ▤ HISTORY   ⇗ STATS   ⚙ SETTINGS   ▤ LOGS 
  
  ╭─ Settings ───────────────────────────────────────────╮ ╭─ Platform accounts ───────────────────────────────────╮
  │ ▌ AI Provider                                        │ │   Twitter/X                 ● Connected ✓             │
  │   AI Model                                           │ │   LinkedIn                  ● Connected ✓             │
  │   Dry Run                   ● false                  │ │   Threads                   ● Connected ✓             │
  │   Auto-Publish              ● false                  │ │   Mastodon                  ● Connected ✓             │
  │   Language                                           │ │   Bluesky                   ● Connected ✓             │
  │   Theme                     terminal                 │ │   Facebook                  ● Connected ✓             │
  │   License Type               Pro (Active ✅)         │ │   Instagram                 ● Connected ✓             │
  ╰──────────────────────────────────────────────────────╯ │   Telegram                  ● Not connected           │
  ╭─ Backup & sync ──────────────────────────────────────╮ │   Discord                   ● Not connected           │
  │   Backup Exp.               Execute (Press Enter)    │ │   Dev.to                    ● Not connected           │
  │   Backup Imp.               Execute (Press Enter)    │ │   Reddit                    ● Not connected           │
  │   Edit Queue                Execute (Press Enter)    │ │   Hashnode                  ● Not connected           │
  │   Scheduler (background)    ● running — enter to stop│ │   Medium                    ● Not connected           │
  ╰──────────────────────────────────────────────────────╯ ╰───────────────────────────────────────────────────────╯
  ╭─ Scheduler queue slots ──────────────────────────────╮ ╭─ Notes ───────────────────────────────────────────────╮
  │   none                                               │ │ Support postctl (Donate):                             │
  ╰──────────────────────────────────────────────────────╯ │ https://buy.polar.sh/polar_cl_wQUHDTz9e8ZLhWS59jxxRaBG│
                                                           │ iNjdaWIHpwt4T4fyzhW                                   │
                                                           │ Pro subscription (€4.90/month or €39/year; yearly:    │
                                                           │ code postctl2026 = 37% off year one):                 │
                                                           │ https://buy.polar.sh/polar_cl_IWIUVznawezToJcwJTWKk3WJ│
                                                           │ 4hsNuRvTFN3ro3vK3ru                                   │
                                                           │ Activate: postctl license activate <key>              │
                                                           ╰───────────────────────────────────────────────────────╯



  ←/→ change  ? help  q quit  enter open  d reset  tab next tab  f1 manual                                      1/24

Plattformen verbinden, Scheduler-Dienst installieren, Farbschema live umschalten.

Für Entwickler-Workflows gebaut

Wozu aufgeblähte Web-UIs, wenn du deine Inhalte direkt neben deinem Code verwalten kannst?

Markdown-First

Schreibe deine Posts in deinem Lieblingseditor. Frontmatter-Felder steuern Plattform-Ziele, Zeitplanung und Bildpfade. Perfekt Git-versionierbar und in PRs überprüfbar.

Interaktiver TUI-Editor

Entwirf und bearbeite Posts direkt im Terminal. Formularvalidierungen fangen Plattformfehler ab, automatisches Splitting zerlegt Twitter-Threads, und `ctrl+v` öffnet sofort Neovim/Vim.

KI-als-Operator

Für KI-Assistenten konzipiert. Claude/GPT können Markdown-Entwürfe erzeugen, Veröffentlichungsabläufe mit `--dry-run` testen und mit `--format json` maschinenlesbare Ergebnisse erhalten.

Keine Infrastruktur nötig

Gebaut in Go mit einer CGO-freien SQLite-Speicher-Engine. Verpackt als einzelnes Offline-First-Binary. Kopiere einfach die Datenbankdatei, um alle Posts und Zeitpläne zu sichern.

Offline-Dokumentation

Greife direkt in der App auf das komplette README zu — mit geteiltem Layout, interaktivem Inhaltsverzeichnis und responsivem Terminal-Scrolling, ganz ohne Browser.

AES-256-verschlüsselte Sync

Synchronisiere deine lokale Datenbank und Konfigurationsdateien sicher. Backups werden mit AES-256-GCM verschlüsselt und per PBKDF2 key-gestreckt — sicher auch in öffentlichen Git-Repos.

Cloud-Bereitstellung (VPS/Pi)

Kompiliere für Linux und lasse postctl als Hintergrund-Daemon auf einem VPS oder Raspberry Pi laufen. Posts werden automatisch gesendet, auch wenn dein Mac aus ist.

So funktioniert's

Drei Schritte von der Entwurfsdatei bis zur Veröffentlichung auf mehreren Plattformen.

01

Posts in Markdown schreiben

Strukturiere deinen Post als Markdown. Frontmatter definiert Plattformen, Kampagnen, Sendezeiten und Tags. Trenne Thread-Elemente mit Überschriften.

---
platform: twitter
type: thread
campaign: launch-v1
schedule: 2026-06-25T09:00
images:
  - img/dashboard.png
---

## Tweet 1
Your CMS is a single file...

## Tweet 2
Calendar grid screenshots attached...
02

Importieren & Vorschau

Importiere das Markdown-Verzeichnis, um die lokale SQLite-Datenbank zu befüllen. Öffne die TUI, um Thread-Limits, Zeichenlängen und Zeitpläne visuell zu prüfen.

$ postctl import ./posts/
Importing...
✔ post-1.md -> Import successful
✔ post-2.md -> Import successful

$ postctl list
ID                  Platform  Type    Status
launch-v1-twitter   twitter   thread  draft
launch-v1-linkedin  linkedin  single  draft
03

Posten oder Daemon starten

Veröffentliche Kampagnen sofort mit `--dry-run`-Sicherheitsprüfung, oder starte `postctl daemon` im Hintergrund, um geplante Posts automatisch auszulösen.

# Start background scheduler
$ postctl daemon --interval 30 --background

# Or post immediately (simulate first)
$ postctl campaign post launch-v1 --dry-run
$ postctl campaign post launch-v1
Campaign successfully posted!

Getrennte Konten, ein Scheduler pro Profil

Arbeit, privat, ein Kunde — jedes Profil hat eigene Zugangsdaten, Datenbank und einen eigenen Hintergrunddienst.

Profile

postctl profile create work, dann --profile work bei jedem Befehl oder P in der TUI. Zugangsdaten vermischen sich nie.

Scheduler-Dienst

postctl --profile work daemon install richtet einen launchd-Dienst ein. Posts gehen pünktlich raus, auch wenn die TUI zu — oder offen — ist.

Profil-Schutz

Ein farbiger Profil-Chip und eine Rückfrage vor dem manuellen Posten, damit nie ein Post auf dem falschen Konto landet.

Gesundheit im Blick

Token-Ablauf, Scheduler-Status, überfällige und fehlgeschlagene Posts erscheinen im Dashboard, bevor sie zum Problem werden.

Posts sind einfach Dateien

Im Editor schreiben, in git ablegen, mit einem Befehl importieren. Carousels, Stories und Alt-Text sind ein paar Zeilen Frontmatter.

---
platform: instagram
type: single            # single | story
campaign: summer-launch
schedule: 2026-10-23 17:30
images:
  - https://example.com/dish-1.png
  - https://example.com/dish-2.png   # 2+ images = carousel
alt:
  - "Seared fish on a green plate"
  - "Lemon tart with thyme"
---
The new menu, dish by dish. Swipe →

#summermenu #local
$ postctl --profile work import ./posts
✔ 4 posts imported (2 Instagram, 1 Threads, 1 X)

$ postctl --profile work daemon status
● running (com.abteilung83.postctl.work)

$ postctl --profile work list --status scheduled
 scheduled for 23.10. 17:30  INSTAGRAM  "Summer Menu"
 scheduled for 23.10. 18:00  THREADS    "Summer Menu"

Sicher als Standard

Soziale Netzwerke bestrafen bot-artiges Verhalten. postctl bremst sich selbst.

Verteilen statt Burst

Sind mehrere Posts überfällig (der Laptop schlief), geht nur der älteste sofort raus — die übrigen folgen im 20-Minuten-Takt.

60 Minuten bei X

Zwischen zwei X-Posts liegt mindestens eine Stunde. Ein früher fälliger Post wartet einfach auf einen späteren Check.

Nie doppelt

Jeder Post wird vor dem Veröffentlichen atomar reserviert — zwei Prozesse oder Rechner können ihn nicht doppelt senden.

Echtes Löschen

Lokales Löschen entfernt den Post auch auf Facebook, Threads, LinkedIn, X, Bluesky, Mastodon, Telegram und Discord.

postctl gehört zur missionctl-Suite — das missionctl-Dashboard zeigt nächste Posts und Queue-Zustand auf einer eigenen Karte, und der MCP-Server lässt KI-Assistenten Posts entwerfen und planen.

Entwickelt für KI-Operatoren

Lass deinen KI-Assistenten die Social-Media-Veröffentlichung übernehmen, während du die volle Freigabe-Kontrolle behältst.

1. KI erstellt Entwürfe

Dein Coding-Agent liest Webinhalte oder Release-Dateien und erstellt formatierte Markdown-Entwürfe in einem Ordner.

2. KI importiert & prüft

Die KI führt `postctl import` aus und prüft Ergebnisse mit `postctl list --format json`. Die Validierung prüft Längen & Bilder.

3. Dry-Run Validierung

Die KI führt `postctl campaign post launch-v1 --dry-run` aus, um APIs zu testen und die Integrität ohne Live-Posts zu prüfen.

4. Mensch prüft & postet

Du prüfst das simulierte Ergebnis im Chat. Gib dem Agenten die Freigabe und er stößt den finalen Veröffentlichungs-Befehl an.

🤖 Teste den KI-Operator-Ablauf

Jedes LLM oder Terminal-Agent (wie Antigravity, Claude Engineer oder Aider) kann direkt mit postctl interagieren. Nutze diese Befehle, damit dein Agent deine Kampagnen verwaltet:

# 1. Let the AI import all drafts (idempotent, safe to repeat)
./postctl import ./posts/marketing-plan/

# 2. Let the AI run a dry-run validation with JSON output to inspect formatting
./postctl campaign post postctl-marketing --dry-run --format json

# 3. Once validated and human-approved, let the AI trigger the publish command
./postctl campaign post postctl-marketing --format json

Strategische Produkt-Roadmap

Entdecke kommende Entwickler-Features, um deine Social-Media-Pipeline zu revolutionieren.

Planned

Git-Hook-Integration & Autopost

Löse automatische Einplanungen und Veröffentlichungen direkt beim Commit von Code oder Push von Release-Tags in deinen Repositories aus.

Planned

Code-Snippet Social Cards

Rendere automatisch wunderschöne Code-Grafikkarten direkt aus deinen Markdown-Quelltexten über lokale Syntax-Rendering-Engines.

Einfache Preise

postctl ist Open Source. Nutze es kostenlos mit bis zu 2 Netzwerken, oder abonniere Pro für unbegrenzt viele Netzwerke — jederzeit kündbar, der kostenlose Kern funktioniert weiter.

Core (OSS)

€0/ für immer

Für Entwickler, die Dateien versionieren und in ihren persönlichen Netzwerken posten möchten.

  • ✓ Bis zu 2 soziale Netzwerke verbinden
  • ✓ Unbegrenzte Entwürfe & Veröffentlichungen
  • ✓ Vollständige Bubbletea-TUI & Cobra-CLI
  • ✓ In-Process-Daemon als Hintergrund-Scheduler
  • ✓ Analytics-Dashboard & ASCII-Diagramme
  • ✓ 100% Open Source (MIT-Lizenz)

Pro Monatlich

€4.90/ Monat

Unbegrenzt viele Netzwerke, Monat für Monat. Mit einem Klick kündbar.

  • ✓ Beliebig viele soziale Netzwerke verbinden
  • ✓ Auf bis zu 5 deiner Geräte nutzen
  • ✓ Alle Updates und neue Plattform-Anpassungen, solange du abonniert bist

Häufig gestellte Fragen (FAQ)

Hast du Fragen? Wir haben Antworten. Erfahre mehr über Verschlüsselung, Synchronisation und Offline-Workflows.

Ist postctl wirklich kostenlos? Was sind die Einschränkungen?+

Ja, der Kern von postctl ist komplett Open-Source (MIT-Lizenz) und kostenlos. Du kannst bis zu 2 Netzwerke verbinden und unbegrenzt posten. Für mehr als 2 Konten abonnierst du Pro (€4,90 im Monat oder €39 im Jahr, jederzeit kündbar). Endet ein Abo, arbeitet postctl mit deinen ersten zwei verbundenen Netzwerken weiter — nichts wird gelöscht. Frühe Käufer der Lifetime-Lizenz behalten Pro.

Wie speichert postctl meine Zugangsdaten? Ist das sicher?+

Deine API-Keys, Tokens und Cookies werden lokal auf deinem Rechner in Dateien gespeichert, die nur du lesen kannst. Tokens werden mit AES-256-GCM und einem privaten Schlüssel pro Installation verschlüsselt; an uns wird nichts gesendet. Backups nutzen AES-256-GCM mit PBKDF2-Schlüsselableitung (600.000 Iterationen, zufälliger Salt).

Was passiert, wenn mein Computer zugeklappt ist, wenn ein Post geplant ist?+

Wenn dein Gerät im Ruhezustand ist, kann postctl nicht sofort senden. Dank Auto-Catchup erkennt die App beim nächsten Start sofort verpasste Sendezeitpunkte und holt diese nach. Alternativ kannst du den Daemon 24/7 auf einem 4$-VPS oder Raspberry Pi laufen lassen.

Welche Authentifizierungs-Methoden für Twitter/X werden unterstützt?+

postctl nutzt die offizielle X-API (OAuth 2.0) — der unterstützte, stabile Weg. Den API-Zugang bezahlt, wer ihn nutzt. Für Experimente gibt es einen inoffiziellen Cookie-Modus, der aber standardmäßig aus ist, gegen die X-Nutzungsbedingungen verstößt, nicht unterstützt wird und zur Kontosperrung führen kann; er muss bewusst in der Konfiguration aktiviert werden.

Wie synchronisiere ich meine Einstellungen zwischen Geräten?+

Führe einfach ./postctl config export -o backup.bin auf deinem Rechner aus, vergebe ein Passwort und importiere die Datei auf dem Zielgerät mit ./postctl config import -f backup.bin. Alternativ kannst du deinen ~/.config/postctl/-Ordner mit iCloud, Dropbox oder Syncthing verknüpfen.

Kann mein lokaler KI-Agent (wie Claude oder GPT) postctl steuern?+

Ja! postctl ist für das "KI-als-Operator"-Prinzip optimiert. Alle Befehle laufen ohne interaktive Prompts ab. Mit --format json gibt die CLI maschinenlesbare Daten aus, und mit --dry-run kann dein KI-Agent Posts testen, bevor er dich um Freigabe bittet.

Updates

Changelog & Letzte Updates

Verfolge die neuesten Funktionen, Verbesserungen und Bugfixes in postctl.

Oct 2026October 2026

Instagram, Profile, Kalender & Scheduler-Dienst

  • Instagram & Facebook-Seiten: Feed-Posts, Carousels und Stories (Instagram), Fotos mit Alt-Text (Instagram, Facebook, Threads) und echte Remote-Löschung.
  • Profile & Scheduler-Dienst: getrennte Konten pro Profil, jeweils mit eigenem launchd-Scheduler (postctl daemon install), dazu ein Kalender-Tab in der TUI.
  • Sicherheits-Härtung: Config/DB/Log nur für dich lesbar, Token-Schlüssel pro Installation (postctl security status), PBKDF2-Backups, nur Bild-Uploads, Geheimnisse aus Logs entfernt, MCP-Veröffentlichung standardmäßig aus, X-Cookie-Modus nur per Opt-in.
  • Sperrschutz: Überfällige Posts werden in 20-Minuten-Schritten verteilt, X-Posts halten mindestens 60 Minuten Abstand.
v0.3.0July 2026

TUI Direkt-Posting & Remote-Löschung

  • TUI Direkt-Post: Drücke p in der Liste oder Detailansicht, um Entwürfe sofort zu veröffentlichen.
  • Remote-Löschung: Das Löschen eines Posts (TUI d oder postctl delete) löscht diesen jetzt auch automatisch direkt auf der Plattform (Threads, Bluesky, Mastodon, Telegram, und Discord Webhooks).
  • Neue CLI-Befehle: postctl delete <id> zur Remote-Bereinigung und postctl cancel <id> zum Abbrechen geplanter Beiträge hinzugefügt.
  • Spam-Schutz: Der Scheduler-Daemon verschiebt überfällige Posts (z.B. nach Offline-Phasen) automatisch in 20-Minuten-Intervalle, um Spam-Sperren zu verhindern.
v0.2.0June 2026

Headless-Daemon & TUI Replica-Demo

  • Hintergrund-Scheduler: Führe postctl daemon aus, um geplante Posts im Hintergrund automatisch zu veröffentlichen.
  • Interaktive TUI-Demo: Ein voll-interaktives Mockup der postctl-TUI wurde direkt auf der Homepage integriert.
  • Zweisprachiger Support: Komplette Übersetzung von TUI, CLI und Dokumentation auf Deutsch und Englisch.
❯./ab83_init --status
hash:void
build:19.10.26, 11:58