danbao/dsh-jev ↗★ 0

dsh-jev

TypeSafe Jev (System One) typed-decision tools for DeepSeek Harness (dsh): ask noul/choice/score questions and get structured answers instead of prose 适合需要让模型输出结构化选择或评分,而非纯文本回答的特定任务。

パッケージ
dsh-jev
互換性
未検証
Harness ピア範囲
>=0.1.6-alpha.2
Cordis ピア範囲
>=4.0.2
バージョン
0.1.0
ライセンス
MIT
最終更新
2026/09/21

同名パッケージの別リポジトリ

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:danbao/dsh-jev

ドキュメント

README 全文を読む ↗

Configuration

The minimal setup is one key:

export OPENROUTER_API_KEY=sk-or-...

Everything else has a default. Override the row's config to change it — every field is documented in cordis.yml:

- id: jev
  name: 'dsh-jev'
  config:
    backend: typesafe            # openrouter (default) | typesafe
    apiKeyEnv: TYPESAFE_API_KEY  # credential reference (an environment variable name)
    model: jev-latest            # omit to use the per-backend default
    timeoutMs: 20000
    budgetMs: 45000
    maxRetries: 1
FieldDefaultMeaning
backendopenrouteropenrouter | typesafe
apiKeyEnvper backendCredential reference; openrouter → OPENROUTER_API_KEY, typesafe → TYPESAFE_API_KEY
apiKey—Literal key (role('secret')). Discouraged; prefer apiKeyEnv
baseURLper backendOverride for a self-hosted gateway or proxy
modelper backendopenrouter → jev-1.13; typesafe → jev-latest
timeoutMs / budgetMs20000 / 45000Per-attempt timeout / whole-call budget (including retry backoff)
maxRetries1Retries after the first attempt
maxQuestions64Maximum questions per call
maxStateChars96000Character limit on the serialized state
maxInstructionChars8000Character limit on one instruction
appName / appUrldsh-jev / —OpenRouter attribution headers X-Title / HTTP-Referer
logRequeststrueStructured log line per evaluation

A settings write is rejected when timeoutMs > budgetMs or baseURL is not a valid URL, so the settings document and the running plugin never disagree.

Model ids across the two backends

OpenRouterTypeSafe direct
Aliasjev-latest → ~typesafe/jev-latestjev-latest
Versionjev-1.13 → typesafe/jev-1.13jev-1.13.0
Pinnedtypesafe/jev-1.13-20260917same style
Extra fieldsresponse carries id, provider, usage.costnone

Usage guidance

  • Ask atomic questions. Instead of "rate this pitch", ask about market size, technical feasibility, and differentiation separately, then weight them with your own formula — changing a coefficient then means changing code, not a prompt.
  • Batch questions. Questions in one request are evaluated independently and in parallel, so asking many at once barely costs more latency.
  • Set your own thresholds. The probabilities exist so your code can branch; a choice answer being the highest-probability option does not make it certain — look at confidence.
  • Never present a Noul as a risk percentage. It is the probability of a yes/no statement.