Перейти к содержимому
Оригинал
稀土掘金 · AI 编程· 用户447524856675·· 3 дня назадОценка ИИ71

在 Android/Termux 上用 Node.js 实现 Claude Code Mobile

Оригинальный заголовок: 在手机上跑 Claude Code:一个 Android/Termux 的 AI 编程助手

Заголовок и краткое изложение на выбранном языке ожидают перевода.

Краткий обзор ИИ

作者用纯 Node.js 在 Android/Termux 上实现了 AI 编程助手 Claude Code Mobile,无需 root,交互风格、Agent 架构和工具协议对齐 Claude Code,但为独立实现,与 Anthropic 无隶属关系。

Полный текст

Полный текст на выбранном языке ожидает перевода. Пока показан оригинал.

起因

我用 Android 手机做开发,装的是 Termux。

想用 Claude Code 那种"AI 帮我写代码"的能力,但官方只有桌面端和 Web 端——手机上要么跑不了,要么体验很差。

后来想:Claude Code 的核心不就是「Agent 循环 + 工具调用」吗?那我用 Node.js 在 Termux 里自己实现一个,不就行了。

于是有了 Claude Code Mobile。

它是什么

一个跑在 Android/Termux 上的 AI 编程助手,纯 Node.js,不需要 root。

交互风格、Agent 架构、工具协议对齐 Claude Code,但是独立实现,与 Anthropic 无隶属关系。

核心是「给我一个 API 端点,我就能在手机上帮你干活」:

  • 读写文件、跑命令、搜代码
  • 联网搜索(19 个源)
  • 多 Agent 并行干活
  • 直接操作手机(看屏幕、点按、输入)

几个我觉得有意思的点

1. 手机操作(phone use)

这是桌面端做不了的——AI 能真的操作你的手机:

phone_snapshot  看当前界面(元素树,百毫秒级)
phone_click     点某个元素
phone_type      输入文字(支持中文)
phone_shell     在 Android 系统里跑 shell

底层走 Shizuku 或本机 adb,还能用虚拟副屏——AI 在副屏操作,不占用你的主屏。

举个实际场景:让它"打开音乐 App 搜一首歌并播放",它会自己看界面、点搜索框、输入歌名、点结果。

2. 三协议支持

不绑死某一家:

协议端点
OpenAI 兼容/chat/completions
Anthropic/v1/messages
Responses/responses

中转站、官方 API、本地反代都能接,可以配多个 Provider 随时切。

3. 多 Agent 编排

主对话可以派子 Agent 并行干活:

  • 每个子 Agent 独立上下文(不污染主对话)
  • 可以递归(子 Agent 再派)
  • 并发上限 24
  • 可以后台跑,主对话继续做别的

配合 Task 工具组(持久化待办)、Team 工具组(团队协作),能组出挺复杂的流程。

4. 搜索:19 个源

一个 SearchInfo 调用,同时查:

  • 通用:Bing / 百度 / 搜狗 / 360 / B站 / CSDN / 掘金 / V2EX / HackerNews / StackOverflow / GitHub / Mojeek
  • 垂直:arXiv / OpenAlex / Crossref / PubMed(学术)、npm / PyPI / crates(包)、MDN(文档)、NVD(漏洞)、endoflife(生命周期)、HuggingFace(模型)、GitHub Releases(版本)

返回带权威度标注的资料卡,按可信度排序。

5. 60+ 工具

除了常规的文件读写、Shell、Git、搜索,还有一些不那么常见的:

  • HashlineEdit:行锚点编辑(改前验证行内容没变,防止改错位置)
  • ApplyPatch:原子性多文件 patch(任一失败全部回滚)
  • ViewImage / ViewVideo:原生多模态,主模型直接看图
  • Cron 工具组:定时任务(到点自动执行一段 prompt)
  • Goal 工具组:完成契约(有明确终止条件的自动推进)

6. 会话与上下文管理

  • 会话自动保存(每 30 秒)
  • /resume 切会话、/branch 分支、/rewind 回退
  • 上下文压缩(手动 /compact,默认不自动压缩)
  • Prompt Cache 支持

技术上的几个细节

纯 Node.js,零编译

Termux 上 pkg install nodejs 就能跑,没有 native 依赖要编译。

虚拟副屏

用 app_process 起一个独立 display,AI 在里面操作 App,不占你的主屏。

帧缓存过期时会自动重启,元素树拿不到内容时可以切截图。

三协议抽象

core/api.mjs 把三种协议的差异收敛成统一接口,Agent 层不关心底下是什么协议。

工具 schema 归一化

不同 provider 对 JSON Schema 的容忍度不同(Gemini 会因 properties: null 直接拒整个请求),所以在序列化出口处统一兜底,而不是指望每个工具定义都写对。

安装

# 1. 装依赖
pkg install nodejs git termux-api

# 2. 克隆
cd ~
git clone https://github.com/wzy-20130517/Claude-Code-Mobile.git claude-code-mobile
cd claude-code-mobile

# 3. 装 npm 依赖
npm install

# 4. 启动(首次进配置向导)
bash start.sh

首次启动会引导你填 API 地址、Key、模型名。

还带了 Web 端

同一套内核,也有浏览器界面(Vue 3 + Vite):

  • 约 2.9 万行前端 + 3800 行后端
  • 对话、Artifacts 面板、文档系统
  • 与 CLI 共享配置和会话数据
  • 手机跑服务,局域网内的电脑也能访问

最后

这个项目的出发点是「手机上能不能有个趁手的 AI 编程工具」。

做到现在,它已经不只是"编程"了——能操作手机、能联网查资料、能多 Agent 协作,更像一个跑在 Termux 里的通用助手。

如果你也在手机上折腾开发,欢迎试试,也欢迎提 issue。

项目地址:github.com/wzy-2013051…


本文介绍的是开源项目 Claude Code Mobile,为独立实现,与 Anthropic 无隶属关系。

Источник: 稀土掘金 · AI 编程 · juejin.cn