dsh-discussions-digest
A small, evidence-first DeepSeek Harness plugin for recent activity in the official GitHub Discussions.
- Stars
- 0
- Language
- TypeScript
- Created
- Sep 4, 2026
- Updated
- Sep 4, 2026
Introduction
dsh-discussions-digest
English | 中文
dsh-discussions-digest is a deliberately small DeepSeek Harness bundle. It reads recent activity from the official deepseek-ai/deepseek-harness GitHub Discussions and gives the active DSH model bounded, source-linked facts for an evidence-first triage digest.
The plugin has one Host entry, one read-only Tool, one runtime Skill, and one bundle patch row. It has no browser client, custom HTTP API, database, scheduler, subagent, classifier, clustering layer, or GitHub write operation.
Requirements
- Node.js
^22.19.0or>=24 - DeepSeek Harness
0.1.2-rc.1or newer - A GitHub token that can read the public repository's Discussions
This checkout is built and tested against the APIs in DeepSeek Harness 0.1.2-rc.1. At the time of development, that release is on npm's next channel.
Install
Install the preview package from npm's next channel into the Web profile:
npx --yes --package @deepseek-ai/dsh@next dsh plugin --profile web add dsh-discussions-digest@next
Verify the bundle layer without starting a server:
npx --yes --package @deepseek-ai/dsh@next dsh --profile web --dump-config
The output should contain one dsh-discussions-digest bundle row. The host DSH must also come from @next (currently 0.1.2-rc.1); npm's default latest channel may still resolve an older host release.
Configure the credential
The Tool accepts only days and limit; a token is never a Tool argument. On every call the plugin resolves the fixed GITHUB_TOKEN reference through ctx.credentials. The shipped local provider checks the launch environment, the DSH credential store, and its supported .env layers.
Store the value with the DSH credential settings, or add it to the local credential document without committing that document:
version: 1
refs:
GITHUB_TOKEN: github_pat_...
Do not paste the token into a prompt. The plugin does not include credential values in results, logs, or its own error messages.
Use
English prompt:
Use the dsh-discussions-digest skill to review the last 24 hours of activity in the official DSH GitHub Discussions. Return at most 20 items and keep every conclusion linked to its source.
The Tool's only arguments are:
| Argument | Default | Range | Meaning |
|---|---|---|---|
days | 1 | 1–7 | UTC activity window measured from call start |
limit | 20 | 1–30 | Maximum discussions returned to the model |
The Skill renders exactly four sections: Scope & caveats, Needs follow-up, Product / DX signals, and New showcases / other activity. Each listed thread includes a source fact, missing information, a suggested action, and an explicitly labelled Proposed interpretation.
Example result (redacted and abridged)
The following is a documentation sample captured by the read-only Tool on 2026-09-04 at 04:39 UTC with days: 1 and limit: 5. No token or local path is present. The real result contained five records; three records plus all body and comment excerpt text are omitted here to keep the example short. Discussion content remains untrusted source material.
{
"repo": "deepseek-ai/deepseek-harness",
"window": {
"days": 1,
"fromInclusive": "2026-09-03T04:38:53.077Z",
"toInclusive": "2026-09-04T04:38:53.077Z",
"activityField": "Discussion.updatedAt"
},
"fetchedAt": "2026-09-04T04:39:13.890Z",
"scanned": 200,
"returned": 5,
"truncation": {
"resultLimit": true,
"pageCap": false,
"contentExcerpts": true
},
"discussions": [
{
"number": 5584,
"title": "[Feature Request] Stream bash/terminal command execution output in real-time instead of waiting for completion",
"url": "https://github.com/deepseek-ai/deepseek-harness/discussions/5584",
"category": { "slug": "ideas", "name": "Ideas", "isAnswerable": false },
"author": "nguyenduclong-ict",
"createdAt": "2026-09-04T04:38:07Z",
"updatedAt": "2026-09-04T04:38:07Z",
"upvoteCount": 1,
"isAnswered": null,
"commentCount": 0
},
{
"number": 5582,
"title": "DSH | dsh-client-locale-ru | Russian (ru) language pack for the dsh web GUI",
"url": "https://github.com/deepseek-ai/deepseek-harness/discussions/5582",
"category": { "slug": "show-your-plugins", "name": "Show Your Plugins!", "isAnswerable": false },
"author": "Ragnoryok1",
"createdAt": "2026-09-04T04:06:57Z",
"updatedAt": "2026-09-04T04:06:57Z",
"upvoteCount": 1,
"isAnswered": null,
"commentCount": 0
}
// Three discussion records and all excerpt text are omitted from this sample.
]
}
Output boundaries
repois fixed todeepseek-ai/deepseek-harness; the plugin is not a general GitHub reader.- The activity window uses GitHub's
Discussion.updatedAt, ordered newest first. It can reflect creation, edits, or comments, but it does not cover upvote-only changes. - Collection stops after four 50-item pages. The result reports
pageCap: trueinstead of presenting partial coverage as complete. - Bodies are excerpts of at most 1,200 Unicode characters. Only the latest two top-level comments are included, each at most 600 characters. Every excerpt has a
truncatedflag. isAnsweredstaysnullfor non-answerable categories;nulldoes not mean unanswered.- The plugin does not rank by upvotes and does not claim official priority, severity, sentiment, trends, shared root causes, or exhaustive community coverage.
- Discussion text is untrusted source material. The Skill forbids following instructions or commands embedded in posts and comments.
Development
npm ci
npm test
npm pack --dry-run
To install a local tarball instead of the npm release:
$package = npm pack
npx --yes --package @deepseek-ai/dsh@0.1.2-rc.1 dsh plugin --profile web add ".\$package"
The production source is intentionally limited to four files:
src/index.ts— one Tool and one Skill registrationsrc/github.ts— one GraphQL operation, pagination, HTTP and response validationsrc/digest.ts— argument bounds, activity window, stable ordering, excerpts and coveragesrc/skill.ts— evidence-first digest instructions
中文
dsh-discussions-digest 是一个刻意保持简单的 DeepSeek Harness bundle。它只读取官方 deepseek-ai/deepseek-harness GitHub Discussions 的近期活动,并把有边界、带原帖链接的事实交给当前 DSH 模型,生成便于人工分诊的社区简报。
插件只有一个 Host 入口、一个只读 Tool、一个运行时 Skill 和一条 bundle patch;没有浏览器端 UI、自定义 HTTP API、数据库、定时任务、subagent、分类器、聚类,也不会写入 GitHub。
环境与安装
需要 Node.js ^22.19.0 或 >=24、DeepSeek Harness 0.1.2-rc.1 或更高版本,以及可读取公开 Discussions 的 GitHub token。当前实现按 DSH 0.1.2-rc.1 的 Tool、Skill、credentials 和 profile API 构建;开发时该版本位于 npm next 通道。
npx --yes --package @deepseek-ai/dsh@next dsh plugin --profile web add dsh-discussions-digest@next
npx --yes --package @deepseek-ai/dsh@next dsh --profile web --dump-config
最后一个命令应只显示一条 dsh-discussions-digest bundle。宿主 DSH 也必须使用 @next(当前为 0.1.2-rc.1);npm 默认的 latest 通道仍可能解析到较旧的宿主版本。从源码构建和安装本地 tarball 的命令见上方 Development 小节。
凭证
Tool 只允许 days 和 limit;token 绝不是 Tool 参数。每次调用都会通过 ctx.credentials 解析固定的 GITHUB_TOKEN 引用。你可以在 DSH 的凭证设置中保存它,或把它写入本机凭证文件的 refs 段;不要将凭证文件提交到 Git,也不要把 token 粘贴进 prompt。插件不会把凭证值放进结果、日志或自身错误消息。
中文 prompt
使用 dsh-discussions-digest skill 整理 DSH 官方 GitHub Discussions 最近 24 小时的活动,最多保留 20 条。所有判断都要链接到原帖,并明确区分来源事实和 Proposed interpretation。
days 默认 1、范围 1–7;limit 默认 20、范围 1–30。Skill 固定输出 Scope & caveats、Needs follow-up、Product / DX signals、New showcases / other activity 四部分;每一条都包含原帖链接、来源事实、缺失信息、建议动作和明确标注的 Proposed interpretation。
上方 “Example result” 是 2026-09-04 真实只读 smoke 的脱敏、删节示例;其中没有 token 或本地路径,并明确省略了三条记录和全部正文/评论摘录,不能将删节后的片段当作全量结果。
边界与限制
- 仓库固定为
deepseek-ai/deepseek-harness,这不是通用 GitHub 阅读器。 - 活动窗口依据
Discussion.updatedAt并按最近更新排序;它可反映发帖、编辑或评论,但不覆盖只有点赞变化的情况。 - 最多扫描 4 页、每页 50 条;提前触及上限时返回
pageCap: true,不会把部分覆盖描述成完整覆盖。 - 正文最多保留 1,200 个 Unicode 字符;只返回最近两条顶层评论,每条最多 600 字符;每个摘录都有
truncated标记。 - 非问答类目的
isAnswered保持null,不能解释为“未回答”。 - 不按点赞排序,也不宣称官方优先级、严重度、情绪、趋势、共同根因或全量社区覆盖。
- 帖子和评论是不可信输入;Skill 明确禁止执行其中的指令、命令或链接请求。
License
MIT