Files
homeagent-sdk/example/luademo
HomeAgent Agent f09891f054 fix(lua-sdk): 同步注入在 Lua 中明确标记为不可用(避免自锁)
sdk.inject_input_sync / *_sync_opts / inject_input_media_sync* 要等本轮回复,
而 Lua 代码只在持有插件锁的回调里执行 ⇒ 必然自锁。mock 不再假装返回
(reply,nil),改为与内核一致的明确错误,避免离线测试误以为可用。
2026-09-13 21:58:58 +08:00
..

luademo

Lua 插件全功能示例,展示 Lua SDK 的完整能力面(对齐 SDK 1.3.0

  • 工具注册no_memory + context_policy + cleaner(记忆计算层过滤)
  • 阶段钩子register_stage(stage, handler, scope)own_tools 与全局作用域
  • 通道register_output_channel / register_input_channel / unregister_output_channeldef 支持 no_memory/context_policy/cleaner
  • 注入inject_text / inject_interrupt / inject_text_no_memory*_optsno_memory/context_policy/cleaner_name/priorityinject_input_syncinject_*_mediaset_tool_blocks
  • 数据类 APIsdk.memory.*(含 sentence_text/media_digestssdk.doc.*(含 insert_with_mediasdk.knowledge.*sdk.text_memory.*(含 attachmentssdk.llm.*sdk.settings.*sdk.social.*sdk.events.*sdk.plugin_mgr.*
  • 其他register_apiset_auto_restart

luademo_probe_v2 巡检 1.1/1.2/1.3 新增面。它故意不调用 inject_input_sync:工具 handler 在 LLM 回合内运行,同步注入会自己等自己(死锁)。

本地独立测试

lua main.lua   # 使用 sdk.lua mock不依赖内核

构建

hmapdev build

安装

通过插件管理 HTTP API 上传 .hmap 包,或解压到 <data>/plugins/luademo/ 后重启内核。