YishenTu / claudian
- вторник, 17 марта 2026 г. в 00:00:03
An Obsidian plugin that embeds Claude Code as an AI collaborator in your vault
An Obsidian plugin that embeds Claude Code as an AI collaborator in your vault. Your vault becomes Claude's working directory, giving it full agentic capabilities: file read/write, search, bash commands, and multi-step workflows.
@, exclude notes by tag, include editor selection (Highlight), and access external directories for additional context.#): Add refined custom instructions to your system prompt directly from the chat input, with review/edit in a modal./command, with argument placeholders, @file references, and optional inline bash substitutions.~/.claude/plugins and per-vault configuration. Plugin skills, agents, and slash commands integrate seamlessly.@-mention activation.claude-in-chrome extension.main.js, manifest.json, and styles.css from the latest releaseclaudian in your vault's plugins folder:
/path/to/vault/.obsidian/plugins/claudian/
claudian folderBRAT (Beta Reviewers Auto-update Tester) allows you to install and automatically update plugins directly from GitHub.
https://github.com/YishenTu/claudianTip: BRAT will automatically check for updates and notify you when a new version is available.
Clone this repository into your vault's plugins folder:
cd /path/to/vault/.obsidian/plugins
git clone https://github.com/YishenTu/claudian.git
cd claudianInstall dependencies and build:
npm install
npm run buildEnable the plugin in Obsidian:
# Watch mode
npm run dev
# Production build
npm run buildTip: Copy
.env.local.exampleto.env.localornpm installand setup your vault path to auto-copy files during development.
Two modes:
Use it like Claude Code—read, write, edit, search files in your vault.
@ to attach other files@ to see MCP servers, agents, external contexts, and vault files
@Agents/ shows custom agents for selection@mcp-server enables context-saving MCP servers@folder/ filters to files from that external context (e.g., @workspace/)![[image]] embeds# to add refined instructions to system prompt/ for custom prompt templates or skillsskill/SKILL.md files to ~/.claude/skills/ or {vault}/.claude/skills/, recommended to use Claude Code to manage skillsagent.md files to ~/.claude/agents/ (global) or {vault}/.claude/agents/ (vault-specific); select via @Agents/ in chat, or prompt Claudian to invoke agents@mcp-server in chat to activateCustomization
sensitive, private)attachments)# saves here)map w scrollUp, map s scrollDown, map i focusInputHotkeys
Slash Commands
/commands (optionally override model and allowed tools)MCP Servers
Claude Code Plugins
~/.claude/pluginsSafety
~/.claude/settings.json (user's Claude Code permission rules may bypass Safe mode)~/Desktop, ~/Downloads). Supports ~, $VAR, ${VAR}, and %VAR% (Windows).Environment
export prefix)Advanced
| Scope | Access |
|---|---|
| Vault | Full read/write (symlink-safe via realpath) |
| Export paths | Write-only (e.g., ~/Desktop, ~/Downloads) |
| External contexts | Full read/write (session-only, added via folder icon) |
ANTHROPIC_BASE_URL.vault/.claude/; session messages in ~/.claude/projects/ (SDK-native); legacy sessions in vault/.claude/sessions/.If you encounter spawn claude ENOENT or Claude CLI not found, the plugin can't auto-detect your Claude installation. Common with Node version managers (nvm, fnm, volta).
Solution: Find your CLI path and set it in Settings → Advanced → Claude CLI path.
| Platform | Command | Example Path |
|---|---|---|
| macOS/Linux | which claude |
/Users/you/.volta/bin/claude |
| Windows (native) | where.exe claude |
C:\Users\you\AppData\Local\Claude\claude.exe |
| Windows (npm) | npm root -g |
{root}\@anthropic-ai\claude-code\cli.js |
Note: On Windows, avoid
.cmdwrappers. Useclaude.exeorcli.js.
Alternative: Add your Node.js bin directory to PATH in Settings → Environment → Custom variables.
If using npm-installed CLI, check if claude and node are in the same directory:
dirname $(which claude)
dirname $(which node)If different, GUI apps like Obsidian may not find Node.js.
Solutions:
PATH=/path/to/node/binStill having issues? Open a GitHub issue with your platform, CLI path, and error message.
src/
├── main.ts # Plugin entry point
├── core/ # Core infrastructure
│ ├── agent/ # Claude Agent SDK wrapper (ClaudianService)
│ ├── agents/ # Custom agent management (AgentManager)
│ ├── commands/ # Slash command management (SlashCommandManager)
│ ├── hooks/ # PreToolUse/PostToolUse hooks
│ ├── images/ # Image caching and loading
│ ├── mcp/ # MCP server config, service, and testing
│ ├── plugins/ # Claude Code plugin discovery and management
│ ├── prompts/ # System prompts for agents
│ ├── sdk/ # SDK message transformation
│ ├── security/ # Approval, blocklist, path validation
│ ├── storage/ # Distributed storage system
│ ├── tools/ # Tool constants and utilities
│ └── types/ # Type definitions
├── features/ # Feature modules
│ ├── chat/ # Main chat view + UI, rendering, controllers, tabs
│ ├── inline-edit/ # Inline edit service + UI
│ └── settings/ # Settings tab UI
├── shared/ # Shared UI components and modals
│ ├── components/ # Input toolbar bits, dropdowns, selection highlight
│ ├── mention/ # @-mention dropdown controller
│ ├── modals/ # Instruction modal
│ └── icons.ts # Shared SVG icons
├── i18n/ # Internationalization (10 locales)
├── utils/ # Modular utility functions
└── style/ # Modular CSS (→ styles.css)
/compact commandrewind and fork support (including /fork command)!command supportLicensed under the MIT License.