news 2026/5/4 20:42:28

【PhoneCoder】随时随地——掏出手机就能完成开发部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【PhoneCoder】随时随地——掏出手机就能完成开发部署

dockerBot · phoneCoder · clientCoder — 架构与使用指南(中文版)

本文介绍了一个具备全自动开发和一键部署能力的 AI 智能体系统,其三个子项目:NestJS 后端dockerBot)、Expo / React Native 客户端phoneCoder)、Vite / React 网页 IDEclientCoder)。
只需提供 Git 仓库与访问令牌,即可由系统为你完成全栈开发与部署,并且支持移动端编程,实现随时随地——掏出手机就能完成开发。

英文版原文:dockerBot-phoneCoder-clientCoder-stack.md

一键启动并体验项目:https://github.com/jsCanvas/webCursor

上游源码仓库(GitHub)

项目仓库地址
dockerBotgithub.com/jsCanvas/dockerBot
phoneCodergithub.com/jsCanvas/phoneCoder
clientCodergithub.com/jsCanvas/clientCoder

1. 总体关系

子项目GitHub介绍主要职责
dockerBotjsCanvas/dockerBot具备全自动开发与一键部署能力的 AI 智能体系统。只需提供 Git 仓库与访问令牌,即可由系统为你完成全栈开发与部署。权威后端:工程与 Git、文件、加密模型配置、面向多轮会话的SSE聊天、沙箱容器内执行 Agent、MCP / Skills、通过宿主docker.sock编排 Docker 运行时、配合 Traefik 的预览域名等。
phoneCoderjsCanvas/phoneCoder随时随地——掏出手机就能完成开发。官方移动/多端UI(Expo):六个 Tab 与 dockerBot 路由一一对应;同时托管与 clientCoder 共享的 TypeScript 模块(api/hooks/chat/types/等)。
clientCoderjsCanvas/clientCoder支持一键全栈部署的网页智能 IDE。网页 IDE(类 VS Code 外壳):Monaco、文件树、输出/终端/端口等面板、侧栏聊天并支持@//提及;通过路径别名@phoneCoder/*复用 phoneCoder 逻辑。

2. dockerBot(后端)

2.1 是什么

dockerBot 是NestJS应用,通过 Docker Compose 与以下组件一同部署:

数据持久化采用 SQLite,存放在配置的数据目录下(phoneCoder_DATA_DIR,默认./data)。模型凭证等敏感字段使用phoneCoder_ENCRYPTION_KEY(64 位十六进制,即 32 字节)配合AES-256-GCM加密落盘。

2.2 前置条件

2.3 初次配置与启动

dockerBot/目录下:

cp.env.example .env# 若 phoneCoder_ENCRYPTION_KEY 仍为占位符,可先交给 start.sh 自动生成,否则请手动填入 32 字节十六进制。./scripts/start.sh# 前台:构建镜像并附着到 Compose 日志# ./scripts/start.sh -d # 后台 / detached./scripts/start.sh down# 停止并移除本仓库 Compose 启动的容器

API 一览、cURL 示例、安全说明及 npm 脚本(如npm run start:dev、测试、lint),详见dockerBot/design.md

2.4 客户端必填配置项

各客户端仅需配置一项以/api结尾API Base URL,例如:


3. phoneCoder(Expo 多端客户端)

3.1 是什么

phoneCoder 为Expo(React Native)应用,目标平台包括iOS、Android 与 Webnpm run web)。它仍是共享 TypeScript 模块的源头:clientCoder 所依赖的PhoneBotApiClient、SSE 流式钩子useAgentSession、聊天负载与提及、SettingsStorage形状、DTO 类型等均定义于此。

3.2 安装与运行

cdphoneCodernpminstallnpmrun web# 在笔记本浏览器中最快验证npmstart# 打开 Expo CLI,可选真机 / 模拟器

3.3 指向后端地址

设置 → dockerBot connection

配置以 JSON 写入 AsyncStorage,键名phoneCoder.client.settings(与 Web 端clientCoder逻辑等价,参见 §4)。

3.4 自检

npmrun typechecknpmtest

Tab 与接口对应关系见phoneCoder/design.md

3.5 phoneCoder 界面截图

设置项目聊天文件
预览Docker 运行时Git

4. clientCoder(网页 IDE)

4.1 是什么

clientCoder 是一套Vite + React 18的单页应用,交互布局模仿 IDE:

不复制一层网络/SDK:tsconfigvite.config.ts@phoneCoder/*解析到../phoneCoder/src/*;并为构建提供@react-native-async-storage/async-storage的极简shim

截图 — clientCoder 网页 IDE

示意:左侧工程树与运行时入口、居中代码编辑、底部端口及预览链路、右侧由 SSE 驱动的助手及docker-runtime/fullstack-scaffold等上下文技能。

4.2 安装与运行

cdclientCodernpminstallnpmrun dev# 默认 http://localhost:5173(见 vite 配置)npmrun buildnpmrun preview

4.3 工作台设置(交互)

应用内提供Workspace settings(工作台设置)对话框:

浏览器侧持久化经由WebPersistence写入localStorage,键名同样为phoneCoder.client.settings(结构上与 AsyncStorage 方案对齐)。

4.4 Vite 代理(推荐本地联动)

clientCoder/vite.config.ts proxy: { '/api' → http://127.0.0.1:8080 }

开发时可将连接地址设为http://127.0.0.1:5173/api:浏览器只请求 Vite 开发服务器,由 Vite 将/api/*转发到dockerBot 的8080端口。部分沙箱或对localhost解析有特殊限制的环境,优先考虑127.0.0.1

4.5 国际化

默认界面语言为英文,可选用简体中文(zh-CN);所选语言会持久保存(参见clientCoder/src/i18n/)。

4.6 共享模块心智图

phoneCoder/src/区域clientCoder 中典型用途
api/phoneCoderApi.tsHTTP 与 multipart
hooks/useAgentSession.tsSSE 聊天流
chat/负载拼装、@//补全来源
screens/screenActions.tsscreens/fileTree.ts工程切换、会话、文件树合并等
types/api.tsDTO 类型

5. 典型端到端流程

5.1 仅本机:后端 + 网页 IDE

  1. 启动 dockerBot(./scripts/start.sh./scripts/start.sh -d)。
  2. 在 clientCoder「连接」中填写http://127.0.0.1:8080/api,若走 Vite 代理则用http://127.0.0.1:5173/api
  3. 创建/选择工程→ 绑定模型配置→ 新建会话→ 在聊天里下达任务;资源管理器中文件列表由 dockerBot 文件接口驱动。

5.2 仅本机:后端 + 手机

  1. 启动 dockerBot,保证:8080可被局域网访问(监听0.0.0.0或配合端口映射)。
  2. phoneCoder:设置 → dockerBot API Base URLhttp://<局域网IP>:8080/api

5.3 停止各层进程

目标命令 / 操作
关掉承载 API + 沙箱 + Traefik 的 Compose 栈cd dockerBot && ./scripts/start.sh down
重启栈./scripts/start.sh restart
查日志(透传给docker compose./scripts/start.sh logs -f api(详见脚本头部说明)
退出 Expo / Vite在对应终端Ctrl+C

6.延伸阅读

主题位置
dockerBot 特性、cURL、npm 脚本dockerBot/design.md
phoneCoder Tab ↔ API、流式协议说明phoneCoder/design.md
内置技能(Docker runtime 约定等)dockerBot/src/skills/builtin/*.md

7.全栈项目开发部署示列

7.1 获取项目【Git Access Token】

进入github链接,点击 头像 --> settings --> Developer Settings --> Fine-grained personal access tokens.
创建 Access Token ,添加Contents读写(Read and write)权限【重点】

获取到Git Access Token后进入projects页面 创建项目。

7.2 多轮对话进行项目开发

prompt示列:

/skill prompt2repo-engineering-rules 根据技能规则,创建目录label-2026043014,在项目label-2026043014文件目录下按照规范完成开发,以下是我的prompt 帮我生成一个前后端分离的web项目。 生成卖花管理系系统, 有个类似于购物车的功能,类似还有某个页面最好有个信息表,比如选课信息表实现增删改查功能。 首页支持响应式布局,着重关注页面UI样式,注意页面不要出现样式异常,使用UI组件库的弹窗和提示显示,界面优美,具有设计感。 严格按照UI设计稿还原页面:Implement this design from Figma. @https://www.figma.com/design/XXXXXXX?node-id=418-56098&m=dev (如果有填写,没有可以去掉) 前端的技术栈是 vue3+vite+Element Plus,前端用axios发请求,遵循restfulAPI,docker映射端口和启动端口必须是3000。 后端使用java + Spring Boot,docker映射端口和启动端口必须是8000。 然后帮我生成数据库的代码或者你直接帮我操作数据库,数据库采用mysql,docker映射端口为3306。

提示词结构:

  1. 全栈开发技能 /skill prompt2repo-engineering-rules;
  2. 规定项目创建目录;
  3. 描述需求;
  4. UI规范,如果有figma设计稿,可以使用figma mcp直接导入设计稿;
  5. 前端技术栈要求,前端docker映射端口;
  6. 后端技术栈要求,后端docker映射端口;
  7. 数据库技术栈要求,数据库docker映射端口;

执行结果如下:

codingreadmefilespreview

7.3 查看文件并启动项目

进入Files页面,点击项目目录的 docker 图标启动项目;
启动后点击预览,可以查看项目页面;

7.4 AI自动化测试项目

/skill prompt2repo-final-checklist 按照checklist,测试全栈项目label-2026043014

提示词结构:

  1. 全栈测试技能 /skill prompt2repo-final-checklist;
  2. 规定测试项目目录;

7.5 进入git页面提交代码

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 20:33:27

GDSDecomp:深入解析Godot游戏逆向工程的核心技术与实践

GDSDecomp&#xff1a;深入解析Godot游戏逆向工程的核心技术与实践 【免费下载链接】gdsdecomp Godot reverse engineering tools 项目地址: https://gitcode.com/GitHub_Trending/gd/gdsdecomp GDSDecomp作为专业的Godot游戏逆向工程工具&#xff0c;为开发者提供了从打…

作者头像 李华
网站建设 2026/5/4 20:31:52

如何让《鸣潮》丝滑流畅?专业游戏优化工具完整实战指南

如何让《鸣潮》丝滑流畅&#xff1f;专业游戏优化工具完整实战指南 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》卡顿掉帧而烦恼吗&#xff1f;你的硬件配置可能并不差&#xff0c;只是缺…

作者头像 李华
网站建设 2026/5/4 20:31:28

PaDT框架:视觉参考令牌如何提升多模态模型精准度

1. 项目概述&#xff1a;视觉参考令牌如何革新多模态交互在2023年OpenAI发布GPT-4V之后&#xff0c;多模态大语言模型&#xff08;MLLM&#xff09;的视觉理解能力突飞猛进。但工程师们很快发现一个痛点&#xff1a;当用户上传多张图片并提问时&#xff0c;模型经常混淆不同图像…

作者头像 李华
网站建设 2026/5/4 20:29:44

SlopSentinel:AI代码质量守护者,本地化静态分析工具实战指南

1. 项目概述&#xff1a;一个专为AI生成代码设计的本地化“哨兵”最近在代码审查时&#xff0c;我越来越频繁地遇到一种新型的“技术债”——它并非源于传统的逻辑错误或风格问题&#xff0c;而是带着一种独特的“AI味”。比如&#xff0c;注释里写着“根据我截至2023年的知识更…

作者头像 李华
网站建设 2026/5/4 20:29:32

基于Claude与RAG的AI编码智能体:实现浏览器自动化与自主编程

1. 项目概述&#xff1a;一个能“看”懂浏览器并自主编码的AI智能体最近在折腾一个挺有意思的开源项目&#xff0c;叫benign-angler454/coding-agent。这名字听起来有点神秘&#xff0c;但说白了&#xff0c;它就是一个能帮你写代码、调试代码&#xff0c;甚至能“看”着浏览器…

作者头像 李华