在线文件编辑器
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、.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 备份。