# NoClaw — 让你的 Obsidian 拥有会成长的 AI Agent
多引擎 · 有记忆 · 会沉淀 · 可进化
[ English | 简体中文 ]
## 概览
NoClaw 把 Claude Code、Codex、Gemini CLI、OpenCode、Qwen Code、Kimi Code 等引擎接进 Obsidian。你可以为不同 Agent 分配不同引擎,让它们读取当前笔记、继续会话、执行任务、整理知识、积累记忆。
NoClaw 不只是聊天侧边栏。它会把有价值的上下文、记忆、知识笔记和工作流留在你的 Vault 里;底层引擎可以随时切换,沉淀下来的东西仍然是普通 Markdown。
## 核心理念
- **多引擎,不锁定**:Agent 与引擎解耦。你可以为同一个 Agent 分配 Claude Code、Codex、Gemini CLI、OpenCode 或自定义 ACP CLI。
- **知识库即 Agent**:Agent 的身份、个人画像、记忆、Wiki 与技能都保存在 Vault 中,不需要迁移到外部数据库。
- **纯文本优先**:工作区、记忆日志、知识笔记和技能文件都使用 Markdown 或 JSONL 等可读格式。
- **本地优先**:NoClaw 不做遥测。除非你配置并调用对应 AI 引擎,否则 Vault 数据不会离开本机。
## 架构
```text
Agent(用户定义的 AI 人格)
├─ 身份、记忆、技能、Wiki(Vault 中的纯文本工作区)
└─ 引擎映射(主引擎 + 备用链)
│
▼
NoClaw(Hook 流水线 + 权限护栏 + 知识检索)
│
▼
引擎 CLI(Claude Code / Codex / Gemini CLI / OpenCode / Qwen Code / Kimi Code / 自定义)
│
▼
LLM API(Anthropic / OpenAI / Google / 阿里 / Moonshot / 用户配置端点)
```
## 功能特性
### 多引擎 Agent 平台
- **ACP 原生通信**:通过 Agent Client Protocol 连接 CLI 引擎,并支持任意兼容 ACP 的自定义引擎。
- **Agent 与引擎解耦**:一个 Agent 可分配多个引擎,列表中的第一个作为默认引擎。
- **并发会话**:支持多个聊天视图、浮动窗口和按 Agent 隔离的会话队列。
- **命令面板集成**:可直接打开聊天、为指定引擎新建聊天、批准或拒绝权限请求、广播提示词。
- **桌面端自动检测**:启动时会检测常见 CLI 路径,只填充空配置,不覆盖已有设置。
### Obsidian 原生上下文
- **自动提及当前笔记**:默认将当前活动笔记纳入消息上下文。
- **`@[[笔记名]]` 引用**:在聊天中直接引用 Vault 笔记。
- **上下文压缩**:工具结果剪枝、记忆刷新、检查点和归档机制帮助长会话保持在 token 预算内。
- **会话管理**:创建、恢复、派生、导出会话,并保留本地会话元数据。
### 知识与记忆
- **自动知识沉淀(可选)**:会话结束后可自动生成带反馈链接的原子笔记。
- **局部图谱展开**:通过 Obsidian 链接关系提取相关上下文,不依赖向量数据库。
- **主权记忆**:Agent 记忆写入可审计的 `LEDGER.md`,再物化为 `USER.md` 与 `MEMORY.md`。
- **热更新 Wiki 规则**:每个 Agent 可通过 `WIKI_CONFIG.md` 调整知识沉淀路径和规则。
### 进化与自动化
- **SOP 自动结晶(实验性,可选)**:复杂成功会话可提取为可复用的标准操作程序。
- **Nudge 引擎(实验性,可选)**:空闲时后台审查记忆质量并建议技能修补。
- **Cron 任务**:可创建周期性 AI 任务,用独立会话执行维护、总结等工作。
- **聊天频道(可选)**:通过自托管的 `@yungho/noclaw-channel` 桥接微信等外部消息入口。
### 安全护栏
- **内容安全扫描**:对提示注入、密钥泄露和危险记忆操作进行拦截。
- **MCP Bridge 安全层**:工具定义扫描、响应内容检查和权限门控用于降低不可信 MCP 工具风险。
- **权限请求可控**:敏感操作可以由用户逐次批准,也可在明确理解风险后启用自动允许。
## 安装
### 通过 BRAT(推荐)
1. 在 Obsidian 中安装并启用 [BRAT](https://tfthacker.com/Obsidian42-B-Repo-Auto-Installer/)。
2. 运行 `BRAT: Add a beta plugin for Obsidian`。
3. 粘贴仓库地址:`https://github.com/Yungho/obsidian-noclaw`。
4. 安装后在 设置 → 社区插件 中启用 NoClaw。
### 手动安装
1. 从 [GitHub Releases](https://github.com/Yungho/obsidian-noclaw/releases) 下载最新版。
2. 将 `main.js`、`manifest.json`、`styles.css` 放入 `.obsidian/plugins/noclaw/`。
3. 重启 Obsidian,进入 设置 → 社区插件,启用 NoClaw。
## 快速开始
### 1. 安装至少一个 CLI 引擎
以 OpenCode 为例:
```bash
curl -fsSL https://opencode.ai/install | bash
# 或者使用 npm 安装:
npm install -g opencode-ai
```
OpenCode 默认参数为 `acp`。Gemini CLI 和 Qwen Code 默认使用 `--acp`。Codex 可使用 `codex` 或 `codex-acp`,Claude Code 可使用 `claude-agent-acp`、`claude-code-acp` 或 `claude`。
### 2. 配置提供商
1. 打开 设置 → NoClaw → 提供商。
2. 找到对应引擎,填写 API Key、命令路径、参数和环境变量。
3. 可点击自动检测按钮让 NoClaw 填入已安装 CLI 的路径。
常用查找命令:
```bash
which opencode
which codex
which gemini
which claude-agent-acp
```
### 3. 创建 Agent
1. 打开 设置 → NoClaw → 智能体。
2. 点击 创建 Agent。
3. 填写名称、角色和风格,并分配一个或多个引擎。
4. 点击功能区 NoClaw 图标,或从命令面板运行 `Open chat`。
### 4. 定制工作区
Agent 工作区位于默认的 `noclaw/workspace-/`。常见文件包括:
- `IDENTITY.md`:Agent 身份、角色和风格。
- `USER.md`:用户画像和偏好。
- `memory/LEDGER.md`:可审计的记忆事件日志。
- `memory/MEMORY.md`:物化后的长期记忆视图。
- `WIKI_CONFIG.md`:知识沉淀配置(如果存在)。
- `wiki/`:自动沉淀的原子知识笔记。
## 系统要求
- Obsidian **1.11.4** 或更高版本。
- 仅桌面端:`isDesktopOnly: true`。
- 至少一个可用 CLI 引擎:Claude Code、Codex、Gemini CLI、OpenCode、Qwen Code、Kimi Code 或兼容 ACP 的自定义引擎。
## 平台支持
NoClaw 当前只支持桌面端。移动端不作为直接运行目标,因为 Obsidian 移动端无法启动本地 CLI 进程,后台执行和流式响应能力也受平台限制。
移动端可通过聊天频道间接使用:桌面端 Obsidian 保持运行,自托管桥接服务接收外部消息,再由 NoClaw 处理。
## 隐私与网络
NoClaw 不收集遥测、崩溃报告或使用分析。它只在以下场景发生网络通信:
| 场景 | 连接目标 | 发送内容 |
|---|---|---|
| Claude Code | Anthropic API | 当前会话消息、工具结果、Agent 指令 |
| Codex / OpenCode | OpenAI 或用户配置端点 | 当前会话消息、工具结果、Agent 指令 |
| Gemini CLI | Google API | 当前会话消息、工具结果、Agent 指令 |
| Qwen Code / Kimi Code | 用户配置端点 | 当前会话消息、工具结果、Agent 指令 |
| Chat Channels | 你的自托管桥接服务 | 外部频道消息和 Agent 回复 |
Vault 文件不会被整库上传。只有当前会话内容、工具结果,以及你明确通过 `@[[笔记名]]` 或自动提及纳入的笔记内容会进入对应引擎上下文。
API Key 存储方式取决于当前配置:专用 API Key 字段会通过 Obsidian `secretStorage` 保存;环境变量文本框中的 `KEY=VALUE` 会按设置内容保存,请只放入你愿意保存在插件配置中的值。
## 路线图
- ✅ **核心净化**:AgentLoop Hook 流水线、EventBus、ServiceContainer、MCP 安全层、plugin.ts 拆分。
- ✅ **知识觉醒**:自动知识沉淀、局部图谱展开、ContentScanner、持久化队列。
- 🟡 **自我进化**:SOP 自动结晶、Nudge 引擎、记忆质量审查和技能修补。
- ⏳ **SubAgent 编排**:Orchestrator-Subagent 模式、SubAgent 会话记录、并行任务分发。
## 贡献
欢迎提交 issue、PR 和复现步骤。开发前请阅读 `CONTRIBUTING.md`,并优先运行:
```bash
npm run lint
npm run test
npm run build
```
## 许可证
MIT — 详见 [LICENSE](LICENSE)。