/** * Skills 类型定义 * pi-skills 标准格式 * * 注意:身份字段(role_title, name_pool, avatar, slogan, role_description)已移至 * agent_roles 数据库表。SkillDefinition 仅保留能力字段。 */ /** @deprecated 向后兼容别名,请使用 SkillDefinition */ export type RoleDefinition = SkillDefinition; export type SkillDefinition = { tools: string[]; prompt_extension: string; }; export type Skill = { name: string; description: string; /** 触发词:用于 search_skills 匹配,逗号/空格分隔,如 "做游戏,创建,打砖块" */ triggers?: string; filePath?: string; // 沙箱内路径,如 /mnt/memory/skills/foo/SKILL.md skillDefinition?: SkillDefinition; // 可选,不是所有 skill 都有 /** @deprecated 请使用 skillDefinition */ roleDefinition?: SkillDefinition; }; export type LoadSkillsOptions = { sandboxId?: string | null; skillsPath?: string; // 沙箱内系统 skills 根路径 sessionSkillsPath?: string; // 沙箱内会话 skills 路径,如 /mnt/memory/sessions/{id}/skills skillPaths?: string[]; // 本地路径列表(AGENT_SKILLS_PATHS) sandboxClient?: { listFiles(sandboxId: string, path: string): Promise>; readFile(sandboxId: string, path: string, opts?: { format?: string }): Promise; }; }; export type LoadSkillsResult = { skills: Skill[]; source: 'sandbox' | 'local'; };