{"kind":"doc","doc":{"title":"Obsidian Plugins","section":{"slug":"experiments","name":"Experiments"},"rkey":"1789490903000-obsidian-plugins","cid":"bafkreia4svrix5n6efsz2gbmitvpcdachomgraq7cldmq3sb3hm3jqjibu","renderKey":"bafkreia4svrix5n6efsz2gbmitvpcdachomgraq7cldmq3sb3hm3jqjibu@2026-09-20T05:10:12Z@2026-09-20T05:10:12Z@Experiments|Open source projects and experiments","href":"/experiments/1789490903000-obsidian-plugins","publishedAt":"2026-09-20T05:10:12Z","updatedAt":"2026-09-20T05:10:12Z","tags":["obsidian","obsidian-plugins","ipfs","pinata","ai","frontmatter"],"description":"An overview of three Obsidian plugins the author built: an image uploader that sends embedded images to Pinata and rewrites references as ipfs:// URIs, plus AI-powered generators for note excerpts and tags.","readingMinutes":1,"markdown":"I've been a fan of [Obsidian](https://obsidian.md/) for a long time, and used it as a CMS for a period of time. You can read a bit about those iterations [here](https://iammatthias.com/posts/1670659200001-obsidian-as-a-cms), [here](https://iammatthias.com/posts/1699332127006-revisiting-obsidian-as-a-cms), and [here](https://iammatthias.com/posts/1710177704945-revisiting-obsidian-as-a-cms-again).\n\nAlong the way, I built 3 plugins that I found useful:\n\n- Obsidian Pinata Image Uploader: [REPO](https://github.com/iammatthias/obsidian-pinata-image-uploader)\\\nUploads embedded images to [Pinata](https://pinata.cloud/). The plugin replaces both local and remote image references in markdown with `ipfs://` URIs, and handles gateway proxying for image display.\n- Obsidian AI Excerpt Generator: [REPO](https://github.com/iammatthias/obsidian-ai-excerpt-generator)\\\nGenerate concise excerpts for Obsidian notes using AI. The plugin adds or updates the `excerpt` field in each Markdown file's frontmatter.\n- Obsidian AI Tagger: [REPO](https://github.com/iammatthias/obsidian-ai-tagger)\\\nGenerate relevant, consistent tags for Obsidian notes using AI. The plugin adds or updates the `tags` field in each Markdown file's frontmatter.","media":{},"series":{},"related":[{"title":"OpenClaw and the Rabbit R1","href":"/posts/1774911232779-openclaw-and-the-rabbit-r1","section":"posts","description":"I got my Rabbit R1 talking to my Pinata-hosted agent. The agent did most of the work.","publishedAt":"2026-03-30T15:53:00Z"},{"title":"Phosphene","href":"/art/1781816428977-phosphene","section":"art","description":"A camera that turns each photo into a poem, then paints a new image from those words.","publishedAt":"2026-06-18T21:00:28Z"},{"title":"Farfield","href":"/posts/1779066375000-farfield","section":"posts","description":"Five small Go services, single binaries, content-addressed records, running on my homelab. The new backend for the site.","publishedAt":"2026-05-18T01:06:15Z"},{"title":"I Got a Common Turtle","href":"/posts/1775137360175-i-got-a-common-turtle","section":"posts","description":"I got a Common turtle from Claude Code's deterministic buddy system, so I brute-forced the generation algorithm.","publishedAt":"2026-04-02T06:42:00Z"},{"title":"Replacing a Rabbit's Brain: Connecting the R1 to Hermes","href":"/posts/1775069974473-replacing-rabbit-s-brain-connecting-a-rabbit-r1-to-hermes","section":"posts","description":"I replaced the OpenClaw agent on my R1 with Hermes, running locally on a MacBook Pro.","publishedAt":"2026-04-01T11:59:00Z"},{"title":"Koios: Memory, Feedback, and Containment","href":"/posts/1768671170751-koios-memory-feedback-and-containment","section":"posts","description":"Autonomous agent with persistent memory inspired by classical theory of mind","publishedAt":"2026-01-17T09:32:00Z"}],"prev":{"title":"Styx","href":"/experiments/1789407119000-styx"},"next":{"title":"llm-txt.fun","href":"/experiments/1789491297000-llm-txt-fun"}}}