mirror of
https://gitcode.com/JianFeeeee/homeagent-sdk.git
synced 2026-09-20 00:48:12 +00:00
- 目录 tools/plugindev → tools/hmapdev,可执行文件名/平台产物名同步
(hmapdev_linux_amd64 等;包格式仍叫 .hmap)
- module path github.com/JianFeeeee/homeagent-sdk/tools/... → gitcode.com/...
(与仓库实际托管一致;核心仓不依赖该 path,改动无外部影响)
- SDK 存储目录 ~/.homeagent/plugindev/sdk → ~/.homeagent/hmapdev/sdk
新目录不存在而旧目录存在时沿用旧目录 → 已装 SDK 版本不会丢失
- 命令表/usage/--help/生成项目 README/示例 README/NSIS 安装器/
package/build.sh/build-examples.sh 全部同步;PLUGINDEV 环境变量保留兼容
- sdk/ 目录零改动(公开接口不变)
验证:
- go build ./... ok;go test ./tools/hmapdev/ ok(含模板接线守卫 TestProcTemplate_CoversAllCoreMethods)
- bash -n package/{build,build-examples}.sh ok
- 端到端:hmapdev init demo && hmapdev build → dist/demo_bundle.hmap(linux+darwin)
- 本机安装 /usr/local/bin/hmapdev,旧名以软链保留;sdk list/current 正常
46 lines
934 B
Cheetah
46 lines
934 B
Cheetah
local plugin = {
|
|
name = "{{.Plg.Name}}",
|
|
tools = {},
|
|
stages = {},
|
|
settings = {}
|
|
}
|
|
|
|
function plugin:start(sdk)
|
|
sdk.log("{{.Plg.Name}} plugin starting...")
|
|
|
|
-- Register a configuration setting
|
|
-- sdk.settings.register({
|
|
-- key = "{{.Plg.Name}}.example",
|
|
-- default = "hello",
|
|
-- type = "string",
|
|
-- display_name = "Example Config",
|
|
-- description = "An example configuration key"
|
|
-- })
|
|
|
|
-- Register a tool
|
|
local ok = sdk:register_tool("{{.Plg.Name}}_hello", {
|
|
name = "{{.Plg.Name}}_hello",
|
|
description = "A hello world tool",
|
|
parameters = {
|
|
type = "object",
|
|
properties = {}
|
|
}
|
|
}, function(args)
|
|
return { content = "Hello from {{.Plg.Name}} plugin!" }
|
|
end)
|
|
|
|
if not ok then
|
|
sdk.log("error: failed to register tool")
|
|
return false
|
|
end
|
|
|
|
sdk.log("{{.Plg.Name}} plugin started")
|
|
return true
|
|
end
|
|
|
|
function plugin:stop()
|
|
return true
|
|
end
|
|
|
|
return plugin
|