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

纠错成规 caimc21069065-prog/dsh-reflect

DeepSeek Harness
caimc21069065-prog9 天前有提交已提供中文文档扫描:未发现敏感能力

把每次纠正一键固化为永久规则,下次自动生效

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add caimc21069065-prog/dsh-reflect
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-home-paths@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-fs@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-user-questions@deepseek-ai/dsh-working-directory
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-reflect 当你纠正模型时,一键把这条纠正变成永久规则(全局或当前项目),下次自动生效。 dsh-reflect 是 DeepSeek Harness (dsh) 的插件,借鉴 claude-reflect 的核心思路(纠正 → 确认 → 永久规则),并按 dsh 的 Cordis 插件体系重新实现。 - 永不静默写入:任何规则落盘前都会弹出确认条,由你决定保存到全局、当前项目、编辑后保存,或跳过。 - 两条触发路径:显式 remember: 前缀直达确认流程;短提示的自动检测(中文优先)经便宜模型分类后弹出确认条。 - 立即生效 + 原生兼容:确认后规则立刻注入当前会话;同时写入 AGENTS.md 的标记段,新会话由 dsh 原生的 dsh-agent-instructions 加载,即使停用插件也继续生效。 - 纯 Markdown 存储:规则保存在人类可读、可手改、可进 Git 的 AGENTS.md 中。
展开完整文档(README 剩余 1 节)
dsh-reflect

当你纠正模型时,一键把这条纠正变成永久规则(全局或当前项目),下次自动生效。

dsh-reflect 是 DeepSeek Harness (dsh) 的插件,借鉴 claude-reflect 的核心思路(纠正 → 确认 → 永久规则),并按 dsh 的 Cordis 插件体系重新实现。

- 永不静默写入:任何规则落盘前都会弹出确认条,由你决定保存到全局、当前项目、编辑后保存,或跳过。
- 两条触发路径:显式 remember: 前缀直达确认流程;短提示的自动检测(中文优先)经便宜模型分类后弹出确认条。
- 立即生效 + 原生兼容:确认后规则立刻注入当前会话;同时写入 AGENTS.md 的标记段,新会话由 dsh 原生的 dsh-agent-instructions 加载,即使停用插件也继续生效。
- 纯 Markdown 存储:规则保存在人类可读、可手改、可进 Git 的 AGENTS.md 中。

安装

已发布 npm 包后(推荐)
dsh plugin --profile web add dsh-reflect

或从本地检出安装
git clone https://github.com/caimc21069065-prog/dsh-reflect.git
cd dsh-reflect && npm install && npm run build
dsh plugin --profile web add ./dsh-reflect

安装后重启 dsh web 即生效,无需任何预配置。要求 dsh >=0.2.1-rc.2(Node 20.3+)。

使用

显式触发(F1)

remember: 本项目用 pnpm,不要用 npm

消息不会以原文发给模型,而是直接弹出确认条(若确认界面不可用或内容疑似密钥,消息同样被消费,但会注入一条警告说明未保存的原因——绝不会静默消失):

┌──────────────────────────────────────────────────┐
│ 把这条纠正保存为永久规则? │ │ 保存后写入 AGENTS.md,并在之后的会话自动生效。 │ │ │ │ ○ 保存到全局 写入 ~/.dsh/AGENTS.md │ │ ○ 保存到当前项目 写入 ./AGENTS.md │ │ ○ 编辑后保存… 先修改规则文本 │ │ ○ 跳过 本次不保存 │ └──────────────────────────────────────────────────┘

选择「编辑后保存…」会进入第二轮:修改规则文本 + 选择作用域。普通情况下一次点击即可保存(成功指标:≤ 2 次点击)。

自动检测(F2)

发送一条短纠正(默认 ≤ 500 字符),例如:

不要用 npm,用 pnpm

消息照常发给模型;同时插件异步用当前会话的模型路由做一次分类({ is_rule, rule, scope_hint, confidence })。判定为可复用规则且置信度达到阈值(默认 0.7)时,弹出同款确认条——不阻塞模型回答。

立即生效(F6)

确认保存后,插件立刻向当前会话注入一条带 dsh-reflect 来源的 system-reminder 消息,模型从下一个请求开始遵守该规则;无需重启。

配置

在 profile 的 patch 行或用户层 cordis.patch.yml 中覆盖(均有默认值,零配置可用):

- name: dsh-reflect
config:
autoDetect: true # 关闭后仅保留 remember: 显式路径 detectMaxChars: 500 # 参与自动检测的最大提示长度 detectPatternGate: false # 开启后先做纠正措辞正则初筛,省一次分类调用(可能降低召回) detectTimeoutMs: 8000 # 分类模型超时 confidenceThreshold: 0.7 # 弹出确认条的最低置信度 classifierProvider: '' # 留空复用当前会话模型路由(建议配一个便宜模型控制成本) classifierModel: ''
rememberPrefixes: ['remember:', '记住:', '记住:']
globalAgentsFile: '' # 留空为 $DSH_HOME/AGENTS.md(默认 ~/.dsh/AGENTS.md) projectAgentsFile: AGENTS.md locale: zh # 确认条文案语言

存储格式

规则写入目标文件的独立标记段,与文件其余内容互不干扰:

Learned rules

- 本项目使用 pnpm,不使用 npm
- 价格一律用分(cents)表示,不要用元

- 去重:同一规则(忽略大小写与多余空白)不会重复写入。
- 手工编辑:标记段之间可自由增删改;启动后的会话不追踪外部修改,新会话读取最新内容。
- 保护:标记不配对(损坏)时拒绝自动写入并记录错误,绝不盲写整个文件。
- 写入:经 dsh 文件系统服务的版本守卫做读-改-写,与人类/模型的并发编辑竞争时自动重试。

降级行为

| 场景 | 行为 |
| 分类模型不可用 / 超时 / 输出非法 | 静默跳过该候选,不打断会话 |
| 分类进行中又收到新候选 | 排队(同一 agent 保留最新一条),当前分类结束后自动处理 |
| 确认 UI 不可用(headless)或应答被取消 | 触发消息被消费,同时注入一条「规则未保存」的警告通知,并记录日志——绝不静默吞掉 |
| 用户开始新的对话输入 | 未应答的自动检测确认卡自动作废(避免旧卡片悬挂误导) |
| remember: 内容疑似密钥 / 保存前编辑引入密钥 | 拒绝写入并注入警告通知,绝不落盘 |
| 规则已存在(重复保存) | 不重复写入,注入「已存在」提示 |
| 目标文件标记段损坏 / 写入失败 | 拒绝盲写并注入提示,logger.error 记录原因 |
| 确认语 / slash 命令 / 过长提示 | 不进入检测 |
| 并发写入竞争(版本过期) | 自动重读重试;权限等确定性失败立即报错 |

设计决策(对应需求文档 §13 开放问题)

1. 注入时机:不注册常驻 system-prompt 段。新会话的 AGENTS.md 由 dsh 原生 dsh-agent-instructions 作为工作区指令加载;当前会话用一次性 agent.inject() 通知。二者叠加会导致规则重复注入,因此 MVP 刻意二选一:会话内即时通知 + 跨会话原生加载。
2. 确认 UI:复用 ctx.userQuestions.ask() 的通用问题卡片(四个选项 + 自定义输入),不自绘 Web 组件,避免依赖未公开的 Slots API。
3. 项目作用域:以 ctx.workingDirectory 的会话有效目录为准(<cwd>/AGENTS.md),与 dsh 的目录语义一致。
4. 多 profile:规则文件是全局/项目两级路径,天然跨 profile 共享;插件本身随 profile 安装。
5. 远程(SSH)会话:文件写入走会话的 ctx.fs provider。项目作用域随之落到远端项目目录(符合直觉);全局作用域则会写到远端机器的 ~/.dsh/AGENTS.md——这与 dsh 原生 dsh-agent-instructions 读取全局链的方式一致,但多机 SSH 用户的全局规则会分散在各自远端主机上,需要知晓这一点。
6. 成本:默认配置下自动检测用会话主模型路由,每条短消息多一次小调用;建议把 classifierProvider/classifierModel 配成便宜模型,或开启 detectPatternGate 正则初筛。子代理收到的用户消息也会触发一次分类(确认阶段会被 DELEGATED_CALLER 拦下),这部分成本暂无法用公开 API 提前规避。

开发

npm install
npm run typecheck # tsc --noEmit(对齐已发布的 dsh 类型)
npm test # vitest:规则段/检测/确认流程/存储/真实 Cordis 挂载
npm run build # 输出 lib/(ESM,.ts 导入自动改写为 .js)

源码结构:

src/index.ts 插件入口:pre-step 拦截 + inbox 检测 + 保存编排 src/confirm.ts 确认条流程(userQuestions 两轮问答) src/storage.ts ctx.fs 读-改-写(版本守卫 + 重试) src/rules.ts 标记段解析/插入/去重(纯函数) src/detect.ts 快速过滤 + 分类器提示词/JSON 解析(纯函数) src/notice.ts 立即生效通知消息(dsh-reflect source kind) src/config.ts Schemastery 配置模式 src/text.ts 消息文本提取与 remember: 前缀匹配

范围(Non-goals)

MVP 只做「纠正 → 确认 → 永久规则」一条链路:不做通用记忆、历史扫描、skill 生成、多记忆后端、团队同步。参见需求文档 dsh-reflect-requirements.md。

License

MIT
预览分享卡片长什么样 ↓caimc21069065-prog/dsh-reflect
分享 · DeepSeek Harness Hub
caimc21069065-prog/dsh-reflect

把每次纠正一键固化为永久规则,下次自动生效

这是你的仓库?认领条目

回到顶部