# 143 开发目录 Memind-dev > 在 Mac Studio(103,`john@180.159.29.143`)上与本地 Mac 并行开发 Memind 的约定。 > 生产运行目录仍是 `/Users/john/Project/Memind`;**日常改码只用** `/Users/john/Project-dev/Memind-dev`。 ## 目录对照 | 机器 | 开发目录 | 生产 / 103 运行目录 | |------|----------|---------------------| | 本地 Mac | `/Users/john/Project/Memind` | — | | 143 | `/Users/john/Project-dev/Memind-dev` | `/Users/john/Project/Memind` | 代码同步靠 Git 远端 `git@git.tkmind.cn:tkmind/memind.git`,不要用 rsync 拷源码。 ## 143 开发端口(与生产隔离) | 服务 | 生产 | Memind-dev | |------|------|------------| | Portal / API | 8081 | **8086** | | MindSpace H5 (Vite) | — | **5173** | | memind_adm | 8082 | **8087** | | Ops | — | **3003** | | Plaza | 3001 | **3004** | `.env` 在 Memind-dev 内单独维护(从生产 `.env` 复制后覆盖上表端口与 `MEMIND_RUNTIME_PROFILE=local`),**不要** commit。 ## 日常命令 ```bash ssh john@180.159.29.143 cd /Users/john/Project-dev/Memind-dev source ~/.zshrc # 加载 /opt/homebrew 的 node@22 / pnpm git fetch origin --prune git pull --ff-only pnpm install # 仅 lockfile 变化时 pnpm dev ``` 本机浏览器经 SSH 隧道访问 143 上的 Vite: ```bash ssh -L 5173:127.0.0.1:5173 -L 8086:127.0.0.1:8086 john@180.159.29.143 # 然后打开 http://127.0.0.1:5173/?preview=mindspace ``` Cursor Remote SSH:打开文件夹 `/Users/john/Project-dev/Memind-dev`。 ## 双机同步流程 **收工(任一台):** ```bash git status git add -A && git commit -m "..." git push origin feature/learn-assistant # 或 main,需明确批准 push ``` **开工(另一台):** ```bash git fetch origin --prune git switch feature/learn-assistant git pull --ff-only ``` ## Git SSH(143 必配) 143 公钥需加入 `git.tkmind.cn`(端口 2222,见 `~/.ssh/config`): ```bash ssh john@180.159.29.143 'cat ~/.ssh/id_ed25519.pub' ssh -T git@git.tkmind.cn # 在 143 上验证 ``` 未配公钥前,可临时用本机 `git bundle` 同步,但不建议长期使用。 ## 103 发布 - 功能合并进 `main` 且 CI / verify 通过后,在 **生产目录** 拉最新 `main` 再跑发布脚本。 - 禁止从 Memind-dev 脏工作区或功能分支直接 `release-portal-*-prod.sh`。 - 发布前:`bash scripts/check-release-ready.sh` ## 注意 1. 两台机器不要长期各改同一分支却不 push/pull。 2. Memind-dev 与生产共用 `DATABASE_URL` 时,开发操作可能影响线上数据,谨慎执行 destructive 脚本。 3. `pnpm dev` 与 103 生产 Portal(8081)可同时存在;不要误改生产目录下的文件或重启生产 LaunchAgent。