npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-github-reviewer

v0.1.2

Published

DeepSeek Harness plugin: automated GitHub PR review bot ported from LingoBridge

Readme

dsh-github-reviewer

English | 中文

npm version CI license node

一个 DeepSeek Harness 插件:轮询配置的 GitHub 仓库中开放的 pull request,并自动发布 COMMENT 评审。它是 LingoBridge 内置 GitHub reviewer 的 TypeScript 移植,并且每次评审和 /bot 对话都通过 harness agent 主循环驱动:每个 PR 一个常驻 Agent、每个 PR 一条会话日志,通过 harness 的 session-persistence 机制持久化。

功能特性

  • 轮询配置的仓库中的开放 PR;跳过 draft PR。
  • 以 GitHub App 身份认证:签名 RS256 应用 JWT,换取短期安装访问令牌(临近过期前缓存复用);也可用个人访问令牌(PAT)模式。
  • PR 首次出现或 head.sha 变化时触发评审;未变化的 PR 记录在存储域的每账户游标记录中,不会重复评审。
  • 只从基础仓库的 .github/review_instructions.md 读取可信评审指令(先按 base 分支,再按 base SHA);文件缺失且配置了 defaultInstructions 时使用该默认文本,否则该 PR 被标记为 missing_instructions,仅当 head SHA 变化后才重试。
  • 每个 PR 一个 harness Agent 与会话。 同一 PR 的评审和 /bot 对话在同一个会话中进行,主循环会重放该 PR 的完整对话历史——模型记得之前的发现和讨论。挂载了持久化 provider 时,会话跨重启保留,评审器恢复既有会话而非新建。
  • 评审走真实 agent 主循环:评审系统提示以 complete 系统提示段注册在 PR agent 上,被守卫的 GitHub 工具以作用域工具形式注册——主循环的日志、检查点、压缩全部生效。
  • 每个回合启动一个全新的 github-mcp-server(stdio),注入安装令牌为 GITHUB_PERSONAL_ACCESS_TOKEN,配置的 web URL 为 GITHUB_HOST;工具 schema 每进程发现一次并缓存。
  • 守卫每一次工具调用:调用必须指向当前 PR,读取被限制在允许的方法和 ref,写入被限制在 create → 行内评论 → submit_pending(event=COMMENT) 的 pending-review 工作流。
  • 处理已处理 PR 上的评论命令:/review 触发重新评审,/bot <消息> 继续 PR 对话并把回复发回对应的 issue 线程或 review 线程。
  • 评审中断可续跑:reviewing 游标状态在重启后重新触发评审,从持久化会话恢复剩余工作。
  • 默认实例可启用 Web 设置卡片;保存后只热重启内部 reviewer runtime。settings、工作区与 Client UI 都是可选 inject 伴生能力,缺失时不影响 Host reviewer。
  • 在把不可信 PR 标题/正文放入提示词前做清洗(HTML 注释/隐藏属性、不可见/控制字符、markdown 图片 alt 文本、markdown 链接标题、类 GitHub 令牌字符串)。

快速开始

dsh plugin --profile web add dsh-github-reviewer

安装会把 bundle 加入 web profile,并注册一个默认启用的 github-reviewer 实例;uiSettings 默认也是 true。在下一次重启前,必须在 profile 的 cordis.patch.yml 中按 id 为该实例补齐认证和 MCP server,并按需配置仓库(无需再写 disabled: falseuiSettings: true,完整步骤见部署与挂载)。设置页的 GitHub Reviewer 卡片默认折叠,仓库以“所有者(组织或用户)/仓库”行编辑:聚焦后会使用当前配置的 GitHub 凭据加载可访问仓库,并提供可搜索、可自由输入的候选菜单;目录加载失败或手动值不在目录中都不会阻止编辑和保存。增删操作使用图标按钮;评审模型从 DSH 当前配置的 provider/model 下拉列表中选择,并按从上到下的优先级拖拽排序。仓库列表可以为空,此时 reviewer 保持运行但不轮询仓库。

文档

| 主题 | 中文 | English | |---|---|---| | 部署与挂载:要求、profile patch 语法、MCP server、验证 | docs/deploy.md | docs/deploy.en.md | | 配置参考:字段表、环境变量注入、!!js 表达式 | docs/config.md | docs/config.en.md | | 工作原理:轮询/游标、评审流程、工具守卫、信任模型 | docs/architecture.md | docs/architecture.en.md | | 开发与已知限制 | docs/development.md | docs/development.en.md |

带注释的最小组合示例见 cordis.yml.example

License

Apache-2.0