Files
mao1/skill/SKILL.md
fyah 8e16427ec2 docs: 更新 nerd-Brain Skill 至 v2.0
- 切换至张三 (Qwen 3.6-35B-A3B) 主模型
- 新增 Git 工作流规范(改完即推)
- 新增 Provider 配置示例(zhangsan + bailian 备用)
- 完善两阶段遗忘/返场逻辑说明
- 更新状态跟踪至已完成
2026-04-27 10:06:02 +08:00

146 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: nerd-brain-memory-system
description: 搭建和维护 nerd-Brain (呆脑子) 本地 AI 记忆系统 - 基于 Obsidian + Python + 张三(Qwen 3.6) 的轻量级长效记忆方案
version: 2.0
---
# nerd-Brain 记忆系统搭建指南
## 系统架构
```
┌─────────────┐ ┌──────────────┐ ┌───────────────────────┐
│ anchor_ │────▶│ Obsidian │────▶│ 张三 (Qwen 3.6-35B) │
│ writer.py │ │ Vault (MD) │ │ A100:8083/v1 │
└─────────────┘ └──────────────┘ └───────────────────────┘
│ │ │
▼ ▼ │
┌─────────────┐ ┌──────────────┐ │
│ anchor_ │ │ anchor_ │ │
│ search.py │ │ decay.py │ │
│ (多维检索) │ │ (遗忘+返场) │ │
└─────────────┘ └──────────────┘ │
┌─────┴────────┐
│ 百炼 (备用) │
│ coding.dash │
│ scope.aliyun │
│ .com/v1 │
└──────────────┘
```
**核心原则**
- 拒绝 Docker/向量数据库/外部服务
- 纯 Python 脚本 + Obsidian Markdown + YAML Frontmatter
- **张三 (Qwen 3.6-35B-A3B)** 作为主模型,百炼作为备用
## 核心脚本
### 1. anchor_writer.py - 记忆写入
- 调用 LLM 生成摘要、情感坐标 (valence/arousal)、关键词
- 输出标准 Markdown 文件到 Obsidian Vault
- **Provider 优先级**:优先使用 `zhangsan`,降级到 `bailian`
- **Prompt 规范**
- 标签限制EXACTLY 2 tags格式 `#Category/ProjectName`
- 引用规范:提到 GitHub 或外部素材时,必须附带链接
- 摘要限制max 50 words
### 2. anchor_search.py - 多维检索
- 关键词 + 情感 + 时间 + 重要性加权搜索
- 支持无 Frontmatter 的纯 Markdown 文件
- 返回按相关性排序的结果
### 3. anchor_decay.py - 遗忘与返场
- 改进版艾宾浩斯遗忘曲线
- 参数:`DECAY_LAMBDA=0.05`, `THRESHOLD=0.3`, `RESURRECTION_CHANCE=0.1`
- **两阶段逻辑**
1. **活跃文件扫描**得分低于阈值时10% 概率触发"防归档"复活(状态改为 `resurrected`
2. **归档文件扫描**:扫描 `Archive/` 目录10% 概率将文件拉回**原路径**(归档时记录 `original_path`
### 4. anchor_vault_sync.py - 索引生成
- 扫描 Vault 目录,生成 `anchor_vault_index.json`
- 供检索引擎快速查询
## 配置说明
### Hermes config.yaml Provider 配置
```yaml
custom_providers:
- name: zhangsan
base_url: http://101.36.73.102:8083/v1
api_key: sk-omnicoder-local-2026
api_mode: chat_completions
model: Qwen3.6-35B-A3B
- name: bailian
base_url: https://coding.dashscope.aliyuncs.com/v1
api_key: sk-sp-...
api_mode: chat_completions
model: qwen3.5-plus
```
### 脚本常量配置
- `VAULT_DIR`: Obsidian 笔记库路径 (`/Users/fyah/Documents/如梦初醒/memory/test/Anchor-Memory`)
- `ARCHIVE_DIR`: 归档目录路径 (`VAULT_DIR/Archive`)
- `RESURRECTION_CHANCE`: 返场概率(默认 0.1
- `DECAY_LAMBDA`: 遗忘速率(默认 0.05
- `THRESHOLD`: 归档阈值(默认 0.3
## Obsidian 笔记规范
1. **标签**:严格限制 2 个,格式 `#Category/ProjectName`
- 示例:`#memory/nerd-brain`, `#llm/local-deploy`, `#project/nerd-brain`, `#tool/git-workflow`
- 类别llm, memory, project, tool, idea
2. **引用**:外部资源/GitHub 项目必须附带链接
- 格式:`Ombre-Brain(https://github.com/P0luz/Ombre-Brain)`
3. **结构**:按项目文件夹组织,每周汇总
- 禁止"一分钟一篇"的碎片笔记
- 仅记录:进度、关键事项、报错、核心想法
## Git 工作流
- **仓库地址**`http://101.36.73.102:3112/fyah/mao1.git`
- **推送策略**:每次改动完成后**立即** `git push`,不积攒
- **权限账号**`fyah`(已配置 remote URL
- **执行流程**
1. 完成代码/笔记修改
2. 本地验证通过
3. `git add -A && git commit -m "feat: <简短描述>"`
4. `git push -u origin main`
- **故障处理**:推送失败超过 2 次,停止并通知用户
## 常见问题
### Git 推送权限问题
- 症状:`pre-receive hook declined`
- 解决:确认仓库写入权限,使用 `git remote set-url origin http://user:pass@repo.git`
### API 连接失败
- 症状429 限流或超时
- 解决:检查 API Key 有效性,确认张三端点 `http://101.36.73.102:8083/v1`
### JSON 解析错误
- 症状:脚本报错 `JSONDecodeError`
- 解决Prompt 中强调 `Output ONLY a valid JSON object. No markdown, no explanation.`
### 复活后文件位置错误
- 症状:复活文件全堆在根目录
- 解决:归档时必须记录 `metadata["original_path"]`,复活时使用该路径恢复
## 备份与回滚
- 原始脚本备份:`~/.hermes/anchor_memory_backup/`
- 回滚命令:`cp ~/.hermes/anchor_memory_backup/*.py ~/.hermes/`
## 依赖
```bash
pip install requests pyyaml
```
## 状态跟踪
- ✅ 记忆写入(含情感标签)
- ✅ 多维检索引擎
- ✅ 遗忘曲线 + 自动归档
- ✅ 归档后随机返场10% 概率,两阶段扫描)
- ✅ 张三 (Qwen 3.6-35B-A3B) 本地模型接入
- ✅ Git 工作流自动化
- ✅ Obsidian 笔记规范(双标签 + 引用链接)