Skip to content

Repository files navigation

Clawdroid

Clawdroid 是一个面向 Android 8 至 Android 16 的智能执行底座项目。项目当前采用 Clawdroid App + ClawRuntime 双主体结构:

  • ClawApp
    • Android 客户端
    • 负责 UI、任务编排、无障碍能力、LSPosed/Xposed 入口和 ClawRuntime IPC 客户端
  • ClawRuntime
    • Root 执行侧
    • 负责运行时守护进程、Magisk 模块打包、启动脚本、配置和高权限执行宿主

当前仓库定位为 v0.1.0 开源基线,目标受众优先是开发者与贡献者,而不是普通终端用户的一键安装场景。

项目目标

Clawdroid 的目标不是单纯提供提权能力,而是建立一套可治理、可扩展、可降级的 Android Agent 底座,用于承接:

  • 多模态模型驱动的移动端任务编排
  • 基于无障碍和 LSPosed 的环境感知
  • 基于 Root/Magisk 的高权限执行能力
  • 结构化协议、审计和安全边界控制

仓库组成

  • ClawApp/
    • 独立 Gradle Android 工程
    • 包含 app/xposed-stubs/
  • ClawRuntime/
    • Go 守护进程工程
    • Magisk 模块工程
    • 打包与辅助脚本目录
  • Docs/
    • 架构设计、协议定义、威胁模型、验收与发布文档
  • GitSource/
    • 外部参考源码与调研资料
    • 不属于主工程实现目录,不作为主仓构建前提

详细目录说明见 目录说明.md。当前架构入口见 architecture.md;改码约定见 AGENTS.md。模块说明:ClawApp/README.mdClawRuntime/README.md

许可证与边界

  • 主仓代码与文档默认使用 MIT License
  • GitSource/ 是第三方参考源码区,保留其各自上游许可证,不受主仓 MIT 重新授权
  • 第三方边界说明见 THIRD_PARTY_NOTICES.md

当前状态

v0.1.0 开源基线已收口;其后在本地 main 上继续推进了 Agent / 工具 / MCP / Xposed 能力面(详见 Docs/release-notes.md 的 Unreleased 段与 Docs/下一步计划.md)。

底座(已可用)

  • Brain / ClawBrain -> ClawRuntime 命名迁移与双主体工程收口
  • ClawRuntime Go 守护进程、Magisk 模块、verify.sh 与 webroot 诊断快照
  • Runtime IPC:握手 → Ready、截图、文件桥、输入注入、受限 Shell、事件订阅、task_* / report_xposed_*
  • ClawApp 概览 / 聊天 / 设置 Compose 壳,Root 修复与 Runtime 诊断入口
  • 首台真机闭环已写入兼容矩阵(小米平板 6 / Android 13 / Magisk / LSPosed)

基线后已落地、待验收收口

  • AI Agent 编排与多供应商 Model API;可配置工具环 / API 预算 / 上下文压缩;ToolLoopDetector
  • 本地工具地基(含 file_list:sandbox shell、termux_exec、相机 / 传感器 / FTP 等)
  • Runtime list_dir_limited(需同步更新 Magisk 模块)
  • 设置分类导航;富文本聊天;edge-to-edge(SDK 35)
  • Assist MCP 双向调试桥(ADB forward / reverse)
  • LSPosed 适配器与 focus/view 推送(Settings / Browser / Launcher;微信默认关闭)
  • Shizuku 中层提权路径

下一阶段优先级(先验收、再加深)

  1. Assist MCP + 工具冒烟联调(含 file_list / Termux),勾选 Docs/assist-mcp.md
  2. 兼容矩阵扩到第二台设备,并加强 CI(App unit test)
  3. 聊天 → Runtime task_* 任务化 Agent 闭环
  4. Runtime / Xposed 硬化与适配治理(不做深度业务自动化默开)

完整排序与完成标准见 Docs/下一步计划.md

快速开始

1. 环境要求

  • Windows + PowerShell 7 或等效 PowerShell 环境
  • Android Studio / Android SDK
  • Go
  • 一台已 Root 的 Android 设备用于真机验收

2. 本地初始化

  1. 准备 Android SDK 路径
  2. 准备共享密钥
    • 推荐在仓库根 local.properties 中设置 clawdroid.runtime.sharedSecret
    • 也可以使用环境变量 CLAWDROID_RUNTIME_SHARED_SECRET
    • 若准备对外测试包或发布包,额外设置 clawdroid.runtime.allowedSignatures
  3. 构建前同步 Runtime 配置
    • ClawRuntime/ 目录执行 .\scripts\sync-shared-secret.ps1

构建流程

ClawApp

  • 作为独立 Gradle 工程使用
  • Android Studio 建议直接打开 ClawApp/
  • 构建前需提供 Runtime 共享密钥:
    • 环境变量 CLAWDROID_RUNTIME_SHARED_SECRET
    • 或仓库根 local.properties 中的 clawdroid.runtime.sharedSecret
  • app/build.gradle.kts 会将该密钥写入 BuildConfig.CLAW_RUNTIME_SHARED_SECRET

常用命令:

cd ClawApp
.\gradlew.bat :app:compileDebugKotlin
.\gradlew.bat :app:assembleDebug

ClawRuntime

  • 不依赖 Gradle
  • 使用 Go + PowerShell 脚本构建 ClawRuntime 与 Magisk ZIP
  • 推荐顺序为 scripts/build-runtime.ps1 -> scripts/build-magisk.ps1
  • scripts/build-magisk.ps1 会自动执行 scripts/sync-shared-secret.ps1
  • Magisk 模块当前会输出 webroot/status.jsonwebroot/verify.json 与日志 tail 供本地排查
  • 发布包场景建议使用 .\scripts\build-magisk.ps1 -RequireAllowedSignatures

常用命令:

cd ClawRuntime
.\scripts\build-runtime.ps1
.\scripts\build-magisk.ps1

验证入口

LSPosed 相关说明:

  • verify.sh 只覆盖 ClawRuntime 模块完整性、自检结果与运行态快照,不等价于 LSPosed 注入成功
  • 若需验证 lsposed_runtime_loaded=true,请按 真机安装验收清单.md 中的“LSPosed 专项验收”执行模块启用、作用域配置与 Marker 校验
  • 调试包默认按当前安装包名做作用域验证,例如 com.clawdroid.app.debug -> com.clawdroid.app.debug

风险提示

  • 本项目涉及 Root、LSPosed、输入注入、截图、文件桥接等高权限能力
  • 当前主线优先保证“开发者可理解、可构建、可验证”,不承诺对所有 ROM / Root 方案提供完全等价行为
  • 发布版必须配置非空 auth.allowed_signatures,开发联调阶段允许留空
  • 发布版签名白名单可通过仓库根 local.propertiesclawdroid.runtime.allowedSignatures 或环境变量 CLAWDROID_RUNTIME_ALLOWED_SIGNATURES 注入
  • 安全边界与威胁假设见 threat-model.md

文档导航

参与贡献

About

Claw on Android:应用于 Android 8-16 的基于Root与无障碍模式下的AI代理自动化框架

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages