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

上下文闸门 vb2250158/dsh-jev-context-gate

DeepSeek Harness
vb225015821 天前有提交已提供中文文档扫描:含敏感能力

按事件判定内容并执行预设动作,管控上下文

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · security
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 21 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/11) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 15 处,展示前 15 条)
  • 写入本地文件
    scripts/build.mjs:6
    await mkdir(resolve(root, 'lib'), { recursive: true })
  • 写入本地文件
    scripts/build.mjs:8
    await copyFile(resolve(root, 'src/question-worker.mjs'), resolve(root, 'lib/question-worker.mjs'))
  • 写入本地文件
    scripts/build.mjs:9
    await copyFile(resolve(root, 'src/candidate-worker.mjs'), resolve(root, 'lib/candidate-worker.mjs'))
  • 删除本地文件递归
    scripts/build.mjs:11
    await rm(temp, { recursive: true, force: true })
  • 写入本地文件
    scripts/build.mjs:19
    await writeFile(resolve(root, 'lib/client.js'), artifact)
  • 删除本地文件递归
    scripts/build.mjs:20
    await rm(temp, { recursive: true, force: true })
  • 读取本地文件
    scripts/update-native-models.mjs:7
    const current = JSON.parse(await readFile(path, 'utf8'));
  • 请求外部主机openrouter.ai
    scripts/update-native-models.mjs:8
    const response = await fetch('https://openrouter.ai/api/v1/models?output_modalities=decisions', { signal: AbortSignal.timeout(30000) });
  • 发起网络请求
    scripts/update-native-models.mjs:8
    const response = await fetch('https://openrouter.ai/api/v1/models?output_modalities=decisions', { signal: AbortSignal.timeout(30000) });
  • 读取本地文件
    scripts/update-native-models.mjs:14
    const special = JSON.parse(await readFile(new URL('../docs/native-model-exceptions.json', import.meta.url), 'utf8'));
  • 写入本地文件
    scripts/update-native-models.mjs:27
    await copyFile(path, backup);
  • 写入本地文件
    scripts/update-native-models.mjs:29
    await writeFile(path, serialized);
  • 读取本地文件
    scripts/update-native-models.mjs:30
    if (await readFile(path, 'utf8') !== serialized) throw new Error(`Catalog verification failed; backup: ${backup}`);
  • 发起网络请求
    src/decision-adapter.mjs:16
    const response = await this.request({ ...request, questions }, operation);
  • 发起网络请求
    src/decision-adapter.mjs:51
    return super.request({ ...request, state: { text: JSON.stringify(request.state) }, questions }, operation);
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:openrouter.ai

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/dsh-skill@deepseek-ai/dsh-settings@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-ui-model-selection@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-api-session-controller
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按事件判定内容
  • 执行预设动作
  • 管控上下文

数据驱动的预检与证据感知审查门禁,为 DeepSeek Harness 而设

README

由 DeepSeek 最新模型翻译生成
dsh-jev-context-gate 本版本要求 DSH 0.2.1-alpha.1 或兼容的 0.2 版本。详见兼容性说明。 DSH 的智能规则插件(包名 dsh-jev-context-gate)。插件 → 智能规则 → 配置可配置事件判断、内容筛选和动作执行;DSH 0.2 的配置按插件入口 ID dsh-jev-context-gate 读写。选择独立判定模型后,按事件读取待判断内容、提出选择题,并执行获选选项配置的行为。普通模型使用 LLM JSON 估计选项概率;型号以 jev- 开头时标为 Jev 原生,原生结构化调用仍需模型提供商接入。 统一上下文策略 状态预览只缩短结构化数组,不截断无法解析的事实或授权文本;无法缩至预览预算时保留原文,由正常压缩处理。 版本按发布序号判断,表面头部替换不会让旧状态覆盖新状态。复制会话后重新绑定本会话的查询序号;运行状态复用已记录的完整分节,其余视图携带捕获原文。旧版本复制若缺失源全文,保留现有视图并要求刷新来源后再查询。 contextPolicy 默认开启,独立于模型判定总开关。快照和目录按 source.kind、source.plugin、source.contextKey、source.form 确定同一会话内的身份;snapshot、catalog 保留最新版本,普通用户消息保持原样。
展开完整文档(README 剩余 1 节)
dsh-jev-context-gate

本版本要求 DSH 0.2.1-alpha.1 或兼容的 0.2 版本。详见兼容性说明。

DSH 的智能规则插件(包名 dsh-jev-context-gate)。插件 → 智能规则 → 配置可配置事件判断、内容筛选和动作执行;DSH 0.2 的配置按插件入口 ID dsh-jev-context-gate 读写。选择独立判定模型后,按事件读取待判断内容、提出选择题,并执行获选选项配置的行为。普通模型使用 LLM JSON 估计选项概率;型号以 jev- 开头时标为 Jev 原生,原生结构化调用仍需模型提供商接入。

统一上下文策略

状态预览只缩短结构化数组,不截断无法解析的事实或授权文本;无法缩至预览预算时保留原文,由正常压缩处理。

版本按发布序号判断,表面头部替换不会让旧状态覆盖新状态。复制会话后重新绑定本会话的查询序号;运行状态复用已记录的完整分节,其余视图携带捕获原文。旧版本复制若缺失源全文,保留现有视图并要求刷新来源后再查询。

contextPolicy 默认开启,独立于模型判定总开关。快照和目录按 source.kind、source.plugin、source.contextKey、source.form 确定同一会话内的身份;snapshot、catalog 保留最新版本,普通用户消息保持原样。一个插件提供多份同类状态时必须指定不同 contextKey。旧状态通过带计量记录的空 developer 节点撤下,原始日志保留。大型状态提供数组数量和少量条目,技能目录保留所有名称并缩短简介;模型通过 context_read 按原始序号分页读取完整内容。

项目指令只对 agent-instructions 提供者记录的完整批次去重,要求正文、文件身份、摘要版本及来源元数据全部一致。内容或版本不同的批次保持原样,压缩摘要不能代替正文。成功压缩后,目录和指令在同一次请求冻结前补回日志;部分指令仍在尾部时,按原顺序重新记录基线、后续修改与删除通知,避免旧基线覆盖新规则。指令发现及文件读取预算仍归原提供者配置,不由本插件扩大。

请求在实际路由、完整输入和工具定义入日志后执行策略,再检查压缩压力。阈值统一取窗口的 thresholdRatio 与扣除输出预留、headroomRatio 后预算的较小值;压缩目标与保留尾部按剩余消息预算的 targetRatio、retainRatio 计算,适用于所有模型。默认比例依次为 0.8、0.06、0.4、0.16;状态预览上限为 12000 字符,目录描述上限为 96 字符,数组预览 3 项,详情页 4096 字符。这些值均可通过插件配置的 contextPolicy 修改。输出预留仍采用适配器声明的有效值,不假定服务端执行了本地输出上限。

启用前必须应用 宿主补丁 并重建涉及的 Host 包。补丁增加完整请求检查入口、固定本次路由容量、压缩目标策略和快照原始版本识别;策略实现由本插件维护。另一台电脑先核对 补丁说明 的基线与依赖补丁,运行 git apply --check 后应用;上游更新后重新检查。缺少补丁时开启策略会报错;设置 contextPolicy.enabled: false 可保留已有智能规则。插件卸载撤销工具和监听,已记录的替换继续参与会话回放。

0.1.22

扩展事件的候选参数允许只有一项。选择「裁剪」时,emit() 返回的 parameters 才把该参数替换为入选项;选择「注入额外内容」时,参数保持原样,入选项仍在 selections 中返回。事件提供者依据返回参数决定实际写入或裁剪。

0.1.21

事件、判断输入与动作目标分开配置。规则可以选择「扩展事件」,填写事件 key、显示名称及作为判断输入的参数 key;已连接的事件提供者会列出可选参数及其显示名称。未连接提供者的规则可保存,但不会触发。事件提供者可注册如群消息、个人消息或每日记录的事件,需传入稳定事件 ID、当前 Agent 和参数;Jev 本身不假装监听尚未接入的外部渠道。

「调用外部动作」属于具体选项,动作参数可增删,参数 key 与显示名称分别保存。内置 tool 适配器可调用任何已安装工具,并把生成消息写入指定参数;arg. 参数会作为该工具的其他参数。rabi 只是一个可选适配器,渠道、对象类型、对象 ID、Route ID、等待回复及检查间隔都在动作参数中,可改为个人或其他受 Rabi 支持的目标;未安装 Rabi 时不影响其他规则。旧工作群配置在读取时迁移到选项动作,不再由规则顶层的群字段决定行为。两条预置规则的事件、监听工具、题目、选项及动作均可编辑。

扩展插件可通过 ctx.inject(['jev'], scope => scope.jev.registerEvent({ key, display, parameters })) 注册事件,随后调用 scope.jev.emit({ key, id, agent, parameters, signal });注册返回撤销函数。动作适配器通过 scope.jev.registerAdapter({ key, display, parameters }, handler) 注册。参数定义使用稳定 key 和独立 display,可附 required、kind 和 defaultValue。当前版本没有内置群消息接收事件;要监听群,须由消息来源插件注册并投递该事件。等待回复仍由当前进程持有,重启后不会自动恢复。

扩展事件可选择「事件参数作为选项」:提供者传入字符串数组或 { id, text } 数组,规则按当前判断内容一次评分,并用阈值、前/后 N 项等配置筛选。emit() 返回处理后的 parameters 和逐规则入选项 selections;提供者负责将返回值应用到它拥有的事件,例如替换待注入目录。没有固定的渠道或候选总数,实际数量受模型输入输出容量和 64000 字候选内容上限约束。

通用工具动作可在动作参数中设置 toolName、messageArgument 和任意 arg.<工具参数名>;若目标工具支持幂等 ID,再设置 idempotencyArgument 为目标工具的参数名。相同会话、事件和规则会得到同一个 ID;目标工具是否去重由其自身实现负责。

0.1.20

规则新增「工具调用前」和「工具调用后」事件。可从当前工具目录选择监听对象,也可输入确切工具名、rabiroute_ 一类前缀或 *。工具调用前的选项可配置「拦截工具调用」;调用后的选项可补充上下文,或经 Rabi 向工作群发送进度和问题。

预置「工作群进度更新」判断 Rabi 工具结果是否值得主动报告;「工作群提问并等待」判断当前会话是否有必须请群成员解答的问题。两条规则默认关闭,须在编辑弹窗填写精确 Route ID、群 ID、人格 ID 后启用。群消息由判定模型根据事件和可编辑动作说明生成,经 rabiroute_agent_send 发送;只有 Rabi 返回已发送的渠道回执才视为成功。提问后每 10 分钟通过 rabiroute_manager_api 查询新入站消息,最长检查次数也可配置;引用原提问的回复直接续投,未引用的消息先判定是否回答了问题。轮询由当前 DSH 进程持有,进程重启会结束这次等待。

0.1.17

动态筛选在一次模型请求中提交全部候选项,要求返回每项的 0–1 评分,再按规则选取评分前 N 个、后 N 个、大于 N% 或小于 N% 的项。没有固定的 100 项分批上限;模型服务商仍须容纳本次完整输入和输出。旧规则的最低相关度可在「附加最低评分」中修改。

「选项与行为」可选手动配置、待判断内容作为选项、固定内容逐行作为选项,或脚本生成选项。待判断内容支持按换行、空格或指定字符串拆分。动态选项的行为可设为裁剪或注入额外内容;前置事件的裁剪只注入入选内容,保留用户原消息。Skill 目录事件提供 skills 参数供选择,界面显示「当前可用 Skill」,保存稳定参数 key,显示文案 display 可独立本地化。Skill 目录的裁剪会把入选项返回给事件,替换本次目录;默认「Skill 裁剪」保留前 10 项,数量可改。

0.1.16

「Skill 裁剪」的保留数量直接在编辑弹窗的「最多保留多少条」中修改,例如从 10 改为 5。一次判定对候选项分别评分;最多 100 条候选为一批,超过时分批评分并对入围项复评,不为每个 Skill 单独发送一次请求。即使候选数量不超过保留数,也会按最低相关度筛选。

同一筛选能力也支持自定义内容:添加规则,事件选「用户发送消息」,判定方式选「筛选自定义候选」,每行输入一条注意事项,选择待判断内容、设置题目和「最多保留多少条」。入选内容会注入当前会话。候选来源也可改为「筛选脚本候选」;脚本每次事件发生时执行,可读取本机文件,返回字符串数组或 { id, text } 数组。候选至少 2 条、最多 500 条,总内容不超过 64000 字;保留数量为 1–50。

0.1.15

规则列表直接显示标题和说明。点击「编辑」在独立弹窗中配置事件、待判断内容、题目和选项行为;弹窗内保存,取消会撤销本次编辑。旧规则缺少标题时,列表以说明作为名称,标题和说明都为空时显示「未命名规则」。

0.1.14

新增配置规则「Skill 裁剪」:事件为 Skill 目录准备注入,输入为当前可见会话上下文,题目为「与当前上下文最相关的 Skill 有哪些?」,候选选项由可用 Skill 的名称和简介动态生成,动作参数为保留数量 10。判定模型给候选项分别打相关度分数,主模型只收到保留的简介。标题、题目、输入、阈值和保留数量都可在规则里编辑;规则可关闭。前置规则的选项也可指定一个 Skill 名称,命中时由 DSH Skill 服务加载并注入其正文。另有「Skill 正文准备注入」事件:每次 Jev 准备注入自己选中的 Skill 时,按规则分别判断,可继续、跳过或附加上下文。用户显式调用的 Skill 保持原有宿主行为。

0.1.13

规则标题、规则说明和题目标题分别保存。收起的卡片显示规则标题与说明;编辑时一次只展开一条规则,选项动作内容按需展开,保存操作位于列表上方。旧规则没有标题时显示规则序号,可在编辑区补填。

0.1.11

规则页在浏览器接收到旧格式规则时先迁移再渲染,避免首屏短暂崩溃。

0.1.10

- 每条规则有独立开关和可编辑说明;收起时显示说明、题目与内容来源。编辑区按「事件 → 待判断内容 → 题目 → 选项与行为」紧凑排列,详细帮助按需展开。每个选项分别设置动作类型及文字参数,未选中的行为不会执行。
- 事件可选「用户发送消息」或「工具返回结果」。内容可选最新用户消息、当前步骤可见文本、本轮工具结果或自定义固定文字。运行时读取的内容在规则页说明。
- 题目可直接配置标题和选项,也可由自定义 JavaScript 生成标题和选项文案。脚本在本机工作线程执行,可自行读取文件,必须返回同一组选项 ID;脚本不能修改选项行为。
- Jev 有一个总开关。测试是规则页内的独立视图,由「打开测试页面」进入;测试不执行规则或修改会话。
- 旧规则在读取时迁移为「是/否」或「有失败/全部成功」的选项行为;旧前置、后置开关保留兼容字段,但不再控制运行。

规则语义

| 字段 | 可配置内容 | 运行时含义 |
| 规则标题、规则说明 | 分别输入 | 用于识别和解释规则,不发送给判定模型 |
| 事件 | 用户发送消息、Skill 目录准备注入、Skill 正文准备注入、工具返回结果、工具调用前、工具调用后 | 前三个在 agent/pre-step,工具调用前后在工具管线,旧工具结果事件在含工具结果的 llm/stream |
| 待判断内容 | 下拉选择来源,或自定义文字 | 动态来源在事件发生时读取;自定义文字按原样使用 |
| 题目 | 直接配置或生成脚本 | 标题与 2–16 个选项一同发给判定模型 |
| 选项 | 文案、动作类型、动作参数 | 最高概率选项达到规则阈值后才执行该选项动作 |

前置动作「补充主会话上下文」会追加一条插件消息;「注入 Skill 正文」按选项中配置的名称加载。Skill 事件的「跳过此次 Skill 注入」只作用于当前候选 Skill;若启用了 Skill 事件规则但判定不可用,本次注入不执行。工具结果事件的动作「在答复末尾追加提醒」发生在原始流结束前,不会撤回已显示文字。判定失败、脚本失败、无事件内容、结果无效或超过上下文预算时不执行动作。普通模型概率是自报估计,不是校准置信度。

「Skill 裁剪」处理宿主注入的 Skill 简介目录,不是批量加载 Skill 正文。目录规则判定失败时保留宿主原目录并写入警告;旧会话此前已记录的完整目录仍留在历史中,新会话首次注入即按规则裁剪。

题目脚本

脚本正文接收 event(before、skill-catalog、skill-injection、after、tool-before 或 tool-after)、input(本次待判断文字)和 options([{ id, label }])。它可以使用 await import(...) 和本机文件 API,须在 5 秒内返回:

const fs = await import('node:fs/promises')
const extra = await fs.readFile('C:/rules/question.txt', 'utf8')
return {
title: extra.trim() + ':这条消息需要调查吗?',
options: options.map(option => ({ id: option.id, label: option.label })),
}

脚本在独立工作线程运行,但拥有本机 Node 权限;仅配置自己信任的代码。输出只能改变标题和选项文案,动作始终来自已保存规则。

开发与发布

npm run check
npm pack --dry-run

发布顺序:提交并推送源码和版本标签 → 确认远端 SHA → 更新私有 plugins.json 中的固定 SHA 与版本 → Import → 重启 DSH → 回读安装包和浏览器交互。不要用 link:、file: 或 workspace: 作为安装源。

限制

Jev 原生结构化调用尚未接入;普通模型返回的概率未经校准。追加提醒不能阻止此前已经流式显示的文字。插件不会验证模型给出的事实结论。

MIT

插件显示元数据

插件列表按 DSH 界面语言显示:英文为 Smart rules,中文为 智能规则。locale/en.json 和 locale/zh.json 提供标题和描述;icon.svg 提供自包含图形。安装包会导出并发布这些资源。图标改编自 Lucide;见 ICON_LICENSE.txt。

插件设置入口

在插件列表中点击本插件进入详情页,即可使用原有配置和操作界面;设置菜单不再重复显示该插件入口。

图标使用居中的 36 × 36 viewBox,在插件图标框内为图形留出更多空间。
预览分享卡片长什么样 ↓vb2250158/dsh-jev-context-gate
分享 · DeepSeek Harness Hub
vb2250158/dsh-jev-context-gate

按事件判定内容并执行预设动作,管控上下文

回到顶部