Captain's Log journal plugin

Captain's Log is a private journaling plugin for AppWeaver. It provides quick capture, recent/today views, search, editing, draft review, and explicit Nostr publishing for entries you choose to share.

Command: /journal (alias for the journal plugin)

Demo

Interactive Demo

Captain's Log screenshot

Commands

Command Description
/journal add <text> Add a private journal entry
/journal today Open today's diary-style journal view
/journal list List recent journal entries
/journal search <query> Search saved entries
/journal edit <id> <text> Replace an entry body
/journal delete <id> Delete an entry
/journal publish <id> <nostr://nevent...> Mark an entry as published
/journal inspect <id> Check the published event on its author's write relays
/journal inspect-publish <id> --relay <url|all> Resend the original signed event to missing write relays
/journal drafts List pending AI-created drafts
/journal accept <draft_id> Save a pending draft as an entry
/journal decline <draft_id> Discard a pending draft
/journal config Show journal configuration
/journal help Show command summary

Web Widget

The today command registers the Captain's Log widget. It includes a quick-capture form, diary-style pages, per-entry actions, and a guided story for capture and publishing.

Entries are private by default. Publishing is an explicit action: the web client signs and publishes a Nostr kind:1 note, then the plugin stores the resulting nostr://nevent... link.

Published entries expose Open event and Inspect event. Journal renders inspection through ordinary app commands in the shared modal: check write relays, refresh, and resend the original signed event to individual or all missing write relays. It does not create a replacement event if the original cannot be retrieved. Inspection also shows relay hints embedded in the saved link, even when they are outside the author's current write-relay list. Fresh retrieval, existing relay history, and link hints are labeled separately; failed discovery does not hide the known relay rows. See published-event inspection.

Drafts

AI-created entries are stored as drafts first. Use /journal accept <draft_id> to save a draft, or /journal decline <draft_id> to discard it.

Plugin Data