在线文件编辑器
Snail AI 提供了一个内置的在线文件编辑器,允许你直接在浏览器中浏览、编辑和管理技能包中的所有文件,无需反复下载、修改、重新打包上传。
进入编辑器
在技能列表页中,点击任意技能卡片上的「编辑」按钮,即可进入该技能的在线文件编辑器。编辑器界面分为以下区域:
| 区域 | 位置 | 功能 |
|---|---|---|
| 顶部工具栏 | 上方 | 返回列表、技能名称/描述展示、新建文件按钮、保存按钮 |
| 文件树面板 | 左侧(宽 260px) | 以树形结构展示技能包内所有文件和目录 |
| 编辑区域 | 右侧 | 代码编辑器或 Markdown 编辑器,显示当前选中文件的内容 |
文件树
文件树面板以树形结构展示技能包的完整目录结构。文件树支持以下交互:
选择文件
点击文件树中的任意文件节点(叶子节点),编辑区域将加载并显示该文件的内容。当前选中的文件会高亮显示。
点击目录节点时,会展开或折叠该目录,不会触发文件加载。
未保存标记
如果某个文件被修改但尚未保存,文件树中该文件名旁边会出现一个红色呼吸圆点,提醒你有未保存的更改。
右键菜单
在文件树中右键点击任意节点,会弹出上下文菜单,提供以下操作:
| 操作 | 说明 |
|---|---|
| 新建文件 | 在当前目录下创建新文件 |
| 新建目录 | 在当前目录下创建新的子目录 |
| 重命名 | 重命名当前选中的文件或目录 |
| 删除 | 删除当前选中的文件或目录 |
保护规则
SKILL.md 文件是技能的核心文件,不可被删除。右键菜单中的"删除"选项在 SKILL.md 上会被禁用。你仍然可以编辑 SKILL.md 的内容和对其进行重命名。
代码编辑器
编辑区域基于 CodeMirror 构建,提供接近专业 IDE 的编辑体验。
支持的语言高亮
编辑器根据文件扩展名自动识别并应用对应的语法高亮:
| 文件扩展名 | 识别语言 |
|---|---|
.js、.jsx | JavaScript |
.ts、.tsx | TypeScript |
.json | JSON |
.md、.mdx、.markdown | Markdown |
.py | Python |
.yml、.yaml | YAML |
对于未在上述列表中的扩展名,编辑器会以纯文本模式打开。
Markdown 编辑模式
当打开 .md 或 .markdown 文件时,编辑器会自动切换为 Markdown 专用编辑模式(SkillMarkdownEditor),提供更友好的 Markdown 编辑体验。
编辑器特性
- 语法高亮:根据文件类型自动应用语法着色。
- 实时编辑:编辑内容实时反映在内存中,通过未保存标记提醒。
- 快捷保存:支持
Ctrl+S(macOS 为Cmd+S)快捷键保存当前文件。
文件操作
新建文件
- 点击顶部工具栏的「新建」按钮,或在文件树中右键选择「新建文件」。
- 在弹出的对话框中输入文件路径。
- 如果是从右键菜单触发的,路径会自动填充为选中目录的前缀。
- 路径支持嵌套目录,例如
templates/report.md,系统会自动创建中间目录。
- 点击确认,文件创建成功后文件树自动刷新。
新建目录
- 在文件树中右键选择「新建目录」。
- 在弹出的对话框中输入目录路径。
- 点击确认,目录创建成功后文件树自动刷新。
重命名文件/目录
- 选中目标文件或目录,在文件树中右键选择「重命名」,或点击文件树下方的「重命名」按钮。
- 在弹出的对话框中输入新名称。
- 点击确认完成重命名。
TIP
重命名操作会自动处理内存中未保存的更改 -- 如果被重命名的文件有未保存内容,该内容会自动关联到新路径,不会丢失。
删除文件/目录
- 选中目标文件或目录,在文件树中右键选择「删除」,或点击文件树下方的「删除」按钮。
- 在确认对话框中确认删除。
- 删除成功后,如果当前正在编辑的文件被删除,编辑区域将自动清空。
注意
- 删除目录会同时删除该目录下的所有文件和子目录。
SKILL.md文件不可删除。- 删除操作不可撤销。
保存文件
编辑文件内容后,通过以下方式保存:
- 快捷键:按下
Ctrl+S(macOS 为Cmd+S)。 - 按钮:点击顶部工具栏的「保存」按钮(当有未保存更改时,按钮文字会显示为「保存 (Ctrl+S)」)。
保存操作会将当前文件的修改内容以 UTF-8 编码写回服务端。保存成功后,该文件的未保存标记(红色呼吸圆点)会消失。
SKILL.md 同步
当保存 SKILL.md 文件后,如果其中的 frontmatter 发生了变化(如修改了 name 或 description),编辑器顶部展示的技能名称和描述会自动同步更新。
未保存更改保护
如果在编辑器中有文件被修改但未保存,点击「返回列表」按钮时,系统会弹出确认对话框:
- 离开:放弃所有未保存的更改,返回技能列表。
- 取消:留在编辑器中,继续编辑。
WARNING
编辑器中的未保存更改仅存储在浏览器内存中。如果在未保存的状态下关闭浏览器标签页或刷新页面,这些更改将会丢失。建议编辑过程中经常使用 Ctrl+S 保存。
使用建议
- 先规划目录结构:在开始编辑前,先通过新建目录功能规划好技能包的文件组织结构。
- 频繁保存:养成使用
Ctrl+S频繁保存的习惯,避免因意外丢失编辑内容。 - 善用 frontmatter:在
SKILL.md中始终维护准确的 frontmatter,确保技能元信息与实际内容一致。 - 定期导出备份:对于重要技能,定期使用下载功能导出 ZIP 备份。