# 文件管理(#/files)— AI 接续备忘 > **日期**: 2026-06-01 > **用户确认**: 「好 你自己记住」— 本地改动**尚未 git commit**;生产已用 SCP/tar 部署,与仓库可能不一致。 --- ## 1. 生产状态(api.synaglobal.vip) | 项 | 状态 | |----|------| | 前端 | `web/app/` 已 tar+scp,prune 后 restart nexus | | 后端 | `sync_v2.py`、`schemas.py`、`remote_path_validation.py` 曾 SCP 到服务器 | | 健康 | `/health` → `ok` | | 验证 | 用户需 Ctrl+Shift+R 强刷 `#/files` | **下一任部署优先**:`git push` + 服务器 `git pull` + `supervisorctl restart nexus`,避免仅 SCP 漂移。 --- ## 2. 本会话已完成功能 | 模块 | 说明 | |------|------| | browse 契约 | `items` + `fileBrowse.ts` | | 页面迭代 | 下载、预览、路由 query、拖拽上传、symlink | | 300KB 预加载 | `filePreload.ts` | | 编辑器 | `FileEditorWorkbench.vue` 分屏+多标签+状态栏(非默认全屏) | | v2 补齐 | 目录树、新建文件、压缩/解压、排序、扩展名筛选、快捷键 | | 剪贴板 | `POST /sync/file-clipboard` + Ctrl+C/X/V | --- ## 3. 待入库(git status 快照 2026-06-01) **修改**:`FilesPage.vue`、`sync_v2.py`、`schemas.py`、`MonacoEditor.vue`、`api/index.ts`、`types/api.ts` 等 **新增**:`FileEditorWorkbench.vue`、`FileDirectoryTree.vue`、`useFilesClipboard.ts`、`useFilesHotkeys.ts`、`filePreload.ts`、`fileSort.ts`、`remote_path_validation.py`、`tests/test_remote_path_validation.py`、多篇 `docs/changelog/2026-06-01-files-*.md` 与设计文档 **用户未要求 commit 时**:不要擅自 `git commit`;用户说「好」= 同意记住此状态,下次可代其提交。 --- ## 4. 关键 API - `POST /api/sync/browse` - `POST /api/sync/read-file`(`max_size` 建议 307200) - `POST /api/sync/write-file` - `POST /api/sync/file-clipboard`(`mode`: `copy` \| `move`) - `POST /api/sync/compress` / `decompress` --- ## 5. 未做 / 否决 - v2 设计中的跨目录 **剪贴板到不同服务器**(前端已拦) - 公网 **8601**、嵌入式 Monaco 全站预加载(见项目 SSOT 否决项) --- ## 6. 相关 changelog(按主题) - `2026-06-01-files-browse-fix.md` - `2026-06-01-files-page-iteration.md` - `2026-06-01-files-300k-preload.md` - `2026-06-01-files-monaco-editor-fix.md` - `2026-06-01-files-editor-panel.md` - `2026-06-01-files-v2-complete.md` - `2026-06-01-files-clipboard-transfer.md`