alemonjs-aichat 1.0.22 → 1.0.24

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.
@@ -56,7 +56,27 @@ const loadSkills = () => {
56
56
  };
57
57
  // 获取某个技能的详情, 通过技能名称匹配对应文件夹下的所有md文件,将内容一并返回
58
58
  const loadSkillDetail = (skillName) => {
59
- const skillsDir = path.join(currentDir, "../../skills");
59
+ // 首先检查本地skills目录
60
+ const localSkillsDir = path.join(currentDir, "../../skills");
61
+ let result = loadSkillDetailFromPath(localSkillsDir, skillName);
62
+ // 如果本地没有找到,检查外部skills目录
63
+ if (!result && value.skills_dir) {
64
+ const externalDirs = Array.isArray(value.skills_dir)
65
+ ? value.skills_dir
66
+ : [value.skills_dir];
67
+ for (const dir of externalDirs) {
68
+ result = loadSkillDetailFromPath(dir, skillName);
69
+ if (result)
70
+ break;
71
+ }
72
+ }
73
+ return result;
74
+ };
75
+ // 从指定路径加载技能详情
76
+ const loadSkillDetailFromPath = (skillsDir, skillName) => {
77
+ if (!fs.existsSync(skillsDir)) {
78
+ return null;
79
+ }
60
80
  const skillFolders = fs.readdirSync(skillsDir).filter((file) => {
61
81
  const skillPath = path.join(skillsDir, file);
62
82
  return fs.statSync(skillPath).isDirectory();
@@ -51,6 +51,8 @@ var res = onResponse(selects, async (e, next) => {
51
51
  ## 技能
52
52
  在遇到用户需要执行特定操作时,先获取对应的技能,如果有可用技能,获取该技能,并严格按照技能文档要求的格式调用, 不要添加任何多余的内容, 也不要删除或修改规范中的任何内容, 以确保技能能够被正确解析和处理
53
53
  当没有技能可以应对需求时, 就自行挑选合适的工具函数来完成用户的需求
54
+
55
+ 调用执行脚本类型的工具时, 务必确保脚本安全, 不得执行对服务器有伤害的脚本
54
56
  ---
55
57
  技能列表:
56
58
  ${skills.map((skill) => `- ${skill.name}: ${skill.description}`).join("\n")}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alemonjs-aichat",
3
- "version": "1.0.22",
3
+ "version": "1.0.24",
4
4
  "description": "alemonjs-aichat",
5
5
  "author": "suancaixianyu",
6
6
  "license": "MIT",
@@ -54,7 +54,7 @@
54
54
  "@aws-sdk/client-s3": "^3.975.0",
55
55
  "@aws-sdk/s3-request-presigner": "^3.975.0",
56
56
  "ai": "^6.0.105",
57
- "alemonjs-aichat": "^1.0.22",
57
+ "alemonjs-aichat": "^1.0.23",
58
58
  "mime-types": "^3.0.2",
59
59
  "openai": "^6.34.0",
60
60
  "sharp": "^0.34.5",