feat(config): wire serial tool into runtime and dashboard

This commit is contained in:
SiYue-ZO
2026-04-26 12:44:05 +08:00
parent 0f52076762
commit 2114e1a53f
8 changed files with 93 additions and 0 deletions
+3
View File
@@ -128,6 +128,9 @@ func registerSharedTools(
if cfg.Tools.IsToolEnabled("spi") {
agent.Tools.Register(tools.NewSPITool())
}
if cfg.Tools.IsToolEnabled("serial") {
agent.Tools.Register(tools.NewSerialTool())
}
// Message tool
if cfg.Tools.IsToolEnabled("message") {
+3
View File
@@ -823,6 +823,7 @@ type ToolsConfig struct {
ListDir ToolConfig `json:"list_dir" yaml:"-" envPrefix:"PICOCLAW_TOOLS_LIST_DIR_"`
Message ToolConfig `json:"message" yaml:"-" envPrefix:"PICOCLAW_TOOLS_MESSAGE_"`
ReadFile ReadFileToolConfig `json:"read_file" yaml:"-" envPrefix:"PICOCLAW_TOOLS_READ_FILE_"`
Serial ToolConfig `json:"serial" yaml:"-" envPrefix:"PICOCLAW_TOOLS_SERIAL_"`
SendFile ToolConfig `json:"send_file" yaml:"-" envPrefix:"PICOCLAW_TOOLS_SEND_FILE_"`
SendTTS ToolConfig `json:"send_tts" yaml:"-" envPrefix:"PICOCLAW_TOOLS_SEND_TTS_"`
Spawn ToolConfig `json:"spawn" yaml:"-" envPrefix:"PICOCLAW_TOOLS_SPAWN_"`
@@ -1548,6 +1549,8 @@ func (t *ToolsConfig) IsToolEnabled(name string) bool {
return t.Message.Enabled
case "read_file":
return t.ReadFile.Enabled
case "serial":
return t.Serial.Enabled
case "spawn":
return t.Spawn.Enabled
case "spawn_status":
+3
View File
@@ -435,6 +435,9 @@ func DefaultConfig() *Config {
Mode: ReadFileModeBytes,
MaxReadFileSize: 64 * 1024, // 64KB
},
Serial: ToolConfig{
Enabled: false, // Hardware tool - requires host serial ports
},
Spawn: ToolConfig{
Enabled: true,
},