🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

毕业论文全流程 booondenz/dsh-thesis

DeepSeek Harnessv2.0.2
booondenz11 天前有提交已提供中文文档扫描:含敏感能力

毕业论文全流程 DSH 插件

36.5/100
综合分
5
GitHub 星标
860
npm 周下载
—/5
用户评分

数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-thesis
npm 源 · dsh-thesis 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · tool
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-thesis @ 2.0.2
✓Node 引擎要求 >=22.16 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 17:45:25

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 26 处,展示前 26 条)
  • 读取本地文件
    lib/ingest/index.js:159
    const info = await stat(target);
  • 读取本地文件
    lib/ingest/index.js:167
    const entries = await readdir(target, { withFileTypes: true });
  • 读取本地文件
    lib/ingest/index.js:175
    return new Uint8Array(await readFile(target));
  • 读取本地文件
    lib/ingest/index.js:298
    return await stat(target);
  • 读取本地文件
    lib/ingest/index.js:306
    return io === diskIO ? async (target) => (await stat(target)).size : undefined;
  • 读取本地文件
    lib/codewalk/skill.js:47
    content: await readFile(SKILL_BODY_PATH, 'utf8'),
  • 写入本地文件
    lib/shared/index.js:27
    await writeFile(absPath, data);
  • 读取本地文件
    lib/intake/state.js:290
    const data = await readFile(from, 'utf8');
  • 写入本地文件
    lib/intake/state.js:291
    await writeFile(to, data, 'utf8');
  • 读取本地文件
    lib/paper/tools/init.js:26
    names = await readdir(skillsDir);
  • 读取本地文件
    lib/paper/tools/init.js:35
    const body = await readFile(nodePath.join(skillsDir, name, 'SKILL.md'), 'utf8');
  • 写入本地文件
    lib/paper/tools/build.js:105
    await writeFile(tmpMd, `${title}\n\n${'='.repeat(Math.max(4, title.length))}\n\n${markdown}`, 'utf8');
  • 读取本地文件
    lib/paper/tools/build.js:114
    docxBytes = new Uint8Array(await readFile(docxPath));
  • 删除本地文件
    lib/paper/tools/build.js:117
    await rm(tmpMd, { force: true }).catch(() => { });
  • 写入本地文件
    lib/paper/tools/build.js:128
    await writeFile(tmpMd, `${title}\n\n${'='.repeat(Math.max(4, title.length))}\n\n${markdown}`, 'utf8');
  • 删除本地文件
    lib/paper/tools/build.js:136
    await rm(tmpMd, { force: true }).catch(() => { });
  • 发起网络请求
    lib/paper/lib/lit-api.js:15
    const DEFAULT_FETCH = (url, init) => fetch(url, init);
  • 读取本地文件
    lib/ppt/actions.js:189
    const runConvert = deps.convert ?? ((slidesPath, outPath, opts) => convert(slidesPath, outPath, { engine: opts.engine, timeoutMs: opts.timeoutMs, exis
  • 执行外部命令来自配置/变量
    lib/ppt/convert.js:25
    const defaultSpawn = (command, args, options) => spawnSync(command, [...args], {
  • 读取本地文件
    lib/ppt/convert.js:33
    return existsSync(path);
  • 读取本地文件
    lib/ppt/convert.js:38
    return statSync(path).size;
  • 写入本地文件
    lib/memory/store.js:43
    mkdirSync(dirname(target), { recursive: true });
  • 执行外部命令来自配置/变量
    lib/shared/spawn.js:23
    const result = spawnSync(command, [...args], {
  • 执行外部命令固定命令
    lib/paper/lib/defense.js:63
    const count = spawnSync('git', ['-C', root, 'rev-list', '--count', 'HEAD'], { encoding: 'utf8' });
  • 执行外部命令固定命令
    lib/paper/lib/defense.js:66
    const first = spawnSync('git', ['-C', root, 'log', '--reverse', '--format=%cs', 'HEAD'], { encoding: 'utf8' });
  • 执行外部命令固定命令
    lib/paper/lib/defense.js:67
    const last = spawnSync('git', ['-C', root, 'log', '-1', '--format=%cs', 'HEAD'], { encoding: 'utf8' });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-thesis 把一堆材料变成一篇经得起查重与答辩的论文,和一个讲得清自己系统的你。 DeepSeek Harness 的单一插件。给它学校模板、论文要求、实验数据、代码和参考文献,它先追问、再动手,按九个阶段推进: 选题 → 开题 → 文献 → 设计 → 实现 → 测试 → 论文 → 合规 → 答辩 没有斜杠命令。 在论文工作区里开口说话,插件问一道选择题确认意图,然后自己一轮轮跑下去,只在 G1-G4 人工关卡停下来让你拍板。全程留痕(台账 / 决定日志 / 检索记录 / 检查报告)。 纯 TypeScript,零运行时第三方依赖。对外只有三个命名空间:thesis_、fact_、defense_code_*。 安装 在 DSH 的插件管理器里搜索 dsh-thesis 装上,重启 dsh。
展开完整文档(README 剩余 1 节)
dsh-thesis

把一堆材料变成一篇经得起查重与答辩的论文,和一个讲得清自己系统的你。

DeepSeek Harness 的单一插件。给它学校模板、论文要求、实验数据、代码和参考文献,它先追问、再动手,按九个阶段推进:

选题 → 开题 → 文献 → 设计 → 实现 → 测试 → 论文 → 合规 → 答辩

没有斜杠命令。 在论文工作区里开口说话,插件问一道选择题确认意图,然后自己一轮轮跑下去,只在 G1-G4 人工关卡停下来让你拍板。全程留痕(台账 / 决定日志 / 检索记录 / 检查报告)。

纯 TypeScript,零运行时第三方依赖。对外只有三个命名空间:thesis_、fact_、defense_code_*。

安装

在 DSH 的插件管理器里搜索 dsh-thesis 装上,重启 dsh。

从源码装(想改代码,或本机没有 pnpm):

git clone https://github.com/booondenz/dsh-thesis.git && cd dsh-thesis
npm install && npm run build # DSH 没有 TS 加载器,必须先编译
dsh plugin --profile web add "$PWD" # 需要 pnpm
node scripts/install-into-profile.ts --profile web # 没有 pnpm 时的兜底

卸载:插件管理器里移除,或 dsh plugin --profile web remove dsh-thesis。

第一次用

把材料放进论文目录(或告诉它绝对路径),在该目录下开会话说:

这是我的论文材料,帮我做毕业设计

它会弹一道选择题(从零走到答辩 / 只补合规与答辩 / 只做答辩准备 / 先别自动跑),选完就自动推进;撞上 G1-G4 关卡时在审批界面点「允许」或「拒绝」。
没有材料也能用:「我要做毕业设计,还没定题」。

配置

默认值都在,通常不用写。需要时在 profile 的 cordis.patch.yml 那一行里覆盖:

- id: paper
name: dsh-thesis
config:
workspace: D:/毕业论文/我的论文 # 缺省从会话 cwd 向上探测 00-管理/进度台账.md
autopilot: { maxGoalRounds: 20 } # 自动续跑的轮数上限(默认 40)

完整字段见 docs/config.md。

红线(写在护栏里,不是写在文档里)

1. 零假文献:引用只能来自真实检索缓存,thesis_lit_save 拒绝缓存外的 id。
2. 零假数据:数据与结果必须来自真实运行;降重不许改数据与结论。
3. 人是作者:G1-G4 关卡由工具强制,决定必须由你拍板。
4. 规范以学校文件为准:没有模板时用内置过渡模板并显式标注「非学校模板」。
5. 降重不是洗稿:不接收费查重,报告里是本地估算,与学校结果不可等同(可回填对照)。
6. 不静默销毁数据:读不出来 ≠ 不存在;读失败就抛错,绝不用默认值覆盖。

文档

| 文档 | 内容 |
| docs/usage.md | 使用手册:第一次会话、九阶段、常见动作、产出物、中断续跑 |
| docs/autopilot.md | 自动驾驶:四档意图、关卡拍板、何时不介入、降级与关闭 |
| docs/tools.md | 21 个工具 + 11 个技能一览(名字即契约) |
| docs/config.md | 全部配置字段、默认值与约束 |
| docs/troubleshooting.md | 装了没反应、没弹选择题、PDF/pptx 失败等 |
| docs/design.md | 设计文档与 ADR(架构、分层、质量策略、已知边界) |
| docs/host-api.md | 宿主契约:用到的 DSH 接口与实测行为 |
| docs/release.md | 发版:tag → GitHub Actions → npm(含 provenance)|

开发

npm install && npm run build # tsc → lib/
npm test # node --test(Node 24 直接跑 .ts)
npm run verify # build + 两个 typecheck + 全部单测 + 审计 + 端到端

仓库里没有 JS 源文件:src/、scripts/、tests/ 全是 .ts,直接由 Node 执行(需要 Node ≥ 22.18); lib/ 只是 tsc 产物(已 gitignore,发布时作为编译后的 JS 提供)。

质量分层:单测/契约、真实场景端到端、真实 cordis 装配、真实 dsh 引擎装载、对外表面审计(见 docs/design.md §9)。

发版:打 tag 即发布,由 GitHub Actions 跑构建、校验与 npm publish --provenance,见 docs/release.md。

许可

MIT。来源声明见 NOTICE.md。
预览分享卡片长什么样 ↓booondenz/dsh-thesis
分享 · DeepSeek Harness Hub
booondenz/dsh-thesis

毕业论文全流程 DSH 插件

这是你的仓库?认领条目

回到顶部