mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 17:38:10 +00:00
2d314b3e9c151be2189d72c07eb7e54baa10c4f3
- 所有内置插件 init() 自注册 (plugin.RegisterFactory), 移除 main.go 硬编码 - 新增 .so 动态加载器 (internal/plugin/dynamic.go), 插件可编译为 plugin.so - 新增 plugin.json 元数据 (internal/plugin/manifest.go) - 新增 interceptLoop 独立 goroutine: (a) cancelLLM() 取消进行中的 HTTP 请求 (b) interceptCh → drainInterrupt() 注入 [打断消息] 到 LLM 上下文 (c) InjectInput 空闲时触发新处理循环 - 新增 internal/plugins/all.go 空白导入触发所有内置插件 init() - internal/sdk/ 作为 PluginSDK 正式 Go API - internal/api/ → internal/plugins/webui/ 迁移 - 删除旧 cmd/cli/, 使用 cmd/waiter/ 替代 - 更新 PLAN.md / ARCHITECTURE.md / README.md 文档
HomeAgent
24/7 智能管家。核心零 IO,一切外界交互来自插件。
架构概览
homed (内核) — 零 IO,纯管理
├── LLM 源管理 (Lua 适配器协议转换)
├── Agent 编排 (主 agent + interceptLoop + 子 agent)
├── 三层记忆 (Context → Document → Graph)
├── 知识库 (独立 TF-IDF)
├── IO 通道管理 (Queue / Interrupt / Output)
├── 阶段管道 (StageHost: 7 阶段并行)
└── 事件总线 (EventBus)
│
▼ PluginSDK (Go API: 工具/阶段/事件/记忆/知识/LLM/配置)
│
plugins (init() 自注册 + .so 动态加载)
├── WebUI (HTTP 服务)
├── CLI (Unix socket)
├── OpenClaw 兼容 (SKILL.md → SDK 工具)
├── Timer (timer_set 工具 + 中断反馈)
└── 第三方 .so 插件 (plugins/<name>/plugin.so)
核心文档: PLAN.md · docs/ARCHITECTURE.md
构建
make build
./build/homed -data /tmp/homeagent
./build/waiter -say "你好"
依赖: Go 1.19+, CGo (go-sqlite3), Linux (Unix socket + overlayfs)
Languages
Go
74.6%
JavaScript
12.8%
HTML
3.9%
CSS
3.1%
Python
2.4%
Other
3.1%