Files
Cyrene_v2/cmd/cyrene/skills.go
T
AskaEth 301f8b4276
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled
docs(comments): 清掉两处已过期的状态注释(ErrRunPending 早已不存在)
S1/S3 大扫除点名的代码侧残留:
- cmd/cyrene/skills.go 注释仍称 Runner.Run 返回 ErrRunPending(哨兵已删,f75e7a9 起真执行)
- internal/services/gateway/admin_plugins_skill.go 注释仍称执行后置到 M12

零行为改动(仅注释)。
2026-10-06 18:46:58 +08:00

36 lines
1.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package main
import (
"git.yeij.top/AskaEth/Cyrene_v2/internal/capability/skills"
"git.yeij.top/AskaEth/Cyrene_v2/internal/logger"
)
// defaultSkillsDir 是技能 YAML 定义的磁盘目录。它是可选的:目录缺失时只告警并
// 跳过技能加载。
const defaultSkillsDir = "configs/skills"
// wireSkills 从 configs/skills 加载技能定义,并把每个技能以 KindSkill 能力注册进
// 能力注册表,供插件生态枚举。加载+注册是 M5 的交付物;Runner.Run(端到端执行
// 技能)**已实现**(切片 CODE-SK/L2:`Runner.Run` 真执行 + 渐进披露接线;哨兵 `ErrRunPending` 已删除)。
func (a *app) wireSkills() {
log := logger.WithSource(a.log, "cmd/cyrene")
list, err := skills.NewLoader(a.log).LoadDir(defaultSkillsDir)
if err != nil {
log.Warn("skills load skipped", "dir", defaultSkillsDir, "error", err)
return
}
if len(list) == 0 {
log.Debug("no skills defined", "dir", defaultSkillsDir)
return
}
registered := 0
for _, s := range list {
if err := skills.Register(a.caps, s); err != nil {
log.Warn("skill register skipped", "skill", s.Name(), "error", err)
continue
}
registered++
}
log.Info("skills registered", "registered", registered, "loaded", len(list))
}