feat(canvas): 创作助手 - 合并创作对话、能力发现与画布接续

This commit is contained in:
ddCat
2026-09-09 22:46:45 +08:00
97 changed files with 8434 additions and 326 deletions

View File

@@ -54,6 +54,15 @@ function file(path: string, content: string, kind: SkillPackageFile["kind"] = "m
}
describe("skill runtime", () => {
test("可检索首屏之外的技能并分页,不暴露未加入技能", async () => {
const runtime = createSkillRuntime();
const skills = Array.from({ length: 45 }, (_, index) => skill({ skillId: `skill-${index}`, skillName: `技能 ${index}`, description: index === 44 ? "商品构图" : "通用" }));
skills.push(skill({ skillId: "hidden", description: "商品构图", isAdded: false }));
const first = await runtime.executeAgentTool("onlineAgent", "canvas_list_skills", {}, skills);
expect(first?.ok && first.data).toMatchObject({ total: 45, nextOffset: 40 });
const found = await runtime.executeAgentTool("onlineAgent", "canvas_list_skills", { query: "商品" }, skills);
expect(found?.ok && found.data).toMatchObject({ total: 1, nextOffset: null, items: [{ skillId: "skill-44" }] });
});
test("技能引用解析由统一规则同时支持稳定 token 和自然提及", () => {
const director = skill();
const storyboard = skill({ skillId: "storyboard", skillName: "小说转分镜" });