manifest
Version:
Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard
4 lines (3 loc) • 5.03 kB
JavaScript
import{a as M,i as e,g as t,h,F as N,S as v,m as E,s as $,B as G,t as i,d as Q}from"./vendor-C-Y5oNOq.js";import{C as p}from"./CopyButton-BWMVlK2w.js";var V=i('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx=12 cy=12 r=3>'),W=i('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20">'),X=i("<p class=setup-method__hint>Set the provider config and default model directly via CLI commands."),B=i('<button class="btn btn--ghost btn--sm"style=padding:4px>'),Z=i("<div class=setup-method__code><div class=setup-method__actions></div><pre style=margin:0;white-space:pre-wrap;word-break:break-all>"),ee=i("<p class=setup-method__hint>Run the onboarding wizard and select <strong>Custom Provider</strong> when prompted. Then enter the following values:"),te=i("<div class=setup-method__code style=margin-bottom:12px><pre style=margin:0;white-space:pre-wrap;word-break:break-all>"),le=i("<div class=setup-onboard-fields><div class=setup-onboard-fields__row><span class=setup-onboard-fields__label>API Base URL</span><span class=setup-onboard-fields__value></span></div><div class=setup-onboard-fields__row><span class=setup-onboard-fields__label>API Key</span><span class=setup-onboard-fields__value></span></div><div class=setup-onboard-fields__row><span class=setup-onboard-fields__label>Endpoint compatibility</span><span class=setup-onboard-fields__value>OpenAI-compatible</span></div><div class=setup-onboard-fields__row><span class=setup-onboard-fields__label>Model ID</span><span class=setup-onboard-fields__value>auto</span></div><div class=setup-onboard-fields__row><span class=setup-onboard-fields__label>Endpoint ID</span><span class=setup-onboard-fields__value>manifest"),ae=i("<div><h3 class=setup-step__heading>Add Manifest as a provider</h3><p class=setup-step__desc>Register Manifest in your OpenClaw config to route each request to the best provider using the model <code class=setup-model-hint__code>manifest/auto</code></p><div class=setup-method-tabs><div class=panel__tabs></div><div class=setup-method-tabs__content>"),se=i("<button class=panel__tab>");const ne=[{id:"cli",label:"CLI configuration"},{id:"onboard",label:"Interactive wizard"}],O=()=>V(),U=()=>W(),oe=r=>{const[g,F]=M("cli"),[o,y]=M(!r.hideFullKey),c=()=>!!r.apiKey,f=()=>r.keyPrefix?`${r.keyPrefix}...`:"mnfst_YOUR_KEY",w=()=>r.apiKey??f(),x=()=>c()&&o()?r.apiKey:f(),k=u=>`openclaw config set models.providers.manifest '${JSON.stringify({baseUrl:r.baseUrl,api:"openai-completions",apiKey:u,models:[{id:"auto",name:"Manifest Auto"}]})}'
openclaw config set agents.defaults.model.primary manifest/auto
openclaw gateway restart`,T=()=>k(x()),z=()=>k(w()),S=()=>"openclaw onboard";return(()=>{var u=ae(),C=u.firstChild,H=C.nextSibling,L=H.nextSibling,A=L.firstChild,I=A.nextSibling;return e(A,t(N,{each:ne,children:l=>(()=>{var a=se();return a.$$click=()=>F(l.id),e(a,()=>l.label),h(()=>a.classList.toggle("panel__tab--active",g()===l.id)),a})()})),e(I,t(v,{get when(){return g()==="cli"},get children(){return[X(),(()=>{var l=Z(),a=l.firstChild,m=a.nextSibling;return e(a,t(v,{get when(){return c()},get children(){var s=B();return s.$$click=()=>y(!o()),e(s,(()=>{var n=E(()=>!!o());return()=>n()?t(U,{}):t(O,{})})()),h(n=>{var _=o()?"Hide API key in snippet":"Reveal API key in snippet",d=o()?"Hide key":"Reveal key";return _!==n.e&&$(s,"aria-label",n.e=_),d!==n.t&&$(s,"title",n.t=d),n},{e:void 0,t:void 0}),s}}),null),e(a,t(p,{get text(){return z()}}),null),e(m,T),h(s=>G(l,c()?"padding-right: 80px;":void 0,s)),l})()]}}),null),e(I,t(v,{get when(){return g()==="onboard"},get children(){return[ee(),(()=>{var l=te(),a=l.firstChild;return e(l,t(p,{get text(){return S()}}),a),e(a,S),l})(),(()=>{var l=le(),a=l.firstChild,m=a.firstChild,s=m.nextSibling,n=a.nextSibling,_=n.firstChild,d=_.nextSibling,D=n.nextSibling,K=D.nextSibling,J=K.firstChild,P=J.nextSibling;P.firstChild;var j=K.nextSibling,Y=j.firstChild,R=Y.nextSibling;return R.firstChild,e(s,()=>r.baseUrl,null),e(s,t(p,{get text(){return r.baseUrl}}),null),e(d,x,null),e(d,t(v,{get when(){return c()},get children(){var b=B();return b.$$click=()=>y(!o()),e(b,(()=>{var q=E(()=>!!o());return()=>q()?t(U,{}):t(O,{})})()),h(()=>$(b,"aria-label",o()?"Hide API key in wizard":"Reveal API key in wizard")),b}}),null),e(d,t(p,{get text(){return w()}}),null),e(P,t(p,{text:"auto"}),null),e(R,t(p,{text:"manifest"}),null),l})()]}}),null),u})()};Q(["click"]);export{oe as S};