dsh-modellix 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -0
- package/README.md +101 -169
- package/README.zh-CN.md +99 -167
- package/docs/assets/chat-media-generation-en.webp +0 -0
- package/docs/assets/chat-media-generation-zh.webp +0 -0
- package/docs/assets/design-results-drawer-en.webp +0 -0
- package/docs/assets/design-results-drawer-zh.webp +0 -0
- package/docs/assets/llm-model-selector-en.webp +0 -0
- package/docs/assets/llm-model-selector-zh.webp +0 -0
- package/docs/assets/media-players-en.webp +0 -0
- package/docs/assets/media-players-zh.webp +0 -0
- package/docs/assets/settings-ready-en.webp +0 -0
- package/docs/assets/settings-ready-zh.webp +0 -0
- package/docs/assets/web-tools-auto-en.webp +0 -0
- package/docs/assets/web-tools-auto-zh.webp +0 -0
- package/docs/en-US/LOCAL_USAGE.md +17 -15
- package/docs/en-US/RELEASE_CHECKLIST.md +270 -0
- package/docs/en-US/USER_GUIDE.md +183 -401
- package/docs/zh-CN/LOCAL_USAGE.md +17 -15
- package/docs/zh-CN/RELEASE_CHECKLIST.md +270 -0
- package/docs/zh-CN/USER_GUIDE.md +182 -400
- package/lib/client.d.ts +16 -2
- package/lib/client.js +1308 -466
- package/lib/client.js.map +1 -1
- package/lib/index.d.ts +159 -109
- package/lib/index.js +995 -192
- package/lib/index.js.map +1 -1
- package/package.json +7 -2
- package/docs/assets/credential-recovery.webp +0 -0
- package/docs/assets/design-desktop.webp +0 -0
- package/docs/assets/design-mobile-en.webp +0 -0
- package/docs/assets/design-proposal.webp +0 -0
- package/docs/assets/design-results-media.webp +0 -0
- package/docs/assets/llm-model-selector.webp +0 -0
- package/docs/assets/onboarding-defaults.webp +0 -0
- package/docs/assets/settings-ready.webp +0 -0
- package/docs/assets/web-tools.webp +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,62 @@ The format follows Keep a Changelog.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.2.0] - 2026-08-31
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added six explicit, namespaced Agent media tools: live model list, live model Schema, natural-language Schema preparation, session/workspace file upload, one-shot generation, and result lookup.
|
|
14
|
+
- Added explicit `modellix_web_search` and `modellix_web_fetch` tools plus Agent routing context so current, external, URL, and source-verification questions can browse automatically without requiring the user to name a tool.
|
|
15
|
+
- Added chat-native media result cards with Preview/JSON tabs, image enlargement, native video/audio players, URL insertion, and downloads.
|
|
16
|
+
- Added the right-side **Modellix Design** session panel with a fixed 360 px desktop content width, full-width narrow behavior, close/focus restoration, a collapsible result list, and independently collapsible result cards.
|
|
17
|
+
- Added background Client job watchers that reconcile submitted cards to terminal state without another Agent result call.
|
|
18
|
+
- Added task ownership by Harness session id, legacy WAL migration compatibility, and per-session result filtering.
|
|
19
|
+
- Added bilingual release/acceptance checklists and twelve new 1920×1080 real-session screenshots covering the current chat-first workflow.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Removed the standalone Design tab. Natural-language chat is now the primary media creation and transformation interface.
|
|
24
|
+
- Kept the advanced exact-parameter editor implementation but hid its entry for this release.
|
|
25
|
+
- Moved parameter preparation to the top of the retained advanced editor.
|
|
26
|
+
- Instructed media routing to reuse the latest relevant result URL for edits and transformations, preventing source-dependent requests from falling back to text-to-media.
|
|
27
|
+
- Changed nonterminal assistant wording to acknowledge submission without embedding immutable queued/running/generating status text.
|
|
28
|
+
- Removed routine payment-warning copy from plugin UI flows; account state and usage details remain available in Modellix.
|
|
29
|
+
- Replaced previous Design-page documentation and screenshots with current chat result, drawer, media player, model selector, Settings, and automatic Web examples in separate English and Chinese sessions.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Fixed duplicate media cards when `modellix_media_generate` and the required one-shot `modellix_media_get_result` referenced the same job.
|
|
34
|
+
- Fixed completed jobs remaining visually “Running” in chat by reconciling stored tool output with the live session controller.
|
|
35
|
+
- Fixed background watchers being disposed during layout slot remounts or temporary drawer closure.
|
|
36
|
+
- Fixed cross-session result leakage by persisting and filtering task session ownership.
|
|
37
|
+
- Fixed running and failed cards exposing empty Preview/JSON panels; these tabs now appear only for successful results.
|
|
38
|
+
- Fixed schema parsing compatibility for current Modellix OpenAPI responses and shared-reference layouts while retaining bounded safety limits.
|
|
39
|
+
- Fixed repeated Agent media generation caused by stale nonterminal prose and ambiguous task ownership.
|
|
40
|
+
|
|
41
|
+
### Security
|
|
42
|
+
|
|
43
|
+
- Kept Credential data write-only and out of media tools, Client state, task WAL records, screenshots, evidence, and diagnostics.
|
|
44
|
+
- Preserved no-automatic-replay behavior for generation and upload submissions with unknown outcomes.
|
|
45
|
+
- Restricted local path uploads to regular, non-symlink files within the active session workspace.
|
|
46
|
+
|
|
47
|
+
### Verification
|
|
48
|
+
|
|
49
|
+
- Added regression coverage for duplicate-card arbitration, background status convergence, controller retain/release across layout remounts, session isolation, legacy WAL records, explicit Web tools, media uploads, and non-stale Agent routing.
|
|
50
|
+
- Verified real image, image-to-video, audio, DeepSeek Agent, Modellix LLM, automatic Web Search/Fetch, native media playback, bilingual 1920×1080 browser flows, responsive behavior, keyboard interactions, and zero browser Console errors/warnings.
|
|
51
|
+
|
|
52
|
+
## [0.1.1] - 2026-08-26
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- Allowed the Modellix credential and removal dialogs to open from inside the Harness Settings modal while retaining external-dialog arbitration and correct focus restoration.
|
|
57
|
+
- Cleared transient live-region copy when the Harness locale changes so an English or Chinese view cannot retain a stale message from the previous locale.
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
|
|
61
|
+
- Replaced the shared mixed-language screenshot set with twelve separate English and Chinese full-screen captures from a real configured Harness session, including live Design, LLM, image generation, Search, and Fetch results.
|
|
62
|
+
|
|
63
|
+
## [0.1.0] - 2026-08-26
|
|
64
|
+
|
|
9
65
|
### Added
|
|
10
66
|
|
|
11
67
|
- DeepSeek Harness Profile Bundle registration with Host and Web Client entry points.
|
package/README.md
CHANGED
|
@@ -2,36 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
# dsh-modellix
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`dsh-modellix` brings Modellix media generation, LLM models, and Web research into [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness). One Modellix API Key enables a chat-first workflow: ask naturally, keep the context in the conversation, and inspect completed work without leaving the session.
|
|
6
6
|
|
|
7
|
-
> Harness and this plugin currently use prerelease interfaces.
|
|
7
|
+
> Harness and this plugin currently use prerelease interfaces. Check the peer dependencies and [CHANGELOG](CHANGELOG.md) before upgrading Harness.
|
|
8
8
|
|
|
9
|
-

|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## What changed in 0.2.0
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
- Removed the standalone Design tab. Chat is now the primary media workflow.
|
|
14
|
+
- Added six explicit Agent tools for media catalog, Schema, parameter preparation, uploads, generation, and result lookup.
|
|
15
|
+
- Added explicit Modellix Web Search and Fetch tools so the Agent can use them automatically when current or source-backed information is needed.
|
|
16
|
+
- Added **Modellix Design** as a right-side session panel. It is 360 px wide on desktop, full-width on narrow screens, and does not squeeze its internal content during opening or closing.
|
|
17
|
+
- Added live chat result cards. A submitted card updates in place when the background task finishes; the one-shot result lookup does not create a duplicate card.
|
|
18
|
+
- Added session-scoped result history, collapsible result lists and cards, image enlargement, native video/audio players, **Add URL to chat**, and **Download**.
|
|
19
|
+
- Kept the exact-parameter editor internally, but its entry is intentionally hidden in this release while the chat-first experience is finalized.
|
|
20
|
+
- Removed routine payment prompts from the UI. A configured Modellix Key already establishes the expected usage model; consumption and details remain available in Modellix.
|
|
21
|
+
|
|
22
|
+
## Capabilities
|
|
18
23
|
|
|
19
|
-
|
|
24
|
+
| Area | User experience | Registered capability |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| Media | Ask the Agent to create, edit, animate, or narrate media | `modellix_media_list`, `modellix_media_schema`, `modellix_media_prepare`, `modellix_media_upload_file`, `modellix_media_generate`, `modellix_media_get_result` |
|
|
27
|
+
| Results | Review media in chat or in the right-side session panel | Live status reconciliation, Preview/JSON for successful jobs, image/video/audio presentation, URL insertion, download |
|
|
28
|
+
| LLM | Select live Modellix models from the Harness model selector | Modellix OpenAI-compatible provider with a live catalog and provider retries set to `0` |
|
|
29
|
+
| Web | Ask a current, external, URL, or source-verification question normally | `modellix_web_search` and `modellix_web_fetch`, selected automatically by Agent routing instructions |
|
|
20
30
|
|
|
21
31
|
## Requirements
|
|
22
32
|
|
|
23
33
|
- DeepSeek Harness `0.1.1-rc.2`
|
|
24
34
|
- Published-package runtime: Node.js `^22.19.0 || >=24.0.0`
|
|
25
|
-
- Source development and release verification: Node.js `24.18.1
|
|
35
|
+
- Source development and release verification: Node.js `24.18.1`, pnpm `11.24.0`
|
|
26
36
|
- A valid [Modellix API Key](https://docs.modellix.ai/get-started)
|
|
27
37
|
|
|
28
|
-
|
|
38
|
+
The plugin contains its own Harness integration. It does not install or invoke `modellix-cli` at runtime.
|
|
29
39
|
|
|
30
40
|
## Installation
|
|
31
41
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Install the published package into the target Web profile, inspect the merged configuration, then start or restart that profile:
|
|
42
|
+
Install the package in the target Web profile, inspect the merged configuration, and start or restart that profile:
|
|
35
43
|
|
|
36
44
|
```sh
|
|
37
45
|
dsh plugin --profile web add dsh-modellix
|
|
@@ -39,226 +47,150 @@ dsh --profile web --dump-config
|
|
|
39
47
|
dsh --profile web
|
|
40
48
|
```
|
|
41
49
|
|
|
42
|
-
`--dump-config` should
|
|
50
|
+
`--dump-config` should contain the `dsh-modellix` Bundle layer and a plugin row with id `modellix`. Replace `web` if you use another profile.
|
|
43
51
|
|
|
44
|
-
|
|
52
|
+
To install a trusted local build:
|
|
45
53
|
|
|
46
54
|
```sh
|
|
47
55
|
pnpm install --frozen-lockfile
|
|
48
56
|
pnpm run verify:release:static
|
|
49
57
|
pnpm pack
|
|
50
|
-
dsh plugin --profile web add ./dsh-modellix-0.
|
|
58
|
+
dsh plugin --profile web add ./dsh-modellix-0.2.0.tgz
|
|
51
59
|
```
|
|
52
60
|
|
|
53
|
-
|
|
61
|
+
See [local usage](docs/en-US/LOCAL_USAGE.md) for the complete Windows-first workflow.
|
|
54
62
|
|
|
55
|
-
##
|
|
63
|
+
## Configure the API Key
|
|
56
64
|
|
|
57
|
-
|
|
58
|
-
2. Enter the API Key and confirm whether the three default-on Design, LLM, and Web switches match your needs.
|
|
59
|
-
3. Select “Save and enable.” After a successful save, the browser never displays the Key again; it only shows Credential status and source.
|
|
60
|
-
4. Select “Configure later” if you are not ready. This does not mark the plugin as usable; the next explicit use of an enabled Modellix capability that needs a Credential requests it again.
|
|
65
|
+
On first use, enter the Key in **Connect Modellix**, keep the required services enabled, and select **Save and enable**. The saved Credential is write-only: the Client receives only configuration status and source, never the stored Key.
|
|
61
66
|
|
|
62
|
-
|
|
67
|
+
Alternatively, provide `MODELLIX_API_KEY` to the Harness launch environment. Environment Credentials are read-only in the UI and require a Harness restart after replacement.
|
|
63
68
|
|
|
64
|
-
|
|
65
|
-
- Supply `MODELLIX_API_KEY` in the Harness launch environment. An environment-sourced Key is read-only in the UI; restart Harness after updating it.
|
|
69
|
+
Do not put a real Key in a repository, command argument, URL, browser storage, log, screenshot, HAR, recording, or test snapshot.
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
## Chat-first media workflow
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
Describe the outcome, not the tool sequence. For example:
|
|
70
74
|
|
|
71
|
-
|
|
75
|
+
> Create a polished 16:9 architectural hero image of a glass botanical research pavilion floating above a dawn cloud sea, with restrained lapis-blue and warm-gold tones, realistic premium materials, no people, no text, and no watermark.
|
|
72
76
|
|
|
73
|
-
|
|
77
|
+
The Agent can then:
|
|
74
78
|
|
|
75
|
-
1.
|
|
76
|
-
2.
|
|
77
|
-
3.
|
|
78
|
-
4.
|
|
79
|
-
5.
|
|
80
|
-
6.
|
|
81
|
-
7. The right results pane groups records as Running, Succeeded, or Diagnostics and supports enlarged images, video/audio playback, and safe downloads.
|
|
79
|
+
1. Search the live media catalog if a compatible model is not already known.
|
|
80
|
+
2. Read that model's live API Schema and use only published fields and values.
|
|
81
|
+
3. Reuse the latest relevant result URL for edit, image-to-video, or video-to-video requests instead of silently switching back to text-to-media.
|
|
82
|
+
4. Upload a local or conversation file when the selected Schema requires a public media URL.
|
|
83
|
+
5. Submit the generation exactly once. An unknown submission outcome is never replayed automatically.
|
|
84
|
+
6. Check once in the Agent turn. A background watcher then updates the existing card to its terminal state without another Agent tool call.
|
|
82
85
|
|
|
83
|
-
|
|
86
|
+
While a task is nonterminal, immutable assistant prose only confirms acceptance and points to the live result card and Modellix Design. It does not leave behind a stale “running” sentence.
|
|
84
87
|
|
|
85
|
-
|
|
88
|
+
### Result behavior
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
- **Running and failed:** show a concise header/status only; Preview and JSON are not offered without a successful result.
|
|
91
|
+
- **Succeeded:** show Preview and JSON tabs. Images enlarge in a focus-managed dialog; video and audio use native players.
|
|
92
|
+
- **One task, one card:** a `generate` card takes ownership of its task; the corresponding `get_result` call does not render a second copy.
|
|
93
|
+
- **Session isolation:** the right panel shows only tasks owned by the current Harness conversation. Legacy records without a session owner are not injected into new sessions.
|
|
94
|
+
- **Actions:** **Add URL to chat** appends the selected resource URL to the composer; **Download** opens the upstream resource safely.
|
|
95
|
+
- **Expiry:** the displayed expiry follows the upstream result. If none is provided, the plugin applies a seven-day local display limit; it does not extend the upstream URL or keep a permanent media copy.
|
|
88
96
|
|
|
89
|
-
|
|
97
|
+

|
|
90
98
|
|
|
91
|
-
|
|
99
|
+

|
|
92
100
|
|
|
93
|
-
|
|
101
|
+
## Modellix Design panel
|
|
94
102
|
|
|
95
|
-
|
|
96
|
-
2. In Modellix settings, inspect catalog status, model count, and last refresh time; refresh manually when needed.
|
|
97
|
-
3. Select a model under the Modellix provider in the Harness model selector. The choice applies to the next model call.
|
|
103
|
+
The **Modellix Design** button sits at the far right of the conversation header, beside **Session log**. It opens a split-panel experience on large screens and a full-width overlay on narrow screens.
|
|
98
104
|
|
|
99
|
-
|
|
105
|
+
- The entire Results list is expanded by default and can be collapsed.
|
|
106
|
+
- Every result card is expanded by default and can be collapsed by selecting its header.
|
|
107
|
+
- The close button returns focus to the launcher.
|
|
108
|
+
- The advanced exact-parameter editor remains implemented but its entry is hidden in `0.2.0`; ordinary users work through chat.
|
|
109
|
+
- At 560 px and below, the panel uses the available viewport width. At 360 px and below, the launcher becomes a reachable compact control.
|
|
100
110
|
|
|
101
|
-
|
|
111
|
+
## LLM models
|
|
102
112
|
|
|
103
|
-
When
|
|
113
|
+
When LLM is enabled, the plugin reads the live Modellix catalog and adds those models to the Harness model selector. It does not fabricate fallback entries when the catalog is unavailable. Refresh status and model count are available in Modellix settings.
|
|
104
114
|
|
|
105
|
-
|
|
115
|
+

|
|
106
116
|
|
|
107
|
-
|
|
117
|
+
## Automatic Web Search and Fetch
|
|
108
118
|
|
|
109
|
-
|
|
110
|
-
- independent Design, LLM, and Web switches;
|
|
111
|
-
- LLM catalog health, model count, last refresh time, and manual refresh.
|
|
119
|
+
Users do not need to name a tool. For current, changing, external, or source-verification questions, the Agent is instructed to use `modellix_web_search`. When the user provides a public URL or a search result needs full-page reading, it uses `modellix_web_fetch`.
|
|
112
120
|
|
|
113
|
-
|
|
121
|
+
The explicit Modellix tools and the native Harness providers share the same underlying service, but the routing instruction prevents both tool families from being called for the same operation. Failed or unknown Web requests are not repeated automatically.
|
|
114
122
|
|
|
115
|
-
|
|
123
|
+

|
|
116
124
|
|
|
117
|
-
|
|
125
|
+
## Settings and recovery
|
|
118
126
|
|
|
119
|
-
|
|
127
|
+
The Modellix settings section shows:
|
|
120
128
|
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
- UI text follows the current Harness locale. `README.md` is the default English entry, with a complete Chinese edition alongside it.
|
|
129
|
+
- Credential configured/verification status and source;
|
|
130
|
+
- replacement and removal actions for a writable local Credential;
|
|
131
|
+
- independent Design, LLM, and Web switches;
|
|
132
|
+
- live LLM catalog health, count, refresh time, and manual refresh.
|
|
126
133
|
|
|
127
|
-
|
|
134
|
+
Only HTTP 401 marks a Credential invalid. HTTP 402, 429, network failures, and 5xx retain their own recovery states. Concurrent 401 responses are coalesced into one Credential dialog.
|
|
128
135
|
|
|
129
|
-
|
|
136
|
+

|
|
130
137
|
|
|
131
|
-
|
|
132
|
-
dsh plugin --profile web remove dsh-modellix
|
|
133
|
-
dsh --profile web --dump-config
|
|
134
|
-
dsh --profile web
|
|
135
|
-
```
|
|
138
|
+
## Accessibility and responsive behavior
|
|
136
139
|
|
|
137
|
-
|
|
140
|
+
- Dialogs manage initial focus, Tab/Shift+Tab wrapping, background inertness, Escape behavior where allowed, and focus restoration.
|
|
141
|
+
- Result tabs support standard keyboard navigation; result/status changes use polite live regions.
|
|
142
|
+
- State is conveyed with text in addition to color.
|
|
143
|
+
- Layouts were checked at 320, 560, 768, and 1440 CSS px, at 200% text scaling, in light and dark themes, forced colors, coarse pointer, and reduced motion.
|
|
144
|
+
- Narrow layouts preserve every result action without horizontal page overflow.
|
|
138
145
|
|
|
139
|
-
##
|
|
146
|
+
## Documentation
|
|
140
147
|
|
|
141
|
-
- [完整中文用户指南](docs/zh-CN/USER_GUIDE.md)
|
|
142
148
|
- [Complete English user guide](docs/en-US/USER_GUIDE.md)
|
|
143
|
-
- [
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
| Suggested file | Alt text |
|
|
148
|
-
| --- | --- |
|
|
149
|
-
| `docs/assets/onboarding-defaults.webp` | Chinese-language Modellix first-time setup dialog with an empty API Key field and Design, LLM, and Web switches enabled |
|
|
150
|
-
| `docs/assets/settings-ready.webp` | Chinese-language Modellix settings showing a verified Credential, three feature switches, and LLM catalog status |
|
|
151
|
-
| `docs/assets/design-desktop.webp` | Chinese-language Modellix Design desktop layout with model, prompt, and parameters on the left and generation results on the right |
|
|
152
|
-
| `docs/assets/design-proposal.webp` | Chinese-language Design parameter proposal showing before-and-after changes with Apply and Reject actions |
|
|
153
|
-
| `docs/assets/design-results-media.webp` | Chinese-language Design results pane with the image created during real acceptance, its expiry, and download action |
|
|
154
|
-
| `docs/assets/design-mobile-en.webp` | English-language Modellix Design in a single-column layout at 320 pixels with the workspace above Results |
|
|
155
|
-
| `docs/assets/credential-recovery.webp` | Chinese-language Modellix recovery dialog after an invalid API Key with an empty field and Configure later action |
|
|
156
|
-
| `docs/assets/llm-model-selector.webp` | English-language Harness model selector expanded to the Modellix provider with models synchronized from the live catalog |
|
|
157
|
-
| `docs/assets/web-tools.webp` | English-language Harness conversation showing native web_search and web_fetch completed by the Modellix provider for a Chinese public-documentation request |
|
|
158
|
-
|
|
159
|
-
Use only an empty Key or an explicitly fake Key, a generic prompt, and results without personal information. Do not capture Network, HAR, Console, Credential files, or any real-Secret flow.
|
|
160
|
-
|
|
161
|
-
## Current limitations
|
|
149
|
+
- [English release and acceptance checklist](docs/en-US/RELEASE_CHECKLIST.md)
|
|
150
|
+
- [完整中文用户指南](docs/zh-CN/USER_GUIDE.md)
|
|
151
|
+
- [中文发布与验收清单](docs/zh-CN/RELEASE_CHECKLIST.md)
|
|
152
|
+
- [Local source usage](docs/en-US/LOCAL_USAGE.md)
|
|
162
153
|
|
|
163
|
-
-
|
|
164
|
-
- There is no upstream cancellation call, and the UI has no task cancellation button.
|
|
165
|
-
- The results pane persists task metadata and upstream resource URLs, not the API Key, prompt, or media copies.
|
|
166
|
-
- A complex Schema with a blocking unsupported constraint disables submission instead of guessing parameter meaning.
|
|
167
|
-
- LLM materializes only models advertised by the live catalog and does not provide fabricated fallback models.
|
|
154
|
+
The repository contains six English and six Chinese 1920×1080 screenshots captured from separate real-language sessions. They cover settings, chat image generation, the result drawer, media players, live LLM models, and automatic Search/Fetch. No capture contains a Key, request header, Network/HAR data, Credential file, or browser storage.
|
|
168
155
|
|
|
169
|
-
## Development and verification
|
|
156
|
+
## Development and release verification
|
|
170
157
|
|
|
171
158
|
```sh
|
|
172
159
|
pnpm install --frozen-lockfile
|
|
173
|
-
pnpm run
|
|
174
|
-
pnpm run typecheck
|
|
175
|
-
pnpm run lint
|
|
176
|
-
pnpm run test
|
|
177
|
-
pnpm run build
|
|
160
|
+
pnpm run check
|
|
178
161
|
pnpm run verify:pack
|
|
179
162
|
pnpm run verify:fresh-install
|
|
180
163
|
pnpm run verify:node22-install
|
|
181
164
|
pnpm run verify:release:static
|
|
182
165
|
```
|
|
183
166
|
|
|
184
|
-
`pnpm run
|
|
185
|
-
|
|
186
|
-
### Complete release evidence gate
|
|
187
|
-
|
|
188
|
-
Use `pnpm run verify:release` for an actual release. First commit the final code, documentation, and screenshots and keep the worktree clean. Create two Secret-free JSON files outside the repository. Each must be smaller than 32 KiB, target the current package version and lowercase 40-character HEAD, and use a canonical UTC ISO-8601 `completedAt` no more than 72 hours old. Browser evidence must contain every fixed check below:
|
|
189
|
-
|
|
190
|
-
```json
|
|
191
|
-
{
|
|
192
|
-
"version": 1,
|
|
193
|
-
"kind": "browser",
|
|
194
|
-
"status": "passed",
|
|
195
|
-
"package": { "name": "dsh-modellix", "version": "0.1.0" },
|
|
196
|
-
"commit": "<current-40-character-lowercase-git-head>",
|
|
197
|
-
"completedAt": "<canonical-utc-iso-8601>",
|
|
198
|
-
"checks": {
|
|
199
|
-
"onboarding": "passed",
|
|
200
|
-
"settings": "passed",
|
|
201
|
-
"design": "passed",
|
|
202
|
-
"llm": "passed",
|
|
203
|
-
"web": "passed",
|
|
204
|
-
"401": "passed",
|
|
205
|
-
"a11y": "passed",
|
|
206
|
-
"theme": "passed",
|
|
207
|
-
"viewports": "passed"
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
```
|
|
167
|
+
`pnpm run verify:release` additionally requires fresh Secret-free browser and real API/Agent evidence bound to the exact package version and 40-character Git commit. The complete procedure is documented in [RELEASE_CHECKLIST.md](docs/en-US/RELEASE_CHECKLIST.md).
|
|
211
168
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
```json
|
|
215
|
-
{
|
|
216
|
-
"version": 1,
|
|
217
|
-
"kind": "api-agent",
|
|
218
|
-
"status": "passed",
|
|
219
|
-
"package": { "name": "dsh-modellix", "version": "0.1.0" },
|
|
220
|
-
"commit": "<current-40-character-lowercase-git-head>",
|
|
221
|
-
"completedAt": "<canonical-utc-iso-8601>",
|
|
222
|
-
"checks": {
|
|
223
|
-
"catalogs": "passed",
|
|
224
|
-
"planner": "passed",
|
|
225
|
-
"image": "passed",
|
|
226
|
-
"video": "passed",
|
|
227
|
-
"audio": "passed",
|
|
228
|
-
"llm-agent": "passed",
|
|
229
|
-
"web": "passed"
|
|
230
|
-
},
|
|
231
|
-
"billedCallsExplicitlyAuthorized": true
|
|
232
|
-
}
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
To produce this evidence from live services, first complete and verify one Modellix-backed DSH Agent turn in an isolated Web profile. Then let the acceptance process supply `MODELLIX_API_KEY` directly from a controlled environment, file, or Credential and run `pnpm run test:real:modellix` with these non-secret controls:
|
|
169
|
+
## Current limitations
|
|
236
170
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
pnpm run test:real:modellix
|
|
243
|
-
```
|
|
171
|
+
- The advanced exact-parameter editor entry is intentionally hidden in this release.
|
|
172
|
+
- Upstream generation cancellation is not exposed.
|
|
173
|
+
- Result history stores task metadata and upstream URLs, not permanent media copies.
|
|
174
|
+
- A complex unsupported Schema blocks submission instead of guessing or dropping constraints.
|
|
175
|
+
- The Modellix LLM catalog has no fabricated offline fallback.
|
|
244
176
|
|
|
245
|
-
|
|
177
|
+
## Uninstallation
|
|
246
178
|
|
|
247
|
-
|
|
179
|
+
Remove a locally stored Credential from Modellix settings first, or revoke an environment Credential in its external secret manager. Then remove the plugin and restart the profile:
|
|
248
180
|
|
|
249
181
|
```sh
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
182
|
+
dsh plugin --profile web remove dsh-modellix
|
|
183
|
+
dsh --profile web --dump-config
|
|
184
|
+
dsh --profile web
|
|
253
185
|
```
|
|
254
186
|
|
|
255
|
-
|
|
187
|
+
Uninstallation does not remove upstream Modellix tasks, external environment variables, or all Harness profile data.
|
|
256
188
|
|
|
257
189
|
## References
|
|
258
190
|
|
|
259
191
|
- [Modellix getting started](https://docs.modellix.ai/get-started)
|
|
260
192
|
- [Modellix LLM overview](https://docs.modellix.ai/llm/overview)
|
|
261
|
-
- [Modellix
|
|
193
|
+
- [Modellix model catalog](https://www.modellix.ai/models)
|
|
262
194
|
- [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
|
|
263
195
|
|
|
264
196
|
## License
|