个人 GitHub 油猴脚本:中文化 + 时间中文化 + 高速下载 + 文件列表美化 + 文件/文件夹体量与数量 + Release 增强 + 代码搜索增强。
仓库地址:https://github.com/Sam404s/sam-gitHub-assistant
- GitHub 中文化:页面文案本地化,可在菜单中开关
- 时间中文化:把 GitHub 的相对时间改写成中文绝对时间,支持「绝对+相对 / 仅绝对 / 仅相对 / 关闭」四档与自定义 IANA 时区
- 代码搜索增强:
/search?type=code结果行显示仓库 Star、文件最后更新与仓库最后更新,可按三个维度排序、恢复默认,并可跨页扫描汇总 - 镜像加速:Clone / Raw / Release / ZIP 直接显示多个高速节点,点击即用;7 个节点内置于脚本,启动即自动测速并按可用性排序
- 仓库信息:仓库体积徽章、文件与文件夹大小、递归文件数量、活跃 Forks 入口
- 文件列表美化:文件夹强调、按扩展名稳定配色、图片缩略图与紧凑元数据徽章
- Release 增强:下载次数、上传者信息、高速下载链接;sha256 摘要折叠为一个复制按钮,完整哈希收在按钮的悬浮提示里
- 快捷操作:复制仓库路径、一键常用仓库链接
- 多语言 README:同页切换多语言 README 内容
-
安装 Tampermonkey(或兼容的用户脚本管理器)
-
点击下方安装链接,或打开脚本源码后安装:
-
打开任意
https://github.com/*页面即可生效
脚本已配置自动更新地址:
https://raw.githubusercontent.com/Sam404s/sam-gitHub-assistant/main/sam-gitHub-assistant.js
Tampermonkey 会按 @updateURL / @downloadURL 检查更新。
脚本无需面板,所有开关都在 Tampermonkey 的脚本菜单里;下载入口的加速按钮直接贴在 GitHub 原生按钮旁,点击即用。
| 操作 | 说明 |
|---|---|
| 中文化开关 | 脚本菜单:Sam GitHub Assistant: enable/disable Chinese localization |
| 复制当前仓库 | 脚本菜单:Sam GitHub Assistant: 复制当前仓库 |
| 切换时间显示 | 脚本菜单:时间中文化 · 绝对+相对 / 仅绝对 / 仅相对 / 关闭,并可设置 IANA 时区。中文时间会采样原生时间元素的字号与字色,排版与 GitHub 原样一致 |
| 代码搜索增强 | 脚本菜单:enable/disable code search star/date enhancement;排序按钮与扫描按钮在搜索结果列表上方 |
| 设置 API Token | 脚本菜单:设置 GitHub API Token,配置后 API 配额从 60 次/小时提升到 5000 次/小时 |
| 排查汉化漏词 | 脚本菜单:未命中词条收集 + 导出未命中词条到控制台 |
在仓库页、Release 页、代码页等位置会自动注入:
- 多节点高速 Clone / ZIP 直达入口,以及独立 SSH-443 克隆命令
- Raw / Release 资源的多节点直达下载与 GitHub 原链接
- 文件/文件夹大小、递归文件数量与 Release 资源大小
- 文件类型配色、文件夹强调与图片缩略图
在代码搜索页(/search?type=code)额外注入:
- 每条结果的 ⭐ Star 数、📄 文件最后更新、🕒 仓库最后更新
- 按 Star / 文件更新 / 仓库更新排序,再次点击切换升降序,「↺ 恢复默认」还原
- 「📊 扫描前 N 页汇总」:抓取前 N 页搜索结果并去重汇总,在浮层面板内排序,点击直达对应文件行(默认 3 页,可配 1–20 页)
| 权限 | 用途 |
|---|---|
GM_getValue / GM_setValue |
保存折叠状态、镜像测速缓存、中文化开关、API Token、时间模式、代码搜索缓存等 |
GM_registerMenuCommand |
注册 Tampermonkey 菜单项 |
GM_setClipboard |
复制仓库路径、Clone 命令、Release 校验和等 |
GM_xmlhttpRequest |
请求 GitHub API、镜像节点测速,以及跨页扫描时抓取搜索结果 HTML |
@connect 为通用 *(用于 api.github.com 请求、7 个内置镜像节点的测速与资源请求,以及搜索页抓取)。
代码搜索增强与跨页扫描需要调用 api.github.com,匿名请求只有 60 次/小时,很容易触发限流。通过菜单配置一个仅含 public_repo 权限的 Personal Access Token 后:
- 配额提升到 5000 次/小时
- 触发限流时的退避时间按比例缩短
Token 只保存在 Tampermonkey 本地存储,且只会附加到 api.github.com 的请求上,不会发送给镜像站点等第三方域名。菜单可随时查看(掩码显示)或清除。
本地文件:
sam-gitHub-assistant.js
发布新版本时:
- 修改脚本逻辑
- 提升
@version(例如1.1.0→1.2.0) - 提交并推送到
main - 用户端 Tampermonkey 会通过
@updateURL自动拉取更新
当前版本:1.2.0
-
新增功能:
- 时间中文化:接管
relative-time/local-time/time[datetime],输出「2026年9月30日 10:40(6天前)」式中文时间;提供 abs+rel / abs / rel / off 四档模式与自定义 IANA 时区,相对时间每 30 秒重算,关闭中文化时自动还原 GitHub 原样 - 代码搜索增强:
/search?type=code结果行注入 Star 数与文件/仓库最后更新时间,数据到达即渲染;支持按 Star / 文件更新 / 仓库更新排序、二次点击切换升降序、恢复默认排序 - 代码搜索跨页扫描汇总:抓取前 1–20 页搜索结果并按「仓库 + 文件 + 行号」去重,面板内展示每页命中数、唯一文件/仓库数与所属页码,支持三种排序,点击行直达对应文件行区间
- GitHub API Token:可选配置 PAT,配额 60 → 5000 次/小时,限流退避同步缩短;Token 仅注入
api.github.com - 汉化未命中词条收集:可在菜单开关收集未能翻译的原文,并一键导出到控制台,便于补词
- 时间中文化:接管
-
修复:
- 修复仓库页上下文解析失效:v1.1.0 的输入校验依赖
instanceof URL,而浏览器里window.location是Location而非URL实例,导致getRepoContext恒返回null——助手面板、文件列表美化、高速下载、Release 增强等依赖上下文的增强在真实浏览器中整体不生效。现改为统一按href取值,同时保留非法输入的告警与拒绝 - 修复
/search等非仓库页面未注入样式导致新增强元件无样式的问题(injectStyle提前到面板渲染判断之前) - 修复时间中文化比原生更「重」:旁挂 span 原本只用 CSS
color: inherit; font: inherit,而 GitHub 常把弱化字色与字号直接写在relative-time元素自身(如color-fg-muted、fz-12),子元素inherit拿到的是父级的值,于是中文时间比周围原生时间更粗更重。现改为隐藏宿主前先用getComputedStyle采样其字色 / 字号 / 行高 / 字距 / 数字字形等并贴为内联样式;主题切换与每 30 秒刷新时重新采样,避免写死明暗主题下的颜色 - 修复时间中文化出现得晚:首轮扫描原本延迟 400ms 且用 debounce 调度,而 GitHub 是 React 应用、DOM 变更持续不断,定时器被反复重置,首轮中文时间会被无限推迟。现改为安装时同步扫描一次,后续按 DOM 变更节流(120ms 起步,持续变更时逐步退避到 2s),且只有在上轮扫描后确有变更时才继续排下一轮,安静页面不残留轮询
- 修复仓库页上下文解析失效:v1.1.0 的输入校验依赖
-
优化:
- 移除镜像加速悬浮窗与助手面板:7 个加速节点(
github.dpik.top、ghproxy.net、cdn.gh-proxy.com、down.mxw.xx.kg、github.mxw.qzz.io、gh.idayer.com、github.chenc.dev)内置于脚本,启动即自动测速排序,不再依赖外部节点列表站点,也不再向 GitHub 页面注入悬浮面板 - 修复 Release 列表未注入加速按钮:原先要求资产行存在
<details>/Box-footer才动手,而 GitHub 现行 Release 资产列表没有这些节点,导致加速按钮整体缺失。现只要求资产名链接位于li.Box-row内,并在其包裹容器上挂载工具条 - 修复 Release 列表 sha256 占满整行:原本直接展示 64 位完整哈希,把加速按钮挤成两行且按钮被压扁。现折叠为
sha256短标签按钮,完整哈希收在dataset与悬浮提示中,点击即复制;原生摘要与原生复制入口一并隐藏,避免一行出现两个复制按钮 - 修复 Release 工具条挤压:工具条由
max-width:300px+ 禁止换行改为max-width:100%+ 允许换行,按钮最大宽度 66px → 108px,窄屏下自然折行而不压扁 - 修复搜索栏点击后出现遮罩锁死交互:脚本会把顶部搜索框的
placeholder写成中文,而 GitHub 的 React / QueryBuilder 在聚焦与输入时会回写原值;观察器若跟随重写就会形成「我们写 → 框架回写 → 再触发我们」的属性死循环,主线程被打满,表现为遮罩可见但整页无法操作。现从观察属性清单中移除placeholder/value、同一元素属性只本地化一次、目标值与当前值相同时不再写入,并把搜索交互态判定从每节点一次提升为每批一次 - 代码搜索数据统一复用既有的
requestJson+ API 退避通道,仓库 Star 与文件提交日期各带 6 小时缓存,失败请求 60 秒内不重试 - 页内注入元件(搜索徽章、排序条)改用 Primer 变量,自动适配 GitHub 明暗主题
- 搜索结果重排与增强扫描加防抖/节流,避免与自身的 MutationObserver 形成回环
- 菜单按功能分组(中文化与时间 / 代码搜索 / Token),移除面板开关
- 移除镜像加速悬浮窗与助手面板:7 个加速节点(
-
功能改进:
- 高速下载控件恢复为 GitHub 原生内嵌布局:高速下载使用绿色、GitHub 原链接使用琥珀色、大小/数量使用蓝色
- 融合文件列表美化:文件夹强调、扩展名稳定配色、图片文件按需缩略图,且仅作用于仓库目录列表
- 单次 Git Tree API 数据同时显示普通文件大小、文件夹递归大小和递归文件数量;截断响应会明确提示结果可能不完整
- 修复搜索栏挂载竞态:从指针、焦点和
/、Ctrl/Cmd+K快捷键触发起暂停本地化与增强扫描,搜索关闭后自动恢复
-
安全增强:
- 添加 HTML 消毒处理,防止多语言 README 切换时的 XSS 攻击
- 减少全局 API 暴露面,仅保留必要的公共函数
- 冻结全局 API 对象,防止外部修改
- 为
getRepoContext函数添加输入验证
-
代码质量改进:
- 提取魔法数字为命名常量(延迟、批处理大小、限制值等)
- 改进错误处理,添加上下文日志而非空 catch 块
- 改进 URL 解析函数的错误处理
- 修复语法错误
- 进一步修复 GitHub 首页全局搜索栏偶发消失的问题
- 完整忽略
#search-suggestions-dialog、qbsearch-input.*、query-builder-container等搜索触发器与弹窗外壳 - 搜索弹窗打开期间暂停本地化队列,并清理已排队的 DOM 翻译任务
- 修复首页点击搜索后搜索框立即消失的问题
- 本地化忽略 GitHub QueryBuilder / 顶部搜索区,避免改写 React 控制的搜索 DOM
搜索框点开后消失?
1.1.0 已从搜索交互开始到弹层关闭全程保护 GitHub QueryBuilder。请确认脚本已更新到最新版并强制刷新页面;若仍异常,可先在菜单中关闭中文化对比排查。
中文化影响某些交互?
可随时通过菜单关闭中文化;其他加速与信息增强功能不受影响。
时间显示不对 / 想换回英文?
脚本菜单里可切换到「关闭」档还原 GitHub 原样,也可设置 IANA 时区(例如 Asia/Shanghai)。
中文时间看着比原生更粗、或出现得比预期晚?
这属于已修复项。中文时间原本会继承到父级字号与字色而显得更重,且首轮扫描会被页面的持续重渲染不断推迟。现改为隐藏原生时间前采样其自身排版与字色、并同步执行首轮扫描。若个别位置仍显得偏重,把菜单切到「仅相对」档(6天前)长度最短、视觉最轻。
代码搜索的 Star 或时间一直显示「…」?
说明 GitHub API 请求失败或命中限流。建议通过菜单配置 API Token;已请求过的缓存 6 小时内不会重复请求,失败项 60 秒内不重试。
跨页扫描很慢或提示限流?
扫描页数越多,需要的 API 调用越多(每个唯一文件一次)。未配置 Token 时脚本会在扫描前提示确认,建议先配置 Token 再扫 3 页以上。
镜像测速失败?
可能是网络或节点临时不可用。7 个节点内置在脚本里,不需要外部列表;测速失败时会沿用上一次的排序结果,可按顺序换其他节点重试。
Release 页看不到完整的 sha256?
这是有意为之。完整 64 位哈希仍在,只是收进了 sha256 按钮的悬浮提示与点击复制里,避免占掉整行把加速按钮挤扁。
顶部搜索栏点开后整页卡住 / 出现无法关闭的遮罩?
这属于已修复项。原因是脚本对搜索框 placeholder 的中文化与 GitHub React 的回写形成了属性死循环,打满主线程。现已在观察属性清单中排除 placeholder / value,并限制同一元素的属性只本地化一次。若仍复现,请反馈浏览器版本与页面 URL。
- 镜像加速节点:
github.dpik.top、ghproxy.net、cdn.gh-proxy.com、down.mxw.xx.kg、github.mxw.qzz.io、gh.idayer.com、github.chenc.dev - 活跃 Forks 参考:active-forks
- GitHub 中文文案字典来源参考社区开源本地化项目