Skip to content

Commit d9d4aba

Browse files
author
ylwl1997
committed
详情页构建版下载命令(21 个预构建 tgz)+ 构建产物
1 parent d68642a commit d9d4aba

6 files changed

Lines changed: 313 additions & 0 deletions

File tree

60.4 KB
Binary file not shown.
18.2 KB
Binary file not shown.

‎public/builds/manifest.json‎

Lines changed: 272 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,272 @@
1+
[
2+
{
3+
"name": "dsh-tianshu-tui",
4+
"status": "OK",
5+
"file": "huiliyi37-dsh-tianshu-tui-0.1.1-rc.6.tgz"
6+
},
7+
{
8+
"name": "deepseek-harness-tui",
9+
"status": "ERR",
10+
"file": "[Errno 2] No such file or directory: 'C:\\\\Users\\\\Administrator\\\\build-work\\\\deep"
11+
},
12+
{
13+
"name": "dsh-at-file",
14+
"status": "OK",
15+
"file": "dsh-at-file-0.4.0.tgz"
16+
},
17+
{
18+
"name": "dsh-openpencil",
19+
"status": "OK",
20+
"file": "zseven-w-dsh-openpencil-0.1.0-rc.1.tgz"
21+
},
22+
{
23+
"name": "dsh-annotation",
24+
"status": "OK",
25+
"file": "omdsh-dev-dsh-annotation-1.3.13.tgz"
26+
},
27+
{
28+
"name": "dsh-spotlight",
29+
"status": "FAIL",
30+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_40_46_277Z-debug-0.log\n"
31+
},
32+
{
33+
"name": "dsh-101",
34+
"status": "OK",
35+
"file": "bill9109-dsh-101-0.1.7.tgz"
36+
},
37+
{
38+
"name": "ex-setting",
39+
"status": "FAIL",
40+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_41_56_015Z-debug-0.log\n"
41+
},
42+
{
43+
"name": "dsh-turn-navigator",
44+
"status": "OK",
45+
"file": "deepseek-ai-dsh-turn-navigator-0.0.1.tgz"
46+
},
47+
{
48+
"name": "DSH-better-sidebar",
49+
"status": "ERR",
50+
"file": "Command '['C:\\\\Users\\\\Administrator\\\\.nodejs\\\\node-v24.19.0-win-x64\\\\node.exe', "
51+
},
52+
{
53+
"name": "dsh-share",
54+
"status": "OK",
55+
"file": "dsh-external-dsh-share-0.1.0.tgz"
56+
},
57+
{
58+
"name": "dsh-sidechain",
59+
"status": "FAIL",
60+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_45_44_153Z-debug-0.log\n"
61+
},
62+
{
63+
"name": "dsh-explain",
64+
"status": "FAIL",
65+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_46_31_840Z-debug-0.log\n"
66+
},
67+
{
68+
"name": "dsh-vision-toolkit",
69+
"status": "FAIL",
70+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_46_41_182Z-debug-0.log\n"
71+
},
72+
{
73+
"name": "dsh-computer-use",
74+
"status": "FAIL",
75+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_46_44_541Z-debug-0.log\n"
76+
},
77+
{
78+
"name": "dsh-toolkit",
79+
"status": "FAIL",
80+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_46_51_555Z-debug-0.log\n"
81+
},
82+
{
83+
"name": "dsh-tool-csv",
84+
"status": "FAIL",
85+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_46_53_898Z-debug-0.log\n"
86+
},
87+
{
88+
"name": "dsh-tool-calculator",
89+
"status": "FAIL",
90+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_46_56_735Z-debug-0.log\n"
91+
},
92+
{
93+
"name": "dsh-tool-diff",
94+
"status": "FAIL",
95+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_46_59_123Z-debug-0.log\n"
96+
},
97+
{
98+
"name": "dsh-tool-encoding",
99+
"status": "FAIL",
100+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_01_442Z-debug-0.log\n"
101+
},
102+
{
103+
"name": "dsh-tool-json",
104+
"status": "FAIL",
105+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_04_174Z-debug-0.log\n"
106+
},
107+
{
108+
"name": "dsh-tool-markdown",
109+
"status": "FAIL",
110+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_06_606Z-debug-0.log\n"
111+
},
112+
{
113+
"name": "dsh-tool-regex",
114+
"status": "FAIL",
115+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_09_441Z-debug-0.log\n"
116+
},
117+
{
118+
"name": "dsh-tool-schema",
119+
"status": "FAIL",
120+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_12_955Z-debug-0.log\n"
121+
},
122+
{
123+
"name": "dsh-tool-stat",
124+
"status": "FAIL",
125+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_15_288Z-debug-0.log\n"
126+
},
127+
{
128+
"name": "dsh-tool-time",
129+
"status": "FAIL",
130+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_18_333Z-debug-0.log\n"
131+
},
132+
{
133+
"name": "dsh-kb-sieve",
134+
"status": "OK",
135+
"file": "dsh-external-dsh-kb-sieve-0.1.0.tgz"
136+
},
137+
{
138+
"name": "dsh-cowork",
139+
"status": "FAIL",
140+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_25_180Z-debug-0.log\n"
141+
},
142+
{
143+
"name": "dsh-tool-search",
144+
"status": "OK",
145+
"file": "deepseek-ai-dsh-tool-search-0.0.1.tgz"
146+
},
147+
{
148+
"name": "dsh-openmaic",
149+
"status": "OK",
150+
"file": "openmaic-dsh-openmaic-0.4.0.tgz"
151+
},
152+
{
153+
"name": "dsh_workflow",
154+
"status": "FAIL",
155+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_47_34_645Z-debug-0.log\n"
156+
},
157+
{
158+
"name": "dsh-automation",
159+
"status": "OK",
160+
"file": "dsh-external-dsh-automation-0.1.5.tgz"
161+
},
162+
{
163+
"name": "dsh-routines",
164+
"status": "OK",
165+
"file": "dsh-routines-bundle-0.1.0.tgz"
166+
},
167+
{
168+
"name": "dsh-plannotator",
169+
"status": "OK",
170+
"file": "dsh-external-dsh-plannotator-0.1.3.tgz"
171+
},
172+
{
173+
"name": "dsh-deep-research",
174+
"status": "OK",
175+
"file": "dsh-external-dsh-deep-research-0.1.0.tgz"
176+
},
177+
{
178+
"name": "dsh-inspect",
179+
"status": "OK",
180+
"file": "dsh-external-dsh-inspect-0.1.0.tgz"
181+
},
182+
{
183+
"name": "dsh-track",
184+
"status": "FAIL",
185+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_48_02_307Z-debug-0.log\n"
186+
},
187+
{
188+
"name": "dsh-acp-for-bitfun",
189+
"status": "OK",
190+
"file": "dsh-acp-for-bitfun-0.1.0.tgz"
191+
},
192+
{
193+
"name": "dsh-chatnode-wechat",
194+
"status": "FAIL",
195+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_48_17_567Z-debug-0.log\n"
196+
},
197+
{
198+
"name": "dsh-webbridge",
199+
"status": "OK",
200+
"file": "bill9109-dsh-webbridge-0.0.2.tgz"
201+
},
202+
{
203+
"name": "dsh-context-doctor",
204+
"status": "OK",
205+
"file": "dsh-context-doctor-0.5.0.tgz"
206+
},
207+
{
208+
"name": "dsh-plugin-check",
209+
"status": "FAIL",
210+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_48_25_589Z-debug-0.log\n"
211+
},
212+
{
213+
"name": "dsh-security-audit",
214+
"status": "FAIL",
215+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_48_28_103Z-debug-0.log\n"
216+
},
217+
{
218+
"name": "dsh-trace",
219+
"status": "OK",
220+
"file": "deepseek-ai-dsh-trace-0.0.1.tgz"
221+
},
222+
{
223+
"name": "plugin-template",
224+
"status": "FAIL",
225+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_48_42_124Z-debug-0.log\n"
226+
},
227+
{
228+
"name": "dsh-tps",
229+
"status": "FAIL",
230+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_48_52_247Z-debug-0.log\n"
231+
},
232+
{
233+
"name": "oh-dsh",
234+
"status": "OK",
235+
"file": "oh-dsh-desktop-0.1.4.tgz"
236+
},
237+
{
238+
"name": "dsh-annotate",
239+
"status": "FAIL",
240+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_51_07_582Z-debug-0.log\n"
241+
},
242+
{
243+
"name": "dsh-prompt-profile",
244+
"status": "FAIL",
245+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_51_16_159Z-debug-0.log\n"
246+
},
247+
{
248+
"name": "dsh-revdiff",
249+
"status": "FAIL",
250+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_51_25_820Z-debug-0.log\n"
251+
},
252+
{
253+
"name": "dsh-gomoku",
254+
"status": "OK",
255+
"file": "deepseek-ai-dsh-gomoku-0.0.1.tgz"
256+
},
257+
{
258+
"name": "dsh-stock-market",
259+
"status": "FAIL",
260+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_51_53_463Z-debug-0.log\n"
261+
},
262+
{
263+
"name": "dsh-stickers",
264+
"status": "FAIL",
265+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_53_45_215Z-debug-0.log\n"
266+
},
267+
{
268+
"name": "dsh-auto-chess",
269+
"status": "FAIL",
270+
"file": "mplete log of this run can be found in: D:\\dsh\\npm-cache\\_logs\\2026-08-14T09_54_10_395Z-debug-0.log\n"
271+
}
272+
]
16.3 KB
Binary file not shown.

‎src/pages/plugins/[slug].astro‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@
22
import Base from '../../layouts/Base.astro';
33
import plugins from '../../data/plugins.json';
44
import { getRelativeLocaleUrl } from 'astro:i18n';
5+
import { readFileSync, existsSync } from 'node:fs';
6+
import { fileURLToPath } from 'node:url';
7+
8+
// read build manifest (name -> built tgz file)
9+
let buildsMap: Record<string, string> = {};
10+
try {
11+
if (existsSync('public/builds/manifest.json')) {
12+
const manifest = JSON.parse(readFileSync('public/builds/manifest.json', 'utf-8'));
13+
for (const b of manifest) {
14+
if (b.status === 'OK') buildsMap[b.name] = b.file;
15+
}
16+
}
17+
} catch {}
518
619
export function getStaticPaths() {
720
return Object.entries(plugins).flatMap(([cat, items]) =>
@@ -131,6 +144,12 @@ const related = (plugins[cat] || []).filter((x) => x.name !== p.name).slice(0, 6
131144
<li>Restart <code>dsh web</code>.</li>
132145
</ol>
133146
<p class="muted small">Note: plugins that ship a <code>prepare</code> build script may prompt pnpm to allow the build — add the key it prints under <code>allowBuilds</code> in <code>pnpm-workspace.yaml</code>, then re-run.</p>
147+
{buildsMap[p.name] && (
148+
<div class="build-box">
149+
<strong>⚡ Prebuilt copy available</strong> — skip the build step, install the compiled version directly:
150+
<pre class="code-block"><code>dsh plugin --profile web add https://dshbase.com/builds/{buildsMap[p.name]}</code></pre>
151+
</div>
152+
)}
134153
{p.test !== 'not-on-npm' && (
135154
<Fragment>
136155
<h2 style="margin-top:24px">Test report</h2>
@@ -170,6 +189,8 @@ const related = (plugins[cat] || []).filter((x) => x.name !== p.name).slice(0, 6
170189
.st-warn { color: #9a6700; border-color: #e5c27a; background: #fff8e6; }
171190
.what-it-does { font-size: 15px; line-height: 1.7; color: var(--ink); background: #f7f8fc; border-left: 3px solid var(--primary); padding: 14px 16px; border-radius: 8px; }
172191
.review-text { font-size: 14px; line-height: 1.7; color: var(--ink-2); margin: 10px 0 4px; }
192+
.build-box { font-size: 13.5px; color: var(--ink-2); background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; padding: 12px 16px; margin: 14px 0; }
193+
.build-box .code-block { margin: 8px 0 0; }
173194
.metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin: 4px 0; }
174195
.metric { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 12px; text-align: center; }
175196
.m-val { display: block; font-size: 20px; font-weight: 800; color: var(--ink); }

‎src/pages/zh/plugins/[slug].astro‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22
import Base from '../../../layouts/Base.astro';
33
import plugins from '../../../data/plugins.json';
44
import { getRelativeLocaleUrl } from 'astro:i18n';
5+
import { readFileSync, existsSync } from 'node:fs';
6+
import { fileURLToPath } from 'node:url';
7+
8+
let buildsMap: Record<string, string> = {};
9+
try {
10+
if (existsSync('public/builds/manifest.json')) {
11+
const manifest = JSON.parse(readFileSync('public/builds/manifest.json', 'utf-8'));
12+
for (const b of manifest) {
13+
if (b.status === 'OK') buildsMap[b.name] = b.file;
14+
}
15+
}
16+
} catch {}
517
618
export function getStaticPaths() {
719
return Object.entries(plugins).flatMap(([cat, items]) =>
@@ -131,6 +143,12 @@ const related = (plugins[cat] || []).filter((x) => x.name !== p.name).slice(0, 6
131143
<li>重启 <code>dsh web</code>。</li>
132144
</ol>
133145
<p class="muted small">注:带 <code>prepare</code> 构建脚本的插件,pnpm 会要求确认——把提示的 key 加进 <code>pnpm-workspace.yaml</code> 的 <code>allowBuilds</code> 再重跑即可。</p>
146+
{buildsMap[p.name] && (
147+
<div class="build-box">
148+
<strong>⚡ 有预构建版</strong> — 跳过构建步骤,直接装编译好的版本:
149+
<pre class="code-block"><code>dsh plugin --profile web add https://dshbase.com/builds/{buildsMap[p.name]}</code></pre>
150+
</div>
151+
)}
134152
{p.test !== 'not-on-npm' && (
135153
<Fragment>
136154
<h2 style="margin-top:24px">实测报告</h2>
@@ -170,6 +188,8 @@ const related = (plugins[cat] || []).filter((x) => x.name !== p.name).slice(0, 6
170188
.st-warn { color: #9a6700; border-color: #e5c27a; background: #fff8e6; }
171189
.what-it-does { font-size: 15px; line-height: 1.7; color: var(--ink); background: #f7f8fc; border-left: 3px solid var(--primary); padding: 14px 16px; border-radius: 8px; }
172190
.review-text { font-size: 14px; line-height: 1.7; color: var(--ink-2); margin: 10px 0 4px; }
191+
.build-box { font-size: 13.5px; color: var(--ink-2); background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; padding: 12px 16px; margin: 14px 0; }
192+
.build-box .code-block { margin: 8px 0 0; }
173193
.metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin: 4px 0; }
174194
.metric { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 12px; text-align: center; }
175195
.m-val { display: block; font-size: 20px; font-weight: 800; color: var(--ink); }

0 commit comments

Comments
 (0)