# moss-android-terminal **Repository Path**: huhu5/moss-android-terminal ## Basic Information - **Project Name**: moss-android-terminal - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-12 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![预览](1.jpeg) # 安装 推荐使用文件管理器:[MT管理器](https://mt2.cn/download/) - QQ交流群:768464439 UEG 安卓QQ群中接收到的文件默认存储路径:`/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/` - [蓝奏云下载地址](https://ycww.lanzn.com/b00wmittna) 密码:`550W` - [Gitee下载地址](https://gitee.com/heigxaon/moss-android-terminal/archive/refs/tags/MOSS.zip) - [GitHub下载地址](https://github.com/Heigxaon/MOSS_terminal/archive/refs/tags/MOSS.zip) > 如果收到的是4个`MOSS.tar.gz`压缩包,请先合并 在MT管理器中 **批量选择** 这4个文件,然后选择 **长按 - 工具 - 文件合并**,将合并后的文件命名为`MOSS.tar.gz` 1. 将合并后的`MOSS.tar.gz`文件移动至目录:`/storage/emulated/0/Documents/`(推荐路径),**不需要手动解压** (如果没有`Documents`文件夹,请手动创建) 2. 安装所需软件 - **[Termux](https://github.com/termux/termux-app/releases)** (必装) - **[Termux:API](https://github.com/termux/termux-api/releases)** (必装) - [Termux:Widget](https://github.com/termux/termux-widget/releases) (可选,用于创建桌面快捷方式) - [Autox.js](https://github.com/aiselp/AutoX/releases) (可选,实现自动回复功能) 3. 设置权限 - 给Termux授予权限,电池策略设为 **无限制** - Termux:API设置为 **允许自启动** - 若使用Termux:Widget,创建桌面快捷方式(可选) 4. 在Termux中运行以下命令: ```bash yes | termux-setup-storage && ln -sfn /sdcard/Documents ~/storage/documents && echo -n "▷ 回车继续" && read -n 1 && cd ~/storage/documents && tar -zxvf MOSS.tar.gz -C . && bash MOSS/setup.sh || exit ``` 如果出现权限提示,请同意 **授予Termux管理所有文件的权限**

# 基础用法 项目内置 **DeepSeek、硅基流动、火山引擎、月之暗面** 等AI平台,已预设一个APIkey,可直接使用对话功能 如果你有自己的APIkey,可使用指令`!api`进行设置 使用`!model`可以切换其它DeepSeek模型 > 使用`!mod`可切换其它AI模型(需要配置硅基流动APIkey) 多行输入功能开关:`!ml`,默认关闭状态,回车即发送消息。开启后,`回车=换行`,`双回车=发送` 使用`!help`可查看所有功能指令 所有指令以感叹号`!`开头,拼写必须准确,大小写敏感。使用`!cmd`打开指令列表,支持一键复制使用 部分指令需要附加参数,例如:`!name`用于修改用户名,使用方式为`!name xxx`,中间用一个 **空格** 分隔 如果使用`!name`不带参数,系统会弹出输入框供你填写参数 使用指令`!speech`可开启或关闭语音朗读 使用指令`!cfg`可查看当前的AI参数配置 每次对话的分隔线右侧数字表示本次API请求的:**消耗金额 | APIkey余额 | 输入token数 | 输出token数** > 详见[DeepSeek开放平台计费规则](https://api-docs.deepseek.com/zh-cn/quick_start/pricing/)

# AI参数设置 支持以下API参数调整 > 包括 **系统提示词、风格、上下文记忆量、最大token、思维离散度等** #### 系统提示词 指令:`!sys` 设定AI的底层角色,该设定不属于对话内容,不会被遗忘。例如: > !sys 你是一个真实的QQ群成员,说话要像真人,别用太标准的语法,平均字数不超过30。根据聊天记录10%偶尔@别人,可以主动聊天不限于回答当前用户。不要使用“啊、哈、呢”之类的语气词和状态描述 #### 风格 指令:`!style` 在系统提示词基础上追加个性化风格设定 > 示例: !style 极度粗俗 !style 字数不超过50 #### 记忆 指令:`!mem` 设定AI记忆的对话条数,如`!mem 2`表示只保留最近2次对话记录,其余将被清除 #### 温度 指令:`!temp` 控制AI输出的随机程度,值越高越随机,值越低越稳定 #### frequency_penalty 指令:`!fp` 与`!temp`类似,但通过控制前n个token的重复性来调整输出多样性,默认设为中间值,**与`!temp`只需设置其一** #### 最大token数 指令:`!token` 设定AI输出的最大token数量,影响回复长度 如果AI回复中途被截断,可尝试增大该值,例如:`!token 4096` #### 添加角色 指令:`!add xxx` 添加一个名为`xxx`的角色,之后会弹出输入框供你填写该角色的描述 或直接通过命令`!add xxx yyy`添加角色名和描述 > 示例: !add MOSS 你是流浪地球里的MOSS,请用MOSS的风格进行对话,不超过50字 #### 添加角色 方法2 若角色描述较长,不方便在终端输入 可在`Document/MOSS`目录下创建文件`prompt_xxx`,其中`xxx`为角色名,例如`prompt_猫娘` 在该文件中写入角色描述并保存即可 #### 载入角色 指令:`!role` 可载入你已添加的角色 或使用`!role xxx`直接指定角色名 > 示例: !role MOSS #### 删除角色 指令:`!del` 删除你已添加的角色 或使用`!del xxx`直接指定角色名 > 示例: !del MOSS #### 清除记忆 指令:`!res` 清除当前AI的对话历史记录,保留角色和风格设定 #### 初始化 指令:`!!res` 清除所有对话记录及角色设定,恢复到空白AI状态

# 快捷按键 在Termux界面中,音量键用于模拟`Ctrl`和`Alt`键 > **注意:在切换应用或下拉通知栏后,才能使用音量键操作** 以下为快捷键说明: - `音量加`+`q`:显示/收起快捷键面板 - `音量加`+`v`:显示/收起音量条 - `MOSS`:启动MOSS - `EXIT`:退出程序 - `EXIT`↑(上滑):强制终止程序 - `≡`:打开左侧任务栏 - `≡`↑(上滑):粘贴内容 - `⌫`:删除一个字符 - `⌫`↑(上滑):删除整行内容 - `●`:发送消息 - `●`↑(上滑):禁用/启用键盘 - `◀ ▶`:左右移动光标 - `◀ ▶`↑(上滑):将光标移动至行首/行末 - `▲ ▼`:上下翻找历史输入 - `< >`↑(上滑):切换至上一个/下一个终端窗口 - `NEW`:新建终端窗口 - `NEW`↑(上滑):重命名当前终端窗口

# 接入QQ机器人 1. 安装 [Autox.js](https://github.com/aiselp/AutoX/releases) 2. 打开Autox.js,开启以下权限:**无障碍服务**、**通知读取权限**、**前台服务**、**悬浮窗**、**后台弹出界面**、**允许通知** 3. 确保QQ等应用在锁屏状态下的消息能显示在通知栏中 4. 使用指令`!pre`设定回复前缀,默认是 **@MOSS**,只有以该前缀开头的消息才会被回复 你可以修改为其他前缀,例如:`!pre /`,表示以`/`开头的消息触发AI回复 5. 使用`!name auto`进入自动回复模式,然后运行Autox.js中的`消息自动化`脚本 `[音量减]键`用于 **暂停/恢复** 自动回复,不是退出 `[音量加]键`用于 **显示/隐藏** 日志信息 ⚠️ 如果需要重新启动自动回复脚本,请先点击悬浮窗中的 **╳按钮** 结束上一个任务,否则会导致重复运行 ⚠️ 重新运行脚本前请务必关闭上一个任务(手动结束,清理后台无效) > **手机息屏自动亮屏回复设置前提:** - 取消手机锁屏密码,亮屏后直接进入桌面 - 关闭省电模式(否则消息可能延迟) - 打开QQ的锁屏通知 - Termux和Autox.js设置为允许后台运行 - 关闭手机防误触功能(可选) #### 隐藏功能 - 使用`!app`可切换到其他应用,如QQ,不限制前后台消息 - QQ前台消息原理:读取当前界面最后一条消息,因此滚动屏幕可能会改变“最后一条” - 自己的消息不会被处理,除非以`$`开头 > `!speech`在自动回复中控制是否@用户 > `!stream`在自动回复中控制是否回复所有消息(当`!pre`未设置前缀时)

# 固定回复规则 **此功能可用于设置QQ机器人的固定回复规则** 配置文件:`固定回复.json`,编辑时请按照模板进行修改 格式如下: `"条件": ["回复内容"]` 当消息满足条件时,系统将自动回复指定内容,条件支持多种形式,请参考`固定回复.json`文件中的示例 ### 📝 固定回复系统配置指南 编辑 `固定回复.json` 文件时,**必须严格遵守 JSON 格式规范**,保存后立即生效 --- ### ⚙️ 基础规则结构 ```json { "默认阈值": 0.7, // 全局相似度阈值(0~1) "RECALL": ["recall", "撤回我"], // 撤回消息规则 "MUTE": ["mute", "禁言我"], // 禁言规则 "条件1": ["回复A"], "条件2": ["回复B", "回复C"] } ``` --- ### 🔍 匹配规则详解 #### 1. 包含关键词(优先级 0) ```json "...关键词...": ["回复内容"] ``` - **触发条件**:消息中包含关键词 - **示例**: ```json "...你好...": ["你好呀!", "欢迎~"] ``` #### 2. 开头+结尾匹配(优先级 1) ```json "开头...结尾": ["回复内容"] ``` - **触发条件**:消息以“开头”开始,以“结尾”结束 - **示例**: ```json "你是...吗": ["没错我是"] ``` #### 3. 开头或结尾匹配(优先级 2) ```json "开头...": ["回复内容"], // 以指定开头 "...结尾": ["回复内容"] // 以指定结尾 ``` - **示例**: ```json "帮我...": ["我不帮"], "...吗": ["不知道"] ``` #### 4. 相似度匹配(优先级 3) ```json "匹配句子>=0.6": ["回复内容"] ``` - **触发条件**:消息与关键词相似度 ≥ `0.6` - **灵敏度**:`p`值越小,触发条件越宽松 #### 5. 默认相似度匹配(优先级 4) ```json "关键词": ["回复内容"] ``` - **触发条件**:消息与关键词相似度 ≥ `默认阈值`(文件顶部定义) --- ### 🎲 高级功能 #### ▶ 多回复随机选择 ```json "规则": ["回复A", "回复B", "回复C"] ``` - 每次回复从列表中随机选择一条 #### ▶ 多条件并联(`|` 分隔) ```json "条件A | 条件B>=0.5 | 条件C": ["回复"] ``` - 满足任意一个条件即可触发 - **注意**:`|`两侧必须有空格 #### ▶ 多消息分段发送(`&` 分隔) ```json "规则": ["第一条 & 第二条 & 第三条"] ``` - 每条消息分段发送 - **注意**:`&`两侧必须有空格 #### ▶ 固定回复与AI回复结合 ```json "规则": ["固定内容+"] // 先发固定内容,再追加AI回复 "规则": ["+固定内容"] // 先发AI回复,再追加固定内容 ``` --- ### 🔧 动态变量替换 在回复中使用占位符自动填充信息: ```json "规则": ["@{user} 现在是 {time}\n我是{role},你的消息是:{msg}"] ``` | 变量 | 说明 | |-----------|-----------------------| | `{user}` | 对方昵称 | | `{time}` | 当前时间 | | `{role}` | AI角色名 | | `{pre}` | 当前回复前缀 | | `{msg}` | 用户发送的原始消息 | | `{rnd}` | 生成1~100之间的随机数 | | `{ai}` | AI实际生成的回复内容 | --- ### ⚡ 特殊指令 #### ▶ 触发系统指令(以`!`开头) ```json "条件A": ["!recall {msg}"] // 撤回用户消息 "条件B": ["!help"] // 触发帮助指令 ``` #### ▶ 执行Python代码(`$...$`包裹) ```json "$'计算' in text and title=='UEG'$": ["$eva(prompt.split('计算', 1)[-1].strip())$"] ``` - 条件用`$...$`包裹时,系统执行Python表达式判断是否满足条件 - 回复内容用`$...$`包裹时,系统返回Python代码的执行结果 - **可用变量**: `title`(群名)、`user`(用户名)、`text`(内容)、`_msg`(带前缀的原始内容) --- ### ❗ 格式规范 1. 严格遵循 JSON 格式: ```json "规则": [ "回复A", // 非最后一行需加逗号 "回复B", "回复C" // 最后一行不加逗号 ], // 非最后一个规则需加逗号 "最后规则": ["回复"] // 文件末尾不加逗号 ``` 2. 错误示例: ```json // 错误1:缺少逗号 "规则": [ "A" "B" ] // 错误2:多余逗号 "规则": ["A",] ``` --- ### 💡 示例文件片段 ```json { "默认阈值": 0.65, "RECALL": ["撤回", "收回"], "...你好...": ["你好!", "嗨~"], "打开...关闭": ["已开关设备"], "计算$...$": ["结果:$eval(text)$"], "帮助>=0.6": ["!help & 已发送帮助文档+"], "现在几点": ["{user},现在是 {time}"] } ``` 完整示例请参考项目中的`固定回复.json`文件