dsh-github-flow 0.1.8 β†’ 0.2.1

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.
Files changed (69) hide show
  1. package/README.en.md +162 -58
  2. package/README.md +167 -60
  3. package/docs/UPGRADE-NOTES.md +93 -0
  4. package/docs/architecture.md +47 -17
  5. package/docs/images/1.png +0 -0
  6. package/docs/images/2.png +0 -0
  7. package/docs/images/3.png +0 -0
  8. package/docs/images/4.png +0 -0
  9. package/docs/npm-publish-guide.md +26 -3
  10. package/lib/api/route-helpers.d.ts +47 -0
  11. package/lib/api/route-helpers.js +134 -0
  12. package/lib/api/routes-actions.d.ts +23 -0
  13. package/lib/api/routes-actions.js +239 -0
  14. package/lib/api/routes-lifecycle.d.ts +9 -0
  15. package/lib/api/routes-lifecycle.js +126 -0
  16. package/lib/api/routes-overview.d.ts +11 -0
  17. package/lib/api/routes-overview.js +227 -0
  18. package/lib/api/routes-proxy.d.ts +18 -0
  19. package/lib/api/routes-proxy.js +63 -0
  20. package/lib/api/routes.d.ts +16 -6
  21. package/lib/api/routes.js +14 -504
  22. package/lib/client.js +785 -90
  23. package/lib/commands/gh.js +11 -2
  24. package/lib/executor.d.ts +17 -0
  25. package/lib/executor.js +146 -8
  26. package/lib/main.d.ts +1 -0
  27. package/lib/main.js +49 -9
  28. package/lib/proxy.d.ts +87 -0
  29. package/lib/proxy.js +275 -0
  30. package/lib/renderers/markdown.d.ts +29 -0
  31. package/lib/renderers/markdown.js +520 -0
  32. package/lib/tools/api.d.ts +4 -0
  33. package/lib/tools/api.js +14 -4
  34. package/lib/tools/help.d.ts +31 -0
  35. package/lib/tools/help.js +224 -0
  36. package/lib/tools/image-utils.d.ts +79 -0
  37. package/lib/tools/image-utils.js +247 -0
  38. package/lib/tools/issue.d.ts +40 -4
  39. package/lib/tools/issue.js +167 -19
  40. package/lib/tools/pr.d.ts +29 -4
  41. package/lib/tools/pr.js +144 -18
  42. package/lib/tools/release.d.ts +89 -0
  43. package/lib/tools/release.js +219 -0
  44. package/lib/tools/repo.d.ts +24 -4
  45. package/lib/tools/repo.js +114 -14
  46. package/lib/tools/run.d.ts +22 -1
  47. package/lib/tools/run.js +74 -14
  48. package/lib/tools/secret.d.ts +60 -0
  49. package/lib/tools/secret.js +175 -0
  50. package/lib/tools/skill.d.ts +63 -0
  51. package/lib/tools/skill.js +146 -0
  52. package/lib/types.d.ts +24 -1
  53. package/lib/update-settings.d.ts +18 -0
  54. package/lib/update-settings.js +60 -0
  55. package/lib/updater.d.ts +40 -1
  56. package/lib/updater.js +126 -9
  57. package/lib/upgrade-manager.d.ts +74 -1
  58. package/lib/upgrade-manager.js +356 -46
  59. package/lib/version.d.ts +1 -1
  60. package/lib/version.js +1 -1
  61. package/package.json +3 -2
  62. package/lib/client/icons.d.ts +0 -13
  63. package/lib/client/icons.js +0 -41
  64. package/lib/client/index.d.ts +0 -3
  65. package/lib/client/index.js +0 -36
  66. package/lib/client/panel.d.ts +0 -1
  67. package/lib/client/panel.js +0 -102
  68. package/lib/client/style.d.ts +0 -1
  69. package/lib/client/style.js +0 -555
package/README.en.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  <p align="center">
12
12
  <b>Give DeepSeek Harness Agents native hands and feet to operate GitHub, crafting an immersive collaboration cockpit for developers.</b><br>
13
- Natively reuses host <code>gh</code> CLI login credentials to eliminate Personal Access Token (PAT) leaks; deeply bridges local Git workspaces with remote GitHub collaboration, equipped with <b>5 core domain Agent tools</b>, <b>human slash commands</b>, <b>Web UI visual cockpits</b>, and <b>cross-platform one-click seamless upgrades</b>.
13
+ Natively reuses host <code>gh</code> CLI login credentials to eliminate Personal Access Token (PAT) leaks; deeply bridges local Git workspaces with remote GitHub collaboration, equipped with <b>9 core domain Agent tools</b>, <b>human slash commands</b>, <b>Web UI visual cockpits</b>, and <b>cross-platform one-click seamless upgrades</b>.
14
14
  </p>
15
15
 
16
16
  <p align="center">
@@ -29,14 +29,50 @@ When using AI Agents for collaborative coding, developers frequently hit these f
29
29
  | **CI / Actions Failure Debugging** | Sifting through pages of Actions logs in a browser, copying stack traces to chat for debugging. | **Pinpoint Error Extraction**: Tell the Agent *"Why did CI fail?"*; Agent calls `github_run(log_failed)` to grab failed step logs and patch code instantly. |
30
30
  | **Security & Token Management** | Pasting plain-text Personal Access Tokens (PATs) in plugin configs, risking token leaks and permission sprawl. | **Zero Token Exposure**: Directly reuses local `gh auth login` credentials via native OS Keychains/Keyrings securely. |
31
31
  | **Context Switching Overhead** | Jumping back and forth between VS Code, browser GitHub tabs, and DSH chat windows. | **Immersive Dual Cockpit**: Live PR status, Actions pipelines, and 3D issue matrices right inside DSH. |
32
- | **First-Screen Latency & Loading** | Staring at full-screen spinners for 8~15s while waiting for heavy background `gh` processes. | **SWR 0ms Instant Render**: Instantly displays local persistent snapshots; dedicated settings modal to customize sync intervals and manual mode. |
32
+ | **First-Screen Latency & Loading** | Staring at full-screen spinners for 8~15s while waiting for heavy background `gh` processes. | **SWR 0ms Instant Render**: Instantly displays local persistent snapshots; dedicated settings modal to switch between SWR auto-sync and manual mode. |
33
33
  | **Plugin Upgrades & Maintenance** | Manually checking npm registry versions, complicated commands, fear of breaking configs. | **Idle Silent Detection + One-Click Upgrade**: Dual-registry acceleration, auto macOS/Windows adaptation, upgrade with one click. |
34
34
 
35
35
  ---
36
36
 
37
+ ## πŸš€ Installation Guide
38
+
39
+ ### Step 1: Prerequisites
40
+ Ensure GitHub CLI (`gh`) is installed and authenticated:
41
+ ```bash
42
+ # Windows
43
+ winget install --id GitHub.cli
44
+
45
+ # macOS
46
+ brew install gh
47
+
48
+ # Login (one-time setup)
49
+ gh auth login
50
+ ```
51
+
52
+ ### Step 2: Install into DSH
53
+
54
+ Run in your DSH environment:
55
+
56
+ ```bash
57
+ # Scenario A: DSH Desktop Edition (Desktop Profile)
58
+ dsh plugin --profile desktop add dsh-github-flow
59
+
60
+ # Scenario B: DSH Web / CLI Environment (--profile is required by the official CLI; fill in your actual profile name)
61
+ dsh plugin --profile web add dsh-github-flow
62
+ ```
63
+
64
+ > πŸ’‘ **Notice (24-Hour Supply-Chain Security Lock Window)**:
65
+ > DSH's bundled package manager enforces a supply-chain safety policy (`minimum-release-age = 24h`) by default to mitigate malicious package takeovers. Within **24 hours** of a new version release, running bare-name install commands without a version suffix will automatically fall back to the preceding stable version that has matured past 24 hours. To **install a newly released version immediately**, append the explicit version tag:
66
+ > ```bash
67
+ > dsh plugin --profile desktop add dsh-github-flow@<latest-version>
68
+ > ```
69
+ > Once 24 hours have passed since release, the standard bare-name command will resolve to the latest version automatically.
70
+
71
+ ---
72
+
37
73
  ## πŸ€– Core Agent Tools: Equipping Agents with Native GitHub Powers
38
74
 
39
- Consolidates scattered GitHub endpoints into **5 core domain tools**, featuring **Token Budget Protection (default 24KB intelligent truncation)** and **Zero-argument CWD auto-binding**.
75
+ Consolidates scattered GitHub endpoints into **9 core domain tools**, featuring **Token Budget Protection (default 24KB intelligent truncation)**, **High-density Native Markdown Rendering (70%+ list output token reduction)** and **Zero-argument CWD auto-binding**.
40
76
 
41
77
  ### 1. `github_pr`: Pull Request Lifecycle & Automated Code Review
42
78
  > **Example Agent Prompts**:
@@ -46,13 +82,16 @@ Consolidates scattered GitHub endpoints into **5 core domain tools**, featuring
46
82
  > - *"Did CI checks pass for PR #8? If so, squash merge it and delete the source branch."*
47
83
 
48
84
  * **Supported Actions**:
49
- * `list`: List open PRs with author, review decisions, and CI status;
85
+ * `list`: List open PRs with author, review decisions, and CI status (`state` / `author` / `limit` filters);
50
86
  * `view`: Inspect PR description, metadata, and mergeability;
51
- * `diff`: Retrieve complete code diffs (safely truncated against token limits);
52
- * `checks`: Audit CI status check rollups and test suites;
87
+ * `diff`: Retrieve complete code diffs (`stat_only` for file-change overview, safely truncated against token limits);
88
+ * `checks`: Audit CI gate status (pass/fail/skip category badges, owning workflow, and detail links);
53
89
  * `create`: Auto-create PRs (supports draft mode & `--dry-run`);
90
+ * `checkout`: πŸ†• Check out PR code to a local branch for sandboxed testing;
91
+ * `status`: πŸ†• Inspect merge conflict status (`CLEAN` / `CONFLICT`) for the current branch's PR;
54
92
  * `review`: Submit code reviews (`APPROVE`, `REQUEST_CHANGES`, `COMMENT`);
55
- * `merge`: Merge pull requests (`squash` / `merge` / `rebase`, optional `delete_branch`).
93
+ * `merge`: Merge pull requests (`squash` / `merge` / `rebase`, optional `delete_branch`; requires `confirm: true`);
94
+ * `view_images`: πŸ†• Download PR discussion screenshots (body + comments; `image_urls` targeting with budget-overflow resume list).
56
95
 
57
96
  ---
58
97
 
@@ -64,8 +103,9 @@ Consolidates scattered GitHub endpoints into **5 core domain tools**, featuring
64
103
 
65
104
  * **Supported Actions**:
66
105
  * `log_failed` (πŸ”₯ **Killer Feature**): **Optimized for Agents**; automatically extracts isolated error logs from failed steps for instant root-cause analysis;
67
- * `list`: View recent workflow runs and conclusions;
106
+ * `list`: View recent workflow runs and conclusions (`branch` / `status: failure` filters to pin down broken builds);
68
107
  * `view`: Inspect jobs and steps for a specific run ID;
108
+ * `trigger`: πŸ†• Manually dispatch `workflow_dispatch` workflows to verify fixes immediately;
69
109
  * `rerun`: Re-trigger failed CI runs;
70
110
  * `cancel`: Cancel in-progress workflows.
71
111
 
@@ -79,11 +119,14 @@ Consolidates scattered GitHub endpoints into **5 core domain tools**, featuring
79
119
  > - *"Close Issue #45."*
80
120
 
81
121
  * **Supported Actions**:
82
- * `list`: Query issues with flexible filters;
122
+ * `list`: Query issues with flexible filters (`state` / `labels` / `assignees` / `limit`);
83
123
  * `view`: Read issue body and discussion history;
84
124
  * `create`: Create new issues (title, body, labels, assignees);
125
+ * `edit`: πŸ†• Update title, body, and add/remove labels;
126
+ * `develop`: πŸ†• Create a linked development branch from an issue and check it out locally;
85
127
  * `comment`: Append debugging updates or notes;
86
- * `close` / `reopen`: Manage issue lifecycle states.
128
+ * `close` (requires `confirm: true`) / `reopen`: Manage issue lifecycle states;
129
+ * `view_images`: πŸ†• Download issue attachment screenshots (body + comments; `image_urls` targeting with resume list).
87
130
 
88
131
  ---
89
132
 
@@ -94,7 +137,9 @@ Consolidates scattered GitHub endpoints into **5 core domain tools**, featuring
94
137
  > - *"Show repository metadata and star count for cli/cli."*
95
138
 
96
139
  * **Supported Actions**:
97
- * `view`: View repository metadata (default branch, stars, description, visibility);
140
+ * `view`: View repository metadata (default branch, stars, description, topics & license);
141
+ * `readme`: πŸ†• Read repository README raw content (branch-selectable; relative-path screenshots auto-resolved and downloaded);
142
+ * `sync`: πŸ†• One-click fork sync with upstream to fix stale-fork CI gate failures;
98
143
  * `search_code`: Search code symbols in current or specified repositories;
99
144
  * `search_repos`: Search open-source GitHub repositories globally.
100
145
 
@@ -104,11 +149,72 @@ Consolidates scattered GitHub endpoints into **5 core domain tools**, featuring
104
149
  > **Example Agent Prompts**:
105
150
  > - *"Call GitHub API to fetch latest releases of current repository and parse tag names with jq."*
106
151
 
107
- * **Core Strength**: Call any GitHub REST or GraphQL API using local credentials with `--jq` filtering and `raw` text mode.
152
+ * **Core Strength**: Call any GitHub REST or GraphQL API using local credentials with `--jq` filtering, `raw` text mode, and `paginate` auto-aggregation.
153
+
154
+ ---
155
+
156
+ ### 6. `github_release`: Version Releases & Build Asset Delivery πŸ†•
157
+ > **Example Agent Prompts**:
158
+ > - *"Publish v0.2.0 for this repository with auto-generated release notes."*
159
+ > - *"Upload dsh-github-flow-0.2.0.tgz to the v0.2.0 release."*
160
+
161
+ * **Supported Actions**:
162
+ * `list` / `view`: Browse release history and per-version details (assets, notes);
163
+ * `create`: Create releases (`generate_notes` auto-notes, `draft` / `prerelease` flags, attach assets directly);
164
+ * `upload` / `download`: Upload `.tgz` build artifacts or download assets by glob pattern;
165
+ * `delete` (requires `confirm: true`): Delete a release, optionally cleaning up its tag.
166
+
167
+ ---
168
+
169
+ ### 7. `github_secret`: CI/CD Secrets Management πŸ†•
170
+ > **Example Agent Prompts**:
171
+ > - *"Update the NPM_TOKEN secret for this repository."*
172
+ > - *"Show which secrets are configured for this repo."*
173
+
174
+ * **Supported Actions**:
175
+ * `list`: Show secret names and update times (the GitHub API never exposes secret values);
176
+ * `set`: Set/update secret values β€” **passed via subprocess stdin, never on the command line (ps-safe), never echoed in output**;
177
+ * `delete` (requires `confirm: true`): Remove a secret.
178
+ * Supports repository / organization (`org`) / environment (`env`) scopes across `actions` / `codespaces` / `dependabot` / `agents` apps.
179
+
180
+ ---
181
+
182
+ ### 8. `github_skill`: Cross-Agent Open-Source Skills Discovery πŸ†•
183
+ > **Example Agent Prompts**:
184
+ > - *"Search GitHub for an Agent Skill about code review."*
185
+ > - *"Preview that skill's content, then install it to this project if it looks good."*
186
+
187
+ * **Supported Actions**:
188
+ * `search`: Search open-source `SKILL.md` skills across GitHub (Code Search based, ranked by stars);
189
+ * `preview`: Read-only preview of skill content before installing β€” nothing touches disk;
190
+ * `install` (requires `confirm: true`): Install to local agent hosts (Claude Code / Cursor / Copilot and 50+ others), `project` or `user` scope;
191
+ * `list`: List all skills installed on this machine.
192
+ * Requires the official `gh skill` preview feature in GitHub CLI 2.9x+.
108
193
 
109
194
  ---
110
195
 
111
- ## πŸ–₯️ Native Web UI Workspace & Sync Preferences
196
+ ### 9. `github_help`: Meta Guide & Troubleshooting Hub πŸ†•
197
+ > **Example Agent Prompts**:
198
+ > - *"I'm not sure which GitHub tool to use for this task."*
199
+ > - *"How do I write advanced GitHub search syntax?"*
200
+
201
+ * **Core Capabilities**:
202
+ * Task-routing navigation across all 9 tools;
203
+ * Official advanced search syntax cheat sheet (date ranges, status qualifiers, code search scopes);
204
+ * Self-healing recipes for common errors (403 rate limits, 422 missing params, stale forks, outdated CLI);
205
+ * Direct passthrough to the official `gh help <command>` offline manual.
206
+
207
+ ---
208
+
209
+ ## πŸ›‘οΈ Safety Guardrails
210
+
211
+ * **Destructive-action double confirmation**: `merge`, `close`, `release delete`, clobber uploads, `secret delete`, and `skill install` require an explicit `confirm: true` parameter; without it, only an impact assessment is returned β€” nothing executes. This prevents accidental merges or deletions from model hallucinations.
212
+ * **Secret stdin channel**: Secret values travel via subprocess stdin β€” never on the command line (ps / task-manager safe), never persisted, never echoed; gh encrypts locally with the repository public key before uploading.
213
+ * **Command-injection immunity**: All gh invocations use `execFile` array-argument isolation with zero shell string concatenation.
214
+
215
+ ---
216
+
217
+ ## πŸ–₯️ Native Web UI Workspace & Settings Center
112
218
 
113
219
  No more window switching! Seamlessly integrated into DSH with DSW design tokens and instant light/dark theme adaptation.
114
220
 
@@ -132,53 +238,46 @@ Located in the right drawer of every chat workspace:
132
238
  * **PR Status Pills**: Live PR inspection with CI checks and review badges;
133
239
  * **Workspace Open Issues List**: Direct issue task review with author badges and external links;
134
240
  * **Latest Actions Pipeline**: Real-time CI workflow status tracking;
135
- * **Quick Action Grid**: Open repo in browser, jump to Issues/PRs, create PRs with one click.
241
+ * **Quick Action Grid**: Open repo in browser, jump to Issues/PRs, create PRs with one click;
242
+ * **βš™οΈ Full Settings Access**: The sidebar offers its own settings button reusing the same settings modal as the cockpit (all four sections: Sync / Proxy / Update Source / About) β€” no need to switch back to the main page.
136
243
 
137
244
  <p align="center">
138
245
  <img src="./docs/images/2.png" alt="Session Right Sidebar Panel" width="100%" />
139
246
  </p>
140
247
 
141
- ### 3. Data Sync & Cache Settings (Sync Preferences Modal)
142
- Click **`[βš™οΈ Sync Settings]`** in the top right of the Cockpit to adjust synchronization:
143
- * **Three Flexible Sync Strategies**:
144
- * **⚑ Instant Render (SWR, Recommended)**: Instantly displays local cache (0ms), silently syncing latest state in background;
145
- * **πŸ“‹ Manual Only (Energy Saver)**: Browse local cache only; zero background `gh` processes triggered;
146
- * **⏱️ Periodic Auto Poll**: Background polling according to custom intervals while cockpit is open.
147
- * **Custom Polling Intervals**: Choose from 1 min / 5 mins (Default) / 15 mins / 30 mins (Energy Saver) / 1 hour / Never;
148
- * **Visual Cache Management**: Real-time snapshot size and timestamp visibility with one-click `[πŸ—‘οΈ Clear Cache]`.
149
-
150
- <p align="center">
151
- <img src="./docs/images/3.png" alt="Data Sync Settings Modal" width="85%" />
152
- </p>
153
-
154
- ---
248
+ ### 3. Settings Center (Settings Modal)
249
+ Click **`[βš™οΈ Settings]`** in the top right of the Cockpit (or the βš™οΈ button in the right sidebar) to open the sectioned settings modal (left-side navigation, independently scrolling content; collapses to horizontal tabs on narrow screens):
155
250
 
156
- ## πŸš€ Installation Guide
157
-
158
- ### Step 1: Prerequisites
159
- Ensure GitHub CLI (`gh`) is installed and authenticated:
160
- ```bash
161
- # Windows
162
- winget install --id GitHub.cli
163
-
164
- # macOS
165
- brew install gh
251
+ **πŸ”„ Data Sync Section** β€” tune data fetching rhythm:
252
+ * **Two Sync Strategies**:
253
+ * **⚑ Instant Render (SWR, Recommended)**: Instantly displays local cache (0ms), then silently syncs the latest state within 300ms β€” no matter how stale the cache is, opening the panel self-heals to fresh data;
254
+ * **πŸ“‹ Manual Only (Energy Saver)**: Browse local cache only; zero background `gh` processes triggered; click `[πŸ”„ Refresh]` whenever you want updates.
255
+ * **Visual Cache Management**: Real-time snapshot size and timestamp visibility with one-click `[πŸ—‘οΈ Clear Cache]`.
166
256
 
167
- # Login (one-time setup)
168
- gh auth login
169
- ```
257
+ **🌐 Network Proxy Section** β€” route all plugin traffic through your proxy:
258
+ * **Global Scope**: Once configured, the cockpit, right-sidebar panel, all 9 Agent tool invocations, and one-click upgrades route through the proxy; when disabled, system environment proxies (`HTTPS_PROXY` etc.) or direct connections apply;
259
+ * **Protocol Support**: `http://` / `https://` / `socks5://` / `socks5h://` (gh and npm chains natively support SOCKS5; `socks5h` delegates DNS resolution to the proxy for stronger pollution resistance; the npm version probe uses Node fetch which does not support SOCKS β€” it stays direct and the UI states this honestly);
260
+ * **`[πŸ§ͺ Test Connectivity]`**: One-click latency probe against the GitHub API through the current proxy;
261
+ * **Instant Effect**: Persisted to `~/.dsh/data/dsh-github-flow/proxy.json` (auto-restored on DSH restart) β€” no restart, no plugin reload;
262
+ * **Visibility**: A `🌐 Proxy` badge appears in the cockpit title bar while active; hover to inspect the current proxy URL;
263
+ * **NO_PROXY Exclusions**: `localhost` and `127.0.0.1` are forcibly included β€” loopback Web API requests are never hijacked by the proxy.
170
264
 
171
- ### Step 2: Install into DSH
265
+ **⬆️ Update Source Section** β€” choose which npm registry checks for new versions:
266
+ * **Three options**: 🌍 npm official registry (default β€” new releases visible immediately) / πŸ‡¨πŸ‡³ npmmirror (fast in China; minutes-level sync delay) / β›” No update checks (only silences the upgrade banner; `/gh upgrade` and one-click upgrade remain available);
267
+ * **Strict single-source**: the selected source is never silently swapped β€” probe failures are reported honestly;
268
+ * **Detection & upgrade traffic follows the global proxy setting** (socks5 boundary stated honestly in the UI);
269
+ * **One-click upgrade installs from the selected source** β€” consistent with version detection;
270
+ * **Verify on save**: switching sources immediately probes the new registry and shows the latest version.
172
271
 
173
- Run in your DSH environment:
272
+ **ℹ️ About Section** β€” plugin identity & project info:
273
+ * Current running version, project description, GitHub repository, npm package page, and MIT license;
274
+ * Star card β€” if the plugin helps your workflow, a Star on the repo powers continued iteration.
174
275
 
175
- ```bash
176
- # Scenario A: DSH Desktop Edition (Desktop Profile)
177
- dsh plugin --profile desktop add dsh-github-flow
276
+ > 🏷️ **Plugin Identity Badge**: Panel titles (cockpit & right sidebar) carry a small "Plugin" badge, clearly marking the UI as provided by the third-party plugin `dsh-github-flow` (not a DSH / GitHub official feature). Click the badge to open the About page.
178
277
 
179
- # Scenario B: DSH Web / CLI Environment
180
- pnpm dsh plugin add dsh-github-flow
181
- ```
278
+ | πŸ”„ Data Sync Section | 🌐 Network Proxy Section |
279
+ | :---: | :---: |
280
+ | ![Settings Center Β· Data Sync](./docs/images/3.png) | ![Settings Center Β· Network Proxy](./docs/images/4.png) |
182
281
 
183
282
  ---
184
283
 
@@ -186,14 +285,16 @@ pnpm dsh plugin add dsh-github-flow
186
285
 
187
286
  Never miss an update! Built-in industrial-grade update management:
188
287
 
189
- 1. **Business-First, Idle Background Detection**:
190
- - Primary PR/Issue data loads and renders **instantly in milliseconds**;
191
- - Update checks run **1.5 seconds later during idle periods**, ensuring zero impact on user workflows.
192
- 2. **Dual-Registry Acceleration**:
193
- - Prioritizes npmmirror for ultra-fast checks (50~150ms in mainland regions) with seamless fallback to official npmjs.
288
+ 1. **Parallel Detection, Zero gh-Dependency**:
289
+ - Update checks fire **in parallel with the gh environment chain** (install/login/business data) on mount β€” never serialized behind gh overviews; gh failures never block upgrade banners;
290
+ - Server-side `inFlightPromise` merging + 24h cache keeps multi-panel mounting storm-free.
291
+ 2. **Selectable Update Source** (see the "⬆️ Update Source" settings section):
292
+ - Defaults to the **npm official registry** (new releases visible immediately), or switch to **npmmirror** (minutes-level sync delay);
293
+ - Auto checks can be disabled entirely (only silences prompts β€” `/gh upgrade` and one-click upgrade stay available).
194
294
  3. **Cross-Platform One-Click Upgrade**:
195
295
  - **Click to Upgrade**: Click **`[⚑ Upgrade]`** in the UI to update in the background;
196
296
  - **Auto OS Adaptation**: Differentiates macOS and Windows; auto-injects Homebrew PATH variables on macOS GUI launches;
297
+ - **Registry Follows Setting**: One-click upgrades install from the source selected in Update Source settings;
197
298
  - **Source Protection**: Automatically aborts npm overwrites when running in local Git linked development mode (`link:`);
198
299
  - **Restart Guidance**: Clearly notifies users to restart DSH service to reload backend tools, with instant web refresh options.
199
300
 
@@ -207,17 +308,15 @@ Why did the Global Cockpit take several seconds to load in earlier releases? Bec
207
308
  Initial Mount (0ms) ──────────> Instantly render local persistent snapshot
208
309
  β”‚
209
310
  β”œβ”€β”€ SWR Mode: Idle 300ms delay, silently revalidate in background
210
- β”œβ”€β”€ Manual Mode: Browse offline snapshot, only fetch on click [πŸ”„ Refresh]
211
- └── Auto Poll: Periodically update according to chosen interval (e.g., 5m/30m)
311
+ └── Manual Mode: Browse offline snapshot, only fetch on click [πŸ”„ Refresh]
212
312
  ```
213
313
 
214
314
  ### Strategy Comparison & Recommendations:
215
315
 
216
316
  | Sync Strategy | Mechanism | Recommended Use Case |
217
317
  | :--- | :--- | :--- |
218
- | **⚑ Instant Render (SWR, Default)** | **0ms instantaneous mount** from local cache, silently revalidating in background. | **Recommended for all developers**. Eliminates spinner freezes, delivering seamless UX. |
318
+ | **⚑ Instant Render (SWR, Default)** | **0ms instantaneous mount** from local cache, silently revalidating in background within 300ms β€” however stale the snapshot, opening the panel self-heals to fresh data. | **Recommended for all developers**. Eliminates spinner freezes, delivering seamless UX. |
219
319
  | **πŸ“‹ Manual Only (Energy Saver)** | Browse local cache only; zero automated background `gh` processes. | **Battery-powered laptops, low-spec hardware, or metered networks**. Zero background waste. |
220
- | **⏱️ Periodic Auto Poll** | Background polls status at user-specified intervals (1m to 1h). | **Maintainer workstations & dedicated monitoring setups**. Keep tasks strictly up to date. |
221
320
 
222
321
  * **Offline Resilience (Fail-Safe)**: Even when disconnected or hitting network timeouts, **your dashboard preserves the complete snapshot for searching, navigation, and reviewβ€”zero blank screens or crash popups!**
223
322
 
@@ -246,10 +345,12 @@ Works out of the box, with optional tweaks in `cordis.patch.yml` or your profile
246
345
  defaultTimeoutMs: 30000 # Command timeout in milliseconds (default 30s)
247
346
  maxOutputChars: 24000 # Safe output character ceiling (Token protection)
248
347
  maxOutputBytes: 96000 # Safe UTF-8 byte ceiling (default maxOutputChars * 4)
348
+ defaultListLimit: 20 # Default list size for pr/issue/run/release/skill queries
249
349
  cacheTtlMs: 15000 # Repository overview cache TTL (default 15s)
250
350
  checkUpdate: true # Enable automatic update checks (default true)
251
351
  updateCheckIntervalMs: 86400000 # Check interval in ms (default 24h)
252
352
  registryUrl: '' # Custom private npm registry URL
353
+ proxyUrl: '' # Preset proxy default (e.g. 'http://127.0.0.1:7890'; only applies before the cockpit setting is saved β€” UI setting takes precedence)
253
354
  ```
254
355
 
255
356
  ---
@@ -279,6 +380,9 @@ export function apply(ctx: Context) {
279
380
 
280
381
  ---
281
382
 
383
+ ## Friendship links
384
+ - [LINUX DO - A new ideal community](https://linux.do/)
385
+
282
386
  ## πŸ“„ License
283
387
 
284
388
  Open-sourced under the [MIT License](./LICENSE). Contributions, PRs, and Issues are welcome!