@@ -574,7 +574,8 @@ <h2 id="2-install-gateway-and-flow">2. Install Gateway and Flow<a class="headerl
574574< h2 id ="3-configure-local-engines "> 3. Configure local engines< a class ="headerlink " href ="#3-configure-local-engines " title ="Permanent link "> ¶</ a > </ h2 >
575575< p > Use Gateway env vars for Gateway internals, then set framework model defaults through capability
576576routes owned by the execution host.</ p >
577- < div class ="highlight "> < pre > < span > </ span > < code > < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> ABSTRACTGATEWAY_AUTH_TOKEN</ span > < span class ="o "> =</ span > < span class ="s2 "> "dev-local-token"</ span >
577+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> ABSTRACTGATEWAY_USER_AUTH</ span > < span class ="o "> =</ span > < span class ="m "> 1</ span >
578+ < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> ABSTRACTGATEWAY_DATA_DIR</ span > < span class ="o "> =</ span > < span class ="s2 "> "</ span > < span class ="nv "> $HOME</ span > < span class ="s2 "> /.abstractgateway-local"</ span >
578579
579580< span class ="c1 "> # Local image generation on MPS through AbstractVision/Diffusers.</ span >
580581< span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> ABSTRACTGATEWAY_VISION_BACKEND</ span > < span class ="o "> =</ span > < span class ="s2 "> "diffusers"</ span >
@@ -592,7 +593,7 @@ <h2 id="3-configure-local-engines">3. Configure local engines<a class="headerlin
592593< span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> ABSTRACTGATEWAY_VOICE_STT_MODEL</ span > < span class ="o "> =</ span > < span class ="s2 "> "base"</ span >
593594</ code > </ pre > </ div >
594595< p > Set the default text route:</ p >
595- < div class ="highlight "> < pre > < span > </ span > < code > abstractgateway-config< span class ="w "> </ span > set-default< span class ="w "> </ span > output .text< span class ="w "> </ span > < span class ="se "> \</ span >
596+ < div class ="highlight "> < pre > < span > </ span > < code > abstractgateway-config< span class ="w "> </ span > set-default< span class ="w "> </ span > input .text< span class ="w "> </ span > < span class ="se "> \</ span >
596597< span class ="w "> </ span > --provider< span class ="w "> </ span > lmstudio< span class ="w "> </ span > < span class ="se "> \</ span >
597598< span class ="w "> </ span > --model< span class ="w "> </ span > qwen/qwen3.6-35b-a3b< span class ="w "> </ span > < span class ="se "> \</ span >
598599< span class ="w "> </ span > --base-url< span class ="w "> </ span > http://127.0.0.1:1234/v1
@@ -606,35 +607,33 @@ <h2 id="4-start-gateway">4. Start Gateway<a class="headerlink" href="#4-start-ga
606607</ code > </ pre > </ div >
607608< p > In another terminal with the same venv:</ p >
608609< div class ="highlight "> < pre > < span > </ span > < code > < span class ="nb "> source</ span > < span class ="w "> </ span > ~/.venvs/abstractframework-local/bin/activate
609- < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> ABSTRACTGATEWAY_AUTH_TOKEN</ span > < span class ="o "> =</ span > < span class ="s2 "> "dev-local-token"</ span >
610+ < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> ABSTRACTGATEWAY_DATA_DIR</ span > < span class ="o "> =</ span > < span class ="s2 "> "</ span > < span class ="nv "> $HOME</ span > < span class ="s2 "> /.abstractgateway-local"</ span >
611+ < span class ="nb "> export</ span > < span class ="w "> </ span > < span class ="nv "> GATEWAY_ADMIN_TOKEN</ span > < span class ="o "> =</ span > < span class ="s2 "> "</ span > < span class ="k "> $(</ span > cat< span class ="w "> </ span > < span class ="s2 "> "</ span > < span class ="nv "> $ABSTRACTGATEWAY_DATA_DIR</ span > < span class ="s2 "> /auth/bootstrap-admin-token"</ span > < span class ="k "> )</ span > < span class ="s2 "> "</ span >
610612</ code > </ pre > </ div >
611613< p > Check that catalogs are not just defaults:</ p >
612- < div class ="highlight "> < pre > < span > </ span > < code > curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $ABSTRACTGATEWAY_AUTH_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
614+ < div class ="highlight "> < pre > < span > </ span > < code > curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $GATEWAY_ADMIN_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
613615< span class ="w "> </ span > http://127.0.0.1:8080/api/gateway/voice/voices
614616
615- curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $ABSTRACTGATEWAY_AUTH_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
617+ curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $GATEWAY_ADMIN_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
616618< span class ="w "> </ span > http://127.0.0.1:8080/api/gateway/audio/speech/models
617619
618- curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $ABSTRACTGATEWAY_AUTH_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
620+ curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $GATEWAY_ADMIN_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
619621< span class ="w "> </ span > http://127.0.0.1:8080/api/gateway/audio/transcriptions/models
620622
621- curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $ABSTRACTGATEWAY_AUTH_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
623+ curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $GATEWAY_ADMIN_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
622624< span class ="w "> </ span > < span class ="s2 "> "http://127.0.0.1:8080/api/gateway/vision/provider_models?task=text_to_image"</ span >
623625
624- curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $ABSTRACTGATEWAY_AUTH_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
626+ curl< span class ="w "> </ span > -H< span class ="w "> </ span > < span class ="s2 "> "Authorization: Bearer </ span > < span class ="nv "> $GATEWAY_ADMIN_TOKEN </ span > < span class ="s2 "> "</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
625627< span class ="w "> </ span > http://127.0.0.1:8080/api/gateway/vision/models
626628</ code > </ pre > </ div >
627629< p > If these return only < code > gateway_static</ code > defaults, stop the Gateway process and
628630restart the one from this venv. A common mistake is leaving an older globally
629631installed < code > abstractgateway serve --port 8080</ code > process running.</ p >
630632< h2 id ="5-start-flow "> 5. Start Flow< a class ="headerlink " href ="#5-start-flow " title ="Permanent link "> ¶</ a > </ h2 >
631- < div class ="highlight "> < pre > < span > </ span > < code > abstractflow< span class ="w "> </ span > serve< span class ="w "> </ span > < span class ="se "> \</ span >
632- < span class ="w "> </ span > --host< span class ="w "> </ span > < span class ="m "> 127</ span > .0.0.1< span class ="w "> </ span > < span class ="se "> \</ span >
633- < span class ="w "> </ span > --port< span class ="w "> </ span > < span class ="m "> 3003</ span > < span class ="w "> </ span > < span class ="se "> \</ span >
634- < span class ="w "> </ span > --gateway-url< span class ="w "> </ span > http://127.0.0.1:8080< span class ="w "> </ span > < span class ="se "> \</ span >
635- < span class ="w "> </ span > --gateway-token< span class ="w "> </ span > < span class ="s2 "> "</ span > < span class ="nv "> $ABSTRACTGATEWAY_AUTH_TOKEN</ span > < span class ="s2 "> "</ span >
633+ < div class ="highlight "> < pre > < span > </ span > < code > npx< span class ="w "> </ span > @abstractframework/flow< span class ="w "> </ span > --gateway-url< span class ="w "> </ span > http://127.0.0.1:8080< span class ="w "> </ span > --port< span class ="w "> </ span > < span class ="m "> 3003</ span >
636634</ code > </ pre > </ div >
637- < p > Open < code > http://127.0.0.1:3003</ code > .</ p >
635+ < p > Open < code > http://127.0.0.1:3003</ code > and sign in as Gateway user < code > admin</ code > with
636+ < code > $GATEWAY_ADMIN_TOKEN</ code > .</ p >
638637< p > In the editor, media nodes use Gateway catalogs:</ p >
639638< ul >
640639< li > Generate Image: image provider/model</ li >
0 commit comments