Skip to content

在线文件编辑器

Snail AI 提供了一个内置的在线文件编辑器,允许你直接在浏览器中浏览、编辑和管理技能包中的所有文件,无需反复下载、修改、重新打包上传。

进入具体技能后,页面左侧展示技能包文件树,右侧提供 SKILL.md 等文件的编辑与预览区域。

技能详情编辑器

进入编辑器

在技能列表页中,点击任意技能卡片上的「编辑」按钮,即可进入该技能的在线文件编辑器。编辑器界面分为以下区域:

区域位置功能
顶部工具栏上方返回列表、技能名称/描述展示、AI 生成、AI 优化、新建文件按钮、保存按钮
文件树面板左侧(宽 260px)以树形结构展示技能包内所有文件和目录
编辑区域右侧代码编辑器或 Markdown 编辑器,显示当前选中文件的内容

AI 辅助编辑

编辑器顶部提供「AI 生成」和「AI 优化」两个入口,用于快速编写或改进 SKILL.md

AI 生成

「AI 生成」适用于空白技能或需要重写技能草稿的场景。点击按钮后,在弹窗中填写需求说明,系统会调用默认 CHAT 模型生成完整 SKILL.md 内容。

建议在需求说明中写清楚:

内容示例
技能目标提供 Java 开发规范检查
触发场景用户请求代码审查、代码重构或最佳实践建议
输入信息源代码、框架背景、JDK 版本、关注点
输出格式问题摘要、规范依据、修改建议

AI 优化

「AI 优化」适用于已经有 SKILL.md 内容,需要改进表达、结构或规则完整性的场景。优化时会基于当前编辑器内容;如果请求中没有传当前内容,服务端会读取已保存的 SKILL.md

常见优化方向:

  • 梳理触发条件和适用边界。
  • 补充输入要求、工作流程和输出格式。
  • 强化失败处理、风险提示和不确定性说明。
  • 统一语言风格,使 Skill 更适合复用和团队协作。

保存语义

AI 生成或 AI 优化只会把结果写入编辑器并标记为未保存内容,不会直接保存技能或创建新版本。确认内容后,需要点击「保存」。

兜底行为

AI 辅助依赖默认 CHAT 模型。模型不可用时,AI 生成会退回规则草稿;AI 优化会保留当前内容,并在结果中返回告警。

文件树

文件树面板以树形结构展示技能包的完整目录结构。文件树支持以下交互:

选择文件

点击文件树中的任意文件节点(叶子节点),编辑区域将加载并显示该文件的内容。当前选中的文件会高亮显示。

点击目录节点时,会展开或折叠该目录,不会触发文件加载。

未保存标记

如果某个文件被修改但尚未保存,文件树中该文件名旁边会出现一个红色呼吸圆点,提醒你有未保存的更改。

右键菜单

在文件树中右键点击任意节点,会弹出上下文菜单,提供以下操作:

操作说明
新建文件在当前目录下创建新文件
新建目录在当前目录下创建新的子目录
重命名重命名当前选中的文件或目录
删除删除当前选中的文件或目录

保护规则

SKILL.md 文件是技能的核心文件,不可被删除。右键菜单中的"删除"选项在 SKILL.md 上会被禁用。你仍然可以编辑 SKILL.md 的内容和对其进行重命名。

代码编辑器

编辑区域基于 CodeMirror 构建,提供接近专业 IDE 的编辑体验。

支持的语言高亮

编辑器根据文件扩展名自动识别并应用对应的语法高亮:

文件扩展名识别语言
.js.jsxJavaScript
.ts.tsxTypeScript
.jsonJSON
.md.mdx.markdownMarkdown
.pyPython
.yml.yamlYAML

对于未在上述列表中的扩展名,编辑器会以纯文本模式打开。

Markdown 编辑模式

当打开 .md.markdown 文件时,编辑器会自动切换为 Markdown 专用编辑模式(SkillMarkdownEditor),提供更友好的 Markdown 编辑体验。

编辑器特性

  • 语法高亮:根据文件类型自动应用语法着色。
  • 实时编辑:编辑内容实时反映在内存中,通过未保存标记提醒。
  • 快捷保存:支持 Ctrl+S(macOS 为 Cmd+S)快捷键保存当前文件。

文件操作

新建文件

  1. 点击顶部工具栏的「新建」按钮,或在文件树中右键选择「新建文件」。
  2. 在弹出的对话框中输入文件路径。
    • 如果是从右键菜单触发的,路径会自动填充为选中目录的前缀。
    • 路径支持嵌套目录,例如 templates/report.md,系统会自动创建中间目录。
  3. 点击确认,文件创建成功后文件树自动刷新。

新建目录

  1. 在文件树中右键选择「新建目录」。
  2. 在弹出的对话框中输入目录路径。
  3. 点击确认,目录创建成功后文件树自动刷新。

重命名文件/目录

  1. 选中目标文件或目录,在文件树中右键选择「重命名」,或点击文件树下方的「重命名」按钮。
  2. 在弹出的对话框中输入新名称。
  3. 点击确认完成重命名。

TIP

重命名操作会自动处理内存中未保存的更改 -- 如果被重命名的文件有未保存内容,该内容会自动关联到新路径,不会丢失。

删除文件/目录

  1. 选中目标文件或目录,在文件树中右键选择「删除」,或点击文件树下方的「删除」按钮。
  2. 在确认对话框中确认删除。
  3. 删除成功后,如果当前正在编辑的文件被删除,编辑区域将自动清空。

注意

  • 删除目录会同时删除该目录下的所有文件和子目录。
  • SKILL.md 文件不可删除。
  • 删除操作不可撤销。

保存文件

编辑文件内容后,通过以下方式保存:

  • 快捷键:按下 Ctrl+S(macOS 为 Cmd+S)。
  • 按钮:点击顶部工具栏的「保存」按钮(当有未保存更改时,按钮文字会显示为「保存 (Ctrl+S)」)。

保存操作会将当前文件的修改内容以 UTF-8 编码写回服务端。保存成功后,该文件的未保存标记(红色呼吸圆点)会消失。

SKILL.md 同步

当保存 SKILL.md 文件后,如果其中的 frontmatter 发生了变化(如修改了 namedescription),编辑器顶部展示的技能名称和描述会自动同步更新。

未保存更改保护

如果在编辑器中有文件被修改但未保存,点击「返回列表」按钮时,系统会弹出确认对话框:

  • 离开:放弃所有未保存的更改,返回技能列表。
  • 取消:留在编辑器中,继续编辑。

WARNING

编辑器中的未保存更改仅存储在浏览器内存中。如果在未保存的状态下关闭浏览器标签页或刷新页面,这些更改将会丢失。建议编辑过程中经常使用 Ctrl+S 保存。

使用建议

  1. 先规划目录结构:在开始编辑前,先通过新建目录功能规划好技能包的文件组织结构。
  2. 频繁保存:养成使用 Ctrl+S 频繁保存的习惯,避免因意外丢失编辑内容。
  3. 善用 frontmatter:在 SKILL.md 中始终维护准确的 frontmatter,确保技能元信息与实际内容一致。
  4. 定期导出备份:对于重要技能,定期使用下载功能导出 ZIP 备份。

Apache 2.0 Licensed