mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 17:38:10 +00:00
refactor: remove core skill direct loading, skills owned by clawhubadapter only
- Drop skill.NewManager from homed bootstrap; skills dir no longer core-managed - Remove GetInjectedPrompt system-prompt injection (skills are not first-class) - Delete internal/skill package, SkillAPI, webui /api/v1/skills, status skills block - ConfigRegistry: plugin config tables now created only via RegisterDef; arbitrary scope Set/Get no longer implicitly creates config_<name> tables (fixes stray config_today_task table from SKILL directory name being used as a scope)
This commit is contained in:
@ -711,7 +711,6 @@ func (r *ConfigRegistry) ListPlugins() []string {
|
||||
}
|
||||
|
||||
func (r *ConfigRegistry) PluginConfig(name string) *PluginSettings {
|
||||
r.ensurePluginTable(name)
|
||||
return &PluginSettings{
|
||||
registry: r,
|
||||
table: r.pluginTableName(name),
|
||||
@ -768,6 +767,9 @@ func (p *PluginSettings) List(prefix string) ([]string, error) {
|
||||
func (p *PluginSettings) RegisterDef(def ConfigDef) {
|
||||
p.registry.mu.Lock()
|
||||
defer p.registry.mu.Unlock()
|
||||
// 只有注册配置定义才创建插件配置表:任意 scope 的读写不得隐式建表,
|
||||
// 避免非插件(如 SKILL 目录名)被注册成配置命名空间。
|
||||
p.registry.ensurePluginTable(p.name)
|
||||
p.registry.db.Exec(fmt.Sprintf(`INSERT OR IGNORE INTO %s (key, value) VALUES (?, ?)`, p.table), def.Key, def.Default)
|
||||
qualified := "plugin." + p.name + "." + def.Key
|
||||
def.Key = qualified
|
||||
|
||||
@ -121,6 +121,7 @@ func TestPluginConfig(t *testing.T) {
|
||||
r := NewConfigRegistry(path)
|
||||
|
||||
ps := r.PluginConfig("test_deepseek")
|
||||
ps.RegisterDef(ConfigDef{Key: "api_key", Default: "sk-test123"})
|
||||
if err := ps.Set("api_key", "sk-test123"); err != nil {
|
||||
t.Fatalf("PluginSettings.Set: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user