- 切换至张三 (Qwen 3.6-35B-A3B) 主模型 - 新增 Git 工作流规范(改完即推) - 新增 Provider 配置示例(zhangsan + bailian 备用) - 完善两阶段遗忘/返场逻辑说明 - 更新状态跟踪至已完成
6.0 KiB
6.0 KiB
name, description, version
| name | description | version |
|---|---|---|
| nerd-brain-memory-system | 搭建和维护 nerd-Brain (呆脑子) 本地 AI 记忆系统 - 基于 Obsidian + Python + 张三(Qwen 3.6) 的轻量级长效记忆方案 | 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
- 标签限制:EXACTLY 2 tags,格式
2. anchor_search.py - 多维检索
- 关键词 + 情感 + 时间 + 重要性加权搜索
- 支持无 Frontmatter 的纯 Markdown 文件
- 返回按相关性排序的结果
3. anchor_decay.py - 遗忘与返场
- 改进版艾宾浩斯遗忘曲线
- 参数:
DECAY_LAMBDA=0.05,THRESHOLD=0.3,RESURRECTION_CHANCE=0.1 - 两阶段逻辑:
- 活跃文件扫描:得分低于阈值时,10% 概率触发"防归档"复活(状态改为
resurrected) - 归档文件扫描:扫描
Archive/目录,10% 概率将文件拉回原路径(归档时记录original_path)
- 活跃文件扫描:得分低于阈值时,10% 概率触发"防归档"复活(状态改为
4. anchor_vault_sync.py - 索引生成
- 扫描 Vault 目录,生成
anchor_vault_index.json - 供检索引擎快速查询
配置说明
Hermes config.yaml Provider 配置
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 笔记规范
- 标签:严格限制 2 个,格式
#Category/ProjectName- 示例:
#memory/nerd-brain,#llm/local-deploy,#project/nerd-brain,#tool/git-workflow - 类别:llm, memory, project, tool, idea
- 示例:
- 引用:外部资源/GitHub 项目必须附带链接
- 格式:
Ombre-Brain(https://github.com/P0luz/Ombre-Brain)
- 格式:
- 结构:按项目文件夹组织,每周汇总
- 禁止"一分钟一篇"的碎片笔记
- 仅记录:进度、关键事项、报错、核心想法
Git 工作流
- 仓库地址:
http://101.36.73.102:3112/fyah/mao1.git - 推送策略:每次改动完成后立即
git push,不积攒 - 权限账号:
fyah(已配置 remote URL) - 执行流程:
- 完成代码/笔记修改
- 本地验证通过
git add -A && git commit -m "feat: <简短描述>"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/
依赖
pip install requests pyyaml
状态跟踪
- ✅ 记忆写入(含情感标签)
- ✅ 多维检索引擎
- ✅ 遗忘曲线 + 自动归档
- ✅ 归档后随机返场(10% 概率,两阶段扫描)
- ✅ 张三 (Qwen 3.6-35B-A3B) 本地模型接入
- ✅ Git 工作流自动化
- ✅ Obsidian 笔记规范(双标签 + 引用链接)