Files
Nexus/docs/project/AI-HANDOFF-2026-06-01-files.md
T

70 lines
2.4 KiB
Markdown
Raw Normal View History

# 文件管理(#/files)— AI 接续备忘
> **日期**: 2026-06-01
> **用户确认**: 「好 你自己记住」— 本地改动**尚未 git commit**;生产已用 SCP/tar 部署,与仓库可能不一致。
---
## 1. 生产状态(api.synaglobal.vip
| 项 | 状态 |
|----|------|
| 前端 | `web/app/` 已 tar+scpprune 后 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`