# 本地开发 > 这是本机本地开发文档,只处理当前工作区里的源码联调,不做任何生产同步。 > `pnpm dev` 不再启动 Plaza;如果需要联动 Plaza,请显式运行 `pnpm dev:all`,或者单独运行 `pnpm dev:plaza` / `pnpm start:plaza`。 > Plaza 专用脚本的源码默认指向同级仓库 `../memind_plaza`;如你的目录不同,请用 `PLAZA_APP_DIR` 覆盖。 > 生产 / 测试 / 预览隔离仍单独看 [生产 / 测试 / 预览隔离规程](./service-isolation-runbook.md)。 `pnpm dev` 启动后,用 **127.0.0.1 + 端口** 访问本仓库自己的服务: | 服务 | 地址 | |------|------| | MindSpace H5 | http://127.0.0.1:5173/?preview=mindspace | | Ops 审核后台 | http://127.0.0.1:3002/ops/ | | API / Portal | http://127.0.0.1:8081 | | memind_adm | http://127.0.0.1:8082 | | Plaza | http://127.0.0.1:3001/plaza | ```bash pnpm install cp .env.example .env pnpm dev pnpm open:local-test # 浏览器打开 H5 ``` ### LaunchAgent 常驻(推荐本机联调) 终端里跑 `pnpm dev` 会在 Cursor / 终端关闭时被 SIGTERM 停掉。若希望登录后自动拉起、掉线自恢复,可安装 LaunchAgent(与 imgproxy / goosed 同类): ```bash pnpm setup:dev-launchagent # 卸载 pnpm setup:dev-launchagent:uninstall ``` | 项 | 值 | |----|-----| | Label | `cn.tkmind.memind-dev` | | 进程 | portal (8081) + memind_adm (8082) + Ops (3002) + Vite (5173) | | 日志 | `~/Library/Logs/memind-dev.log` | 安装后仍可用 `pnpm dev` 做前台调试;两者不要同时占用同一端口。重启服务: ```bash launchctl kickstart -k gui/$(id -u)/cn.tkmind.memind-dev ``` 需要旧式全栈联动时,改用: ```bash pnpm dev:all ``` ## 环境变量 | 变量 | 默认 | 说明 | |------|------|------| | `H5_PORT` | 8081 | Portal / API | | `VITE_PORT` | 5173 | MindSpace 前端 | | `PLAZA_PORT` | 3001 | Plaza | | `OPS_PORT` | 3002 | Ops SPA | | `ADMIN_PORT` | 8082 | memind_adm | | `H5_PUBLIC_BASE_URL` | http://127.0.0.1:5173 | 公开链接基址 | | `PLAZA_APP_DIR` | ../memind_plaza | Plaza 专用脚本的源码路径(`pnpm dev:plaza` / `pnpm start:plaza` / `pnpm dev:all`) | Plaza 本地开发说明见 [plaza-local.md](./plaza-local.md)。生产发布、同步与回滚不要在这里处理,统一看 [生产更新发布指南](./release-deploy.md)。 ## 公众号 Agent 调试 服务号消息转发到专属 Agent 这条链路默认关闭,只有显式设置下面这些变量后才会启用: - `H5_WECHAT_MP_ENABLED=1` - `H5_WECHAT_MP_APP_ID` - `H5_WECHAT_MP_APP_SECRET` - `H5_WECHAT_MP_TOKEN` 服务号后台需要把服务器地址指向: ```text {H5_PUBLIC_BASE_URL}/webhooks/wechat-mp/messages ``` 当前版本只支持“明文模式”回调,不支持 `aes` 安全模式解密。要保证 H5 微信 OAuth 和公众号消息使用同一个服务号 `AppID`,这样消息里的 `openid` 才能直接命中已绑定用户。 如果要立即停用这版,不改代码也可以先把: ```bash H5_WECHAT_MP_ENABLED=0 ``` 然后重启 `server.mjs`。这相当于运行时止血;如果确认整版不要,再按代码回撤处理。