Files
homeagent-sdk/example/luademo/README.md
HomeAgent Agent efb396d7b3 feat(lua): Lua SDK 全量对齐 1.3.0 + hmapdev 单一 mock 源/版本标记/语法预检
内核侧 Lua 桥此前停在 v0.8.0 时代能力面,而 1.1/1.2/1.3 新增的
媒体、注入标志位、中断优先级、事件订阅、动态通道注销只在 Go 侧存在,
文档却宣称『能力完全对齐』——属于静默漂移。

本仓(事实源):
- 新增 sdk/lua/sdk.lua:Lua mock 的单一事实源,补齐全部新 API
  (*_opts / inject_input_sync / inject_*_media / set_tool_blocks /
  unregister_output_channel / events / plugin_mgr / insert_with_media /
  sentence_text+media_digests / attachments / context_policy)。
- scripts/sync-lua-sdk.sh:把事实源同步到 hmapdev assets、luademo、
  以及被 vendored 时的内核副本;三份 sdk.lua 不再各自漂移。
- hmapdev init --lua:优先从激活 SDK 拷权威 mock,内嵌模板降级为
  assets/sdk.lua 回退,不再内联手写副本。
- hmapdev build(Lua):plugin.json 写入 SDK 版本(能力可追溯),
  打包前用 luac -p / lua loadfile 做语法预检,失败以非零码退出。
- hmapdev debug --lua:优先用激活 SDK 的权威 mock(HMAPDEV_SDK_LUA)。
- luademo 升级为全能力示例(新增 luademo_probe_v2)。
2026-09-13 19:56:12 +08:00

1.3 KiB
Raw Permalink Blame History

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/ 后重启内核。