root 672b098c4e feat: WebUI settings page with sidebar + ConfigRegistry integration
- /api/v1/settings endpoint: GET (list by prefix) + PUT (set key/value)
- Config tab redesigned: left sidebar (core + per-plugin) + right editor
- Sidebar groups: core.* and plugin.<name>.* from plugin registry
- Each setting rendered as editable input with save button
- WebUI now receives cfgReg and pluginReg from main
- handler_test.go updated with new NewHandler signature
2026-07-03 08:39:30 +08:00

HomeAgent

单二进制 24/7 智能管家。核心零 IO,所有输入输出通过插件,插件通过三通道与核心交互:工具、阶段钩子、事件订阅。

架构

  外部QQ / HTTP / 硬件...
    │ 通过插件注册
    ▼
  IOManager.InjectInput()
    │
    ▼
  ┌─────────────────────────────────────────────────┐
  │              Agent Core                          │
  │                                                  │
  │  on_input → Context → Memory Recall              │
  │  → pre_action → [LLM ↔ 工具循环] → before_output │
  │  → output_send → after_output                   │
  │                                                  │
  │  内置:三层记忆 + 知识库 + Child Agent           │
  └─────────────────────────────────────────────────┘
    │
    ├── Stage Pipeline7 阶段,插件可拦截/改写)
    ├── Tool System插件注册工具给 LLM
    └── Event Bus插件订阅系统事件

快速开始

make build
./build/homed -data /tmp/homeagent

依赖Go 1.19+、CGogo-sqlite3

阶段管道

on_input → pre_action → post_action ↔ before_toolcall/after_toolcall → before_output → after_output
                                           ↑_______________|
                                               循环
阶段 插件可做
on_input 鉴权、拉黑、改写、短路
pre_action 注入 context 消息
post_action 审查/改写 LLM 输出、增删工具
before_toolcall 拒绝、改参、审计
after_toolcall 脱敏、改写结果
before_output 改写最终文本、加格式
after_output 记录/统计

三层记忆

存储 容量 裁剪
Context 内存 TF-IDF 30 条 余弦相似度排序→文档
Document JSON + 向量索引 72h 冷→图
Graph SQLite 三元组 定期重整+同义合并

插件三通道

通道 方向 用途
RegisterTool 插件→LLM Agent 调用插件功能
RegisterStage 核心→插件 干预消息处理流
Subscribe/Publish 双向 审计/日志/通知

核心命令

make build        # 编译
make run          # 编译+启动
make test         # 测试
make install      # 系统安装

完整文档

详见 docs/ARCHITECTURE.md

Description
No description provided
Readme AGPL-3.0 83 MiB
Languages
Go 74.6%
JavaScript 12.8%
HTML 3.9%
CSS 3.1%
Python 2.4%
Other 3.1%