root 68a373ede0 fix: correct OpenClaw plugin architecture - notifications as sole registration path
- Remove SKILL tool registration with nil handler (was causing nil
  pointer in StageHost.ExecuteTool)
- Rewrite loadOCPlugin: notifications are the only registration path.
  Synchronously drain all buffered register notifications after
  waitReady, then start persistent notifyLoop for future registrations.
  ListTools is verification-only, no longer registers tools.
- notifyLoop: persistent via for n := range sp.NotifyChan(), lifecycle
  bound to sidecar process
- StageHost.ExecuteTool: add nil-handler check (defense-in-depth)
- Remove unused OCNamedParam, DrainNotify from sidecar.go
2026-07-04 14:32:39 +08:00

HomeAgent

24/7 智能管家。核心零 IO,一切外界交互来自插件。

📖 项目概览(非技术) · 🔧 插件开发指南 · 🏗️ 技术架构 · 📋 实施计划

快速体验

# 构建
make build

# 启动内核(需要 DeepSeek API 密钥)
DEEPSEEK_API_KEY="sk-xxx" ./build/homed -data /tmp/ha

# 在另一个终端聊天
echo "你好" | ./build/waiter -socket /tmp/ha/cli.sock

架构一句话

homed内核零 IO← PluginSDK → 插件(所有 IO 能力)

依赖Go 1.19+, CGo (go-sqlite3), Linux。

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%