d93c518a14
Co-authored-by: Cursor <cursoragent@cursor.com>
2.4 KiB
2.4 KiB
文件管理(#/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/browsePOST /api/sync/read-file(max_size建议 307200)POST /api/sync/write-filePOST /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.md2026-06-01-files-page-iteration.md2026-06-01-files-300k-preload.md2026-06-01-files-monaco-editor-fix.md2026-06-01-files-editor-panel.md2026-06-01-files-v2-complete.md2026-06-01-files-clipboard-transfer.md