dsh-plugin-approval-alert
doncelee229-cmyk
DeepSeek Harness 审批/选择方案系统级通知提醒,显示工作区名、点击跳转、多语言。Approval & decision alerts with native notifications for DeepSeek Harnes…
PROJECT TOPICS
PROJECT README
dsh-omv)An evidence-first vulnerability audit workbench for DeepSeek Harness, powered by the public oh-my-vul API.
中文文档 · Architecture · DSH integration guide
OMV Audit Desk is the product name; dsh-omv remains the package id for upgrade compatibility. It is a dual-face, native DSH bundle:
cordis.patch.yml installs both faces into a DSH Web profile.source → sink → guard evidence-chain inspection/omv* commands, including omv-dedup and the Campaign Runtime setomv Cordis service for other plugins, lifecycle diagnostics via omv_runtime_status, and typed dsh-omv/tool-result eventsdsh-omv settings namespace when the Host exposes it, with a browser-local fallback on DSH rc.6; deployment knobs remain in Cordis Config?protocol=1 compatibility, and complete workspace exportnpm install
npm run check
dsh plugin --profile web add .
dsh --profile web
The Vulnerability audit entry opens or reuses the configured DSH Workspace. Every session then exposes a Vulnerability audit tab beside Chat and Trajectory.
Override the row in $DSH_HOME/profiles/web/cordis.patch.yml:
- id: dsh-omv
config:
projectRoot: '/absolute/path/to/repository'
apiPrefix: '/api/dsh-omv'
allowMutations: true
allowRemoteAccess: false
activityLimit: 60
refreshIntervalMs: 15000
campaignConcurrency: 3
watchDebounceMs: 90
eventHeartbeatMs: 20000
httpBodyLimitBytes: 262144
Relative projectRoot values resolve from the directory where DSH starts. A patch replaces the complete config value, so retain every field you still need.
127.0.0.1/::1 and the Host header must be localhost/127.0.0.1/[::1]. The Host check blocks browser DNS-rebinding pages from reading /export or forging /action mutations.allowRemoteAccess: true disables both guards, and the whole API (including every mutation action) has no authentication. Only enable it on a trusted network, behind your own auth proxy or network isolation.allowRemoteAccess: true to pass the Host check.Other plugins can consume the host capability without depending on the HTTP bridge:
import type { Context } from '@deepseek-ai/cordis'
export const inject = ['omv']
export function apply(ctx: Context) {
ctx.on('dsh-omv/tool-result', event => {
console.log(event.name, event.ok ? 'ok' : 'failed')
})
void ctx.omv.workbench.health()
}
See README.zh-CN.md for architecture, API, packaging, and configuration details. The implementation-to-guide checklist and follow-up iterations live in docs/dsh-integration.md.
MIT
The source is split across the DSH host entry, client pages, UI primitives, runtime adapters, and shared contracts; all tests live under tests/. See docs/architecture.md. The repository keeps one curated workbench preview at docs/assets/workbench-overview.png; build archives, local .omv data, and test captures are ignored.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。