为非编码工作自动归档产物并规范命名,保持工作区整洁
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add sevenhsu7/dsh-paper-mode该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 24 处,展示前 20 条)
- 读取本地文件save-core.js:109
const stats = statSync(dotGit) - 读取本地文件save-core.js:112
const content = readFileSync(dotGit, 'utf8') - 读取本地文件save-core.js:118
if (existsSync(commonDirFile)) { - 读取本地文件save-core.js:119
gitDir = resolve(gitDir, readFileSync(commonDirFile, 'utf8').trim()) - 读取本地文件save-core.js:148
if (existsSync(excludePath)) existing = readFileSync(excludePath, 'utf8') - 读取本地文件save-core.js:148
if (existsSync(excludePath)) existing = readFileSync(excludePath, 'utf8') - 写入本地文件save-core.js:157
mkdirSync(infoDir, { recursive: true }) - 写入本地文件save-core.js:161
writeFileSync(excludePath, `${existing}${needsNewline ? '\n' : ''}${marker}${pattern}\n`) - 写入本地文件save-core.js:281
mkdirSync(targetDir, { recursive: true }) - 写入本地文件save-core.js:297
copyFileSync(args.source_path, dest) - 写入本地文件save-core.js:299
writeFileSync(dest, args.content, 'utf8') - 写入本地文件scratch-core.js:65
mkdirSync(dir, { recursive: true, mode: 0o700 }) - 读取本地文件scratch-core.js:66
if (!existsSync(join(root, SCRATCH_METADATA))) { - 写入本地文件scratch-core.js:67
writeFileSync( - 读取本地文件scratch-core.js:81
latest = statSync(root).mtimeMs - 读取本地文件scratch-core.js:83
for (const entry of readdirSync(root, { withFileTypes: true })) { - 读取本地文件scratch-core.js:85
const childLatest = entry.isDirectory() ? latestMtimeMs(child, depth + 1) : statSync(child).mtimeMs - 读取本地文件scratch-core.js:116
entries = readdirSync(tmpRoot, { withFileTypes: true }) - 读取本地文件scratch-core.js:131
meta = JSON.parse(readFileSync(join(path, SCRATCH_METADATA), 'utf8')) - 删除本地文件递归scratch-core.js:140
rmSync(path, { recursive: true, force: true })
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的 Paper 模式——面向工作区的非编码工作预设:AI-Cooperate 归档、YYMMDD-项目-文件 命名、自动识别 git 仓库并只在本地忽略、自动清理系统临时暂存区(7 天)和 📑 会话徽标。
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness 的 Paper 模式
给 DeepSeek Harness 用的非编码工作模式 —— 带强制产物治理。
专为代码之外的一切而建:调研、分析、报告。按工作区自动归档 —— 整洁、一致、好找。
编码智能体擅长产出代码,却搞不定其他交付物:调研笔记、CSV、图表、截图、一次性脚本,最后全堆在工作区根目录,名字叫 report.md 或 最终版.md,而编码会话和分析会话在侧边栏里混成一团。
Paper 模式是 DSH 的智能体预设,给非编码工作单独定一套规矩 —— 而且它清楚自己跑在什么样的工作区里:
| 保证 | 含义 |
| 🧭 感知工作区 | 自动判断工作区是 git 仓库还是普通文件夹。代码仓库会把归档目录加进本地 .git/info/exclude,并隔离临时文件;普通文件夹只建归档目录,完全不碰 git。 |
| 🗂 统一归档 | 所有产物都写进工作区的 AI-Cooperate/ 文件夹(也识别 AI-CoWork/、AI-Corporate/)。 |
| 🏷 强制命名 | 文件名格式为 YYMMDD-<project-code>-<name>.<ext>,日期取真实系统时间,项目代码在会话内保持不变,重名时用 -2/-3 去重。绝不覆盖。
展开完整文档(README 剩余 1 节)
DeepSeek Harness 的 Paper 模式 给 DeepSeek Harness 用的非编码工作模式 —— 带强制产物治理。 专为代码之外的一切而建:调研、分析、报告。按工作区自动归档 —— 整洁、一致、好找。 编码智能体擅长产出代码,却搞不定其他交付物:调研笔记、CSV、图表、截图、一次性脚本,最后全堆在工作区根目录,名字叫 report.md 或 最终版.md,而编码会话和分析会话在侧边栏里混成一团。 Paper 模式是 DSH 的智能体预设,给非编码工作单独定一套规矩 —— 而且它清楚自己跑在什么样的工作区里: | 保证 | 含义 | | 🧭 感知工作区 | 自动判断工作区是 git 仓库还是普通文件夹。代码仓库会把归档目录加进本地 .git/info/exclude,并隔离临时文件;普通文件夹只建归档目录,完全不碰 git。 | | 🗂 统一归档 | 所有产物都写进工作区的 AI-Cooperate/ 文件夹(也识别 AI-CoWork/、AI-Corporate/)。 | | 🏷 强制命名 | 文件名格式为 YYMMDD-<project-code>-<name>.<ext>,日期取真实系统时间,项目代码在会话内保持不变,重名时用 -2/-3 去重。绝不覆盖。 | | 🧹 临时文件不添乱 | 中间文件(临时脚本、中间数据、过程截图)通过 scratch 工具放进系统临时目录,自动清理 —— 绝不进工作区 —— 7 天后删除。 | | 📑 会话可辨识 | 一个小型宿主插件给 Paper 会话标题加上 📑 前缀,侧边栏一眼看出哪些是分析、哪些是编码。 | 命名不是提示词里的建议:每个新文件都必须通过内置的 cowork_save 工具写入,由它在文件系统层面强制执行归档目录、日期/项目前缀、字符清洗、去重和绝不覆盖。 前后对比 安装 需要带插件/打包系统的 DSH 版本(桌面版或 dsh 命令行)。 dsh plugin --profile desktop add github:sevenhsu7/dsh-paper-mode 然后重启 DeepSeek Harness。设置 → 智能体预设里会出现新的 「Paper mode」 预设,新建任务的选择器里也有(自定义预设分组)。默认预设仍是 Standard —— Paper 模式要手动选,所以编码会话永远看不到它的规则。 为兼容性保留的内部 id 不变:预设 id cowork,包名 @local/dsh-cowork-preset,工具 cowork_save,仓库 sevenhsu7/dsh-paper-mode。只改了显示名和 emoji 徽标(💻 → 📑)。 备选方案:从本地克隆安装 git clone https://github.com/sevenhsu7/dsh-paper-mode.git dsh plugin --profile desktop add ./dsh-paper-mode 或者在应用里用 Creator 模式(Settings → Agent presets → Creator),然后说: 用 plugin_manager 的 install_bundle 安装 /absolute/path/to/dsh-paper-mode 这个 bundle。 智能体可读的安装步骤 见 redskill.md,或技能文件 skills/install-paper-mode/SKILL.md。你可以把智能体指向该文件,然后说「安装这个」。 使用 1. 新建任务,选择 Paper mode。 2. 提出研究、分析、报告、文档、图表或数据处理需求。 3. 文件落在 <workspace>/AI-Cooperate/;某一步需要中间文件时,智能体会调用 scratch,在该目录里操作。 4. 会话标题以 📑 开头。 模式卡片与侧边栏 工作原理 本仓库是一个 DSH bundle(dsh.bundle.patch → cordis.patch.yml),提供四样东西: 1. preset-cowork —— 一份 @deepseek-ai/dsh-agent-preset 声明。它带全套标准工具(shell、文件读写与搜索、web、子代理、todo、plan、compaction……),外加 Paper mode 人设,并且刻意不挂载 agent-instructions,这样仓库 AGENTS.md 里的编码规则不会渗进分析会话。 2. cowork-save —— 预设插件,注册 cowork_save 工具。文件系统约定写在 save-core.js(纯逻辑,可单测),并以手写的 JSON-Schema 工具定义注册在 save-tool.js。该文件刻意不从 @deepseek-ai/ 导入任何东西:配置档把这个 bundle 当作链接包解析,裸模块名会从 bundle 自己的目录解析,而不是从 dsh 安装目录,导致预设激活失败。 3. paper-scratch —— 预设插件(scratch-tool.js,约定在 scratch-core.js),注册 scratch 工具:在 os.tmpdir() 下按会话建目录,名为 paper-YYMMDD-<project-code>-<session>,还可再加一层标签子目录。宿主插件(scratch-cleanup.js)每六小时清扫该命名空间,删除超过 7 天的目录,跳过活跃会话。 4. cowork-title-badge —— 宿主插件(index.js),监听 session/title 事件,给预设为 cowork(内部 id)的会话标题加上 📑 前缀。服务商标题一落地就加,兜底标题等宽限期过后再加,用户手动改名不动,标题超长会截断以符合 80 字节上限。 cowork-preset/ ├─ package.json # bundle manifest + plugin exports ├─ cordis.patch.yml # preset declaration + plugin rows ├─ index.js # host plugin: 📑 session title badge ├─ save-tool.js # preset plugin: registers cowork_save (no dsh imports) ├─ save-core.js # enforced archive/naming logic (pure) ├─ scratch-tool.js # 预设插件:注册 scratch 工具 ├─ scratch-core.js # scratch 命名 + TTL 清理逻辑(纯函数) ├─ scratch-cleanup.js # 宿主插件:7 天 scratch 清理定时器 ├─ assets/ # README 插图 └─ skills/ # 智能体安装技能("redskill") cowork_save cowork_save(filename, content | source_path, project_code?, subdir?) - 确定归档文件夹:AI-Cooperate/(名称保持不变),或已存在的 AI-CoWork/、AI-Corporate/、ai-corporate/。如果同时存在多个候选,工具会拒绝执行,让智能体向用户确认——绝不猜测,也不合并。 - 打上本地日期(YYMMDD)和项目代码(由你提供,或根据工作区文件夹名确定性推导,例如 acme → Acm,shop-app → SA)。 - 清理文件名(空格/下划线 → -,移除禁用字符,不重复添加日期前缀),并追加 -2、-3……而不是覆盖原文件。 - 通过 source_path 复制二进制文件,支持可选的 subdir 分组。 - 感知 Git:当工作区位于 git 仓库内(包括链接的 worktree)时,归档文件夹会追加到仓库本地的 .git/info/exclude——幂等操作,绝不写入受跟踪的 .gitignore。工具结果会报告 gitignored: exclude | already | not-a-repo | failed。 结果示例:AI-Cooperate/261018-AoC-竞品调研.md 命名结构 scratch scratch(project_code?, label?) 在操作系统临时目录下创建(并返回)会话的 scratch 目录: $TMPDIR/paper-261018-AoC-1f2e/ # 日期 + 项目代码 + 短会话 id - 用于临时脚本、中间数据和过程截图——不要用于交付物,也绝不要把 scratch 写进工作区(包括 .tmp/)。 - 可选 label 会添加子目录(例如 charts);路径穿越片段会被丢弃。 - 目录以 0700 权限创建,带有 .paper-scratch.json 归属记录,并由 scratch-cleanup.js 在其最新文件超过 7 天后删除——除非所属会话仍然活跃。 - 在目录过期前,用 cowork_save 把值得保留的内容复制到归档中。 工作区检测 保存前,cowork_save 会检查工作区: - 从工作区根目录向上走到最近的 .git——普通克隆是目录,链接的 worktree 是文件——以此区分代码仓库和普通文件夹。 - 代码仓库(包括 worktree 和嵌套工作区):归档会加入仓库本地的 .git/info/exclude,让 git status 保持干净;scratch 始终位于系统临时目录,绝不进入仓库。 - 普通文件夹:完全不处理 git——没有 .gitignore,没有 exclude 文件,只有归档。仅仅包含*仓库的目录(例如 work/ 文件夹)仍视为普通文件夹。 Git 仓库 如果工作区位于 git 仓库中,第一次执行 cowork_save 时,还会把归档文件夹加入仓库的本地 .git/info/exclude: Paper mode archive (local only) AI-Cooperate/ - 只影响当前这个克隆,不会改动被跟踪的文件,队友也看不到 diff。 - 支持嵌套工作区(页面模式不锚定路径)和链接工作树(使用公共 git 目录)。 - 幂等:模式已存在时报告为 already。 - 已被跟踪的归档文件夹不会被悄悄取消跟踪——git rm -r --cached AI-Cooperate 仍需你手动决定。 自定义 所有内容都在 cordis.patch.yml 里: - 预设的显示名称 / 描述 / 排序(name、description、order); - 人格规则(归档文件夹、临时文件策略、边界); - 工具集(在预设的 plugins 列表里增删行)。 注意:DSH 只本地化内置预设。自定义预设的 name / description 会原样显示,所以请只选一种语言(仓库自带英文版;中文版保留在 cordis.patch.yml 的注释里)。 这是给智能体的提示词级约定,加上给保存工具的文件系统级约定;它不是操作系统沙箱。Paper mode 和 Standard mode 共用同一套 DSH 工作区和权限模型。 兼容性 - 挂载了 @deepseek-ai/dsh-web-app 的 DeepSeek Harness Desktop / dsh 配置档(包含会话标题和智能体预设)。 - 标题徽标依赖会话标题服务(由随附的 Web 应用挂载);没有该服务时,只会跳过 📑 徽标。 - Claude Code / Codex / Cursor 不读取这个预设;这些工具沿用各自的约定。 许可证 MIT — 见 LICENSE。 中文说明 Paper mode 是给 DeepSeek Harness 增加的一个「非编码工作模式」:选中它,AI 只做调研、分析、报告、文档、图表、表格、数据处理这类工作,并遵守一套产物治理规则: - 产物统一写入工作区的 AI-Cooperate/(文件夹名保持不变;已有的 AI-CoWork/、AI-Corporate/ 也会识别);在 git 仓库里第一次保存会自动写进 .git/info/exclude(只影响本机,不动被跟踪的 .gitignore),git status 保持干净; - 文件名强制为 YYMMDD-项目代码-文件名,日期取系统时间,项目代码整场会话一致,重名自动 -2/-3,绝不覆盖; - 过程文件(临时脚本、中间数据、截图)不进工作区:通过 scratch 工具放到系统临时目录,7 天后自动清理; - 自动识别工作区:是 git 仓库就自动写 .git/info/exclude、过程文件不进仓库;是普通文件夹就只创建归档目录,不做任何 git 操作; - 会话标题自动带 📑,侧边栏一眼区分分析会话和编码会话; - 最关键:规则只活在模式里。没选这个模式,规则就不存在——所以编码会话完全不受影响。 安装: dsh plugin --profile desktop add github:sevenhsu7/dsh-paper-mode 重启 DSH 后,在 设置 → Agent 预设 里会出现「Paper mode」,新建任务时选择即可。默认模式仍是 Standard。 如果想让 AI 帮你装,把 redskill.md 丢给你的 Agent,说「照这个装」。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
sevenhsu7/dsh-paper-mode
为非编码工作自动归档产物并规范命名,保持工作区整洁
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7