refactor(skills): 技能种子 - 修正作者归属时间并收敛文档口径

This commit is contained in:
ddCat
2026-09-22 12:09:03 +08:00
3 changed files with 659 additions and 1547 deletions

View File

@@ -29,7 +29,7 @@
- **任务与素材管理**:异步队列、进度与日志、取消/重试、素材库、资源引用校验和登录后的跨设备同步。 - **任务与素材管理**:异步队列、进度与日志、取消/重试、素材库、资源引用校验和登录后的跨设备同步。
- **时间线剪辑**:片段编排、拆分、修剪、字幕转写和服务端成片导出,并支持插件化编辑面板。 - **时间线剪辑**:片段编排、拆分、修剪、字幕转写和服务端成片导出,并支持插件化编辑面板。
- **云端 Agent**:支持持久化对话、画布摘要和流式事件回放;当前为只读阶段,真实环境能力以文档和验收清单为准。 - **云端 Agent**:支持持久化对话、画布摘要和流式事件回放;当前为只读阶段,真实环境能力以文档和验收清单为准。
- **Agent 技能生态**:内置技能覆盖生产流程;社区技能库 [judian-skills](https://github.com/itsWyatt-K/judian-skills) 补充生成前方法论(短剧节奏校准、提示词组装与质检、图/视频反推、UGC 与广告链路、MiniMax H3 官方规范、FLUX.2 资产图与视觉决策转换层,共 72 个,MIT/Apache-2.0/CC-BY-4.0 许可蒸馏并逐卡署名)。安装:技能页 → 安装技能 → GitHub 标签 → 仓库地址填 `https://github.com/itsWyatt-K/judian-skills`,子目录填 `skills/drama/onlyshot-redfruit-7beats` 这类技能路径。 - **Agent 技能生态**:内置技能覆盖生产流程;社区技能库 [judian-skills](https://github.com/itsWyatt-K/judian-skills) 提供 34 个场景域包索引,完整卡片通过 GitHub 安装后按需读取。安装:技能页 → 安装技能 → GitHub 标签 → 仓库地址填 `https://github.com/itsWyatt-K/judian-skills`,子目录填 `skills/drama/story-structure-engine` 这类域包路径。
- **管理与渠道**:系统渠道、逻辑模型、用量/积分、功能开关、对象存储、响应拦截和管理后台。 - **管理与渠道**:系统渠道、逻辑模型、用量/积分、功能开关、对象存储、响应拦截和管理后台。
完整功能以[功能清单](docs/content/docs/overview/features.mdx)为准。 完整功能以[功能清单](docs/content/docs/overview/features.mdx)为准。

File diff suppressed because one or more lines are too long

View File

@@ -49,8 +49,8 @@ func TestBuiltinSeedSyncPreservesUserState(t *testing.T) {
community++ community++
} }
} }
if community != 72 { if community != 35 {
t.Fatalf("community skills = %d, want 72", community) t.Fatalf("community skills = %d, want 35", community)
} }
if err := svc.EnsureBuiltinSkills(); err != nil { if err := svc.EnsureBuiltinSkills(); err != nil {
t.Fatal(err) t.Fatal(err)
@@ -58,7 +58,7 @@ func TestBuiltinSeedSyncPreservesUserState(t *testing.T) {
if err := svc.EnsureSkillPackages(); err != nil { if err := svc.EnsureSkillPackages(); err != nil {
t.Fatal(err) t.Fatal(err)
} }
state := model.UserSkillState{ID: "test-state", UserID: "test-user", SkillID: "16000000000001", Added: true, Liked: true} state := model.UserSkillState{ID: "test-state", UserID: "test-user", SkillID: "16000000000081", Added: true, Liked: true}
if err := db.Create(&state).Error; err != nil { if err := db.Create(&state).Error; err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -110,11 +110,11 @@ func TestBuiltinSeedSyncPreservesUserState(t *testing.T) {
t.Fatalf("skill %s package instruction was changed", item.ID) t.Fatalf("skill %s package instruction was changed", item.ID)
} }
} }
list, err := svc.Skills("test-user", SkillListRequest{Scope: "public", Search: "freestyle-template-match"}) list, err := svc.Skills("test-user", SkillListRequest{Scope: "public", Search: "shortform-drama-playbook"})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
if list.TotalCount != 1 || len(list.Skills) != 1 || list.Skills[0].SkillID != "16000000000003" { if list.TotalCount != 1 || len(list.Skills) != 1 || list.Skills[0].SkillID != "16000000000081" {
t.Fatalf("community skill not visible in public search: %#v", list) t.Fatalf("community skill not visible in public search: %#v", list)
} }
} }