当前位置: 首页 > article >正文

【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/dockerBotphoneCodergithub.com/jsCanvas/phoneCoderclientCodergithub.com/jsCanvas/clientCoder1. 总体关系客户端 Expo 与 Web宿主机 · 服务端docker exec项目运行时HTTPS/LAN REST SSEREST SSE常见为代理转发dockerBot APINestJS :8080/apiAgent 沙箱Docker 容器Traefik:80 · 预览路由phoneCoderExpo · iOS/Android/WebclientCoderVite · 浏览器 IDE子项目GitHub介绍主要职责dockerBotjsCanvas/dockerBot具备全自动开发与一键部署能力的 AI 智能体系统。只需提供 Git 仓库与访问令牌即可由系统为你完成全栈开发与部署。权威后端工程与 Git、文件、加密模型配置、面向多轮会话的SSE聊天、沙箱容器内执行 Agent、MCP / Skills、通过宿主docker.sock编排 Docker 运行时、配合 Traefik 的预览域名等。phoneCoderjsCanvas/phoneCoder随时随地——掏出手机就能完成开发。官方移动/多端UIExpo六个 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 与以下组件一同部署长期运行的Agent 沙箱镜像Claude Code、路由、工具链等Traefik为预览站点提供形如slug.BASE_DOMAIN的路由。数据持久化采用 SQLite存放在配置的数据目录下phoneCoder_DATA_DIR默认./data。模型凭证等敏感字段使用phoneCoder_ENCRYPTION_KEY64 位十六进制即 32 字节配合AES-256-GCM加密落盘。2.2 前置条件安装Docker Engine / Desktop且具备Compose V2docker compose命令。系统提供openssl./scripts/start.sh在未配置密钥时可用来生成占位替换。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 启动的容器REST 基地址http://localhost:8080/api或换成本机局域网 IP /api。Traefik仪表盘地址会因配置略有不同scripts/start.sh的输出里会提示本地配置常见:8081。API 一览、cURL 示例、安全说明及 npm 脚本如npm run start:dev、测试、lint详见dockerBot/design.md。2.4 客户端必填配置项各客户端仅需配置一项以/api结尾的API Base URL例如局域网http://192.168.1.10:8080/api本地开发常用经 Vite 代理http://127.0.0.1:5173/api见 clientCoder §4.43. phoneCoderExpo 多端客户端3.1 是什么phoneCoder 为ExpoReact Native应用目标平台包括iOS、Android 与 Webnpm run web。它仍是共享 TypeScript 模块的源头clientCoder 所依赖的PhoneBotApiClient、SSE 流式钩子useAgentSession、聊天负载与提及、SettingsStorage形状、DTO 类型等均定义于此。3.2 安装与运行cdphoneCodernpminstallnpmrun web# 在笔记本浏览器中最快验证npmstart# 打开 Expo CLI可选真机 / 模拟器3.3 指向后端地址在设置 → dockerBot connectiondockerBot API Base URL填例如http://主机:8080/api。手机访问本机后端时若 dockerBot 跑在电脑上请使用电脑的局域网 IP。配置以 JSON 写入 AsyncStorage键名phoneCoder.client.settings与 Web 端clientCoder逻辑等价参见 §4。3.4 自检npmrun typechecknpmtestTab 与接口对应关系见phoneCoder/design.md。3.5 phoneCoder 界面截图设置项目聊天文件预览Docker 运行时Git4. clientCoder网页 IDE4.1 是什么clientCoder 是一套Vite React 18的单页应用交互布局模仿 IDE活动栏与资源管理器Monaco 编辑 UTF-8 文本底部面板OUTPUT、简易终端条、端口/运行时右侧聊天useAgentSession dockerBotSSE。不复制一层网络/SDKtsconfig与vite.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 preview4.3 工作台设置交互应用内提供Workspace settings工作台设置对话框连接Connection编辑 API Base URL 并向 dockerBot 校验/保存项目 / 模型与移动端相同的 CRUD 流程全部由 dockerBot 承载。浏览器侧持久化经由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 与 multiparthooks/useAgentSession.tsSSE 聊天流chat/负载拼装、//补全来源screens/screenActions.ts、screens/fileTree.ts工程切换、会话、文件树合并等types/api.tsDTO 类型5. 典型端到端流程5.1 仅本机后端 网页 IDE启动 dockerBot./scripts/start.sh或./scripts/start.sh -d。在 clientCoder「连接」中填写http://127.0.0.1:8080/api若走 Vite 代理则用http://127.0.0.1:5173/api。创建/选择工程→ 绑定模型配置→ 新建会话→ 在聊天里下达任务资源管理器中文件列表由 dockerBot 文件接口驱动。5.2 仅本机后端 手机启动 dockerBot保证:8080可被局域网访问监听0.0.0.0或配合端口映射。phoneCoder设置 → dockerBot API Base URL→http://局域网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在对应终端CtrlC6.延伸阅读主题位置dockerBot 特性、cURL、npm 脚本dockerBot/design.mdphoneCoder Tab ↔ API、流式协议说明phoneCoder/design.md内置技能Docker runtime 约定等dockerBot/src/skills/builtin/*.md7.全栈项目开发部署示列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-id418-56098mdev 如果有填写没有可以去掉 前端的技术栈是 vue3viteElement Plus前端用axios发请求遵循restfulAPIdocker映射端口和启动端口必须是3000。 后端使用java Spring Bootdocker映射端口和启动端口必须是8000。 然后帮我生成数据库的代码或者你直接帮我操作数据库数据库采用mysqldocker映射端口为3306。提示词结构全栈开发技能 /skill prompt2repo-engineering-rules规定项目创建目录描述需求UI规范如果有figma设计稿可以使用figma mcp直接导入设计稿前端技术栈要求前端docker映射端口后端技术栈要求后端docker映射端口数据库技术栈要求数据库docker映射端口执行结果如下codingreadmefilespreview7.3 查看文件并启动项目进入Files页面点击项目目录的 docker 图标启动项目启动后点击预览可以查看项目页面7.4 AI自动化测试项目/skill prompt2repo-final-checklist 按照checklist测试全栈项目label-2026043014提示词结构全栈测试技能 /skill prompt2repo-final-checklist规定测试项目目录7.5 进入git页面提交代码

相关文章:

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

dockerBot phoneCoder clientCoder — 架构与使用指南(中文版) 本文介绍了一个具备全自动开发和一键部署能力的 AI 智能体系统,其三个子项目:NestJS 后端(dockerBot)、Expo / React Native 客户端&#…...

Harnss:统一AI编程代理控制台,实现多引擎协同开发与状态持久化

1. 项目概述:为什么我们需要一个AI编程代理的“统一控制台”?如果你和我一样,每天都在和Claude Code、Cursor、GitHub Copilot Chat,甚至是自己配置的本地模型打交道,那你一定体会过那种“精神分裂”般的开发体验。每个…...

手把手教你理解LIN总线的‘显性’与‘隐性’:从电平逻辑到汽车抗干扰的实战解析

手把手拆解LIN总线电平逻辑:从汽车抗干扰设计到收发器选型指南 第一次接触LIN总线的"显性"和"隐性"电平概念时,我盯着示波器上跳动的波形百思不得其解——为什么逻辑0对应0V,而逻辑1却对应着8-18V的电池电压?…...

K8S集群的搭建

参考资料 参考视频: https://ke.gupaoedu.cn/play/288/5/34854?phaseId6 参考资料: 通过网盘分享的文件:02.Kubernetes 链接: https://pan.baidu.com/s/1nrYZvlnADhlDF7RarNSbZQ 提取码: m39a 概要: 本文是搭建一个主节点、两个…...

外部只读诊断工具triage:AI Agent网关故障排查的独立法医

1. 项目概述:当网关“病危”时,你需要一个外部诊断专家在AI Agent和微服务架构日益普及的今天,系统的复杂性也水涨船高。想象一下,你负责维护一个基于OpenClaw环境的关键业务网关,它突然变得响应迟缓甚至完全不可用。你…...

码蹄杯练题纯享版

2026年码蹄杯题集 目前为止做的都是青铜与白银难度的题目,然后就只是将自己思考的比较深的题目放在这里做一个记录了,其他非常非常简单的题目没有记录在这里,黄金及以上会在后面慢慢去挑战! MC0505厨房里练手艺 专诸为了完成刺杀…...

Claude Code终极配置同步指南:三分钟实现跨设备开发环境一致性

Claude Code终极配置同步指南:三分钟实现跨设备开发环境一致性 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining…...

技术架构革新:构建跨平台网盘直链解析服务的性能突破

技术架构革新:构建跨平台网盘直链解析服务的性能突破 【免费下载链接】netdisk-fast-download 聚合多种主流网盘的直链解析下载服务, 一键解析下载,已支持夸克网盘/uc网盘/蓝奏云/蓝奏优享/小飞机盘/123云盘等. 支持文件夹分享解析. 体验地址: https://l…...

OpenClaw 2026.3.8 更新了哪些内容?备份 CLI、Talk 静默超时、TUI Agent 识别与 ACP 溯源能力解析

🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...

手机变身高精度测绘仪:RtkGps如何让Android设备实现厘米级定位突破

手机变身高精度测绘仪:RtkGps如何让Android设备实现厘米级定位突破 【免费下载链接】RtkGps Playing with rtklib on android 项目地址: https://gitcode.com/gh_mirrors/rt/RtkGps 想象一下,你手中的普通智能手机突然拥有了专业测绘设备的定位精…...

roop-unleashed:零训练AI人脸替换技术的架构解析与实践指南

roop-unleashed:零训练AI人脸替换技术的架构解析与实践指南 【免费下载链接】roop-unleashed Evolved Fork of roop with Web Server and lots of additions 项目地址: https://gitcode.com/gh_mirrors/ro/roop-unleashed 在数字内容创作领域,人脸…...

DevEco Studio:上传文件到模拟器中

先启动一个模拟器:例如,将demo.jpg用鼠标直接拖到模拟器中:点击模拟器的文件管理:点击 我的手机:点击 Download:可以看到刚才拖上来的文件:点击这个文件,在模拟器上展示:…...

X-TRACK开源GPS自行车码表终极指南:5步打造你的专属骑行数据可视化系统

X-TRACK开源GPS自行车码表终极指南:5步打造你的专属骑行数据可视化系统 【免费下载链接】X-TRACK A GPS bicycle speedometer that supports offline maps and track recording 项目地址: https://gitcode.com/gh_mirrors/xt/X-TRACK 想要打造一个支持离线地…...

为什么你的PHP 8.9 Fiber总卡死?——5类隐式同步陷阱(含PDO::ATTR_EMULATE_PREPARES= false致命配置)

更多请点击: https://intelliparadigm.com 第一章:PHP 8.9 Fiber 协程高并发实战案例全景图 PHP 8.9 并未官方发布(截至 2024 年,PHP 最新稳定版为 8.3),但本章基于社区广泛讨论的「Fiber 原生协程增强提案…...

安装yolo26【无标题】

这里写自定义目录标题1 安装ubuntu26.042 安装cuda12.81 安装 CUDA 12.82 配置 CUDA 环境变量3 安装 cuDNN 9.214 安装miniforge5 安装yolo261. 创建并进入 yolo26 环境2. 安装 CUDA 12.8 的 PyTorch nightly(关键)3. 验证 PyTorch CUDA 是否生效&#…...

RGB-D相机深度补全:掩码建模技术解析与实践

1. 项目概述:当RGB-D相机遇上掩码建模去年调试一台服务机器人时,我发现它在光线复杂的厨房环境中频繁撞到透明玻璃门——这暴露了传统RGB-D相机在空间感知上的致命缺陷。常规的深度补全算法在遇到反光、透明或纹理缺失表面时,往往会输出错误的…...

超越频谱分析:双谱图在机械故障诊断中的实战应用指南(以Python为例)

超越频谱分析:双谱图在机械故障诊断中的实战应用指南(以Python为例) 在工业设备的预测性维护领域,早期故障特征往往隐藏在振动信号的噪声中,就像试图在暴雨中听清远处的钟声。传统功率谱分析虽然能识别频率成分&#x…...

3分钟上手Scrcpy Mask:用键盘鼠标玩转安卓设备的终极指南

3分钟上手Scrcpy Mask:用键盘鼠标玩转安卓设备的终极指南 【免费下载链接】scrcpy-mask A Scrcpy client in Rust, Bevy and React, aimed at providing mouse and key mapping to control Android device, similar to a game emulator 项目地址: https://gitcode…...

Hermes配置技能库:从基础调优到生产部署的实战指南

1. 项目概述:一个关于“Hermes”的配置技能库最近在社区里看到不少朋友在讨论一个名为hqhq1025/hermes-setup-skill的项目。乍一看这个标题,可能会有点摸不着头脑——“Hermes”是什么?是那个奢侈品牌吗?显然不是。在技术圈&#…...

不停电、不宕机!UPS在线更换蓄电池组,一文看懂全流程

在机房、数据中心、医疗设备、工业自控等关键场景,UPS电源就是负载设备的“应急生命线”,而蓄电池组则是UPS的“能量心脏”。随着使用时间增长,蓄电池老化、容量下降,会直接导致UPS应急供电失效,一旦突发停电&#xff…...

动态早期退出技术:深度学习推理优化实践

1. 动态早期退出技术概述动态早期退出(Dynamic Early Exiting)是近年来深度学习推理优化领域的重要技术突破。这项技术的核心思想是让神经网络在推理过程中,根据输入样本的复杂度动态决定在哪个中间层提前退出计算,避免对所有样本…...

告别卡顿!在Manjaro/Debian上为Firefox配置N卡硬解,流畅看B站4K

在Manjaro/Debian上解锁N卡硬解:让Firefox流畅播放B站4K视频的终极指南 每次在B站打开4K视频,笔记本风扇就开始狂转,CPU占用率飙升,画面却依然卡顿?如果你正在使用Manjaro或Debian系统,搭配NVIDIA显卡和Fir…...

避开这5个坑,你的Logisim计算机组成实验就能一次跑通

避开这5个坑,你的Logisim计算机组成实验就能一次跑通 第一次打开Logisim时,很多人会被它简洁的界面迷惑——看似简单的拖拽连线,却能在短短几行电路里藏下无数陷阱。那些在实验报告截止前熬夜debug的夜晚,往往都耗费在几个看似微不…...

从Telnetlib到Netmiko:一个网络工程师的Python自动化工具箱升级之路

从Telnetlib到Netmiko:网络工程师的自动化工具进化实战 第一次用Telnetlib写脚本时,那种兴奋感至今难忘——几行代码就能让路由器乖乖执行命令,再也不用反复登录设备敲配置。但随着网络规模扩大,当面对几十台不同厂商的设备时&…...

国产MCU+Flash存储方案避坑:GD32F4系列SPI读写GD25Q64的五个常见问题与调试技巧

GD32F4系列SPI读写GD25Q64实战避坑指南 在嵌入式开发中,SPI Flash存储器因其接口简单、容量适中而广受欢迎。GD25Q64作为一款64Mb(8MB)容量的SPI NOR Flash,与国产GD32F4系列MCU的组合,成为许多项目的首选方案。然而在…...

自然语言生成矢量动画:OmniLottie框架技术解析

1. 项目概述:当矢量动画遇见多模态指令 上周在调试一个金融类App的加载动画时,我第17次打开AE调整贝塞尔曲线,突然意识到:为什么2023年了,我们制作Lottie动画还在用20年前的关键帧工作流?这个顿悟直接催生了…...

数据库Skill开发教程:从零构建SQLite应用

1. 数据库架构设计(图表描述)图表说明:这是一个典型的电商数据库ER图,包含用户、产品和订单三个核心表。Users表存储用户信息,Products表管理商品数据,Orders表记录交易。外键关系确保数据完整性&#xff1…...

RoPE扩展与分层注意力优化代码大模型长上下文理解

1. 项目背景与核心挑战 在当今AI辅助编程领域,代码大模型的单行补全已经相当成熟,但当开发者需要处理复杂项目时,往往会遇到一个关键瓶颈——模型难以理解跨文件的上下文依赖关系。我最近在重构一个中型前端项目时深有体会:当修改…...

别再只会用arecord了!手把手带你用ALSA CORE API在Linux上写个录音小程序

从命令行到代码:用ALSA CORE API打造Linux音频应用的实战指南 如果你已经能熟练使用arecord和aplay这些命令行工具在Linux上进行基础的音频操作,那么是时候深入一层,探索更强大的音频编程能力了。ALSA(Advanced Linux Sound Architecture)作为…...

3步掌握Scrcpy Mask:安卓投屏隐私保护终极指南

3步掌握Scrcpy Mask:安卓投屏隐私保护终极指南 【免费下载链接】scrcpy-mask A Scrcpy client in Rust, Bevy and React, aimed at providing mouse and key mapping to control Android device, similar to a game emulator 项目地址: https://gitcode.com/gh_mi…...