Yungho17 downloadsRun persistent AI agents directly in your vault — self-evolving, plain-text knowledge with zero lock-in. Multi-engine via ACP (Claude Code, Codex, Gemini CLI, and more).
Multi-engine · Remembering · Knowledge-capturing · Self-evolving
NoClaw brings Claude Code, Codex, Gemini CLI, OpenCode, Qwen Code, Kimi Code, and other engines into Obsidian. Assign different engines to different Agents, then let them read active notes, continue sessions, run tasks, organize knowledge, and build memory.
NoClaw is not just another chat sidebar. It keeps valuable context, memories, knowledge notes, and workflows inside your vault. The underlying engine can change at any time; what you build remains plain Markdown.
Agent (user-defined AI persona)
├─ Identity, memory, skills, wiki (plain-text workspace in the vault)
└─ Engine mapping (primary engine + fallback chain)
│
▼
NoClaw (hook pipeline + permission guard + knowledge retrieval)
│
▼
Engine CLI (Claude Code / Codex / Gemini CLI / OpenCode / Qwen Code / Kimi Code / Custom)
│
▼
LLM API (Anthropic / OpenAI / Google / Alibaba / Moonshot / user-configured endpoint)
@[[Note Name]] references: Reference vault notes directly from chat.LEDGER.md, then materialized into USER.md and MEMORY.md.WIKI_CONFIG.md.@yungho/noclaw-channel bridge.BRAT: Add a beta plugin for Obsidian.https://github.com/Yungho/obsidian-noclaw.main.js, manifest.json, and styles.css in .obsidian/plugins/noclaw/.Example with OpenCode:
curl -fsSL https://opencode.ai/install | bash
# or
npm install -g opencode-ai
OpenCode uses acp by default. Gemini CLI and Qwen Code use --acp by default. Codex can use codex or codex-acp; Claude Code can use claude-agent-acp, claude-code-acp, or claude.
Common path checks:
which opencode
which codex
which gemini
which claude-agent-acp
Open chat from the command palette.Agent workspaces live under noclaw/workspace-<id>/ by default. Common files include:
IDENTITY.md: Agent identity, role, and style.USER.md: User profile and preferences.memory/LEDGER.md: Auditable memory event log.memory/MEMORY.md: Materialized long-term memory view.WIKI_CONFIG.md: Knowledge ingestion configuration, if present.wiki/: Atomic knowledge notes created by ingestion.isDesktopOnly: true.NoClaw currently supports desktop only. Direct mobile execution is not a goal because Obsidian mobile cannot spawn local CLI processes, and background execution plus streaming responses are platform-limited.
Mobile access can still be bridged through Chat Channels: keep desktop Obsidian running, host the bridge yourself, and let NoClaw process external messages.
NoClaw does not collect telemetry, crash reports, or usage analytics. Network access happens only in these cases:
| Scenario | Connection target | Data sent |
|---|---|---|
| Claude Code | Anthropic API | Current session messages, tool results, Agent instructions |
| Codex / OpenCode | OpenAI or user-configured endpoint | Current session messages, tool results, Agent instructions |
| Gemini CLI | Google API | Current session messages, tool results, Agent instructions |
| Qwen Code / Kimi Code | User-configured endpoint | Current session messages, tool results, Agent instructions |
| Chat Channels | Your self-hosted bridge | External channel messages and Agent replies |
NoClaw does not upload your entire vault. Only the active conversation, tool results, and notes you explicitly include with @[[Note Name]] or active-note auto-mention enter the configured engine context.
API key storage depends on the setting. Dedicated API key fields are stored through Obsidian secretStorage. Values entered in environment variable text areas are saved as settings text, so only place values there that you are comfortable storing in plugin configuration.
Issues, pull requests, and reproducible bug reports are welcome. Before development, read CONTRIBUTING.md and prefer running:
npm run lint
npm run test
npm run build
MIT — see LICENSE.