Handle embedded storage restrictions and publish browser deployment checks
Browse files- README.md +3 -1
- SPACE_README.md +3 -1
- app/README.md +2 -0
- app/index.html +1 -0
- app/src/main.mjs +8 -2
- app/src/style.css +1 -1
- app/tests/space-diagnose.mjs +33 -0
- app/tests/space-embedded.mjs +52 -0
- app/tests/space-restricted.mjs +37 -0
- assets/{index-DEv7Wfck.js → index-BmnivGFp.js} +0 -0
- assets/{index-7QEZgEhG.css → index-BsfdAjtO.css} +1 -1
- deployment-manifest.json +48 -24
- index.html +3 -2
- research/browser-agent/REPORT.md +8 -0
- scripts/prepare_space.py +2 -1
- validation/agent-space-checksums.json +86 -0
- validation/agent-space-deployment.json +2314 -0
- validation/agent-space-embedded.json +271 -0
README.md
CHANGED
|
@@ -27,6 +27,8 @@ Run **Pi's real agent core**, **just-bash**, and **MiniCPM5-2B** entirely in you
|
|
| 27 |
|
| 28 |
Click **Load model** once. The first download is about **1.84 GB**; files are SHA-256 verified and cached in OPFS. The loader uses bounded byte ranges, retries, cancellation, and separate download / GPU setup / warm-up phases. Chat and virtual files are saved in IndexedDB on this site. Cached weights can be reused after reloading.
|
| 29 |
|
|
|
|
|
|
|
| 30 |
Requires WebGPU with FP16 (`shader-f16`) in a browser worker, OPFS, and sufficient storage and device memory. There is a 4,096-token prompt-plus-output budget and a 12-turn limit per request. Desktop and narrow-screen layouts are included. Physical Android/iOS devices have not been tested.
|
| 31 |
|
| 32 |
Try: **Read sales.csv, calculate total revenue using bash, and save a short report to report.md. Verify the file.**
|
|
@@ -72,7 +74,7 @@ The production browser bundle passed five real-model agent workflows with networ
|
|
| 72 |
|
| 73 |
The same workflows passed with an actual desktop GPU capped at 128 MiB storage bindings and 256 MiB buffers. This is not mobile hardware emulation. Public-Hub download cancellation/retry was tested locally; cached reloads took about 1.8–1.9 seconds on the tested desktop. See [agent results](validation/agent-browser-limit128.json), [download results](validation/agent-browser-hub.json), and [published model checksums](validation/hub-checksums.json).
|
| 74 |
|
| 75 |
-
The earlier [inference-demo deployment check](validation/space-deployment.json) is retained as model provenance
|
| 76 |
|
| 77 |
## Reproduce
|
| 78 |
|
|
|
|
| 27 |
|
| 28 |
Click **Load model** once. The first download is about **1.84 GB**; files are SHA-256 verified and cached in OPFS. The loader uses bounded byte ranges, retries, cancellation, and separate download / GPU setup / warm-up phases. Chat and virtual files are saved in IndexedDB on this site. Cached weights can be reused after reloading.
|
| 29 |
|
| 30 |
+
If your browser blocks storage inside Hugging Face's embedded view, use the app's **Open workspace in a new tab** button or [open the app directly](https://mike0021-minicpm5-2b-webgpu.static.hf.space/). This keeps inference and files in your browser and does not require changing browser privacy settings.
|
| 31 |
+
|
| 32 |
Requires WebGPU with FP16 (`shader-f16`) in a browser worker, OPFS, and sufficient storage and device memory. There is a 4,096-token prompt-plus-output budget and a 12-turn limit per request. Desktop and narrow-screen layouts are included. Physical Android/iOS devices have not been tested.
|
| 33 |
|
| 34 |
Try: **Read sales.csv, calculate total revenue using bash, and save a short report to report.md. Verify the file.**
|
|
|
|
| 74 |
|
| 75 |
The same workflows passed with an actual desktop GPU capped at 128 MiB storage bindings and 256 MiB buffers. This is not mobile hardware emulation. Public-Hub download cancellation/retry was tested locally; cached reloads took about 1.8–1.9 seconds on the tested desktop. See [agent results](validation/agent-browser-limit128.json), [download results](validation/agent-browser-hub.json), and [published model checksums](validation/hub-checksums.json).
|
| 76 |
|
| 77 |
+
The deployed browser agent also passed all five workflows from the public Space URL, with zero requests during offline tasks and zero weight downloads on reload. The actual Hugging Face embedded page successfully loaded the model and used Pi's bash and file tools to produce and verify the $144 report. See [deployed app results](validation/agent-space-deployment.json), [embedded-page results](validation/agent-space-embedded.json), and [published artifact checksums](validation/agent-space-checksums.json). The earlier [inference-demo deployment check](validation/space-deployment.json) is retained as model provenance.
|
| 78 |
|
| 79 |
## Reproduce
|
| 80 |
|
SPACE_README.md
CHANGED
|
@@ -27,6 +27,8 @@ Run **Pi's real agent core**, **just-bash**, and **MiniCPM5-2B** entirely in you
|
|
| 27 |
|
| 28 |
Click **Load model** once. The first download is about **1.84 GB**; files are SHA-256 verified and cached in OPFS. The loader uses bounded byte ranges, retries, cancellation, and separate download / GPU setup / warm-up phases. Chat and virtual files are saved in IndexedDB on this site. Cached weights can be reused after reloading.
|
| 29 |
|
|
|
|
|
|
|
| 30 |
Requires WebGPU with FP16 (`shader-f16`) in a browser worker, OPFS, and sufficient storage and device memory. There is a 4,096-token prompt-plus-output budget and a 12-turn limit per request. Desktop and narrow-screen layouts are included. Physical Android/iOS devices have not been tested.
|
| 31 |
|
| 32 |
Try: **Read sales.csv, calculate total revenue using bash, and save a short report to report.md. Verify the file.**
|
|
@@ -72,7 +74,7 @@ The production browser bundle passed five real-model agent workflows with networ
|
|
| 72 |
|
| 73 |
The same workflows passed with an actual desktop GPU capped at 128 MiB storage bindings and 256 MiB buffers. This is not mobile hardware emulation. Public-Hub download cancellation/retry was tested locally; cached reloads took about 1.8–1.9 seconds on the tested desktop. See [agent results](validation/agent-browser-limit128.json), [download results](validation/agent-browser-hub.json), and [published model checksums](validation/hub-checksums.json).
|
| 74 |
|
| 75 |
-
The earlier [inference-demo deployment check](validation/space-deployment.json) is retained as model provenance
|
| 76 |
|
| 77 |
## Reproduce
|
| 78 |
|
|
|
|
| 27 |
|
| 28 |
Click **Load model** once. The first download is about **1.84 GB**; files are SHA-256 verified and cached in OPFS. The loader uses bounded byte ranges, retries, cancellation, and separate download / GPU setup / warm-up phases. Chat and virtual files are saved in IndexedDB on this site. Cached weights can be reused after reloading.
|
| 29 |
|
| 30 |
+
If your browser blocks storage inside Hugging Face's embedded view, use the app's **Open workspace in a new tab** button or [open the app directly](https://mike0021-minicpm5-2b-webgpu.static.hf.space/). This keeps inference and files in your browser and does not require changing browser privacy settings.
|
| 31 |
+
|
| 32 |
Requires WebGPU with FP16 (`shader-f16`) in a browser worker, OPFS, and sufficient storage and device memory. There is a 4,096-token prompt-plus-output budget and a 12-turn limit per request. Desktop and narrow-screen layouts are included. Physical Android/iOS devices have not been tested.
|
| 33 |
|
| 34 |
Try: **Read sales.csv, calculate total revenue using bash, and save a short report to report.md. Verify the file.**
|
|
|
|
| 74 |
|
| 75 |
The same workflows passed with an actual desktop GPU capped at 128 MiB storage bindings and 256 MiB buffers. This is not mobile hardware emulation. Public-Hub download cancellation/retry was tested locally; cached reloads took about 1.8–1.9 seconds on the tested desktop. See [agent results](validation/agent-browser-limit128.json), [download results](validation/agent-browser-hub.json), and [published model checksums](validation/hub-checksums.json).
|
| 76 |
|
| 77 |
+
The deployed browser agent also passed all five workflows from the public Space URL, with zero requests during offline tasks and zero weight downloads on reload. The actual Hugging Face embedded page successfully loaded the model and used Pi's bash and file tools to produce and verify the $144 report. See [deployed app results](validation/agent-space-deployment.json), [embedded-page results](validation/agent-space-embedded.json), and [published artifact checksums](validation/agent-space-checksums.json). The earlier [inference-demo deployment check](validation/space-deployment.json) is retained as model provenance.
|
| 78 |
|
| 79 |
## Reproduce
|
| 80 |
|
app/README.md
CHANGED
|
@@ -71,6 +71,8 @@ Upload **the contents of `app/dist`** to an HTTPS static host. It contains the a
|
|
| 71 |
|
| 72 |
The public deployment is [Mike0021/MiniCPM5-2B-WebGPU](https://huggingface.co/spaces/Mike0021/MiniCPM5-2B-WebGPU). From the repository root, `python scripts/prepare_space.py` stages the built app, source, licenses, and selected validation files in `.space-agent/` for upload.
|
| 73 |
|
|
|
|
|
|
|
| 74 |
## Pinned components
|
| 75 |
|
| 76 |
| Component | Version / revision |
|
|
|
|
| 71 |
|
| 72 |
The public deployment is [Mike0021/MiniCPM5-2B-WebGPU](https://huggingface.co/spaces/Mike0021/MiniCPM5-2B-WebGPU). From the repository root, `python scripts/prepare_space.py` stages the built app, source, licenses, and selected validation files in `.space-agent/` for upload.
|
| 73 |
|
| 74 |
+
Browsers that deny storage in third-party embeds get an **Open workspace in a new tab** link. The top-level Space app can then use its own storage without changing browser privacy settings. Embedded-page tests restore normal Chromium storage partitioning because Playwright 1.58 disables it by default; the restricted-storage path is tested separately.
|
| 75 |
+
|
| 76 |
## Pinned components
|
| 77 |
|
| 78 |
| Component | Version / revision |
|
app/index.html
CHANGED
|
@@ -18,6 +18,7 @@
|
|
| 18 |
<p id="load-status" role="status">One download, about 1.84 GB. Cached in this browser for next time.</p>
|
| 19 |
<progress id="progress" hidden max="100" value="0" aria-label="Model download"></progress>
|
| 20 |
<div id="load-detail" class="muted"></div>
|
|
|
|
| 21 |
</div>
|
| 22 |
<div id="messages" role="log" aria-label="Messages" aria-live="polite">
|
| 23 |
<div id="welcome"><div class="eyebrow">A small agent. A real workspace.</div><h1>What shall we work on?</h1>
|
|
|
|
| 18 |
<p id="load-status" role="status">One download, about 1.84 GB. Cached in this browser for next time.</p>
|
| 19 |
<progress id="progress" hidden max="100" value="0" aria-label="Model download"></progress>
|
| 20 |
<div id="load-detail" class="muted"></div>
|
| 21 |
+
<a id="open-tab" class="button" target="_blank" rel="noopener noreferrer" hidden>Open workspace in a new tab ↗</a>
|
| 22 |
</div>
|
| 23 |
<div id="messages" role="log" aria-label="Messages" aria-live="polite">
|
| 24 |
<div id="welcome"><div class="eyebrow">A small agent. A real workspace.</div><h1>What shall we work on?</h1>
|
app/src/main.mjs
CHANGED
|
@@ -15,6 +15,12 @@ function rpc(action, args) {
|
|
| 15 |
});
|
| 16 |
}
|
| 17 |
function notice(text) { $('#notice').textContent = text; $('#notice').hidden = !text; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
function controls() {
|
| 19 |
$('#load').disabled = busy || loaded;
|
| 20 |
$('#send').disabled = busy || !loaded;
|
|
@@ -107,7 +113,7 @@ worker.onmessage = ({ data }) => {
|
|
| 107 |
} else if (data.type === 'generation') { diagnostics.generations.push(data); if (diagnostics.generations.length > 100) diagnostics.generations.shift(); }
|
| 108 |
else if (data.type === 'context_trim') notice('Older turns were left out of the model context. Your full chat remains saved.');
|
| 109 |
else if (data.type === 'notice') notice(data.text);
|
| 110 |
-
else if (data.type === 'persistence_error') notice(data.error);
|
| 111 |
else if (data.type === 'fatal') { loaded = false; notice(data.error); controls(); }
|
| 112 |
};
|
| 113 |
worker.onerror = event => {
|
|
@@ -120,7 +126,7 @@ async function load() {
|
|
| 120 |
try {
|
| 121 |
return await rpc('load', { runtimeURL: new URL('./runtime/', location.href).href,
|
| 122 |
local: query.get('source') === 'local', origin: location.origin, limit128: query.has('limit128') });
|
| 123 |
-
} catch (error) { $('#load-status').textContent = error.message; $('#progress').hidden = true; throw error; }
|
| 124 |
}
|
| 125 |
async function prompt(text) {
|
| 126 |
if (!loaded) throw Error('Load the model to start chatting.');
|
|
|
|
| 15 |
});
|
| 16 |
}
|
| 17 |
function notice(text) { $('#notice').textContent = text; $('#notice').hidden = !text; }
|
| 18 |
+
function storageHelp(error) {
|
| 19 |
+
if (window.self === window.top || !/denied|storage directory access/i.test(error)) return error;
|
| 20 |
+
$('#open-tab').href = location.href;
|
| 21 |
+
$('#open-tab').hidden = false;
|
| 22 |
+
return 'Your browser blocked storage in this embedded app. Open the workspace in a new tab to load the model and save files.';
|
| 23 |
+
}
|
| 24 |
function controls() {
|
| 25 |
$('#load').disabled = busy || loaded;
|
| 26 |
$('#send').disabled = busy || !loaded;
|
|
|
|
| 113 |
} else if (data.type === 'generation') { diagnostics.generations.push(data); if (diagnostics.generations.length > 100) diagnostics.generations.shift(); }
|
| 114 |
else if (data.type === 'context_trim') notice('Older turns were left out of the model context. Your full chat remains saved.');
|
| 115 |
else if (data.type === 'notice') notice(data.text);
|
| 116 |
+
else if (data.type === 'persistence_error') notice(storageHelp(data.error));
|
| 117 |
else if (data.type === 'fatal') { loaded = false; notice(data.error); controls(); }
|
| 118 |
};
|
| 119 |
worker.onerror = event => {
|
|
|
|
| 126 |
try {
|
| 127 |
return await rpc('load', { runtimeURL: new URL('./runtime/', location.href).href,
|
| 128 |
local: query.get('source') === 'local', origin: location.origin, limit128: query.has('limit128') });
|
| 129 |
+
} catch (error) { error.message = storageHelp(error.message); $('#load-status').textContent = error.message; $('#progress').hidden = true; throw error; }
|
| 130 |
}
|
| 131 |
async function prompt(text) {
|
| 132 |
if (!loaded) throw Error('Load the model to start chatting.');
|
app/src/style.css
CHANGED
|
@@ -7,5 +7,5 @@ main{display:grid;grid-template-columns:minmax(420px,1fr) minmax(370px,.83fr);he
|
|
| 7 |
#notice{padding:10px 12px;margin:8px 0;border:1px solid #dbcca8;border-radius:6px;background:#f9f2df;font-size:12px}#chat-form{border:1px solid #cdd4c4;border-radius:10px;background:#fffefa;padding:10px}#prompt{width:100%;resize:vertical;max-height:180px;min-height:60px;border:0;background:transparent;padding:8px;font-size:13px}.composer-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.composer-footer span{margin-right:auto;font-size:10px;color:var(--muted);padding-left:8px}footer{padding:12px 0 0;color:#8b9185;font-size:10px;display:flex;justify-content:space-between;gap:8px}
|
| 8 |
.workspace{border-left:1px solid var(--line);background:#eeeee6;display:flex;flex-direction:column;min-width:0;min-height:0}.workspace-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 15px}.workspace-heading h2{font-size:12px;font-weight:500;margin:0}.workspace-heading>div{display:flex;gap:0}.button{display:inline-block}.file-area{display:grid;grid-template-columns:140px minmax(0,1fr);flex:1;min-height:180px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#files{overflow:auto;padding:10px 4px;border-right:1px solid var(--line)}#files button{display:block;text-align:left;font-size:11px;border:none;border-radius:4px;background:transparent;width:100%;padding:9px 8px;white-space:normal;overflow-wrap:anywhere;font-family:ui-monospace,monospace}#files button.selected{background:#dce3d5}.editor-area{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f9f9f3}.editor-heading{height:40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 8px 0 12px;gap:6px}#filename{font-family:ui-monospace,monospace;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#editor{flex:1;min-height:140px;resize:none;border:0;background:transparent;color:#354333;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;padding:16px;tab-size:2;white-space:pre;overflow:auto}
|
| 9 |
.terminal{background:#e8ece2;padding:0 16px}.terminal summary{font-size:11px;padding:14px 0;cursor:pointer}.terminal summary span{float:right;color:var(--muted);font-size:10px}#terminal-output{height:145px;overflow:auto;margin:0;font:11px/1.65 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}#shell-form{display:flex;align-items:center;gap:8px;border-top:1px solid #d5ddcd;padding:7px 0;font-family:ui-monospace,monospace}#command{width:100%;min-width:0;background:transparent;border:0;padding:8px 0;font-size:11px}.workspace-note{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
| 10 |
-
.markdown{white-space:normal}.markdown p{margin:0 0 10px}.markdown pre{background:#e9ede3;border:1px solid var(--line);border-radius:6px;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.markdown code{font:12px/1.7 ui-monospace,monospace}.markdown :not(pre)>code{background:#e9ede3;padding:2px 4px;border-radius:3px}.markdown a{color:var(--green)}.markdown table{border-collapse:collapse;font-size:12px}.markdown td,.markdown th{padding:5px 8px;border:1px solid var(--line)}
|
| 11 |
@media(min-width:1500px){.conversation{padding-left:55px;padding-right:55px}}@media(max-width:850px){header{height:66px;padding:0 18px}main{display:flex;flex-direction:column;height:auto}.conversation{padding:16px;min-height:calc(100dvh - 66px)}#messages{flex:1;max-height:65dvh}#welcome{margin:40px auto}.workspace{border-left:0;border-top:1px solid var(--line);min-height:600px}.file-area{min-height:310px}.header-right>span:not(.local-dot){display:none}.header-right button{margin-left:0}h1{font-size:32px}.file-area{grid-template-columns:115px minmax(0,1fr)}.badge{font-size:9px}.model-heading strong{font-size:12px}.model-panel{padding:12px}footer{font-size:9px}}
|
|
|
|
| 7 |
#notice{padding:10px 12px;margin:8px 0;border:1px solid #dbcca8;border-radius:6px;background:#f9f2df;font-size:12px}#chat-form{border:1px solid #cdd4c4;border-radius:10px;background:#fffefa;padding:10px}#prompt{width:100%;resize:vertical;max-height:180px;min-height:60px;border:0;background:transparent;padding:8px;font-size:13px}.composer-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.composer-footer span{margin-right:auto;font-size:10px;color:var(--muted);padding-left:8px}footer{padding:12px 0 0;color:#8b9185;font-size:10px;display:flex;justify-content:space-between;gap:8px}
|
| 8 |
.workspace{border-left:1px solid var(--line);background:#eeeee6;display:flex;flex-direction:column;min-width:0;min-height:0}.workspace-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 15px}.workspace-heading h2{font-size:12px;font-weight:500;margin:0}.workspace-heading>div{display:flex;gap:0}.button{display:inline-block}.file-area{display:grid;grid-template-columns:140px minmax(0,1fr);flex:1;min-height:180px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#files{overflow:auto;padding:10px 4px;border-right:1px solid var(--line)}#files button{display:block;text-align:left;font-size:11px;border:none;border-radius:4px;background:transparent;width:100%;padding:9px 8px;white-space:normal;overflow-wrap:anywhere;font-family:ui-monospace,monospace}#files button.selected{background:#dce3d5}.editor-area{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f9f9f3}.editor-heading{height:40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 8px 0 12px;gap:6px}#filename{font-family:ui-monospace,monospace;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#editor{flex:1;min-height:140px;resize:none;border:0;background:transparent;color:#354333;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;padding:16px;tab-size:2;white-space:pre;overflow:auto}
|
| 9 |
.terminal{background:#e8ece2;padding:0 16px}.terminal summary{font-size:11px;padding:14px 0;cursor:pointer}.terminal summary span{float:right;color:var(--muted);font-size:10px}#terminal-output{height:145px;overflow:auto;margin:0;font:11px/1.65 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}#shell-form{display:flex;align-items:center;gap:8px;border-top:1px solid #d5ddcd;padding:7px 0;font-family:ui-monospace,monospace}#command{width:100%;min-width:0;background:transparent;border:0;padding:8px 0;font-size:11px}.workspace-note{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
| 10 |
+
#open-tab{margin-top:12px;font-size:12px;color:var(--green);text-decoration:none;white-space:normal}.markdown{white-space:normal}.markdown p{margin:0 0 10px}.markdown pre{background:#e9ede3;border:1px solid var(--line);border-radius:6px;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.markdown code{font:12px/1.7 ui-monospace,monospace}.markdown :not(pre)>code{background:#e9ede3;padding:2px 4px;border-radius:3px}.markdown a{color:var(--green)}.markdown table{border-collapse:collapse;font-size:12px}.markdown td,.markdown th{padding:5px 8px;border:1px solid var(--line)}
|
| 11 |
@media(min-width:1500px){.conversation{padding-left:55px;padding-right:55px}}@media(max-width:850px){header{height:66px;padding:0 18px}main{display:flex;flex-direction:column;height:auto}.conversation{padding:16px;min-height:calc(100dvh - 66px)}#messages{flex:1;max-height:65dvh}#welcome{margin:40px auto}.workspace{border-left:0;border-top:1px solid var(--line);min-height:600px}.file-area{min-height:310px}.header-right>span:not(.local-dot){display:none}.header-right button{margin-left:0}h1{font-size:32px}.file-area{grid-template-columns:115px minmax(0,1fr)}.badge{font-size:9px}.model-heading strong{font-size:12px}.model-panel{padding:12px}footer{font-size:9px}}
|
app/tests/space-diagnose.mjs
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import {chromium} from 'playwright';
|
| 2 |
+
import fs from 'node:fs/promises';
|
| 3 |
+
const context=await chromium.launchPersistentContext('../validation/agent-browser-profile/space',{executablePath:'/usr/bin/chromium',headless:true,args:['--enable-unsafe-webgpu','--use-angle=vulkan','--enable-features=Vulkan','--disable-vulkan-surface']});
|
| 4 |
+
try {
|
| 5 |
+
const page=await context.newPage();
|
| 6 |
+
page.on('console',m=>{if(m.type()==='error')console.log(m.text().slice(0,1000));});
|
| 7 |
+
await page.goto('https://huggingface.co/spaces/Mike0021/MiniCPM5-2B-WebGPU');
|
| 8 |
+
await page.waitForTimeout(2000);
|
| 9 |
+
console.log('IFRAMES',await page.locator('iframe').evaluateAll(es=>es.map(e=>({src:e.src,allow:e.allow,sandbox:e.sandbox.value}))));
|
| 10 |
+
const app=page.frames().find(f=>f.url().includes('minicpm5-2b-webgpu.')&&f.url().includes('hf.space'));
|
| 11 |
+
await app.waitForFunction(()=>window.browserPi);await app.evaluate(()=>window.browserPi.ready);
|
| 12 |
+
console.log('NOTICE',await app.locator('#notice').textContent());
|
| 13 |
+
const probes=await app.evaluate(async()=>{
|
| 14 |
+
const probe=async()=>{
|
| 15 |
+
const checks={};
|
| 16 |
+
const check=async(name,fn)=>{try{checks[name]=await fn();}catch(e){checks[name]={name:e.name,message:e.message,stack:e.stack};}};
|
| 17 |
+
await check('opfs',async()=>{const root=await navigator.storage.getDirectory();const h=await root.getFileHandle('probe',{create:true});const w=await h.createWritable();await w.write('probe');await w.close();return (await h.getFile()).size;});
|
| 18 |
+
await check('estimate',()=>navigator.storage.estimate());
|
| 19 |
+
await check('locks',()=>navigator.locks.request('probe',()=>true));
|
| 20 |
+
await check('gpu',async()=>{const a=await navigator.gpu.requestAdapter();return a?{features:[...a.features]}:null;});
|
| 21 |
+
return checks;
|
| 22 |
+
};
|
| 23 |
+
const main=await probe();
|
| 24 |
+
const body='('+probe.toString()+')().then(r=>postMessage(r))';
|
| 25 |
+
const worker=await new Promise((resolve,reject)=>{const w=new Worker(URL.createObjectURL(new Blob([body],{type:'text/javascript'})));w.onmessage=e=>{w.terminate();resolve(e.data)};w.onerror=reject;});
|
| 26 |
+
let access;try{access=await document.hasStorageAccess();}catch(e){access=e.message;}
|
| 27 |
+
return {main,worker,access,policy:document.permissionsPolicy?.allowedFeatures?.()};
|
| 28 |
+
});
|
| 29 |
+
console.log('PROBES',JSON.stringify(probes,null,2));
|
| 30 |
+
try{await app.evaluate(()=>window.browserPi.load());}catch(e){console.log('LOAD',e.message);}
|
| 31 |
+
console.log('DIAGNOSTICS',await app.evaluate(()=>({notice:document.querySelector('#notice').textContent,load:document.querySelector('#load-status').textContent,progress:document.querySelector('#load-detail').textContent,device:window.browserPi.diagnostics.device})));
|
| 32 |
+
await fs.writeFile('../validation/agent-space-diagnose.json',JSON.stringify(probes,null,2));
|
| 33 |
+
}finally{await context.close();}
|
app/tests/space-embedded.mjs
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { chromium } from 'playwright';
|
| 2 |
+
import fs from 'node:fs/promises';
|
| 3 |
+
import assert from 'node:assert/strict';
|
| 4 |
+
import { createRequire } from 'node:module';
|
| 5 |
+
import path from 'node:path';
|
| 6 |
+
|
| 7 |
+
// Playwright 1.58 disables ThirdPartyStoragePartitioning by default. Restore
|
| 8 |
+
// Chromium's normal partitioning for a representative cross-site iframe test.
|
| 9 |
+
const require = createRequire(import.meta.url);
|
| 10 |
+
const { chromiumSwitches } = require(path.join(path.dirname(require.resolve('playwright-core/package.json')), 'lib/server/chromium/chromiumSwitches.js'));
|
| 11 |
+
const disabledFeatures = chromiumSwitches(false).find(arg => arg.startsWith('--disable-features='));
|
| 12 |
+
|
| 13 |
+
const url = 'https://huggingface.co/spaces/Mike0021/MiniCPM5-2B-WebGPU';
|
| 14 |
+
const result = { date: new Date().toISOString(), url };
|
| 15 |
+
const context = await chromium.launchPersistentContext('../validation/agent-browser-profile/space', {
|
| 16 |
+
executablePath: '/usr/bin/chromium', headless: true, viewport: { width: 1440, height: 1080 },
|
| 17 |
+
ignoreDefaultArgs: [disabledFeatures],
|
| 18 |
+
args: [disabledFeatures.replace('ThirdPartyStoragePartitioning,', ''), '--enable-unsafe-webgpu', '--use-angle=vulkan', '--enable-features=Vulkan', '--disable-vulkan-surface'],
|
| 19 |
+
});
|
| 20 |
+
context.setDefaultTimeout(240_000);
|
| 21 |
+
try {
|
| 22 |
+
const page = await context.newPage();
|
| 23 |
+
await page.goto(url, { waitUntil: 'domcontentloaded' });
|
| 24 |
+
await page.waitForLoadState('load');
|
| 25 |
+
await page.waitForFunction(() => [...document.querySelectorAll('iframe')].some(frame => frame.src.includes('minicpm5-2b-webgpu')));
|
| 26 |
+
const element = await page.waitForSelector('iframe[src*="minicpm5-2b-webgpu"]');
|
| 27 |
+
const app = await element.contentFrame();
|
| 28 |
+
assert(app, 'The deployed Hugging Face app frame must exist.');
|
| 29 |
+
await app.waitForFunction(() => window.browserPi);
|
| 30 |
+
result.frameUrl = app.url();
|
| 31 |
+
await app.evaluate(() => window.browserPi.ready);
|
| 32 |
+
const start = Date.now();
|
| 33 |
+
await app.locator('#load').click();
|
| 34 |
+
await app.waitForFunction(() => window.browserPi.loaded || (!window.browserPi.busy && document.querySelector('#notice').textContent));
|
| 35 |
+
assert.equal(await app.evaluate(() => window.browserPi.loaded), true, await app.locator('#load-status').textContent());
|
| 36 |
+
result.loadMs = Date.now() - start;
|
| 37 |
+
result.device = await app.evaluate(() => window.browserPi.diagnostics.device);
|
| 38 |
+
await app.locator('#new-chat').click(); await app.waitForFunction(() => !window.browserPi.busy);
|
| 39 |
+
await app.locator('#prompt').fill('Read sales.csv, calculate total revenue using bash, and save a short report to report.md. Verify the file.');
|
| 40 |
+
await app.locator('#send').click();
|
| 41 |
+
await app.waitForFunction(() => window.browserPi.busy);
|
| 42 |
+
await app.waitForFunction(() => !window.browserPi.busy);
|
| 43 |
+
const state = await app.evaluate(() => window.browserPi.rpc('snapshot'));
|
| 44 |
+
result.messages = state.messages; result.report = state.files['/workspace/report.md'];
|
| 45 |
+
assert.match(result.report ?? '', /144/);
|
| 46 |
+
assert(state.messages.some(m => m.role === 'toolResult' && m.toolName === 'bash' && !m.isError));
|
| 47 |
+
assert(state.messages.filter(m => m.role === 'assistant').at(-1).content.some(c => c.type === 'text' && c.text.includes('144')));
|
| 48 |
+
await page.screenshot({ path: '../validation/agent-space-embedded.png', fullPage: true });
|
| 49 |
+
result.passed = true;
|
| 50 |
+
console.log('Embedded Hugging Face Space: real UI → Pi → WebGPU → bash → verified report passed.');
|
| 51 |
+
} catch (error) { result.failure = error.stack; throw error; }
|
| 52 |
+
finally { await fs.writeFile('../validation/agent-space-embedded.json', JSON.stringify(result, null, 2)); await context.close(); }
|
app/tests/space-restricted.mjs
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { chromium } from 'playwright';
|
| 2 |
+
import fs from 'node:fs/promises';
|
| 3 |
+
import assert from 'node:assert/strict';
|
| 4 |
+
|
| 5 |
+
// Playwright 1.58's default ThirdPartyStoragePartitioning disable flag exposes
|
| 6 |
+
// the denied third-party-storage path. Check the actual public Space's escape
|
| 7 |
+
// link, then execute the model/tool workflow in the opened top-level app.
|
| 8 |
+
const context = await chromium.launchPersistentContext('../validation/agent-browser-profile/space', {
|
| 9 |
+
executablePath: '/usr/bin/chromium', headless: true,
|
| 10 |
+
args: ['--enable-unsafe-webgpu', '--use-angle=vulkan', '--enable-features=Vulkan', '--disable-vulkan-surface'],
|
| 11 |
+
});
|
| 12 |
+
context.setDefaultTimeout(180_000);
|
| 13 |
+
const result = { date: new Date().toISOString() };
|
| 14 |
+
try {
|
| 15 |
+
const page = await context.newPage();
|
| 16 |
+
await page.goto('https://huggingface.co/spaces/Mike0021/MiniCPM5-2B-WebGPU', { waitUntil: 'load' });
|
| 17 |
+
const frame = page.frameLocator('iframe[src*="minicpm5-2b-webgpu"]');
|
| 18 |
+
await frame.locator('#open-tab').waitFor({ state: 'visible' });
|
| 19 |
+
result.embeddedNotice = await frame.locator('#notice').textContent();
|
| 20 |
+
assert.match(result.embeddedNotice, /blocked storage/);
|
| 21 |
+
const opened = context.waitForEvent('page');
|
| 22 |
+
await frame.locator('#open-tab').click();
|
| 23 |
+
const app = await opened;
|
| 24 |
+
await app.waitForLoadState('load'); await app.waitForFunction(() => window.browserPi);
|
| 25 |
+
await app.evaluate(() => window.browserPi.ready);
|
| 26 |
+
assert.equal(new URL(app.url()).hostname, 'mike0021-minicpm5-2b-webgpu.static.hf.space');
|
| 27 |
+
await app.locator('#load').click(); await app.waitForFunction(() => window.browserPi.loaded);
|
| 28 |
+
await app.locator('#new-chat').click(); await app.waitForFunction(() => !window.browserPi.busy);
|
| 29 |
+
const token = 'CHECK-' + crypto.randomUUID().slice(0, 8);
|
| 30 |
+
await app.evaluate(token => window.browserPi.rpc('write', { path: '/workspace/check.txt', content: token }), token);
|
| 31 |
+
const state = await app.evaluate(() => window.browserPi.prompt('Read check.txt with the read tool and tell me the exact contents.'));
|
| 32 |
+
assert(state.messages.some(m => m.role === 'toolResult' && m.toolName === 'read' && !m.isError));
|
| 33 |
+
assert(state.messages.filter(m => m.role === 'assistant').at(-1).content.some(c => c.text?.includes(token)));
|
| 34 |
+
result.messages = state.messages; result.openedUrl = app.url(); result.passed = true;
|
| 35 |
+
console.log('Restricted embed → new-tab link → real Pi/model tool execution passed.');
|
| 36 |
+
} catch (error) { result.failure = error.stack; throw error; }
|
| 37 |
+
finally { await fs.writeFile('../validation/agent-space-restricted.json', JSON.stringify(result, null, 2)); await context.close(); }
|
assets/{index-DEv7Wfck.js → index-BmnivGFp.js}
RENAMED
|
The diff for this file is too large to render.
See raw diff
|
|
|
assets/{index-7QEZgEhG.css → index-BsfdAjtO.css}
RENAMED
|
@@ -1 +1 @@
|
|
| 1 |
-
:root{color:#242924;font-synthesis:none;--line:#dedfd5;--muted:#757d71;--green:#315343;background:#f4f2ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);color:inherit;white-space:nowrap;background:#fffefa;border-radius:6px;padding:8px 12px}button:hover,.button:hover{background:#e9eee5}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#223f32}.quiet{background:0 0;border-color:#0000;font-size:12px}textarea,input{outline:none}textarea:focus,input:focus{box-shadow:inset 0 0 0 2px #80937f}button:focus-visible,.button:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:78px;padding:0 32px;display:flex}.brand{color:inherit;align-items:center;gap:12px;font-size:21px;font-weight:600;text-decoration:none;display:flex}.pi{font-family:Georgia,serif;font-size:42px;line-height:1}.brand small{color:var(--muted);margin-top:1px;font-size:11px;font-weight:400;display:block}.header-right{align-items:center;gap:8px;font-size:12px;display:flex}.header-right button{margin-left:20px}.local-dot{background:#59805a;border-radius:50%;width:6px;height:6px}main{grid-template-columns:minmax(420px,1fr) minmax(370px,.83fr);max-width:1800px;height:calc(100dvh - 78px);margin:auto;display:grid}.conversation{flex-direction:column;min-width:0;min-height:0;padding:24px 28px 12px;display:flex}.model-panel{border:1px solid var(--line);background:#fafaf5;border-radius:10px;padding:16px}.model-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.model-heading>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.model-panel p{color:var(--muted);margin:10px 0 0;font-size:12px}.badge{letter-spacing:.02em;color:#54664d;background:#edf2e8;border:1px solid #d4dfcc;border-radius:4px;padding:3px 6px;font-size:10px}progress{width:100%;height:7px;accent-color:var(--green);margin-top:12px}.muted{color:var(--muted);margin-top:6px;font-size:11px}#messages{scrollbar-width:thin;flex:1;min-height:120px;padding:22px 3px;overflow:auto}#welcome{max-width:470px;margin:clamp(24px,9vh,100px) auto 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#73806b;font-size:10px}h1{letter-spacing:-.025em;margin:16px 0;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.15}#welcome p{color:var(--muted);font-size:13px;line-height:1.8}.suggestions{flex-direction:column;gap:8px;margin-top:26px;display:flex}.suggestions button{text-align:left;background:0 0;justify-content:space-between;padding:13px;font-size:12px;display:flex}.suggestions span{color:var(--muted)}.message{overflow-wrap:anywhere;margin:0 0 22px;line-height:1.7}.message-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:5px;font-size:10px}.message-body{white-space:pre-wrap}.message.user{border-left:2px solid #cad5c2;padding-left:14px}.tool{border:1px solid var(--line);background:#fafaf5;border-radius:6px;margin:10px 0;font-size:12px}.tool summary{cursor:pointer;padding:10px;font-family:ui-monospace,monospace}.tool pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;margin:0;padding:0 12px 12px;font-size:11px;overflow:auto}.error{color:#93412f}.message-stats{color:var(--muted);margin-top:6px;font-size:10px}#notice{background:#f9f2df;border:1px solid #dbcca8;border-radius:6px;margin:8px 0;padding:10px 12px;font-size:12px}#chat-form{background:#fffefa;border:1px solid #cdd4c4;border-radius:10px;padding:10px}#prompt{resize:vertical;background:0 0;border:0;width:100%;min-height:60px;max-height:180px;padding:8px;font-size:13px}.composer-footer{justify-content:flex-end;align-items:center;gap:8px;display:flex}.composer-footer span{color:var(--muted);margin-right:auto;padding-left:8px;font-size:10px}footer{color:#8b9185;justify-content:space-between;gap:8px;padding:12px 0 0;font-size:10px;display:flex}.workspace{border-left:1px solid var(--line);background:#eeeee6;flex-direction:column;min-width:0;min-height:0;display:flex}.workspace-heading{justify-content:space-between;align-items:center;padding:20px 20px 15px;display:flex}.workspace-heading h2{margin:0;font-size:12px;font-weight:500}.workspace-heading>div{gap:0;display:flex}.button{display:inline-block}.file-area{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:1;grid-template-columns:140px minmax(0,1fr);min-height:180px;display:grid}#files{border-right:1px solid var(--line);padding:10px 4px;overflow:auto}#files button{text-align:left;white-space:normal;overflow-wrap:anywhere;background:0 0;border:none;border-radius:4px;width:100%;padding:9px 8px;font-family:ui-monospace,monospace;font-size:11px;display:block}#files button.selected{background:#dce3d5}.editor-area{background:#f9f9f3;flex-direction:column;min-width:0;min-height:0;display:flex}.editor-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:6px;height:40px;padding:0 8px 0 12px;display:flex}#filename{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:10px;overflow:hidden}#editor{resize:none;color:#354333;tab-size:2;white-space:pre;background:0 0;border:0;flex:1;min-height:140px;padding:16px;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.terminal{background:#e8ece2;padding:0 16px}.terminal summary{cursor:pointer;padding:14px 0;font-size:11px}.terminal summary span{float:right;color:var(--muted);font-size:10px}#terminal-output{white-space:pre-wrap;overflow-wrap:anywhere;height:145px;margin:0;font:11px/1.65 ui-monospace,monospace;overflow:auto}#shell-form{border-top:1px solid #d5ddcd;align-items:center;gap:8px;padding:7px 0;font-family:ui-monospace,monospace;display:flex}#command{background:0 0;border:0;width:100%;min-width:0;padding:8px 0;font-size:11px}.workspace-note{color:var(--muted);margin:12px 16px;font-size:10px;line-height:1.6}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.markdown{white-space:normal}.markdown p{margin:0 0 10px}.markdown pre{border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;background:#e9ede3;border-radius:6px;padding:12px;overflow:auto}.markdown code{font:12px/1.7 ui-monospace,monospace}.markdown :not(pre)>code{background:#e9ede3;border-radius:3px;padding:2px 4px}.markdown a{color:var(--green)}.markdown table{border-collapse:collapse;font-size:12px}.markdown td,.markdown th{border:1px solid var(--line);padding:5px 8px}@media (width>=1500px){.conversation{padding-left:55px;padding-right:55px}}@media (width<=850px){header{height:66px;padding:0 18px}main{flex-direction:column;height:auto;display:flex}.conversation{min-height:calc(100dvh - 66px);padding:16px}#messages{flex:1;max-height:65dvh}#welcome{margin:40px auto}.workspace{border-left:0;border-top:1px solid var(--line);min-height:600px}.file-area{min-height:310px}.header-right>span:not(.local-dot){display:none}.header-right button{margin-left:0}h1{font-size:32px}.file-area{grid-template-columns:115px minmax(0,1fr)}.badge{font-size:9px}.model-heading strong{font-size:12px}.model-panel{padding:12px}footer{font-size:9px}}
|
|
|
|
| 1 |
+
:root{color:#242924;font-synthesis:none;--line:#dedfd5;--muted:#757d71;--green:#315343;background:#f4f2ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);color:inherit;white-space:nowrap;background:#fffefa;border-radius:6px;padding:8px 12px}button:hover,.button:hover{background:#e9eee5}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#223f32}.quiet{background:0 0;border-color:#0000;font-size:12px}textarea,input{outline:none}textarea:focus,input:focus{box-shadow:inset 0 0 0 2px #80937f}button:focus-visible,.button:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:78px;padding:0 32px;display:flex}.brand{color:inherit;align-items:center;gap:12px;font-size:21px;font-weight:600;text-decoration:none;display:flex}.pi{font-family:Georgia,serif;font-size:42px;line-height:1}.brand small{color:var(--muted);margin-top:1px;font-size:11px;font-weight:400;display:block}.header-right{align-items:center;gap:8px;font-size:12px;display:flex}.header-right button{margin-left:20px}.local-dot{background:#59805a;border-radius:50%;width:6px;height:6px}main{grid-template-columns:minmax(420px,1fr) minmax(370px,.83fr);max-width:1800px;height:calc(100dvh - 78px);margin:auto;display:grid}.conversation{flex-direction:column;min-width:0;min-height:0;padding:24px 28px 12px;display:flex}.model-panel{border:1px solid var(--line);background:#fafaf5;border-radius:10px;padding:16px}.model-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.model-heading>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.model-panel p{color:var(--muted);margin:10px 0 0;font-size:12px}.badge{letter-spacing:.02em;color:#54664d;background:#edf2e8;border:1px solid #d4dfcc;border-radius:4px;padding:3px 6px;font-size:10px}progress{width:100%;height:7px;accent-color:var(--green);margin-top:12px}.muted{color:var(--muted);margin-top:6px;font-size:11px}#messages{scrollbar-width:thin;flex:1;min-height:120px;padding:22px 3px;overflow:auto}#welcome{max-width:470px;margin:clamp(24px,9vh,100px) auto 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#73806b;font-size:10px}h1{letter-spacing:-.025em;margin:16px 0;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.15}#welcome p{color:var(--muted);font-size:13px;line-height:1.8}.suggestions{flex-direction:column;gap:8px;margin-top:26px;display:flex}.suggestions button{text-align:left;background:0 0;justify-content:space-between;padding:13px;font-size:12px;display:flex}.suggestions span{color:var(--muted)}.message{overflow-wrap:anywhere;margin:0 0 22px;line-height:1.7}.message-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:5px;font-size:10px}.message-body{white-space:pre-wrap}.message.user{border-left:2px solid #cad5c2;padding-left:14px}.tool{border:1px solid var(--line);background:#fafaf5;border-radius:6px;margin:10px 0;font-size:12px}.tool summary{cursor:pointer;padding:10px;font-family:ui-monospace,monospace}.tool pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;margin:0;padding:0 12px 12px;font-size:11px;overflow:auto}.error{color:#93412f}.message-stats{color:var(--muted);margin-top:6px;font-size:10px}#notice{background:#f9f2df;border:1px solid #dbcca8;border-radius:6px;margin:8px 0;padding:10px 12px;font-size:12px}#chat-form{background:#fffefa;border:1px solid #cdd4c4;border-radius:10px;padding:10px}#prompt{resize:vertical;background:0 0;border:0;width:100%;min-height:60px;max-height:180px;padding:8px;font-size:13px}.composer-footer{justify-content:flex-end;align-items:center;gap:8px;display:flex}.composer-footer span{color:var(--muted);margin-right:auto;padding-left:8px;font-size:10px}footer{color:#8b9185;justify-content:space-between;gap:8px;padding:12px 0 0;font-size:10px;display:flex}.workspace{border-left:1px solid var(--line);background:#eeeee6;flex-direction:column;min-width:0;min-height:0;display:flex}.workspace-heading{justify-content:space-between;align-items:center;padding:20px 20px 15px;display:flex}.workspace-heading h2{margin:0;font-size:12px;font-weight:500}.workspace-heading>div{gap:0;display:flex}.button{display:inline-block}.file-area{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:1;grid-template-columns:140px minmax(0,1fr);min-height:180px;display:grid}#files{border-right:1px solid var(--line);padding:10px 4px;overflow:auto}#files button{text-align:left;white-space:normal;overflow-wrap:anywhere;background:0 0;border:none;border-radius:4px;width:100%;padding:9px 8px;font-family:ui-monospace,monospace;font-size:11px;display:block}#files button.selected{background:#dce3d5}.editor-area{background:#f9f9f3;flex-direction:column;min-width:0;min-height:0;display:flex}.editor-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:6px;height:40px;padding:0 8px 0 12px;display:flex}#filename{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:10px;overflow:hidden}#editor{resize:none;color:#354333;tab-size:2;white-space:pre;background:0 0;border:0;flex:1;min-height:140px;padding:16px;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.terminal{background:#e8ece2;padding:0 16px}.terminal summary{cursor:pointer;padding:14px 0;font-size:11px}.terminal summary span{float:right;color:var(--muted);font-size:10px}#terminal-output{white-space:pre-wrap;overflow-wrap:anywhere;height:145px;margin:0;font:11px/1.65 ui-monospace,monospace;overflow:auto}#shell-form{border-top:1px solid #d5ddcd;align-items:center;gap:8px;padding:7px 0;font-family:ui-monospace,monospace;display:flex}#command{background:0 0;border:0;width:100%;min-width:0;padding:8px 0;font-size:11px}.workspace-note{color:var(--muted);margin:12px 16px;font-size:10px;line-height:1.6}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#open-tab{color:var(--green);white-space:normal;margin-top:12px;font-size:12px;text-decoration:none}.markdown{white-space:normal}.markdown p{margin:0 0 10px}.markdown pre{border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;background:#e9ede3;border-radius:6px;padding:12px;overflow:auto}.markdown code{font:12px/1.7 ui-monospace,monospace}.markdown :not(pre)>code{background:#e9ede3;border-radius:3px;padding:2px 4px}.markdown a{color:var(--green)}.markdown table{border-collapse:collapse;font-size:12px}.markdown td,.markdown th{border:1px solid var(--line);padding:5px 8px}@media (width>=1500px){.conversation{padding-left:55px;padding-right:55px}}@media (width<=850px){header{height:66px;padding:0 18px}main{flex-direction:column;height:auto;display:flex}.conversation{min-height:calc(100dvh - 66px);padding:16px}#messages{flex:1;max-height:65dvh}#welcome{margin:40px auto}.workspace{border-left:0;border-top:1px solid var(--line);min-height:600px}.file-area{min-height:310px}.header-right>span:not(.local-dot){display:none}.header-right button{margin-left:0}h1{font-size:32px}.file-area{grid-template-columns:115px minmax(0,1fr)}.badge{font-size:9px}.model-heading strong{font-size:12px}.model-panel{padding:12px}footer{font-size:9px}}
|
deployment-manifest.json
CHANGED
|
@@ -13,20 +13,20 @@
|
|
| 13 |
"sha256": "7b2f4725b2cb4fc1d22031a311857d5ac8754c882bf4e01b5ab1a9778b2417f0"
|
| 14 |
},
|
| 15 |
"README.md": {
|
| 16 |
-
"bytes":
|
| 17 |
-
"sha256": "
|
| 18 |
},
|
| 19 |
"SPACE_README.md": {
|
| 20 |
-
"bytes":
|
| 21 |
-
"sha256": "
|
| 22 |
},
|
| 23 |
"app/README.md": {
|
| 24 |
-
"bytes":
|
| 25 |
-
"sha256": "
|
| 26 |
},
|
| 27 |
"app/index.html": {
|
| 28 |
-
"bytes":
|
| 29 |
-
"sha256": "
|
| 30 |
},
|
| 31 |
"app/package-lock.json": {
|
| 32 |
"bytes": 156122,
|
|
@@ -69,8 +69,8 @@
|
|
| 69 |
"sha256": "04375923fd4d2cfd6a58e17fb2eb966ddf4fb766fb050a88459e2d8e7358926c"
|
| 70 |
},
|
| 71 |
"app/src/main.mjs": {
|
| 72 |
-
"bytes":
|
| 73 |
-
"sha256": "
|
| 74 |
},
|
| 75 |
"app/src/markdown.mjs": {
|
| 76 |
"bytes": 699,
|
|
@@ -89,8 +89,8 @@
|
|
| 89 |
"sha256": "dec9e2962a0f5c076512368395017fb5af7c9f7bfbe8cfed10105072dbcb76fe"
|
| 90 |
},
|
| 91 |
"app/src/style.css": {
|
| 92 |
-
"bytes":
|
| 93 |
-
"sha256": "
|
| 94 |
},
|
| 95 |
"app/src/workspace.mjs": {
|
| 96 |
"bytes": 5206,
|
|
@@ -112,6 +112,18 @@
|
|
| 112 |
"bytes": 5477,
|
| 113 |
"sha256": "6f80a15fbf1f03e7d7041df42252ecab1675341c9c9579ed2cdb8f5ea998f798"
|
| 114 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
"app/vite.config.mjs": {
|
| 116 |
"bytes": 1524,
|
| 117 |
"sha256": "43ddd0d504729d9eba88e05f530c3d324e3a2705a15fd17971886668a787f6df"
|
|
@@ -120,13 +132,13 @@
|
|
| 120 |
"bytes": 2092911,
|
| 121 |
"sha256": "1fc0006217cf28bf42951d1738e67d235b9516f9d579fa46064718759fd7ba28"
|
| 122 |
},
|
| 123 |
-
"assets/index-
|
| 124 |
-
"bytes":
|
| 125 |
-
"sha256": "
|
| 126 |
},
|
| 127 |
-
"assets/index-
|
| 128 |
-
"bytes":
|
| 129 |
-
"sha256": "
|
| 130 |
},
|
| 131 |
"assets/ort-wasm-simd-threaded.asyncify-DMmc6YqF.wasm": {
|
| 132 |
"bytes": 23567050,
|
|
@@ -137,8 +149,8 @@
|
|
| 137 |
"sha256": "b872713fa6033db023b07802a0d24443f7c4156a089612ea2dd7555e0a91b661"
|
| 138 |
},
|
| 139 |
"index.html": {
|
| 140 |
-
"bytes":
|
| 141 |
-
"sha256": "
|
| 142 |
},
|
| 143 |
"licenses/dependencies.txt": {
|
| 144 |
"bytes": 1367435,
|
|
@@ -161,8 +173,8 @@
|
|
| 161 |
"sha256": "2a2dca97d6a9480afff1ed0da8f5924610552cfe509d5081788455f9c1d71f8b"
|
| 162 |
},
|
| 163 |
"research/browser-agent/REPORT.md": {
|
| 164 |
-
"bytes":
|
| 165 |
-
"sha256": "
|
| 166 |
},
|
| 167 |
"research/browser-agent/just-bash-README.md": {
|
| 168 |
"bytes": 29503,
|
|
@@ -225,8 +237,8 @@
|
|
| 225 |
"sha256": "b9bb39d5bd7bceb260d5eafa633f5af2e47a35d6132c8453d908ea6a4ad8a0f9"
|
| 226 |
},
|
| 227 |
"scripts/prepare_space.py": {
|
| 228 |
-
"bytes":
|
| 229 |
-
"sha256": "
|
| 230 |
},
|
| 231 |
"scripts/reference.py": {
|
| 232 |
"bytes": 2652,
|
|
@@ -264,6 +276,18 @@
|
|
| 264 |
"bytes": 2792,
|
| 265 |
"sha256": "14aa728cd704e53ca1672cdeaaf5f53a3eb898fc3f3acd078321dc2fd8b8b47b"
|
| 266 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 267 |
"validation/benchmark-summary.json": {
|
| 268 |
"bytes": 1500,
|
| 269 |
"sha256": "5bc51fbdbc43b58caa2036b621ded2bd3b4c1c95ba487b07bb5b84f19e97ebc0"
|
|
|
|
| 13 |
"sha256": "7b2f4725b2cb4fc1d22031a311857d5ac8754c882bf4e01b5ab1a9778b2417f0"
|
| 14 |
},
|
| 15 |
"README.md": {
|
| 16 |
+
"bytes": 8633,
|
| 17 |
+
"sha256": "979de7c20b8dc21256c1de2706f2b406a4b3c5a086e3ecb8283dcf6484d0ff7a"
|
| 18 |
},
|
| 19 |
"SPACE_README.md": {
|
| 20 |
+
"bytes": 8633,
|
| 21 |
+
"sha256": "979de7c20b8dc21256c1de2706f2b406a4b3c5a086e3ecb8283dcf6484d0ff7a"
|
| 22 |
},
|
| 23 |
"app/README.md": {
|
| 24 |
+
"bytes": 6739,
|
| 25 |
+
"sha256": "db7a2c96658c57ba566f3857809a8f0f39efee60fa65d93c8b017909979dd0dc"
|
| 26 |
},
|
| 27 |
"app/index.html": {
|
| 28 |
+
"bytes": 4033,
|
| 29 |
+
"sha256": "9a574efdf90e196fc6b086b6877510e29def80d78fd05af8414bfba81343fb27"
|
| 30 |
},
|
| 31 |
"app/package-lock.json": {
|
| 32 |
"bytes": 156122,
|
|
|
|
| 69 |
"sha256": "04375923fd4d2cfd6a58e17fb2eb966ddf4fb766fb050a88459e2d8e7358926c"
|
| 70 |
},
|
| 71 |
"app/src/main.mjs": {
|
| 72 |
+
"bytes": 12114,
|
| 73 |
+
"sha256": "41b46870cb5a06b12af6bd9a9d49bf432025c71402253e94fb4517cfb9ed7745"
|
| 74 |
},
|
| 75 |
"app/src/markdown.mjs": {
|
| 76 |
"bytes": 699,
|
|
|
|
| 89 |
"sha256": "dec9e2962a0f5c076512368395017fb5af7c9f7bfbe8cfed10105072dbcb76fe"
|
| 90 |
},
|
| 91 |
"app/src/style.css": {
|
| 92 |
+
"bytes": 7655,
|
| 93 |
+
"sha256": "d4fb788490923caa78e373bd27adeb827b49a75d93f1b494a8117f38c893936b"
|
| 94 |
},
|
| 95 |
"app/src/workspace.mjs": {
|
| 96 |
"bytes": 5206,
|
|
|
|
| 112 |
"bytes": 5477,
|
| 113 |
"sha256": "6f80a15fbf1f03e7d7041df42252ecab1675341c9c9579ed2cdb8f5ea998f798"
|
| 114 |
},
|
| 115 |
+
"app/tests/space-diagnose.mjs": {
|
| 116 |
+
"bytes": 2736,
|
| 117 |
+
"sha256": "8cc0750f0861f5cf3d63e155c9ea4091bae5432a5a6719a55941d63599456e55"
|
| 118 |
+
},
|
| 119 |
+
"app/tests/space-embedded.mjs": {
|
| 120 |
+
"bytes": 3553,
|
| 121 |
+
"sha256": "2296ad1867723ccd28553213c6a7d789d4d53c80fd355ea8fa1598c41b0090df"
|
| 122 |
+
},
|
| 123 |
+
"app/tests/space-restricted.mjs": {
|
| 124 |
+
"bytes": 2580,
|
| 125 |
+
"sha256": "f71fb23f85cbf021cbf3f368e27687e64fb25cddf232dc1224202a920de78458"
|
| 126 |
+
},
|
| 127 |
"app/vite.config.mjs": {
|
| 128 |
"bytes": 1524,
|
| 129 |
"sha256": "43ddd0d504729d9eba88e05f530c3d324e3a2705a15fd17971886668a787f6df"
|
|
|
|
| 132 |
"bytes": 2092911,
|
| 133 |
"sha256": "1fc0006217cf28bf42951d1738e67d235b9516f9d579fa46064718759fd7ba28"
|
| 134 |
},
|
| 135 |
+
"assets/index-BmnivGFp.js": {
|
| 136 |
+
"bytes": 192028,
|
| 137 |
+
"sha256": "1bc7b0bc05fad0e289c4ac9ed7000e6063f1690ee339e62771079a3be967e0ab"
|
| 138 |
},
|
| 139 |
+
"assets/index-BsfdAjtO.css": {
|
| 140 |
+
"bytes": 7584,
|
| 141 |
+
"sha256": "6fb58698f91830ee48c845e9895c6681c4c46640bedcbbb310e7328165244f7a"
|
| 142 |
},
|
| 143 |
"assets/ort-wasm-simd-threaded.asyncify-DMmc6YqF.wasm": {
|
| 144 |
"bytes": 23567050,
|
|
|
|
| 149 |
"sha256": "b872713fa6033db023b07802a0d24443f7c4156a089612ea2dd7555e0a91b661"
|
| 150 |
},
|
| 151 |
"index.html": {
|
| 152 |
+
"bytes": 4130,
|
| 153 |
+
"sha256": "5678544bea3afa59bde896cced9658c6e7d418846cb48184c6f6dd2ec7d6568a"
|
| 154 |
},
|
| 155 |
"licenses/dependencies.txt": {
|
| 156 |
"bytes": 1367435,
|
|
|
|
| 173 |
"sha256": "2a2dca97d6a9480afff1ed0da8f5924610552cfe509d5081788455f9c1d71f8b"
|
| 174 |
},
|
| 175 |
"research/browser-agent/REPORT.md": {
|
| 176 |
+
"bytes": 9988,
|
| 177 |
+
"sha256": "4c204b435a7ff62cb492dff883a284b95c60854306be31575bb4dc15da19a899"
|
| 178 |
},
|
| 179 |
"research/browser-agent/just-bash-README.md": {
|
| 180 |
"bytes": 29503,
|
|
|
|
| 237 |
"sha256": "b9bb39d5bd7bceb260d5eafa633f5af2e47a35d6132c8453d908ea6a4ad8a0f9"
|
| 238 |
},
|
| 239 |
"scripts/prepare_space.py": {
|
| 240 |
+
"bytes": 3774,
|
| 241 |
+
"sha256": "1a281fd8f61dc9caf206e11c645dffd39c19ee5689e4680e2e6c32211d176234"
|
| 242 |
},
|
| 243 |
"scripts/reference.py": {
|
| 244 |
"bytes": 2652,
|
|
|
|
| 276 |
"bytes": 2792,
|
| 277 |
"sha256": "14aa728cd704e53ca1672cdeaaf5f53a3eb898fc3f3acd078321dc2fd8b8b47b"
|
| 278 |
},
|
| 279 |
+
"validation/agent-space-checksums.json": {
|
| 280 |
+
"bytes": 2915,
|
| 281 |
+
"sha256": "4ff4a95ed48aa72b34a8483e5e4f7070a3e61a0afc9b72820923e80de21257f5"
|
| 282 |
+
},
|
| 283 |
+
"validation/agent-space-deployment.json": {
|
| 284 |
+
"bytes": 76488,
|
| 285 |
+
"sha256": "330f68f3c12c9fac6bacb847c2f3f5b32045faa133d4c5cde024c73e91a3d732"
|
| 286 |
+
},
|
| 287 |
+
"validation/agent-space-embedded.json": {
|
| 288 |
+
"bytes": 7337,
|
| 289 |
+
"sha256": "39b851d801c2e007708f453e54d167a4ab8079bff5022ffb5bf2765d420d27b4"
|
| 290 |
+
},
|
| 291 |
"validation/benchmark-summary.json": {
|
| 292 |
"bytes": 1500,
|
| 293 |
"sha256": "5bc51fbdbc43b58caa2036b621ded2bd3b4c1c95ba487b07bb5b84f19e97ebc0"
|
index.html
CHANGED
|
@@ -6,8 +6,8 @@
|
|
| 6 |
<link rel="icon" href="./favicon.svg" type="image/svg+xml">
|
| 7 |
<meta name="description" content="Pi, MiniCPM5 and a bash workspace, running entirely in your browser.">
|
| 8 |
<title>Pi · Browser workspace</title>
|
| 9 |
-
<script type="module" crossorigin src="./assets/index-
|
| 10 |
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
| 11 |
</head>
|
| 12 |
<body>
|
| 13 |
<header><a class="brand" href="./"><span class="pi">π</span><span>Pi <small>browser workspace</small></span></a>
|
|
@@ -20,6 +20,7 @@
|
|
| 20 |
<p id="load-status" role="status">One download, about 1.84 GB. Cached in this browser for next time.</p>
|
| 21 |
<progress id="progress" hidden max="100" value="0" aria-label="Model download"></progress>
|
| 22 |
<div id="load-detail" class="muted"></div>
|
|
|
|
| 23 |
</div>
|
| 24 |
<div id="messages" role="log" aria-label="Messages" aria-live="polite">
|
| 25 |
<div id="welcome"><div class="eyebrow">A small agent. A real workspace.</div><h1>What shall we work on?</h1>
|
|
|
|
| 6 |
<link rel="icon" href="./favicon.svg" type="image/svg+xml">
|
| 7 |
<meta name="description" content="Pi, MiniCPM5 and a bash workspace, running entirely in your browser.">
|
| 8 |
<title>Pi · Browser workspace</title>
|
| 9 |
+
<script type="module" crossorigin src="./assets/index-BmnivGFp.js"></script>
|
| 10 |
+
<link rel="stylesheet" crossorigin href="./assets/index-BsfdAjtO.css">
|
| 11 |
</head>
|
| 12 |
<body>
|
| 13 |
<header><a class="brand" href="./"><span class="pi">π</span><span>Pi <small>browser workspace</small></span></a>
|
|
|
|
| 20 |
<p id="load-status" role="status">One download, about 1.84 GB. Cached in this browser for next time.</p>
|
| 21 |
<progress id="progress" hidden max="100" value="0" aria-label="Model download"></progress>
|
| 22 |
<div id="load-detail" class="muted"></div>
|
| 23 |
+
<a id="open-tab" class="button" target="_blank" rel="noopener noreferrer" hidden>Open workspace in a new tab ↗</a>
|
| 24 |
</div>
|
| 25 |
<div id="messages" role="log" aria-label="Messages" aria-live="polite">
|
| 26 |
<div id="welcome"><div class="eyebrow">A small agent. A real workspace.</div><h1>What shall we work on?</h1>
|
research/browser-agent/REPORT.md
CHANGED
|
@@ -44,3 +44,11 @@ Testing caught and fixed several concrete integration bugs: the development serv
|
|
| 44 |
An initial development smoke prompt asking for bash arithmetic received the correct answer from memory without a tool call. The system prompt now explicitly asks the model to honor requested tools. The resulting development test shows an attempted unsupported `bc` command, an error result, and successful recovery using shell arithmetic to produce 391. This is a useful illustration of the model's limits: the harness can expose failures and permit recovery, but does not make every first attempt correct.
|
| 45 |
|
| 46 |
Tool-shaped XML inside Markdown examples is kept as text. It is covered separately from real MiniCPM function tokens to prevent explanatory code examples being interpreted as actions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
An initial development smoke prompt asking for bash arithmetic received the correct answer from memory without a tool call. The system prompt now explicitly asks the model to honor requested tools. The resulting development test shows an attempted unsupported `bc` command, an error result, and successful recovery using shell arithmetic to produce 391. This is a useful illustration of the model's limits: the harness can expose failures and permit recovery, but does not make every first attempt correct.
|
| 45 |
|
| 46 |
Tool-shaped XML inside Markdown examples is kept as text. It is covered separately from real MiniCPM function tokens to prevent explanatory code examples being interpreted as actions.
|
| 47 |
+
|
| 48 |
+
## Hugging Face deployment
|
| 49 |
+
|
| 50 |
+
The browser workspace is published to [Mike0021/MiniCPM5-2B-WebGPU](https://huggingface.co/spaces/Mike0021/MiniCPM5-2B-WebGPU). Five real-model workflows passed on the public app, including offline tool execution, followed by cancellation, editor/shell, and cached reload checks. The initial cold download took 83.5 seconds and reload 4.2 seconds on the test machine; these single runs include network variability.
|
| 51 |
+
|
| 52 |
+
The embedded page initially exposed denied OPFS, IndexedDB, and Web Locks access. Inspection identified Playwright 1.58's default `--disable-features` list as explicitly disabling `ThirdPartyStoragePartitioning`. Restoring only normal Chromium storage partitioning allowed the real Hugging Face iframe to load the model and complete the CSV/report task through its actual chat controls. The app also provides a direct new-tab link when a browser does deny embedded storage. This does not change browser privacy settings or grant storage permission automatically. Hugging Face documents the cross-domain iframe structure and related restrictions in its [cookie limitations guide](https://huggingface.co/docs/hub/spaces-cookie-limitations).
|
| 53 |
+
|
| 54 |
+
`validation/agent-space-deployment.json`, `agent-space-embedded.json`, and `agent-space-checksums.json` contain the deployed results. The restricted-storage/new-tab path has a separate browser test in `app/tests/space-restricted.mjs`.
|
scripts/prepare_space.py
CHANGED
|
@@ -35,7 +35,8 @@ for name in [
|
|
| 35 |
'browser-integration.json', 'space-deployment.json', 'hub-checksums.json',
|
| 36 |
'agent-browser-hub.json', 'agent-browser-limit128.json', 'agent-browser-dev.json',
|
| 37 |
'agent-browser-no-gpu.json', 'agent-completion.json',
|
| 38 |
-
'agent-space-deployment.json', 'agent-space-embedded.json',
|
|
|
|
| 39 |
]:
|
| 40 |
source = root / 'validation' / name
|
| 41 |
if source.is_file():
|
|
|
|
| 35 |
'browser-integration.json', 'space-deployment.json', 'hub-checksums.json',
|
| 36 |
'agent-browser-hub.json', 'agent-browser-limit128.json', 'agent-browser-dev.json',
|
| 37 |
'agent-browser-no-gpu.json', 'agent-completion.json',
|
| 38 |
+
'agent-space-deployment.json', 'agent-space-embedded.json', 'agent-space-restricted.json',
|
| 39 |
+
'agent-space-checksums.json',
|
| 40 |
]:
|
| 41 |
source = root / 'validation' / name
|
| 42 |
if source.is_file():
|
validation/agent-space-checksums.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"repo": "Mike0021/MiniCPM5-2B-WebGPU",
|
| 3 |
+
"revision": "8dd0d517522e0a22ac661c8a1ba8ee9f5ed443f0",
|
| 4 |
+
"matchedFiles": 78,
|
| 5 |
+
"files": [
|
| 6 |
+
".gitattributes",
|
| 7 |
+
"LICENSE",
|
| 8 |
+
"NOTICE",
|
| 9 |
+
"README.md",
|
| 10 |
+
"SPACE_README.md",
|
| 11 |
+
"app/README.md",
|
| 12 |
+
"app/index.html",
|
| 13 |
+
"app/package-lock.json",
|
| 14 |
+
"app/package.json",
|
| 15 |
+
"app/public/favicon.svg",
|
| 16 |
+
"app/public/licenses/onnxruntime-LICENSE",
|
| 17 |
+
"app/public/licenses/onnxruntime-ThirdPartyNotices.txt",
|
| 18 |
+
"app/public/licenses/pi-LICENSE",
|
| 19 |
+
"app/scripts/licenses.mjs",
|
| 20 |
+
"app/src/agent.worker.mjs",
|
| 21 |
+
"app/src/download.mjs",
|
| 22 |
+
"app/src/inference.mjs",
|
| 23 |
+
"app/src/main.mjs",
|
| 24 |
+
"app/src/markdown.mjs",
|
| 25 |
+
"app/src/model-manifest.json",
|
| 26 |
+
"app/src/protocol.mjs",
|
| 27 |
+
"app/src/storage.mjs",
|
| 28 |
+
"app/src/style.css",
|
| 29 |
+
"app/src/workspace.mjs",
|
| 30 |
+
"app/tests/browser.mjs",
|
| 31 |
+
"app/tests/dev-smoke.mjs",
|
| 32 |
+
"app/tests/no-gpu.mjs",
|
| 33 |
+
"app/tests/protocol.test.mjs",
|
| 34 |
+
"app/vite.config.mjs",
|
| 35 |
+
"assets/agent.worker-DqQzo9yL.js",
|
| 36 |
+
"assets/index-7QEZgEhG.css",
|
| 37 |
+
"assets/index-DEv7Wfck.js",
|
| 38 |
+
"assets/ort-wasm-simd-threaded.asyncify-DMmc6YqF.wasm",
|
| 39 |
+
"deployment-manifest.json",
|
| 40 |
+
"favicon.svg",
|
| 41 |
+
"index.html",
|
| 42 |
+
"licenses/dependencies.txt",
|
| 43 |
+
"licenses/onnxruntime-LICENSE",
|
| 44 |
+
"licenses/onnxruntime-ThirdPartyNotices.txt",
|
| 45 |
+
"licenses/pi-LICENSE",
|
| 46 |
+
"requirements-convert.txt",
|
| 47 |
+
"research/browser-agent/REPORT.md",
|
| 48 |
+
"research/browser-agent/just-bash-README.md",
|
| 49 |
+
"research/browser-agent/pi-agent-README.md",
|
| 50 |
+
"research/browser-agent/pi-ai-README.md",
|
| 51 |
+
"research/download-audit/REPORT.md",
|
| 52 |
+
"runtime/ort-wasm-simd-threaded.asyncify.mjs",
|
| 53 |
+
"runtime/ort-wasm-simd-threaded.asyncify.wasm",
|
| 54 |
+
"runtime/ort-wasm-simd-threaded.jsep.mjs",
|
| 55 |
+
"runtime/ort-wasm-simd-threaded.jsep.wasm",
|
| 56 |
+
"runtime/ort-wasm-simd-threaded.jspi.mjs",
|
| 57 |
+
"runtime/ort-wasm-simd-threaded.jspi.wasm",
|
| 58 |
+
"runtime/ort-wasm-simd-threaded.mjs",
|
| 59 |
+
"runtime/ort-wasm-simd-threaded.wasm",
|
| 60 |
+
"scripts/build.sh",
|
| 61 |
+
"scripts/download_source.py",
|
| 62 |
+
"scripts/package_model.py",
|
| 63 |
+
"scripts/prepare_space.py",
|
| 64 |
+
"scripts/reference.py",
|
| 65 |
+
"scripts/serve.py",
|
| 66 |
+
"scripts/validate_onnx.py",
|
| 67 |
+
"scripts/validate_webgpu.py",
|
| 68 |
+
"validation/agent-browser-dev.json",
|
| 69 |
+
"validation/agent-browser-hub.json",
|
| 70 |
+
"validation/agent-browser-limit128.json",
|
| 71 |
+
"validation/agent-browser-no-gpu.json",
|
| 72 |
+
"validation/agent-completion.json",
|
| 73 |
+
"validation/benchmark-summary.json",
|
| 74 |
+
"validation/browser-integration.json",
|
| 75 |
+
"validation/checksum-verification.json",
|
| 76 |
+
"validation/chinese-arithmetic-investigation.json",
|
| 77 |
+
"validation/control-equivalence.json",
|
| 78 |
+
"validation/hub-checksums.json",
|
| 79 |
+
"validation/onnx-validation.json",
|
| 80 |
+
"validation/package-manifest.json",
|
| 81 |
+
"validation/space-deployment.json",
|
| 82 |
+
"validation/template-tests.json",
|
| 83 |
+
"validation/webgpu-parity.json"
|
| 84 |
+
],
|
| 85 |
+
"passed": true
|
| 86 |
+
}
|
validation/agent-space-deployment.json
ADDED
|
@@ -0,0 +1,2314 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"date": "2026-09-11T15:24:54.843Z",
|
| 3 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/",
|
| 4 |
+
"cases": [
|
| 5 |
+
{
|
| 6 |
+
"name": "read-unseen-file",
|
| 7 |
+
"elapsedMs": 2101,
|
| 8 |
+
"version": 1,
|
| 9 |
+
"files": {
|
| 10 |
+
"/workspace/README.md": "# Browser workspace\n\nPi can read, write, edit, and run shell commands here.\nEverything stays in this browser. Try analyzing sales.csv.\n",
|
| 11 |
+
"/workspace/sales.csv": "product,units,price\nNotebook,12,5\nPencil,30,2\nFolder,8,3\n",
|
| 12 |
+
"/workspace/secret.txt": "LOCAL-2bad09e5"
|
| 13 |
+
},
|
| 14 |
+
"entries": [
|
| 15 |
+
[
|
| 16 |
+
"/",
|
| 17 |
+
{
|
| 18 |
+
"type": "directory",
|
| 19 |
+
"mode": 493
|
| 20 |
+
}
|
| 21 |
+
],
|
| 22 |
+
[
|
| 23 |
+
"/usr",
|
| 24 |
+
{
|
| 25 |
+
"type": "directory",
|
| 26 |
+
"mode": 493
|
| 27 |
+
}
|
| 28 |
+
],
|
| 29 |
+
[
|
| 30 |
+
"/workspace",
|
| 31 |
+
{
|
| 32 |
+
"type": "directory",
|
| 33 |
+
"mode": 493
|
| 34 |
+
}
|
| 35 |
+
],
|
| 36 |
+
[
|
| 37 |
+
"/workspace/README.md",
|
| 38 |
+
{
|
| 39 |
+
"type": "file",
|
| 40 |
+
"base64": "IyBCcm93c2VyIHdvcmtzcGFjZQoKUGkgY2FuIHJlYWQsIHdyaXRlLCBlZGl0LCBhbmQgcnVuIHNoZWxsIGNvbW1hbmRzIGhlcmUuCkV2ZXJ5dGhpbmcgc3RheXMgaW4gdGhpcyBicm93c2VyLiBUcnkgYW5hbHl6aW5nIHNhbGVzLmNzdi4K",
|
| 41 |
+
"mode": 420
|
| 42 |
+
}
|
| 43 |
+
],
|
| 44 |
+
[
|
| 45 |
+
"/workspace/sales.csv",
|
| 46 |
+
{
|
| 47 |
+
"type": "file",
|
| 48 |
+
"base64": "cHJvZHVjdCx1bml0cyxwcmljZQpOb3RlYm9vaywxMiw1ClBlbmNpbCwzMCwyCkZvbGRlciw4LDMK",
|
| 49 |
+
"mode": 420
|
| 50 |
+
}
|
| 51 |
+
],
|
| 52 |
+
[
|
| 53 |
+
"/workspace/secret.txt",
|
| 54 |
+
{
|
| 55 |
+
"type": "file",
|
| 56 |
+
"base64": "TE9DQUwtMmJhZDA5ZTU=",
|
| 57 |
+
"mode": 420
|
| 58 |
+
}
|
| 59 |
+
]
|
| 60 |
+
],
|
| 61 |
+
"messages": [
|
| 62 |
+
{
|
| 63 |
+
"role": "user",
|
| 64 |
+
"content": [
|
| 65 |
+
{
|
| 66 |
+
"type": "text",
|
| 67 |
+
"text": "Read secret.txt with the read tool and tell me its exact contents."
|
| 68 |
+
}
|
| 69 |
+
],
|
| 70 |
+
"timestamp": 1789140380216
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"role": "assistant",
|
| 74 |
+
"api": "minicpm-webgpu",
|
| 75 |
+
"provider": "browser",
|
| 76 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 77 |
+
"timestamp": 1789140380218,
|
| 78 |
+
"content": [
|
| 79 |
+
{
|
| 80 |
+
"type": "toolCall",
|
| 81 |
+
"id": "462e5e55-c640-4124-81f7-559c6ef4b430",
|
| 82 |
+
"name": "read",
|
| 83 |
+
"arguments": {
|
| 84 |
+
"path": "/workspace/secret.txt"
|
| 85 |
+
}
|
| 86 |
+
}
|
| 87 |
+
],
|
| 88 |
+
"stopReason": "toolUse",
|
| 89 |
+
"usage": {
|
| 90 |
+
"input": 717,
|
| 91 |
+
"output": 18,
|
| 92 |
+
"cacheRead": 0,
|
| 93 |
+
"cacheWrite": 0,
|
| 94 |
+
"totalTokens": 735,
|
| 95 |
+
"cost": {
|
| 96 |
+
"input": 0,
|
| 97 |
+
"output": 0,
|
| 98 |
+
"cacheRead": 0,
|
| 99 |
+
"cacheWrite": 0,
|
| 100 |
+
"total": 0
|
| 101 |
+
}
|
| 102 |
+
}
|
| 103 |
+
},
|
| 104 |
+
{
|
| 105 |
+
"role": "toolResult",
|
| 106 |
+
"toolCallId": "462e5e55-c640-4124-81f7-559c6ef4b430",
|
| 107 |
+
"toolName": "read",
|
| 108 |
+
"content": [
|
| 109 |
+
{
|
| 110 |
+
"type": "text",
|
| 111 |
+
"text": "LOCAL-2bad09e5"
|
| 112 |
+
}
|
| 113 |
+
],
|
| 114 |
+
"details": {},
|
| 115 |
+
"isError": false,
|
| 116 |
+
"timestamp": 1789140381274
|
| 117 |
+
},
|
| 118 |
+
{
|
| 119 |
+
"role": "assistant",
|
| 120 |
+
"api": "minicpm-webgpu",
|
| 121 |
+
"provider": "browser",
|
| 122 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 123 |
+
"timestamp": 1789140381274,
|
| 124 |
+
"content": [
|
| 125 |
+
{
|
| 126 |
+
"type": "text",
|
| 127 |
+
"text": "The file secret.txt contains the text: `LOCAL-2bad09e5`"
|
| 128 |
+
}
|
| 129 |
+
],
|
| 130 |
+
"stopReason": "stop",
|
| 131 |
+
"usage": {
|
| 132 |
+
"input": 772,
|
| 133 |
+
"output": 19,
|
| 134 |
+
"cacheRead": 0,
|
| 135 |
+
"cacheWrite": 0,
|
| 136 |
+
"totalTokens": 791,
|
| 137 |
+
"cost": {
|
| 138 |
+
"input": 0,
|
| 139 |
+
"output": 0,
|
| 140 |
+
"cacheRead": 0,
|
| 141 |
+
"cacheWrite": 0,
|
| 142 |
+
"total": 0
|
| 143 |
+
}
|
| 144 |
+
}
|
| 145 |
+
}
|
| 146 |
+
]
|
| 147 |
+
},
|
| 148 |
+
{
|
| 149 |
+
"name": "analyze-and-write",
|
| 150 |
+
"elapsedMs": 8062,
|
| 151 |
+
"version": 1,
|
| 152 |
+
"files": {
|
| 153 |
+
"/workspace/README.md": "# Browser workspace\n\nPi can read, write, edit, and run shell commands here.\nEverything stays in this browser. Try analyzing sales.csv.\n",
|
| 154 |
+
"/workspace/report.md": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n",
|
| 155 |
+
"/workspace/revenue.txt": "Notebook 12 5 -> 12 x 5 = 60\nPencil 30 2 -> 30 x 2 = 60\nFolder 8 3 -> 8 x 3 = 24\nTOTAL REVENUE: 144\n",
|
| 156 |
+
"/workspace/sales.csv": "product,units,price\nNotebook,12,5\nPencil,30,2\nFolder,8,3\n",
|
| 157 |
+
"/workspace/secret.txt": "LOCAL-2bad09e5"
|
| 158 |
+
},
|
| 159 |
+
"entries": [
|
| 160 |
+
[
|
| 161 |
+
"/",
|
| 162 |
+
{
|
| 163 |
+
"type": "directory",
|
| 164 |
+
"mode": 493
|
| 165 |
+
}
|
| 166 |
+
],
|
| 167 |
+
[
|
| 168 |
+
"/usr",
|
| 169 |
+
{
|
| 170 |
+
"type": "directory",
|
| 171 |
+
"mode": 493
|
| 172 |
+
}
|
| 173 |
+
],
|
| 174 |
+
[
|
| 175 |
+
"/workspace",
|
| 176 |
+
{
|
| 177 |
+
"type": "directory",
|
| 178 |
+
"mode": 493
|
| 179 |
+
}
|
| 180 |
+
],
|
| 181 |
+
[
|
| 182 |
+
"/workspace/README.md",
|
| 183 |
+
{
|
| 184 |
+
"type": "file",
|
| 185 |
+
"base64": "IyBCcm93c2VyIHdvcmtzcGFjZQoKUGkgY2FuIHJlYWQsIHdyaXRlLCBlZGl0LCBhbmQgcnVuIHNoZWxsIGNvbW1hbmRzIGhlcmUuCkV2ZXJ5dGhpbmcgc3RheXMgaW4gdGhpcyBicm93c2VyLiBUcnkgYW5hbHl6aW5nIHNhbGVzLmNzdi4K",
|
| 186 |
+
"mode": 420
|
| 187 |
+
}
|
| 188 |
+
],
|
| 189 |
+
[
|
| 190 |
+
"/workspace/report.md",
|
| 191 |
+
{
|
| 192 |
+
"type": "file",
|
| 193 |
+
"base64": "IyBTYWxlcyBSZXBvcnQKClRvdGFsIHJldmVudWUgZnJvbSBzYWxlcy5jc3YgaXMgKiokMTQ0KiouCgotIE5vdGVib29rOiAxMiDDlyAkNSA9ICQ2MAotIFBlbmNpbDogMzAgw5cgJDIgPSAkNjAKLSBGb2xkZXI6IDggw5cgJDMgPSAkMjQK",
|
| 194 |
+
"mode": 420
|
| 195 |
+
}
|
| 196 |
+
],
|
| 197 |
+
[
|
| 198 |
+
"/workspace/revenue.txt",
|
| 199 |
+
{
|
| 200 |
+
"type": "file",
|
| 201 |
+
"base64": "Tm90ZWJvb2sgMTIgNSAtPiAxMiB4IDUgPSA2MApQZW5jaWwgMzAgMiAtPiAzMCB4IDIgPSA2MApGb2xkZXIgOCAzIC0+IDggeCAzID0gMjQKVE9UQUwgUkVWRU5VRTogMTQ0Cg==",
|
| 202 |
+
"mode": 420
|
| 203 |
+
}
|
| 204 |
+
],
|
| 205 |
+
[
|
| 206 |
+
"/workspace/sales.csv",
|
| 207 |
+
{
|
| 208 |
+
"type": "file",
|
| 209 |
+
"base64": "cHJvZHVjdCx1bml0cyxwcmljZQpOb3RlYm9vaywxMiw1ClBlbmNpbCwzMCwyCkZvbGRlciw4LDMK",
|
| 210 |
+
"mode": 420
|
| 211 |
+
}
|
| 212 |
+
],
|
| 213 |
+
[
|
| 214 |
+
"/workspace/secret.txt",
|
| 215 |
+
{
|
| 216 |
+
"type": "file",
|
| 217 |
+
"base64": "TE9DQUwtMmJhZDA5ZTU=",
|
| 218 |
+
"mode": 420
|
| 219 |
+
}
|
| 220 |
+
]
|
| 221 |
+
],
|
| 222 |
+
"messages": [
|
| 223 |
+
{
|
| 224 |
+
"role": "user",
|
| 225 |
+
"content": [
|
| 226 |
+
{
|
| 227 |
+
"type": "text",
|
| 228 |
+
"text": "Read sales.csv, calculate total revenue using bash, and save a short report to report.md. Verify the file."
|
| 229 |
+
}
|
| 230 |
+
],
|
| 231 |
+
"timestamp": 1789140382322
|
| 232 |
+
},
|
| 233 |
+
{
|
| 234 |
+
"role": "assistant",
|
| 235 |
+
"api": "minicpm-webgpu",
|
| 236 |
+
"provider": "browser",
|
| 237 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 238 |
+
"timestamp": 1789140382323,
|
| 239 |
+
"content": [
|
| 240 |
+
{
|
| 241 |
+
"type": "toolCall",
|
| 242 |
+
"id": "421922ef-5dec-4a48-8677-8db32b5ad65b",
|
| 243 |
+
"name": "read",
|
| 244 |
+
"arguments": {
|
| 245 |
+
"path": "/workspace/sales.csv"
|
| 246 |
+
}
|
| 247 |
+
}
|
| 248 |
+
],
|
| 249 |
+
"stopReason": "toolUse",
|
| 250 |
+
"usage": {
|
| 251 |
+
"input": 726,
|
| 252 |
+
"output": 18,
|
| 253 |
+
"cacheRead": 0,
|
| 254 |
+
"cacheWrite": 0,
|
| 255 |
+
"totalTokens": 744,
|
| 256 |
+
"cost": {
|
| 257 |
+
"input": 0,
|
| 258 |
+
"output": 0,
|
| 259 |
+
"cacheRead": 0,
|
| 260 |
+
"cacheWrite": 0,
|
| 261 |
+
"total": 0
|
| 262 |
+
}
|
| 263 |
+
}
|
| 264 |
+
},
|
| 265 |
+
{
|
| 266 |
+
"role": "toolResult",
|
| 267 |
+
"toolCallId": "421922ef-5dec-4a48-8677-8db32b5ad65b",
|
| 268 |
+
"toolName": "read",
|
| 269 |
+
"content": [
|
| 270 |
+
{
|
| 271 |
+
"type": "text",
|
| 272 |
+
"text": "product,units,price\nNotebook,12,5\nPencil,30,2\nFolder,8,3\n"
|
| 273 |
+
}
|
| 274 |
+
],
|
| 275 |
+
"details": {},
|
| 276 |
+
"isError": false,
|
| 277 |
+
"timestamp": 1789140383280
|
| 278 |
+
},
|
| 279 |
+
{
|
| 280 |
+
"role": "assistant",
|
| 281 |
+
"api": "minicpm-webgpu",
|
| 282 |
+
"provider": "browser",
|
| 283 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 284 |
+
"timestamp": 1789140383281,
|
| 285 |
+
"content": [
|
| 286 |
+
{
|
| 287 |
+
"type": "toolCall",
|
| 288 |
+
"id": "57790d84-6584-43ae-8c96-bd17d7267ec6",
|
| 289 |
+
"name": "bash",
|
| 290 |
+
"arguments": {
|
| 291 |
+
"command": "awk -F',' 'NR>1 {rev=$2*$3; total+=rev; print $1,$2,$3,\"->\",$2,\"x\",$3,\"=\",rev} END {print \"TOTAL REVENUE:\", total}' sales.csv > revenue.txt && cat revenue.txt"
|
| 292 |
+
}
|
| 293 |
+
}
|
| 294 |
+
],
|
| 295 |
+
"stopReason": "toolUse",
|
| 296 |
+
"usage": {
|
| 297 |
+
"input": 798,
|
| 298 |
+
"output": 78,
|
| 299 |
+
"cacheRead": 0,
|
| 300 |
+
"cacheWrite": 0,
|
| 301 |
+
"totalTokens": 876,
|
| 302 |
+
"cost": {
|
| 303 |
+
"input": 0,
|
| 304 |
+
"output": 0,
|
| 305 |
+
"cacheRead": 0,
|
| 306 |
+
"cacheWrite": 0,
|
| 307 |
+
"total": 0
|
| 308 |
+
}
|
| 309 |
+
}
|
| 310 |
+
},
|
| 311 |
+
{
|
| 312 |
+
"role": "toolResult",
|
| 313 |
+
"toolCallId": "57790d84-6584-43ae-8c96-bd17d7267ec6",
|
| 314 |
+
"toolName": "bash",
|
| 315 |
+
"content": [
|
| 316 |
+
{
|
| 317 |
+
"type": "text",
|
| 318 |
+
"text": "Notebook 12 5 -> 12 x 5 = 60\nPencil 30 2 -> 30 x 2 = 60\nFolder 8 3 -> 8 x 3 = 24\nTOTAL REVENUE: 144\n\nExit code: 0"
|
| 319 |
+
}
|
| 320 |
+
],
|
| 321 |
+
"details": {
|
| 322 |
+
"exitCode": 0
|
| 323 |
+
},
|
| 324 |
+
"isError": false,
|
| 325 |
+
"timestamp": 1789140385316
|
| 326 |
+
},
|
| 327 |
+
{
|
| 328 |
+
"role": "assistant",
|
| 329 |
+
"api": "minicpm-webgpu",
|
| 330 |
+
"provider": "browser",
|
| 331 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 332 |
+
"timestamp": 1789140385316,
|
| 333 |
+
"content": [
|
| 334 |
+
{
|
| 335 |
+
"type": "toolCall",
|
| 336 |
+
"id": "cc69455d-33ca-4eb0-bf8f-5456a5367f73",
|
| 337 |
+
"name": "write",
|
| 338 |
+
"arguments": {
|
| 339 |
+
"path": "report.md",
|
| 340 |
+
"content": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n"
|
| 341 |
+
}
|
| 342 |
+
}
|
| 343 |
+
],
|
| 344 |
+
"stopReason": "toolUse",
|
| 345 |
+
"usage": {
|
| 346 |
+
"input": 964,
|
| 347 |
+
"output": 79,
|
| 348 |
+
"cacheRead": 0,
|
| 349 |
+
"cacheWrite": 0,
|
| 350 |
+
"totalTokens": 1043,
|
| 351 |
+
"cost": {
|
| 352 |
+
"input": 0,
|
| 353 |
+
"output": 0,
|
| 354 |
+
"cacheRead": 0,
|
| 355 |
+
"cacheWrite": 0,
|
| 356 |
+
"total": 0
|
| 357 |
+
}
|
| 358 |
+
}
|
| 359 |
+
},
|
| 360 |
+
{
|
| 361 |
+
"role": "toolResult",
|
| 362 |
+
"toolCallId": "cc69455d-33ca-4eb0-bf8f-5456a5367f73",
|
| 363 |
+
"toolName": "write",
|
| 364 |
+
"content": [
|
| 365 |
+
{
|
| 366 |
+
"type": "text",
|
| 367 |
+
"text": "Wrote /workspace/report.md"
|
| 368 |
+
}
|
| 369 |
+
],
|
| 370 |
+
"details": {},
|
| 371 |
+
"isError": false,
|
| 372 |
+
"timestamp": 1789140387513
|
| 373 |
+
},
|
| 374 |
+
{
|
| 375 |
+
"role": "assistant",
|
| 376 |
+
"api": "minicpm-webgpu",
|
| 377 |
+
"provider": "browser",
|
| 378 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 379 |
+
"timestamp": 1789140387513,
|
| 380 |
+
"content": [
|
| 381 |
+
{
|
| 382 |
+
"type": "toolCall",
|
| 383 |
+
"id": "f5cfd232-256b-4053-a6e4-c9cc099f3301",
|
| 384 |
+
"name": "read",
|
| 385 |
+
"arguments": {
|
| 386 |
+
"path": "/workspace/report.md"
|
| 387 |
+
}
|
| 388 |
+
}
|
| 389 |
+
],
|
| 390 |
+
"stopReason": "toolUse",
|
| 391 |
+
"usage": {
|
| 392 |
+
"input": 1079,
|
| 393 |
+
"output": 18,
|
| 394 |
+
"cacheRead": 0,
|
| 395 |
+
"cacheWrite": 0,
|
| 396 |
+
"totalTokens": 1097,
|
| 397 |
+
"cost": {
|
| 398 |
+
"input": 0,
|
| 399 |
+
"output": 0,
|
| 400 |
+
"cacheRead": 0,
|
| 401 |
+
"cacheWrite": 0,
|
| 402 |
+
"total": 0
|
| 403 |
+
}
|
| 404 |
+
}
|
| 405 |
+
},
|
| 406 |
+
{
|
| 407 |
+
"role": "toolResult",
|
| 408 |
+
"toolCallId": "f5cfd232-256b-4053-a6e4-c9cc099f3301",
|
| 409 |
+
"toolName": "read",
|
| 410 |
+
"content": [
|
| 411 |
+
{
|
| 412 |
+
"type": "text",
|
| 413 |
+
"text": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n"
|
| 414 |
+
}
|
| 415 |
+
],
|
| 416 |
+
"details": {},
|
| 417 |
+
"isError": false,
|
| 418 |
+
"timestamp": 1789140388745
|
| 419 |
+
},
|
| 420 |
+
{
|
| 421 |
+
"role": "assistant",
|
| 422 |
+
"api": "minicpm-webgpu",
|
| 423 |
+
"provider": "browser",
|
| 424 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 425 |
+
"timestamp": 1789140388745,
|
| 426 |
+
"content": [
|
| 427 |
+
{
|
| 428 |
+
"type": "text",
|
| 429 |
+
"text": "Done. The report is saved at `/workspace/report.md` with total revenue of $144 (Notebook $60, Pencil $60, Folder $24)."
|
| 430 |
+
}
|
| 431 |
+
],
|
| 432 |
+
"stopReason": "stop",
|
| 433 |
+
"usage": {
|
| 434 |
+
"input": 1180,
|
| 435 |
+
"output": 35,
|
| 436 |
+
"cacheRead": 0,
|
| 437 |
+
"cacheWrite": 0,
|
| 438 |
+
"totalTokens": 1215,
|
| 439 |
+
"cost": {
|
| 440 |
+
"input": 0,
|
| 441 |
+
"output": 0,
|
| 442 |
+
"cacheRead": 0,
|
| 443 |
+
"cacheWrite": 0,
|
| 444 |
+
"total": 0
|
| 445 |
+
}
|
| 446 |
+
}
|
| 447 |
+
}
|
| 448 |
+
]
|
| 449 |
+
},
|
| 450 |
+
{
|
| 451 |
+
"name": "write-and-run-script",
|
| 452 |
+
"elapsedMs": 4181,
|
| 453 |
+
"version": 1,
|
| 454 |
+
"files": {
|
| 455 |
+
"/workspace/README.md": "# Browser workspace\n\nPi can read, write, edit, and run shell commands here.\nEverything stays in this browser. Try analyzing sales.csv.\n",
|
| 456 |
+
"/workspace/hello.sh": "#!/bin/bash\necho \"Hello from the browser\"\n",
|
| 457 |
+
"/workspace/report.md": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n",
|
| 458 |
+
"/workspace/revenue.txt": "Notebook 12 5 -> 12 x 5 = 60\nPencil 30 2 -> 30 x 2 = 60\nFolder 8 3 -> 8 x 3 = 24\nTOTAL REVENUE: 144\n",
|
| 459 |
+
"/workspace/sales.csv": "product,units,price\nNotebook,12,5\nPencil,30,2\nFolder,8,3\n",
|
| 460 |
+
"/workspace/secret.txt": "LOCAL-2bad09e5"
|
| 461 |
+
},
|
| 462 |
+
"entries": [
|
| 463 |
+
[
|
| 464 |
+
"/",
|
| 465 |
+
{
|
| 466 |
+
"type": "directory",
|
| 467 |
+
"mode": 493
|
| 468 |
+
}
|
| 469 |
+
],
|
| 470 |
+
[
|
| 471 |
+
"/usr",
|
| 472 |
+
{
|
| 473 |
+
"type": "directory",
|
| 474 |
+
"mode": 493
|
| 475 |
+
}
|
| 476 |
+
],
|
| 477 |
+
[
|
| 478 |
+
"/workspace",
|
| 479 |
+
{
|
| 480 |
+
"type": "directory",
|
| 481 |
+
"mode": 493
|
| 482 |
+
}
|
| 483 |
+
],
|
| 484 |
+
[
|
| 485 |
+
"/workspace/README.md",
|
| 486 |
+
{
|
| 487 |
+
"type": "file",
|
| 488 |
+
"base64": "IyBCcm93c2VyIHdvcmtzcGFjZQoKUGkgY2FuIHJlYWQsIHdyaXRlLCBlZGl0LCBhbmQgcnVuIHNoZWxsIGNvbW1hbmRzIGhlcmUuCkV2ZXJ5dGhpbmcgc3RheXMgaW4gdGhpcyBicm93c2VyLiBUcnkgYW5hbHl6aW5nIHNhbGVzLmNzdi4K",
|
| 489 |
+
"mode": 420
|
| 490 |
+
}
|
| 491 |
+
],
|
| 492 |
+
[
|
| 493 |
+
"/workspace/hello.sh",
|
| 494 |
+
{
|
| 495 |
+
"type": "file",
|
| 496 |
+
"base64": "IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gZnJvbSB0aGUgYnJvd3NlciIK",
|
| 497 |
+
"mode": 493
|
| 498 |
+
}
|
| 499 |
+
],
|
| 500 |
+
[
|
| 501 |
+
"/workspace/report.md",
|
| 502 |
+
{
|
| 503 |
+
"type": "file",
|
| 504 |
+
"base64": "IyBTYWxlcyBSZXBvcnQKClRvdGFsIHJldmVudWUgZnJvbSBzYWxlcy5jc3YgaXMgKiokMTQ0KiouCgotIE5vdGVib29rOiAxMiDDlyAkNSA9ICQ2MAotIFBlbmNpbDogMzAgw5cgJDIgPSAkNjAKLSBGb2xkZXI6IDggw5cgJDMgPSAkMjQK",
|
| 505 |
+
"mode": 420
|
| 506 |
+
}
|
| 507 |
+
],
|
| 508 |
+
[
|
| 509 |
+
"/workspace/revenue.txt",
|
| 510 |
+
{
|
| 511 |
+
"type": "file",
|
| 512 |
+
"base64": "Tm90ZWJvb2sgMTIgNSAtPiAxMiB4IDUgPSA2MApQZW5jaWwgMzAgMiAtPiAzMCB4IDIgPSA2MApGb2xkZXIgOCAzIC0+IDggeCAzID0gMjQKVE9UQUwgUkVWRU5VRTogMTQ0Cg==",
|
| 513 |
+
"mode": 420
|
| 514 |
+
}
|
| 515 |
+
],
|
| 516 |
+
[
|
| 517 |
+
"/workspace/sales.csv",
|
| 518 |
+
{
|
| 519 |
+
"type": "file",
|
| 520 |
+
"base64": "cHJvZHVjdCx1bml0cyxwcmljZQpOb3RlYm9vaywxMiw1ClBlbmNpbCwzMCwyCkZvbGRlciw4LDMK",
|
| 521 |
+
"mode": 420
|
| 522 |
+
}
|
| 523 |
+
],
|
| 524 |
+
[
|
| 525 |
+
"/workspace/secret.txt",
|
| 526 |
+
{
|
| 527 |
+
"type": "file",
|
| 528 |
+
"base64": "TE9DQUwtMmJhZDA5ZTU=",
|
| 529 |
+
"mode": 420
|
| 530 |
+
}
|
| 531 |
+
]
|
| 532 |
+
],
|
| 533 |
+
"messages": [
|
| 534 |
+
{
|
| 535 |
+
"role": "user",
|
| 536 |
+
"content": [
|
| 537 |
+
{
|
| 538 |
+
"type": "text",
|
| 539 |
+
"text": "Create a bash script called hello.sh that prints Hello from the browser, run it, and report the output."
|
| 540 |
+
}
|
| 541 |
+
],
|
| 542 |
+
"timestamp": 1789140390387
|
| 543 |
+
},
|
| 544 |
+
{
|
| 545 |
+
"role": "assistant",
|
| 546 |
+
"api": "minicpm-webgpu",
|
| 547 |
+
"provider": "browser",
|
| 548 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 549 |
+
"timestamp": 1789140390387,
|
| 550 |
+
"content": [
|
| 551 |
+
{
|
| 552 |
+
"type": "toolCall",
|
| 553 |
+
"id": "e1248619-6f5a-470d-a9c4-d27e64bad6fe",
|
| 554 |
+
"name": "write",
|
| 555 |
+
"arguments": {
|
| 556 |
+
"path": "/workspace/hello.sh",
|
| 557 |
+
"content": "#!/bin/bash\necho \"Hello from the browser\"\n"
|
| 558 |
+
}
|
| 559 |
+
}
|
| 560 |
+
],
|
| 561 |
+
"stopReason": "toolUse",
|
| 562 |
+
"usage": {
|
| 563 |
+
"input": 725,
|
| 564 |
+
"output": 43,
|
| 565 |
+
"cacheRead": 0,
|
| 566 |
+
"cacheWrite": 0,
|
| 567 |
+
"totalTokens": 768,
|
| 568 |
+
"cost": {
|
| 569 |
+
"input": 0,
|
| 570 |
+
"output": 0,
|
| 571 |
+
"cacheRead": 0,
|
| 572 |
+
"cacheWrite": 0,
|
| 573 |
+
"total": 0
|
| 574 |
+
}
|
| 575 |
+
}
|
| 576 |
+
},
|
| 577 |
+
{
|
| 578 |
+
"role": "toolResult",
|
| 579 |
+
"toolCallId": "e1248619-6f5a-470d-a9c4-d27e64bad6fe",
|
| 580 |
+
"toolName": "write",
|
| 581 |
+
"content": [
|
| 582 |
+
{
|
| 583 |
+
"type": "text",
|
| 584 |
+
"text": "Wrote /workspace/hello.sh"
|
| 585 |
+
}
|
| 586 |
+
],
|
| 587 |
+
"details": {},
|
| 588 |
+
"isError": false,
|
| 589 |
+
"timestamp": 1789140391733
|
| 590 |
+
},
|
| 591 |
+
{
|
| 592 |
+
"role": "assistant",
|
| 593 |
+
"api": "minicpm-webgpu",
|
| 594 |
+
"provider": "browser",
|
| 595 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 596 |
+
"timestamp": 1789140391733,
|
| 597 |
+
"content": [
|
| 598 |
+
{
|
| 599 |
+
"type": "toolCall",
|
| 600 |
+
"id": "ff8ac54d-805b-40bb-8cbb-cc9da1a71906",
|
| 601 |
+
"name": "bash",
|
| 602 |
+
"arguments": {
|
| 603 |
+
"command": "chmod +x /workspace/hello.sh && /workspace/hello.sh"
|
| 604 |
+
}
|
| 605 |
+
}
|
| 606 |
+
],
|
| 607 |
+
"stopReason": "toolUse",
|
| 608 |
+
"usage": {
|
| 609 |
+
"input": 804,
|
| 610 |
+
"output": 34,
|
| 611 |
+
"cacheRead": 0,
|
| 612 |
+
"cacheWrite": 0,
|
| 613 |
+
"totalTokens": 838,
|
| 614 |
+
"cost": {
|
| 615 |
+
"input": 0,
|
| 616 |
+
"output": 0,
|
| 617 |
+
"cacheRead": 0,
|
| 618 |
+
"cacheWrite": 0,
|
| 619 |
+
"total": 0
|
| 620 |
+
}
|
| 621 |
+
}
|
| 622 |
+
},
|
| 623 |
+
{
|
| 624 |
+
"role": "toolResult",
|
| 625 |
+
"toolCallId": "ff8ac54d-805b-40bb-8cbb-cc9da1a71906",
|
| 626 |
+
"toolName": "bash",
|
| 627 |
+
"content": [
|
| 628 |
+
{
|
| 629 |
+
"type": "text",
|
| 630 |
+
"text": "Hello from the browser\n\nExit code: 0"
|
| 631 |
+
}
|
| 632 |
+
],
|
| 633 |
+
"details": {
|
| 634 |
+
"exitCode": 0
|
| 635 |
+
},
|
| 636 |
+
"isError": false,
|
| 637 |
+
"timestamp": 1789140393205
|
| 638 |
+
},
|
| 639 |
+
{
|
| 640 |
+
"role": "assistant",
|
| 641 |
+
"api": "minicpm-webgpu",
|
| 642 |
+
"provider": "browser",
|
| 643 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 644 |
+
"timestamp": 1789140393205,
|
| 645 |
+
"content": [
|
| 646 |
+
{
|
| 647 |
+
"type": "text",
|
| 648 |
+
"text": "The script `/workspace/hello.sh` prints \"Hello from the browser\". Running it outputs:\n\n```\nHello from the browser\n```\n\nwith exit code 0."
|
| 649 |
+
}
|
| 650 |
+
],
|
| 651 |
+
"stopReason": "stop",
|
| 652 |
+
"usage": {
|
| 653 |
+
"input": 878,
|
| 654 |
+
"output": 35,
|
| 655 |
+
"cacheRead": 0,
|
| 656 |
+
"cacheWrite": 0,
|
| 657 |
+
"totalTokens": 913,
|
| 658 |
+
"cost": {
|
| 659 |
+
"input": 0,
|
| 660 |
+
"output": 0,
|
| 661 |
+
"cacheRead": 0,
|
| 662 |
+
"cacheWrite": 0,
|
| 663 |
+
"total": 0
|
| 664 |
+
}
|
| 665 |
+
}
|
| 666 |
+
}
|
| 667 |
+
]
|
| 668 |
+
},
|
| 669 |
+
{
|
| 670 |
+
"name": "edit-and-verify",
|
| 671 |
+
"elapsedMs": 4609,
|
| 672 |
+
"version": 1,
|
| 673 |
+
"files": {
|
| 674 |
+
"/workspace/README.md": "# Browser workspace\n\nPi can read, write, edit, and run shell commands here.\nEverything stays in this browser. Try analyzing sales.csv.\n",
|
| 675 |
+
"/workspace/hello.sh": "#!/bin/bash\necho \"Hello from Pi\"\n",
|
| 676 |
+
"/workspace/report.md": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n",
|
| 677 |
+
"/workspace/revenue.txt": "Notebook 12 5 -> 12 x 5 = 60\nPencil 30 2 -> 30 x 2 = 60\nFolder 8 3 -> 8 x 3 = 24\nTOTAL REVENUE: 144\n",
|
| 678 |
+
"/workspace/sales.csv": "product,units,price\nNotebook,12,5\nPencil,30,2\nFolder,8,3\n",
|
| 679 |
+
"/workspace/secret.txt": "LOCAL-2bad09e5"
|
| 680 |
+
},
|
| 681 |
+
"entries": [
|
| 682 |
+
[
|
| 683 |
+
"/",
|
| 684 |
+
{
|
| 685 |
+
"type": "directory",
|
| 686 |
+
"mode": 493
|
| 687 |
+
}
|
| 688 |
+
],
|
| 689 |
+
[
|
| 690 |
+
"/usr",
|
| 691 |
+
{
|
| 692 |
+
"type": "directory",
|
| 693 |
+
"mode": 493
|
| 694 |
+
}
|
| 695 |
+
],
|
| 696 |
+
[
|
| 697 |
+
"/workspace",
|
| 698 |
+
{
|
| 699 |
+
"type": "directory",
|
| 700 |
+
"mode": 493
|
| 701 |
+
}
|
| 702 |
+
],
|
| 703 |
+
[
|
| 704 |
+
"/workspace/README.md",
|
| 705 |
+
{
|
| 706 |
+
"type": "file",
|
| 707 |
+
"base64": "IyBCcm93c2VyIHdvcmtzcGFjZQoKUGkgY2FuIHJlYWQsIHdyaXRlLCBlZGl0LCBhbmQgcnVuIHNoZWxsIGNvbW1hbmRzIGhlcmUuCkV2ZXJ5dGhpbmcgc3RheXMgaW4gdGhpcyBicm93c2VyLiBUcnkgYW5hbHl6aW5nIHNhbGVzLmNzdi4K",
|
| 708 |
+
"mode": 420
|
| 709 |
+
}
|
| 710 |
+
],
|
| 711 |
+
[
|
| 712 |
+
"/workspace/hello.sh",
|
| 713 |
+
{
|
| 714 |
+
"type": "file",
|
| 715 |
+
"base64": "IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gZnJvbSBQaSIK",
|
| 716 |
+
"mode": 493
|
| 717 |
+
}
|
| 718 |
+
],
|
| 719 |
+
[
|
| 720 |
+
"/workspace/report.md",
|
| 721 |
+
{
|
| 722 |
+
"type": "file",
|
| 723 |
+
"base64": "IyBTYWxlcyBSZXBvcnQKClRvdGFsIHJldmVudWUgZnJvbSBzYWxlcy5jc3YgaXMgKiokMTQ0KiouCgotIE5vdGVib29rOiAxMiDDlyAkNSA9ICQ2MAotIFBlbmNpbDogMzAgw5cgJDIgPSAkNjAKLSBGb2xkZXI6IDggw5cgJDMgPSAkMjQK",
|
| 724 |
+
"mode": 420
|
| 725 |
+
}
|
| 726 |
+
],
|
| 727 |
+
[
|
| 728 |
+
"/workspace/revenue.txt",
|
| 729 |
+
{
|
| 730 |
+
"type": "file",
|
| 731 |
+
"base64": "Tm90ZWJvb2sgMTIgNSAtPiAxMiB4IDUgPSA2MApQZW5jaWwgMzAgMiAtPiAzMCB4IDIgPSA2MApGb2xkZXIgOCAzIC0+IDggeCAzID0gMjQKVE9UQUwgUkVWRU5VRTogMTQ0Cg==",
|
| 732 |
+
"mode": 420
|
| 733 |
+
}
|
| 734 |
+
],
|
| 735 |
+
[
|
| 736 |
+
"/workspace/sales.csv",
|
| 737 |
+
{
|
| 738 |
+
"type": "file",
|
| 739 |
+
"base64": "cHJvZHVjdCx1bml0cyxwcmljZQpOb3RlYm9vaywxMiw1ClBlbmNpbCwzMCwyCkZvbGRlciw4LDMK",
|
| 740 |
+
"mode": 420
|
| 741 |
+
}
|
| 742 |
+
],
|
| 743 |
+
[
|
| 744 |
+
"/workspace/secret.txt",
|
| 745 |
+
{
|
| 746 |
+
"type": "file",
|
| 747 |
+
"base64": "TE9DQUwtMmJhZDA5ZTU=",
|
| 748 |
+
"mode": 420
|
| 749 |
+
}
|
| 750 |
+
]
|
| 751 |
+
],
|
| 752 |
+
"messages": [
|
| 753 |
+
{
|
| 754 |
+
"role": "user",
|
| 755 |
+
"content": [
|
| 756 |
+
{
|
| 757 |
+
"type": "text",
|
| 758 |
+
"text": "Read hello.sh, use the edit tool to replace Hello from the browser with Hello from Pi, then run the script and report the output."
|
| 759 |
+
}
|
| 760 |
+
],
|
| 761 |
+
"timestamp": 1789140394571
|
| 762 |
+
},
|
| 763 |
+
{
|
| 764 |
+
"role": "assistant",
|
| 765 |
+
"api": "minicpm-webgpu",
|
| 766 |
+
"provider": "browser",
|
| 767 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 768 |
+
"timestamp": 1789140394572,
|
| 769 |
+
"content": [
|
| 770 |
+
{
|
| 771 |
+
"type": "toolCall",
|
| 772 |
+
"id": "0c0eaac7-381b-49c0-8483-244d9ebd4029",
|
| 773 |
+
"name": "read",
|
| 774 |
+
"arguments": {
|
| 775 |
+
"path": "hello.sh"
|
| 776 |
+
}
|
| 777 |
+
}
|
| 778 |
+
],
|
| 779 |
+
"stopReason": "toolUse",
|
| 780 |
+
"usage": {
|
| 781 |
+
"input": 731,
|
| 782 |
+
"output": 15,
|
| 783 |
+
"cacheRead": 0,
|
| 784 |
+
"cacheWrite": 0,
|
| 785 |
+
"totalTokens": 746,
|
| 786 |
+
"cost": {
|
| 787 |
+
"input": 0,
|
| 788 |
+
"output": 0,
|
| 789 |
+
"cacheRead": 0,
|
| 790 |
+
"cacheWrite": 0,
|
| 791 |
+
"total": 0
|
| 792 |
+
}
|
| 793 |
+
}
|
| 794 |
+
},
|
| 795 |
+
{
|
| 796 |
+
"role": "toolResult",
|
| 797 |
+
"toolCallId": "0c0eaac7-381b-49c0-8483-244d9ebd4029",
|
| 798 |
+
"toolName": "read",
|
| 799 |
+
"content": [
|
| 800 |
+
{
|
| 801 |
+
"type": "text",
|
| 802 |
+
"text": "#!/bin/bash\necho \"Hello from the browser\"\n"
|
| 803 |
+
}
|
| 804 |
+
],
|
| 805 |
+
"details": {},
|
| 806 |
+
"isError": false,
|
| 807 |
+
"timestamp": 1789140395478
|
| 808 |
+
},
|
| 809 |
+
{
|
| 810 |
+
"role": "assistant",
|
| 811 |
+
"api": "minicpm-webgpu",
|
| 812 |
+
"provider": "browser",
|
| 813 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 814 |
+
"timestamp": 1789140395478,
|
| 815 |
+
"content": [
|
| 816 |
+
{
|
| 817 |
+
"type": "toolCall",
|
| 818 |
+
"id": "6923b0fd-02bd-4229-9fd6-04cd4aa06af4",
|
| 819 |
+
"name": "edit",
|
| 820 |
+
"arguments": {
|
| 821 |
+
"path": "hello.sh",
|
| 822 |
+
"oldText": "echo \"Hello from the browser\"",
|
| 823 |
+
"newText": "echo \"Hello from Pi\""
|
| 824 |
+
}
|
| 825 |
+
}
|
| 826 |
+
],
|
| 827 |
+
"stopReason": "toolUse",
|
| 828 |
+
"usage": {
|
| 829 |
+
"input": 790,
|
| 830 |
+
"output": 42,
|
| 831 |
+
"cacheRead": 0,
|
| 832 |
+
"cacheWrite": 0,
|
| 833 |
+
"totalTokens": 832,
|
| 834 |
+
"cost": {
|
| 835 |
+
"input": 0,
|
| 836 |
+
"output": 0,
|
| 837 |
+
"cacheRead": 0,
|
| 838 |
+
"cacheWrite": 0,
|
| 839 |
+
"total": 0
|
| 840 |
+
}
|
| 841 |
+
}
|
| 842 |
+
},
|
| 843 |
+
{
|
| 844 |
+
"role": "toolResult",
|
| 845 |
+
"toolCallId": "6923b0fd-02bd-4229-9fd6-04cd4aa06af4",
|
| 846 |
+
"toolName": "edit",
|
| 847 |
+
"content": [
|
| 848 |
+
{
|
| 849 |
+
"type": "text",
|
| 850 |
+
"text": "Edited /workspace/hello.sh"
|
| 851 |
+
}
|
| 852 |
+
],
|
| 853 |
+
"details": {},
|
| 854 |
+
"isError": false,
|
| 855 |
+
"timestamp": 1789140396881
|
| 856 |
+
},
|
| 857 |
+
{
|
| 858 |
+
"role": "assistant",
|
| 859 |
+
"api": "minicpm-webgpu",
|
| 860 |
+
"provider": "browser",
|
| 861 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 862 |
+
"timestamp": 1789140396881,
|
| 863 |
+
"content": [
|
| 864 |
+
{
|
| 865 |
+
"type": "toolCall",
|
| 866 |
+
"id": "bbfb1e3f-6fde-4278-a28f-391b75ee15c9",
|
| 867 |
+
"name": "bash",
|
| 868 |
+
"arguments": {
|
| 869 |
+
"command": "chmod +x hello.sh && ./hello.sh"
|
| 870 |
+
}
|
| 871 |
+
}
|
| 872 |
+
],
|
| 873 |
+
"stopReason": "toolUse",
|
| 874 |
+
"usage": {
|
| 875 |
+
"input": 867,
|
| 876 |
+
"output": 29,
|
| 877 |
+
"cacheRead": 0,
|
| 878 |
+
"cacheWrite": 0,
|
| 879 |
+
"totalTokens": 896,
|
| 880 |
+
"cost": {
|
| 881 |
+
"input": 0,
|
| 882 |
+
"output": 0,
|
| 883 |
+
"cacheRead": 0,
|
| 884 |
+
"cacheWrite": 0,
|
| 885 |
+
"total": 0
|
| 886 |
+
}
|
| 887 |
+
}
|
| 888 |
+
},
|
| 889 |
+
{
|
| 890 |
+
"role": "toolResult",
|
| 891 |
+
"toolCallId": "bbfb1e3f-6fde-4278-a28f-391b75ee15c9",
|
| 892 |
+
"toolName": "bash",
|
| 893 |
+
"content": [
|
| 894 |
+
{
|
| 895 |
+
"type": "text",
|
| 896 |
+
"text": "Hello from Pi\n\nExit code: 0"
|
| 897 |
+
}
|
| 898 |
+
],
|
| 899 |
+
"details": {
|
| 900 |
+
"exitCode": 0
|
| 901 |
+
},
|
| 902 |
+
"isError": false,
|
| 903 |
+
"timestamp": 1789140398135
|
| 904 |
+
},
|
| 905 |
+
{
|
| 906 |
+
"role": "assistant",
|
| 907 |
+
"api": "minicpm-webgpu",
|
| 908 |
+
"provider": "browser",
|
| 909 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 910 |
+
"timestamp": 1789140398135,
|
| 911 |
+
"content": [
|
| 912 |
+
{
|
| 913 |
+
"type": "text",
|
| 914 |
+
"text": "The script now outputs \"Hello from Pi\" when run."
|
| 915 |
+
}
|
| 916 |
+
],
|
| 917 |
+
"stopReason": "stop",
|
| 918 |
+
"usage": {
|
| 919 |
+
"input": 935,
|
| 920 |
+
"output": 13,
|
| 921 |
+
"cacheRead": 0,
|
| 922 |
+
"cacheWrite": 0,
|
| 923 |
+
"totalTokens": 948,
|
| 924 |
+
"cost": {
|
| 925 |
+
"input": 0,
|
| 926 |
+
"output": 0,
|
| 927 |
+
"cacheRead": 0,
|
| 928 |
+
"cacheWrite": 0,
|
| 929 |
+
"total": 0
|
| 930 |
+
}
|
| 931 |
+
}
|
| 932 |
+
}
|
| 933 |
+
]
|
| 934 |
+
},
|
| 935 |
+
{
|
| 936 |
+
"name": "recover-tool-error",
|
| 937 |
+
"elapsedMs": 5060,
|
| 938 |
+
"version": 1,
|
| 939 |
+
"files": {
|
| 940 |
+
"/workspace/README.md": "# Browser workspace\n\nPi can read, write, edit, and run shell commands here.\nEverything stays in this browser. Try analyzing sales.csv.\n",
|
| 941 |
+
"/workspace/hello.sh": "#!/bin/bash\necho \"Hello from Pi\"\n",
|
| 942 |
+
"/workspace/missing.txt": "Recovered",
|
| 943 |
+
"/workspace/report.md": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n",
|
| 944 |
+
"/workspace/revenue.txt": "Notebook 12 5 -> 12 x 5 = 60\nPencil 30 2 -> 30 x 2 = 60\nFolder 8 3 -> 8 x 3 = 24\nTOTAL REVENUE: 144\n",
|
| 945 |
+
"/workspace/sales.csv": "product,units,price\nNotebook,12,5\nPencil,30,2\nFolder,8,3\n",
|
| 946 |
+
"/workspace/secret.txt": "LOCAL-2bad09e5"
|
| 947 |
+
},
|
| 948 |
+
"entries": [
|
| 949 |
+
[
|
| 950 |
+
"/",
|
| 951 |
+
{
|
| 952 |
+
"type": "directory",
|
| 953 |
+
"mode": 493
|
| 954 |
+
}
|
| 955 |
+
],
|
| 956 |
+
[
|
| 957 |
+
"/usr",
|
| 958 |
+
{
|
| 959 |
+
"type": "directory",
|
| 960 |
+
"mode": 493
|
| 961 |
+
}
|
| 962 |
+
],
|
| 963 |
+
[
|
| 964 |
+
"/workspace",
|
| 965 |
+
{
|
| 966 |
+
"type": "directory",
|
| 967 |
+
"mode": 493
|
| 968 |
+
}
|
| 969 |
+
],
|
| 970 |
+
[
|
| 971 |
+
"/workspace/README.md",
|
| 972 |
+
{
|
| 973 |
+
"type": "file",
|
| 974 |
+
"base64": "IyBCcm93c2VyIHdvcmtzcGFjZQoKUGkgY2FuIHJlYWQsIHdyaXRlLCBlZGl0LCBhbmQgcnVuIHNoZWxsIGNvbW1hbmRzIGhlcmUuCkV2ZXJ5dGhpbmcgc3RheXMgaW4gdGhpcyBicm93c2VyLiBUcnkgYW5hbHl6aW5nIHNhbGVzLmNzdi4K",
|
| 975 |
+
"mode": 420
|
| 976 |
+
}
|
| 977 |
+
],
|
| 978 |
+
[
|
| 979 |
+
"/workspace/hello.sh",
|
| 980 |
+
{
|
| 981 |
+
"type": "file",
|
| 982 |
+
"base64": "IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gZnJvbSBQaSIK",
|
| 983 |
+
"mode": 493
|
| 984 |
+
}
|
| 985 |
+
],
|
| 986 |
+
[
|
| 987 |
+
"/workspace/missing.txt",
|
| 988 |
+
{
|
| 989 |
+
"type": "file",
|
| 990 |
+
"base64": "UmVjb3ZlcmVk",
|
| 991 |
+
"mode": 420
|
| 992 |
+
}
|
| 993 |
+
],
|
| 994 |
+
[
|
| 995 |
+
"/workspace/report.md",
|
| 996 |
+
{
|
| 997 |
+
"type": "file",
|
| 998 |
+
"base64": "IyBTYWxlcyBSZXBvcnQKClRvdGFsIHJldmVudWUgZnJvbSBzYWxlcy5jc3YgaXMgKiokMTQ0KiouCgotIE5vdGVib29rOiAxMiDDlyAkNSA9ICQ2MAotIFBlbmNpbDogMzAgw5cgJDIgPSAkNjAKLSBGb2xkZXI6IDggw5cgJDMgPSAkMjQK",
|
| 999 |
+
"mode": 420
|
| 1000 |
+
}
|
| 1001 |
+
],
|
| 1002 |
+
[
|
| 1003 |
+
"/workspace/revenue.txt",
|
| 1004 |
+
{
|
| 1005 |
+
"type": "file",
|
| 1006 |
+
"base64": "Tm90ZWJvb2sgMTIgNSAtPiAxMiB4IDUgPSA2MApQZW5jaWwgMzAgMiAtPiAzMCB4IDIgPSA2MApGb2xkZXIgOCAzIC0+IDggeCAzID0gMjQKVE9UQUwgUkVWRU5VRTogMTQ0Cg==",
|
| 1007 |
+
"mode": 420
|
| 1008 |
+
}
|
| 1009 |
+
],
|
| 1010 |
+
[
|
| 1011 |
+
"/workspace/sales.csv",
|
| 1012 |
+
{
|
| 1013 |
+
"type": "file",
|
| 1014 |
+
"base64": "cHJvZHVjdCx1bml0cyxwcmljZQpOb3RlYm9vaywxMiw1ClBlbmNpbCwzMCwyCkZvbGRlciw4LDMK",
|
| 1015 |
+
"mode": 420
|
| 1016 |
+
}
|
| 1017 |
+
],
|
| 1018 |
+
[
|
| 1019 |
+
"/workspace/secret.txt",
|
| 1020 |
+
{
|
| 1021 |
+
"type": "file",
|
| 1022 |
+
"base64": "TE9DQUwtMmJhZDA5ZTU=",
|
| 1023 |
+
"mode": 420
|
| 1024 |
+
}
|
| 1025 |
+
]
|
| 1026 |
+
],
|
| 1027 |
+
"messages": [
|
| 1028 |
+
{
|
| 1029 |
+
"role": "user",
|
| 1030 |
+
"content": [
|
| 1031 |
+
{
|
| 1032 |
+
"type": "text",
|
| 1033 |
+
"text": "Read missing.txt using the read tool. If it does not exist, create it with the exact text Recovered and verify it by reading the file."
|
| 1034 |
+
}
|
| 1035 |
+
],
|
| 1036 |
+
"timestamp": 1789140399186
|
| 1037 |
+
},
|
| 1038 |
+
{
|
| 1039 |
+
"role": "assistant",
|
| 1040 |
+
"api": "minicpm-webgpu",
|
| 1041 |
+
"provider": "browser",
|
| 1042 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 1043 |
+
"timestamp": 1789140399186,
|
| 1044 |
+
"content": [
|
| 1045 |
+
{
|
| 1046 |
+
"type": "toolCall",
|
| 1047 |
+
"id": "95425bdd-aee5-4d54-acd2-8aac7fc5b560",
|
| 1048 |
+
"name": "read",
|
| 1049 |
+
"arguments": {
|
| 1050 |
+
"path": "/workspace/missing.txt"
|
| 1051 |
+
}
|
| 1052 |
+
}
|
| 1053 |
+
],
|
| 1054 |
+
"stopReason": "toolUse",
|
| 1055 |
+
"usage": {
|
| 1056 |
+
"input": 733,
|
| 1057 |
+
"output": 18,
|
| 1058 |
+
"cacheRead": 0,
|
| 1059 |
+
"cacheWrite": 0,
|
| 1060 |
+
"totalTokens": 751,
|
| 1061 |
+
"cost": {
|
| 1062 |
+
"input": 0,
|
| 1063 |
+
"output": 0,
|
| 1064 |
+
"cacheRead": 0,
|
| 1065 |
+
"cacheWrite": 0,
|
| 1066 |
+
"total": 0
|
| 1067 |
+
}
|
| 1068 |
+
}
|
| 1069 |
+
},
|
| 1070 |
+
{
|
| 1071 |
+
"role": "toolResult",
|
| 1072 |
+
"toolCallId": "95425bdd-aee5-4d54-acd2-8aac7fc5b560",
|
| 1073 |
+
"toolName": "read",
|
| 1074 |
+
"content": [
|
| 1075 |
+
{
|
| 1076 |
+
"type": "text",
|
| 1077 |
+
"text": "ENOENT: no such file or directory, open '/workspace/missing.txt'"
|
| 1078 |
+
}
|
| 1079 |
+
],
|
| 1080 |
+
"details": {},
|
| 1081 |
+
"isError": true,
|
| 1082 |
+
"timestamp": 1789140400156
|
| 1083 |
+
},
|
| 1084 |
+
{
|
| 1085 |
+
"role": "assistant",
|
| 1086 |
+
"api": "minicpm-webgpu",
|
| 1087 |
+
"provider": "browser",
|
| 1088 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 1089 |
+
"timestamp": 1789140400156,
|
| 1090 |
+
"content": [
|
| 1091 |
+
{
|
| 1092 |
+
"type": "toolCall",
|
| 1093 |
+
"id": "733ee5d6-af01-4d3b-b569-3244525bdb3c",
|
| 1094 |
+
"name": "write",
|
| 1095 |
+
"arguments": {
|
| 1096 |
+
"path": "/workspace/missing.txt",
|
| 1097 |
+
"content": "Recovered"
|
| 1098 |
+
}
|
| 1099 |
+
}
|
| 1100 |
+
],
|
| 1101 |
+
"stopReason": "toolUse",
|
| 1102 |
+
"usage": {
|
| 1103 |
+
"input": 796,
|
| 1104 |
+
"output": 32,
|
| 1105 |
+
"cacheRead": 0,
|
| 1106 |
+
"cacheWrite": 0,
|
| 1107 |
+
"totalTokens": 828,
|
| 1108 |
+
"cost": {
|
| 1109 |
+
"input": 0,
|
| 1110 |
+
"output": 0,
|
| 1111 |
+
"cacheRead": 0,
|
| 1112 |
+
"cacheWrite": 0,
|
| 1113 |
+
"total": 0
|
| 1114 |
+
}
|
| 1115 |
+
}
|
| 1116 |
+
},
|
| 1117 |
+
{
|
| 1118 |
+
"role": "toolResult",
|
| 1119 |
+
"toolCallId": "733ee5d6-af01-4d3b-b569-3244525bdb3c",
|
| 1120 |
+
"toolName": "write",
|
| 1121 |
+
"content": [
|
| 1122 |
+
{
|
| 1123 |
+
"type": "text",
|
| 1124 |
+
"text": "Wrote /workspace/missing.txt"
|
| 1125 |
+
}
|
| 1126 |
+
],
|
| 1127 |
+
"details": {},
|
| 1128 |
+
"isError": false,
|
| 1129 |
+
"timestamp": 1789140401429
|
| 1130 |
+
},
|
| 1131 |
+
{
|
| 1132 |
+
"role": "assistant",
|
| 1133 |
+
"api": "minicpm-webgpu",
|
| 1134 |
+
"provider": "browser",
|
| 1135 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 1136 |
+
"timestamp": 1789140401429,
|
| 1137 |
+
"content": [
|
| 1138 |
+
{
|
| 1139 |
+
"type": "toolCall",
|
| 1140 |
+
"id": "b5d6c398-22f7-4f56-8f43-c0e9ade21ea9",
|
| 1141 |
+
"name": "read",
|
| 1142 |
+
"arguments": {
|
| 1143 |
+
"path": "/workspace/missing.txt"
|
| 1144 |
+
}
|
| 1145 |
+
}
|
| 1146 |
+
],
|
| 1147 |
+
"stopReason": "toolUse",
|
| 1148 |
+
"usage": {
|
| 1149 |
+
"input": 858,
|
| 1150 |
+
"output": 18,
|
| 1151 |
+
"cacheRead": 0,
|
| 1152 |
+
"cacheWrite": 0,
|
| 1153 |
+
"totalTokens": 876,
|
| 1154 |
+
"cost": {
|
| 1155 |
+
"input": 0,
|
| 1156 |
+
"output": 0,
|
| 1157 |
+
"cacheRead": 0,
|
| 1158 |
+
"cacheWrite": 0,
|
| 1159 |
+
"total": 0
|
| 1160 |
+
}
|
| 1161 |
+
}
|
| 1162 |
+
},
|
| 1163 |
+
{
|
| 1164 |
+
"role": "toolResult",
|
| 1165 |
+
"toolCallId": "b5d6c398-22f7-4f56-8f43-c0e9ade21ea9",
|
| 1166 |
+
"toolName": "read",
|
| 1167 |
+
"content": [
|
| 1168 |
+
{
|
| 1169 |
+
"type": "text",
|
| 1170 |
+
"text": "Recovered"
|
| 1171 |
+
}
|
| 1172 |
+
],
|
| 1173 |
+
"details": {},
|
| 1174 |
+
"isError": false,
|
| 1175 |
+
"timestamp": 1789140402509
|
| 1176 |
+
},
|
| 1177 |
+
{
|
| 1178 |
+
"role": "assistant",
|
| 1179 |
+
"api": "minicpm-webgpu",
|
| 1180 |
+
"provider": "browser",
|
| 1181 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 1182 |
+
"timestamp": 1789140402509,
|
| 1183 |
+
"content": [
|
| 1184 |
+
{
|
| 1185 |
+
"type": "text",
|
| 1186 |
+
"text": "The file `/workspace/missing.txt` did not exist, so I created it with the exact text \"Recovered\" and verified it by reading the file back, which confirms the content is \"Recovered\"."
|
| 1187 |
+
}
|
| 1188 |
+
],
|
| 1189 |
+
"stopReason": "stop",
|
| 1190 |
+
"usage": {
|
| 1191 |
+
"input": 907,
|
| 1192 |
+
"output": 43,
|
| 1193 |
+
"cacheRead": 0,
|
| 1194 |
+
"cacheWrite": 0,
|
| 1195 |
+
"totalTokens": 950,
|
| 1196 |
+
"cost": {
|
| 1197 |
+
"input": 0,
|
| 1198 |
+
"output": 0,
|
| 1199 |
+
"cacheRead": 0,
|
| 1200 |
+
"cacheWrite": 0,
|
| 1201 |
+
"total": 0
|
| 1202 |
+
}
|
| 1203 |
+
}
|
| 1204 |
+
}
|
| 1205 |
+
]
|
| 1206 |
+
}
|
| 1207 |
+
],
|
| 1208 |
+
"errors": [],
|
| 1209 |
+
"requests": [
|
| 1210 |
+
{
|
| 1211 |
+
"method": "GET",
|
| 1212 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/"
|
| 1213 |
+
},
|
| 1214 |
+
{
|
| 1215 |
+
"method": "GET",
|
| 1216 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/index.html"
|
| 1217 |
+
},
|
| 1218 |
+
{
|
| 1219 |
+
"method": "GET",
|
| 1220 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/assets/index-DEv7Wfck.js"
|
| 1221 |
+
},
|
| 1222 |
+
{
|
| 1223 |
+
"method": "GET",
|
| 1224 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/assets/index-7QEZgEhG.css"
|
| 1225 |
+
},
|
| 1226 |
+
{
|
| 1227 |
+
"method": "GET",
|
| 1228 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/assets/agent.worker-DqQzo9yL.js"
|
| 1229 |
+
},
|
| 1230 |
+
{
|
| 1231 |
+
"method": "GET",
|
| 1232 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/favicon.svg"
|
| 1233 |
+
},
|
| 1234 |
+
{
|
| 1235 |
+
"method": "GET",
|
| 1236 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/chat_template.jinja"
|
| 1237 |
+
},
|
| 1238 |
+
{
|
| 1239 |
+
"method": "GET",
|
| 1240 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/config.json"
|
| 1241 |
+
},
|
| 1242 |
+
{
|
| 1243 |
+
"method": "GET",
|
| 1244 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/generation_config.json"
|
| 1245 |
+
},
|
| 1246 |
+
{
|
| 1247 |
+
"method": "GET",
|
| 1248 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx"
|
| 1249 |
+
},
|
| 1250 |
+
{
|
| 1251 |
+
"method": "GET",
|
| 1252 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1253 |
+
},
|
| 1254 |
+
{
|
| 1255 |
+
"method": "GET",
|
| 1256 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1257 |
+
},
|
| 1258 |
+
{
|
| 1259 |
+
"method": "GET",
|
| 1260 |
+
"url": "https://huggingface.co/api/resolve-cache/models/Mike0021/MiniCPM5-2B-ONNX/04a6c49fcba3a65a0351c92644c3a7e9d4343059/generation_config.json"
|
| 1261 |
+
},
|
| 1262 |
+
{
|
| 1263 |
+
"method": "GET",
|
| 1264 |
+
"url": "https://huggingface.co/api/resolve-cache/models/Mike0021/MiniCPM5-2B-ONNX/04a6c49fcba3a65a0351c92644c3a7e9d4343059/config.json"
|
| 1265 |
+
},
|
| 1266 |
+
{
|
| 1267 |
+
"method": "GET",
|
| 1268 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1269 |
+
},
|
| 1270 |
+
{
|
| 1271 |
+
"method": "GET",
|
| 1272 |
+
"url": "https://huggingface.co/api/resolve-cache/models/Mike0021/MiniCPM5-2B-ONNX/04a6c49fcba3a65a0351c92644c3a7e9d4343059/chat_template.jinja"
|
| 1273 |
+
},
|
| 1274 |
+
{
|
| 1275 |
+
"method": "GET",
|
| 1276 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1277 |
+
},
|
| 1278 |
+
{
|
| 1279 |
+
"method": "GET",
|
| 1280 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ddc445b9bc64f17fe2326636686f1a37be847a859f1321b8354928cd8fade7cb"
|
| 1281 |
+
},
|
| 1282 |
+
{
|
| 1283 |
+
"method": "GET",
|
| 1284 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1285 |
+
},
|
| 1286 |
+
{
|
| 1287 |
+
"method": "GET",
|
| 1288 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1289 |
+
},
|
| 1290 |
+
{
|
| 1291 |
+
"method": "GET",
|
| 1292 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1293 |
+
},
|
| 1294 |
+
{
|
| 1295 |
+
"method": "GET",
|
| 1296 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1297 |
+
},
|
| 1298 |
+
{
|
| 1299 |
+
"method": "GET",
|
| 1300 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1301 |
+
},
|
| 1302 |
+
{
|
| 1303 |
+
"method": "GET",
|
| 1304 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1305 |
+
},
|
| 1306 |
+
{
|
| 1307 |
+
"method": "GET",
|
| 1308 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1309 |
+
},
|
| 1310 |
+
{
|
| 1311 |
+
"method": "GET",
|
| 1312 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1313 |
+
},
|
| 1314 |
+
{
|
| 1315 |
+
"method": "GET",
|
| 1316 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1317 |
+
},
|
| 1318 |
+
{
|
| 1319 |
+
"method": "GET",
|
| 1320 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1321 |
+
},
|
| 1322 |
+
{
|
| 1323 |
+
"method": "GET",
|
| 1324 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1325 |
+
},
|
| 1326 |
+
{
|
| 1327 |
+
"method": "GET",
|
| 1328 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1329 |
+
},
|
| 1330 |
+
{
|
| 1331 |
+
"method": "GET",
|
| 1332 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1333 |
+
},
|
| 1334 |
+
{
|
| 1335 |
+
"method": "GET",
|
| 1336 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1337 |
+
},
|
| 1338 |
+
{
|
| 1339 |
+
"method": "GET",
|
| 1340 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1341 |
+
},
|
| 1342 |
+
{
|
| 1343 |
+
"method": "GET",
|
| 1344 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1345 |
+
},
|
| 1346 |
+
{
|
| 1347 |
+
"method": "GET",
|
| 1348 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1349 |
+
},
|
| 1350 |
+
{
|
| 1351 |
+
"method": "GET",
|
| 1352 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1353 |
+
},
|
| 1354 |
+
{
|
| 1355 |
+
"method": "GET",
|
| 1356 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1357 |
+
},
|
| 1358 |
+
{
|
| 1359 |
+
"method": "GET",
|
| 1360 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1361 |
+
},
|
| 1362 |
+
{
|
| 1363 |
+
"method": "GET",
|
| 1364 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1365 |
+
},
|
| 1366 |
+
{
|
| 1367 |
+
"method": "GET",
|
| 1368 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1369 |
+
},
|
| 1370 |
+
{
|
| 1371 |
+
"method": "GET",
|
| 1372 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1373 |
+
},
|
| 1374 |
+
{
|
| 1375 |
+
"method": "GET",
|
| 1376 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1377 |
+
},
|
| 1378 |
+
{
|
| 1379 |
+
"method": "GET",
|
| 1380 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1381 |
+
},
|
| 1382 |
+
{
|
| 1383 |
+
"method": "GET",
|
| 1384 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1385 |
+
},
|
| 1386 |
+
{
|
| 1387 |
+
"method": "GET",
|
| 1388 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1389 |
+
},
|
| 1390 |
+
{
|
| 1391 |
+
"method": "GET",
|
| 1392 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1393 |
+
},
|
| 1394 |
+
{
|
| 1395 |
+
"method": "GET",
|
| 1396 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1397 |
+
},
|
| 1398 |
+
{
|
| 1399 |
+
"method": "GET",
|
| 1400 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1401 |
+
},
|
| 1402 |
+
{
|
| 1403 |
+
"method": "GET",
|
| 1404 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1405 |
+
},
|
| 1406 |
+
{
|
| 1407 |
+
"method": "GET",
|
| 1408 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1409 |
+
},
|
| 1410 |
+
{
|
| 1411 |
+
"method": "GET",
|
| 1412 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1413 |
+
},
|
| 1414 |
+
{
|
| 1415 |
+
"method": "GET",
|
| 1416 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1417 |
+
},
|
| 1418 |
+
{
|
| 1419 |
+
"method": "GET",
|
| 1420 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1421 |
+
},
|
| 1422 |
+
{
|
| 1423 |
+
"method": "GET",
|
| 1424 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1425 |
+
},
|
| 1426 |
+
{
|
| 1427 |
+
"method": "GET",
|
| 1428 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1429 |
+
},
|
| 1430 |
+
{
|
| 1431 |
+
"method": "GET",
|
| 1432 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1433 |
+
},
|
| 1434 |
+
{
|
| 1435 |
+
"method": "GET",
|
| 1436 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1437 |
+
},
|
| 1438 |
+
{
|
| 1439 |
+
"method": "GET",
|
| 1440 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1441 |
+
},
|
| 1442 |
+
{
|
| 1443 |
+
"method": "GET",
|
| 1444 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1445 |
+
},
|
| 1446 |
+
{
|
| 1447 |
+
"method": "GET",
|
| 1448 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1449 |
+
},
|
| 1450 |
+
{
|
| 1451 |
+
"method": "GET",
|
| 1452 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1453 |
+
},
|
| 1454 |
+
{
|
| 1455 |
+
"method": "GET",
|
| 1456 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1457 |
+
},
|
| 1458 |
+
{
|
| 1459 |
+
"method": "GET",
|
| 1460 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1461 |
+
},
|
| 1462 |
+
{
|
| 1463 |
+
"method": "GET",
|
| 1464 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1465 |
+
},
|
| 1466 |
+
{
|
| 1467 |
+
"method": "GET",
|
| 1468 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1469 |
+
},
|
| 1470 |
+
{
|
| 1471 |
+
"method": "GET",
|
| 1472 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1473 |
+
},
|
| 1474 |
+
{
|
| 1475 |
+
"method": "GET",
|
| 1476 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1477 |
+
},
|
| 1478 |
+
{
|
| 1479 |
+
"method": "GET",
|
| 1480 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1481 |
+
},
|
| 1482 |
+
{
|
| 1483 |
+
"method": "GET",
|
| 1484 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1485 |
+
},
|
| 1486 |
+
{
|
| 1487 |
+
"method": "GET",
|
| 1488 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1489 |
+
},
|
| 1490 |
+
{
|
| 1491 |
+
"method": "GET",
|
| 1492 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1493 |
+
},
|
| 1494 |
+
{
|
| 1495 |
+
"method": "GET",
|
| 1496 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1497 |
+
},
|
| 1498 |
+
{
|
| 1499 |
+
"method": "GET",
|
| 1500 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1501 |
+
},
|
| 1502 |
+
{
|
| 1503 |
+
"method": "GET",
|
| 1504 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1505 |
+
},
|
| 1506 |
+
{
|
| 1507 |
+
"method": "GET",
|
| 1508 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1509 |
+
},
|
| 1510 |
+
{
|
| 1511 |
+
"method": "GET",
|
| 1512 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1513 |
+
},
|
| 1514 |
+
{
|
| 1515 |
+
"method": "GET",
|
| 1516 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1517 |
+
},
|
| 1518 |
+
{
|
| 1519 |
+
"method": "GET",
|
| 1520 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1521 |
+
},
|
| 1522 |
+
{
|
| 1523 |
+
"method": "GET",
|
| 1524 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1525 |
+
},
|
| 1526 |
+
{
|
| 1527 |
+
"method": "GET",
|
| 1528 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1529 |
+
},
|
| 1530 |
+
{
|
| 1531 |
+
"method": "GET",
|
| 1532 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1533 |
+
},
|
| 1534 |
+
{
|
| 1535 |
+
"method": "GET",
|
| 1536 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1537 |
+
},
|
| 1538 |
+
{
|
| 1539 |
+
"method": "GET",
|
| 1540 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_5"
|
| 1541 |
+
},
|
| 1542 |
+
{
|
| 1543 |
+
"method": "GET",
|
| 1544 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1545 |
+
},
|
| 1546 |
+
{
|
| 1547 |
+
"method": "GET",
|
| 1548 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1549 |
+
},
|
| 1550 |
+
{
|
| 1551 |
+
"method": "GET",
|
| 1552 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1553 |
+
},
|
| 1554 |
+
{
|
| 1555 |
+
"method": "GET",
|
| 1556 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/8c4fb5353058c6f2547bace278d9762247d6b27b2531cab69f082188ee3a6d03"
|
| 1557 |
+
},
|
| 1558 |
+
{
|
| 1559 |
+
"method": "GET",
|
| 1560 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1561 |
+
},
|
| 1562 |
+
{
|
| 1563 |
+
"method": "GET",
|
| 1564 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_4"
|
| 1565 |
+
},
|
| 1566 |
+
{
|
| 1567 |
+
"method": "GET",
|
| 1568 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1569 |
+
},
|
| 1570 |
+
{
|
| 1571 |
+
"method": "GET",
|
| 1572 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1573 |
+
},
|
| 1574 |
+
{
|
| 1575 |
+
"method": "GET",
|
| 1576 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/2c345ee4afbc00c2535bc2b3fe98ba940ccc90e4f184146b748ac3258e710ba9"
|
| 1577 |
+
},
|
| 1578 |
+
{
|
| 1579 |
+
"method": "GET",
|
| 1580 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1581 |
+
},
|
| 1582 |
+
{
|
| 1583 |
+
"method": "GET",
|
| 1584 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1585 |
+
},
|
| 1586 |
+
{
|
| 1587 |
+
"method": "GET",
|
| 1588 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1589 |
+
},
|
| 1590 |
+
{
|
| 1591 |
+
"method": "GET",
|
| 1592 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_1"
|
| 1593 |
+
},
|
| 1594 |
+
{
|
| 1595 |
+
"method": "GET",
|
| 1596 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/f6c577616cce9f760b03dc02796f911d198f2b5745b2235a17a6d61e6b138826"
|
| 1597 |
+
},
|
| 1598 |
+
{
|
| 1599 |
+
"method": "GET",
|
| 1600 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1601 |
+
},
|
| 1602 |
+
{
|
| 1603 |
+
"method": "GET",
|
| 1604 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/special_tokens_map.json"
|
| 1605 |
+
},
|
| 1606 |
+
{
|
| 1607 |
+
"method": "GET",
|
| 1608 |
+
"url": "https://huggingface.co/api/resolve-cache/models/Mike0021/MiniCPM5-2B-ONNX/04a6c49fcba3a65a0351c92644c3a7e9d4343059/special_tokens_map.json"
|
| 1609 |
+
},
|
| 1610 |
+
{
|
| 1611 |
+
"method": "GET",
|
| 1612 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1613 |
+
},
|
| 1614 |
+
{
|
| 1615 |
+
"method": "GET",
|
| 1616 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_3"
|
| 1617 |
+
},
|
| 1618 |
+
{
|
| 1619 |
+
"method": "GET",
|
| 1620 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1621 |
+
},
|
| 1622 |
+
{
|
| 1623 |
+
"method": "GET",
|
| 1624 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1625 |
+
},
|
| 1626 |
+
{
|
| 1627 |
+
"method": "GET",
|
| 1628 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/b99307c20dfe26410daf8530ca3e8f1f027053d97d29dee5f07b5e563bbe1661"
|
| 1629 |
+
},
|
| 1630 |
+
{
|
| 1631 |
+
"method": "GET",
|
| 1632 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1633 |
+
},
|
| 1634 |
+
{
|
| 1635 |
+
"method": "GET",
|
| 1636 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/tokenizer.json"
|
| 1637 |
+
},
|
| 1638 |
+
{
|
| 1639 |
+
"method": "GET",
|
| 1640 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1641 |
+
},
|
| 1642 |
+
{
|
| 1643 |
+
"method": "GET",
|
| 1644 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1645 |
+
},
|
| 1646 |
+
{
|
| 1647 |
+
"method": "GET",
|
| 1648 |
+
"url": "https://huggingface.co/api/resolve-cache/models/Mike0021/MiniCPM5-2B-ONNX/04a6c49fcba3a65a0351c92644c3a7e9d4343059/tokenizer.json"
|
| 1649 |
+
},
|
| 1650 |
+
{
|
| 1651 |
+
"method": "GET",
|
| 1652 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/tokenizer_config.json"
|
| 1653 |
+
},
|
| 1654 |
+
{
|
| 1655 |
+
"method": "GET",
|
| 1656 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1657 |
+
},
|
| 1658 |
+
{
|
| 1659 |
+
"method": "GET",
|
| 1660 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1661 |
+
},
|
| 1662 |
+
{
|
| 1663 |
+
"method": "GET",
|
| 1664 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1665 |
+
},
|
| 1666 |
+
{
|
| 1667 |
+
"method": "GET",
|
| 1668 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1669 |
+
},
|
| 1670 |
+
{
|
| 1671 |
+
"method": "GET",
|
| 1672 |
+
"url": "https://huggingface.co/api/resolve-cache/models/Mike0021/MiniCPM5-2B-ONNX/04a6c49fcba3a65a0351c92644c3a7e9d4343059/tokenizer_config.json"
|
| 1673 |
+
},
|
| 1674 |
+
{
|
| 1675 |
+
"method": "GET",
|
| 1676 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1677 |
+
},
|
| 1678 |
+
{
|
| 1679 |
+
"method": "GET",
|
| 1680 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1681 |
+
},
|
| 1682 |
+
{
|
| 1683 |
+
"method": "GET",
|
| 1684 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1685 |
+
},
|
| 1686 |
+
{
|
| 1687 |
+
"method": "GET",
|
| 1688 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1689 |
+
},
|
| 1690 |
+
{
|
| 1691 |
+
"method": "GET",
|
| 1692 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_2"
|
| 1693 |
+
},
|
| 1694 |
+
{
|
| 1695 |
+
"method": "GET",
|
| 1696 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/688199beb434d603538a939e78a574b219b3616de42861a0f92aa89433f4b9ff"
|
| 1697 |
+
},
|
| 1698 |
+
{
|
| 1699 |
+
"method": "GET",
|
| 1700 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1701 |
+
},
|
| 1702 |
+
{
|
| 1703 |
+
"method": "GET",
|
| 1704 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data"
|
| 1705 |
+
},
|
| 1706 |
+
{
|
| 1707 |
+
"method": "GET",
|
| 1708 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1709 |
+
},
|
| 1710 |
+
{
|
| 1711 |
+
"method": "GET",
|
| 1712 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/ebce7136d9519023682d2df1caa1943ec6985f90484abe76d2f78a931d4f9126"
|
| 1713 |
+
},
|
| 1714 |
+
{
|
| 1715 |
+
"method": "GET",
|
| 1716 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1717 |
+
},
|
| 1718 |
+
{
|
| 1719 |
+
"method": "GET",
|
| 1720 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1721 |
+
},
|
| 1722 |
+
{
|
| 1723 |
+
"method": "GET",
|
| 1724 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1725 |
+
},
|
| 1726 |
+
{
|
| 1727 |
+
"method": "GET",
|
| 1728 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1729 |
+
},
|
| 1730 |
+
{
|
| 1731 |
+
"method": "GET",
|
| 1732 |
+
"url": "https://huggingface.co/Mike0021/MiniCPM5-2B-ONNX/resolve/04a6c49fcba3a65a0351c92644c3a7e9d4343059/onnx/model_q4f16.onnx_data_6"
|
| 1733 |
+
},
|
| 1734 |
+
{
|
| 1735 |
+
"method": "GET",
|
| 1736 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fe6828eb6c14fb5ababe/fe3e3e1588d2bb4a9cf9f4258ee44b46809015b57e249d11335ccff31d1c55c6"
|
| 1737 |
+
},
|
| 1738 |
+
{
|
| 1739 |
+
"method": "GET",
|
| 1740 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/runtime/ort-wasm-simd-threaded.asyncify.mjs"
|
| 1741 |
+
},
|
| 1742 |
+
{
|
| 1743 |
+
"method": "GET",
|
| 1744 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/runtime/ort-wasm-simd-threaded.asyncify.wasm"
|
| 1745 |
+
},
|
| 1746 |
+
{
|
| 1747 |
+
"method": "GET",
|
| 1748 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fdce82b0184786867f6c/dbdc36cbbfa9bd9e75ef879030847103543637f658cc35413dbaae5184c11296"
|
| 1749 |
+
},
|
| 1750 |
+
{
|
| 1751 |
+
"method": "GET",
|
| 1752 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/index.html"
|
| 1753 |
+
},
|
| 1754 |
+
{
|
| 1755 |
+
"method": "GET",
|
| 1756 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/assets/index-DEv7Wfck.js"
|
| 1757 |
+
},
|
| 1758 |
+
{
|
| 1759 |
+
"method": "GET",
|
| 1760 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/assets/index-7QEZgEhG.css"
|
| 1761 |
+
},
|
| 1762 |
+
{
|
| 1763 |
+
"method": "GET",
|
| 1764 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/assets/agent.worker-DqQzo9yL.js"
|
| 1765 |
+
},
|
| 1766 |
+
{
|
| 1767 |
+
"method": "GET",
|
| 1768 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/favicon.svg"
|
| 1769 |
+
},
|
| 1770 |
+
{
|
| 1771 |
+
"method": "GET",
|
| 1772 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/runtime/ort-wasm-simd-threaded.asyncify.mjs"
|
| 1773 |
+
},
|
| 1774 |
+
{
|
| 1775 |
+
"method": "GET",
|
| 1776 |
+
"url": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/runtime/ort-wasm-simd-threaded.asyncify.wasm"
|
| 1777 |
+
},
|
| 1778 |
+
{
|
| 1779 |
+
"method": "GET",
|
| 1780 |
+
"url": "https://us.aws.cdn.hf.co/xet-bridge-us/6aa3fdce82b0184786867f6c/dbdc36cbbfa9bd9e75ef879030847103543637f658cc35413dbaae5184c11296"
|
| 1781 |
+
}
|
| 1782 |
+
],
|
| 1783 |
+
"coldLoadMs": 83458,
|
| 1784 |
+
"device": {
|
| 1785 |
+
"vendor": "amd",
|
| 1786 |
+
"architecture": "rdna-3",
|
| 1787 |
+
"maxStorageBufferBindingSize": 4294967292,
|
| 1788 |
+
"features": [
|
| 1789 |
+
"depth32float-stencil8",
|
| 1790 |
+
"chromium-experimental-subgroup-matrix",
|
| 1791 |
+
"rg11b10ufloat-renderable",
|
| 1792 |
+
"bgra8unorm-storage",
|
| 1793 |
+
"texture-formats-tier1",
|
| 1794 |
+
"chromium-experimental-multi-draw-indirect",
|
| 1795 |
+
"texture-compression-bc",
|
| 1796 |
+
"dual-source-blending",
|
| 1797 |
+
"core-features-and-limits",
|
| 1798 |
+
"chromium-experimental-sampling-resource-table",
|
| 1799 |
+
"chromium-experimental-timestamp-query-inside-passes",
|
| 1800 |
+
"float32-filterable",
|
| 1801 |
+
"indirect-first-instance",
|
| 1802 |
+
"float32-blendable",
|
| 1803 |
+
"subgroup-size-control",
|
| 1804 |
+
"texture-compression-unaligned",
|
| 1805 |
+
"depth-clip-control",
|
| 1806 |
+
"texture-compression-bc-sliced-3d",
|
| 1807 |
+
"clip-distances",
|
| 1808 |
+
"shader-f16",
|
| 1809 |
+
"texture-formats-tier2",
|
| 1810 |
+
"timestamp-query",
|
| 1811 |
+
"primitive-index",
|
| 1812 |
+
"texture-component-swizzle",
|
| 1813 |
+
"subgroups"
|
| 1814 |
+
],
|
| 1815 |
+
"actualLimits": {
|
| 1816 |
+
"maxStorageBufferBindingSize": 4294967292,
|
| 1817 |
+
"maxBufferSize": 4294967292
|
| 1818 |
+
}
|
| 1819 |
+
},
|
| 1820 |
+
"cancellation": {
|
| 1821 |
+
"passed": true,
|
| 1822 |
+
"completedGenerations": 0
|
| 1823 |
+
},
|
| 1824 |
+
"diagnostics": {
|
| 1825 |
+
"events": [
|
| 1826 |
+
"agent_start",
|
| 1827 |
+
"turn_start",
|
| 1828 |
+
"message_start",
|
| 1829 |
+
"message_end",
|
| 1830 |
+
"message_start",
|
| 1831 |
+
"message_update",
|
| 1832 |
+
"message_update",
|
| 1833 |
+
"message_end",
|
| 1834 |
+
"tool_execution_start",
|
| 1835 |
+
"tool_execution_end",
|
| 1836 |
+
"message_start",
|
| 1837 |
+
"message_end",
|
| 1838 |
+
"turn_end",
|
| 1839 |
+
"turn_start",
|
| 1840 |
+
"message_start",
|
| 1841 |
+
"message_update",
|
| 1842 |
+
"message_update",
|
| 1843 |
+
"message_update",
|
| 1844 |
+
"message_update",
|
| 1845 |
+
"message_update",
|
| 1846 |
+
"message_update",
|
| 1847 |
+
"message_update",
|
| 1848 |
+
"message_update",
|
| 1849 |
+
"message_update",
|
| 1850 |
+
"message_end",
|
| 1851 |
+
"turn_end",
|
| 1852 |
+
"agent_end",
|
| 1853 |
+
"agent_start",
|
| 1854 |
+
"turn_start",
|
| 1855 |
+
"message_start",
|
| 1856 |
+
"message_end",
|
| 1857 |
+
"message_start",
|
| 1858 |
+
"message_update",
|
| 1859 |
+
"message_update",
|
| 1860 |
+
"message_end",
|
| 1861 |
+
"tool_execution_start",
|
| 1862 |
+
"tool_execution_end",
|
| 1863 |
+
"message_start",
|
| 1864 |
+
"message_end",
|
| 1865 |
+
"turn_end",
|
| 1866 |
+
"turn_start",
|
| 1867 |
+
"message_start",
|
| 1868 |
+
"message_update",
|
| 1869 |
+
"message_update",
|
| 1870 |
+
"message_end",
|
| 1871 |
+
"tool_execution_start",
|
| 1872 |
+
"tool_execution_end",
|
| 1873 |
+
"message_start",
|
| 1874 |
+
"message_end",
|
| 1875 |
+
"turn_end",
|
| 1876 |
+
"turn_start",
|
| 1877 |
+
"message_start",
|
| 1878 |
+
"message_update",
|
| 1879 |
+
"message_update",
|
| 1880 |
+
"message_end",
|
| 1881 |
+
"tool_execution_start",
|
| 1882 |
+
"tool_execution_end",
|
| 1883 |
+
"message_start",
|
| 1884 |
+
"message_end",
|
| 1885 |
+
"turn_end",
|
| 1886 |
+
"turn_start",
|
| 1887 |
+
"message_start",
|
| 1888 |
+
"message_update",
|
| 1889 |
+
"message_update",
|
| 1890 |
+
"message_end",
|
| 1891 |
+
"tool_execution_start",
|
| 1892 |
+
"tool_execution_end",
|
| 1893 |
+
"message_start",
|
| 1894 |
+
"message_end",
|
| 1895 |
+
"turn_end",
|
| 1896 |
+
"turn_start",
|
| 1897 |
+
"message_start",
|
| 1898 |
+
"message_update",
|
| 1899 |
+
"message_update",
|
| 1900 |
+
"message_update",
|
| 1901 |
+
"message_update",
|
| 1902 |
+
"message_update",
|
| 1903 |
+
"message_update",
|
| 1904 |
+
"message_update",
|
| 1905 |
+
"message_update",
|
| 1906 |
+
"message_update",
|
| 1907 |
+
"message_update",
|
| 1908 |
+
"message_update",
|
| 1909 |
+
"message_update",
|
| 1910 |
+
"message_update",
|
| 1911 |
+
"message_update",
|
| 1912 |
+
"message_update",
|
| 1913 |
+
"message_update",
|
| 1914 |
+
"message_update",
|
| 1915 |
+
"message_update",
|
| 1916 |
+
"message_update",
|
| 1917 |
+
"message_update",
|
| 1918 |
+
"message_end",
|
| 1919 |
+
"turn_end",
|
| 1920 |
+
"agent_end",
|
| 1921 |
+
"agent_start",
|
| 1922 |
+
"turn_start",
|
| 1923 |
+
"message_start",
|
| 1924 |
+
"message_end",
|
| 1925 |
+
"message_start",
|
| 1926 |
+
"message_update",
|
| 1927 |
+
"message_update",
|
| 1928 |
+
"message_end",
|
| 1929 |
+
"tool_execution_start",
|
| 1930 |
+
"tool_execution_end",
|
| 1931 |
+
"message_start",
|
| 1932 |
+
"message_end",
|
| 1933 |
+
"turn_end",
|
| 1934 |
+
"turn_start",
|
| 1935 |
+
"message_start",
|
| 1936 |
+
"message_update",
|
| 1937 |
+
"message_update",
|
| 1938 |
+
"message_end",
|
| 1939 |
+
"tool_execution_start",
|
| 1940 |
+
"tool_execution_end",
|
| 1941 |
+
"message_start",
|
| 1942 |
+
"message_end",
|
| 1943 |
+
"turn_end",
|
| 1944 |
+
"turn_start",
|
| 1945 |
+
"message_start",
|
| 1946 |
+
"message_update",
|
| 1947 |
+
"message_update",
|
| 1948 |
+
"message_update",
|
| 1949 |
+
"message_update",
|
| 1950 |
+
"message_update",
|
| 1951 |
+
"message_update",
|
| 1952 |
+
"message_update",
|
| 1953 |
+
"message_update",
|
| 1954 |
+
"message_update",
|
| 1955 |
+
"message_update",
|
| 1956 |
+
"message_update",
|
| 1957 |
+
"message_update",
|
| 1958 |
+
"message_update",
|
| 1959 |
+
"message_update",
|
| 1960 |
+
"message_update",
|
| 1961 |
+
"message_update",
|
| 1962 |
+
"message_update",
|
| 1963 |
+
"message_update",
|
| 1964 |
+
"message_update",
|
| 1965 |
+
"message_update",
|
| 1966 |
+
"message_update",
|
| 1967 |
+
"message_update",
|
| 1968 |
+
"message_update",
|
| 1969 |
+
"message_update",
|
| 1970 |
+
"message_update",
|
| 1971 |
+
"message_end",
|
| 1972 |
+
"turn_end",
|
| 1973 |
+
"agent_end",
|
| 1974 |
+
"agent_start",
|
| 1975 |
+
"turn_start",
|
| 1976 |
+
"message_start",
|
| 1977 |
+
"message_end",
|
| 1978 |
+
"message_start",
|
| 1979 |
+
"message_update",
|
| 1980 |
+
"message_update",
|
| 1981 |
+
"message_end",
|
| 1982 |
+
"tool_execution_start",
|
| 1983 |
+
"tool_execution_end",
|
| 1984 |
+
"message_start",
|
| 1985 |
+
"message_end",
|
| 1986 |
+
"turn_end",
|
| 1987 |
+
"turn_start",
|
| 1988 |
+
"message_start",
|
| 1989 |
+
"message_update",
|
| 1990 |
+
"message_update",
|
| 1991 |
+
"message_end",
|
| 1992 |
+
"tool_execution_start",
|
| 1993 |
+
"tool_execution_end",
|
| 1994 |
+
"message_start",
|
| 1995 |
+
"message_end",
|
| 1996 |
+
"turn_end",
|
| 1997 |
+
"turn_start",
|
| 1998 |
+
"message_start",
|
| 1999 |
+
"message_update",
|
| 2000 |
+
"message_update",
|
| 2001 |
+
"message_end",
|
| 2002 |
+
"tool_execution_start",
|
| 2003 |
+
"tool_execution_end",
|
| 2004 |
+
"message_start",
|
| 2005 |
+
"message_end",
|
| 2006 |
+
"turn_end",
|
| 2007 |
+
"turn_start",
|
| 2008 |
+
"message_start",
|
| 2009 |
+
"message_update",
|
| 2010 |
+
"message_update",
|
| 2011 |
+
"message_update",
|
| 2012 |
+
"message_update",
|
| 2013 |
+
"message_update",
|
| 2014 |
+
"message_update",
|
| 2015 |
+
"message_update",
|
| 2016 |
+
"message_update",
|
| 2017 |
+
"message_update",
|
| 2018 |
+
"message_update",
|
| 2019 |
+
"message_update",
|
| 2020 |
+
"message_end",
|
| 2021 |
+
"turn_end",
|
| 2022 |
+
"agent_end",
|
| 2023 |
+
"agent_start",
|
| 2024 |
+
"turn_start",
|
| 2025 |
+
"message_start",
|
| 2026 |
+
"message_end",
|
| 2027 |
+
"message_start",
|
| 2028 |
+
"message_update",
|
| 2029 |
+
"message_update",
|
| 2030 |
+
"message_end",
|
| 2031 |
+
"tool_execution_start",
|
| 2032 |
+
"tool_execution_end",
|
| 2033 |
+
"message_start",
|
| 2034 |
+
"message_end",
|
| 2035 |
+
"turn_end",
|
| 2036 |
+
"turn_start",
|
| 2037 |
+
"message_start",
|
| 2038 |
+
"message_update",
|
| 2039 |
+
"message_update",
|
| 2040 |
+
"message_end",
|
| 2041 |
+
"tool_execution_start",
|
| 2042 |
+
"tool_execution_end",
|
| 2043 |
+
"message_start",
|
| 2044 |
+
"message_end",
|
| 2045 |
+
"turn_end",
|
| 2046 |
+
"turn_start",
|
| 2047 |
+
"message_start",
|
| 2048 |
+
"message_update",
|
| 2049 |
+
"message_update",
|
| 2050 |
+
"message_end",
|
| 2051 |
+
"tool_execution_start",
|
| 2052 |
+
"tool_execution_end",
|
| 2053 |
+
"message_start",
|
| 2054 |
+
"message_end",
|
| 2055 |
+
"turn_end",
|
| 2056 |
+
"turn_start",
|
| 2057 |
+
"message_start",
|
| 2058 |
+
"message_update",
|
| 2059 |
+
"message_update",
|
| 2060 |
+
"message_update",
|
| 2061 |
+
"message_update",
|
| 2062 |
+
"message_update",
|
| 2063 |
+
"message_update",
|
| 2064 |
+
"message_update",
|
| 2065 |
+
"message_update",
|
| 2066 |
+
"message_update",
|
| 2067 |
+
"message_update",
|
| 2068 |
+
"message_update",
|
| 2069 |
+
"message_update",
|
| 2070 |
+
"message_update",
|
| 2071 |
+
"message_update",
|
| 2072 |
+
"message_update",
|
| 2073 |
+
"message_update",
|
| 2074 |
+
"message_update",
|
| 2075 |
+
"message_update",
|
| 2076 |
+
"message_update",
|
| 2077 |
+
"message_update",
|
| 2078 |
+
"message_update",
|
| 2079 |
+
"message_update",
|
| 2080 |
+
"message_update",
|
| 2081 |
+
"message_update",
|
| 2082 |
+
"message_update",
|
| 2083 |
+
"message_update",
|
| 2084 |
+
"message_update",
|
| 2085 |
+
"message_update",
|
| 2086 |
+
"message_update",
|
| 2087 |
+
"message_update",
|
| 2088 |
+
"message_update",
|
| 2089 |
+
"message_end",
|
| 2090 |
+
"turn_end",
|
| 2091 |
+
"agent_end",
|
| 2092 |
+
"agent_start",
|
| 2093 |
+
"turn_start",
|
| 2094 |
+
"message_start",
|
| 2095 |
+
"message_end",
|
| 2096 |
+
"message_start",
|
| 2097 |
+
"message_update",
|
| 2098 |
+
"message_update",
|
| 2099 |
+
"message_update",
|
| 2100 |
+
"message_update",
|
| 2101 |
+
"message_update",
|
| 2102 |
+
"message_update",
|
| 2103 |
+
"message_end",
|
| 2104 |
+
"turn_end",
|
| 2105 |
+
"agent_end"
|
| 2106 |
+
],
|
| 2107 |
+
"generations": [
|
| 2108 |
+
{
|
| 2109 |
+
"type": "generation",
|
| 2110 |
+
"raw": "<function name=\"read\"><param name=\"path\">/workspace/secret.txt</param></function><|im_end|>",
|
| 2111 |
+
"inputTokens": 717,
|
| 2112 |
+
"outputTokens": 18,
|
| 2113 |
+
"elapsedMs": 1037.6000000238419,
|
| 2114 |
+
"firstTokenMs": 675.1000000238419,
|
| 2115 |
+
"stopReason": "toolUse"
|
| 2116 |
+
},
|
| 2117 |
+
{
|
| 2118 |
+
"type": "generation",
|
| 2119 |
+
"raw": "The file secret.txt contains the text: `LOCAL-2bad09e5`<|im_end|>",
|
| 2120 |
+
"inputTokens": 772,
|
| 2121 |
+
"outputTokens": 19,
|
| 2122 |
+
"elapsedMs": 1029.800000011921,
|
| 2123 |
+
"firstTokenMs": 689.5,
|
| 2124 |
+
"stopReason": "stop"
|
| 2125 |
+
},
|
| 2126 |
+
{
|
| 2127 |
+
"type": "generation",
|
| 2128 |
+
"raw": "<function name=\"read\"><param name=\"path\">/workspace/sales.csv</param></function><|im_end|>",
|
| 2129 |
+
"inputTokens": 726,
|
| 2130 |
+
"outputTokens": 18,
|
| 2131 |
+
"elapsedMs": 953.4000000059605,
|
| 2132 |
+
"firstTokenMs": 651.3000000119209,
|
| 2133 |
+
"stopReason": "toolUse"
|
| 2134 |
+
},
|
| 2135 |
+
{
|
| 2136 |
+
"type": "generation",
|
| 2137 |
+
"raw": "<function name=\"bash\"><param name=\"command\"><![CDATA[awk -F',' 'NR>1 {rev=$2*$3; total+=rev; print $1,$2,$3,\"->\",$2,\"x\",$3,\"=\",rev} END {print \"TOTAL REVENUE:\", total}' sales.csv > revenue.txt && cat revenue.txt]]></param></function><|im_end|>",
|
| 2138 |
+
"inputTokens": 798,
|
| 2139 |
+
"outputTokens": 78,
|
| 2140 |
+
"elapsedMs": 2018.800000011921,
|
| 2141 |
+
"firstTokenMs": 684.9000000059605,
|
| 2142 |
+
"stopReason": "toolUse"
|
| 2143 |
+
},
|
| 2144 |
+
{
|
| 2145 |
+
"type": "generation",
|
| 2146 |
+
"raw": "<function name=\"write\"><param name=\"path\">report.md</param><param name=\"content\"><![CDATA[# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n]]></param></function><|im_end|>",
|
| 2147 |
+
"inputTokens": 964,
|
| 2148 |
+
"outputTokens": 79,
|
| 2149 |
+
"elapsedMs": 2190.800000011921,
|
| 2150 |
+
"firstTokenMs": 837.2000000178814,
|
| 2151 |
+
"stopReason": "toolUse"
|
| 2152 |
+
},
|
| 2153 |
+
{
|
| 2154 |
+
"type": "generation",
|
| 2155 |
+
"raw": "<function name=\"read\"><param name=\"path\">/workspace/report.md</param></function><|im_end|>",
|
| 2156 |
+
"inputTokens": 1079,
|
| 2157 |
+
"outputTokens": 18,
|
| 2158 |
+
"elapsedMs": 1224.5999999940395,
|
| 2159 |
+
"firstTokenMs": 914.3000000119209,
|
| 2160 |
+
"stopReason": "toolUse"
|
| 2161 |
+
},
|
| 2162 |
+
{
|
| 2163 |
+
"type": "generation",
|
| 2164 |
+
"raw": "Done. The report is saved at `/workspace/report.md` with total revenue of $144 (Notebook $60, Pencil $60, Folder $24).<|im_end|>",
|
| 2165 |
+
"inputTokens": 1180,
|
| 2166 |
+
"outputTokens": 35,
|
| 2167 |
+
"elapsedMs": 1618.199999988079,
|
| 2168 |
+
"firstTokenMs": 1003.8999999761581,
|
| 2169 |
+
"stopReason": "stop"
|
| 2170 |
+
},
|
| 2171 |
+
{
|
| 2172 |
+
"type": "generation",
|
| 2173 |
+
"raw": "<function name=\"write\"><param name=\"path\">/workspace/hello.sh</param><param name=\"content\"><![CDATA[#!/bin/bash\necho \"Hello from the browser\"\n]]></param></function><|im_end|>",
|
| 2174 |
+
"inputTokens": 725,
|
| 2175 |
+
"outputTokens": 43,
|
| 2176 |
+
"elapsedMs": 1341.9000000059605,
|
| 2177 |
+
"firstTokenMs": 639.2000000178814,
|
| 2178 |
+
"stopReason": "toolUse"
|
| 2179 |
+
},
|
| 2180 |
+
{
|
| 2181 |
+
"type": "generation",
|
| 2182 |
+
"raw": "<function name=\"bash\"><param name=\"command\"><![CDATA[chmod +x /workspace/hello.sh && /workspace/hello.sh]]></param></function><|im_end|>",
|
| 2183 |
+
"inputTokens": 804,
|
| 2184 |
+
"outputTokens": 34,
|
| 2185 |
+
"elapsedMs": 1463,
|
| 2186 |
+
"firstTokenMs": 695.0999999940395,
|
| 2187 |
+
"stopReason": "toolUse"
|
| 2188 |
+
},
|
| 2189 |
+
{
|
| 2190 |
+
"type": "generation",
|
| 2191 |
+
"raw": "The script `/workspace/hello.sh` prints \"Hello from the browser\". Running it outputs:\n\n```\nHello from the browser\n```\n\nwith exit code 0.<|im_end|>",
|
| 2192 |
+
"inputTokens": 878,
|
| 2193 |
+
"outputTokens": 35,
|
| 2194 |
+
"elapsedMs": 1344.7000000178814,
|
| 2195 |
+
"firstTokenMs": 744.2000000178814,
|
| 2196 |
+
"stopReason": "stop"
|
| 2197 |
+
},
|
| 2198 |
+
{
|
| 2199 |
+
"type": "generation",
|
| 2200 |
+
"raw": "<function name=\"read\"><param name=\"path\">hello.sh</param></function><|im_end|>",
|
| 2201 |
+
"inputTokens": 731,
|
| 2202 |
+
"outputTokens": 15,
|
| 2203 |
+
"elapsedMs": 901.2999999821186,
|
| 2204 |
+
"firstTokenMs": 647.2999999821186,
|
| 2205 |
+
"stopReason": "toolUse"
|
| 2206 |
+
},
|
| 2207 |
+
{
|
| 2208 |
+
"type": "generation",
|
| 2209 |
+
"raw": "<function name=\"edit\"><param name=\"path\">hello.sh</param><param name=\"oldText\">echo \"Hello from the browser\"</param><param name=\"newText\">echo \"Hello from Pi\"</param></function><|im_end|>",
|
| 2210 |
+
"inputTokens": 790,
|
| 2211 |
+
"outputTokens": 42,
|
| 2212 |
+
"elapsedMs": 1396.0999999940395,
|
| 2213 |
+
"firstTokenMs": 686.7999999821186,
|
| 2214 |
+
"stopReason": "toolUse"
|
| 2215 |
+
},
|
| 2216 |
+
{
|
| 2217 |
+
"type": "generation",
|
| 2218 |
+
"raw": "<function name=\"bash\"><param name=\"command\"><![CDATA[chmod +x hello.sh && ./hello.sh]]></param></function><|im_end|>",
|
| 2219 |
+
"inputTokens": 867,
|
| 2220 |
+
"outputTokens": 29,
|
| 2221 |
+
"elapsedMs": 1247.4000000059605,
|
| 2222 |
+
"firstTokenMs": 762,
|
| 2223 |
+
"stopReason": "toolUse"
|
| 2224 |
+
},
|
| 2225 |
+
{
|
| 2226 |
+
"type": "generation",
|
| 2227 |
+
"raw": "The script now outputs \"Hello from Pi\" when run.<|im_end|>",
|
| 2228 |
+
"inputTokens": 935,
|
| 2229 |
+
"outputTokens": 13,
|
| 2230 |
+
"elapsedMs": 1024.0999999940395,
|
| 2231 |
+
"firstTokenMs": 803.6999999880791,
|
| 2232 |
+
"stopReason": "stop"
|
| 2233 |
+
},
|
| 2234 |
+
{
|
| 2235 |
+
"type": "generation",
|
| 2236 |
+
"raw": "<function name=\"read\"><param name=\"path\">/workspace/missing.txt</param></function><|im_end|>",
|
| 2237 |
+
"inputTokens": 733,
|
| 2238 |
+
"outputTokens": 18,
|
| 2239 |
+
"elapsedMs": 958.5,
|
| 2240 |
+
"firstTokenMs": 646.5999999940395,
|
| 2241 |
+
"stopReason": "toolUse"
|
| 2242 |
+
},
|
| 2243 |
+
{
|
| 2244 |
+
"type": "generation",
|
| 2245 |
+
"raw": "<function name=\"write\"><param name=\"path\">/workspace/missing.txt</param><param name=\"content\"><![CDATA[Recovered]]></param></function><|im_end|>",
|
| 2246 |
+
"inputTokens": 796,
|
| 2247 |
+
"outputTokens": 32,
|
| 2248 |
+
"elapsedMs": 1266.7000000178814,
|
| 2249 |
+
"firstTokenMs": 702.5,
|
| 2250 |
+
"stopReason": "toolUse"
|
| 2251 |
+
},
|
| 2252 |
+
{
|
| 2253 |
+
"type": "generation",
|
| 2254 |
+
"raw": "<function name=\"read\"><param name=\"path\">/workspace/missing.txt</param></function><|im_end|>",
|
| 2255 |
+
"inputTokens": 858,
|
| 2256 |
+
"outputTokens": 18,
|
| 2257 |
+
"elapsedMs": 1074.199999988079,
|
| 2258 |
+
"firstTokenMs": 754.0999999940395,
|
| 2259 |
+
"stopReason": "toolUse"
|
| 2260 |
+
},
|
| 2261 |
+
{
|
| 2262 |
+
"type": "generation",
|
| 2263 |
+
"raw": "The file `/workspace/missing.txt` did not exist, so I created it with the exact text \"Recovered\" and verified it by reading the file back, which confirms the content is \"Recovered\".<|im_end|>",
|
| 2264 |
+
"inputTokens": 907,
|
| 2265 |
+
"outputTokens": 43,
|
| 2266 |
+
"elapsedMs": 1720,
|
| 2267 |
+
"firstTokenMs": 822,
|
| 2268 |
+
"stopReason": "stop"
|
| 2269 |
+
}
|
| 2270 |
+
],
|
| 2271 |
+
"device": {
|
| 2272 |
+
"vendor": "amd",
|
| 2273 |
+
"architecture": "rdna-3",
|
| 2274 |
+
"maxStorageBufferBindingSize": 4294967292,
|
| 2275 |
+
"features": [
|
| 2276 |
+
"depth32float-stencil8",
|
| 2277 |
+
"chromium-experimental-subgroup-matrix",
|
| 2278 |
+
"rg11b10ufloat-renderable",
|
| 2279 |
+
"bgra8unorm-storage",
|
| 2280 |
+
"texture-formats-tier1",
|
| 2281 |
+
"chromium-experimental-multi-draw-indirect",
|
| 2282 |
+
"texture-compression-bc",
|
| 2283 |
+
"dual-source-blending",
|
| 2284 |
+
"core-features-and-limits",
|
| 2285 |
+
"chromium-experimental-sampling-resource-table",
|
| 2286 |
+
"chromium-experimental-timestamp-query-inside-passes",
|
| 2287 |
+
"float32-filterable",
|
| 2288 |
+
"indirect-first-instance",
|
| 2289 |
+
"float32-blendable",
|
| 2290 |
+
"subgroup-size-control",
|
| 2291 |
+
"texture-compression-unaligned",
|
| 2292 |
+
"depth-clip-control",
|
| 2293 |
+
"texture-compression-bc-sliced-3d",
|
| 2294 |
+
"clip-distances",
|
| 2295 |
+
"shader-f16",
|
| 2296 |
+
"texture-formats-tier2",
|
| 2297 |
+
"timestamp-query",
|
| 2298 |
+
"primitive-index",
|
| 2299 |
+
"texture-component-swizzle",
|
| 2300 |
+
"subgroups"
|
| 2301 |
+
],
|
| 2302 |
+
"actualLimits": {
|
| 2303 |
+
"maxStorageBufferBindingSize": 4294967292,
|
| 2304 |
+
"maxBufferSize": 4294967292
|
| 2305 |
+
}
|
| 2306 |
+
}
|
| 2307 |
+
},
|
| 2308 |
+
"editorAndShell": true,
|
| 2309 |
+
"requestsDuringOfflineTasks": [],
|
| 2310 |
+
"warmLoadMs": 4192,
|
| 2311 |
+
"reloadWeightRequests": [],
|
| 2312 |
+
"mobileLayout": "390 × 844; desktop GPU, not a mobile hardware test",
|
| 2313 |
+
"passed": true
|
| 2314 |
+
}
|
validation/agent-space-embedded.json
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"date": "2026-09-11T15:31:57.286Z",
|
| 3 |
+
"url": "https://huggingface.co/spaces/Mike0021/MiniCPM5-2B-WebGPU",
|
| 4 |
+
"frameUrl": "https://mike0021-minicpm5-2b-webgpu.static.hf.space/index.html",
|
| 5 |
+
"loadMs": 80601,
|
| 6 |
+
"device": {
|
| 7 |
+
"vendor": "amd",
|
| 8 |
+
"architecture": "rdna-3",
|
| 9 |
+
"maxStorageBufferBindingSize": 4294967292,
|
| 10 |
+
"features": [
|
| 11 |
+
"depth32float-stencil8",
|
| 12 |
+
"chromium-experimental-subgroup-matrix",
|
| 13 |
+
"rg11b10ufloat-renderable",
|
| 14 |
+
"bgra8unorm-storage",
|
| 15 |
+
"texture-formats-tier1",
|
| 16 |
+
"chromium-experimental-multi-draw-indirect",
|
| 17 |
+
"texture-compression-bc",
|
| 18 |
+
"dual-source-blending",
|
| 19 |
+
"core-features-and-limits",
|
| 20 |
+
"chromium-experimental-sampling-resource-table",
|
| 21 |
+
"chromium-experimental-timestamp-query-inside-passes",
|
| 22 |
+
"float32-filterable",
|
| 23 |
+
"indirect-first-instance",
|
| 24 |
+
"float32-blendable",
|
| 25 |
+
"subgroup-size-control",
|
| 26 |
+
"texture-compression-unaligned",
|
| 27 |
+
"depth-clip-control",
|
| 28 |
+
"texture-compression-bc-sliced-3d",
|
| 29 |
+
"clip-distances",
|
| 30 |
+
"shader-f16",
|
| 31 |
+
"texture-formats-tier2",
|
| 32 |
+
"timestamp-query",
|
| 33 |
+
"primitive-index",
|
| 34 |
+
"texture-component-swizzle",
|
| 35 |
+
"subgroups"
|
| 36 |
+
],
|
| 37 |
+
"actualLimits": {
|
| 38 |
+
"maxStorageBufferBindingSize": 4294967292,
|
| 39 |
+
"maxBufferSize": 4294967292
|
| 40 |
+
}
|
| 41 |
+
},
|
| 42 |
+
"messages": [
|
| 43 |
+
{
|
| 44 |
+
"role": "user",
|
| 45 |
+
"content": [
|
| 46 |
+
{
|
| 47 |
+
"type": "text",
|
| 48 |
+
"text": "Read sales.csv, calculate total revenue using bash, and save a short report to report.md. Verify the file."
|
| 49 |
+
}
|
| 50 |
+
],
|
| 51 |
+
"timestamp": 1789140799794
|
| 52 |
+
},
|
| 53 |
+
{
|
| 54 |
+
"role": "assistant",
|
| 55 |
+
"api": "minicpm-webgpu",
|
| 56 |
+
"provider": "browser",
|
| 57 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 58 |
+
"timestamp": 1789140799796,
|
| 59 |
+
"content": [
|
| 60 |
+
{
|
| 61 |
+
"type": "toolCall",
|
| 62 |
+
"id": "4da37ccd-476a-49d1-ade7-e4a7f0491d26",
|
| 63 |
+
"name": "read",
|
| 64 |
+
"arguments": {
|
| 65 |
+
"path": "/workspace/sales.csv"
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
],
|
| 69 |
+
"stopReason": "toolUse",
|
| 70 |
+
"usage": {
|
| 71 |
+
"input": 726,
|
| 72 |
+
"output": 18,
|
| 73 |
+
"cacheRead": 0,
|
| 74 |
+
"cacheWrite": 0,
|
| 75 |
+
"totalTokens": 744,
|
| 76 |
+
"cost": {
|
| 77 |
+
"input": 0,
|
| 78 |
+
"output": 0,
|
| 79 |
+
"cacheRead": 0,
|
| 80 |
+
"cacheWrite": 0,
|
| 81 |
+
"total": 0
|
| 82 |
+
}
|
| 83 |
+
}
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"role": "toolResult",
|
| 87 |
+
"toolCallId": "4da37ccd-476a-49d1-ade7-e4a7f0491d26",
|
| 88 |
+
"toolName": "read",
|
| 89 |
+
"content": [
|
| 90 |
+
{
|
| 91 |
+
"type": "text",
|
| 92 |
+
"text": "product,units,price\nNotebook,12,5\nPencil,30,2\nFolder,8,3\n"
|
| 93 |
+
}
|
| 94 |
+
],
|
| 95 |
+
"details": {},
|
| 96 |
+
"isError": false,
|
| 97 |
+
"timestamp": 1789140800848
|
| 98 |
+
},
|
| 99 |
+
{
|
| 100 |
+
"role": "assistant",
|
| 101 |
+
"api": "minicpm-webgpu",
|
| 102 |
+
"provider": "browser",
|
| 103 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 104 |
+
"timestamp": 1789140800848,
|
| 105 |
+
"content": [
|
| 106 |
+
{
|
| 107 |
+
"type": "toolCall",
|
| 108 |
+
"id": "aa0abe87-f0f0-4e1c-82c7-55739174513b",
|
| 109 |
+
"name": "bash",
|
| 110 |
+
"arguments": {
|
| 111 |
+
"command": "awk -F',' 'NR>1 {rev=$2*$3; total+=rev; print $1,$2,$3,\"->\",$2,\"x\",$3,\"=\",rev} END {print \"TOTAL REVENUE:\", total}' sales.csv > revenue.txt && cat revenue.txt"
|
| 112 |
+
}
|
| 113 |
+
}
|
| 114 |
+
],
|
| 115 |
+
"stopReason": "toolUse",
|
| 116 |
+
"usage": {
|
| 117 |
+
"input": 798,
|
| 118 |
+
"output": 78,
|
| 119 |
+
"cacheRead": 0,
|
| 120 |
+
"cacheWrite": 0,
|
| 121 |
+
"totalTokens": 876,
|
| 122 |
+
"cost": {
|
| 123 |
+
"input": 0,
|
| 124 |
+
"output": 0,
|
| 125 |
+
"cacheRead": 0,
|
| 126 |
+
"cacheWrite": 0,
|
| 127 |
+
"total": 0
|
| 128 |
+
}
|
| 129 |
+
}
|
| 130 |
+
},
|
| 131 |
+
{
|
| 132 |
+
"role": "toolResult",
|
| 133 |
+
"toolCallId": "aa0abe87-f0f0-4e1c-82c7-55739174513b",
|
| 134 |
+
"toolName": "bash",
|
| 135 |
+
"content": [
|
| 136 |
+
{
|
| 137 |
+
"type": "text",
|
| 138 |
+
"text": "Notebook 12 5 -> 12 x 5 = 60\nPencil 30 2 -> 30 x 2 = 60\nFolder 8 3 -> 8 x 3 = 24\nTOTAL REVENUE: 144\n\nExit code: 0"
|
| 139 |
+
}
|
| 140 |
+
],
|
| 141 |
+
"details": {
|
| 142 |
+
"exitCode": 0
|
| 143 |
+
},
|
| 144 |
+
"isError": false,
|
| 145 |
+
"timestamp": 1789140802902
|
| 146 |
+
},
|
| 147 |
+
{
|
| 148 |
+
"role": "assistant",
|
| 149 |
+
"api": "minicpm-webgpu",
|
| 150 |
+
"provider": "browser",
|
| 151 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 152 |
+
"timestamp": 1789140802902,
|
| 153 |
+
"content": [
|
| 154 |
+
{
|
| 155 |
+
"type": "toolCall",
|
| 156 |
+
"id": "0793dff1-da0e-4161-8f9b-e60ff5c0b7f5",
|
| 157 |
+
"name": "write",
|
| 158 |
+
"arguments": {
|
| 159 |
+
"path": "report.md",
|
| 160 |
+
"content": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n"
|
| 161 |
+
}
|
| 162 |
+
}
|
| 163 |
+
],
|
| 164 |
+
"stopReason": "toolUse",
|
| 165 |
+
"usage": {
|
| 166 |
+
"input": 964,
|
| 167 |
+
"output": 79,
|
| 168 |
+
"cacheRead": 0,
|
| 169 |
+
"cacheWrite": 0,
|
| 170 |
+
"totalTokens": 1043,
|
| 171 |
+
"cost": {
|
| 172 |
+
"input": 0,
|
| 173 |
+
"output": 0,
|
| 174 |
+
"cacheRead": 0,
|
| 175 |
+
"cacheWrite": 0,
|
| 176 |
+
"total": 0
|
| 177 |
+
}
|
| 178 |
+
}
|
| 179 |
+
},
|
| 180 |
+
{
|
| 181 |
+
"role": "toolResult",
|
| 182 |
+
"toolCallId": "0793dff1-da0e-4161-8f9b-e60ff5c0b7f5",
|
| 183 |
+
"toolName": "write",
|
| 184 |
+
"content": [
|
| 185 |
+
{
|
| 186 |
+
"type": "text",
|
| 187 |
+
"text": "Wrote /workspace/report.md"
|
| 188 |
+
}
|
| 189 |
+
],
|
| 190 |
+
"details": {},
|
| 191 |
+
"isError": false,
|
| 192 |
+
"timestamp": 1789140805095
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"role": "assistant",
|
| 196 |
+
"api": "minicpm-webgpu",
|
| 197 |
+
"provider": "browser",
|
| 198 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 199 |
+
"timestamp": 1789140805095,
|
| 200 |
+
"content": [
|
| 201 |
+
{
|
| 202 |
+
"type": "toolCall",
|
| 203 |
+
"id": "1cc1c94e-7edc-4232-8dec-e8e05596ecd8",
|
| 204 |
+
"name": "read",
|
| 205 |
+
"arguments": {
|
| 206 |
+
"path": "/workspace/report.md"
|
| 207 |
+
}
|
| 208 |
+
}
|
| 209 |
+
],
|
| 210 |
+
"stopReason": "toolUse",
|
| 211 |
+
"usage": {
|
| 212 |
+
"input": 1079,
|
| 213 |
+
"output": 18,
|
| 214 |
+
"cacheRead": 0,
|
| 215 |
+
"cacheWrite": 0,
|
| 216 |
+
"totalTokens": 1097,
|
| 217 |
+
"cost": {
|
| 218 |
+
"input": 0,
|
| 219 |
+
"output": 0,
|
| 220 |
+
"cacheRead": 0,
|
| 221 |
+
"cacheWrite": 0,
|
| 222 |
+
"total": 0
|
| 223 |
+
}
|
| 224 |
+
}
|
| 225 |
+
},
|
| 226 |
+
{
|
| 227 |
+
"role": "toolResult",
|
| 228 |
+
"toolCallId": "1cc1c94e-7edc-4232-8dec-e8e05596ecd8",
|
| 229 |
+
"toolName": "read",
|
| 230 |
+
"content": [
|
| 231 |
+
{
|
| 232 |
+
"type": "text",
|
| 233 |
+
"text": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n"
|
| 234 |
+
}
|
| 235 |
+
],
|
| 236 |
+
"details": {},
|
| 237 |
+
"isError": false,
|
| 238 |
+
"timestamp": 1789140806306
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"role": "assistant",
|
| 242 |
+
"api": "minicpm-webgpu",
|
| 243 |
+
"provider": "browser",
|
| 244 |
+
"model": "Mike0021/MiniCPM5-2B-ONNX",
|
| 245 |
+
"timestamp": 1789140806306,
|
| 246 |
+
"content": [
|
| 247 |
+
{
|
| 248 |
+
"type": "text",
|
| 249 |
+
"text": "Done. The report is saved at `/workspace/report.md` with total revenue of $144 (Notebook $60, Pencil $60, Folder $24)."
|
| 250 |
+
}
|
| 251 |
+
],
|
| 252 |
+
"stopReason": "stop",
|
| 253 |
+
"usage": {
|
| 254 |
+
"input": 1180,
|
| 255 |
+
"output": 35,
|
| 256 |
+
"cacheRead": 0,
|
| 257 |
+
"cacheWrite": 0,
|
| 258 |
+
"totalTokens": 1215,
|
| 259 |
+
"cost": {
|
| 260 |
+
"input": 0,
|
| 261 |
+
"output": 0,
|
| 262 |
+
"cacheRead": 0,
|
| 263 |
+
"cacheWrite": 0,
|
| 264 |
+
"total": 0
|
| 265 |
+
}
|
| 266 |
+
}
|
| 267 |
+
}
|
| 268 |
+
],
|
| 269 |
+
"report": "# Sales Report\n\nTotal revenue from sales.csv is **$144**.\n\n- Notebook: 12 × $5 = $60\n- Pencil: 30 × $2 = $60\n- Folder: 8 × $3 = $24\n",
|
| 270 |
+
"passed": true
|
| 271 |
+
}
|