# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17
# 资源：[CONSOL_REPORT_20260130、hub/consolidation.py、hub/memory.py、bach_api.py]

记忆系统（认知模型）
--------------------------------

日期：2026-01-30

定义：BACH 使用类似于人类的认知记忆系统
是以记忆为模型的。它不仅仅是存储和
集成了主动加权、衰减（遗忘）和增强（记忆）。

5 种认知类型：
-----------------------

1。工作内存（内存_工作）
   ——《短期记忆》
   - 焦点：当前会话，稍纵即逝。
   - 命令：`bach mem write "..."`

2.情景记忆（内存会话）
   ——《冒险日记》
   - 保存已完成的会话（360+）。
   - 命令：`bach​--内存会话“...”`

3.语义记忆（memory_facts、docs/help/、wiki/）
   ——《世界知识》
   - 事实、定义、架构（230 多个事实）。
   - 命令：`bach​--记忆事实“...”`

4.程序记忆（记忆课程、工具/、技能/）
   - “技能”/“最佳实践”
   - 事情是如何完成的（工作流程、工具）。
   - 命令：`巴赫课程添加“...”`

5.关联内存（内存_上下文、上下文_触发器）
   ——《桥》
   - 通过触发器将知识与当前情况联系起来。
   - 命令：`bach --内存搜索“...”`
   - 集成：context_triggers 在连接器路由期间也会触发

动态学习系统（新 v1.1.80）
------------------------------------
与传统系统相比，BACH 的注入器现在是动态的：
- TRIGGER-DB：自动生成来自课程、工作流程和工具的 900 多个触发器。
- 认知负载：仅将相关上下文加载到会话中。
- 反馈：已完成的任务和吸取的经验教训会立即改变系统行为。

连接器集成（新 v2.0 - 2026-02-08）
---------------------------------------------
context_triggers 现在也用于连接器路由：
- 传入的 Telegram/Discord/HomeAssistant 消息会经过 context_triggers
- 检测到的触发器作为元数据附加到 messages.metadata
- LLM自动获取相关背景（例如“税收”→税收事实）
- 请参阅：--help 连接器（上下文集成部分）

数据库表：
  memory_working 临时笔记（is_active 标志）
  memory_facts 全局事实（类别：用户、项目、系统、域）
  记忆课程见解（严重性：信息、警告、严重）
  memory_sessions 会话历史记录（带有摘要和上下文）
  memory_consolidation 跟踪元数据（权重、last_accessed）
  带有触发器的内存上下文源路径（旧版）
  context_triggers 900+ 动态触发器（课程/工作流程/工具）
                       → 喷油器点火 + 连接器布线

置信系统：
-----------------

内存系统使用置信值来评估事实的质量。

置信度范围（0.0 - 1.0）：
  1.0 绝对安全（已验证、多次确认）
  0.8-0.9 非常安全（来源可靠）
  0.5-0.7 中等（假设或观察）
  0.3-0.4 不确定（猜测）
  0.0-0.2 非常不确定（待检查）

视觉表现：
  置信度显示为条形：[*****] = 1.0，[*** ] = 0.6，[* ] = 0.2

源跟踪：
  每个事实都可以有一个来源（--source），例如“用户”、“系统”、“观察”

命令（完整）：
-----------------------

基本命令：
  bach mem write "..."              填充工作内存
  bach --memory facts               检索语义知识
  bach --memory fact "key:value"    保存新事实
  bach --memory session "..."       保存会话报告
  bach --memory search "..."        关联搜索
  bach --memory status              详细内存状态
  bach --memory provenance          来源、证据类型、个人参考和隐私信息
  bach --status                     在标题中查看内存状态

LIBRARY API (bach_api.py)：
  从 bach_api 导入内存
  memory.write("Note") 工作内存
  memory.facts() 所有事实
  memory.fact("key:value") 保存事实
  memory.search("query") 关联搜索
  memory.status() 状态
  memory.session("Summary") 结束会话

置信命令：
  bach --memory certain             仅显示某些事实 (>=0.8)
  bach --memory uncertain           需要检查的不确定事实 (<0.5)
  bach --memory confidence KEY 0.9  更新事实的置信度

会话命令：
  bach --memory sessions            显示所有会话
  bach --memory sessions N          显示最后 N 个会话

来源视图：
  bach --memory provenance              所有内存区域的最后条目
  bach --memory provenance facts 10     仅包含来源、证据和隐私的事实通知
  bach --memory provenance sessions 5   从合作伙伴/隐私角度进行的会议摘要

自信地保存事实：
  bach --memory fact "key:value" --conf=0.8 --source="user"

  参数：
    --conf=X 置信度值（0.0-1.0），默认：0.5
    --source=X 事实来源（例如“用户”、“系统”、“观察”）

巩固：
  bach consolidate run              开始学习过程（衰减/提升）

HEADLESS API（GUI 服务器）：
  GET /api/memory/facts?limit=50 所有事实 (JSON)
  POST /api/memory/facts 创建新事实
  DEL /api/memory/facts/<id> 删除事实
  GET /api/memory/lessons?limit=50 所有课程
  POST /api/memory/lessons 创建新课程
  DEL /api/memory/lessons/<id> 禁用课程

另请参阅：
  --help注射器 注射器系统
  --help consolidation 整合引擎
  --help Connector 连接器集成 (context_triggers)
  docs/help/lessons.txt 处理课程
  bach_api.py 库 API（内存模块）
  SKILL.md 系统初始化

关闭工作流程：
------------------

正确（新）：
  1. bach --shutdown目录扫描+注释
  2. bach --memory session "..." 将会话报告保存到数据库

  或者合而为一：
  bach --memory session "THEMA: Was gemacht wurde. NAECHSTE: Was noch kommt."

错误（过时）：
  - 在内存/存档/中创建 Markdown 文件
  - 将会话报告另存为 .md 文件

会话报告格式：
-----------------------

摘要文本的推荐格式：

  “主题：简短描述。

 完成：
   - 任务1
   - 任务2

   已创建：X 个新任务

   下一步：
   1. 优先级1
   2. 优先级 2"

或者紧凑：
  “ATI 架构，已创建 9 个任务。下一步：ati.py 处理程序”

最佳实践：
---------------

1。会议开始：
   - 运行 bach --startup
   - 从 memory_sessions

2 中读取最后一个会话。会议期间：
   - 巴赫记忆写“重要的见解”
   - 巴赫--记忆事实“项目.名称：巴赫”

3。会议结束：
   -巴赫--关闭
   - bach --记忆会话“摘要”

4。经验教训：
   - 巴赫课程添加“标题：解决方案”
   - 自己的处理程序，而不是--memory！

数据库架构：
-----------------

内存会话：
  - session_id 唯一 ID (session_YYYYMMDD_HHMMSS)
  -start_at 开始时间
  -结束时间（如果有效则为NULL）
  - 总结会议报告
  -tasks_created 创建的任务数
  -tasks_completed 已完成任务数
  - continuation_context 对于下一个会话

架构图
--------------------

视觉比较人类<->巴赫记忆：
  docs/ARCHITECTURE_DIAGRAMS.md -> 图 4：记忆系统

显示与人类等效的所有 5 种认知类型
和主动过程（遗忘、记忆、学习、注意力、
睡眠巩固、元认知）。

认知模型：学习作为记忆回路
-----------------------------------------------

论文：“学习是记忆的一种形式。”
（开发：User + Claude + Gemini，2026 年 1 月）

学习过程作为电路：

````
┌──────────────────────────────────────────────────────────────────────┐
│ 记忆/经验宝藏（长期储存） │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 经验教训 - 什么有效？什么不是？               │ │
│ │ 工作流程 - 它是如何工作的？ (程序记忆) │ │
│ │ 会议 - 我的目标是什么？ （面向未来）│ │
│ │ 事实 - 文档/帮助/ + wiki/ + 事实（世界知识） │ │
│ │ 最佳实践。  - 关于规则的经验 │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │ │
│ │ 召回 ──> 自动：注射器 │
│ │ ──> 有意识：思考 │
│ v │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 现在的水平 │ │
│ │ (1) 节省能源：检索规则，自动行动 │ │
│ │ (2)思考：激发注射器，玩场景 │ │
│ │ -> 行动 -> 结果（=新事件） │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │ │
│ v 活动 │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 保存 -> 课程、事实、会议 │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │ │
│ v │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 巩固（=睡眠） │ │
│ │ 压缩、形成最佳实践、汲取经验教训 │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │ │
│ v │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 回流 -> 更新注入器 │ │
│ │ 系统表现不同=真正的学习 │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │ │
│ └──────>回到MEMORY（新状态）│
└──────────────────────────────────────────────────────────────────────┘
```

分配：人类记忆 <-> 巴赫
--------------------------------------------

|人类 |巴赫同等|功能|
|------------------------------------|--------------------------------|--------------------------------|
|中央行政|喷油器 |控制注意力|
|工作记忆|内存工作|当前会话 |
|程序记忆|工作流程、工具/、技能/ |如何做某事 |
|情景记忆|记忆课程、记忆课程|发生了什么？
|语义记忆 |文档/帮助/、wiki/、memory_facts |世界知识（几乎空*）|
|规则知识|最佳实践，SKILL.md |经过验证的经验

|*) 由于世界知识，巴赫的语义记忆几乎是空的
   已经包含在 LLM 训练数据中。

注入器作为“思想”
-------------------------

注入器对应于人类思维中的思想：
- 自动：关键字匹配时触发（如无意识的关联）
- CONSCIOUS：通过问题（比如思考）进行有针对性的挑衅

两种处理模式：
  (1) 节能 - 快速、基于规则、自动
      -> 喷油器点火，直接作用
  (2) 思考 - 缓慢、联想、有意识
      -> 反思注入器，玩转场景
  (3) 整合 - 离线、压缩（=睡眠）
      -> bach 巩固（守护进程作业）

当前状态和目标
----------------------

实际状态（自 v1.1.80 起部分动态）：
  知识->内存（DB）->触发器DB（900+动态触发器）
  注入器是部分动态的（触发 DB + Python 字典）

TARGET 状态（正在进行中）：
  知识 -> 内存（DB） -> 注入器 -> 行为改变
                       -> 工作流程 -> 自动化
                       -> 模式 -> 委托

整合知识“回流”到注入器中
是真正学习所缺失的部分。

另请参阅：
  --help注射器（注射器系统）
  --help consolidation（整合引擎）
  docs/archive/ANALYSE_Lernsysteme_BACH_vs_recludOS.md（完整分析）

---
版本：1.3.0 |更新日期：2026-02-08
（记录了连接器集成，添加了库 API + Headless API）
