alinourizadeh44 downloadsChat with AI providers in Obsidian using vault-scoped tools for notes, web search, selected text, custom prompts, and approval-based edits.
Agenter brings a tool-using AI assistant into Obsidian. Chat in the right sidebar, a movable floating panel, or a compact contextual panel beside selected text. The assistant can work with notes, search the web, use saved prompts, and request approval before changing vault content.
Status: Desktop-only community plugin. Agenter requires your own API key for a supported AI provider.
.agenter-backups; deletion uses Obsidian's recoverable Trash flow.isDesktopOnly.Once Agenter is listed in the Obsidian Community directory:
Download main.js, manifest.json, and styles.css from the matching GitHub release.
Create this folder inside your vault:
.obsidian/plugins/agenter/
Copy the three release files into that folder.
Restart Obsidian or reload the app.
Open Settings → Community plugins and enable Agenter.
For pre-release testing, you can also install the repository with BRAT after a valid GitHub release exists.
API keys are stored locally in Obsidian's plugin data file (data.json). They are not encrypted. Do not commit or share that file.
/ or select AI Actions to use saved prompts.Read-only tools can run automatically. Tools that change vault content can display an approval card before execution. Moving a note to Trash always uses a two-step confirmation.
Agenter's file tools are restricted to the current Obsidian vault and block protected internal paths. Network tools are separate and only run when requested by the conversation.
Agenter does not provide or proxy an AI service. Depending on the tools and provider you use, data may be sent to:
web_search tool runs.fetch_url tool.Review your provider's privacy policy before sending sensitive notes. Only include the context required for your task.
npm install
npm run dev
Production build:
npm run build
Run the included tests:
npm test
The distributable plugin files are:
main.js
manifest.json
styles.css
Update the version in manifest.json, package.json, and package-lock.json.
Add the version and minimum Obsidian version to versions.json.
Commit and push the changes.
Create and push a Git tag that exactly matches the manifest version, without a v prefix:
git tag 1.1.2
git push origin 1.1.2
The included GitHub Actions workflow builds the plugin and creates a GitHub release containing main.js, manifest.json, and styles.css.
If you discover a security issue, do not include private vault content, API keys, or credentials in a public issue. Contact the maintainer privately through the contact method listed on the GitHub profile.
Agenter is released under the MIT License.
Agenter now includes a first-class Cloudflare Workers AI provider.
No manual model endpoint is required. The plugin builds the Workers AI run URL from your Account ID and selected model.
Providers implement a common adapter contract in src/api.ts. Shared model and multimodal message types live in src/provider-types.ts, and Cloudflare-specific authentication, discovery, and capability inference live in src/cloudflare.ts.
The settings screen includes Connect Cloudflare. It opens Cloudflare in the default browser, shows Cloudflare's consent screen, returns to Agenter through a localhost PKCE callback, discovers available accounts, and synchronizes Workers AI models. Access tokens refresh automatically and Disconnect revokes the authorization.
Plugin publishers must register one public Cloudflare OAuth client before distribution:
none (public desktop client; do not bundle a client secret)http://127.0.0.1:42813/cloudflare/callbackPaste the resulting Client ID into the one-time publisher field. End users then only need to press Connect Cloudflare.
Agenter's default Cloudflare setup follows the Workers AI REST API documentation:
Inference is sent directly to POST /accounts/{account_id}/ai/run/{model}. Workers AI includes 10,000 Neurons per day at no charge on both Free and Paid Workers plans; Free-plan requests stop after the daily allocation is exhausted.
Agenter routes requests according to the selected Workers AI model:
POST /accounts/{account_id}/ai/v1/chat/completionsPOST /accounts/{account_id}/ai/run/@cf/{author}/{model}GET /accounts/{account_id}/ai/models/schema?model=@cf/{author}/{model}Use the paperclip button in chat to attach an image or audio file. Vision and transcription models receive the attachment in their documented model-specific payload. Image-generation and text-to-speech results render directly in the conversation.