Releases: mokuyoaxis/dsh-iris
Release list
Iris v0.1.3
Iris Media for DSH 0.1.3
Version 0.1.3 makes media tasks safer to recover and much harder to accidentally submit twice. It is a reliability release: no new media provider is added.
Highlights
- Introduces Task/Attempt v2 across image, video, transcription, and TTS generation. One user intent owns one Task, while provider/model candidates become auditable Attempts.
- Records every Attempt before a potentially billable request. Automatic failover is allowed only after an explicit
not_acceptedresult; timeouts, 5xx responses, disconnects, missing responses, and local persistence failures stop conservatively. - Separates remote generation outcome from local artifact delivery. A download or filesystem failure no longer rewrites a successful generation as failed.
- Adds stable workbench states for paused observation, unknown acceptance/outcome, and unavailable artifacts, with a dedicated “Needs attention” section on desktop and mobile.
- Adds re-observe and re-deliver controls that never submit a new generation request. Informed retry requires a separate duplicate-charge confirmation, creates a linked new Task, and archives the original reminder so it is not counted twice.
- Adds acknowledge/restore controls for attention items. Acknowledgement only changes local reminder metadata; it never rewrites unknown provider facts. Legacy read-only labels now require an explicit Task v1 marker, avoiding false labels during hot-update version skew.
- Adds process-scoped state epochs/revisions and SSE backpressure coalescing so delayed snapshots and slow clients cannot roll the UI backwards.
- Adds an offline, zero-network Doctor API and CLI:
dsh-iris doctor [--json], also available throughnpx @mokuyoaxis/dsh-iris doctor. Exit codes are 0 for healthy, 1 for warnings, and 2 for hard errors. - Publishes architecture, security-boundary, provider-submission, task-semantics, and fault-injection documentation.
Safety notes
- Re-observe only polls an already accepted remote task.
- Re-deliver only queries and downloads an already successful result.
- Informed retry may duplicate a still-running remote job and may incur another charge. Iris requires explicit confirmation and currently exposes it only when the original text input can be reconstructed safely.
- The offline Doctor does not start DSH, contact providers, print API keys, or claim that browser/tool registration is healthy.
Compatibility
- DeepSeek Harness:
>=0.1.2-rc.1 <0.1.3-0 - Node.js:
>=20.10.0 - Package:
@mokuyoaxis/dsh-iris
This release was developed and locally validated on Linux ARM64 under Android 16 Termux/PRoot Debian with DSH 0.1.2-rc.1. Cross-platform CI results should be confirmed from the release commit before publishing.
Iris v0.1.2
Iris Media for DSH v0.1.2
This release makes Iris easier to discover and use from a normal DSH installation, while giving prompt optimization a first-class place in the conversation composer.
Highlights
- Adds a borderless 🫧 prompt-optimization control to the DSH composer. It supports general, image, video, and S2V prompts; previews before write-back; never sends automatically; and uses a glass, mobile-safe panel.
- Adds an independent, private JSON configuration for optimizer prompts, target templates, model routing, reasoning strategy, and output budget, with import, export, reset, disable, and re-enable controls.
- Defaults optimizer reasoning to
off-if-supported, using DSH model metadata instead of inheriting the session's High/Low setting and consuming the visible output budget. - Registers the bundled
iris-verify-uiandiris-compose-mediaSkills when the plugin starts, so npm users can discover them outside this repository. - Uses the unique Cordis row ID
mokuyoaxis-dsh-iris, avoiding collision with the unrelated unscopeddsh-irispackage. - Adds an English README, architecture and workflow diagrams, an Android 16 screenshot gallery, and a real Iris image generated through the documented prompt-to-artifact loop.
- Keeps the floating quick panel focused on running tasks and recent successful artifacts; failed and canceled history remains available in the full workbench.
- Makes capability indicators immediately reflect configured providers without requiring every action card to be opened first; an action error dims its indicator.
Compatibility
- DeepSeek Harness:
>=0.1.2-rc.1 <0.1.3-0 - Node.js:
>=20.10.0 - Verified locally on Linux ARM64 under Android 16 Termux/PRoot Debian with Node.js 22.23.2 and DSH 0.1.2-rc.1.
Upgrade note
Normal plugin upgrades need no manual migration. If a personal cordis.patch.yml explicitly overrides the old row ID dsh-iris, change that override to mokuyoaxis-dsh-iris.
The npm package remains @mokuyoaxis/dsh-iris; the unscoped dsh-iris name belongs to another project.
Iris v0.1.1
Iris v0.1.1 is a compatibility and hardening release of the media and visual
workspace for DeepSeek Harness, targeting DSH >=0.1.2-rc.1 <0.1.3-0.
Highlights
- Register the client under the full npm package name, fixing a load failure
on DSH 0.1.2+ Web clients. - Raise the minimum Node.js to 20.10; the image dependency requires JSON
import attributes that 20.9 cannot parse. - The workbench now auto-detects media protocols with an explicit override,
and probes models per capability with confirmation before any paid call.
Reliability and data safety
- Corrupted persistence files are quarantined with the original evidence
preserved and rebuilt safely, instead of crashing or silently losing updates. - Large media downloads use streaming atomic writes; failed downloads clean
up their temporary files. - Legacy ai-paint configuration is imported only when
IRIS_IMPORT_WORKBENCH_CONFIG
is set explicitly; default startup no longer reads external paths. - DashScope credentials are bound to official HTTPS endpoints before any
request is sent. - On POSIX, Iris state is stored under
0700directories and0600files;
/iris/*accepts loopback hosts only unlessIRIS_TRUSTED_HOSTSis configured.
Testing and release pipeline
- The full regression suite runs on a Linux/Windows × Node.js 20.10/22 matrix,
with a pure Node.js scheduler, per-file isolation, and automatic temp cleanup. - Windows support hardened end to end: LF-forced checkout, CRLF-tolerant
parsers, and cross-platform module paths. - Releases are now tag-driven: pushing
vX.Y.Zruns the full suite, verifies
the tag againstpackage.json, creates this Release with the packaged
tarball, and publishes to npm with provenance.
Install
dsh plugin --profile web add @mokuyoaxis/dsh-iris
dsh webRequires Node.js 20.10.0 or later and DSH
>=0.1.2-rc.1. Video frame
extraction and video summaries require ffmpeg and ffprobe.
See the README and
User Guide
for provider and model configuration.
Image, video, and speech operations may incur charges from the configured provider.
Package
- npm: @mokuyoaxis/dsh-iris
- Changelog: v0.1.1
Full Changelog: v0.1.0...v0.1.1
Iris v0.1.0
Iris v0.1.0 is the first public release of the media and visual workspace for DeepSeek Harness.
Highlights
- Generate images, video, and speech through configurable providers.
- Transcribe audio through an independent ASR capability.
- Inspect images, run long-image OCR, locate elements, crop regions, and compare pixels.
- Summarize video through frame extraction, visual analysis, and optional transcription.
- Configure providers, model pools, capability routing, file inputs, and task history in the Iris workbench.
- Identify models by provider and model, avoiding collisions between providers.
- Apply ordered generation failover without resubmitting tasks already accepted by a remote service.
Agent Skills
This release ships two repository-level Agent Skills:
iris-verify-ui— repeatable, evidence-based UI visual verification.iris-compose-media— multi-step image, video, speech, and transcription workflows.
The Skills are included in the npm package. Automatic registration into unrelated projects is not part of this release.
Reliability and security
- HTML screenshots render in an isolated sandbox without same-origin host permissions.
- Uploads use streaming limits, temporary files, atomic persistence, expiry cleanup, and cancellation propagation.
- Asynchronous tasks survive restarts and expose media through capability-based URLs.
- Regression coverage includes image routing, i2v, S2V, transcription, uploads, SSE timing, provider updates, and failover behavior.
Install
dsh plugin --profile web add @mokuyoaxis/dsh-iris
dsh webRequires Node.js 20.9.0 or later. Video frame extraction and video summaries require ffmpeg and ffprobe.
See the README and User Guide for provider and model configuration.
Image, video, and speech operations may incur charges from the configured provider.
Package
- npm: @mokuyoaxis/dsh-iris
- Changelog: v0.1.0
Full Changelog: v0.1.0...v0.1.0
Full Changelog: v0.1.0...v0.1.0