SuperAPI AI 工具集

local-dev

部署与运维

查看项目

更新于 10-15 20:05

技能介绍

用途:local-dev 用于启动 omi 项目的本地开发环境,可分别或同时运行后端服务、macOS 应用和 iOS 模拟器中的 Flutter 移动应用。

主要能力与用法:运行 /local-dev 会同时启动后端和 macOS 应用;/local-dev backend 仅启动后端;/local-dev app 以 debug 模式构建并运行 macOS 应用,可附加 --clean(强制 Swift 重新编译)、--release(release 模式)、--no-run(仅构建不启动);/local-dev mobile 在 iOS 模拟器中以 dev flavor 运行 Flutter 应用,/local-dev mobile --prod 使用 prod flavor。参数为空或 all 时启动后端与 macOS 应用。

后端启动会先释放 8000 端口,再通过 uvicorn 以 --reload 方式运行 main:app。macOS 应用通过 app/scripts/dev-macos.sh 构建运行。移动端需先用 xcrun simctl 查找或启动模拟器,再执行 flutter run -d <device-id> --flavor dev(或 prod),日志输出到 /tmp/flutter-run.log。

dev flavor 使用 app/.dev.env,连接 api.omiapi.com 与 agent.omiapi.com,USE_WEB_AUTH=false(原生登录);prod flavor 使用 app/.env,连接 api.omi.me 与 agent.omi.me,USE_WEB_AUTH=true(Safari OAuth)。修改 .env 后需删除 .dart_tool/build 及生成的 env 文件,再运行 dart run build_runner build --delete-conflicting-outputs 重新生成。

限制与注意事项:模拟器中 iOS Keychain 在卸载后仍保留,Firebase Auth 会话可跨重装存活;claudeAgentEnabled 默认关闭,需在设置→开发者模式中开启;应用进入后台时 Flutter 调试连接常断开,但应用仍在运行,重新执行 flutter run 即可;可用 grep 过滤日志,或用 kill -SIGUSR2 触发热重启。模拟器测试建议使用 dev flavor 的原生登录。