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

Jev 循环关卡 JWE24-code/dsh-jev-loop

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

在智能体循环四个关卡自动判断并放行或拦截

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

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

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

状态速览

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    lib/index.js:144
    const parsed = JSON.parse(readFileSync(path, 'utf8'));
  • 写入本地文件
    lib/index.js:157
    writeFileSync(path, `${JSON.stringify({ gates: out }, undefined, 2)}\n`);
  • 读取本地文件
    lib/audit.js:28
    size = statSync(path).size;
  • 写入本地文件
    lib/audit.js:35
    renameSync(path, rotatedPath(path));
  • 写入本地文件
    lib/audit.js:55
    appendFileSync(path, line);
  • 发起网络请求
    lib/jev.js:62
    const response = await this.request(body, caller);
  • 发起网络请求
    lib/jev.js:95
    const response = await fetch(this.options.baseUrl, {
  • 发起网络请求
    lib/jev.js:133
    return this.request(body, caller, attempt + 1);
  • 发起网络请求
    lib/loop.js:146
    this.request(input.messages),
  • 发起网络请求
    lib/loop.js:180
    this.request(input.messages),
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 智能体循环关卡判断
  • 自动放行或拦截
  • 不依赖UI

README

由 DeepSeek 最新模型翻译生成
dsh-jev-loop Jev(TypeSafe System One)在 DeepSeek Harness 智能体循环关卡上做判断。不依赖 UI:你可以把它挂到任意 Harness 组合里,无头模式也行。 这是 moqi 的 Jev 循环核心。可选的 /JevLoop 控制面板单独发布,见 moqi-jev-loop,它只依赖本包提供的 jevLoop 服务。 已发布到 npm:dsh-jev-loop。本仓库带有 dsh-plugin 话题——这就是 dshfind 收录机制的全部:市场按该话题索引公开仓库,每天同步一次,所以每次发版都不用单独提交收录。 安装 dsh plugin --profile <profile> add dsh-jev-loop 然后给它一个密钥:在环境里设置 TYPESAFE_API_KEY(或 TYPESAFE_APIKEY),或者把密钥存进 Harness 凭据库的 TYPESAFE_API_KEY 条目。关卡失败即放行——没有密钥、超时、429、JSON 格式错误,都不会阻塞循环。 关卡 | 关卡 | 事件 | Jev 判断什么 | 决策 | | 步前 | agent/pre-step | 请求是否描述不清?
展开完整文档(README 剩余 1 节)
dsh-jev-loop

Jev(TypeSafe System One)在 DeepSeek Harness 智能体循环关卡上做判断。不依赖 UI:你可以把它挂到任意 Harness 组合里,无头模式也行。

这是 moqi 的 Jev 循环核心。可选的 /JevLoop 控制面板单独发布,见 moqi-jev-loop,它只依赖本包提供的 jevLoop 服务。

已发布到 npm:dsh-jev-loop。本仓库带有 dsh-plugin 话题——这就是 dshfind 收录机制的全部:市场按该话题索引公开仓库,每天同步一次,所以每次发版都不用单独提交收录。

安装

dsh plugin --profile <profile> add dsh-jev-loop

然后给它一个密钥:在环境里设置 TYPESAFE_API_KEY(或 TYPESAFE_APIKEY),或者把密钥存进 Harness 凭据库的 TYPESAFE_API_KEY 条目。关卡失败即放行——没有密钥、超时、429、JSON 格式错误,都不会阻塞循环。

关卡

| 关卡 | 事件 | Jev 判断什么 | 决策 |
| 步前 | agent/pre-step | 请求是否描述不清? | 注入一条「先问再猜」的指令 |
| 执行前 | tools/pre-execute | 破坏性 · 数据外泄 · 偏离任务 | log / ask / deny |
| 执行后 | tools/post-execute | 调用成功了,是否悄悄漏掉了什么? | log / block,并给出纠正反馈 |
| 轮次停止 | agent/turn-stopping | 「请求真的完成了吗?」 | nudge 让轮次继续,或放行 |

四个关卡全自动。Jev 给出校准过的概率;阈值和决策由本包负责,任何失败——没有密钥、超时、429、JSON 格式错误——都失败即放行,所以判断服务宕机永远不会阻塞循环。

在配置档的 cordis.patch.yml 里配置 dsh-jev-loop 那一行(见本包的 cordis.patch.yml),或者写在配置档自己的补丁层里。*Enabled 的默认值也能在运行时从 moqi 的 /JevLoop 面板覆盖,覆盖结果持久化到 $DSH_HOME/jev-loop.json。

成本范围

- 每次判断发一个 POST /v1/systemone;执行前关卡把三类危害合并成一次调用。
- 状态有上限(maxStateChars);转录类关卡只发送最后 turnStoppingMaxMessages 条消息。
- 应答按请求体的 SHA-256 缓存,所以判断结果没变就不花钱。
- 每次判断都追加写入 $DSH_HOME/jev-loop.jsonl,带上概率、缓存命中/未命中、延迟和 token 用量。

配置

在 bundle 补丁里配置 dsh-jev-loop 那一行,或者写在配置档自己的补丁层里。

| 字段 | 默认值 | 含义 |
| apiKey | — | 直接写密钥;建议用 apiKeyEnv,这样配置文件里不留秘密 |
| apiKeyEnv | TYPESAFE_API_KEY | 读取密钥的环境变量;也会读 TYPESAFE_APIKEY |
| model | jev-latest | TypeSafe 模型别名 |
| baseUrl | https://api.typesafe.ai/v1/systemone | 评估端点 |
| timeoutMs | 3000 | 每次请求的超时时间 |
| maxRetries | 2 | 遇到 429/529、网络错误、超时后的重试次数 |
| maxStateChars | 24000 | 发送给 Jev 的状态硬上限 |
| cacheEntries | 500 | 内存缓存条目数 |
| auditPath | $DSH_HOME/jev-loop.jsonl | JSONL 审计记录 |
| statePath | $DSH_HOME/jev-loop.json | 持久化的门控开关 |
| preStepEnabled | false | 在第一步之前判断请求 |
| preStepThreshold | 0.7 | 触发追问的澄清概率 |
| preExecuteEnabled | true | 在派发之前判断工具调用 |
| preExecuteMode | log | log 只观察,ask 请求批准,deny 直接拒绝 |
| preExecuteThreshold | 0.7 | 标记某次调用的危险概率 |
| preExecuteSkip | [] | 要忽略的工具名 |
| postExecuteEnabled | true | 检查成功的工具结果 |
| postExecuteMode | log | log 只观察,block 把反馈变成错误 |
| postExecuteThreshold | 0.7 | 拦截结果的漏判概率 |
| turnStoppingEnabled | true | 在回合结束前检查 |
| turnStoppingThreshold | 0.5 | 低于此完成概率就提醒 |
| turnStoppingMaxSteers | 2 | 每回合的提醒次数,避免误判导致死循环 |
| turnStoppingMaxMessages | 14 | 喂给完成度判断的对话消息数 |

测试

npm install # typescript + @types/node
npm run link-harness # symlink the installed harness's @deepseek-ai packages
npm run build
npm test # gates, keyring, loop — no Harness, no network
npm run install-profile -- jev-core # throwaway profile with just this bundle
TYPESAFE_APIKEY=… dsh --profile jev-core

~/.dsh/jev-loop.jsonl 记录每一次判断。

想在自己的配置档里跑只依赖 Harness 的构建,只列出核心 bundle:

bundles: ['@deepseek-ai/dsh-base', 'dsh-jev-loop']

目录结构

src/gates.ts the four judgments and their copy, as pure functions
src/keyring.ts key resolution order, storing, probing, clearing
src/loop.ts JevLoop: state assembly, per-turn budgets, audit, one method per gate
src/jev.ts the TypeSafe client: a Judger port and its live adapter
src/render.ts derived session messages -> plain text
src/index.ts the Cordis adapter: config, event wiring, effects
tests/ the modules above, driven directly
scripts/ harness linking and the throwaway profile installer

文档

模块边界、接缝,以及生成的白板都记录在 docs/ARCHITECTURE.md。
预览分享卡片长什么样 ↓JWE24-code/dsh-jev-loop
分享 · DeepSeek Harness Hub
JWE24-code/dsh-jev-loop

在智能体循环四个关卡自动判断并放行或拦截

回到顶部