| 扩展框架 |
CE 补强 |
Seahub AppConfig、URL 与 settings 加载 |
Registry、provider、feature 诊断、cf_worker |
已完成;provider/封存测试通过 |
CF_ENABLE_SSO |
CE 补强 |
OAuth/OIDC、SAML、CAS、LDAP、REMOTE_USER 登录 |
目录 source、组映射、周期/登录后同步、管理 API |
已完成;26 个目录/对账测试通过,static 目录语义跨仓容器 E2E 通过;external-service 有代码和单测;LDAP/AD/Authentik 目录源未做专属 provider 验证,只同步已存在用户的组关系 |
CF_ENABLE_DIR_ACL |
Pro 平替 |
CE 库/目录权限基线 |
目录规则 API、继承求解、Hub 权限钩子、管理页面 |
已完成;57 个 ACL 测试通过,跨仓容器矩阵 37/37(六入口 + 即时撤权 + 管理员清空) |
CF_ENABLE_AUDIT |
Pro 平替 |
seafevents Activity 事件表 |
管理端只读查询、筛选、CSV 导出与页面;标签变更审计侧车 cf_audit_event |
已完成(Hub 侧);过滤契约测试通过,容器门禁 cap audit 全绿(2026-08-20,镜像含 dev 全量代码):目录创建/重命名、文件上传、移动、删除、恢复查询,按类型/操作筛选,source(api/commit)筛选,标签增删/改名 before/after,CSV 导出,管理员 UI。P2-08 已补齐:查询/导出支持按时间/操作人/类型/对象/来源/结果/路径筛选,source/result/before/after 作为一等字段返回。不覆盖读取/下载访问日志、合规审计与长期留存(决策不追求) |
CE 元数据 / CF_ENABLE_METADATA |
CE 补强 |
repo_metadata 前端、API 和 _is_dir 记录模型 |
当前 metadata.register() 不登记自有行为 |
验证中;Hub 通路存在,依赖外部 Metadata Server;自定义属性列已改为按列名键写入,待复验 |
CE 目录/文件标签 / CF_ENABLE_TAGS |
CE 补强 |
repo_metadata、repo_tags/file_tags 以及目录表格标签编辑 |
与 metadata 共用占位扩展入口,不建立平行标签存储 |
验证中;跨仓 E2E 已验证标签创建、绑定、反查、重命名/移动跟随与恢复;自定义属性跟随仍待修复。P2-07 已在 repo_tags 落地系统/用户标签(is_system):系统标签仅 admin 可写、用户标签 rw 及以上可编辑、列表先用户后系统、批量加标签受 CF_TAG_BATCH_LIMIT(默认 100)上限,权限用例由 review_tags_matrix.py 断言 |
CF_ENABLE_SEARCH |
Pro 平替 / CE 补强 |
SeaSearch/Elasticsearch 查询与 Seahub 结果后处理 |
解开 CloudFile 搜索入口、Meilisearch provider、增量索引、结果集目录 ACL 裁剪、标签/创建人高级筛选与匹配标签 |
部分完成;Meilisearch/过滤测试通过;目录 ACL invisible/none 统一查询后裁剪(复用 acl resolver,fail closed);tags/creator_emails 结构化过滤接入同一 /api2/search/ 入口,matched_tags 区分标签命中与名称命中,容器 E2E 待复验 |
CF_ENABLE_FILE_PREVIEW |
CE 补强 |
CE 原生预览 URL 和渲染器 |
权限感知的统一文件动作列表 |
验证中;策略测试通过,React 入口缺浏览器自动化测试;CloudFile 不实现渲染器 |
CF_ENABLE_ONLYOFFICE |
CE 复用 |
CE 文档配置、编辑器和回调链 |
回调鉴权/幂等守卫影子接管回调 URL |
部分完成;cloudfile_ext.office 已注册进 apps.py(开关关闭时不注册任何路由);容器门禁 office-e2e.yml 起真实 Document Server 验证路由挂载、convert 往返、无签名回调拒绝与重投递不 500;浏览器内编辑会话与真实保存去重的端到端仍待补 |
CF_ENABLE_FILE_LOCK |
Pro 平替 |
Seahub 权限与文件定位 |
锁状态/获取/续租/释放/管理员强制释放 API |
部分完成;Hub 契约测试通过,锁/签入签出/续租/管理员恢复跨协议矩阵 21/21;WebDAV/REST 拒绝统一映射 423(searpc 透传 CF_ERR_FILE_LOCKED);客户端兼容与锁语义未证明与 Pro 等价 |
CF_ENABLE_FAVORITES_ID |
CE 补强 |
CE 收藏 API/前端与 UserStarredFiles |
路径关系、辅助内容 ID、旧记录无损回填 |
验证中;修改原因:内容 ID 随修改变化且同内容可共享,收藏按用户/组织/库/路径判存、添加与取消,目录列表按路径显示星标。GET 不再回填重读或递归定位;失效旧路径保留 resolution_status=unresolved,不误绑同内容资源、不删除关系。诊断定位有节点/RPC/时间预算,不能用于自动重绑;安全移动跟随须后续接入明确操作映射。 |
CF_ENABLE_WATCH |
Pro 平替 |
CE UserMonitoredRepos 与 monitored-repos API |
直接放开非 Pro gate(monitored_repos.py 上游补丁) |
部分完成;运行时已接线,没有 CloudFile 专项测试;通知消费链与各格式写回无独立 E2E |
CF_ENABLE_CONVERT_EXPORT |
新应用扩展 |
CE 下载/导出与 SeaDoc |
未发现注册模块 |
部分完成(Hub 边界);Hub 无自研渲染/转换,跨仓复用 CE/SeaDoc + Compose 配置与前端接线,各格式写回无独立 E2E |
CF_ENABLE_CHECKOUT |
Pro 平替 |
CE 文件权限和版本写入 |
file_actions 中的带 generation 租约签出/释放 |
部分完成;API 已接线,依赖 server 锁 provider;签出/释放跨协议矩阵同文件锁 21/21(checkout/ 包内旧占位说明不是实际入口) |
CF_ENABLE_LOCAL_APP |
新应用扩展 |
CE 认证下载与版本写入 |
v2 ticket、Agent claim、心跳、带围栏回写 |
验证中;下载—领取—编辑—写回容器矩阵 14/14 通过(写回已改 put_file);仍缺签名发布包与跨平台升级 |
CF_ENABLE_S3_STORAGE |
CE 补强 |
CE/S3 存储与 fsck/gc |
本仓仅有离线维护脚本适配,不存在 Hub 注册模块 |
已完成(Hub 边界);Hub 无 S3 模块,跨仓多存储 + MinIO S3 已完成(管理员按库指定存储方案,自助选择 UI 未完成) |
CF_ENABLE_EXTERNAL_SOURCES |
新应用扩展 |
Seahub 列表/文件 API 外形 |
local-path provider、授权、只读浏览/下载、overlay、shadow API、Meilisearch 扫描 |
部分完成;72 个相关测试通过;v1 只支持只读挂载本地目录(SMB/NFS/OpenList 由运维在宿主机转换,不做直接 SMB),local-path 为只读内容入口,宿主挂载形态、数据库与浏览器流程待验收 |
CF_ENABLE_FILEOPS |
Pro 平替 |
CE copy_file/move_file 写入 |
影子端点统一预检查(权限/大小/层级/配额/同名冲突)、移动 affected_members、cf_fileop_task 幂等、失败清单 |
验证中;纯策略单测通过(fileops/tests/test_policy.py),影子 /api2/repos/{repo}/fileops/{copy,move}/ 运行时接线;容器 E2E 14/14 通过(review_copy_matrix.py/review_move_matrix.py);深度测量改用 stat.S_ISDIR(entry.mode)、配额错误先于大小策略。移动确认框 UI 与 v2.1 批量入口未接 |
CF_ENABLE_SHARE_RESTRICT |
CE 补强 |
CE 外链创建/访问/列表端点 |
开关默认 false;开启后非管理员创建外链 403、匿名访问旧外链按不存在处理(404)、列表/查询端点保留、管理员仍可创建与管理 |
验证中;share_links.py/views.py/views/file.py/views/repo.py 门禁接线,容器 E2E(review_share_matrix.py)3/3 通过;前端入口隐藏属浏览器套件阶段 |