--- title: N1 and internal services – 开发任务清单 type: curated permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/curated/n1-and-internal-services-开发任务清单 stable_id: 39318e9b-e74c-4afb-a3fc-1d073a990426 scope: project project_id: 1b3e6c9f-979b-417a-8162-275545cc4061 workspace_type: development usage_profile_id: null preference_context: development document_type: tasks revision: 1 source_memory_ids: - adc3c68b-24c1-4ef6-8331-d24ae43407a7 source_checkpoint_ids: - 2cc7d280-fac0-4e02-8c20-611056085680 - 823c82fa-6cfd-47fe-87f7-3f302d22b61e source_file_ids: [] source_git_commit: null source_git_commits: [] source_agent_sync_ids: - 20260901-nextcloud-sharing-preview-curation-02 model_connection: Sub2API model_name: git-restore source_count: 20 source_revisions: memory:df16d81d-6f3d-4093-b501-5270c9881af1: '5' memory:adb1db1a-38ca-4694-bae2-15e3f8d03513: '1' memory:8893af30-4d3f-4863-a115-fae6bcbcce4d: '1' source_dispositions: processed: 20 unchanged: 0 unsupported: 0 skipped: 0 cited_source_ids: - curated_baseline:39318e9b-e74c-4afb-a3fc-1d073a990426 - global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0 - global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e - memory:adb1db1a-38ca-4694-bae2-15e3f8d03513 - memory:8893af30-4d3f-4863-a115-fae6bcbcce4d - global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7 - global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5 - global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316 - global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e - project:1b3e6c9f-979b-417a-8162-275545cc4061 - memory:df16d81d-6f3d-4093-b501-5270c9881af1 job_cited_source_ids: - curated_baseline:39318e9b-e74c-4afb-a3fc-1d073a990426 conflicts: [] supersedes: [] preferences: [] source_cursor: 261 source_hash: 3bb8ec659b6ad30b8272ce98ce9393dde107101b73263fc0dc95e414ec207909 prompt_version: 2026-08-12.3 schema_version: '3' curation_job_id: null created_at: '2026-08-31T10:16:25.174093+00:00' updated_at: '2026-09-23T14:51:28.248407+00:00' tags: - development - N1 - 任务 restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- # 开发任务清单 – N1 与内部服务 ## 任务 1:环境准备 1. 在 Windows 主机上启用 WSL2 并安装 Docker Desktop,代理模式设为 **Manual**,指向 `http://127.0.0.1:7897`(参考 `global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e`)。 2. 在 `docker-compose.yml` 中将 ONLYOFFICE Docs 端口映射至 `0.0.0.0`,容器内部可通过 `host.docker.internal` 访问宿主服务。 ## 任务 2:文件存储与分享功能选型 - 评估 DocSpace Community 与 Nextcloud Community + ONLYOFFICE Docs 的可行性。 - 记录评估结果于 `aidocs/project_context.md`,提交 `feat: 评估文件平台方案`。 - 结论:**Nextcloud + ONLYOFFICE Docs** 更适合作为免费正式内网使用(来源 `memory:adb1db1a-38ca-4694-bae2-15e3f8d03513`、`memory:8893af30-4d3f-4863-a115-fae6bcbcce4d`)。 ## 任务 3:ONLYOFFICE Docs 部署 1. 拉取官方 Docker 镜像 `onlyoffice/documentserver`,验证代理配置。 2. 编写 `docker-compose.yaml`,确保文件存储目录映射到宿主持久卷。 3. 配置编辑链接与共享链接,使其在离线网络中可达。 4. 将部署步骤、配置文件、验证方式记录在 `aidocs/project_context.md`,提交 `feat: 部署 ONLYOFFICE Docs`。 ## 任务 4:Excel 协作功能实现 - 实现 **创建/上传 XLSX** 页面,集成 ONLYOFFICE 前端插件进行编辑。 - 实现 **生成共享链接** 并展示可复制的 URL。 - 实现 **编辑权限控制**:仅受邀同事可编辑,其他仅查看/下载。 - 实现 **Sheet 保护**:通过 ONLYOFFICE API 设置工作表只读或密码保护。 - 完成后在 `aidocs/project_context.md` 撰写完整的 *做了什么、为何、验证方式、遇到的问题、后续计划*,提交 `feat: 基础 Excel 协作功能`。 ## 任务 5:凭证与安全检查 - 在任何需要登录 ONLYOFFICE 或内部存储的环节,遵循 “先查询 Vaultwarden” 规则(`global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`)。 - 将新生成的服务账户密码写入密码库,记忆仅记录条目名称与用途,提交 `chore: 更新凭证记录`。 ## 任务 6:清理与交付 1. 删除调试日志、临时文件、未使用的容器镜像。 2. 确认 `aidocs/` 已在 `.gitignore` 中,记忆文件未被提交。 3. 使用 `type: 中文一句话描述` 的提交信息格式完成最后一次 commit。 4. 如需推送至远程仓库,需明确请求 `push`(默认仅 commit)。 > 所有任务遵循 **KISS、YAGNI、复用已有框架** 的开发实施原则,使用 **中文** 进行交流记录,并在 **Vaultwarden** 中统一管理凭证。