dsh-click 0.3.3 → 0.3.5

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 CHANGED
@@ -5,6 +5,23 @@ All notable changes to this project are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.5] - 2026-09-07
9
+
10
+ ### Fixed
11
+
12
+ - Align the `@deepseek-ai/dsh-*` peer ranges to `>=0.1.2-rc.1 <0.2.0`: the older `>=0.1.0-rc.8 <0.2.0` band resolved to only the `0.1.0-rc.8` prerelease under registry-driven resolution and broke fresh tarball installs; no behavior change.
13
+
14
+ ### Docs
15
+
16
+ - Refresh the five-language README support-version wording: the verified GitHub tag `dsh-v0.1.3-alpha.1` now leads the compatibility claim, while npm `0.1.2-rc.1` stays the published dependency-pin line (peers `>=0.1.2-rc.1 <0.2.0`); no behavior change.
17
+
18
+
19
+ ## [0.3.4] - 2026-09-04
20
+
21
+ ### Changed
22
+
23
+ - Align the devDependency pins to the published dsh `0.1.2-rc.1` line, bump the `dshWorkshop` compatibility list and the compat CI harness probes, and re-verify the adaptation claims; no behavior change.
24
+
8
25
  ## [0.3.3] - 2026-09-02
9
26
 
10
27
  ### Docs
package/README.es.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Superficie | Estado |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5` |
28
+ | Harness | DeepSeek Harness `dsh-v0.1.3-alpha.1` (tag de GitHub, verificado el 2026-09-06). Verificado el 2026-09-06 contra el checkout master dsh-v0.1.3-alpha.1 (cadena completa de gates + smoke de instalación de perfil). |
29
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
30
30
  | Plataformas | **Windows primero** (UIAutomation + entrada Win32, mediante un helper de PowerShell incluido); los backends de macOS/Linux están reservados y fallan cerrado con un motivo claro |
31
31
  | Modelo | Modelos solo-texto totalmente compatibles (`screen_read` devuelve texto estructurado); los modelos con visión reciben además las imágenes de `screen_shot` |
@@ -91,7 +91,7 @@ Todos los ajustes son campos `Config` de Schemastery (modificables desde cordis.
91
91
  |---|---|---|
92
92
  | `requireApproval` | `true` | Proteger cada acción que muta tras la aprobación; los observadores nunca preguntan |
93
93
  | `autoApproveWindows` | `[]` | Regex de título de ventana/ruta de ejecutable que saltan la pregunta de aprobación (siguen con verificación de frescura y auditoría) |
94
- | `auditSessionEvents` | `true` | Añade eventos de auditoría `dsh-click/observed`/`dsh-click/action` a la sesión. La puerta adaptativa ya omite el append en hosts sin sobre (rc.6–rc.8, 0.1.1-rc.2 y 0.1.2-alpha.5, que falla cerrado ante tipos desconocidos en lectura); ponlo en `false` para detener por completo los appends de auditoría 0.1.2-alpha.5 (adaptado el 2026-09-02): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
94
+ | `auditSessionEvents` | `true` | Añade eventos de auditoría `dsh-click/observed`/`dsh-click/action` a la sesión. La puerta adaptativa ya omite el append en hosts sin sobre (rc.6–rc.8, 0.1.1-rc.2 y 0.1.2-rc.1, que falla cerrado ante tipos desconocidos en lectura); ponlo en `false` para detener por completo los appends de auditoría 0.1.2-rc.1 (adaptado el 2026-09-02): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
95
95
  | `focusFallback` | `never` | Si una acción puede traer la ventana objetivo al primer plano como último recurso (`never` / `allow`) |
96
96
  | `imageMode` | `auto` | Renderizado de `screen_shot`: `auto` (imagen si el modelo acepta imágenes, texto en caso contrario) o `text` |
97
97
  | `helperTimeoutMs` | `30000` | Tiempo de espera por llamada al helper en ms (1..300000) |
@@ -151,14 +151,14 @@ Ejemplo de sobrescritura en el parche de tu perfil:
151
151
  - **Windows primero.** Los backends de macOS y Linux están reservados; en esas plataformas cada llamada falla cerrado con un motivo claro.
152
152
  - **Fidelidad solo-texto.** `screen_read` depende de que la aplicación exponga UIAutomation; las apps sin árbol accesible solo ofrecen pistas de píxeles. Los clics por coordenadas siguen disponibles.
153
153
  - **Apps de entrada enviada.** Algunas aplicaciones ignoran los mensajes de ventana enviados (juegos, algunas superficies Electron); `key` lo informa con honestidad en lugar de fingir éxito.
154
- - **Auditoría de sesión en builds del harness sin sobre.** Los eventos de auditoría cruzan una puerta adaptativa: los hosts que conocen el vocabulario agregan directamente, los hosts con el sobre `ignorable` agregan con el marcador, y los hosts sin sobre — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2` y `0.1.2-alpha.5` (que eliminó el sobre y falla cerrado ante tipos desconocidos en lectura) — no reciben append de auditoría; los resultados de las herramientas siguen siendo la pista reconstruible. Pon `auditSessionEvents: false` para detener los appends por completo.
154
+ - **Auditoría de sesión en builds del harness sin sobre.** Los eventos de auditoría cruzan una puerta adaptativa: los hosts que conocen el vocabulario agregan directamente, los hosts con el sobre `ignorable` agregan con el marcador, y los hosts sin sobre — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2` y `0.1.2-rc.1` (que no puede estampar el marcador ignorable — el campo del sobre se conserva únicamente para compatibilidad de lectura de logs almacenados — y falla cerrado ante tipos desconocidos en lectura) — no reciben append de auditoría; los resultados de las herramientas siguen siendo la pista reconstruible. Pon `auditSessionEvents: false` para detener los appends por completo.
155
155
 
156
156
  ## Desarrollo
157
157
 
158
158
  ```sh
159
159
  pnpm install # node ^22.19 || >=24
160
160
  pnpm run typecheck # tsc: src + tests contra el checkout local del harness
161
- pnpm run typecheck:ci # tsc contra los tipos publicados 0.1.2-alpha.5 (sin paths)
161
+ pnpm run typecheck:ci # tsc contra los tipos publicados 0.1.2-rc.1 (sin paths)
162
162
  pnpm test # vitest: 66 tests, 11 archivos (el smoke del helper corre en Windows)
163
163
  pnpm run build # bundle tsdown + declaraciones tsc (lib/)
164
164
  pnpm run verify:self-contained # las especificaciones de dependencias resuelven desde el registry
@@ -217,3 +217,7 @@ Este proyecto es uno de los [33 complementos de DeepSeek Harness](https://github
217
217
  ## License
218
218
 
219
219
  [Apache License 2.0](LICENSE) © 2026 dsh-click contributors
220
+
221
+ ### Instalar desde el mercado de DSH Desktop
222
+
223
+ Todos los plugins de PerryLink pueden explorarse en el mercado integrado de DSH Desktop: **Market → Sources → add source → pegar** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ seleccionarlo**. La instalación sigue pasando por la verificación de identidad npm del mercado y tu confirmación.
package/README.hi.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | सतह | स्थिति |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5` |
28
+ | Harness | DeepSeek Harness `dsh-v0.1.3-alpha.1` (GitHub tag, 2026-09-06 को सत्यापित)। 2026-09-06 को dsh-v0.1.3-alpha.1 master checkout के विरुद्ध सत्यापित (पूर्ण gate chain + profile install smoke)। |
29
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
30
30
  | प्लेटफ़ॉर्म | **Windows पहले** (UIAutomation + Win32 इनपुट, बंडल किए गए PowerShell हेल्पर के ज़रिए); macOS/Linux बैकएंड आरक्षित हैं और स्पष्ट कारण के साथ fail-closed होते हैं |
31
31
  | मॉडल | केवल-टेक्स्ट मॉडल पूरी तरह समर्थित (`screen_read` संरचित टेक्स्ट लौटाता है); विज़न मॉडल को अतिरिक्त रूप से `screen_shot` की छवियाँ मिलती हैं |
@@ -91,7 +91,7 @@ dsh --profile web --dump-config | grep -A2 'id: dsh-click'
91
91
  |---|---|---|
92
92
  | `requireApproval` | `true` | हर परिवर्तनकारी क्रिया को स्वीकृति के पीछे रखें; ऑब्ज़र्वर कभी नहीं पूछते |
93
93
  | `autoApproveWindows` | `[]` | विंडो-शीर्षक/निष्पादन-पथ regex जो स्वीकृति प्रश्न छोड़ देते हैं (फिर भी ताज़गी जाँच और ऑडिट) |
94
- | `auditSessionEvents` | `true` | सत्र में `dsh-click/observed`/`dsh-click/action` ऑडिट इवेंट जोड़ें। अनुकूली द्वार बिना-लिफ़ाफ़े वाले hosts (rc.6–rc.8, 0.1.1-rc.2, और अज्ञात प्रकारों पर पठन-विफल-बंद 0.1.2-alpha.5) पर append पहले ही छोड़ देता है; ऑडिट append पूरी तरह रोकने के लिए `false` रखें 0.1.2-alpha.5 (2026-09-02 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
94
+ | `auditSessionEvents` | `true` | सत्र में `dsh-click/observed`/`dsh-click/action` ऑडिट इवेंट जोड़ें। अनुकूली द्वार बिना-लिफ़ाफ़े वाले hosts (rc.6–rc.8, 0.1.1-rc.2, और अज्ञात प्रकारों पर पठन-विफल-बंद 0.1.2-rc.1) पर append पहले ही छोड़ देता है; ऑडिट append पूरी तरह रोकने के लिए `false` रखें 0.1.2-rc.1 (2026-09-02 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
95
95
  | `focusFallback` | `never` | क्या कोई क्रिया अंतिम उपाय के रूप में लक्ष्य विंडो को अग्रभूमि में ला सकती है (`never` / `allow`) |
96
96
  | `imageMode` | `auto` | `screen_shot` रेंडरिंग: `auto` (मॉडल छवि स्वीकार करे तो छवि, अन्यथा टेक्स्ट) या `text` |
97
97
  | `helperTimeoutMs` | `30000` | प्रति हेल्पर-कॉल टाइमआउट ms में (1..300000) |
@@ -151,14 +151,14 @@ dsh --profile web --dump-config | grep -A2 'id: dsh-click'
151
151
  - **Windows पहले।** macOS और Linux बैकएंड आरक्षित हैं; उन प्लेटफ़ॉर्म पर हर कॉल स्पष्ट कारण से fail-closed होती है।
152
152
  - **केवल-टेक्स्ट निष्ठा।** `screen_read` इस पर निर्भर करता है कि ऐप UIAutomation उजागर करे; बिना एक्सेसिबल ट्री वाले ऐप्स केवल पिक्सेल संकेत देते हैं। निर्देशांक क्लिक उपलब्ध रहते हैं।
153
153
  - **पोस्ट-इनपुट ऐप्स।** कुछ ऐप्स पोस्ट किए विंडो संदेश अनदेखा करते हैं (गेम, कुछ Electron सतहें); `key` सफलता का दिखावा करने के बजाय यह ईमानदारी से बताता है।
154
- - **बिना-लिफ़ाफ़े वाले हार्नेस बिल्ड पर सत्र ऑडिट।** ऑडिट इवेंट एक अनुकूली द्वार से गुजरते हैं: शब्दावली जानने वाले hosts सीधे जोड़ते हैं, `ignorable` लिफ़ाफ़े वाले hosts मार्कर के साथ जोड़ते हैं, और बिना-लिफ़ाफ़े वाले hosts — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2`, और `0.1.2-alpha.5` (जिसने लिफ़ाफ़ा हटाया और अज्ञात प्रकारों पर पठन-विफल-बंद है) — को ऑडिट append नहीं मिलता; टूल परिणाम ही पुनर्निर्माण-योग्य ऑडिट पथ बने रहते हैं। ऑडिट append पूरी तरह रोकने के लिए `auditSessionEvents: false` रखें।
154
+ - **बिना-लिफ़ाफ़े वाले हार्नेस बिल्ड पर सत्र ऑडिट।** ऑडिट इवेंट एक अनुकूली द्वार से गुजरते हैं: शब्दावली जानने वाले hosts सीधे जोड़ते हैं, `ignorable` लिफ़ाफ़े वाले hosts मार्कर के साथ जोड़ते हैं, और बिना-लिफ़ाफ़े वाले hosts — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2`, और `0.1.2-rc.1` (जो ignorable मार्कर को स्टैम्प नहीं कर सकता — लिफ़ाफ़ा फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए बरकरार रहता है — और अज्ञात प्रकारों पर पठन-विफल-बंद है) — को ऑडिट append नहीं मिलता; टूल परिणाम ही पुनर्निर्माण-योग्य ऑडिट पथ बने रहते हैं। ऑडिट append पूरी तरह रोकने के लिए `auditSessionEvents: false` रखें।
155
155
 
156
156
  ## विकास
157
157
 
158
158
  ```sh
159
159
  pnpm install # node ^22.19 || >=24
160
160
  pnpm run typecheck # tsc: src + tests स्थानीय हार्नेस चेकआउट के विरुद्ध
161
- pnpm run typecheck:ci # tsc प्रकाशित 0.1.2-alpha.5 प्रकारों के विरुद्ध (बिना paths)
161
+ pnpm run typecheck:ci # tsc प्रकाशित 0.1.2-rc.1 प्रकारों के विरुद्ध (बिना paths)
162
162
  pnpm test # vitest: 66 टेस्ट, 11 फ़ाइलें (हेल्पर स्मोक Windows पर चलता है)
163
163
  pnpm run build # tsdown बंडल + tsc घोषणाएँ (lib/)
164
164
  pnpm run verify:self-contained # निर्भरता स्पेक registry से हल होती हैं
@@ -217,3 +217,7 @@ pnpm pack # प्रकाशित tarball
217
217
  ## License
218
218
 
219
219
  [Apache License 2.0](LICENSE) © 2026 dsh-click contributors
220
+
221
+ ### DSH Desktop मार्केट से इंस्टॉल करें
222
+
223
+ सभी PerryLink प्लगइन DSH Desktop के बिल्ट-इन मार्केट में देखे जा सकते हैं: **Market → Sources → add source → पेस्ट करें** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ चुनें**। इंस्टॉलेशन मार्केट के npm-identity सत्यापन और आपकी पुष्टि से ही होता है।
package/README.md CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  | Surface | Status |
28
28
  |---|---|
29
- | Harness | DeepSeek Harness `0.1.2-alpha.5` |
29
+ | Harness | DeepSeek Harness `dsh-v0.1.3-alpha.1` (GitHub tag, verified 2026-09-06). Verified 2026-09-06 against the dsh-v0.1.3-alpha.1 master checkout (full gate chain + profile install smoke). |
30
30
  | Node | `^22.19.0 \|\| >=24.0.0` |
31
31
  | Platforms | **Windows first** (UIAutomation + Win32 input, via a bundled PowerShell helper); macOS/Linux backends are reserved and fail closed with a clear reason |
32
32
  | Model | Text-only models fully supported (`screen_read` returns structured text); vision models additionally get `screen_shot` images |
@@ -92,7 +92,7 @@ All tunables are Schemastery `Config` fields (changeable from cordis.yml). An id
92
92
  |---|---|---|
93
93
  | `requireApproval` | `true` | Gate every mutating action behind approval; observers never ask |
94
94
  | `autoApproveWindows` | `[]` | Window-title/executable regexes that skip the approval ask (still freshness-checked and audited) |
95
- | `auditSessionEvents` | `true` | Append `dsh-click/observed` / `dsh-click/action` session audit events. The adaptive gate already skips the append on envelope-less hosts (rc.6–rc.8, 0.1.1-rc.2, and 0.1.2-alpha.5, which fails closed on unknown types at read); set `false` to stop audit appends entirely 0.1.2-alpha.5 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
95
+ | `auditSessionEvents` | `true` | Append `dsh-click/observed` / `dsh-click/action` session audit events. The adaptive gate already skips the append on envelope-less hosts (rc.6–rc.8, 0.1.1-rc.2, and 0.1.2-rc.1, which fails closed on unknown types at read); set `false` to stop audit appends entirely 0.1.2-rc.1 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
96
96
  | `focusFallback` | `never` | Whether an action may bring the target window to the foreground as a last resort (`never` / `allow`) |
97
97
  | `imageMode` | `auto` | `screen_shot` rendering: `auto` (image when the model accepts images, text otherwise) or `text` |
98
98
  | `helperTimeoutMs` | `30000` | Per-helper-call timeout in ms (1..300000) |
@@ -152,14 +152,14 @@ Example override in your profile patch:
152
152
  - **Windows first.** macOS and Linux backends are reserved; on those platforms every call fails closed with a clear reason.
153
153
  - **Text-only fidelity.** `screen_read` depends on the application exposing UIAutomation; apps without an accessible tree yield pixel hints only. Coordinate clicks remain available.
154
154
  - **Posted-input apps.** Some applications ignore posted window messages (games, some Electron surfaces); `key` reports this honestly instead of pretending success.
155
- - **Session audit on envelope-less harness builds.** The audit events ride an adaptive gate: hosts that know the vocabulary append plainly, hosts with the `ignorable` envelope append with the marker, and envelope-less hosts — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2`, and `0.1.2-alpha.5` (which removed the envelope and fails closed on unknown types at read) — get no audit append; the tool results remain the reconstructable audit trail. Set `auditSessionEvents: false` to stop audit appends entirely.
155
+ - **Session audit on envelope-less harness builds.** The audit events ride an adaptive gate: hosts that know the vocabulary append plainly, hosts with the `ignorable` envelope append with the marker, and envelope-less hosts — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2`, and `0.1.2-rc.1` (which cannot stamp the ignorable marker — the envelope field is retained for stored-log read compatibility only — and fails closed on unknown types at read) — get no audit append; the tool results remain the reconstructable audit trail. Set `auditSessionEvents: false` to stop audit appends entirely.
156
156
 
157
157
  ## Development
158
158
 
159
159
  ```sh
160
160
  pnpm install # node ^22.19 || >=24
161
161
  pnpm run typecheck # tsc: src + tests against the local harness checkout
162
- pnpm run typecheck:ci # tsc against the published 0.1.2-alpha.5 types (no paths)
162
+ pnpm run typecheck:ci # tsc against the published 0.1.2-rc.1 types (no paths)
163
163
  pnpm test # vitest: 66 tests, 11 files (helper smoke runs on Windows)
164
164
  pnpm run build # tsdown bundle + tsc declarations (lib/)
165
165
  pnpm run verify:self-contained # dependency specs resolve from the registry
@@ -215,6 +215,10 @@ This project is one of the [33 DeepSeek Harness plugins](https://github.com/Perr
215
215
  | **[dsh-dsh-test-drive](https://github.com/PerryLink/dsh-dsh-test-drive)** | Isolated install-and-smoke test drives for DeepSeek Harness plugins. | |
216
216
  | **[dsh-dsh-translate](https://github.com/PerryLink/dsh-dsh-translate)** | Vendor parameter translation and deterministic JSON repair for DeepSeek Harness. | |
217
217
 
218
+ ### Install from the DSH Desktop Market
219
+
220
+ All PerryLink plugins are browsable in the built-in DSH Desktop Market: **Market → Sources → add source → paste** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ select it**. Installation still goes through the Market's npm-identity verification and your confirmation.
221
+
218
222
  ## License
219
223
 
220
224
  [Apache License 2.0](LICENSE) © 2026 dsh-click contributors
package/README.pt.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Superfície | Status |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5` |
28
+ | Harness | DeepSeek Harness `dsh-v0.1.3-alpha.1` (tag do GitHub, verificado em 2026-09-06). Verificado em 2026-09-06 contra o checkout master dsh-v0.1.3-alpha.1 (cadeia completa de gates + smoke de instalação de perfil). |
29
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
30
30
  | Plataformas | **Windows primeiro** (UIAutomation + entrada Win32, via um helper PowerShell embutido); os backends macOS/Linux estão reservados e falham fechado com um motivo claro |
31
31
  | Modelo | Modelos somente texto totalmente suportados (`screen_read` retorna texto estruturado); modelos com visão recebem também as imagens do `screen_shot` |
@@ -91,7 +91,7 @@ Todos os ajustes são campos `Config` do Schemastery (alteráveis pelo cordis.ym
91
91
  |---|---|---|
92
92
  | `requireApproval` | `true` | Proteger toda ação mutante atrás da aprovação; observadores nunca perguntam |
93
93
  | `autoApproveWindows` | `[]` | Regex de título de janela/caminho de executável que pulam a pergunta de aprovação (ainda passam por atualidade e auditoria) |
94
- | `auditSessionEvents` | `true` | Acrescenta eventos de auditoria `dsh-click/observed`/`dsh-click/action` à sessão. A porta adaptativa já omite o append em hosts sem envelope (rc.6–rc.8, 0.1.1-rc.2 e 0.1.2-alpha.5, que falha fechado para tipos desconhecidos na leitura); defina `false` para interromper totalmente os appends de auditoria 0.1.2-alpha.5 (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
94
+ | `auditSessionEvents` | `true` | Acrescenta eventos de auditoria `dsh-click/observed`/`dsh-click/action` à sessão. A porta adaptativa já omite o append em hosts sem envelope (rc.6–rc.8, 0.1.1-rc.2 e 0.1.2-rc.1, que falha fechado para tipos desconhecidos na leitura); defina `false` para interromper totalmente os appends de auditoria 0.1.2-rc.1 (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
95
95
  | `focusFallback` | `never` | Se uma ação pode trazer a janela alvo ao primeiro plano como último recurso (`never` / `allow`) |
96
96
  | `imageMode` | `auto` | Renderização do `screen_shot`: `auto` (imagem quando o modelo aceita imagens, texto caso contrário) ou `text` |
97
97
  | `helperTimeoutMs` | `30000` | Tempo limite por chamada ao helper em ms (1..300000) |
@@ -151,14 +151,14 @@ Exemplo de sobrescrita no patch do seu perfil:
151
151
  - **Windows primeiro.** Os backends macOS e Linux estão reservados; nessas plataformas cada chamada falha fechado com um motivo claro.
152
152
  - **Fidelidade somente texto.** O `screen_read` depende de o aplicativo expor UIAutomation; apps sem árvore acessível oferecem apenas dicas de pixels. Cliques por coordenadas continuam disponíveis.
153
153
  - **Apps de entrada postada.** Alguns aplicativos ignoram mensagens de janela postadas (jogos, algumas superfícies Electron); o `key` informa isso com honestidade em vez de fingir sucesso.
154
- - **Auditoria de sessão em builds do harness sem envelope.** Os eventos de auditoria cruzam uma porta adaptativa: hosts que conhecem o vocabulário acrescentam diretamente, hosts com o envelope `ignorable` acrescentam com o marcador, e hosts sem envelope — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2` e `0.1.2-alpha.5` (que removeu o envelope e falha fechado para tipos desconhecidos na leitura) — não recebem append de auditoria; os resultados das ferramentas continuam sendo a trilha reconstruível. Defina `auditSessionEvents: false` para interromper os appends por completo.
154
+ - **Auditoria de sessão em builds do harness sem envelope.** Os eventos de auditoria cruzam uma porta adaptativa: hosts que conhecem o vocabulário acrescentam diretamente, hosts com o envelope `ignorable` acrescentam com o marcador, e hosts sem envelope — `0.1.0-rc.6`–`0.1.0-rc.8`, `0.1.1-rc.2` e `0.1.2-rc.1` (que não consegue estampar o marcador ignorável — o campo do envelope é mantido apenas para compatibilidade de leitura de logs armazenados — e falha fechado para tipos desconhecidos na leitura) — não recebem append de auditoria; os resultados das ferramentas continuam sendo a trilha reconstruível. Defina `auditSessionEvents: false` para interromper os appends por completo.
155
155
 
156
156
  ## Desenvolvimento
157
157
 
158
158
  ```sh
159
159
  pnpm install # node ^22.19 || >=24
160
160
  pnpm run typecheck # tsc: src + tests contra o checkout local do harness
161
- pnpm run typecheck:ci # tsc contra os tipos publicados 0.1.2-alpha.5 (sem paths)
161
+ pnpm run typecheck:ci # tsc contra os tipos publicados 0.1.2-rc.1 (sem paths)
162
162
  pnpm test # vitest: 66 testes, 11 arquivos (o smoke do helper roda no Windows)
163
163
  pnpm run build # bundle tsdown + declarações tsc (lib/)
164
164
  pnpm run verify:self-contained # especificações de dependências resolvem pelo registry
@@ -217,3 +217,7 @@ Este projeto é um dos [33 plugins de DeepSeek Harness](https://github.com/Perry
217
217
  ## License
218
218
 
219
219
  [Apache License 2.0](LICENSE) © 2026 dsh-click contributors
220
+
221
+ ### Instalar a partir do mercado do DSH Desktop
222
+
223
+ Todos os plugins PerryLink podem ser explorados no mercado integrado do DSH Desktop: **Market → Sources → add source → colar** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ selecionar**. A instalação continua passando pela verificação de identidade npm do mercado e pela sua confirmação.
package/README.zh.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | 方面 | 状态 |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.2-alpha.5` |
28
+ | Harness | DeepSeek Harness `dsh-v0.1.3-alpha.1`(GitHub tag,2026-09-06 已核验)。已于 2026-09-06 对照 dsh-v0.1.3-alpha.1 master checkout 核验(完整门禁链 + profile 安装冒烟)。 |
29
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
30
30
  | 平台 | **Windows 优先**(UIAutomation + Win32 输入,经由内置 PowerShell 辅助进程);macOS/Linux 后端已预留,失败时以明确原因关闭 |
31
31
  | 模型 | 纯文本模型完整可用(`screen_read` 输出结构化文本);视觉模型额外获得 `screen_shot` 图像 |
@@ -91,7 +91,7 @@ dsh --profile web --dump-config | grep -A2 'id: dsh-click'
91
91
  |---|---|---|
92
92
  | `requireApproval` | `true` | 每个变更性操作都过审批;观察类工具从不询问 |
93
93
  | `autoApproveWindows` | `[]` | 跳过审批询问的窗口标题/可执行路径正则(仍做新鲜度校验并审计) |
94
- | `auditSessionEvents` | `true` | 是否向会话追加 `dsh-click/observed`/`dsh-click/action` 审计事件。自适应门已在无信封宿主(rc.6–rc.8、0.1.1-rc.2,以及对未知类型读取即失败的 0.1.2-alpha.5)上自动跳过追加;设为 `false` 可完全停止审计追加 0.1.2-alpha.5(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
94
+ | `auditSessionEvents` | `true` | 是否向会话追加 `dsh-click/observed`/`dsh-click/action` 审计事件。自适应门已在无信封宿主(rc.6–rc.8、0.1.1-rc.2,以及对未知类型读取即失败的 0.1.2-rc.1)上自动跳过追加;设为 `false` 可完全停止审计追加 0.1.2-rc.1(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
95
95
  | `focusFallback` | `never` | 操作是否可在最后手段下把目标窗口带到前台(`never` / `allow`) |
96
96
  | `imageMode` | `auto` | `screen_shot` 渲染:`auto`(模型支持图像时附图像,否则文字)或 `text` |
97
97
  | `helperTimeoutMs` | `30000` | 每次 helper 调用的超时(毫秒,1..300000) |
@@ -151,14 +151,14 @@ profile patch 中的覆盖示例:
151
151
  - **Windows 优先。** macOS 与 Linux 后端已预留;在这些平台上每次调用都以明确原因失败关闭。
152
152
  - **纯文本保真度。** `screen_read` 依赖应用暴露 UIAutomation;没有无障碍树的应用只有像素提示。坐标点击仍然可用。
153
153
  - **post 输入类应用。** 部分应用忽略 post 窗口消息(游戏、部分 Electron 界面);`key` 会如实报告而非假装成功。
154
- - **无信封 harness 构建上的会话审计。** 审计事件走自适应门:认识该词汇的宿主直接追加,带 `ignorable` 信封的宿主带标记追加,无信封宿主——`0.1.0-rc.6`–`0.1.0-rc.8`、`0.1.1-rc.2` 以及移除信封并对未知类型读取即失败的 `0.1.2-alpha.5`——不追加审计事件;工具结果仍是可重建的审计轨迹。设 `auditSessionEvents: false` 可完全停止审计追加。
154
+ - **无信封 harness 构建上的会话审计。** 审计事件走自适应门:认识该词汇的宿主直接追加,带 `ignorable` 信封的宿主带标记追加,无信封宿主——`0.1.0-rc.6`–`0.1.0-rc.8`、`0.1.1-rc.2` 以及无法盖章 ignorable 标记——信封字段仅为存量日志读取兼容而保留——且对未知类型读取即失败的 `0.1.2-rc.1`——不追加审计事件;工具结果仍是可重建的审计轨迹。设 `auditSessionEvents: false` 可完全停止审计追加。
155
155
 
156
156
  ## 开发
157
157
 
158
158
  ```sh
159
159
  pnpm install # node ^22.19 || >=24
160
160
  pnpm run typecheck # tsc:src + tests,对照本地 harness checkout
161
- pnpm run typecheck:ci # tsc:对照已发布的 0.1.2-alpha.5 类型(无 paths)
161
+ pnpm run typecheck:ci # tsc:对照已发布的 0.1.2-rc.1 类型(无 paths)
162
162
  pnpm test # vitest:66 个测试、11 个文件(helper 冒烟在 Windows 上运行)
163
163
  pnpm run build # tsdown bundle + tsc 声明(lib/)
164
164
  pnpm run verify:self-contained # 依赖声明全部来自 registry
@@ -217,3 +217,7 @@ pnpm pack # 发布用 tarball
217
217
  ## License
218
218
 
219
219
  [Apache License 2.0](LICENSE) © 2026 dsh-click contributors
220
+
221
+ ### 从 DSH Desktop 市场安装
222
+
223
+ 所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:**市场 → 来源 → 添加来源 → 粘贴** `https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json` **→ 选中**。安装仍需通过市场的 npm 身份校验与你的确认。
package/lib/index.js CHANGED
@@ -575,7 +575,7 @@ var ObservationStore = class {
575
575
  * @module dsh-click/version
576
576
  */
577
577
  /** Plugin version advertised in the helper-protocol handshake. */
578
- const VERSION = "0.3.3";
578
+ const VERSION = "0.3.5";
579
579
  /** The helper protocol revision; bump only on incompatible wire changes. */
580
580
  const HELPER_PROTOCOL_VERSION = 1;
581
581
  //#endregion
@@ -7,7 +7,7 @@
7
7
  * @module dsh-click/version
8
8
  */
9
9
  /** Plugin version advertised in the helper-protocol handshake. */
10
- export declare const VERSION = "0.3.3";
10
+ export declare const VERSION = "0.3.5";
11
11
  /** The helper protocol revision; bump only on incompatible wire changes. */
12
12
  export declare const HELPER_PROTOCOL_VERSION = 1;
13
13
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-click",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "Cross-platform native desktop control tools for DeepSeek Harness (Windows first): screen_shot, screen_read (accessibility tree + pixel description for text-only models), click/type/scroll/key, and app_list/app_launch 鈥?every mutating action gated by approval, never stealing foreground focus, with stale-observation rejection and process-identity checks",
5
5
  "repository": {
6
6
  "type": "git",
@@ -67,7 +67,7 @@
67
67
  ],
68
68
  "compatibility": {
69
69
  "dshVersions": [
70
- "0.1.2-alpha.5"
70
+ "0.1.2-rc.1"
71
71
  ]
72
72
  },
73
73
  "capability": {
@@ -101,13 +101,13 @@
101
101
  "packageManager": "pnpm@11.7.0",
102
102
  "peerDependencies": {
103
103
  "@deepseek-ai/cordis": "^4.0.2",
104
- "@deepseek-ai/dsh-agent": ">=0.1.0-rc.8 <0.2.0",
105
- "@deepseek-ai/dsh-attachment": ">=0.1.0-rc.8 <0.2.0",
106
- "@deepseek-ai/dsh-llm": ">=0.1.0-rc.8 <0.2.0",
107
- "@deepseek-ai/dsh-session": ">=0.1.0-rc.8 <0.2.0",
108
- "@deepseek-ai/dsh-subprocess": ">=0.1.0-rc.8 <0.2.0",
109
- "@deepseek-ai/dsh-tools": ">=0.1.0-rc.8 <0.2.0",
110
- "@deepseek-ai/dsh-user-approval": ">=0.1.0-rc.8 <0.2.0",
104
+ "@deepseek-ai/dsh-agent": ">=0.1.2-rc.1 <0.2.0",
105
+ "@deepseek-ai/dsh-attachment": ">=0.1.2-rc.1 <0.2.0",
106
+ "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0",
107
+ "@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0",
108
+ "@deepseek-ai/dsh-subprocess": ">=0.1.2-rc.1 <0.2.0",
109
+ "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0",
110
+ "@deepseek-ai/dsh-user-approval": ">=0.1.2-rc.1 <0.2.0",
111
111
  "@deepseek-ai/schemastery": "^3.18.2"
112
112
  },
113
113
  "dependencies": {
@@ -116,17 +116,17 @@
116
116
  },
117
117
  "devDependencies": {
118
118
  "@deepseek-ai/cordis": "^4.0.2",
119
- "@deepseek-ai/cordis-plugin-include": "1.0.6",
120
- "@deepseek-ai/cordis-plugin-loader": "1.0.2",
121
- "@deepseek-ai/dsh-agent": "0.1.2-alpha.5",
122
- "@deepseek-ai/dsh-attachment": "0.1.2-alpha.5",
123
- "@deepseek-ai/dsh-llm": "0.1.2-alpha.5",
124
- "@deepseek-ai/dsh-session": "0.1.2-alpha.5",
125
- "@deepseek-ai/dsh-subprocess": "0.1.2-alpha.5",
126
- "@deepseek-ai/dsh-subprocess-local": "0.1.2-alpha.5",
127
- "@deepseek-ai/dsh-system-prompt": "0.1.2-alpha.5",
128
- "@deepseek-ai/dsh-tools": "0.1.2-alpha.5",
129
- "@deepseek-ai/dsh-user-approval": "0.1.2-alpha.5",
119
+ "@deepseek-ai/cordis-plugin-include": "^1.0.7",
120
+ "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
121
+ "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
122
+ "@deepseek-ai/dsh-attachment": "0.1.2-rc.1",
123
+ "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
124
+ "@deepseek-ai/dsh-session": "0.1.2-rc.1",
125
+ "@deepseek-ai/dsh-subprocess": "0.1.2-rc.1",
126
+ "@deepseek-ai/dsh-subprocess-local": "0.1.2-rc.1",
127
+ "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1",
128
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
129
+ "@deepseek-ai/dsh-user-approval": "0.1.2-rc.1",
130
130
  "@deepseek-ai/schemastery": "^3.18.2",
131
131
  "@types/node": "^22.19.0",
132
132
  "@vitest/coverage-v8": "3.2.0",