Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Canvas ACP

Geno ZhouGeno Zhou128 downloads

Ask an ACP agent a question about a canvas note, then add the generated note back to the canvas.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates26

Canvas ACP is an Obsidian desktop plugin for asking an ACP-compatible LLM agent a question about a canvas node.

Workflow

  1. Open a canvas and select a note node, text node, or group node.
  2. Run Ask question about canvas node from the command palette, ribbon, or a hotkey.
  3. A modal opens showing:
    • An input field for your question.
    • An editable 提示词预览 (prompt preview) so you can review and tweak the prompt before sending.
    • Stats line showing upstream context size and total characters.
    • An Include thinking checkbox to keep or strip <think> blocks from the response.
  4. Submit and the modal closes. A new text node is created on the canvas.
  5. The plugin streams the agent response into the new text node. The question appears as the edge label.

Group nodes

Selecting a group node treats all contained note/text nodes as combined context. A single edge connects the group to the generated response.

Upstream context

If the selected node has incoming edges, the content of those upstream nodes is automatically included as additional context in the prompt.

Settings

Configure in Settings → Canvas ACP:

  • Agent command: executable path, such as node or an absolute path to an ACP agent.
  • Agent arguments: arguments passed to the command, such as the path to an ACP adapter.
  • Generated node size: width and height for new canvas text nodes.
  • System prompt: replaces the default base prompt when non-empty. Blank or whitespace-only values fall back to the default behavior.
  • Debug logging: prints selection, canvas write, and ACP protocol diagnostics to the developer console.

Commands

  • Ask question about canvas node: opens the question modal for the selected canvas node.

Assign a shortcut in Settings → Hotkeys.

Privacy and security

The plugin sends only the selected node content, upstream context, and your question to the ACP agent process you configure. It does not make hidden network requests or collect telemetry. Any network access depends on the configured agent.

To talk to ACP, the plugin spawns the agent command you set in settings (without a shell). That process runs with your user permissions, so only configure commands you trust. Vault access uses Obsidian APIs (vault.read, vault.modify, and related helpers), not arbitrary filesystem paths outside the vault.

Development

  • Install dependencies with npm install.
  • Run npm run dev to compile in watch mode.
  • Run npm run build before publishing.
  • Run npm test to execute the test suite.
  • Copy main.js, styles.css, and manifest.json into VaultFolder/.obsidian/plugins/canvas-acp/ for manual testing.

Acknowledgments

  • This plugin was bootstrapped from the Obsidian Sample Plugin template. Its build tooling and plugin skeleton provided the starting point.
  • The idea of bringing an Agent Client Protocol (ACP) agent into Obsidian was inspired by obsidian-agent-client by RAIT-09. While the codebases are independent (this project implements ACP communication with a lightweight custom client rather than the official SDK), the conceptual proof that ACP agents can work inside Obsidian was valuable.

Release

  • Run npm run verify for a local test/lint pass during development.
  • Run npm run release:check before manual release checks; it builds, tests, lints, and validates release artifacts.
  • Prepare the next prerelease with npm run prerelease. Publish it with npm run release:prerelease.
  • Prepare the next stable release with npm run release:prepare. Publish it with npm run release:stable.
  • There is intentionally no npm run release alias, because npm would run the prerelease lifecycle hook before it.
  • Release scripts update package.json, package-lock.json, manifest.json, and versions.json.
  • Publish scripts commit the version bump, create a semver tag without a v prefix, push main plus the tag, and run npm run verify:release -- <version>.
  • GitHub Actions creates the GitHub Release from the pushed tag and attaches manifest.json, main.js, and styles.css. CI also generates artifact attestations for main.js and styles.css; verify with gh attestation verify main.js -R GenoZhou/canvas-acp after downloading a release asset.
HealthExcellent
ReviewSatisfactory
About
Ask an ACP-compatible LLM about a selected canvas node and stream the agent response into a new text node, labeling the edge with your question. Include upstream context or combine all nodes in a group as context, and preview or edit the prompt (optionally keep or strip <think> blocks) before sending.
AICanvas
Details
Current version
1.0.3
Last updated
3 months ago
Created
3 months ago
Updates
26 releases
Downloads
128
Compatible with
Obsidian 0.15.0+
Platforms
Desktop only
License
0BSD
Report bugRequest featureReport plugin
Author
Geno ZhouGeno Zhougenozhou
GitHubgenozhou
  1. Community
  2. Plugins
  3. AI
  4. Canvas ACP

Related plugins

HiWords

Effortlessly grow your vocabulary as you read, with automatic highlighting and translation of unfamiliar words.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Copilot

Your AI Copilot: Chat with Your Second Brain, Learn Faster, Work Smarter.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Text Generator

Generate text content using GPT-3 (OpenAI).

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Karpathy LLM Wiki

Karpathy's LLM Wiki implementation - multi-page knowledge generation with entity/concept pages and conversational query.