@aalis/plugin-skills 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # @aalis/plugin-skills
2
+
3
+ 运行时插件
4
+
5
+ ## 角色
6
+
7
+ 运行时插件
8
+
9
+ ## 安装
10
+
11
+ ```bash
12
+ pnpm add @aalis/plugin-skills
13
+ ```
14
+
15
+ ## 文档
16
+
17
+ 详见 [docs/plugins/plugin-skills.md](../../docs/plugins/plugin-skills.md)。
18
+
19
+ ## 许可
20
+
21
+ 见仓库根目录 LICENSE。
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { I18nResources } from '@aalis/core';
2
+ export declare const i18n: I18nResources;
3
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,IAAI,EAAE,aA6BlB,CAAC"}
package/dist/i18n.js ADDED
@@ -0,0 +1,31 @@
1
+ export const i18n = {
2
+ 'zh-CN': {
3
+ 'plugin.skills.displayName': '技能系统',
4
+ 'webui.skills.page': '技能库',
5
+ 'webui.skills.list': '技能列表',
6
+ 'webui.skills.column.name': '名称',
7
+ 'webui.skills.column.description': '描述',
8
+ 'webui.skills.column.tags': '标签',
9
+ 'webui.skills.column.execCount': '执行次数',
10
+ 'webui.skills.column.updatedAt': '最后更新',
11
+ 'webui.skills.action.view': '查看',
12
+ 'webui.skills.action.delete': '删除',
13
+ 'webui.skills.confirm.delete': '确定删除该技能?',
14
+ 'webui.skills.total': '技能总数',
15
+ },
16
+ 'en-US': {
17
+ 'plugin.skills.displayName': 'Skills',
18
+ 'webui.skills.page': 'Skills',
19
+ 'webui.skills.list': 'Skill List',
20
+ 'webui.skills.column.name': 'Name',
21
+ 'webui.skills.column.description': 'Description',
22
+ 'webui.skills.column.tags': 'Tags',
23
+ 'webui.skills.column.execCount': 'Runs',
24
+ 'webui.skills.column.updatedAt': 'Updated',
25
+ 'webui.skills.action.view': 'View',
26
+ 'webui.skills.action.delete': 'Delete',
27
+ 'webui.skills.confirm.delete': 'Delete this skill?',
28
+ 'webui.skills.total': 'Total Skills',
29
+ },
30
+ };
31
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAkB;IACjC,OAAO,EAAE;QACP,2BAA2B,EAAE,MAAM;QACnC,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,MAAM;QAC3B,0BAA0B,EAAE,IAAI;QAChC,iCAAiC,EAAE,IAAI;QACvC,0BAA0B,EAAE,IAAI;QAChC,+BAA+B,EAAE,MAAM;QACvC,+BAA+B,EAAE,MAAM;QACvC,0BAA0B,EAAE,IAAI;QAChC,4BAA4B,EAAE,IAAI;QAClC,6BAA6B,EAAE,UAAU;QACzC,oBAAoB,EAAE,MAAM;KAC7B;IACD,OAAO,EAAE;QACP,2BAA2B,EAAE,QAAQ;QACrC,mBAAmB,EAAE,QAAQ;QAC7B,mBAAmB,EAAE,YAAY;QACjC,0BAA0B,EAAE,MAAM;QAClC,iCAAiC,EAAE,aAAa;QAChD,0BAA0B,EAAE,MAAM;QAClC,+BAA+B,EAAE,MAAM;QACvC,+BAA+B,EAAE,SAAS;QAC1C,0BAA0B,EAAE,MAAM;QAClC,4BAA4B,EAAE,QAAQ;QACtC,6BAA6B,EAAE,oBAAoB;QACnD,oBAAoB,EAAE,cAAc;KACrC;CACF,CAAC"}
@@ -0,0 +1,89 @@
1
+ import type { ConfigSchema, Context, PluginModule } from '@aalis/core';
2
+ import '@aalis/plugin-agent-api';
3
+ import '@aalis/plugin-tools-api';
4
+ interface SkillDefinition {
5
+ name: string;
6
+ description: string;
7
+ /** SKILL.md 去掉 frontmatter 后的 markdown 正文 */
8
+ body: string;
9
+ triggers?: string[];
10
+ license?: string;
11
+ /** skill 文件夹 storage URI(如 data:/skills/foo) */
12
+ uri: string;
13
+ /** scripts/ 下的相对路径列表(不含 scripts/ 前缀) */
14
+ scripts: string[];
15
+ references: string[];
16
+ assets: string[];
17
+ /** 完整 SKILL.md 原始内容(用于 WebUI 查看) */
18
+ raw: string;
19
+ }
20
+ export interface SkillFileInput {
21
+ /** 相对 skill 根目录的路径,例如 `scripts/run.sh`、`references/api.md`。 */
22
+ relPath: string;
23
+ /** 文本内容或二进制内容。 */
24
+ content: string | Uint8Array;
25
+ }
26
+ export interface SkillsService {
27
+ listSkills(): SkillDefinition[];
28
+ getSkill(name: string): SkillDefinition | undefined;
29
+ /**
30
+ * 创建一个新 skill(文件夹 + SKILL.md + 可选附属文件)。
31
+ * files 中的 relPath 不能为 `SKILL.md`、不能以 `/` 开头、不能包含 `..` 段。
32
+ * frontmatter 可传入额外 YAML 字段(例如 compatibility)。
33
+ */
34
+ createSkill(input: {
35
+ name: string;
36
+ description: string;
37
+ body?: string;
38
+ triggers?: string[];
39
+ license?: string;
40
+ frontmatter?: Record<string, unknown>;
41
+ files?: SkillFileInput[];
42
+ }): Promise<void>;
43
+ /** 更新 SKILL.md frontmatter/body;files 会覆盖同名文件、新增不存在的文件。 */
44
+ updateSkill(name: string, updates: {
45
+ description?: string;
46
+ body?: string;
47
+ triggers?: string[];
48
+ license?: string;
49
+ frontmatter?: Record<string, unknown>;
50
+ files?: SkillFileInput[];
51
+ }): Promise<boolean>;
52
+ /** 删除整个 skill 文件夹 */
53
+ deleteSkill(name: string): Promise<boolean>;
54
+ /** 在某 skill 中添加/覆盖一个附属文件。 */
55
+ addSkillFile(name: string, file: SkillFileInput): Promise<boolean>;
56
+ /** 删除某 skill 下的一个附属文件(不能是 SKILL.md)。 */
57
+ removeSkillFile(name: string, relPath: string): Promise<boolean>;
58
+ /** 列出某 skill 下的所有文件相对路径。 */
59
+ listSkillFiles(name: string): Promise<string[]>;
60
+ /** 读取某 skill 下某附属文件的文本内容。 */
61
+ readSkillFile(name: string, relPath: string): Promise<string | null>;
62
+ /** 手动重扫描 */
63
+ rescan(): Promise<void>;
64
+ /** 标记某 session 已加载某 skill(下次 LLM 调用注入 body) */
65
+ loadSkillForSession(sessionId: string, name: string): boolean;
66
+ /** 获取 session 已加载的 skills */
67
+ getLoadedSkills(sessionId: string): string[];
68
+ }
69
+ export declare const name = "@aalis/plugin-skills";
70
+ export declare const displayName = "\u6280\u80FD\u7CFB\u7EDF (Agent Skills)";
71
+ export declare const subsystem = "skills";
72
+ export declare const provides: string[];
73
+ export declare const configSchema: ConfigSchema;
74
+ export declare const defaultConfig: {
75
+ skillsUri: string;
76
+ maxSkillBytes: number;
77
+ maxSkills: number;
78
+ discoveryEnabled: boolean;
79
+ triggersEnabled: boolean;
80
+ };
81
+ export declare const actions: PluginModule['actions'];
82
+ export declare function apply(ctx: Context, rawConfig: Record<string, unknown>): void;
83
+ declare module '@aalis/core' {
84
+ interface ServiceTypeMap {
85
+ skills: SkillsService;
86
+ }
87
+ }
88
+ export {};
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}