feat: 更新后端skill服务
- 更新 skill_handler.go handler层 - 更新 skill.go model层 - 更新 skill_repo.go repository层 - 更新 skill_service.go service层 - 更新 main.go 入口文件 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -77,8 +77,8 @@ func (s *SkillService) InitSkills() error {
|
||||
|
||||
var totalCount int
|
||||
|
||||
// 扫描 system skills: account/admin/skills
|
||||
systemSkillsPath := filepath.Join(projectRoot, "account", "admin", "skills")
|
||||
// 扫描 system skills: core/agents/skills/system
|
||||
systemSkillsPath := filepath.Join(projectRoot, "core", "agents", "skills", "system")
|
||||
if _, err := os.Stat(systemSkillsPath); err == nil {
|
||||
systemSkills, err := s.scanSkillsDirectory(systemSkillsPath, "system")
|
||||
if err == nil && len(systemSkills) > 0 {
|
||||
@@ -88,22 +88,14 @@ func (s *SkillService) InitSkills() error {
|
||||
}
|
||||
}
|
||||
|
||||
// 扫描 user skills: account/{username}/skills (除了 admin)
|
||||
accountPath := filepath.Join(projectRoot, "account")
|
||||
entries, err := os.ReadDir(accountPath)
|
||||
if err == nil {
|
||||
for _, entry := range entries {
|
||||
if !entry.IsDir() || entry.Name() == "admin" {
|
||||
continue
|
||||
}
|
||||
userSkillsPath := filepath.Join(accountPath, entry.Name(), "skills")
|
||||
if _, err := os.Stat(userSkillsPath); err == nil {
|
||||
userSkills, err := s.scanSkillsDirectory(userSkillsPath, "user")
|
||||
if err == nil && len(userSkills) > 0 {
|
||||
s.skillRepo.UpsertBatch(userSkills)
|
||||
totalCount += len(userSkills)
|
||||
}
|
||||
}
|
||||
// 扫描 user skills: core/agents/skills/user
|
||||
userSkillsPath := filepath.Join(projectRoot, "core", "agents", "skills", "user")
|
||||
if _, err := os.Stat(userSkillsPath); err == nil {
|
||||
userSkills, err := s.scanSkillsDirectory(userSkillsPath, "user")
|
||||
if err == nil && len(userSkills) > 0 {
|
||||
s.skillRepo.DeleteByType("user")
|
||||
s.skillRepo.UpsertBatch(userSkills)
|
||||
totalCount += len(userSkills)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user