Not in the top 1,000 by GitHub stars
icejyzy0430/open-model-workbench
开箱即用的 3D 模型构图工作台 Codex Skill。
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
open-model-workbench/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
f121a2a23964 → f121a2a23964
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → f121a2a23964
No earlier version was observed for comparison.
Heat
4.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- open-model-workbench
open-model-workbench
How it works
open-model-workbench
When your agent uses it
Open a ready-to-use local 3D model composition workbench for GLB or GLTF files. Use when the user says "打开模型工作台", asks to place, rotate, scale, arrange, or frame one or more 3D models, or needs a clean composition screenshot before website or Image 2 design. If the user has not supplied a model, request GLB/GLTF files first; after models are available, generate the workspace, start its localhost server, and open it automatically.
What it loads into context
Frontmatter
112 tokensAlways available to the agent
SKILL.md
739 tokensWhen the skill is activated
Reference documents
621 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Activation Flow
- Interaction Contract
- Input Rules
- Runtime Rules
- Direct Generation
Scripts executed separately
assets/workbench/composer.jsassets/workbench/vendor/controls/TransformControls.jsassets/workbench/vendor/draco/draco_decoder.jsassets/workbench/vendor/draco/draco_wasm_wrapper.jsassets/workbench/vendor/loaders/DRACOLoader.jsassets/workbench/vendor/loaders/GLTFLoader.jsassets/workbench/vendor/lucide.min.jsassets/workbench/vendor/three.core.min.jsassets/workbench/vendor/three.module.min.jsassets/workbench/vendor/utils/BufferGeometryUtils.jsscripts/generate_workbench.pyscripts/launch_workbench.pyscripts/serve_workbench.pytests/browser_check.mjstests/test_generate_workbench.pytests/test_launch_workbench.py
Files
.gitignoreasset65 bytesSKILL.mdcore3,417 bytesSKILL.mdcore3,417 bytesSKILL.mdcore3,417 bytesSKILL.mdcore3,417 bytesSKILL.mdcore3,417 bytesagents/openai.yamlasset293 bytesassets/workbench/composer.cssasset8,574 bytesassets/workbench/composer.jsruns18,924 bytesassets/workbench/index.htmlasset6,233 bytesassets/workbench/vendor/LUCIDE-LICENSE.txtdoc3,208 bytesassets/workbench/vendor/THREE-LICENSE.txtdoc1,081 bytesassets/workbench/vendor/controls/TransformControls.jsruns49,394 bytesassets/workbench/vendor/draco/draco_decoder.jsruns719,410 bytesassets/workbench/vendor/draco/draco_decoder.wasmasset285,747 bytesassets/workbench/vendor/draco/draco_wasm_wrapper.jsruns58,763 bytesassets/workbench/vendor/loaders/DRACOLoader.jsruns17,774 bytesassets/workbench/vendor/loaders/GLTFLoader.jsruns114,883 bytesassets/workbench/vendor/lucide.min.jsruns397,450 bytesassets/workbench/vendor/three.core.min.jsruns380,922 bytesassets/workbench/vendor/three.module.min.jsruns355,116 bytesassets/workbench/vendor/utils/BufferGeometryUtils.jsruns35,539 bytesreferences/config-schema.mddoc2,119 bytesscripts/generate_workbench.pyruns14,628 bytesscripts/launch_workbench.pyruns9,461 bytesscripts/serve_workbench.pyruns1,859 bytestests/browser_check.mjsruns11,853 bytestests/test_generate_workbench.pyruns5,334 bytestests/test_launch_workbench.pyruns2,544 bytes
Read SKILL.md
# Open Model Workbench
Turn user-provided GLB/GLTF files into a self-contained desktop composition workspace. Keep this task separate from point-cloud rendering or landing-page generation.
## Activation Flow
1. Inspect the current request, attachments, and explicit local paths for `.glb` or `.gltf` files.
2. If no model is available, ask only: `请提供一个或多个 GLB/GLTF 模型文件。` Stop until the user provides them. Do not create placeholders and do not ask for design details.
3. Once at least one model is available, choose an output folder outside the model source and the installed Skill. Prefer `<project>/model-workbench-output`.
4. Run the launcher with every supplied file or one directory containing the models:
```bash
python "<skill-dir>/scripts/launch_workbench.py" "<model-or-directory>" --output "<output-dir>"
```View the complete source on GitHubSkills included
- open-model-workbench
Repository facts
- License
- MIT
- Created
- Jul 18, 2026
- Last pushed
- Aug 11, 2026
- Forks
- 10
- Open issues
- 0
- Project activity
- Slowing
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 18 notes
open-model-workbench/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedopen-model-workbench/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedopen-model-workbench/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedopen-model-workbench/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:8Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:10Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:12Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:13Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:14Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:16Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:22Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/lucide.min.js:8Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/lucide.min.js:11Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/lucide.min.js:9Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/three.core.min.js:6Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/three.core.min.js:4Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/three.module.min.js:6Analysis incomplete: physical or joined line exceeds character limitopen-model-workbench/assets/workbench/vendor/three.module.min.js:4Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- No dangerous shell commands
- No instruction overrides
- No access to secrets
- No requests to vote in Hot
Show all 187 signals by file
open-model-workbench/assets/workbench/composer.js
- Executable scriptline 1
Executable file
open-model-workbench/assets/workbench/vendor/controls/TransformControls.js
- Executable scriptline 1
Executable file
open-model-workbench/assets/workbench/vendor/draco/draco_decoder.js
- Executable scriptline 1
Executable file - Possible obfuscationline 8
var Module=typeof DracoDecoderModule!="undefined"?DracoDecoderModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var isRuntimeIni - Possible obfuscationline 10
function instantiate(na){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){ - Possible obfuscationline 12
function Ud(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0;B=ca-672|0;ca=B;k=H[b+8>>2];s=H[b+12>>2];d=H[b+20>>2];e=H[b+16>>2];g=e+4|0;d=g>>>0<4?d+1|0:d;a:{b:{c:{if(g>>>0>k>>>0&(d|0 - Possible obfuscationline 13
function va(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return qa(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0<b>>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}F[d|0]=I[b|0];b=b+1|0;c=c-1|0 - Possible obfuscationline 14
function hb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}d=H[c+20>>2];e=H[c+12>>2];f=H[c+16>>2];if((d|0)>=(e|0)&f>>>0>=K[c+8>>2]|(d|0)>(e|0)){break a}e=I[H[c>>2]+f|0];f=f+1|0;d=f?d:d+1|0;H[c+16>>2]=f;H[c+20>>2]=d;d=e<<24>>24;if((d|0)<0 - Possible obfuscationline 16
function dh(a,b,c){a=a|0;b=b|0;c=c|0;H[a+32>>2]=c;H[a+28>>2]=b;return 1}function ch(a){a=a|0;if(a){Ra(a+12|0,H[a+16>>2]);Qa(a,H[a+4>>2]);oa(a)}}function Rd(a,b,c){a:{if(H[c+76>>2]<0){a=Fc(a,b,c);break a}a=Fc(a,b,c)}}function Mb(a,b){a=a|0;b - Possible obfuscationline 18
e=I;p(q);var ea=c([null,Ad,Ta,La,Tb,Pj,zi,Gh,Fd,Bf,xc,Nh,_e,Bj,Ta,mi,ji,Da,gj,Ti,Ki,Re,xi,Je,_e,hi,wg,fb,dh,ke,jg,_f,Uf,eb,Ja,Nf,Pd,Da,rd,yf,Of,Af,zf,sf,rf,pd,xf,wf,vf,Pd,uf,tf,kf,jf,qf,pf,hf,of,nf,mf,lf,cf,bf,pd,gf,ff,nd,ef,Nj,Oj,Kj,Ub,Da, - Possible obfuscationline 22
)(info)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module,info)})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!="object"){abort
open-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js
- Executable scriptline 1
Executable file - Network accessline 22
var DracoDecoderModule=function(){var k="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;"undefined"!==typeof __filename&&(k=k||__filename);return function(n){function l(e){return a.locateFile?a.locate - Network accessline 23
(g&240)?(g&15)<<12|u<<6|X:(g&7)<<18|u<<12|X<<6|e[b++]&63;65536>g?d+=String.fromCharCode(g):(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else d+=String.fromCharCode(g)}return d}function h(e,b){return e?p(ea,e,b):""}function A - Network accessline 24
e="Aborted("+e+")";da(e);wa=!0;e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info.");ka(e);throw e;}function q(e){try{if(e==P&&fa)return new Uint8Array(fa);if(ma)return ma(e);throw"both async and sync fetching of the - Network accessline 37
1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,e+100663296);var g=Math;d=Math.max(e,d);g=g.min.call(g,2147483648,d+(65536-d%65536)%65536);a:{d=ja.buffer;try{ja.grow(g-d.byteLength+65535>>>16);A();var u=1;break a}catch(X){}u=void 0}if(u)return!0 - Network accessline 38
ab}V[d>>2]=g;return 0}};(function(){function e(g,u){a.asm=g.exports;ja=a.asm.h;A();oa.unshift(a.asm.i);aa--;a.monitorRunDependencies&&a.monitorRunDependencies(aa);0==aa&&(null!==ra&&(clearInterval(ra),ra=null),ia&&(g=ia,ia=null,g()))}functi - Network accessline 39
if(a.instantiateWasm)try{return a.instantiateWasm(d,e)}catch(g){da("Module.instantiateWasm callback failed with error: "+g),ka(g)}(function(){return fa||"function"!=typeof WebAssembly.instantiateStreaming||P.startsWith("data:application/oct
open-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js
- Executable scriptline 1
Executable file - Network accessline 17
* A loader for the Draco format. * * [Draco](https://google.github.io/draco/) is an open source library for compressing - Network accessline 18
* * [Draco](https://google.github.io/draco/) is an open source library for compressing * and decompressing 3D meshes and point clouds. Compressed geometry can be significantly smaller, - Network accessline 19
* [Draco](https://google.github.io/draco/) is an open source library for compressing - Network accessline 24
* and other attributes. Draco files do not contain materials, textures, animation, or node hierarchies – * to use these features, embed Draco geometry inside of a glTF file. A normal glTF file can be converted * to a Draco-compressed glTF - Network accessline 25
* to use these features, embed Draco geometry inside of a glTF file. A normal glTF file can be converted * to a Draco-compressed glTF file using [glTF-Pipeline](https://github.com/CesiumGS/gltf-pipeline). * When using Draco with glTF, an - Network accessline 26
* to a Draco-compressed glTF file using [glTF-Pipeline](https://github.com/CesiumGS/gltf-pipeline). - Network accessline 666
// Reference: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#data-alignment
open-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js
- Executable scriptline 1
Executable file - Network accessline 71
* A loader for the glTF 2.0 format. * * [glTF](https://www.khronos.org/gltf/} (GL Transmission Format) is an [open format specification]{@link https://github.com/KhronosGroup/glTF/tree/main/specification/2.0) - Network accessline 72
* * [glTF](https://www.khronos.org/gltf/} (GL Transmission Format) is an [open format specification]{@link https://github.com/KhronosGroup/glTF/tree/main/specification/2.0) * for efficient delivery and loading of 3D content. Assets may be - Network accessline 73
* [glTF](https://www.khronos.org/gltf/} (GL Transmission Format) is an [open format specification]{@link https://github.com/KhronosGroup/glTF/tree/main/specification/2.0) - Network accessline 100
* * The following glTF 2.0 extension is supported by an external user plugin: * - [KHR_materials_variants](https://github.com/takahirox/three-gltf-extensions) - Network accessline 101
* The following glTF 2.0 extension is supported by an external user plugin: * - [KHR_materials_variants](https://github.com/takahirox/three-gltf-extensions) * - [MSFT_texture_dds](https://github.com/takahirox/three-gltf-extensions) - Network accessline 102
* - [KHR_materials_variants](https://github.com/takahirox/three-gltf-extensions) - Network accessline 103
* - [MSFT_texture_dds](https://github.com/takahirox/three-gltf-extensions) - Network accessline 104
* - [KHR_animation_pointer](https://github.com/needle-tools/three-animation-pointer) - Network accessline 105
* - [NEEDLE_progressive](https://github.com/needle-tools/gltf-progressive) - Network accessline 264
// If a base path is set, resources will be relative paths from that plus the relative path of the gltf file // Example path = 'https://my-cnd-server.com/', url = 'assets/models/model.gltf' - Network accessline 265
// Example path = 'https://my-cnd-server.com/', url = 'assets/models/model.gltf' - Network accessline 266
// resourcePath = 'https://my-cnd-server.com/assets/models/' - Network accessline 267
// referenced resource 'model.bin' will be loaded from 'https://my-cnd-server.com/assets/models/model.bin' - Network accessline 268
// referenced resource '../textures/texture.png' will be loaded from 'https://my-cnd-server.com/assets/textures/texture.png' - Network accessline 628
* Punctual Lights Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual - Network accessline 629
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual * - Network accessline 630
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual - Network accessline 766
* Unlit Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit - Network accessline 767
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit * - Network accessline 768
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit - Network accessline 821
* Materials Emissive Strength Extension * * Specification: https://github.com/KhronosGroup/glTF/blob/5768b3ce0ef32bc39cdf1bef10b948586635ead3/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md - Network accessline 822
* * Specification: https://github.com/KhronosGroup/glTF/blob/5768b3ce0ef32bc39cdf1bef10b948586635ead3/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md * - Network accessline 823
* Specification: https://github.com/KhronosGroup/glTF/blob/5768b3ce0ef32bc39cdf1bef10b948586635ead3/extensions/2.0/Khronos/KHR_materials_emissive_strength/README.md - Network accessline 862
* Clearcoat Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat - Network accessline 863
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat * - Network accessline 864
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat - Network accessline 948
* Materials dispersion Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_dispersion - Network accessline 949
* * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_dispersion * - Network accessline 950
* Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_dispersion - Network accessline 996
* Iridescence Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_iridescence - Network accessline 997
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_iridescence * - Network accessline 998
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_iridescence - Network accessline 1086
* Sheen Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_sheen - Network accessline 1087
* * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_sheen * - Network accessline 1088
* Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_sheen - Network accessline 1163
* Transmission Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_transmission - Network accessline 1164
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_transmission * Draft: https://github.com/KhronosGroup/glTF/pull/1698 - Network accessline 1165
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_transmission - Network accessline 1166
* Draft: https://github.com/KhronosGroup/glTF/pull/1698 - Network accessline 1224
* Materials Volume Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_volume - Network accessline 1225
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_volume * - Network accessline 1226
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_volume - Network accessline 1285
* Materials ior Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior - Network accessline 1286
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior * - Network accessline 1287
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior - Network accessline 1333
* Materials specular Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_specular - Network accessline 1334
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_specular * - Network accessline 1335
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_specular - Network accessline 1399
* Materials bump Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/EXT_materials_bump - Network accessline 1400
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/EXT_materials_bump * - Network accessline 1401
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/EXT_materials_bump - Network accessline 1455
* Materials anisotropy Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_anisotropy - Network accessline 1456
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_anisotropy * - Network accessline 1457
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_anisotropy - Network accessline 1521
* BasisU Texture Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_basisu - Network accessline 1522
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_basisu * - Network accessline 1523
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_basisu - Network accessline 1574
* WebP Texture Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_webp - Network accessline 1575
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_webp * - Network accessline 1576
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_webp - Network accessline 1621
* AVIF Texture Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_avif - Network accessline 1622
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_avif * - Network accessline 1623
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_avif - Network accessline 1668
* meshopt BufferView Compression Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression - Network accessline 1669
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression * - Network accessline 1670
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression - Network accessline 1754
* GPU Instancing Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_mesh_gpu_instancing - Network accessline 1755
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_mesh_gpu_instancing * - Network accessline 1756
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_mesh_gpu_instancing - Network accessline 1984
* DRACO Mesh Compression Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression - Network accessline 1985
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression * - Network accessline 1986
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression - Network accessline 2069
* Texture Transform Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_transform - Network accessline 2070
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_transform * - Network accessline 2071
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_transform - Network accessline 2090
// See https://github.com/mrdoob/three.js/issues/21819. - Network accessline 2130
* Mesh Quantization Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization - Network accessline 2131
* * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization * - Network accessline 2132
* Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization - Network accessline 2150
// Spline Interpolation // Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#appendix-c-spline-interpolation - Network accessline 2151
// Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#appendix-c-spline-interpolation - Network accessline 2334
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#default-material - Network accessline 2335
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#default-material - Network accessline 2402
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets - Network accessline 2403
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets - Network accessline 2587
// Reference: // https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization#encoding-quantized-data - Network accessline 2588
// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization#encoding-quantized-data - Network accessline 3082
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views - Network accessline 3083
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views - Network accessline 3121
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views - Network accessline 3122
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views - Network accessline 3142
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#accessors - Network accessline 3143
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#accessors - Network accessline 3239
// https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#sparse-accessors - Network accessline 3283
/** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures - Network accessline 3284
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures - Network accessline 3323
// See https://github.com/mrdoob/three.js/issues/21559. - Network accessline 3587
// https://github.com/mrdoob/three.js/issues/11438#issuecomment-507003995 - Network accessline 3613
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials - Network accessline 3614
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials - Network accessline 3641
// Specification: // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#metallic-roughness-material - Network accessline 3642
// https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#metallic-roughness-material - Network accessline 3700
// See: https://github.com/mrdoob/three.js/issues/17706 - Network accessline 3799
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry - Network accessline 3800
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry - Network accessline 3870
/** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes - Network accessline 3871
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes - Network accessline 4020
/** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras - Network accessline 4021
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras - Network accessline 4058
/** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins - Network accessline 4059
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins - Network accessline 4130
/** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations - Network accessline 4131
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations - Network accessline 4263
/** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#nodes-and-hierarchy - Network accessline 4264
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#nodes-and-hierarchy - Network accessline 4477
/** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#scenes - Network accessline 4478
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#scenes - Network accessline 4490
// Loader returns Group, not Scene. // See: https://github.com/mrdoob/three.js/issues/18342#issuecomment-578981172 - Network accessline 4491
// See: https://github.com/mrdoob/three.js/issues/18342#issuecomment-578981172
open-model-workbench/assets/workbench/vendor/lucide.min.js
- Executable scriptline 1
Executable file - Network accessline 8
(function(a,n){typeof exports=="object"&&typeof module<"u"?n(exports):typeof define=="function"&&define.amd?define(["exports"],n):(a=typeof globalThis<"u"?globalThis:a||self,n(a.lucide={}))})(this,(function(a){"use strict";const n={xmlns:"h - Possible obfuscationline 8
(function(a,n){typeof exports=="object"&&typeof module<"u"?n(exports):typeof define=="function"&&define.amd?define(["exports"],n):(a=typeof globalThis<"u"?globalThis:a||self,n(a.lucide={}))})(this,(function(a){"use strict";const n={xmlns:"h - Possible obfuscationline 11
lucide.createIcons({icons});\``);if(typeof c>"u")throw new Error("`createIcons()` only works in a browser environment.");if(Array.from(c.querySelectorAll(`[${h}]`)).forEach(p=>Ba(p,{nameAttr:h,icons:t,attrs:d})),M&&Array.from(c.querySelecto
open-model-workbench/assets/workbench/vendor/three.core.min.js
- Executable scriptline 1
Executable file - Network accessline 4
* SPDX-License-Identifier: MIT */ const t="182",e={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},i={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},s=0,r=1,n=2,a=3,o=0,h=1,l=2,c=3,u=0,d=1,p=2,m=0,y=1,g=2,f=3,x=4,b=5,v=100,w=101,M=102,S=103,_= - Network accessline 6
const t="182",e={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},i={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},s=0,r=1,n=2,a=3,o=0,h=1,l=2,c=3,u=0,d=1,p=2,m=0,y=1,g=2,f=3,x=4,b=5,v=100,w=101,M=102,S=103,_=104,A=200,T=201,z=202,C=203,I=204,B - Possible obfuscationline 6
const t="182",e={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},i={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},s=0,r=1,n=2,a=3,o=0,h=1,l=2,c=3,u=0,d=1,p=2,m=0,y=1,g=2,f=3,x=4,b=5,v=100,w=101,M=102,S=103,_=104,A=200,T=201,z=202,C=203,I=204,B
open-model-workbench/assets/workbench/vendor/three.module.min.js
- Executable scriptline 1
Executable file
open-model-workbench/assets/workbench/vendor/utils/BufferGeometryUtils.js
- Executable scriptline 1
Executable file
open-model-workbench/scripts/generate_workbench.py
- Executable scriptline 1
#!/usr/bin/env python3
open-model-workbench/scripts/launch_workbench.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 61
def url_ready(url: str, timeout: float = 0.8) -> bool: try: with urllib.request.urlopen(url, timeout=timeout) as response: - Network accessline 62
try: with urllib.request.urlopen(url, timeout=timeout) as response: return response.status == 200 - Network accessline 63
with urllib.request.urlopen(url, timeout=timeout) as response: - Network accessline 89
raise GenerationError("--port must be between 1024 and 65535") return requested with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: - Network accessline 90
return requested with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.bind((HOST, 0)) - Network accessline 91
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: - Network accessline 166
if not isinstance(url, str) or not isinstance(token, str): return False request = urllib.request.Request( - Network accessline 167
return False request = urllib.request.Request( url.rstrip("/") + "/__workbench_shutdown__", - Network accessline 168
request = urllib.request.Request( - Network accessline 173
) try: with urllib.request.urlopen(request, timeout=2) as response: - Network accessline 174
try: with urllib.request.urlopen(request, timeout=2) as response: if response.status != 204: - Network accessline 175
with urllib.request.urlopen(request, timeout=2) as response: - Network accessline 238
config = generate_from_sources(args.sources, models, output_dir, skill_dir) port = free_port(args.port) url = f"http://{HOST}:{port}/" - Network accessline 239
[Credential-related source omitted] - Network accessline 240
url = f"http://{HOST}:{port}/"
open-model-workbench/scripts/serve_workbench.py
- Executable scriptline 1
#!/usr/bin/env python3
open-model-workbench/tests/browser_check.mjs
- Executable scriptline 1
Executable file - Network accessline 39
while (Date.now() - started < timeout) { try { const response = await fetch(url); - Network accessline 40
try { const response = await fetch(url); if (response.ok) return response.json(); - Network accessline 41
const response = await fetch(url); - Network accessline 130
let client; try { await waitForJson(`http://127.0.0.1:${port}/json/version`); - Network accessline 131
try { await waitForJson(`http://127.0.0.1:${port}/json/version`); const targets = await waitForJson(`http://127.0.0.1:${port}/json/list`); - Network accessline 132
await waitForJson(`http://127.0.0.1:${port}/json/version`); - Network accessline 133
const targets = await waitForJson(`http://127.0.0.1:${port}/json/list`);
open-model-workbench/tests/test_generate_workbench.py
- Executable scriptline 1
Executable file
open-model-workbench/tests/test_launch_workbench.py
- Executable scriptline 1
Executable file - Network accessline 57
self.assertIn(f"WORKBENCH_URL={state['url']}", result.stdout) for _ in range(3): with urllib.request.urlopen(state["url"], timeout=3) as response: - Network accessline 58
for _ in range(3): with urllib.request.urlopen(state["url"], timeout=3) as response: self.assertEqual(response.status, 200) - Network accessline 59
with urllib.request.urlopen(state["url"], timeout=3) as response:
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 187 facts
- Executable script in code of a file that runsopen-model-workbench/assets/workbench/composer.js:1High confidence
- Executable script in code of a file that runsopen-model-workbench/assets/workbench/vendor/controls/TransformControls.js:1High confidence
- Executable script in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:1High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:8High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:10High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:12High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:13High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:14High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:16High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:18High confidence
- Possible obfuscation in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_decoder.js:22High confidence
- Executable script in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js:1High confidence
- Network access in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js:22High confidence
- Network access in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js:23High confidence
- Network access in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js:24High confidence
- Network access in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js:37High confidence
- Network access in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js:38High confidence
- Network access in code of a file that runsopen-model-workbench/assets/workbench/vendor/draco/draco_wasm_wrapper.js:39High confidence
- Executable script in code of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:1High confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:17Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:18Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:19Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:24Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:25Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:26Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/DRACOLoader.js:666Low confidence
- Executable script in code of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:1High confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:71Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:72Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:73Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:100Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:101Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:102Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:103Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:104Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:105Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:264Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:265Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:266Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:267Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:268Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:628Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:629Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:630Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:766Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:767Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:768Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:821Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:822Low confidence
- Network access in a comment of a file that runsopen-model-workbench/assets/workbench/vendor/loaders/GLTFLoader.js:823Low confidence
and 137 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md open-model-workbench/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md open-model-workbench/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md open-model-workbench/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md open-model-workbench/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md open-model-workbench/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md open-model-workbench/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.