Skip to content

在线文件编辑器

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

进入编辑器

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

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

文件树

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

选择文件

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

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

未保存标记

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

右键菜单

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

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

保护规则

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