English | 中文
打通 AI 工具的最后一公里(PC → 手机)
CodeAssist 是一款辅助 App:让你随时随地连接家里 / 公司电脑上的 Cursor 或 Codex,继续写代码、下指令、看结果。
不用守在电脑前——手机打开 App,选中在线的 Cursor/Codex 项目,像平时在 IDE 里发 Prompt 一样远程编程;PC 侧真实执行,结果同步回手机。
技术组成(内网):Flutter 客户端 + 中继服务 + MCP(挂在 Cursor / Codex)。
手机 App ←→ 中继 :8787 ←→ MCP(IDE 内) ←→ Cursor / Codex Agent
把下面整段复制到 Cursor 或 Codex 对话里,让 AI 按文档自动部署:
请完整阅读本仓库 docs/INSTALL.md 与 README.md,并按文档逐步完成本机 CodeAssist 部署:
1) 安装依赖并 build;2) 在本机内网启动中继服务(HOST=0.0.0.0, PORT=8787);
3) 按我正在用的 IDE(Cursor 或 Codex)写好/合并 MCP 配置并说明如何重载;
4) 安装 Cursor Agent CLI(若本机是 Cursor)并 agent login;5) 写入/确认 Agent 规则;
6) 用 flutter 打 Android release APK,并告诉我 APK 路径、本机局域网 IP、手机里要填的 Server URL 与 Token;
7) 用中文给出「怎么用手机远程发指令」的简短说明。
不要跳过步骤;遇到路径/环境差异先探测本机再改配置。改完后告诉我需要手动点哪些按钮(如重载 MCP)。
逐步安装、排障、验收 → docs/INSTALL.md
English README → README.en.md
| 能力 | 说明 |
|---|---|
| 远程 Prompt | 手机按「项目 + Session」发指令,PC Agent 执行并回传结果 |
| 多项目 | 多个 Cursor/Codex 工作区同时在线,手机切换选择 |
| 多 Session | 每项目多个对话;新建 Session 对应 Cursor 侧新上下文 |
| 会话上下文 | 对话内展示当前执行状态 / 摘要 |
| 文件互通 | PC→手机:send_file_to_client;手机→PC:对话附件 |
| 任务上报 | Agent report_task,可选手机审批(approve/reject) |
packages/shared 共享协议(Zod)
packages/server 中继:REST + WebSocket + SQLite
packages/mcp-server Cursor / Codex MCP Server
mobile/ Flutter 客户端
configs/ MCP / Agent 规则示例
docs/INSTALL.md 完整安装说明(推荐 AI 阅读)
docs/harmonyos.md 鸿蒙构建说明
.cursor/rules/ 本仓库 Cursor Agent 规则
| 项目 | 要求 |
|---|---|
| Node.js | ≥ 18 |
| 打包 Android | Flutter + Android SDK |
| Cursor | 建议安装 Cursor Agent CLI 并 agent login |
| 网络 | 手机与 PC 同一局域网;防火墙放行 TCP 8787 |
cd <REPO> # 例如 D:\androidproject\CodeAssit
npm install
npm run buildcd <REPO>
$env:ACCESS_TOKEN="codeassist-dev-token" # 可改成自己的口令
$env:HOST="0.0.0.0" # 必须,否则真机连不上
$env:PORT="8787"
npm run start:server- 健康检查:
http://127.0.0.1:8787/health→{ "ok": true } - 查局域网 IP(给手机填):
Get-NetIPAddress -AddressFamily IPv4 |
Where-Object { $_.IPAddress -notlike '127.*' } |
Select-Object IPAddress, InterfaceAlias手机 Server URL:http://192.168.x.x:8787
Token:与 ACCESS_TOKEN 相同(默认 codeassist-dev-token)。
| 变量 | 默认 | 说明 |
|---|---|---|
PORT |
8787 |
HTTP/WS 端口 |
HOST |
0.0.0.0 |
内网访问务必全网卡 |
ACCESS_TOKEN |
codeassist-dev-token |
Bearer Token |
DATA_DIR |
./data |
SQLite 目录 |
OFFLINE_MS |
120000 |
项目离线判定 |
不想每次开机再手动起中继 / 跟 Agent 说「启动」时,可注册 Windows 登录自启(中继 + Cursor bridge):
cd <REPO>
# 注册「用户登录时」自动启动(执行一次即可)
powershell -ExecutionPolicy Bypass -File .\scripts\install-autostart.ps1
# 也可立刻手动启动一次
.\start-codeassist-all.bat- 计划任务名:
CodeAssist Autostart(登录当前用户时运行) - 日志:
packages/mcp-server/start-all.log、relay-server.log、cursor-bridge.log - 卸载自启:
powershell -ExecutionPolicy Bypass -File .\scripts\uninstall-autostart.ps1说明:自启后手机刷新即可看到项目在线;仍建议日常开发时打开 Cursor/Codex 以便执行指令。不需要自启的用户可跳过本节,继续用上面的 npm run start:server 手动启动。
- 参考
configs/cursor-mcp.example.json - 合并到项目
.cursor/mcp.json或用户%USERPROFILE%\.cursor\mcp.json - 把
args改成你本机packages/mcp-server/run.mjs的绝对路径 CODEASSIST_TOKEN与中继一致;CODEASSIST_IDE=cursor- 使用
CODEASSIST_WORKSPACE=${workspaceFolder};不要写死未展开的${workspaceFolderBasename}作为项目名 - 改配置后将
CODEASSIST_MCP_BUILD数字 +1,在 Cursor 里 Reload MCP
可选 Agent CLI 路径:
"CODEASSIST_AGENT_CMD": "C:\\Users\\<你>\\AppData\\Local\\cursor-agent\\agent.cmd"安装 CLI:
irm https://cursor.com/install?win32=true | iex
agent login启用规则:configs/agent-rule.example.md 或 .cursor/rules/codeassist.mdc。
参考 configs/codex-mcp.example.toml:
CODEASSIST_IDE=codex- Token / Server URL 与中继一致
- 工作区建议填绝对路径
- 同样写入 Agent 规则并重载 MCP
| Tool | 作用 |
|---|---|
register_project |
注册/刷新当前工作区到中继 |
get_pending_prompts |
拉取手机指令并执行 |
ack_prompt / complete_prompt |
回写执行中 / 完成结果 |
sync_session_context |
同步会话摘要到手机对话 |
report_task |
上报任务(可要求手机审批) |
get_pending_decisions |
拉取 approve/reject |
send_file_to_client |
把本机文件发到手机对话 |
手机一点发送时,MCP(live-pull)也会自动拉取并拉起 Agent;规则里仍要求每轮主动 get_pending_prompts。
cd <REPO>\mobile
flutter pub get
flutter run
# 或打正式包:
flutter build apk --release产物:mobile\build\app\outputs\flutter-apk\app-release.apk
| 场景 | Server URL |
|---|---|
| 真机(同一局域网) | http://<电脑局域网IP>:8787 |
| Android 模拟器 | http://10.0.2.2:8787 |
| iOS 模拟器 | http://127.0.0.1:8787 |
鸿蒙:见 docs/harmonyos.md。
- 设置里填 Server URL + Token 并连接
- 首页对话:右上角选 在线项目
- 顶部切换 / 新建 Session
- 输入指令发送 → 等 PC 执行 → 气泡里看结果
- 可下载 PC 发来的附件
-
health正常,中继HOST=0.0.0.0 - 手机能访问
http://<局域网IP>:8787 - MCP 已 Reload,工具列表含
send_file_to_client等 - 手机项目在线,名称是文件夹名(不是
${...}) - 手机发一条指令 → PC 执行 → 手机看到结果
| 现象 | 处理 |
|---|---|
| 手机连不上 | 检查 HOST、防火墙 8787、IP、Token |
| 项目离线 | IDE/MCP 是否开启、中继是否在跑 |
项目名是 ${workspaceFolderBasename} |
去掉该 env,Reload,再 register_project |
| 指令无结果 | agent login;确认未禁用 Agent 拉起 |
| 新工具不出现 | CODEASSIST_MCP_BUILD+1 → Reload;或重启 IDE |
| 改 TS 不生效 | npm run build(运行的是 dist/) |
更全说明:docs/INSTALL.md。
本项目采用 Apache License 2.0 开源协议。
Copyright 2026 TimeCyber
问题与改进欢迎提 Issue / PR:https://github.com/TimeCyber/24HCode