dsh-upstream-watch
by t479842598
DSH 插件:实时监听 GitHub 上游仓库默认分支的新提交
DSH plugin: watch GitHub upstream repos for new commits on default branch, live
安装
dsh plugin --profile web add github:t479842598/dsh-upstream-watchGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
监听 GitHub 上游仓库(freebuff / opencode / 自定义)默认分支的所有新提交,设置页面板实时展示 + 日志记录。
⚡ 一键安装
dsh plugin --profile web add github:t479842598/dsh-upstream-watch#v0.1.0
装完重启 web,设置 → 「上游更新监听」出现即成功。
本地调试:
cd dsh-upstream-watch && dsh plugin --profile web add .
✨ 功能
- 上游监控:默认监听 freebuff@main 与 opencode@dev,任何默认分支 push 都会记录
- 仓库管理:设置页添加/移除任意 GitHub 仓库(
ownerrepobranch,留空即 main) - 实时面板:每个仓库状态徽章、head 提交、监听期间新增数(红色 +N)、检查时间
- 新提交流:sha / 作者 / 相对时间,底部气泡一键切换只看某个仓库
- ETag 条件缓存:无变更返回 304,不计 GitHub API 配额
- 可选 Token:匿名配额仅 60 次/小时(共享出口 IP 易耗尽);设置只读 PAT 后 5000 次/小时
- 间隔可调:5 / 10 / 30 / 60 分钟,支持暂停/继续/立即检查
- 日志落盘:工作区根目录
upstream-watch.log
🎛️ 使用
设置 → 上游更新监听:
- 仓库卡片:看 head 提交、状态与新增数;点仓库名跳转 GitHub
- 添加仓库:填
ownerrepobranch,添加后立即建基线开始监听 - GitHub Token(可选):填一个只读 PAT(权限
Contents: Read),免疫共享 IP 配额挤兑;token 只存内存、不落日志 - 新提交列表:底部气泡
[全部] [freebuff] [opencode] …切换仓库
基线语义:首次检查建立基线(不虚报),此后任何 push 都会作为「新提交」出现。
🔌 API
| 路由 | 方法 | 说明 |
|---|---|---|
/api/upstream-watch/state |
GET | 完整状态快照(repos / recent / 定时信息) |
/api/upstream-watch/poll-now |
POST | 立即轮询 |
/api/upstream-watch/toggle-paused |
POST | 暂停 / 继续 |
/api/upstream-watch/set-interval |
POST {minutes} |
调整检查间隔(1–120) |
/api/upstream-watch/add-repo |
POST {owner,repo,branch} |
添加仓库 |
/api/upstream-watch/remove-repo |
POST {id} |
移除仓库 |
/api/upstream-watch/set-token |
POST {token} |
设置 / 清除 Token |
🛠️ 开发
npm run build # 重建 lib/client.js(client/src/client.js → bundle 包装)
npm run check # 校验产物新鲜度(发布前必须跑)
lib/client.js 是生成物,勿手改;改动 client 源码后需重新 build 并提交。
📁 结构
dsh-upstream-watch/
├── package.json # main/exports + dsh.bundle.patch + dsh.client
├── cordis.patch.yml # 组合层:insert 挂载自身
├── index.mjs # Node half:轮询引擎 + webServer 路由(严格 inject)
├── client/src/client.js# browser half 源码
├── lib/client.js # 构建产物(__ModuleLoader__.load 包装)
└── scripts/ # 构建 / 校验
📚 发布
- 建 GitHub 公开仓库,仓库根 = 包根,提交全部文件(必须包含
lib/client.js产物) - 仓库 description 与 topics:
dshdsh-bundledeepseek-harness+ui+monitoring - 打版本 tag:
git tag v0.1.0 && git push origin v0.1.0 - 自测:
dsh plugin --profile web add github:t479842598/dsh-upstream-watch#v0.1.0→ 重启 web →/api/upstream-watch/state返回 200 - (可选)
npm publish走 npm 分发;或提交收录到 / Oh-My-DSH / plugin-registry
📄 License
MIT
原始 README: https://github.com/t479842598/dsh-upstream-watch/blob/main/README.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。