Skip to content

Latest commit

 

History

1,069 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClipHub

ClipHub 是运行在 Android / ShortX 上的全局剪贴板悬浮工具,使用 Rhino ES5 和 Android SDK 原生 View 构建,不依赖 WebView。

当前正式版提供剪贴板历史、搜索筛选、标签与排序、分页、编辑、百度/有道/Google 翻译、普通分词与正则精确分词,并通过单 Primary Window 页面栈统一系统 Back、侧滑返回、Predictive Back 与 IME First Back。

当前正式基线

项目 当前值
正式分支 main
模块集版本 20260819.08
入口最低版本 8
Manifest Schema 2
运行模块数量 20
主数据库 Schema 2
正则筛选 Feature Schema 1
控制端点 Schema 3
生产资源数量 0

模块集合、Export、SHA、runtimeRole 和生命周期以根目录 module-manifest.json 为唯一机器可读事实源。

20260819.08 更新重点

分词与正则规则

  • 首页长按剪贴板词条或从编辑页进入分词页面;
  • 支持普通分词和正则精确分词;
  • 词块支持点击、拖动、长按选择,并可复制、输入或编辑;
  • 长 URL、长邮箱和连续长文本按内容自适应高度并完整换行;
  • 正则模式完整保留命中和未命中文本,成功结果必须 100% 还原原文;
  • 支持独立的分词规则管理、预制规则覆盖和临时正则最高优先级;
  • 高级筛选正则规则与分词规则独立存储。

翻译

  • 翻译模式支持百度、有道和 Google;
  • Google 模式通过 Android Intent 发送完整文本;
  • Google 翻译成功启动后自动隐藏 ClipHub UI;
  • 未安装、空文本或 Intent 启动失败时保留 ClipHub 并显示提示。

导航与稳定性

  • 新增 PageRegistryPageStackNavigatorBackDispatcherUIShell
  • 统一 Toolbar Back、页面返回、系统 Back、侧滑、Legacy Back 和 Predictive Back;
  • IME 页面第一次 Back 只隐藏输入法,第二次 Back 才返回上一页;
  • 修复词块编辑页跨层返回,以及回首页后无法再次长按进入分词的问题;
  • 增加 VisibilityIntentGuard,避免旧页面、延迟回调和重复 hook 在隐藏后重新 attach。

完整说明:

主要功能

剪贴板管理

  • 全局监听和保存剪贴板历史;
  • 置顶、编辑、新增、删除、拖动排序和标签管理;
  • 搜索、来源/类型/标签筛选、敏感内容筛选和正则高级筛选;
  • AJAX 追加、数字分页、懒加载、预加载和虚拟数据窗口;
  • 首页长正文可只读取预览,最终操作按需获取完整正文。

文本分词

  • 普通分词适合快速选择中文、英文单词、数字和符号;
  • 正则精确分词只按当前启用规则和临时正则的最终匹配区间切割;
  • 所有未命中内容连续保留,不调用普通分词器,不丢弃空白;
  • 重叠区间按“优先级 → 更长匹配 → 规则稳定顺序”裁决;
  • 临时正则固定最高优先级;
  • 无效正则和零宽匹配显示非阻断警告;超限或还原失败整次阻断。

页面与窗口

  • Primary Window 单窗口页面宿主;
  • 声明式 Page Contract 和统一 Page Registry;
  • 系统 Back、侧滑、Predictive Back、Toolbar Back 与 IME First Back;
  • 悬浮窗位置、尺寸、主题、输入法避让和安全关闭;
  • 隐藏 UI 不停止剪贴板监听、数据库和后台实例。

正则精确分词规则

  1. 当前已勾选的分词规则和临时正则共同参与;
  2. 临时正则固定最高优先级;
  3. 每次命中使用完整匹配区间;
  4. 所有命中内容独立成块,所有未命中内容按原文位置连续保留;
  5. 非空文本无命中时,整段原文作为一个未命中词块;
  6. 空格、换行和制表符显示可见占位符,但复制和输入保留真实字符;
  7. 成功结果必须逐字符还原原文,否则清空结果并显示阻断错误。

正式入口

用途 文件
后台入口 ClipHub.js
全局剪贴板开关 tasks/ClipHub_全局剪贴板开关.js
模块清单 module-manifest.json

正式用户不需要独立“打开”或“状态查询”任务。状态由后台控制端点内部提供,用户入口保持单一开关。

数据与兼容边界

  • 主数据库 Schema 保持为 2,不因当前 UI/分词更新清空现有剪贴板、标签和分页数据;
  • 高级筛选正则规则使用独立 regex_rules 功能表;
  • 分词规则保存在独立规则状态中,不写入剪贴板主表;
  • 保持 Rhino ES5:运行模块不使用 letconst、箭头函数、class 或模板字符串;
  • Google 模式要求设备存在可处理对应文本 Intent 的 Google 翻译;
  • Predictive Back 真机可用性取决于 Android 与 ShortX 宿主能力,不可用时继续使用兼容 Back 链。

架构与开发约束

  • 页面定义唯一来源:PageRegistry
  • 页面历史唯一来源:PageStack
  • 业务导航唯一入口:Navigator
  • Back 决策唯一入口:BackDispatcher
  • 新增普通页面只注册 factory、parent 和 PageContract,不修改导航核心;
  • 模块 export、运行角色和生命周期顺序以 Manifest Schema 2 为准;
  • ColorOS/Rhino 颜色调用必须经过 Theme 安全桥。

当前规范:

自动化验证

正式发布预检:

bash scripts/release_preflight.sh --main

发布门禁覆盖 Rhino ES5、Manifest contract、ColorOS 颜色安全、Navigation、Tokenizer、Translation 等回归。自动化结果不替代 Android 14 / ColorOS / ShortX 真机验证。

历史资料

阶段实施文档、分页 Stage、Probe 结果、旧 UI 收口记录、旧版本说明和一次性诊断资产不再放在当前 docs/ 根目录,统一保存在 archive/

历史文档只用于追溯,不作为新开发默认事实源。

About

Android 全局悬浮剪贴板管理器,基于 ShortX 与 Rhino ES5

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages