Releases: topabomb/rikkahub_mcp
Releases · topabomb/rikkahub_mcp
Release list
MeasixPilot 0.0.17
0.0.17(versionCode 17)— 2026-08-17
新增
assistant_call可附带最多 4 个任务相关附件;第一阶段支持图片。主助手只决定传哪些,Runtime 按 Target 本次模型选择原图或 visual observation- 会话图片会盖上稳定
attachment:<uuid>句柄,模型可在工具参数里引用;外部 HTTPS 图先落地再注入 Child - 子助手可按配置调用
generate_image;主卡片用轻量引用显示交付物,Caller 默认只拿文本和artifacts[],点名extras=["artifacts"]后才按 Caller 能力拿到原图或 visual observation
变更
assistant_call进入 Coordinator 前的参数错误改为与终态一致的status+reason信封- Target 不再永久过滤
generate_image;未开启TextToImage或没有有效默认图片模型时仍不注册 - Target 非交互下需审批工具自动拒绝的返回统一为
tool_not_permitted+approval_unavailable+message:语义为「需要审批但当前运行环境无法提供审批,不要原样重试」;只拒绝当前 ToolCall,不终止整个 Run。ask_user仍走交互桥接,与审批错误协议无关
MeasixPilot 0.0.16
0.0.16(versionCode 16)— 2026-08-13 ~ 2026-08-17
新增
- 聊天可按需开启
generate_image,用全局默认图片模型出图;用户明确要求并审批后,可把独立副本设为当前会话助手背景 - 设置页补齐默认文生图模型;页面与工具共用队列和 Gallery。Gallery、聊天图、背景各存一份
- 文件管理增加「文生图」Tab
- 图片查看器:聊天可按会话时间线左右翻页看图;文生图结果、图库和文件管理同样支持组内翻页。支持点按关闭、上下拖关闭和页码
- 查看器可查看图片信息,并把图片设为助手背景。聊天用于当前助手;其他入口先选助手,确认后再写入
- 删除文件或生成图时会先确认,并说明会影响哪些位置
变更
- 开启背景图或渐变后,聊天页 chrome 卡片(思考过程、气泡、子助手卡等)按
ChatSurfacePolicy略微透明,让背景透出;代码、表格、公式和媒体产物保持不透明 - Target 看不到该工具;没有有效默认图片模型时也不注册
- 模型只看到
/upload/<file>;chat copy 缺失时标为artifact_missing - 子助手失败分为政策拒绝、Provider 错误和运行时错误,不回显政策检查类型
ask_user与普通工具审批共用同一套音效- 文生图一次结果最多展示 4 张
- 文件管理中的图片可点开浏览,非图片仍不可点
- 文生图工具详情可复制提示词,调用详情与其他工具一致
修复
- 文生图编辑走共享队列;取消背景更新不再被改写成普通失败
- 清空 Upload 会提示同时删掉聊天副本和助手背景
- 查看器保存提示改为各语言本地化
- 图库删除失败也会弹出错误
- 文生图调用失败不再一律
provider_error:按政策拒绝、限流、额度、鉴权、权限、非法请求、服务不可用等分类,并带回脱敏裁剪后的detail
MeasixPilot 0.0.15
0.0.15(versionCode 15)— 2026-08-11 ~ 2026-08-13
新增
- 子助手同步委托:
assistant_manage、assistant_inspect、assistant_call。主助手按 Catalog 与授权把任务交给 Target,Target 在独立 Child 会话中工作。assistant_inspect按需查看人设、工具名、技能和局部记忆;assistant_call默认回传tts_stats,完整tts/tool_calls由extras按需返回,runtime_error另带回裁剪后的detail。assistant_manage的 CREATE 不审批,UPDATE/DELETE 必须审批;管理结果只回action与id - 可恢复执行与交互:Room v4 持久化 Child / run / 交互;支持启动恢复、Fork、孤儿清理和 durable 删除;主聊天有调用卡片、
ask_user与只读详情 - 通用生成原语:
messageId + toolOrdinallocator、phase/checkpoint/finished、动态工具集、非交互审批 - 模型与搜索:注册 qwen-3.8-max、mimo v3、Claude 5、muse;搜索为关 / 本地 / 模型内置
修复
- ask_user 与卡片:非法参数在审批门口拒绝;回答只在服务端收下后锁定;交互与 step 上限分开;Child 未写入时详情不再误判不可用
- 启动恢复:恢复完成前禁止会话写入;中断收口时 Child 超时不丢掉 Master 终态;扫描只加载顶层会话和被引用的 Child
- 协议与工具 Schema:Claude / DeepSeek reasoning 按端点映射;MCP 保留
$defs/$ref/$schema;结构化工具结果可免截断 - 隔离与一致性:
conversation_search不含 Child;lineage 按当前选中分支;Settings 写入成功后才发布;Memory 执行前重验 owner - TTS 与定位:Master/Target 共用 turn 播放队列;工具审批不再依赖可能为空的 Provider
toolCallId - 更新与发行:下载错误完成本地化;正式 Release 强制签名校验
变更
- Target 显式模型优先,未绑定则调用期继承 Caller;禁止再委托;撤权按快照 ∩ 当前配置
- 工具参数为完整 JSON Schema;ChatService 经
GenerationToolSetFactory装配
文档与测试
- 新增 子助手架构与执行流程参考 和 提示词、上下文注入与工具描述
- 补充子助手、恢复、Memory/TTS、Room 与 Provider reasoning 回归测试
- 第 11 批上游同步记录见 upstream-sync.md
MeasixPilot 0.0.14
0.0.14(versionCode 14)— 2026-08-10 ~ 2026-08-11
新增
- 聊天主界面自适应:窗口宽度 ≥600dp 且高度 ≥480dp 时显示“会话列表 + 聊天详情”双栏;普通窄屏和矮横屏保持单栏抽屉。竖向折叠屏按 WindowManager 提供的真实铰链坐标分区,Tabletop 且有有效横向铰链时将聊天限制在上半屏
- 自适应临时弹层:普通窄屏使用
ModalBottomSheet,宽屏使用限宽居中Dialog;竖向铰链下限制在聊天详情侧,Tabletop 且有有效横向铰链时限制在上半屏 - 矮屏紧凑输入:聊天可用高度低于 480dp 时改用单行紧凑输入,功能项保持完整
修复
- 会话助手一致性:聊天标题、背景、模型能力、搜索、推理、快捷消息和文件能力统一以
conversation.assistantId为准;仅在原助手已删除时回退当前全局助手 - 更新检查生命周期:
UpdateChecker在 AppScope 内共享一个首次订阅才启动、启动后不重启的StateFlow,同一进程最多请求一次;忽略的成功版本持久化到 DataStore,失败提示的关闭状态在当前进程内共享 - 宽屏弹层交互:改用独立 scrim 与内容层,避免底部按钮或输入框被误判为外部点击;补充内容区、底部操作区和外部点击回归测试
- 非聊天页面回归:设置文件页和图片生成页恢复固定双列,其他设置与管理页面继续使用原有全屏导航;同时恢复关于页 emoji 并修正受影响源码的 UTF-8 文本
- 聊天界面可读性:收紧会话栏间距,调整标题层级、头像尺寸和消息区留白,修复 AMOLED 模式下选中会话对比度,并增强工具授权操作的视觉区分
- 质量门禁:移除模块级 Lint 全局忽略配置;补充自适应策略、会话助手切换和更新检查测试
变更
- 适配职责收敛:自适应双栏只作用于聊天主界面;设置、历史、统计等页面维持全屏逐页导航。根节点仅负责提供统一的
LocalAdaptiveLayoutInfo - 弹层状态约定:Dialog 路径不组合 BottomSheet;调用方以自身可见状态为准,不读取
sheetState判断 Dialog 是否显示
MeasixPilot 0.0.11
0.0.11(versionCode 11)— 2026-07-18 ~ 2026-07-29
新增
- 极简白和 Claude 主题:新增 Minimal(纯白底 + 中性灰层级 + 低饱和蓝强调色)和 Claude(象牙白暖底 + 赤陶橙强调色)两个预设主题,主题选择器由横向滚动改为 FlowRow 四列网格布局
- SAF 支持复制/移动文件到 workspace:Root 加上
FLAG_SUPPORTS_CREATE,实现copyDocument/moveDocument,文件管理器可将 workspace 作为粘贴/保存目标 - Mermaid 内置离线加载:将 mermaid 11.16.0 的 JS(3.5MB)打包进 assets,通过
WebViewLocalAssets拦截虚拟域名measix.local/assets/**映射到 assets 目录,内嵌 WebView 与全屏预览页共用同一 baseUrl,首次渲染不再依赖 CDN - 新会话就绪引导:未配置可用对话模型时,在“配置本次会话”前展示与设置页复用的紧凑阻断卡片;配置卡使用主题常规表面色,仅对话模型行使用警告图标和状态标签。MCP、记忆、本地能力和本地工作区保持可选,状态文案压缩为短标签;模型项复用输入框底部的选择面板,其余项进入对应配置入口。标题行支持点击头像+助手名切换当前会话助手,右侧按钮跳转助手设置页。已有消息的会话仅在模型不可用时显示对应提示
- 会话就绪回归测试:覆盖未配置、未选择、Provider 全禁用、仅有非对话模型、MCP 未配置/全禁用/已选择和工作区绑定状态
- 上下文管理双层策略:Assistant 可显式开启请求级阶梯裁剪,默认关闭,开启后默认 80 条、范围 40~512;裁剪锚点按完整 USER 轮次分段移动,减少相邻请求的提示缓存前缀漂移且不改写会话。用户触发的语义压缩继续负责用摘要替换较早历史
- 本地生成链路参考文档:基于上游有价值的生成管线文档,按 Measix Pilot 的通知解耦、Workspace、MCP、工具集合及上下文策略重写,并新增上下文管理决策文档
- 版本检查与自动更新参考文档:调研本项目与上游 RikkaHub 的版本检查机制(架构、网络交互、SemVer 比较、UI 交互流程、Play Store 安装来源检测),输出
docs/references/update-mechanism.md
修复
- 消息模板时间破坏 prompt 缓存:
TemplateTransformer改为取UIMessage.createdAt而非Instant.now(),历史消息的time/date变量在每轮请求中保持稳定 - Response API 内置工具覆盖自定义函数工具:
buildRequestBody中两次putJsonArray("tools")互相覆盖,改为合并到同一个 key 下 - 图片裁剪失败静默忽略:UCrop 返回
RESULT_ERROR时弹出错误 toast 并记录日志 - 月之暗面 K2.6 保留式思考:思考开启时发送
thinking.keep=all,K2.5 不支持 keep 参数不发送 - cached tokens 按 provider 方言兜底解析:OpenAI 嵌套 → Moonshot 顶层
cached_tokens→ DeepSeekprompt_cache_hit_tokens - Kimi K3 裸 id 适配:补充
KIMI_K3_ALIAS匹配不带 kimi 前缀的裸模型 id "k3" - 图标匹配 k3 模型 id:
PATTERN_KIMI正则增加k3匹配 - 本地备份继承 WebDAV items 过滤:
exportToFile/restoreFromLocalFile强制使用BackupItem.entries包含所有项 - Skills 从 metadata 目录解析:
createSkillTools移除SkillManager依赖,改用SkillFrontmatterParser和SkillPaths直接操作SkillMetadata - 工作区 bind mount 文件读取:
workspace_read_file统一通过WorkspaceManager解析
/workspace、/skills、/upload与 rootfs 内部路径;PRoot 和文件工具共享同一挂载表,
并为文本/图片读取统一保留 8 MiB 限制 - TTS 下拉菜单小屏崩溃:Provider、OpenAI voice、MiMo model/voice 改用有高度上限的
SelectTextField,避免输入法弹出时ExposedDropdownMenuPositionProvider范围非法 - MCP 导入冲突提示格式:五语言字符串改用位置参数
%1$d/%2$s,消除 Android
资源编译的多参数格式警告并确保参数顺序可本地化 - 无签名环境无法构建 Release:仅在
local.properties的四项签名信息完整时创建并
绑定 release signingConfig;普通开发环境可生成 unsigned release,正式签名配置行为不变 - Fork 后 Compose 稳定性配置仍引用旧包名:
Conversation、MessageNode改为当前
net.weero.measix.pilot包名,并清除 release baseline profile 中已删除的limitContext规则 - 长按发送绕过模型校验:普通发送与长按发送共用同一模型前置条件和本地化错误提示;生成服务也统一拒绝禁用 Provider 中的模型
- Bing 忽略结果数量设置:抓取结果统一遵守
SearchCommonOptions.resultSize - Room v1→v2 迁移使用错误表名:
Migration_1_2改为迁移 v1 schema 中真实存在的
ConversationEntity表;迁移测试同步适配当前 SQLite API,并在模拟器上验证旧会话数据保留及
tags默认值 - 仪器测试配置漂移:为
highlight、material3、search补齐 AndroidX Test 依赖;
speech样板测试的包路径与期望 packageName 对齐当前me.rerere.speechnamespace - 上下文压缩拆散对话轮次:保留最近消息和 256 条分块的切点统一回退到 USER 边界,避免摘要输入或保留历史从孤立的助手/工具回复开始;压缩提示明确摘要会替换旧历史且不可撤销
- 本地能力说明误含语音识别:会话配置卡改为列举语音播报、剪贴板和屏幕使用时间,和实际 Local Tools 注册表一致
- 工作区 proot Android 14+ 兼容性:移除误加的
PROOT_NO_SECCOMP=1(恢复 seccomp 过滤器,修复mkdir/cd返回 ENOSYS);附加-k 4.14.0内核伪装、PWD回退、移除冗余cd和bash -l。详见docs/references/workspace-architecture.md - 空会话切换助手无效:
moveConversationToAssistant对未持久化的空会话 DB 查询返回 null 后直接退出;改为使用内存状态 fallback。saveConversation对空会话跳过内存状态更新,改为始终更新内存状态、仅跳过 DB 持久化 - 助手头像点击无响应:
UIAvatar在没有自身操作时仍拦截父级点击,导致配置会话标题和助手列表中的头像成为无响应区域;改为仅在编辑或显式点击时消费事件,头像与助手名称现在触发同一切换操作 - 切换助手覆盖会话状态:活动会话改以内存状态为准,避免数据库旧快照覆盖尚未落库的更新;重复选择当前助手按无操作处理,不再意外清空会话文件夹归属
- Grok 生图 size 参数 400:
generateImage检测 Grok(x.ai baseUrl 或 grok modelId)时跳过size参数 - 删除会话未等待即跳转:
deleteConversation返回Job,抽屉onDelete等待删除完成后再刷新列表和导航 - 切换助手后新对话归属旧助手:
updateSettings返回Job,AssistantPicker等待持久化完成后再创建新会话 - cur_time/cur_datetime 占位符破坏提示词缓存:移除这两个每次请求都变化的占位符,默认提示词改用
{{cur_date}};已配置旧占位符的用户自动降级为日期值 - battery_level 占位符破坏提示词缓存:移除该每请求必变占位符,无需兼容(默认提示词未使用)
- Workspace cwd 注入破坏 System 消息缓存前缀:移除 workspace 引导中的 cwd 行,模型执行 cd 的结果已记录在对话历史中,System 消息不再随目录切换而变化
变更
- 许可证变更为纯 AGPL-3.0:上游 RikkaHub 将许可证从"分段双重许可(Segmented Dual Licensing)"改为纯 AGPL-3.0,移除了商业用途限制和用户数量门槛。本地 LICENSE 文件已同步更新为 GNU 官方 AGPL-3.0 全文
- 上下文限制改为阶梯式裁剪:先移除会逐轮移动并破坏提示缓存的旧
contextMessageSize,再以新字段contextMessageLimit适配引入上游2d61ba9。本地没有照搬上游边界和参数:完整轮次对齐、显式开关、异常值归一化,并明确消息条数不是 token/window 上限;旧字段仍由JsonInstant.ignoreUnknownKeys安全忽略 - SkillFrontmatterParser 抽离为独立文件:从
SkillManager.kt抽离到独立的SkillFrontmatterParser.kt - 移除 Custom JS 搜索:删除任意脚本搜索运行时、配置 UI、资源和 search 模块 QuickJS 依赖;旧
custom_js落盘项通过宽容解码安全跳过,若无其他 provider 则回退到默认 Bing - 搜索模块职责收敛:
search只负责 provider 配置、schema 和网络执行;说明文案迁移至 app UI;新增显式SearchProviderType工厂,移除 Compose 依赖和反射创建 - 抽屉助手入口重构:当前助手区域改为独立选择器,头像、“当前助手”标签、名称和下拉箭头共同构成切换入口;右侧独立编辑按钮管理当前助手,下方助手设置继续负责全局管理,避免切换与管理语义混杂
- 阶段复核制度化:首份九批复核改名为 phase-1-review-2026-07-28.md,并在 upstream-sync.md 中明确阶段复核的目标、价值、命名和冻结规则
- 依赖升级:material3 1.5.0-alpha23 → 1.5.0-alpha24;kotlin 2.4.0 → 2.4.10;ksp 2.3.4 → 2.3.10;sonner 0.3.9 → 0.4.0
- 配置卡片标题行与文案优化:标题从纯文本"配置此会话"改为"为 [头像][高亮助手名] 配置此会话"左右布局,右侧设置按钮与抽屉风格一致;MCP/本地能力状态文案从"已启用n项"简化为"启用n项";五语言适配前后缀拆分
- 默认系统提示词抽离常量:将默认助手系统提示词从
PreferencesStore硬编码抽离为Assistant.kt中的DEFAULT_SYSTEM_PROMPT常量,新建助手时自动填入 - CI 自动化发行:
release.yml从仅手动触发 + Artifact 下载改为 tag 驱动(push: tags: v*.*.*)自动发布 GitHub Releases;新增permissions: contents: write权限收敛、changelog 自动提取、签名文件清理;.gitignore补全*.jks/*.keystore/*.key/app/app.key/app/google-services.json;修复 submodule 未 checkout(submodules: recursive)和版本号 grep 匹配到RenameApkTask属性的问题;更新material-color-utilitiessubmodule 到上游最新可用 commit;docs/references/update-mechanism.md新增 Submodule 注意事项、Secrets 配置和正式发版操作流程章节
上游同步
- 同步 rikkahub 上游
8eebe950..2d61ba95(2026-07-18 ~ 2026-07-28)的 22 个提交(19 个同步 + 3 个按 Fork 边界跳过),详见docs/dev/upstream-sync.md第九批检查记录 - 完整审查:补齐 bind mount 与 TTS 两个 P0,恢复上游五组回归测试并增加 K3 边界测试;修复 Crop 文案本地化、K3 图标误匹配、BOM、WebView 虚拟域名/遗漏文件及同步台账范围连续性
- 阶段复核:九批范围
5b9be301..2d61ba95共 131 个上游提交连续闭合,无间隙、无重复;修正首批失效哈希、第六/七批检查点重叠和各批数量口径,详见 阶段 1 复核