---
name: e10-file-service-docs
description: Use when E10 file service secondary development needs original file service documents, including file upload, download, preview, watermark, batch download, custom storage, storage migration, object storage, file permissions, file cleanup, file OpenAPI, SDK, RPC, file troubleshooting, and file service Hook extension points.
---

# E10 文件服务原始文档

文件服务二开、接口、存储、迁移、权限、清理、预览下载、OpenAPI、SDK、RPC 和故障排查原始 Markdown 文档归档。先检索，再按需加载命中文档章节。

## 命令

```bash
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search.mjs search "FILE_WATERMARK_HOOK_001"
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search.mjs search "自定义存储"
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search.mjs search "文件下载链接"
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search.mjs load 文件服务后端二开埋点 --section summary
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search.mjs load linked/文件服务SDK能力 --section all --max-bytes 20000
```

## 使用规则

- 文件服务业务域优先于通用技术域：问题同时出现“文件/附件”和“SDK/RPC”时，必须优先使用本 Skill，不得仅转到 `e10-backend-sdk`。
- 先用业务词、Hook code、接口名、配置项、类名、存储类型、文件名或标题关键词检索。
- SDK、RPC、能力、方案类问题必须执行原始文档 `search.mjs`；`search-api.mjs` 只覆盖已结构化契约，空结果不代表能力不存在。
- 候选最多三个；先加载 `summary`，需要参数、示例或完整上下文时再加载具体章节。
- 原始 Markdown 在 `references/docs/`。
- 图片附件多数保留原始远程链接；需要视觉排查时回源 `docs/e10-public-docs/file-service/` 或远端文档。
- 大文档禁止一次性全量读取；用章节名、Hook code、接口名、配置项或关键词缩小。

## 交付证据

使用本 Skill 时记录：

- 检索词
- 命中文档 ID 与标题
- 加载章节
- 采用的 Hook code、接口、SDK、RPC、配置项、存储方案或排查步骤来源

<!-- business-api-index:start -->
## 结构化 API 检索

```bash
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search-api.mjs search "关键词"
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search-api.mjs load <api-id> --section summary
node skills/e10-local-knowledge/modules/e10-file-service-docs/scripts/search-api.mjs load <api-id> --section params
```

- 先查 `search-api.mjs` 定位结构化契约；需要原始上下文时，优先 `load --section all`，若该 Skill 存在 Markdown 文档索引再用 `search.mjs` 补证据。
- `api-records/` 是精确索引，不是完整能力清单。结构化检索无结果时必须回退 `search.mjs`，再判断接口是否存在。
- 普通检索默认排除冲突记录；废弃接口输出 `deprecated`。
- 禁止批量读取 `references/api-records/`；必须先 search，再 load 单条命中。
<!-- business-api-index:end -->
