mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 09:28:14 +00:00
- 根目录清理: branding/docs/knowledge -> assets/, package/tools/deploy -> deploy/ - meta.go: Version 0.7.2, SDKCompatibleVersion 语义改为最高兼容 - Makefile: 版本回退 0.7.2 - registry.go: 系统提示词改用 meta.Version 格式化 - Agent 心跳: reorgGraph 拆分为三个独立循环(archive/merge/review),各自可配间隔 - GraphDB: 新增 sentences 表 + 关系句子溯源 + ClearSentenceID + CleanupOrphanedSentences - Knowledge: 支持词嵌入向量化器 - NLP 四阶段流水线: Parse -> Extract -> Verify -> Fuse + SentenceRef - 移除远程 HTTP 解析器(remote_parser.go) - 新增内嵌 ONNX 模型(vocab + dep_parser.onnx): +build onnxruntime: 全量 ONNX Runtime 推理 !build onnxruntime: 内嵌词表规则式降级解析器 - config: core.agent.onnx_model_path 替代 dep_parser_url
56 lines
3.1 KiB
Markdown
56 lines
3.1 KiB
Markdown
HomeAgent 是完全独立自研的新一代 Agent 框架。
|
||
|
||
## 架构总览
|
||
|
||
HomeAgent 采用内核 + 插件双层架构:
|
||
|
||
```
|
||
外部输入(QQ/Web/CLI)
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────┐
|
||
│ 内核 (Kernel) │
|
||
│ ┌───────┐ ┌───────┐ ┌────────┐ │
|
||
│ │ LLM │ │ 记忆 │ │ 上下文 │ │
|
||
│ │ 引擎 │ │ 系统 │ │ 管理器 │ │
|
||
│ └───────┘ └───────┘ └────────┘ │
|
||
│ ┌───────┐ ┌───────┐ ┌────────┐ │
|
||
│ │ 工具 │ │ 事件 │ │ 配置 │ │
|
||
│ │ 调度 │ │ 总线 │ │ 系统 │ │
|
||
│ └───────┘ └───────┘ └────────┘ │
|
||
└──────────────┬──────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────┐
|
||
│ 插件层 (Plugins) │
|
||
│ QQ / Web / Cmd / 备忘 / Files / … │
|
||
└─────────────────────────────────────┘
|
||
```
|
||
|
||
## 核心特性
|
||
|
||
### 内核
|
||
- **LLM 引擎**:多 Provider 自动故障转移,8 个适配器(Anthropic/DeepSeek/Gemini/GitHub/Groq/Mistral/Ollama/OpenAI),自动降级
|
||
- **记忆系统**:三层记忆架构——上下文记忆(Context)、文档记忆(Document)、图记忆(Graph,实体+关系),向量索引检索;文本记忆与社交记忆为辅助存储
|
||
- **上下文管理**:自动剪枝低相关性事件,蒸馏重要信息写入长期记忆,有效防止上下文膨胀和记忆衰减
|
||
- **工具调度**:同质阶段并行执行,支持 pre_action/post_action/on_input 等生命周期钩子
|
||
- **事件总线**:发布/订阅模式,插件间松耦合通信
|
||
- **打断机制**:高优先级消息可打断进行中的 LLM 请求,即时响应
|
||
|
||
### 插件系统
|
||
- **双模式加载**:内部插件(Go 包编译集成)和外部插件(Go plugin -buildmode=plugin 动态加载)
|
||
- **热加载**:插件管理 API,运行时安装/卸载/重载插件
|
||
- **Stage 钩子**:插件可在 on_input/pre_action/post_action/before_toolcall/after_toolcall/before_output/after_output 各阶段注入逻辑
|
||
- **配置系统**:每插件独立 SQLite 配置表,标准注册/读取 API
|
||
|
||
### 数据存储
|
||
- SQLite 集中配置(核心 + 每插件独立表空间)
|
||
- 记忆数据存本地文件系统,向量索引内嵌(无需外部向量数据库)
|
||
- 文件变更追踪基于 overlayfs 实现
|
||
|
||
## 技术栈
|
||
- 语言:Go 1.25+
|
||
- 构建:标准 Go toolchain,CGO_ENABLED=1(go-sqlite3 依赖)
|
||
- 插件:Go -buildmode=plugin
|
||
- LLM 适配:Lua 胶水层,8 个适配器
|
||
- 搜索:内置 TF-IDF 向量化器 |