feat: 更新技能说明格式,优化可读性并移除不必要的字符限制

This commit is contained in:
oudecheng 2026-05-22 09:35:06 +08:00
parent c817b1dde1
commit ea5a9e0656

View File

@ -434,20 +434,16 @@ impl SkillCatalog {
}
let mut prompt = String::from(
"技能为特定任务提供专用说明和工作流。\n当任务匹配其描述时,使用 skill_activate 工具加载技能。\n技能不是工具名,即使技能名看起来像工具,也不能直接调用技能名。\n如果需要某个技能,必须先调用 tool skill_activate并传入 {\"name\": \"<skill-name>\"},再根据返回的技能说明执行。\n\n<available_skills>\n",
"# 技能说明\n技能为特定任务提供专用说明和工作流。\n当任务匹配其描述时,使用 skill_activate 工具加载技能。\n技能不是工具名,即使技能名看起来像工具,也不能直接调用技能名。\n如果需要某个技能,必须先调用 tool skill_activate并传入 {\"name\": \"<skill-name>\"},再根据返回的技能说明执行。\n\n<available_skills>\n",
);
for skill in self.skills.iter().take(self.max_listed_skills) {
for skill in &self.skills {
let entry = format!(
" <skill>\n <name>{}</name>\n <description>{}</description>\n <location>{}</location>\n </skill>\n",
platform_xml_escape(&skill.name),
platform_xml_escape(&skill.description),
platform_xml_escape(&path_to_uri(&skill.path)),
);
if prompt.len() + entry.len() + "</available_skills>\n".len() > self.max_index_chars {
prompt.push_str(" <truncated>true</truncated>\n");
break;
}
prompt.push_str(&entry);
}