curtainsmall/dsh-electro-lab
Electrical & electronics calculation plugin for the DeepSeek Harness. 面向 DeepSeek Harness 的电气电子计算插件。
Project Overview项目介绍
dsh-electro-lab is an electrical and electronics calculation plugin for the DeepSeek Harness. It registers tools, skills, and the ElectroLab Mode agent preset on mount. The preset isolates the session to the plugin's calculation tools, blocking shell, filesystem, and network access. Every numeric value must come from a tool call result, never from memory or manual arithmetic, and each solve is settled to disk for inspection. The plugin is installed via dsh plugin --profile web add dsh-electro-lab and is released under MIT. One caveat: ElectroLab Mode runs in a strict sandbox and halts when conditions are insufficient, so advanced cases may require additional inputs.
dsh-electro-lab 是 DeepSeek Harness 的电气与电子计算插件。它在挂载时注册工具、技能以及 ElectroLab Mode 代理预设。该模式隔离会话,仅使用插件内的计算工具,禁用 shell、文件系统与网络访问。所有数值必须来自工具调用结果,不可凭记忆或手算得出。每次求解都会落盘记录,可在客户端面板查看,并能一键经由宿主 LLM 生成完整的技术文章。安装命令为 dsh plugin --profile web add dsh-electro-lab,MIT 许可证。注意:ElectroLab Mode 会话受沙箱限制,复杂工况需补充条件后重试。
请帮我了解并安装插件:【dsh-electro-lab】【https://github.com/curtainsmall/dsh-electro-lab】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-electro-lab
把 curtainsmall/dsh-electro-lab 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DeepSeek Harness ElectroLab
An electrical & electronics calculation plugin for the DeepSeek Harness.
Install
dsh plugin --profile web add dsh-electro-lab
ElectroLab Mode
The plugin works as an agent preset: pick ElectroLab Mode when starting a session and ask any electrical or electronics calculation question in plain language. The session is isolated to the plugin's tools — no shell, no file system, no network — so every number in the answer comes from the engine, and the agent stops and asks when the conditions are insufficient.
All calculation happens inside a deterministic engine. The agent operates it through three primitives — set (write a typed value into a slot), get (read a slot) and call (run one of 38 math solvers and store the result) — bracketed by the record markers record_question / record_analyse / record_answer. Typed values carry their own kind, variant and prefix (e.g. {type: "number", value: 25, kind: "temperature", variant: "degC"}); the engine stores them as given and performs SI and unit conversion only at calculation boundaries. Every step lands in a per-record trace file, so each solve is a reproducible process that can be replayed without re-computing.
The solver catalog covers expression algebra, series, transfer functions, DSP/DFT, signal quality (THD, jitter, ADC budget), circuits (impedance, resonance, transients, AC power), electronics (op-amps, dividers, LED), RF & Smith chart (reflection, matching networks), transmission lines, noise, and filter design. See the engine manual.
Settled records are listed in the client panel's Records tab (indexed from record-index.jsonl, refreshed every 5 s); incomplete records are marked as such. Record bodies are process traces under ~/.dsh-electro-lab/records/. The list has a select mode (multi-select, select all, delete with confirmation) and each record opens a timeline detail page: collapsible cards for writes/reads/failures and calls, JSON tree values with zebra striping, and a fixed toolbar/title area with the timeline scrolling beneath it.
Article generation
The record detail page's right rail offers Markdown and LaTeX generation: the host LLM writes a fluent, self-contained solution article from the record's trace (question, established conditions, analysis notes, solver steps with their resolved arguments and results, and the final answer), presented as the model's own calculation — never mentioning ElectroLab, solvers or the generation process. Each button opens its own setup dialog (article language, output directory with a host-driven directory browser, file name; remembered across runs), then runs a cancellable background job whose progress dialog can be minimized to a corner pill that survives navigation. LaTeX articles are proper XeLaTeX documents (ctexart for zh-CN, fontspec + unicode-math + siunitx for en — pure Unicode throughout); PDF compilation is LaTeX-only (xelatex, two passes). Markdown output is written flat as .md and never compiled. The generated file is the primary artifact: open it or its folder straight from the progress dialog.
Logs
The plugin logs one text line per event to stdout and to one file per host run, ~/.dsh-electro-lab/logs/<YYYY-MM-DD_HH-mm-ss.SSS>.log.
DSH_ELECTRO_LAB_LOG_LEVEL=debug|info|warn|error|off (default info) is the only setting. The newest 20 run files up to 50 MB are kept. A log whose last line is not plugin unmounted belongs to a run that was killed.
Development
See Contributing for the development setup, commit conventions, and release process.
Docs
- Engine manual (also in 简体中文)
- Contributing
License
MIT © 2026 curtainsmall
anywhere-labs/dsh-desktop
ccch1mneyyy/dsh-TUI
shaobeichen/dsh-pocket
whitelonng/dshcode
myYangyunfan/dsh_desktop
lencx/Minke
Nagi-ovo/dsh-ads