mcpField
D
Dikciz Launcher

Dikciz Launcher

本地服务
github.com生产力0今天更新

关于 Dikciz Launcher

Dikciz Launcher 是面向希望自定义页面、自动化或远程控制手机用户的可编程 Android 主屏幕。它内置 Streamable HTTP MCP,并支持 WebSocket 和 HTTP 控制接口。

主要功能

  1. 01HTML、CSS 和 JavaScript 小组件
  2. 02Lua 自动化脚本
  3. 03应用快捷方式与 Android 小组件
  4. 04通过 MCP 检查和控制设备
  5. 05编辑配置文件并自动重载

适用场景

  1. 01创建含自定义小组件的 Android 首页
  2. 02通过 MCP 检查界面并执行设备操作
  3. 03编写 Lua 脚本自动化手机任务

MCP 相关

内置 Streamable HTTP MCP 服务,通过工具提供设备检查、配置编辑和 Android 操作等控制能力;还通过 MCP 资源提供指南和任务说明。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Dikciz Launcher 徽标

Dikciz Launcher

CI version license

没错,就是鸡巴奶酪

Dikciz 是一款可编程的 Android 主屏幕。你可以用 HTML 小组件、原生应用快捷方式和 Android 小组件构建页面,编写 Lua 自动化脚本,并通过 USB、Wi-Fi 或 Tailscale 使用 WebSocket、MCP 或 HTTP 控制手机。

你的主屏幕内容以可编辑文件的形式存储在 /sdcard/Dikciz/ 下。签名版包含脚本编写、检查和远程控制功能。普通的启动器控制不需要调试版或 root 权限。手机其他部分的访问权限由 Android 权限管理。

Dikciz 内置主屏幕

安装

从 GitHub Releases 下载签名版 dikciz-launcher-vX.Y.Z.apk,或将 https://github.com/psyb0t/dikciz-launcher 添加到 Obtainium,以接收更新。在手机上打开 obtainium://add/https://github.com/psyb0t/dikciz-launcher,即可直接添加。Dikciz 未通过 Google Play 发布。

  1. 安装 APK 并打开 Dikciz。如需通过 ADB 安装,请使用 adb install -r dikciz-launcher-vX.Y.Z.apk。
  2. 将 Dikciz 选为 Android 的默认主屏幕应用。
  3. 点按 授予文件访问权限,在 Android 中允许访问共享存储,然后返回 Dikciz。应用会在 /sdcard/Dikciz/ 中创建入门主屏幕。
  4. 对于需要更多 Android 访问权限的功能,请打开 设置、自动化、设置完整设备访问权限。你可以自行选择要授予哪些权限和特殊访问权限。跨应用 UI 控制需要在 Android 无障碍设置中启用 Dikciz 跨应用自动化。

如果 Dikciz 是默认主屏幕应用,或拥有 显示在其他应用上层 权限,APK 更新后会自动重新打开。如果 Android 阻止自动重新打开,请点按 Dikciz 已更新通知,或打开应用。这也会重启远程监听器。请参阅更新后恢复。

发布包使用 eu.psyb0t.dikciz.launcher;调试包使用 eu.psyb0t.dikciz.launcher.debug,可与发布包并行安装。使用相同密钥签名的更新会保留应用数据。每个发布版本都包含 APK 校验和。使用 apksigner verify --print-certs dikciz-launcher-vX.Y.Z.apk 验证签名者;其证书 SHA-256 指纹为:

5F:A2:02:5D:F9:B8:31:C3:56:3E:8D:44:00:88:7A:77:61:86:F1:F6:F4:69:4E:4E:41:04:EF:CF:0E:20:75:15

主屏幕支持的功能

  • 沿两个轴排列的原生页面,每个页面都有固定网格、稳定标识和可配置布局。
  • 具有持久化状态、事件和 window.dikciz 桥接接口的本地 HTML、CSS 和 JavaScript 小组件。
  • 原生应用快捷方式、应用组和第三方 Android AppWidget 提供程序。
  • 带事件订阅、类型化操作、所有者命令访问权限和原生脚本仪表板的 Lua 脚本。仅启用可信脚本;这些脚本的命令访问权限包括文件和 shell。
  • 主题、字体、壁纸、小组件外观、编辑锁定和选定的 Android 主屏幕目标。
  • 通过远程 API 进行语义化 UI 检查、截图、日志、配置编辑和设备操作。

入门配置包含两个页面和四个独立的 HTML 小组件:Home 将时间/天气与日程配对;Tools 将语音备忘与设备状态配对。每个小组件占据半个页面,可单独编辑、调整大小或移除。HTML 库提供完整且可编辑的 WebView 模板,包括系统指标以及带经济新闻的 BTC/USD。保存自定义文档以便重复使用。三个实用的 Lua 示例默认处于禁用状态。请参阅入门主屏幕指南。

导航和管理主屏幕

轻点底部页面栏旁的 Dikciz 标记,即可打开应用抽屉、小组件、页面管理和设置。从该页面栏向上滑动可打开应用抽屉。轻点放大镜可按名称或地址查找页面。若页面空间不足,系统会拒绝添加新小组件,而不会与现有项目重叠。

配图用户指南介绍了页面、应用、应用组、提供程序小组件、移动和调整项目大小、外观、脚本与恢复。

配置

/sdcard/Dikciz/config.json 是公开配置的根目录。页面、小组件、脚本、自动化策略、主题、字体、壁纸、HTML 软件包、控制设置和日志各自有独立路径。有效的主屏幕和渲染资源编辑会自动重新加载。监听器地址或端口发生变化时,两个控制平面都会自动重启,即使当前显示着其他 Android 应用也不例外。

文件格式和验证方法请参阅配置指南;脚本教程介绍 Lua 事件、HTML 桥接调用、持久化状态和类型化操作。权限、特殊访问权限、角色和 root 授权由 Android 管理;自动化策略不会授予 Android 访问权限。

远程检查和控制

WebSocket 用于传输命令和持久事件。Streamable HTTP MCP 将相同的命令目标公开为工具。普通 HTTP 会在 MCP 端口的 /v1/automation 接收 JSON 命令。两者默认都在手机上监听 127.0.0.1,手机应用和 ADB 端口转发均可访问。无需 USB 直接访问:

  1. 将手机和控制电脑连接到同一个可访问的专用网络或 Tailscale 网络。其访问策略必须允许 TCP 19001 和 19002 上的电脑到手机流量。处于在线状态或能响应 Tailscale 隧道 ping 并不能证明应用可访问。
  2. 在手机上打开设置、自动化、配置远程 Bearer 身份验证。设置并启用密码。客户端会从 DIKCIZ_REMOTE_BEARER_TOKEN 读取密码;请将其保存在机密环境中,不要放入命令参数。
  3. 打开配置控制端口,将监听地址设为 0.0.0.0,然后保存。公开配置文件也提供相同设置。端点发生变化时,两个监听器都会自动重启。
  4. 在控制电脑上使用手机可访问的主机名或 IP 地址及其设备端口进行连接。0.0.0.0 是绑定地址,不是客户端目标地址。

随附的 Python 客户端没有第三方依赖。从代码检出目录运行,并将 phone.example 替换为手机的主机名或 IP 地址:

python3 scripts/dikciz-control.py websocket controlStatus --host phone.example --port 19001 --pretty
python3 scripts/dikciz-control.py mcp-tools --host phone.example --port 19002 --pretty
python3 scripts/dikciz-control.py mcp dikciz_snapshot --host phone.example --port 19002 --pretty
连接方式WebSocketStreamable HTTP MCPHTTP 命令
直接连接专用网络ws://phone.example:19001/v1/automationhttp://phone.example:19002/mcphttp://phone.example:19002/v1/automation
运行 make dikciz-run 后的实验室 ADB 转发ws://127.0.0.1:19101/v1/automationhttp://127.0.0.1:19102/mcphttp://127.0.0.1:19102/v1/automation

配置 MCP 客户端的 Streamable HTTP URL 和 bearer 标头,然后发现服务并列出工具。通过 MCP 资源读取 dikciz://docs/index,逐节获取简明指南和任务配方。资源指南介绍了资源发现和 CLI 读取。直接访问无需 USB、ADB 或模拟器。端点本身不提供 TLS;请使用可信的专用网络或加密 VPN。0.0.0.0 会监听所有 IPv4 接口(包括 Wi-Fi),但受网络路由和过滤规则限制。

连接指南介绍了设置、故障排查和 ADB 替代方案。两种协议都会拒绝来自 HTTP 或 HTTPS 环回页面以外的浏览器源。原生客户端可以省略 Origin。网络访问、bearer 身份验证和 Android 权限是相互独立的检查。Shell 命令默认请求 root;传入 root: false 即可使用 Dikciz 的应用沙盒。若缺少 Android 访问权限,命令可接受 autoRequestPermissions: true,以显示所有者审核请求。使用 requestDeviceAccess 或 MCP dikciz_request_device_access 可直接请求某项能力;响应会报告权限状态、通知送达情况和操作说明。请参阅权限请求。

浏览和传输 Android 允许 Dikciz 访问的任何文件,上传独立 APK 并请求安装,或运行 Android shell 命令并读取输出和退出状态。Shell 命令默认超时时间为 30 秒,并支持为每个请求指定超时时间和输出大小选项。安装权限和确认由 Android 控制。文件、APK 和 shell 指南介绍了命令、二进制文件传输和最终安装状态。

使用 deviceInfo 检查实际提供服务的包和版本,使用 packageInfo 检查其他已安装的包,并使用 restart 执行已确认的启动器重启;此操作会保留配置并重新连接,不会终止进程。launcherHandoff 会在检查目标访问权限后,在已安装的发行版控制器和调试控制器之间切换。displayScreenshot 可在 Android 11+ 上通过已启用的无障碍功能截取其他应用的画面。远程设备指南介绍了这些控制功能、端口冲突恢复,以及哪些操作需要 Android 访问权限或 root。

使用直接 Android 数据命令查询和编辑联系人、查看短信历史并跟踪发送记录、管理日历、查看通话历史、选择 SIM 卡、访问剪贴板、获取当前位置、查看通知和媒体会话,以及检查设备状态。这些命令调用 Android API,无需导航到其他应用。使用 nativeDataStatus 发现资源和授权;Android 仍会强制执行权限和应用角色限制。

Android 功能

直接命令涵盖传感器、位置/地理编码、JPEG 拍摄、麦克风录音和实时 PCM 流、音频播放、语音合成/识别、手电筒、振动及部分设置。蓝牙支持设备发现、配对请求、RFCOMM 和 GATT 事务;NFC 支持标签发现、NDEF 和原始事务;USB 支持所有者访问和传输。Wi-Fi 支持带新鲜度元数据的缓存扫描和请求扫描。文件管理、通知回复和持久化作业使用同一命令目标。所有常规绑定共用同一个执行器和 Android 访问权限。硬件控制、语音识别和命令参考介绍字段和结果。Android 访问参考说明各项功能对应的授权和执行限制。覆盖范围表列出不完整的功能和待完成事项;Dikciz 不会公开所有 Android SDK 方法。

日志和故障报告

Dikciz 会在 /sdcard/Dikciz/logs/ 下写入每日 UTC JSON Lines 文件。Settings、Configure logging 可选择 DEBUG、INFO、WARN 或 ERROR 级别,以及 1 到 90 天的保留期限。默认级别为 INFO,保留期限为七天;更改会立即生效。成功启动应用会记录在日志中,但不会弹出提示。可在控制面板、Settings 日志查看器、WebSocket scriptLogs 或 MCP dikciz_script_logs 中查看脚本结果和故障。事件进入队列并不代表操作已成功。日志参考介绍了脱敏、限制和故障通知。

运行

源码开发需要 Docker、Make 和 Git。克隆此仓库,并在仓库根目录运行命令。Makefile 会固定使用 Android Lab,它提供 Docker 构建工具和专用 Android 模拟器。如果缺少其镜像,请先阅读 Android SDK 许可协议,再接受许可用于本地构建:

ANDROID_LAB_ACCEPT_ANDROID_LICENSES=yes make build
make dikciz-run

在 http://127.0.0.1:61326/vnc.html?autoconnect=true&resize=scale 打开共享模拟器。make dikciz-run 会安装调试包、在该隔离模拟器上授予文件访问权限、将其设为 Home,并保留现有配置。make dikciz-reset 只会清除该模拟器上的 Dikciz 及其公共文件。请保留 .android-lab/,其中包含模拟器磁盘、缓存、签名身份和构建产物。

make help 会列出支持的操作。make status 检查运行环境;make stop 会停止运行环境,同时保留已保存的手机状态。工具容器最多使用 10 个主机 CPU 核心。若要降低构建资源上限,可覆盖 ANDROID_LAB_TOOL_CPU_LIMIT 和 ANDROID_LAB_GRADLE_MAX_WORKERS。接受 SDK 许可后,镜像会使用已固定版本的安装程序在本地构建。

Fossify 源码更新

完整的 Fossify 源码仍是维护中的 Android 基础代码。Dikciz 代码位于 app/src/dikciz/ 和组合源集下。将 DIKCIZ_UPSTREAM_DIR 设为选定的上游检出目录后,先运行 make dikciz-upstream-compare,再运行 make dikciz-upstream-refresh-dry-run。替换操作需要设置 DIKCIZ_UPSTREAM_REFRESH=1、使用较新的上游标记,并有经过验证的备份。Fossify 集成图规定了完整流程和源码边界。

验证

使用 make lint 检查脚本并对经过混淆处理的 Dikciz 运行 Android lint,使用 make gradle GRADLE_TASK=:app:assembleDikcizDebug 执行针对性构建,并根据测试指南选择相关目标,验证实际行为。make dikciz-test 运行覆盖面较广的共享模拟器测试套件。启用发布版代码缩减后,make dikciz-test-minified-lua 会验证 Lua 执行和失败报告。测试结束后,共享模拟器会停留在当前捆绑的启动主页。

主分支推送和已准备就绪的拉取请求会运行构建、Android lint 和工具测试。版本标签会等待同一提交的主分支推送流水线成功,而不会重复运行这些检查。主分支运行失败或缺失都会阻止发布。经过混淆处理的 lint 任务会检查 Dikciz 源集。make app-lint 则单独检查与上游兼容的核心代码。

通过此门禁后,版本标签会在 CI 中通过 make release-apk 构建已签名的 APK 和校验和。在标签上手动运行时也会使用相同的门禁。该目标会验证已发布的签名证书以及 VERSION 中的版本。其密钥库和签名密钥会保存在受跟踪源代码之外。发布历史记录面向用户的变更。

文档

请先查看文档索引,了解所有指南;再查看覆盖情况表,了解已实现和待实现的功能。

指南内容
用户指南安装、Android 访问、导航和原生编辑,并附有屏幕截图。
配置公共文件、验证、重新加载行为、主题和日志。
脚本编写Lua、HTML、事件、策略和类型化操作。
自动化控制直接连接、ADB 转发、身份验证、WebSocket、MCP 和 HTTP。
文件、APK 和 Shell浏览、上传、下载、安装 APK,以及读取 CLI 结果。
Dikciz 源码产品架构和实现边界。
脚本、测试、贡献指南构建工具、验证和变更边界。

Agent 集成

Dikciz Launcher 技能介绍安装和操作。.agents/ 下的 Claude Code 和 Codex 清单会打包这些说明。服务运行于你已安装的 Android APK 中;请提供可访问的 /mcp URL 和 bearer 密码。可直接连接 Codex,或从此检出目录加载本地 Claude 插件:

codex mcp add dikciz --url http://phone.example:19002/mcp --bearer-token-env-var DIKCIZ_REMOTE_BEARER_TOKEN
claude --plugin-dir .agents

Agent 集成指南介绍客户端设置、密钥和插件配置。Android Lab 技能介绍源码构建和模拟器操作。APK 发布后,标签发布流程只会为 ClawHub 选择操作技能。市场列表与手机连接无关。

上游

Dikciz 基于 Fossify Launcher,并依据 GNU 通用公共许可证第 3 版发布。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。