- Startseite
- Plugins
- Skills
- dsh-svw-waveform
dsh-svw-waveform
svcomplex-dev/dsh-svw-waveform
Native SVW waveform rendering plugin for DeepSeek Harness
Installation
dsh plugin --profile web add github:svcomplex-dev/dsh-svw-waveformREADME
dsh-svw-waveform
Native SVW waveform rendering for DeepSeek Harness.
The plugin registers svw_wave_render. The model supplies an exact VCD or FST
path, native tick range, and one to twelve hierarchical signal names. In the
DeepSeek Harness Web UI the result becomes an interactive waveform viewer with
zoom, pan, markers, radix selection, edge navigation, and delta-cycle markers.
Surfaces without the client plugin fall back to the complete ANSI terminal
waveform card.
Install
Install the public npm bundle into the Web profile:
dsh plugin --profile web add dsh-svw-waveform
dsh --profile web --dump-config
dsh --profile web
The npm bundle selects a package-private SVW executable for Linux x64 or macOS
arm64. It does not compile on the consumer machine and has no install,
postinstall, or prepare script. Set SVW_BIN=/absolute/path/to/svw to use
an independently installed binary instead. On macOS, an existing Homebrew SVW
installation is also accepted as a fallback.
DeepSeek Harness is still a developer preview. This package currently supports
the @deepseek-ai/dsh 0.1.x release-candidate line and tests every change
against a pinned version before publication.
Use
First obtain exact signal names:
svw agent design.vcd signals reset 20
Then ask the agent to display a bounded window, or call the registered tool with arguments equivalent to:
{
"waveform": "design.vcd",
"start": 100,
"end": 160,
"hier": ["top.clk", "top.reset_n"],
"width": 120,
"height": 24
}
The bundled svw-waveform skill teaches the agent the complete discovery,
value/change, render, comparison, semantic-design, UVM, and coverage workflows.
Artifact provenance
SVW GitHub Releases are the only binary source. This repository never rebuilds SVW. Its release workflow:
- downloads the exact
release-X.Y.ZLinux and macOS archives and SHA256 sidecars; - rejects unsafe archive paths and extracts only declared regular files;
- smoke-tests
svw --version, waveform metadata, and a real render; - audits dynamic libraries on clean GitHub-hosted runners;
- packages the byte-identical
bin/svwfiles into platform-specific npm packages before publishing the entry bundle.
The platform packages are:
dsh-svw-waveform-linux-x64dsh-svw-waveform-darwin-arm64
Each package includes svw-provenance.json with the source Release asset and
both archive and binary SHA256 values. Replacing an asset under the same SVW
tag creates a new immutable plugin patch version rather than overwriting an npm
version.
The host and browser integration are synchronized from the versioned
share/svw/agents/dsh-extension files inside the same verified SVW archive.
svw-source.json records their original hashes and the small downstream
packaging transforms.
Publishing setup
The publish.yml workflow accepts either repository_dispatch event
svw-release-published or a manual release-X.Y.Z input. It supports a
temporary NPM_TOKEN for bootstrapping the three package names. After that,
configure npm Trusted Publishing for each package with:
- GitHub organization:
svcomplex-dev - repository:
dsh-svw-waveform - workflow filename:
publish.yml - allowed action:
npm publish
Once all three trusted publishers work, remove NPM_TOKEN. The workflow uses
GitHub OIDC and publishes npm provenance automatically.
Development
npm run verify
sh scripts/setup-git-hooks.sh
All commits and annotated package tags must use
svcomplex-dev <code@svcomplex.ai>.