# AutoIME **Repository Path**: green_realm/auto-ime ## Basic Information - **Project Name**: AutoIME - **Description**: autojs自动化输入法 - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-19 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Auto IME ## 简介 Auto IME 是一个 Android 输入法编辑器(IME)应用程序,它提供了通过 HTTP API 远程控制键盘的功能。该项目主要用于自动化测试和脚本控制场景,允许外部程序通过 JSON 命令来控制键盘输入、模拟按键操作以及管理输入法状态。 ## 主要功能 - **远程键盘控制**:通过 HTTP API 远程执行键盘操作 - **JSON 命令协议**:使用 JSON 格式的命令进行交互 - **安全的身份验证**:基于令牌的身份验证机制 - **插件支持**:支持插件扩展机制 - **加密存储**:使用 Android Keystore 保护敏感数据 ## 系统要求 - Android 5.0(API 21)或更高版本 - Kotlin 支持 - Gradle 构建系统 ## 安装说明 1. 克隆项目到本地: ```bash git clone https://gitee.com/green_realm/auto-ime.git ``` 2. 使用 Gradle 构建: ```bash # Debug 版本 ./gradlew assembleDebug # Release 版本 ./gradlew assembleRelease ``` 3. 在设备上安装生成的 APK 文件 ## 使用说明 ### 启用输入法 1. 打开设备 **设置** → **语言和输入法** 2. 在 **键盘** 列表中找到 **Auto IME** 3. 启用该输入法 ### 获取访问令牌 启动应用后,可以在主界面查看和复制访问令牌。该令牌用于 HTTP API 的身份验证。 ### HTTP API 使用 默认服务器端口为 `7397`。 #### 认证方式 所有请求需要在请求头中携带令牌: ``` Authorization: Bearer ``` #### 可用操作 - **提交文本**:向当前输入框提交文本 - **发送按键**:模拟物理按键事件 - **执行编辑器操作**:如回车、搜索等 - **显示/隐藏键盘**:控制键盘的显示状态 #### 请求格式 ```json { "op": "operation_name", "params": { // 操作参数 } } ``` #### 响应格式 ```json { "success": true, "data": { // 返回数据 } } ``` ## 项目结构 ``` auto-ime/ ├── app/src/main/ │ ├── java/org/autojs/ime/ │ │ ├── ForwardIme.kt # 转发输入法实现 │ │ ├── ImeApp.kt # 应用初始化 │ │ ├── ImeCommandRouter.kt # 命令路由处理 │ │ ├── ImeHttpServer.kt # HTTP 服务器 │ │ ├── ImeKeyboardService.kt # 核心输入法服务 │ │ ├── ImePluginService.kt # 插件服务 │ │ ├── LauncherActivity.kt # 主界面 │ │ └── TokenCrypto.kt # 令牌加密工具 │ ├── aidl/org/autojs/plugin/ime/api/ │ │ ├── IImePlugin.aidl # 插件接口定义 │ │ └── PluginInfo.aidl # 插件信息定义 │ └── res/ # 资源文件 ├── build.gradle.kts # 项目构建配置 └── settings.gradle.kts # 项目设置 ``` ## 安全特性 - **令牌生成**:使用安全随机数生成器创建令牌 - **令牌加密**:使用 AES-GCM 加密存储令牌 - **锁定保护**:多次认证失败后暂时锁定服务 - **Constant-time 比较**:防止时序攻击 ## 许可证 本项目采用 [Apache License 2.0](LICENSE) 开源协议。 ## 贡献者 感谢所有为该项目做出贡献的开发者! ## 联系方式 - 项目地址:https://gitee.com/green_realm/auto-ime - 问题反馈:请在 Gitee 项目页面提交 Issue