- esbuild 0.27.0 -> 0.28.1 (direct devDep; PR #7) - form-data -> 4.0.6 (override; high; PR #9) - tar -> 7.5.16 (override; PR #8) - undici -> 6.27.0 + 7.28.0 (overrides incl. webdriver-scoped 6.x; high; PR #10) Applied via direct bump + package.json overrides rather than merging Dependabot's fully-regenerated lockfile, which desynced jest's internal packages (jest-runtime clearMocksOnScope crash). `npm audit fix` triggers the same jest break, so it is deliberately avoided. All undici/form-data/tar consumers are dev/test tooling (not in the shipped bundle). Verified: 689 tests, jest healthy, build + E2E smoke green. |
||
|---|---|---|
| .github/workflows | ||
| .superpowers/brainstorm | ||
| __mocks__ | ||
| config/default | ||
| docs | ||
| scripts | ||
| src | ||
| tests | ||
| .env.test.example | ||
| .gitignore | ||
| CLAUDE.md | ||
| eslint.config.mts | ||
| jest.config.js | ||
| jest.mutation.config.js | ||
| jest.setup.js | ||
| LICENSE | ||
| main.ts | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README-zh.md | ||
| README.md | ||
| scripts.config.js | ||
| stryker.config.json | ||
| styles.css | ||
| tsconfig.json | ||
| versions.json | ||
| wdio.conf.ts | ||
Intelligence Assistant for Obsidian
Turn your vault into an Obsidian-Native Agentic Workspace. Intelligence Assistant is an autonomous AI agent that deeply understands your vault's structure, links, and canvas. It can independently plan and execute complex knowledge tasks—from organizing folders to building mind maps—all while ensuring safety through a Proposal-First execution model.
Desktop only. Requires Obsidian v1.7.2+.
🚀 The Agentic Evolution
This plugin has evolved beyond a simple chat interface into a full SPAR (Sense-Plan-Act-Reflect) autonomous loop:
- 📡 Sense: The Agent perceives your active note, graph neighbors, directory structure, RAG snippets, and its own long-term memories.
- 🧠 Plan: Using advanced reasoning (Chain-of-Thought), the Agent formulates a multi-step strategy and provides a transparent Task Checklist.
- 🛠️ Act: It independently executes tools (Vault, Canvas, MCP, Web, CLI) to gather information or prepare modifications.
- 🔄 Reflect: It evaluates results and refines its approach. Any vault changes are presented as Batch Write Proposals for your one-click approval.
✨ Feature Highlights
- Built-in Expert Team — Get started instantly with pre-configured personas: Librarian (Organization), Architect (Canvas & Mapping), Researcher (Synthesis), and Scribe (Writing & Vision).
- Spatial & Visual Intelligence — Independent read/write access to Obsidian Canvas (.canvas) files. Use Multi-modal Vision to turn sketches or screenshots into notes.
- Cognitive Memory System — Long-term associative memory via a local vector store. The Agent remembers your preferences and key research findings across conversations.
- Modern Logical UI — A redesigned Execution Timeline that merges reasoning and actions into a single flow. Compact tool pills save space while remaining fully inspectable.
- Vault-Native Tools — Specialized tools for Properties (YAML) management, batch file operations (move, create, delete), and directory-tree awareness.
- Multiple LLM Providers — OpenAI, Anthropic (Claude 3.5), Google Gemini, DeepSeek, Ollama (local), OpenRouter, and SAP AI Core.
- MCP & OpenAPI Integration — Seamlessly connect Model Context Protocol servers or any OpenAPI-spec service to expand your Agent's toolset.
- Privacy First — Your notes stay local. Indexing (RAG) uses a local vector store with configurable embedding providers.
🚀 Quick Start
📦 Community Plugin (recommended)
- Open Settings → Community plugins in Obsidian.
- Browse for "Intelligence Assistant" and install.
- Enable the plugin, then open Settings → Intelligence Assistant to configure providers.
📋 Requirements
| Requirement | Details |
|---|---|
| Obsidian | v1.7.2 or later (desktop only) |
| LLM API key | OpenAI, Anthropic, Google, DeepSeek, etc. |
🤖 Agents
Defined under Settings → Agents. Each agent has:
- System prompt, tool permissions, MCP server access
- Model strategy:
default,chat-view(follow chat selector), orfixed - Capabilities: RAG, Web Search, Long-term Memory
- Custom icon and display name
Agent mode uses native function calling (OpenAI) with automatic fallback to text-based tool parsing for other providers.
🧭 Agentic Scenarios
Command Palette (Cmd+P) and context menus expose task-oriented Agent entry points:
- Folder Organizer — proposes folder cleanup, moves, and index/MOC candidates.
- Project Brief — summarizes project status and next actions from a note or folder.
- Weekly Review — scans daily/project context to draft accomplishments and next-week plans.
- Research Brief — turns notes into a sourced research summary with a reading queue.
- Link/Tag Doctor — diagnoses inconsistent tags and orphaned concepts.
- Writing Scribe — creates drafts from source material and understands image sketches.
🔌 Tooling & Integration
📁 Vault Mastery
- Batch Proposals: Confirm multiple file moves or edits in a single click.
- Property Doctor: Automatically standardize tags, dates, and custom fields.
🎨 Canvas Support
- Independent access to
.canvasJSON. The Agent can place cards, link files, and organize your visual workspace.
🌐 Beyond the Vault
- Web Search: 8 supported providers for real-time external grounding.
- MCP & OpenAPI: Connect external data sources and automation scripts.
🔐 Capabilities & Data Access
This is an agentic plugin, so it deliberately uses a few capabilities beyond the standard vault API. Each is opt-in and used only for the feature listed. Nothing is collected or transmitted by the plugin itself — network traffic only goes to the LLM/search providers and MCP/OpenAPI endpoints you configure.
| Capability | Why it's needed | Scope / safeguards |
|---|---|---|
Shell execution (child_process) |
Running CLI tools and MCP stdio servers that you add | Only commands you configure are run; nothing executes without an explicit tool/server definition |
Direct filesystem access (fs) |
Locating and probing external executables (e.g. npx, python) when launching MCP servers |
Read-only access() checks for resolving command paths; all vault content is read/written exclusively through the Obsidian API |
| Environment variables | Spawned tools/servers need a working environment (PATH, HOME, locale, proxy, language toolchains) | An allowlist is forwarded — unrelated secrets and identity variables are not passed through. Anything extra a tool needs is set explicitly in that tool's own env config |
Vault enumeration (getMarkdownFiles) |
Building the local RAG index | Runs only when you trigger indexing; respects your include/exclude settings |
Clipboard (navigator.clipboard) |
"Copy" buttons in chat, plus optional pbcopy/pbpaste CLI presets |
Write-on-click only; presets are off unless you add them |
JSON-schema validation (ajv) |
Validating tool/agent argument schemas (also used internally by the MCP SDK) | Compiles schemas to validators in-memory; processes only your tool definitions |
Vault files are read and written only through the official Obsidian API (
vault.read/cachedRead/modify/create). The capabilities above never touch vault content directly.
🌐 Internationalization
Supports all 46 Obsidian languages, including full localization for the Command Palette and Context Menus.
🛠️ Development
npm install # install dependencies
npm run dev # development build + file watcher
npm run lint # ESLint check
npm run test # Jest test suite
npm run build # production bundle
📖 Documentation
| Document | Description |
|---|---|
| README-zh.md | Chinese README (中文说明) |
| docs/README.md | Documentation index |
| docs/architecture/overview-en.md | Architecture overview |
| docs/project/project-guide-en.md | Developer project guide |
| docs/reference/project-structure.md | Full source tree reference |
Contributions, issues, and feature requests are welcome — open a PR or discussion.