OpenAugi

by bitsofchris
5
4
3
2
1
Score: 51/100

Description

The self-organizing second brain. Augmented intelligence for thinkers.

Reviews

No reviews yet.

Stats

28
stars
1,696
downloads
4
forks
101
days
50
days
50
days
3
total PRs
0
open PRs
0
closed PRs
3
merged PRs
3
total issues
0
open issues
3
closed issues
47
commits

Latest Version

2 months ago

Changelog

0.7.0 — Directory compliance, OS keychain for your API key, mobile fix

This release brings the plugin in line with Obsidian's automated community-directory review, moves your OpenAI API key out of plaintext on supported versions, and fixes a bug that stopped the plugin loading on mobile.

Changed — command IDs (breaking for custom hotkeys)

Obsidian namespaces every command with the plugin ID automatically, so the old IDs repeated it. Three commands were renamed:

Command Old ID New ID
Process notes openaugi-process-notes process-notes
Process recent activity openaugi-process-recent process-recent-activity
Save context openaugi-save-context save-context

If you bound a custom hotkey to any of these three, you'll need to rebind it — Obsidian has no way to carry a hotkey across an ID change. The command names in the palette are unchanged, and the other eight commands are untouched.

Added — API key stored in your OS credential store

On Obsidian 1.11.4 and later, your OpenAI API key is now stored via Obsidian's Secret Storage API — macOS Keychain, Windows Credential Manager, or Linux libsecret — instead of in plaintext in the plugin's data.json. You can see and manage it under Settings → Keychain.

  • An existing key is migrated automatically the first time you open the plugin on a supporting version, and the plaintext copy is removed from data.json.
  • On older Obsidian versions nothing changes; data.json remains the store.
  • If the credential store is unavailable (locked, permission denied), the plugin falls back to data.json rather than losing access to your key.
  • OS credential stores don't sync between devices, so on 1.11.4+ you enter the key once per device.

The settings tab now tells you which store is in use.

Fixed

  • The plugin failed to load on Obsidian Mobile. Task Dispatch imported Node.js built-ins (child_process, fs, path, util) at the top level, which don't exist on mobile. They're now loaded lazily and only on desktop, so the rest of the plugin loads normally on mobile.
  • Tag stripping broke on older iPhones and iPads. The tag-removal pattern used a regex lookbehind, unsupported on iOS before 16.4.
  • Network calls now use Obsidian's requestUrl instead of fetch, which avoids CORS restrictions and works properly on mobile.
  • Removed a deprecated substr call and a deprecated CSS property from the context preview.

Changed — appearance and settings

  • All inline element styles moved into styles.css, so themes and custom CSS snippets can now restyle the plugin's modals and settings.
  • Settings section headings use Obsidian's native heading component, so they match the rest of the settings window.
  • Various UI labels corrected to sentence case ("Refresh models" rather than "Refresh Models").

Changed — store listing

The directory description no longer leads with voice notes. It now reads: "The human context layer for your AI agents. Gather bounded context from linked notes and backlinks, queue agent tasks, and distill raw material into atomic notes, summaries, or posts."

Internal

  • npm run lint runs the official eslint-plugin-obsidianmd — the same best-practices checks Obsidian's automated review applies. Both scripts/release.sh and the tag workflow now fail a release on any lint error.
  • The release workflow attests build provenance for main.js and styles.css, so users can verify the assets were built from this repository.
  • Test suite grew from 157 to 175 tests, covering the key-storage migration end to end.
  • New docs/COMPLIANCE.md documents what the scan checks, what blocks a listing, and which warnings are accepted.

Notes

  • The README now documents every network request the plugin makes, when it fires, and what it sends. There is still exactly one external endpoint, api.openai.com, and no telemetry.
  • Task Dispatch remains deprecated and will be removed in a future release. Prefer the Augi task-file commands.

README file from

Github

OpenAugi

The Personal Intelligence Layer for Your Agents

OpenAugi is a context engineering layer and personal agent harness for your data (currently as an Obsidian plugin). It sits between your knowledge and your AI agents — gathering the right context, dispatching tasks, and shortcutting the loop from idea to action.

Your vault is full of plans, decisions, research, and context. OpenAugi makes that context available to agents so they can actually do useful work.

Works with the OpenAugi MCP server for semantic search, hub discovery, and structured access to your vault data.

Join the Discord. Parent repo.


What It Does

1. Context Engineering

Gather precisely the right context from your vault — not too much, not too little.

  • Link traversal — Follow wikilinks up to 3 levels deep (breadth-first)
  • Backlink discovery — Find notes that reference your notes, not just notes you link to
  • Journal filtering — Extract only recent sections from date-headed journal notes
  • Character budgets — Stay within token limits with configurable caps
  • Checkbox review — Toggle individual notes on/off before processing

2. Agent Tasks

Queue work for your agents without leaving Obsidian. The Augi commands write task files to OpenAugi/Tasks/ — the OpenAugi task watcher picks them up and runs an agent session for each.

  • Augi: Run review pass — Route new blocks, refresh views, surface Dashboard nominations
  • Augi: Process dashboard — Execute your nomination answers only
  • Augi: Distill selection — Distill the current selection (or active note) through the distill lens
  • File-based trigger — Pure vault API, no shell or HTTP, works on Obsidian Mobile with a synced vault

See Agent Tasks docs.

The older Task Dispatch feature (launching tmux sessions directly from the plugin) is deprecated in favor of the task-file flow — see Task Dispatch docs.

3. Note Processing

Turn raw notes into organized, atomic knowledge.

  • Voice transcripts — Break voice notes into atomic notes + tasks + summary
  • Distillation — Synthesize multiple linked notes into deduplicated atomic notes
  • Publishing — Turn research notes into a single polished blog post
  • Custom prompts — Apply different "lenses" to extract different insights from the same content

Quick Start

Setup

  1. Install from Obsidian Community Plugins (or manually)
  2. Settings → OpenAugi → Enter your OpenAI API key
  3. For agent tasks: install OpenAugi and run openaugi up (the task watcher)

Queue an Agent Task

Run Augi: Run review pass (or Augi: Process dashboard, Augi: Distill selection) from the command palette. The plugin writes a pending task file to OpenAugi/Tasks/; the task watcher launches an agent session that does the work and writes its results back into the task file.

For Augi: Distill selection, select the text you want distilled first — the selection (or the whole active note if nothing is selected) becomes the task's context.

Gather Context

  1. Open any note with links to content you want to process
  2. Run Process notes
  3. Configure depth, filters, and character limits
  4. Review discovered notes with checkboxes
  5. Choose: Distill (atomic notes), Publish (blog post), or Save (raw context)

Commands

Command Purpose
Augi: Run review pass Queue a full review pass for the task watcher
Augi: Process dashboard Queue Dashboard nomination processing for the task watcher
Augi: Distill selection Queue a distill of the current selection or active note
Process notes Gather linked notes → review → distill / publish / save
Process recent activity Same flow but discovers by recent modification date
Save context Gather and save raw context (no AI processing)
Task dispatch: Launch or attach Deprecated — launch agent session from task note
Task dispatch: Kill session Deprecated — kill tmux session for current task note
Task dispatch: List active sessions Deprecated — view and manage running agent sessions
Parse transcript Process voice transcript into atomic notes
Distill linked notes Legacy command — use Process notes instead

Agent Tasks

The Augi commands are the trigger surface for the OpenAugi agent loop. Each command writes a status: pending task file to OpenAugi/Tasks/; the task watcher (openaugi up) hydrates it, launches a Claude agent session, and the agent writes its results back into the same file.

See Agent Tasks docs for the full reference, including the task-file format.

Key concepts:

  • The vault filesystem is the API — the plugin only writes a file, so the commands work on mobile with a synced vault
  • The same contract is shared with the openaugi review CLI and the zzz: capture grammar
  • The task file doubles as the record: results and status land back in it

Task Dispatch (deprecated)

The older agent harness: reads a task note, assembles context from linked notes, creates a tmux session, and launches your agent CLI directly from the plugin. Deprecated in favor of the task-file flow above; it keeps working for now but will be removed over a release or two. See Task Dispatch docs.


Context Gathering

The context gathering pipeline is a three-stage flow:

  1. Configure — Source mode (linked notes or recent activity), depth, filters
  2. Review — Checkbox list of discovered notes with character/token counts
  3. Process — Distill to atomic notes, publish as blog post, or save raw

Features:

  • Breadth-first link traversal up to 3 levels
  • Bidirectional: forward links + backlinks at each depth
  • Journal-style date filtering
  • Dataview query support
  • Custom prompt lenses

Configuration

Settings are in Settings → OpenAugi.

Core:

  • OpenAI API key (required for AI processing)
  • Output folders: Summaries, Notes, Published, Prompts

Context Gathering:

  • Default link depth (1-3)
  • Max characters (default: 100k)
  • Include backlinks (default: on)
  • Journal section filtering

Task Dispatch (deprecated):

  • Terminal app (iTerm2 or Terminal.app)
  • tmux path (auto-detected or manual)
  • Default working directory
  • Repository path mappings
  • Default agent CLI
  • Max context characters (default: 200k)

Recent Activity:

  • Days to look back (default: 7)
  • Date header format
  • Folder exclusions

Network use and privacy

OpenAugi makes network requests to exactly one external service, and only when you explicitly run an AI command.

Endpoint: https://api.openai.com

Request When it runs What is sent
GET /v1/models You open settings or press Refresh models Your API key only
POST /v1/chat/completions Parse transcript Your API key and the transcript note's content
POST /v1/chat/completions Distill (Process notes / Process recent activity) Your API key and the gathered note content you reviewed and approved
POST /v1/chat/completions Publish Your API key and the gathered note content you reviewed and approved

No request is made without a direct command from you. Every distill and publish run shows a preview of the exact content before it is sent, and you can cancel or save it locally instead.

  • On Obsidian 1.11.4 and later your OpenAI API key is stored in your operating system's credential store (macOS Keychain, Windows Credential Manager, Linux libsecret) and is visible under Settings → Keychain. On older versions it falls back to the plugin's data.json. An existing key is migrated automatically the first time you open the plugin on a supporting version. Because OS credential stores don't sync between devices, you enter the key once per device.
  • The key is sent only to api.openai.com, as an Authorization header.
  • Note content is sent to OpenAI for processing under OpenAI's API data usage policy.
  • Nothing is sent anywhere else: no telemetry, no analytics, no author-operated servers.
  • The Save context command and the Augi agent-task commands make no network requests at all.

Requirements

  • OpenAI API key — Required for AI processing (distill, publish, parse)
  • OpenAugi task watcher — Required for the Augi agent-task commands (openaugi, run openaugi up)
  • tmux — Required for deprecated task dispatch (brew install tmux)
  • macOS — Deprecated task dispatch terminal opening uses AppleScript (iTerm2 or Terminal.app)

Get Involved

OpenAugi is about augmented intelligence — using AI to help you think faster and do more, not to think for you.

Open an issue, join the Discord, or check out YouTube for updates. Parent repo.