Five files across four note types so every new Obsidian Base has something to display immediately when the vault is opened: - daily/2026-04-19.md — today's journal entry, covering the PKB setup work. Wikilinks to the permanent note, project brief, and reading note below. - notes/pkb-as-lens-substrate.md — the load-bearing design note capturing the PKB-as-substrate / Council-as-lens inversion that drove this whole extension. - projects/mql/brief.md and log.md — active project tracking the companion Markdown-Query-Language CLI (sibling repo). First log entry records the Go-over-Rust decision and v0.1 scope. - reading/audiopen-integration-research.md — marked done; captures the two-clouds distinction (AudioPen's processing cloud unavoidable; Obsidian Sync optional) and names Tailscale Funnel as the chosen webhook-exposure path. - inbox/2026-04-19-1900_test-ingestion.md — hand-authored fleeting note (source: manual, distinguishable from AudioPen drops) so /triage-inbox has something to exercise on before the real voice pipeline is running. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.4 KiB
type, title, author, source, status, started, finished, tags
| type | title | author | source | status | started | finished | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| reading | AudioPen integration paths — self-hosted research | various | web (conversation notes during PKB planning, 2026-04-19) | done | 2026-04-19 | 2026-04-19 |
|
AudioPen integration paths — self-hosted research
Summary
AudioPen ships several output integrations: email, webhooks, direct-to-Obsidian (which routes through Obsidian's sync cloud), clipboard, and a few third-party automation platforms. The "direct to Obsidian" path is the one an earlier investigation surfaced, and it implicitly sends content through Obsidian Sync. For a self-hosted setup, that path is the wrong choice.
The cleaner architecture routes AudioPen's polished prose into user-controlled infrastructure via either a webhook (to a self-hosted receiver exposed via Tailscale Funnel) or email with IMAP pull on the desktop. Both fully avoid Obsidian's sync cloud.
The distinction worth holding: AudioPen's processing cloud (audio → polished prose) is unavoidable with AudioPen. The storage/sync cloud (Obsidian's paid service) is optional. This document is about the second.
Highlights
- Tailscale Funnel is the right tool for the webhook path. Outbound-initiated;
*.ts.netendpoint; no router ports opened; bypasses Authentik (which is gating Gitea's HTTPS in this setup). - Email+IMAP is the no-open-ports fallback. Works if running a public-reachable receiver isn't feasible. Fully outbound.
- Raw → normalised is a two-step pipeline. AudioPen produces bare prose; a small bash wrapper wraps it in frontmatter and moves it from
inbox/raw/toinbox/. Keeps the receiver stupid; all schema decisions live in one shell script.
My notes
- AudioPen's payload shape varies slightly across versions. The receiver accepts multiple possible body keys (
body,output,summary,polished) to avoid fragility; the raw payload is logged to stderr so you can inspect drift. - If AudioPen's pricing or terms ever change, the documented escape hatch is whisper.cpp + a local polishing LLM + a phone-side Tasker/Shortcut. Out of scope for v1 but noted.
Connections
- projects/mql/brief — separate but related self-hosted tooling push
- notes/pkb-as-lens-substrate — the overall architecture frame
- daily/2026-04-19 — where the decision to go webhook-via-Funnel was made