熊喵呜哇40 downloadsAn AI writing, research, and vault assistant with chat, tools, Canvas, web search, and MCP support.
MarginMuse(页语) is a bilingual AI writing, research, and vault assistant for Obsidian. It brings model conversations, note context, file tools, Canvas editing, web research, and MCP tools into one desktop panel.
MarginMuse is a third-party plugin and is not affiliated with Obsidian.
SKILL.md format, with automatic task matching, explicit /skill invocation, and no bundled defaults.stdio or streamable HTTP.1.4.0 or newer.stdio MCP servers.MarginMuse is desktop-only because it uses Node.js APIs for streaming requests and MCP processes.
New installations start with both MCP tools and web access disabled. Core vault and Canvas tools remain available independently.
MarginMuse does not preconfigure providers or models. Add an OpenAI-compatible provider first, then add or pull models that you actually intend to use.
Once accepted into the Obsidian Community directory, search for MarginMuse in:
Settings → Community plugins → Browse.
For manual installation:
main.js, manifest.json, and styles.css in .obsidian/plugins/marginmuse/.For use with restricted or untrusted notes, choose a model with tool calling disabled or review every requested file operation.
Tool execution has three independent safeguards under Settings → MarginMuse → Chat:
8.20.5 minutes.Repeated identical tool calls are blocked after two executions, and the model is asked to summarize available results when a limit is reached.
MarginMuse has no telemetry and does not include ads.
web_fetch requests the URL supplied by the user or requested through the model.127.0.0.1, requires a Bearer Token, and can request approved note writes.data.json.Review the privacy policies of the AI, search, and MCP services you choose to use.
When a tool-capable model is selected, the plugin can read and modify files in the active vault. Deletions and overwrites require confirmation and use the Obsidian trash when possible. Hidden paths such as .obsidian and parent-directory traversal are blocked for built-in file tools.
Model output can still be incorrect. Review generated edits, Canvas changes, and shell-related MCP operations before relying on them.
MarginMuse supports MCP servers over stdio and streamable HTTP. Only connect MCP servers you trust. A local MCP command runs with the permissions of the Obsidian process.
The chat toolbar's Tools button controls MCP only. Built-in vault and Canvas tools remain available independently, and web access has its own toggle.
Local Agent presets are disabled by default. When a server is marked as a complex-task Agent, MarginMuse asks for confirmation before each call. Configure the server timeout according to the expected task duration.
Agent cards display MCP progress notifications when the server provides them. Stopping a response also cancels active MCP requests. Returned threadId and taskId values are retained in the session so the main model can continue an Agent task later.
See Local Agent MCP contract for the recommended adapter tools and response fields.
The third-stage Bridge is a reverse MCP server hosted by MarginMuse. It is disabled by default, binds only to 127.0.0.1, and requires the generated Bearer Token.
Trusted local Agents can call:
bridge_session_context: recent messages in the active MarginMuse session.bridge_active_note: active note metadata and optional text.bridge_search_vault: search Markdown notes.bridge_read_note: read a permitted vault note.bridge_write_result: request an append or write inside the configured Agent output folder, with a content preview and hash in the confirmation dialog.The Bridge does not expose API keys, data.json, plugin configuration, or hidden-directory traversal. Writes are confined to Settings → MarginMuse → Bridge → Agent output folder, defaulting to MarginMuse Agent Output.
MarginMuse loads user-authored Skills from the configured Skill root. The default root is .obsidian/marginmuse/skills, so Skill files stay out of the normal vault file list. It does not bundle default Skills and does not execute scripts found inside a Skill.
MarginMuse scans only the configured Skill root. New Skills created by AI are written through the restricted write_skill tool; normal Vault-writing tools are unavailable during Skill Builder sessions.
.obsidian/marginmuse/skills/
└── example-skill/
└── SKILL.md
SKILL.md uses frontmatter with at least name and description. Activate a Skill from the chat header. It applies only to the current chat session.
For an active Skill, AI tools can list and read only files inside that Skill directory through the restricted list_skill_files and read_skill_file tools.
By default, MarginMuse gives the model a lightweight Skill catalog and lets it call activate_skill when the task matches. To choose a Skill explicitly, type /skill in the composer, select a Skill, and continue with the task. Explicit selection applies only to that turn; there is no permanent pin mode.
To create a Skill, open Settings → MarginMuse → Skills and select Let AI create a Skill. MarginMuse starts a dedicated Skill Builder conversation with a prefilled request. Describe the desired workflow and the AI saves a complete SKILL.md through the restricted write_skill tool. The AI may ask follow-up questions before writing.
The write_skill tool is available only during Skill Builder conversations, never in ordinary chat sessions.
Agent mode is disabled by default. When disabled, MarginMuse keeps the current lightweight chat and Skill behavior.
When enabled, MarginMuse loads a selected Agent Profile from the hidden .obsidian/marginmuse/agents directory:
.obsidian/marginmuse/
├── agents/<agent-id>/
│ ├── AGENT.md
│ ├── SOUL.md
│ └── MEMORY.md
├── users/default/PROFILE.md
└── tasks/<session-id>.md
AGENTS.md at the vault root is loaded as optional vault-level instructions.
Agent mode may substantially increase token usage because it loads persona, responsibilities, user profile, relevant long-term memory, task state, and allows longer tool loops. The settings page shows this warning before enabling.
Files can be edited from Settings → MarginMuse → Agent. If Allow Agent self-edit is enabled, the Agent can request changes to its identity, memories, or user profile. Every such write requires confirmation.
Each chat session stores its own immutable agentId. The Agent selected in settings is only the default for new sessions; changing it does not switch an existing conversation. Start a new conversation and select another Agent to avoid mixing persona, memory, or task state.
When Agent mode is enabled, both the ribbon/chat New conversation action and the New chat command open an Agent picker before creating the session. Session history shows the bound Agent only while Agent mode is enabled.
See Agent mode files for loading priority and safety rules.
Skill settings also provide a Delete Skill action. It asks for confirmation and sends the entire Skill folder to Obsidian's local trash or the operating-system trash; if neither is available, the plugin cancels the deletion instead of permanently removing files.
MarginMuse(页语)是一款面向 Obsidian 的双语 AI 写作与笔记助手,支持多会话、笔记上下文、文件工具、Canvas 白板、联网搜索和 MCP。
使用前请注意:
/skill 可以临时指定一个 Skill,只对当前这一轮生效。127.0.0.1 并要求 Token;本地 Agent 写回笔记前必须由用户在 MarginMuse 中确认。data.json 中。This repository ships the readable bundled plugin as main.js, so no build step is required to install or run it. mcp-sample-server.cjs is a zero-dependency sample MCP server used to verify the transport.
Do not commit data.json or index-cache.json; both may contain private user data.
MIT. See LICENSE.