Personal Assistant
unlistedby Fredrik Folkeryd
An agentic AI interface for your Obsidian vault, powered by GitHub Copilot
Obsidian PA
An Obsidian plugin that provides an agentic interface to leverage AI agents within your Obsidian vault.
š Beta Release ā Full task automation now available! See Changelog for details.
Overview
Obsidian PA enables users to interact with AI capabilities directly in their note-taking workflow, bringing agentic development practices to personal knowledge management.
Developer: Fredrik Folkeryd
Background: Personal project built as an exercise in agentic development practices. Not affiliated with any organisation.
Features
Core AI Chat
- š¬ Streaming AI responses ā Real-time output with conversation persistence
- š Two provider options:
- GitHub Models (free tier) ā GPT-4o, Llama, Mistral, and more
- GitHub Copilot CLI ā Premium models like Claude Opus 4.5 for Copilot Business/Enterprise
- š Secure credentials ā 1Password CLI integration or direct token entry
- š Folder-based privacy ā Opt-in or opt-out data sharing controls
Write Operations (New in beta)
- āļø AI-assisted editing ā Apply suggested edits with diff preview
- š¾ Automatic backups ā All changes backed up with one-click revert
- š Edit history ā Browse and restore previous versions
Task Automation (New in beta)
- š¤ Multi-step task plans ā AI executes complex workflows:
- Create, modify, delete, and move notes
- Add wikilinks and tags
- All with confirmation before execution
- š£ļø Natural language tasks ā Say "create a note about X" and it works
- š Task history view ā Browse past operations with rollback capability
- ā©ļø Full rollback support ā Undo entire task plans
Context Management
- š Multi-file context ā Select multiple files for AI to reference
- š Token budget ā Visual indicator of context window usage
- š” Smart suggestions ā AI recommends relevant linked files
Prerequisites
You'll need one of the following:
Option A: GitHub Models (Free Tier)
- A GitHub account
- A Personal Access Token with Models: Read permission
- (Optional) 1Password CLI for secure token management
Option B: GitHub Copilot CLI (Premium Models)
- A GitHub Copilot Business or Enterprise licence
- GitHub Copilot CLI installed:
- macOS/Linux:
brew install copilot-cli - Windows:
winget install GitHub.Copilot - npm:
npm install -g @github/copilot
- macOS/Linux:
- Authenticated via OAuth (run
copilotand follow prompts) or via PAT with "Copilot Requests" permission
Note: The older
gh copilotextension has been deprecated in favour of the standalonecopilotCLI.
Installation
From Community Plugins (Not yet supported)
Note: This plugin is not yet available in the Obsidian Community Plugins directory. Once submitted and approved, you'll be able to install it directly from Obsidian.
- Open Obsidian Settings ā Community plugins
- Click "Browse" and search for "Personal Assistant"
- Click "Install" then "Enable" </spanZ
Manual Installation
Download the latest release zip and run the included installer:
# Download and extract
# x-release-please-start-version
curl -L \
https://github.com/FredrikFolkeryd/obsidian-pa/releases/download/obsidian-pa-v1.0.2-beta.3/obsidian-pa-latest.zip \
-o /tmp/obsidian-pa.zip
# x-release-please-end
unzip -o /tmp/obsidian-pa.zip -d /tmp/
# Run installer (auto-detects your vaults)
/tmp/obsidian-pa/install.sh
The installer will auto-detect your Obsidian vaults and let you choose where to install.
Alternative: Manual copy
If you prefer to install manually:
- Download
obsidian-pa-X.X.X.zipfrom the latest release - Extract the
obsidian-pa/folder to<your-vault>/.obsidian/plugins/ - Enable the plugin in Obsidian Settings ā Community plugins
Using BRAT (Beta Testing)
If you use the BRAT plugin for beta testing:
- Open BRAT settings
- Click "Add Beta plugin"
- Enter:
FredrikFolkeryd/obsidian-pa
Known Limitations
This is a beta release ā core features are stable but some areas are still in development:
| Area | Status | Notes |
|---|---|---|
| Windows support | š” Partial | macOS/Linux focus; Windows paths less tested |
| Community Plugins | š“ Pending | Not yet in official directory |
| Mobile | š“ Untested | Desktop-first development |
| Link suggestions | šµ Planned | AI-recommended connections |
| Orphan detection | šµ Planned | Find unlinked notes |
What's Working Well
As of beta.1:
- ā Full task automation ā AI can create, modify, delete, and organise notes
- ā Natural language tasks ā "Create a note about X" just works
- ā Task history with rollback ā Undo entire operations
- ā Multi-file context ā AI references multiple notes at once
- ā Streaming responses ā Real-time output with conversation persistence
- ā Edit confirmations ā Diff preview before any changes
- ā Automatic backups ā Every edit is backed up
Safety Features
All write operations include:
- ā Confirmation dialogs ā Review changes before applying
- ā Diff previews ā See exactly what will change
- ā
Automatic backups ā Stored in
.pa-backups/folder - ā One-click revert ā Restore any previous version
- ā Audit logging ā All operations logged
- ā Task approval ā Review multi-step plans before execution
Development
Prerequisites
- Node.js (v20 or later recommended)
- npm
Setup
# Install dependencies
npm install
# Run in development mode with watch
npm run dev
# Run linting
npm run lint
# Run tests
npm run test
# Build for production
npm run build
Tech Stack
- Language: TypeScript
- Platform: Obsidian Plugin API
- Build: esbuild
- Testing: Jest/Vitest
- Linting: ESLint with TypeScript rules
Project Structure
obsidian-pa/
āāā .github/
ā āāā agents/ # AI agent definitions
ā āāā workflows/ # GitHub Actions CI/CD
ā āāā copilot-instructions.md
āāā src/
ā āāā main.ts # Plugin entry point
ā āāā settings.ts # Plugin settings
ā āāā agents/ # Agent implementations
āāā manifest.json # Obsidian plugin manifest
āāā package.json # Node.js dependencies
āāā tsconfig.json # TypeScript configuration
āāā esbuild.config.mjs # Build configuration
Contributing
Please see CONTRIBUTING.md for guidelines on how to contribute to this project.
All commits must follow Conventional Commits specification to enable semantic versioning.
Changelog
See CHANGELOG.md for a detailed history of changes.
Development Values
This project follows these engineering principles:
- Simplicity: Write clear, straightforward code; avoid over-engineering
- Cost-consciousness: Optimise for performance and bundle size
- Renew and improve: Continuously refactor and improve code quality
- Give and take responsibility: Each agent owns its domain; trust but verify
Licence
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.