@onescience/onecode-web 1.14.50-202609151008 → 1.14.50-202609161027

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/assets/{3Dmol-B_IGbao6.js → 3Dmol-M-HCGXi-.js} +1 -1
  2. package/assets/account-system-DTmu6yza.js +1 -0
  3. package/assets/{alert-04-BgqqlHmI.js → alert-01--H8ZijJg.js} +1 -1
  4. package/assets/{alert-05-le40y4Ov.js → alert-02-DMWQpxo9.js} +1 -1
  5. package/assets/{alert-01-BYx7_Y6Z.js → alert-04-DcYaZ-xm.js} +1 -1
  6. package/assets/{alert-02-BNmvIR_v.js → alert-05-CM0QChx1.js} +1 -1
  7. package/assets/alert-06-CN5Z6JGX.js +1 -0
  8. package/assets/alert-07-DB70_vIB.js +1 -0
  9. package/assets/alert-08-DXosSLKo.js +1 -0
  10. package/assets/alert-10-BYDc6Z52.js +1 -0
  11. package/assets/{bip-bop-03-CqDsqjlf.js → bip-bop-03-CgBZA_jJ.js} +1 -1
  12. package/assets/{bip-bop-04-BfYqJzN5.js → bip-bop-04-Cdg3sgXd.js} +1 -1
  13. package/assets/{bip-bop-06-Qa8_OIBP.js → bip-bop-06-C9sUctXo.js} +1 -1
  14. package/assets/{bip-bop-08-BRNo3MPi.js → bip-bop-08-B9NYDLda.js} +1 -1
  15. package/assets/bip-bop-09-CAme7tCm.js +1 -0
  16. package/assets/center-Du0Dj8jG.js +15 -0
  17. package/assets/dialog-fork-BjcfXOqX.js +1 -0
  18. package/assets/dialog-project-upload-CYJ0BfeD.js +2 -0
  19. package/assets/{dialog-select-file-BxZRrD_x.js → dialog-select-file-zidb_eDW.js} +1 -1
  20. package/assets/dialog-select-model-DZ3mRBAc.js +2 -0
  21. package/assets/{dialog-terminal-unavailable-Ct951kdx.js → dialog-terminal-unavailable-iZysceQY.js} +3 -3
  22. package/assets/docs-B0NyiRF4.js +1 -0
  23. package/assets/{ghostty-web-CQYfPYJQ.js → ghostty-web-DGQcssMy.js} +1 -1
  24. package/assets/{index-ClzL6bnc.js → index-0c2NLcs4.js} +266 -265
  25. package/assets/index-B1w0cY3F.css +1 -0
  26. package/assets/intro-BK7wKdrB.js +1 -0
  27. package/assets/{nope-02-ASorFz7P.js → nope-02-DPEXyJeg.js} +1 -1
  28. package/assets/{nope-05-Bb9darrm.js → nope-05-C-bUd40n.js} +1 -1
  29. package/assets/{nope-08-ZdNZ54iS.js → nope-08-CNk8cKW5.js} +1 -1
  30. package/assets/{nope-11-CikRcDLB.js → nope-11-DsIQhsOX.js} +1 -1
  31. package/assets/nope-12-BhTRpZLh.js +1 -0
  32. package/assets/{onescience-DIK2-VdE.js → onescience-BcwQe_Jd.js} +1 -1
  33. package/assets/resources-Cc3laAYn.js +1 -0
  34. package/assets/skills-DSetuaMt.js +1 -0
  35. package/assets/{staplebops-03-2uZeelsg.js → staplebops-03-CxLT8eai.js} +1 -1
  36. package/assets/{staplebops-04-D8jUYwrY.js → staplebops-04-DTP5i0WE.js} +1 -1
  37. package/assets/{staplebops-06-DPjsXuSG.js → staplebops-06-CpA-H7RJ.js} +1 -1
  38. package/assets/{staplebops-07-CLnq5SIW.js → staplebops-07-BmqD3QLG.js} +1 -1
  39. package/assets/status-popover-body-DUi9T_2Z.js +2 -0
  40. package/assets/wizard-gJnCj9nl.js +1 -0
  41. package/assets/{yup-01-Dao8BLua.js → yup-01-fa9Kdh5F.js} +1 -1
  42. package/assets/{yup-03-lf7BNtmg.js → yup-03-MvWratCq.js} +1 -1
  43. package/assets/{yup-04-COy1Rj2j.js → yup-04-DtH9nOVu.js} +1 -1
  44. package/assets/{yup-05-CnbyLsuQ.js → yup-05-B237ku8q.js} +1 -1
  45. package/assets/{zh-B_0loE3I.js → zh-B9RFApjK.js} +1 -1
  46. package/assets/{zht-5kvKl4Oi.js → zht-CYl2vuaK.js} +1 -1
  47. package/index.html +11 -11
  48. package/package.json +2 -2
  49. package/assets/account-system-CTeHb1vW.js +0 -1
  50. package/assets/alert-06-B0g8xkop.js +0 -1
  51. package/assets/alert-07-PkjYJmP3.js +0 -1
  52. package/assets/alert-08-Dw29jME6.js +0 -1
  53. package/assets/alert-10-BlTMfkM6.js +0 -1
  54. package/assets/bip-bop-09-DWh-JEv4.js +0 -1
  55. package/assets/center-D4mU1wNB.js +0 -15
  56. package/assets/current-project-JlNpICgB.js +0 -1
  57. package/assets/dialog-edit-project-DIJi2nFh.js +0 -1
  58. package/assets/dialog-fork-BAdUOYrd.js +0 -1
  59. package/assets/dialog-project-upload-WdGsdhnu.js +0 -2
  60. package/assets/dialog-select-model-CHEbu3nA.js +0 -2
  61. package/assets/docs-9XmuiAVT.js +0 -1
  62. package/assets/home-rWV4IZFi.js +0 -1
  63. package/assets/index-DVeuXHcQ.css +0 -1
  64. package/assets/intro-CIrXkjnS.js +0 -1
  65. package/assets/nope-12-BQ1aWMNo.js +0 -1
  66. package/assets/resources-Bxi9A2NO.js +0 -1
  67. package/assets/selection-BA_gCWSj.js +0 -1
  68. package/assets/shell-DKbXW0cq.js +0 -2
  69. package/assets/skills-BOyLnWtR.js +0 -1
  70. package/assets/status-popover-body-v0yai74z.js +0 -2
  71. package/assets/wizard-DOKm2QfM.js +0 -1
@@ -0,0 +1 @@
1
+ import{co as N,O as Q,i,a as e,t as r,aA as n,S as p,F as o,aB as O,b as T,x as U,b0 as q,H as V,cp as X,cq as Y,g as Z}from"./index-0c2NLcs4.js";var ii=r("<div class=os-client-capability-intro-overlay role=dialog aria-modal=true aria-label=能力介绍>"),ti=r("<section class=os-client-capability-intro-dialog><p>未找到该能力。"),ei=r("<p class=os-client-capability-unavailable-hint>暂无 OneScience 源码或魔搭映射,当前不可使用。"),li=r("<section class=os-client-capability-intro-scenarios aria-label=快捷场景><div class=os-client-capability-intro-scenarios-copy><h3></h3><p></p></div><div class=os-client-capability-intro-scenario-grid>"),ai=r("<section class=os-client-capability-intro-dialog><header class=os-client-capability-intro-head><div><span></span><h2></h2><p></p></div></header><div class=os-client-capability-intro-matrix><article class=os-client-capability-intro-block data-tone=suited><h3>适合解决</h3><div class=os-client-capability-intro-chips></div></article><article class=os-client-capability-intro-block data-tone=not-for><h3>不建议直接用在</h3><div class=os-client-capability-intro-chips></div></article><article class=os-client-capability-intro-block data-tone=prepare><h3>需要准备什么</h3><div class=os-client-capability-intro-chips></div></article></div><section class=os-client-capability-intro-flow aria-label=使用流程><h3>怎么用</h3><ol></ol></section><footer class=os-client-capability-intro-footer><a class=os-client-capability-intro-docs-link target=_blank rel=noreferrer>深入资料"),m=r("<span>"),ri=r("<li><span></span><strong>"),ni=r("<strong>"),si=r("<p>");function ci(b){return b==="hpc"?{title:"不用手写复杂作业脚本",body:"选择一个常见软件任务,系统会把输入文件、HPC 资源、运行脚本和审批步骤整理成可执行任务。"}:{title:"不用理解复杂模型细节",body:"选择一个常见能力,系统会把研究对象、输入数据、目标和运行偏好整理成可执行任务。"}}function di(){const b=N(),C=Q(),h=()=>Z(b.id??""),S=()=>Y(C.search),g=()=>X(C.search,{category:h()?.category??"onemodel",domain:h()?.domain??"materials"});return(()=>{var x=ii();return i(x,e(p,{get when(){return h()},get fallback(){return[e(n,{class:"os-client-capability-intro-backdrop",get href(){return q()},"aria-label":"关闭介绍"}),(()=>{var t=ti();return t.firstChild,i(t,e(n,{get href(){return q()},children:"返回能力中心"}),null),t})()]},children:t=>{const k=()=>ci(t().category),_=()=>V(t());return[e(n,{class:"os-client-capability-intro-backdrop",get href(){return g()},"aria-label":"关闭介绍"}),(()=>{var $=ai(),u=$.firstChild,w=u.firstChild,H=w.firstChild,A=H.nextSibling,B=A.nextSibling,F=u.nextSibling,R=F.firstChild,E=R.firstChild,I=E.nextSibling,z=R.nextSibling,L=z.firstChild,W=L.nextSibling,j=z.nextSibling,D=j.firstChild,G=D.nextSibling,P=F.nextSibling,J=P.firstChild,K=J.nextSibling,y=P.nextSibling,M=y.firstChild;return i(H,()=>t().intro.title||"30 秒看懂模型"),i(A,()=>t().name),i(B,()=>t().intro.subtitle),i(w,e(p,{get when(){return!_()},get children(){return ei()}}),null),i(u,e(n,{class:"os-client-capability-intro-close",get href(){return g()},"aria-label":"关闭",children:"×"}),null),i(I,e(o,{get each(){return t().intro.suited},children:a=>(()=>{var l=m();return i(l,a),l})()})),i(W,e(o,{get each(){return t().intro.notFor},children:a=>(()=>{var l=m();return i(l,a),l})()})),i(G,e(o,{get each(){return t().intro.prepare},children:a=>(()=>{var l=m();return i(l,a),l})()})),i(K,e(o,{get each(){return t().intro.steps},children:(a,l)=>(()=>{var s=ri(),d=s.firstChild,f=d.nextSibling;return i(d,()=>l()+1),i(f,a),s})()})),i($,e(p,{get when(){return _()},get children(){var a=li(),l=a.firstChild,s=l.firstChild,d=s.nextSibling,f=l.nextSibling;return i(s,()=>k().title),i(d,()=>k().body),i(f,e(o,{get each(){return t().scenarios},children:v=>e(n,{class:"os-client-capability-intro-scenario-card",get href(){return O(t().id,v.id,S())},get children(){return[(()=>{var c=ni();return i(c,()=>v.title),c})(),(()=>{var c=si();return i(c,()=>v.summary),c})()]}})})),a}}),y),i(y,e(p,{get when(){return _()},get fallback(){return e(n,{class:"os-client-capability-intro-wizard-link",get href(){return g()},children:"返回模型库"})},get children(){return e(n,{class:"os-client-capability-intro-wizard-link",get href(){return O(t().id,void 0,S())},"data-primary":"true",children:"进入能力向导"})}}),null),T(()=>U(M,"href",t().docsHref)),$})()]}})),x})()}export{di as CapabilityIntroPage};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/nope-02-EygnDbCM.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/nope-02-EygnDbCM.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/nope-05-DZsXzrQW.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/nope-05-DZsXzrQW.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/nope-08-COPo0uNf.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/nope-08-COPo0uNf.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/nope-11-CVdXg8G-.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/nope-11-CVdXg8G-.aac";export{e as default};
@@ -0,0 +1 @@
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/nope-12-BJR1Ka3c.aac";export{e as default};
@@ -1,4 +1,4 @@
1
- import{b as At,c as n,c1 as bt,i,az as Ne,S as v,W as E,Y as R,X as ne,n as P,C as ge,F as ce,t as o,a2 as mt,c2 as ys,c3 as er,c4 as Da,c5 as Wt,c6 as Ja,a4 as ws,bl as $s,a3 as Cs,c7 as Ss,c8 as tr,c9 as _s,x as je,I as It,R as Ze,q as Ut,ca as Ps,o as W,a1 as pa,cb as ga,cc as Ua,l as ot,s as ft,bC as ar,bQ as gt,cd as Gr,ce as Br,cf as $i,cg as Ci,ch as ks,ci as Ds,cj as sa,k as Si,ck as Hr,f as vt,e as Xt,h as Tt,g as fa,j as As,m as qr,E as xs,M as Ms,N as Is,bL as et,cl as ir,cm as Fs,cn as zr,co as jr,cp as Wr,bM as Vr,cq as ni,cr as Ts,cs as Es,ct as Ns,bf as Kr,cu as Os,cv as Rs,cw as rr,bP as ca,T as Ls,cx as Aa,_ as Ta,cy as Us,av as ht,b6 as xt,be as _i,y as Pi,cz as Gs,bg as Xr,ae as Bs,cA as Hs,cB as qs,cC as zs,cD as js,cE as Ea,cF as la,as as Ws,cG as Qa,p as Za,cH as Vs,cI as Ks,cJ as ra,cK as Xs,cL as Js,cM as Qs,cN as Zs,cO as ki,cP as Ys,cQ as eo,cR as to,cS as Di,cT as Ai,cU as Jr,cV as Qr,cW as si,cX as ao,cY as oi,cZ as io,c_ as ro,c$ as no,d0 as zt,d1 as so,d2 as oo,d3 as Zr,d4 as Yr,d5 as en,d6 as tn,d7 as an,d8 as lo,bT as co,d9 as uo,da as mo,db as ho,dc as po,D as kt,dd as go,de as fo,df as bo,dg as vo,dh as nr,di as yo,dj as li,dk as wo,dl as rn,dm as nn,dn as $o,dp as sn,a5 as jt,dq as xi,z as Co,dr as So,ds as _o,a0 as Po,bN as ko,bO as Ya,dt as on,A as Do,du as Ao,L as xo,dv as Mo,dw as sr,dx as Io,dy as Fo,dz as To}from"./index-ClzL6bnc.js";import{d as Eo}from"./onescience-docs-CH5KBTI9.js";var No=o("<div><div class=os-download-path-hint-title></div><ul class=os-download-path-hint-list>"),Oo=o("<li class=break-all>"),Ro=o("<div class=os-download-env-row><div class=os-download-env-field><span class=os-field-label-row><span class=os-field-label>下载到环境</span></span><div>"),Lo=o("<p class=os-section-copy>确认将 <strong></strong> <!>以下路径吗?"),Uo=o("<p class=os-section-copy data-testid=download-register-guide>下载完成不会自动登记。请到 OneData「原始数据」确认接入后再加工或训练。"),Go=o("<p class=os-section-copy>SCNet 侧无法直接访问 ModelScope。确认后将打开科研开发会话,由 Agent 使用 scnet MCP 工具完成下载与传输。"),Bo=o("<div class=os-dataset-download-info-row><span></span><strong>"),Ho=o("<div class=os-upload-error>可用空间不足,无法下载该数据集"),or=o("<div class=os-upload-error>"),qo=o("<div class=os-upload-error>无法从魔搭获取数据集大小,暂不可下载"),zo=o('<div class=os-modal-backdrop role=presentation><div class="os-upload-dialog os-download-dialog"><div class=os-upload-head><div><div class=os-eyebrow>数据集</div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><div class=os-dataset-download-info><div class=os-dataset-download-info-row><span>数据集大小(预估)</span><strong></strong></div></div><div class=os-upload-actions><button type=button class="os-button os-button-secondary">取消</button><button type=button class="os-button os-button-primary">'),jo=o("<label><span class=os-field-label-row><span class=os-field-label><span class=os-field-required aria-hidden=true> *</span></span></span><input>"),Wo=o('<div class=os-modal-backdrop role=presentation><div class="os-upload-dialog os-download-dialog"><div class=os-upload-head><div><div class=os-eyebrow>取消下载</div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><p class=os-section-copy>确认取消 <strong></strong> 的下载吗?已下载的部分文件将被保留,你可以稍后重新下载。</p><div class=os-upload-actions><button type=button class="os-button os-button-secondary">继续下载</button><button type=button class="os-button os-button-primary">'),Vo=o("<p class=os-section-copy>正在删除所选副本…"),Ko=o("<p class=os-section-copy>"),Xo=o("<button type=button class=os-download-copy-all>"),Jo=o("<div class=os-download-copy-list role=group aria-label=选择要删除的环境>"),Qo=o('<div class=os-modal-backdrop role=presentation><div class="os-upload-dialog os-download-dialog"><div class=os-upload-head><div><div class=os-eyebrow></div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><div class=os-upload-actions><button type=button class="os-button os-button-secondary">取消</button><button type=button class="os-button os-button-primary">'),lr=o("<strong>"),Zo=o("<span class=os-download-copy-partial> 未完成"),Yo=o("<button type=button class=os-download-copy-item><span class=os-download-copy-item-title></span><span class=os-download-copy-item-path>"),el=o('<span class="os-download-copy-path break-all">');function cr(e){const t=()=>e.paths.filter(a=>a.trim());return n(v,{get when(){return t().length>0},get children(){var a=No(),r=a.firstChild,s=r.nextSibling;return i(r,()=>e.confirmed?"数据集位置":"数据集实际位置(随 ModelScope 版本可能不同)"),i(s,n(ce,{get each(){return t()},children:c=>(()=>{var d=Oo();return i(d,c),d})()})),E(()=>mt(a,`os-download-path-hint ${e.class??""}`.trim())),a}})}function tl(e){const t=()=>e.actionLabel??"下载",a=()=>e.environment??{kind:"local"},r=()=>e.diskLoading?"加载中...":er(e.availableBytes),s=()=>e.sizeLoading?"加载中...":e.datasetBytes===void 0?"无法从魔搭获取数据集大小":er(e.datasetBytes),c=()=>{if(a().kind==="ssh")return e.remotePath??"";if(a().kind==="scnet")return e.remotePath?.trim()||"(SCNet 默认缓存目录)";const h=`/${e.datasetId}`;return e.targetPath.endsWith(h)?e.targetPath.slice(0,-h.length):e.targetPath},d=()=>{const h=(e.actualPaths??[]).map(f=>f.trim()).filter(Boolean);return h.length>0?{paths:[...new Set(h)],confirmed:!0}:{paths:ys(c(),e.datasetId),confirmed:!1}},l=()=>e.busy?a().kind==="ssh"?"正在提交到远端...":"正在提交下载...":a().kind==="scnet"?"创建下载任务":t()==="更新"?"确认更新":"确认下载",p=()=>!!e.sizeLoading||e.datasetBytes===void 0,y=()=>{if(a().kind==="scnet")return!1;const h=e.datasetBytes,f=e.availableBytes;return h===void 0||f===void 0||f<=0?!1:h>f},b=()=>a().kind==="scnet"||e.diskLoading?!1:e.availableBytes===void 0,u=()=>!!e.busy||!!e.confirmDisabled||a().kind==="ssh"&&!(e.remotePath??"").trim()||p()||!!e.diskLoading||b()||y();return n(v,{get when(){return e.open},get children(){return n(bt,{get children(){var h=zo(),f=h.firstChild,w=f.firstChild,C=w.firstChild,g=C.firstChild,M=g.firstChild,O=g.nextSibling,U=C.nextSibling,V=w.nextSibling,N=V.firstChild,H=N.firstChild,D=H.nextSibling,T=V.nextSibling,z=T.firstChild,L=z.nextSibling;return f.$$click=S=>S.stopPropagation(),i(g,t,M),i(O,()=>e.title),Ne(U,"click",e.onClose,!0),i(f,n(v,{get when(){return e.environmentSelector},get children(){var S=Ro(),I=S.firstChild,B=I.firstChild,re=B.nextSibling;return i(re,()=>e.environmentSelector),S}}),V),i(f,n(v,{get when(){return a().kind==="local"},get fallback(){return[(()=>{var S=jo(),I=S.firstChild,B=I.firstChild,re=B.firstChild,de=I.nextSibling;return i(B,()=>a().kind==="ssh"?"远端存储目录":"SCNet 目标目录",re),de.$$input=J=>e.onRemotePathChange?.(J.currentTarget.value),E(()=>R(de,"placeholder",a().kind==="ssh"?"/work/you/modelscope/hub/datasets":"modelscope/hub/datasets")),E(()=>de.value=e.remotePath??""),S})(),n(cr,{get paths(){return d().paths},get confirmed(){return d().confirmed}})]},get children(){return[(()=>{var S=Lo(),I=S.firstChild,B=I.nextSibling,re=B.nextSibling,de=re.nextSibling;return de.nextSibling,i(B,()=>e.datasetId),i(S,()=>t()==="更新"?"更新到":"下载到",de),S})(),n(cr,{get paths(){return d().paths},get confirmed(){return d().confirmed}})]}}),V),i(f,n(v,{get when(){return d().confirmed},get children(){return Uo()}}),V),i(f,n(v,{get when(){return a().kind==="scnet"},get children(){return Go()}}),V),i(D,s),i(V,n(v,{get when(){return a().kind!=="scnet"},get children(){var S=Bo(),I=S.firstChild,B=I.nextSibling;return i(I,()=>a().kind==="ssh"?"远端可用空间":"项目路径可用空间"),i(B,r),S}}),null),i(f,n(v,{get when(){return y()},get children(){return Ho()}}),T),i(f,n(v,{get when(){return b()},get children(){var S=or();return i(S,()=>a().kind==="ssh"?"无法获取远端可用空间,暂不可下载":"无法获取项目路径可用空间,暂不可下载"),S}}),T),i(f,n(v,{get when(){return ne(()=>!e.sizeLoading)()&&e.datasetBytes===void 0},get children(){return qo()}}),T),i(f,n(v,{get when(){return e.error},get children(){var S=or();return i(S,()=>e.error),S}}),T),Ne(z,"click",e.onClose,!0),Ne(L,"click",e.onConfirm,!0),i(L,l),E(S=>{var I=y()?"":void 0,B=b()?"":void 0,re=e.busy,de=u();return I!==S.e&&R(V,"data-insufficient",S.e=I),B!==S.t&&R(V,"data-unknown",S.t=B),re!==S.a&&(z.disabled=S.a=re),de!==S.o&&(L.disabled=S.o=de),S},{e:void 0,t:void 0,a:void 0,o:void 0}),h}})}})}function al(e){return n(v,{get when(){return e.open},get children(){return n(bt,{get children(){var t=Wo(),a=t.firstChild,r=a.firstChild,s=r.firstChild,c=s.firstChild,d=c.nextSibling,l=s.nextSibling,p=r.nextSibling,y=p.firstChild,b=y.nextSibling,u=p.nextSibling,h=u.firstChild,f=h.nextSibling;return a.$$click=w=>w.stopPropagation(),i(d,()=>e.title),Ne(l,"click",e.onClose,!0),i(b,()=>e.datasetId),Ne(h,"click",e.onClose,!0),Ne(f,"click",e.onConfirm,!0),i(f,()=>e.busy?"正在取消...":"确认取消"),E(w=>{var C=e.busy,g=e.busy;return C!==w.e&&(h.disabled=w.e=C),g!==w.t&&(f.disabled=w.t=g),w},{e:void 0,t:void 0}),t}})}})}function il(e){const[t,a]=P();ge(()=>{if(!e.open){a(void 0);return}e.busy||a(e.copies)});const r=()=>e.busy?t()??e.copies:e.copies,s=()=>new Set(e.selectedKeys),c=()=>r().filter(u=>s().has(u.key)),d=()=>r().length>0&&c().length===r().length,l=()=>{const u=c();return u.length>0&&u.every(h=>h.partial)},p=()=>!!e.busy||c().length===0,y=u=>{if(e.busy)return;const h=new Set(s());h.has(u)?h.delete(u):h.add(u),e.onSelectedKeysChange([...h])},b=()=>{e.busy||e.onSelectedKeysChange(d()?[]:r().map(u=>u.key))};return n(v,{get when(){return e.open},get children(){return n(bt,{get children(){var u=Qo(),h=u.firstChild,f=h.firstChild,w=f.firstChild,C=w.firstChild,g=C.nextSibling,M=w.nextSibling,O=f.nextSibling,U=O.firstChild,V=U.nextSibling;return h.$$click=N=>N.stopPropagation(),i(C,()=>l()?"清理残留文件":"删除数据集"),i(g,()=>e.title),Ne(M,"click",e.onClose,!0),i(h,n(v,{get when(){return e.busy},get children(){return Vo()}}),O),i(h,n(v,{get when(){return!e.busy},get children(){return[(()=>{var N=Ko();return i(N,(()=>{var H=ne(()=>r().length>1);return()=>H()?"该数据集已下载到多个环境。请选择要删除的副本,此操作不可恢复。":ne(()=>!!l())()?["确认清理 ",(()=>{var D=lr();return i(D,()=>e.datasetId),D})()," 未完成的下载残留吗?请选择环境后继续。"]:["请选择要删除 ",(()=>{var D=lr();return i(D,()=>e.datasetId),D})()," 的环境。此操作不可恢复。"]})()),N})(),n(v,{get when(){return r().length>1},get children(){var N=Xo();return N.$$click=b,i(N,()=>d()?"取消全选":"全选"),E(()=>N.disabled=e.busy),N}}),(()=>{var N=Jo();return i(N,n(ce,{get each(){return r()},children:H=>(()=>{var D=Yo(),T=D.firstChild,z=T.nextSibling;return D.$$click=()=>y(H.key),i(T,()=>H.label,null),i(T,n(v,{get when(){return H.partial},get children(){return Zo()}}),null),i(z,n(ce,{get each(){return H.paths},children:L=>(()=>{var S=el();return i(S,L),S})()})),E(L=>{var S=s().has(H.key)?"":void 0,I=s().has(H.key),B=e.busy;return S!==L.e&&R(D,"data-selected",L.e=S),I!==L.t&&R(D,"aria-pressed",L.t=I),B!==L.a&&(D.disabled=L.a=B),L},{e:void 0,t:void 0,a:void 0}),D})()})),N})()]}}),O),Ne(U,"click",e.onClose,!0),Ne(V,"click",e.onConfirm,!0),i(V,(()=>{var N=ne(()=>!!e.busy);return()=>N()?"正在删除...":l()?"确认清理":"确认删除"})()),E(N=>{var H=e.busy,D=e.busy,T=p();return H!==N.e&&(M.disabled=N.e=H),D!==N.t&&(U.disabled=N.t=D),T!==N.a&&(V.disabled=N.a=T),N},{e:void 0,t:void 0,a:void 0}),u}})}})}At(["click","input"]);const St=`请按照下面的内容,使用OneScience,进行后续工作。
1
+ import{d as At,a as n,aC as bt,i,aj as Ne,S as v,b as E,x as R,v as ne,c as P,z as ge,F as ce,t as o,u as mt,aD as ys,aE as er,aF as Da,aG as Wt,aH as Ja,m as ws,p as $s,n as Cs,aI as Ss,aJ as tr,aK as _s,A as je,aL as It,aA as Ze,ac as Ut,aM as Ps,D as W,B as pa,aN as ga,aO as Ua,K as ot,k as ft,a2 as ar,al as gt,aP as Gr,aQ as Br,aR as $i,aS as Ci,aT as ks,aU as Ds,aV as sa,aW as Si,aX as Hr,P as vt,O as Xt,L as Tt,N as fa,aY as As,C as qr,aZ as xs,a_ as Ms,a$ as Is,af as et,b0 as ir,b1 as Fs,b2 as zr,b3 as jr,b4 as Wr,ag as Vr,b5 as ni,b6 as Ts,b7 as Es,b8 as Ns,h as Kr,b9 as Os,ba as Rs,bb as rr,ak as ca,bc as Ls,bd as Aa,be as Ta,bf as Us,bg as ht,bh as xt,Q as _i,bi as Pi,bj as Gs,l as Xr,bk as Bs,bl as Hs,bm as qs,bn as zs,bo as js,bp as Ea,bq as la,br as Ws,bs as Qa,bt as Za,bu as Vs,bv as Ks,bw as ra,bx as Xs,by as Js,bz as Qs,bA as Zs,bB as ki,bC as Ys,bD as eo,bE as to,bF as Di,bG as Ai,bH as Jr,bI as Qr,bJ as si,bK as ao,bL as oi,bM as io,bN as ro,bO as no,bP as zt,bQ as so,bR as oo,bS as Zr,bT as Yr,bU as en,bV as tn,bW as an,bX as lo,ap as co,bY as uo,bZ as mo,b_ as ho,b$ as po,c0 as kt,c1 as go,c2 as fo,c3 as bo,c4 as vo,c5 as nr,c6 as yo,c7 as li,c8 as wo,c9 as rn,ca as nn,cb as $o,cc as sn,o as jt,cd as xi,j as Co,ce as So,cf as _o,r as Po,ah as ko,ai as Ya,cg as on,ch as Do,ci as Ao,w as xo,cj as Mo,ck as sr,cl as Io,cm as Fo,cn as To}from"./index-0c2NLcs4.js";import{d as Eo}from"./onescience-docs-CH5KBTI9.js";var No=o("<div><div class=os-download-path-hint-title></div><ul class=os-download-path-hint-list>"),Oo=o("<li class=break-all>"),Ro=o("<div class=os-download-env-row><div class=os-download-env-field><span class=os-field-label-row><span class=os-field-label>下载到环境</span></span><div>"),Lo=o("<p class=os-section-copy>确认将 <strong></strong> <!>以下路径吗?"),Uo=o("<p class=os-section-copy data-testid=download-register-guide>下载完成不会自动登记。请到 OneData「原始数据」确认接入后再加工或训练。"),Go=o("<p class=os-section-copy>SCNet 侧无法直接访问 ModelScope。确认后将打开科研开发会话,由 Agent 使用 scnet MCP 工具完成下载与传输。"),Bo=o("<div class=os-dataset-download-info-row><span></span><strong>"),Ho=o("<div class=os-upload-error>可用空间不足,无法下载该数据集"),or=o("<div class=os-upload-error>"),qo=o("<div class=os-upload-error>无法从魔搭获取数据集大小,暂不可下载"),zo=o('<div class=os-modal-backdrop role=presentation><div class="os-upload-dialog os-download-dialog"><div class=os-upload-head><div><div class=os-eyebrow>数据集</div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><div class=os-dataset-download-info><div class=os-dataset-download-info-row><span>数据集大小(预估)</span><strong></strong></div></div><div class=os-upload-actions><button type=button class="os-button os-button-secondary">取消</button><button type=button class="os-button os-button-primary">'),jo=o("<label><span class=os-field-label-row><span class=os-field-label><span class=os-field-required aria-hidden=true> *</span></span></span><input>"),Wo=o('<div class=os-modal-backdrop role=presentation><div class="os-upload-dialog os-download-dialog"><div class=os-upload-head><div><div class=os-eyebrow>取消下载</div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><p class=os-section-copy>确认取消 <strong></strong> 的下载吗?已下载的部分文件将被保留,你可以稍后重新下载。</p><div class=os-upload-actions><button type=button class="os-button os-button-secondary">继续下载</button><button type=button class="os-button os-button-primary">'),Vo=o("<p class=os-section-copy>正在删除所选副本…"),Ko=o("<p class=os-section-copy>"),Xo=o("<button type=button class=os-download-copy-all>"),Jo=o("<div class=os-download-copy-list role=group aria-label=选择要删除的环境>"),Qo=o('<div class=os-modal-backdrop role=presentation><div class="os-upload-dialog os-download-dialog"><div class=os-upload-head><div><div class=os-eyebrow></div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><div class=os-upload-actions><button type=button class="os-button os-button-secondary">取消</button><button type=button class="os-button os-button-primary">'),lr=o("<strong>"),Zo=o("<span class=os-download-copy-partial> 未完成"),Yo=o("<button type=button class=os-download-copy-item><span class=os-download-copy-item-title></span><span class=os-download-copy-item-path>"),el=o('<span class="os-download-copy-path break-all">');function cr(e){const t=()=>e.paths.filter(a=>a.trim());return n(v,{get when(){return t().length>0},get children(){var a=No(),r=a.firstChild,s=r.nextSibling;return i(r,()=>e.confirmed?"数据集位置":"数据集实际位置(随 ModelScope 版本可能不同)"),i(s,n(ce,{get each(){return t()},children:c=>(()=>{var d=Oo();return i(d,c),d})()})),E(()=>mt(a,`os-download-path-hint ${e.class??""}`.trim())),a}})}function tl(e){const t=()=>e.actionLabel??"下载",a=()=>e.environment??{kind:"local"},r=()=>e.diskLoading?"加载中...":er(e.availableBytes),s=()=>e.sizeLoading?"加载中...":e.datasetBytes===void 0?"无法从魔搭获取数据集大小":er(e.datasetBytes),c=()=>{if(a().kind==="ssh")return e.remotePath??"";if(a().kind==="scnet")return e.remotePath?.trim()||"(SCNet 默认缓存目录)";const h=`/${e.datasetId}`;return e.targetPath.endsWith(h)?e.targetPath.slice(0,-h.length):e.targetPath},d=()=>{const h=(e.actualPaths??[]).map(f=>f.trim()).filter(Boolean);return h.length>0?{paths:[...new Set(h)],confirmed:!0}:{paths:ys(c(),e.datasetId),confirmed:!1}},l=()=>e.busy?a().kind==="ssh"?"正在提交到远端...":"正在提交下载...":a().kind==="scnet"?"创建下载任务":t()==="更新"?"确认更新":"确认下载",p=()=>!!e.sizeLoading||e.datasetBytes===void 0,y=()=>{if(a().kind==="scnet")return!1;const h=e.datasetBytes,f=e.availableBytes;return h===void 0||f===void 0||f<=0?!1:h>f},b=()=>a().kind==="scnet"||e.diskLoading?!1:e.availableBytes===void 0,u=()=>!!e.busy||!!e.confirmDisabled||a().kind==="ssh"&&!(e.remotePath??"").trim()||p()||!!e.diskLoading||b()||y();return n(v,{get when(){return e.open},get children(){return n(bt,{get children(){var h=zo(),f=h.firstChild,w=f.firstChild,C=w.firstChild,g=C.firstChild,M=g.firstChild,O=g.nextSibling,U=C.nextSibling,V=w.nextSibling,N=V.firstChild,H=N.firstChild,D=H.nextSibling,T=V.nextSibling,z=T.firstChild,L=z.nextSibling;return f.$$click=S=>S.stopPropagation(),i(g,t,M),i(O,()=>e.title),Ne(U,"click",e.onClose,!0),i(f,n(v,{get when(){return e.environmentSelector},get children(){var S=Ro(),I=S.firstChild,B=I.firstChild,re=B.nextSibling;return i(re,()=>e.environmentSelector),S}}),V),i(f,n(v,{get when(){return a().kind==="local"},get fallback(){return[(()=>{var S=jo(),I=S.firstChild,B=I.firstChild,re=B.firstChild,de=I.nextSibling;return i(B,()=>a().kind==="ssh"?"远端存储目录":"SCNet 目标目录",re),de.$$input=J=>e.onRemotePathChange?.(J.currentTarget.value),E(()=>R(de,"placeholder",a().kind==="ssh"?"/work/you/modelscope/hub/datasets":"modelscope/hub/datasets")),E(()=>de.value=e.remotePath??""),S})(),n(cr,{get paths(){return d().paths},get confirmed(){return d().confirmed}})]},get children(){return[(()=>{var S=Lo(),I=S.firstChild,B=I.nextSibling,re=B.nextSibling,de=re.nextSibling;return de.nextSibling,i(B,()=>e.datasetId),i(S,()=>t()==="更新"?"更新到":"下载到",de),S})(),n(cr,{get paths(){return d().paths},get confirmed(){return d().confirmed}})]}}),V),i(f,n(v,{get when(){return d().confirmed},get children(){return Uo()}}),V),i(f,n(v,{get when(){return a().kind==="scnet"},get children(){return Go()}}),V),i(D,s),i(V,n(v,{get when(){return a().kind!=="scnet"},get children(){var S=Bo(),I=S.firstChild,B=I.nextSibling;return i(I,()=>a().kind==="ssh"?"远端可用空间":"项目路径可用空间"),i(B,r),S}}),null),i(f,n(v,{get when(){return y()},get children(){return Ho()}}),T),i(f,n(v,{get when(){return b()},get children(){var S=or();return i(S,()=>a().kind==="ssh"?"无法获取远端可用空间,暂不可下载":"无法获取项目路径可用空间,暂不可下载"),S}}),T),i(f,n(v,{get when(){return ne(()=>!e.sizeLoading)()&&e.datasetBytes===void 0},get children(){return qo()}}),T),i(f,n(v,{get when(){return e.error},get children(){var S=or();return i(S,()=>e.error),S}}),T),Ne(z,"click",e.onClose,!0),Ne(L,"click",e.onConfirm,!0),i(L,l),E(S=>{var I=y()?"":void 0,B=b()?"":void 0,re=e.busy,de=u();return I!==S.e&&R(V,"data-insufficient",S.e=I),B!==S.t&&R(V,"data-unknown",S.t=B),re!==S.a&&(z.disabled=S.a=re),de!==S.o&&(L.disabled=S.o=de),S},{e:void 0,t:void 0,a:void 0,o:void 0}),h}})}})}function al(e){return n(v,{get when(){return e.open},get children(){return n(bt,{get children(){var t=Wo(),a=t.firstChild,r=a.firstChild,s=r.firstChild,c=s.firstChild,d=c.nextSibling,l=s.nextSibling,p=r.nextSibling,y=p.firstChild,b=y.nextSibling,u=p.nextSibling,h=u.firstChild,f=h.nextSibling;return a.$$click=w=>w.stopPropagation(),i(d,()=>e.title),Ne(l,"click",e.onClose,!0),i(b,()=>e.datasetId),Ne(h,"click",e.onClose,!0),Ne(f,"click",e.onConfirm,!0),i(f,()=>e.busy?"正在取消...":"确认取消"),E(w=>{var C=e.busy,g=e.busy;return C!==w.e&&(h.disabled=w.e=C),g!==w.t&&(f.disabled=w.t=g),w},{e:void 0,t:void 0}),t}})}})}function il(e){const[t,a]=P();ge(()=>{if(!e.open){a(void 0);return}e.busy||a(e.copies)});const r=()=>e.busy?t()??e.copies:e.copies,s=()=>new Set(e.selectedKeys),c=()=>r().filter(u=>s().has(u.key)),d=()=>r().length>0&&c().length===r().length,l=()=>{const u=c();return u.length>0&&u.every(h=>h.partial)},p=()=>!!e.busy||c().length===0,y=u=>{if(e.busy)return;const h=new Set(s());h.has(u)?h.delete(u):h.add(u),e.onSelectedKeysChange([...h])},b=()=>{e.busy||e.onSelectedKeysChange(d()?[]:r().map(u=>u.key))};return n(v,{get when(){return e.open},get children(){return n(bt,{get children(){var u=Qo(),h=u.firstChild,f=h.firstChild,w=f.firstChild,C=w.firstChild,g=C.nextSibling,M=w.nextSibling,O=f.nextSibling,U=O.firstChild,V=U.nextSibling;return h.$$click=N=>N.stopPropagation(),i(C,()=>l()?"清理残留文件":"删除数据集"),i(g,()=>e.title),Ne(M,"click",e.onClose,!0),i(h,n(v,{get when(){return e.busy},get children(){return Vo()}}),O),i(h,n(v,{get when(){return!e.busy},get children(){return[(()=>{var N=Ko();return i(N,(()=>{var H=ne(()=>r().length>1);return()=>H()?"该数据集已下载到多个环境。请选择要删除的副本,此操作不可恢复。":ne(()=>!!l())()?["确认清理 ",(()=>{var D=lr();return i(D,()=>e.datasetId),D})()," 未完成的下载残留吗?请选择环境后继续。"]:["请选择要删除 ",(()=>{var D=lr();return i(D,()=>e.datasetId),D})()," 的环境。此操作不可恢复。"]})()),N})(),n(v,{get when(){return r().length>1},get children(){var N=Xo();return N.$$click=b,i(N,()=>d()?"取消全选":"全选"),E(()=>N.disabled=e.busy),N}}),(()=>{var N=Jo();return i(N,n(ce,{get each(){return r()},children:H=>(()=>{var D=Yo(),T=D.firstChild,z=T.nextSibling;return D.$$click=()=>y(H.key),i(T,()=>H.label,null),i(T,n(v,{get when(){return H.partial},get children(){return Zo()}}),null),i(z,n(ce,{get each(){return H.paths},children:L=>(()=>{var S=el();return i(S,L),S})()})),E(L=>{var S=s().has(H.key)?"":void 0,I=s().has(H.key),B=e.busy;return S!==L.e&&R(D,"data-selected",L.e=S),I!==L.t&&R(D,"aria-pressed",L.t=I),B!==L.a&&(D.disabled=L.a=B),L},{e:void 0,t:void 0,a:void 0}),D})()})),N})()]}}),O),Ne(U,"click",e.onClose,!0),Ne(V,"click",e.onConfirm,!0),i(V,(()=>{var N=ne(()=>!!e.busy);return()=>N()?"正在删除...":l()?"确认清理":"确认删除"})()),E(N=>{var H=e.busy,D=e.busy,T=p();return H!==N.e&&(M.disabled=N.e=H),D!==N.t&&(U.disabled=N.t=D),T!==N.a&&(V.disabled=N.a=T),N},{e:void 0,t:void 0,a:void 0}),u}})}})}At(["click","input"]);const St=`请按照下面的内容,使用OneScience,进行后续工作。
2
2
  ————————
3
3
  `,ln={training:{id:"training",label:"模型训练",description:"准备训练配置并做小规模验证"},inference:{id:"inference",label:"推理",description:"加载权重并完成推理验证"},"secondary-development":{id:"secondary-development",label:"二次开发",description:"改结构、做适配或扩展能力"},"parallel-expansion":{id:"parallel-expansion",label:"并行扩展",description:"改造为分布式或多卡训练"},"scientific-research":{id:"scientific-research",label:"科研开发",description:"选择论文或 GitHub 案例,复现并验证"}},rl=Object.values(ln),nl={training:`3)围绕 {title} 完成训练或微调准备与小规模验证:定位训练入口与配置方式,生成 training_config,优先 smoke training(小样本、少步数)。
4
4
  能跑则跑通并汇报;不能跑则列出阻塞项与最小补齐方案。
@@ -0,0 +1 @@
1
+ import{cR as p,i as s,a as l,bc as g,aA as h,cS as u,t as b}from"./index-0c2NLcs4.js";var v=b('<div class="os-client-capability-page os-client-resources-page"><header class=os-client-resources-head><div class=os-client-resources-head-copy><h2>资源配置</h2><p>SSH 连接配置</p></div></header><section class=os-client-capability-selector aria-label=资源配置><div class=os-client-capability-current-domain><span>当前配置:</span><strong>SSH 连接</strong><small></small></div></section><div class="os-client-capability-page-body os-client-resources-body">');function f(){const r=p();return(()=>{var a=v(),e=a.firstChild;e.firstChild;var i=e.nextSibling,t=i.firstChild,n=t.firstChild,c=n.nextSibling,o=c.nextSibling,d=i.nextSibling;return s(e,l(h,{get href(){return g()},class:"os-client-resources-close","aria-label":"关闭资源配置",children:"×"}),null),s(o,()=>r.t("dialog.ssh.description")),s(d,l(u,{variant:"page"})),a})()}export{f as WorkbenchResourcesPage};
@@ -0,0 +1 @@
1
+ import{O as U,P as W,K as q,c as E,D as g,ac as I,i as a,a as o,t as v,cL as u,d as N,k as _,R as H,j as K,cM as y,cN as C,cO as L,A as Q,aA as z,cP as A,S as B,b as G,x as J,F as V,v as X,cQ as Y}from"./index-0c2NLcs4.js";var Z=v("<p class=os-client-skills-login-hint>登录后可同步个人空间技能。 "),ee=v('<div class="os-client-capability-page os-client-skills-page"><section class=os-client-capability-selector aria-label=技能设置><div class=os-client-capability-current-domain><span>技能设置:</span><strong></strong><small></small></div><div class="os-client-capability-tabs os-client-skills-tabs"role=tablist aria-label=技能管理视图></div></section><div class=os-client-capability-page-body>'),te=v("<button type=button><strong></strong><small>");function ae(c){const s=new URLSearchParams(c).get("tab");if(s==="list"||s==="repo"||s==="upload")return s}function ne(){const c=U(),s=W(),P=q(),[b,x]=E(0),R=g(()=>(b(),!!_())),d=g(()=>!R()),[n,M]=E(ae(c.search)??"list"),T=g(()=>{b();const e=_();return e&&(H(e,P.projects.lastCode())||K(e))||""}),p=e=>{M(e),s(A(e),{replace:!0})};I(()=>{const e=()=>x(i=>i+1);window.addEventListener(y,e),window.addEventListener(C,e),window.addEventListener(L,e),Q(()=>{window.removeEventListener(y,e),window.removeEventListener(C,e),window.removeEventListener(L,e)})});const h=()=>u.find(e=>e.id===n())??u[0];return(()=>{var e=ee(),i=e.firstChild,m=i.firstChild,j=m.firstChild,f=j.nextSibling,D=f.nextSibling,w=m.nextSibling,F=i.nextSibling;return a(f,()=>h().label),a(D,()=>h().hint),a(i,o(B,{get when(){return d()},get children(){var t=Z();return t.firstChild,a(t,o(z,{get href(){return`/login?redirect=${encodeURIComponent(A(n()))}`},children:"去登录"}),null),t}}),w),a(w,o(V,{each:u,children:t=>(()=>{var r=te(),S=r.firstChild,O=S.nextSibling;return r.$$click=()=>p(t.id),a(S,()=>t.label),a(O,()=>t.hint),G(l=>{var $=n()===t.id,k=n()===t.id;return $!==l.e&&r.classList.toggle("is-active",l.e=$),k!==l.t&&J(r,"aria-pressed",l.t=k),l},{e:void 0,t:void 0}),r})()})),a(F,o(Y,{get directory(){return X(()=>!!d())()?void 0:T()||void 0},get loginRequired(){return d()},get tab(){return n()},onTabChange:p,variant:"page-body"})),e})()}N(["click"]);export{ne as WorkbenchSkillsPage};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/staplebops-03-Aug82oH0.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/staplebops-03-Aug82oH0.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/staplebops-04-olyHi8qQ.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/staplebops-04-olyHi8qQ.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/staplebops-06-Cj_2vOI4.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/staplebops-06-Cj_2vOI4.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/staplebops-07-cqQEvbIf.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/staplebops-07-cqQEvbIf.aac";export{e as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-0c2NLcs4.js","assets/index-B1w0cY3F.css"])))=>i.map(i=>d[i]);
2
+ import{dA as z,L as H,aY as J,bn as I,C as U,cR as N,A as K,c as Y,z as W,dE as X,dF as R,dG as Z,dH as ee,D as P,dI as te,i as a,a as s,dJ as v,S as $,F as j,dK as ae,v as E,b as q,aV as se,dL as ne,x as re,dh as B,dB as le,dM as oe,dN as ce,o as ie,bt as de,t as c,dz as ue,d as ge}from"./index-0c2NLcs4.js";var pe=c("<div class=os-ssh-dialog-stack>"),he=c('<div class="flex flex-col px-2 pb-2"><div class="flex flex-col p-3 bg-background-base rounded-sm min-h-14 gap-2">'),be=c('<div class="flex flex-col px-2 pb-2"><div class="flex flex-col p-3 bg-background-base rounded-sm min-h-14 gap-2"><div class="flex flex-wrap gap-2 pt-1">'),ve=c('<div class="flex items-center gap-1 w-[360px] rounded-xl shadow-[var(--shadow-lg-border-base)]">'),G=c('<div class="text-14-regular text-text-base text-center my-auto py-2">'),fe=c('<button type=button class="flex items-center gap-2 w-full h-8 pl-3 pr-2 py-1 rounded-md hover:bg-surface-raised-base-hover transition-colors text-left"><div></div><span class="text-14-regular text-text-base truncate flex-1"></span><div>'),me=c('<span class="text-11-regular text-text-weaker shrink-0">· 检测中...'),xe=c('<span class="text-12-regular text-text-weak truncate pl-3.5">'),ye=c('<button type=button class="flex flex-col gap-0.5 w-full px-3 py-1.5 rounded-md hover:bg-surface-raised-base-hover transition-colors text-left"><div class="flex items-center gap-2 min-w-0"><span class="os-ssh-connectivity-dot shrink-0"aria-hidden=true></span><span class="text-14-regular text-text-base truncate"></span><span class="text-11-regular text-text-weaker shrink-0">'),_e=c('<span class="text-11-regular text-text-weaker shrink-0">· ');const $e=()=>{const k=z(),f=le(),m=N(),S=I(),w=oe();return ce(()=>({mutationFn:async i=>{await(k.data.mcp[i]?.status==="connected"?f.client.mcp.disconnect({name:i}):f.client.mcp.connect({name:i}))},onSuccess:()=>S.refetchQueries(w.mcp(de(k.directory))),onError:i=>{ie({variant:"error",title:m.t("common.requestFailed"),description:i instanceof Error?i.message:String(i)})}}))};function Se(k){const f=z(),m=H(),S=J(),w=I(),i=U(),l=N();let C=0,F=!1;K(()=>{F=!0,C+=1});const[L,O]=Y();W(()=>{if(!k.shown()){O(void 0);return}let r=!1;const e=R();(async()=>{const t=await X(S.url);r||e!==R()||t===void 0||(O(t),Z(t),await ee({serverUrl:S.url,queryClient:w,disk:t}).catch(()=>{}))})(),K(()=>{r=!0})});const p=$e(),T=P(()=>{const r=new Set([...Object.keys(m.data.config.mcp??{}),...Object.keys(f.data.mcp??{})]);return Array.from(r).sort((e,t)=>e.localeCompare(t))}),Q=r=>f.data.mcp?.[r]?.status,A=P(()=>{const r=L()??m.data.config.ssh??{};return Object.entries(r).map(([e,t])=>({name:e,config:t})).filter(e=>!!e.config&&typeof e.config=="object"&&"host"in e.config).sort((e,t)=>e.name.localeCompare(t.name))}),V=P(()=>L()??m.data.config.ssh),D=te({ssh:V}),M=r=>{const e=++C;ue(()=>import("./index-0c2NLcs4.js").then(t=>t.dP),__vite__mapDeps([0,1])).then(t=>{F||C!==e||i.show(()=>(()=>{var n=pe();return a(n,s(t.DialogSelectSsh,{initialMode:r})),n})())})};return(()=>{var r=ve();return a(r,s(v,{get"aria-label"(){return l.t("status.popover.ariaLabel")},class:"tabs bg-background-strong rounded-xl overflow-hidden","data-component":"tabs","data-active":"mcp",defaultValue:"mcp",variant:"alt",get children(){return[s(v.List,{"data-slot":"tablist",class:"bg-transparent border-b-0 px-4 pt-2 pb-0 gap-3 h-10",get children(){return[s(v.Trigger,{value:"mcp","data-slot":"tab",class:"text-12-regular",get children(){return l.t("status.popover.tab.mcp")}}),s(v.Trigger,{value:"ssh","data-slot":"tab",class:"text-12-regular",get children(){return l.t("status.popover.tab.ssh")}})]}}),s(v.Content,{value:"mcp",get children(){var e=he(),t=e.firstChild;return a(t,s($,{get when(){return T().length>0},get fallback(){return(()=>{var n=G();return a(n,()=>l.t("dialog.mcp.empty")),n})()},get children(){return s(j,{get each(){return T()},children:n=>{const o=()=>Q(n),h=()=>o()==="connected";return(()=>{var d=fe(),b=d.firstChild,x=b.nextSibling,y=x.nextSibling;return d.$$click=()=>{p.isPending||p.mutate(n)},a(x,n),y.$$click=u=>u.stopPropagation(),a(y,s(ae,{get checked(){return h()},get disabled(){return E(()=>!!p.isPending)()&&p.variables===n},onChange:()=>{p.isPending||p.mutate(n)}})),q(u=>{var g=p.isPending&&p.variables===n,_={"size-2 rounded-full shrink-0":!0,"bg-icon-success-base":h(),"bg-border-weak-base":!h()};return g!==u.e&&(d.disabled=u.e=g),u.t=se(b,_,u.t),u},{e:void 0,t:void 0}),d})()}})}})),e}}),s(v.Content,{value:"ssh",get children(){var e=be(),t=e.firstChild,n=t.firstChild;return a(t,s($,{get when(){return A().length>0},get fallback(){return(()=>{var o=G();return a(o,()=>l.t("dialog.ssh.empty")),o})()},get children(){return s(j,{get each(){return A()},children:o=>{const h=()=>D.byName()[o.name];return(()=>{var d=ye(),b=d.firstChild,x=b.firstChild,y=x.nextSibling,u=y.nextSibling;return d.$$click=()=>M(),a(y,()=>o.name),a(u,(()=>{var g=E(()=>o.config.enabled===!1);return()=>g()?l.t("dialog.ssh.status.disabled"):l.t("dialog.ssh.status.enabled")})()),a(b,s($,{get when(){return h()},children:g=>(()=>{var _=_e();return _.firstChild,a(_,()=>ne(g().connectivity),null),_})()}),null),a(b,s($,{get when(){return E(()=>!!D.loading())()&&!h()},get children(){return me()}}),null),a(d,s($,{get when(){return o.config.remotePath},get children(){var g=xe();return a(g,()=>o.config.remotePath),g}}),null),q(()=>re(x,"data-state",D.loading()&&!h()?"testing":h()?.connectivity??"idle")),d})()}})}}),n),a(n,s(B,{variant:"secondary",class:"h-8 px-3 py-1.5",onClick:()=>M(),get children(){return l.t("status.popover.action.manageSsh")}}),null),a(n,s(B,{variant:"secondary",icon:"plus-small",class:"h-8 px-3 py-1.5",onClick:()=>M("add"),get children(){return l.t("dialog.ssh.addButton")}}),null),e}})]}})),r})()}ge(["click"]);export{Se as StatusPopoverBody};
@@ -0,0 +1 @@
1
+ import{d as Ne,C as tt,ap as Je,cr as Oe,z as it,D as L,cs as at,ct as ke,cu as Ie,cv as ye,cw as Ae,cx as le,cy as lt,aj as Se,i as t,ay as Qe,a,b as w,F as X,x as U,S as g,v as Pe,cz as rt,cA as nt,cB as Ue,cC as st,cD as ct,t as n,cE as ot,co as dt,O as ut,cF as pt,P as gt,L as ht,N as bt,K as vt,c as $t,ac as mt,r as Fe,h as Te,j as Le,k as xe,l as je,m as qe,p as De,n as Re,o as We,w as He,cG as _t,cH as ft,ax as pe,cI as yt,cJ as St,g as Xe,H as Ye,cK as wt,au as xt,aA as Q,b0 as Ke,cp as Ct,az as zt,cq as kt,Q as It}from"./index-0c2NLcs4.js";var Pt=n("<div class=os-client-capability-wizard-papers><h3>相关论文</h3><ul>"),Ft=n("<div class=os-client-capability-wizard-papers><h3>HPC 软件</h3><span>"),Tt=n("<p class=os-client-capability-wizard-note>工作目录与运行环境由系统自动识别,本步只需填写下列业务参数。"),Lt=n("<p class=os-client-capability-wizard-missing>本步还有 <!> 个必填参数未填写。"),jt=n("<p class=os-client-capability-wizard-missing>本步有 <!> 个参数类型不正确,请按标注类型修改。"),qt=n("<p class=os-client-capability-wizard-missing>其他步骤还有 <!> 个必填参数未填写,可点击左侧步骤继续补全。"),Dt=n("<p class=os-client-capability-wizard-missing>其他步骤还有 <!> 个参数类型不正确,可点击左侧步骤修改。"),Rt=n("<small>"),Wt=n("<ul class=os-client-capability-wizard-output-list>"),Ht=n("<div class=os-client-capability-wizard-quality><strong>质量门禁</strong><p>"),Et=n('<div class=os-client-capability-wizard-overlay role=dialog aria-modal=true aria-label=场景向导><button type=button class=os-client-capability-wizard-backdrop aria-label=关闭场景></button><section class=os-client-capability-wizard-dialog><header class=os-client-capability-wizard-head><button type=button class=os-client-capability-wizard-intro-back>返回场景列表</button><div class=os-client-capability-wizard-head-title><h2></h2><p></p></div><button type=button class=os-client-capability-wizard-close aria-label=关闭>×</button></header><div class=os-client-capability-wizard-columns><aside class=os-client-capability-wizard-column aria-label=工作流><h3>工作流</h3><p class=os-client-capability-wizard-note>点击步骤查看对应参数与产出;创建后将自动按序执行。</p><ol class=os-client-capability-wizard-workflow></ol></aside><section class=os-client-capability-wizard-column aria-label=补充信息><div class=os-client-capability-wizard-column-head><h3>本步参数</h3><small>/<!> · 已填 <!>/</small></div><div class=os-client-capability-wizard-fields></div><div class=os-client-capability-wizard-step-nav><button type=button>上一步</button><button type=button>下一步</button></div></section><section class=os-client-capability-wizard-column aria-label="本步产出与 Prompt"><div class=os-client-capability-wizard-outputs aria-label=本步产出><div class=os-client-capability-wizard-outputs-head><span>本步产出</span></div></div><div class=os-client-capability-wizard-column-head><h3>本步 Prompt</h3><small>第 <!> 步</small></div><textarea class=os-client-capability-wizard-prompt rows=12 readonly></textarea></section></div><footer class=os-client-capability-wizard-footer><button type=button>返回能力中心</button><button type=button data-primary=true>创建任务并自动逐步执行'),Mt=n("<li><button type=button class=os-client-capability-wizard-step><span></span><div><p>"),Ot=n('<li><a target=_blank rel="noopener noreferrer">'),At=n("<p>"),Ut=n("<div class=os-client-capability-wizard-step-banner><strong>"),Kt=n("<p class=os-client-capability-wizard-note>本步无需额外用户参数。"),Bt=n("<em>*"),Gt=n("<small class=os-client-capability-wizard-field-type>"),Vt=n("<textarea rows=3>"),Be=n("<em class=os-client-capability-wizard-field-error>"),Nt=n("<label class=os-client-capability-wizard-field><span>"),Jt=n("<input type=text>"),Qt=n("<p class=os-client-capability-wizard-outputs-empty>本步暂无结构化产出清单。"),Xt=n("<li>");function Yt(e){const d=tt(),[l,v]=Je({values:Oe(e.scenario),attempted:!1,activeStepIndex:0});it(()=>{v({values:Oe(e.scenario),attempted:!1,activeStepIndex:0})});const S=L(()=>at(e.scenario)),k=L(()=>S()[l.activeStepIndex]??S()[0]),K=L(()=>{const $=k();return $?ke(e.scenario,$):e.scenario.user_input}),j=L(()=>Ie(e.scenario,l.values)),ge=L(()=>ye(e.scenario.user_input,l.values)),B=L(()=>K().filter($=>Ae($)?!String(l.values[le($)]??"").trim():!1)),oe=L(()=>ye(K(),l.values)),I=L(()=>K().filter($=>String(l.values[le($)]??"").trim()).length),Y=L(()=>{const P=k()?.prompt||e.scenario.ai_prompt?.template||"";return lt(P,l.values)}),V=L(()=>k()?.outputs??[]),re=L(()=>(e.scenario.related_papers??[]).filter($=>!!String($.url??"").trim())),N=($,P)=>{v("values",$,P)},Z=$=>{v("activeStepIndex",$)},Ce=()=>{v("attempted",!0);const $=ye(e.scenario.user_input,l.values);if($.length>0){const q=le($[0]),C=S().findIndex(te=>ke(e.scenario,te).some(r=>le(r)===q));C>=0&&v("activeStepIndex",C);return}const P=Ie(e.scenario,l.values);if(P.length===0){e.onSubmit({values:{...l.values}});return}const de=le(P[0]),ee=S().findIndex(q=>ke(e.scenario,q).some(C=>le(C)===de));ee>=0&&v("activeStepIndex",ee),d.show(()=>a(ot,{title:"请补充必填参数",get reason(){return`还有 ${P.length} 个必填参数未填写,补充后即可创建任务并自动逐步执行。`},fields:P,get values(){return l.values},onConfirm:q=>{const C={...l.values,...q};v("values",C),!(ye(e.scenario.user_input,C).length>0||Ie(e.scenario,C).length>0)&&e.onSubmit({values:C})}}))};return(()=>{var $=Et(),P=$.firstChild,de=P.nextSibling,ee=de.firstChild,q=ee.firstChild,C=q.nextSibling,te=C.firstChild,r=te.nextSibling,h=C.nextSibling,m=ee.nextSibling,b=m.firstChild,D=b.firstChild,J=D.nextSibling,he=J.nextSibling,R=b.nextSibling,be=R.firstChild,ve=be.firstChild,G=ve.nextSibling,ue=G.firstChild,ne=ue.nextSibling,ze=ne.nextSibling,$e=ze.nextSibling;$e.nextSibling;var W=be.nextSibling,me=W.nextSibling,ie=me.firstChild,u=ie.nextSibling,p=R.nextSibling,_=p.firstChild,F=_.firstChild;F.firstChild;var T=_.nextSibling,E=T.firstChild,H=E.nextSibling,se=H.firstChild,M=se.nextSibling;M.nextSibling;var ae=T.nextSibling,ce=m.nextSibling,_e=ce.firstChild,fe=_e.nextSibling;return Se(P,"click",e.onClose,!0),Se(q,"click",e.onClose,!0),t(te,()=>e.scenario.name),t(r,()=>Qe(e.scenario.problem_and_applicability)),Se(h,"click",e.onClose,!0),t(he,a(X,{get each(){return S()},children:(i,s)=>(()=>{var c=Mt(),z=c.firstChild,O=z.firstChild,f=O.nextSibling,y=f.firstChild;return z.$$click=()=>Z(s()),t(O,()=>s()+1),t(y,()=>i.name),w(()=>c.classList.toggle("is-active",l.activeStepIndex===s())),c})()})),t(b,a(g,{get when(){return re().length>0},get children(){var i=Pt(),s=i.firstChild,c=s.nextSibling;return t(c,a(X,{get each(){return re()},children:z=>(()=>{var O=Ot(),f=O.firstChild;return t(f,()=>z.title),w(y=>{var A=z.url,o=z.title;return A!==y.e&&U(f,"href",y.e=A),o!==y.t&&U(f,"title",y.t=o),y},{e:void 0,t:void 0}),O})()})),i}}),null),t(b,a(g,{get when(){return e.scenario.HPC},get children(){var i=Ft(),s=i.firstChild,c=s.nextSibling;return t(c,()=>e.scenario.HPC),i}}),null),t(G,()=>l.activeStepIndex+1,ue),t(G,()=>S().length,ne),t(G,I,$e),t(G,()=>K().length,null),t(R,a(g,{get when(){return k()},children:i=>(()=>{var s=Ut(),c=s.firstChild;return t(c,()=>i().name),t(s,a(g,{get when(){return i().purpose?.trim()},get children(){var z=At();return t(z,()=>i().purpose),z}}),null),s})()}),W),t(R,a(g,{get when(){return e.scenario.system_auto_detection?.fields?.length},get children(){return Tt()}}),W),t(R,a(g,{get when(){return Pe(()=>!!l.attempted)()&&B().length>0},get children(){var i=Lt(),s=i.firstChild,c=s.nextSibling;return c.nextSibling,t(i,()=>B().length,c),i}}),W),t(R,a(g,{get when(){return oe().length>0},get children(){var i=jt(),s=i.firstChild,c=s.nextSibling;return c.nextSibling,t(i,()=>oe().length,c),i}}),W),t(R,a(g,{get when(){return Pe(()=>!!(l.attempted&&j().length>0))()&&B().length===0},get children(){var i=qt(),s=i.firstChild,c=s.nextSibling;return c.nextSibling,t(i,()=>j().length,c),i}}),W),t(R,a(g,{get when(){return Pe(()=>!!(l.attempted&&ge().length>0))()&&oe().length===0},get children(){var i=Dt(),s=i.firstChild,c=s.nextSibling;return c.nextSibling,t(i,()=>ge().length,c),i}}),W),t(W,a(g,{get when(){return K().length>0},get fallback(){return Kt()},get children(){return a(X,{get each(){return K()},children:i=>{const s=le(i),c=Ae(i),z=l.attempted&&c&&!String(l.values[s]??"").trim(),O=rt(i,l.values[s]??""),f=!!O&&(l.attempted||!!String(l.values[s]??"").trim());return(()=>{var y=Nt(),A=y.firstChild;return y.classList.toggle("is-required",!!c),y.classList.toggle("is-invalid",!!(z||f)),t(A,()=>nt(i),null),t(A,a(g,{when:c,get children(){return Bt()}}),null),t(A,a(g,{get when(){return i.input_type},get children(){var o=Gt();return t(o,()=>i.input_type),o}}),null),t(y,a(g,{get when(){return st(i)},get fallback(){return(()=>{var o=Jt();return o.$$input=x=>N(s,x.currentTarget.value),w(x=>{var Ee=i.input_type==="int"||i.input_type==="float"?"decimal":void 0,Me=Ue(i);return Ee!==x.e&&U(o,"inputmode",x.e=Ee),Me!==x.t&&U(o,"placeholder",x.t=Me),x},{e:void 0,t:void 0}),w(()=>o.value=l.values[s]??""),o})()},get children(){var o=Vt();return o.$$input=x=>N(s,x.currentTarget.value),w(()=>U(o,"placeholder",Ue(i))),w(()=>o.value=l.values[s]??""),o}}),null),t(y,a(g,{when:f,get children(){var o=Be();return t(o,O),o}}),null),t(y,a(g,{when:z&&!f,get children(){var o=Be();return t(o,()=>ct(i,"")),o}}),null),y})()}})}})),ie.$$click=()=>Z(Math.max(0,l.activeStepIndex-1)),u.$$click=()=>Z(Math.min(S().length-1,l.activeStepIndex+1)),t(F,a(g,{get when(){return k()?.result_subfolder},get children(){var i=Rt();return t(i,()=>k()?.result_subfolder),w(()=>U(i,"title",k()?.result_subfolder)),i}}),null),t(_,a(g,{get when(){return V().length>0},get fallback(){return Qt()},get children(){var i=Wt();return t(i,a(X,{get each(){return V()},children:s=>(()=>{var c=Xt();return t(c,s),c})()})),i}}),null),t(_,a(g,{get when(){return k()?.quality_gate},get children(){var i=Ht(),s=i.firstChild,c=s.nextSibling;return t(c,()=>k()?.quality_gate),i}}),null),t(H,()=>l.activeStepIndex+1,M),Se(_e,"click",e.onClose,!0),fe.$$click=Ce,w(i=>{var s=l.activeStepIndex<=0,c=l.activeStepIndex>=S().length-1;return s!==i.e&&(ie.disabled=i.e=s),c!==i.t&&(u.disabled=i.t=c),i},{e:void 0,t:void 0}),w(()=>ae.value=Y()),$})()}Ne(["click","input"]);function Zt(e,d){return e.replace(/\{\{(\w+)\}\}/g,(l,v)=>d[v]??"")}var ei=n("<div class=os-client-capability-wizard-overlay role=dialog aria-modal=true aria-label=能力向导>"),ti=n("<section class=os-client-capability-wizard-dialog><p>未找到该能力。"),ii=n("<div class=os-client-capability-wizard-scenario-group><span>完整工作流场景"),ai=n("<section class=os-client-capability-wizard-dialog><header class=os-client-capability-wizard-head><div class=os-client-capability-wizard-head-title><h2></h2></div></header><div class=os-client-capability-wizard-columns><aside class=os-client-capability-wizard-column aria-label=你想做什么?><h3>你想做什么?</h3><div class=os-client-capability-wizard-scenarios></div></aside><section class=os-client-capability-wizard-column aria-label=补充信息><h3>补充信息</h3></section><section class=os-client-capability-wizard-column aria-label=起始任务><div class=os-client-capability-wizard-column-head><h3>起始任务</h3><button type=button>重新生成</button></div><textarea class=os-client-capability-wizard-prompt rows=14></textarea></section></div><footer class=os-client-capability-wizard-footer><button type=button data-primary=true>创建任务"),li=n("<section class=os-client-capability-wizard-dialog><p>「<!>」暂无 OneScience 源码或魔搭映射,当前不可使用。"),ri=n("<button type=button><strong></strong><p>"),ni=n("<button type=button><strong></strong><p></p><small> · <!> 步"),Ge=n("<p class=os-client-capability-wizard-empty>请先选择任务场景。"),si=n("<div class=os-client-capability-wizard-required aria-label=该能力需要什么数据><h4>该能力需要什么数据</h4><ul>"),ci=n("<div class=os-client-capability-wizard-middle><div class=os-client-capability-wizard-fields></div><div class=os-client-capability-wizard-summary aria-label=当前能力配置><h4>当前能力配置</h4><dl><div><dt>当前能力</dt><dd></dd></div><div><dt>关键配置</dt><dd></dd></div><div><dt>运行资源</dt><dd></dd></div><div><dt>交付结果</dt><dd>"),oi=n("<textarea rows=3>"),di=n("<label class=os-client-capability-wizard-field><span>"),ui=n("<input type=text>"),pi=n("<li>"),gi=n("<div class=os-client-capability-wizard-right-head><strong></strong><p>"),hi=n("<div class=os-client-capability-wizard-outputs aria-label=预计产出><span>预计产出</span><p>");function bi(e){return e==="hpc"?"软件介绍":"模型介绍"}function vi(e){return`使用 ${e} 开始科研任务`}function $i(e){if(!Fe({navigate:e.navigate,action:{type:"prompt",prompt:e.prompt,title:e.title,workflow:e.workflow},isLoggedIn:e.isLoggedIn}))return!1;const d=Te({path:e.path,recent:e.recent,lastCodeWorkspace:e.lastCodeWorkspace})||Le(xe())||je(document,e.path);if(!d)return!1;const l=qe(d);return De(l,e.prompt),Re(l),e.openProject?.(d),e.touchCode?.(d),We({variant:"success",title:`已为你创建「${e.title}」任务`}),e.navigate(He(d)),!0}function Ze(e){const d=_t(e.scenario),l=d[0];if(!l?.promptTemplate.trim()||!Fe({navigate:e.navigate,action:{type:"scenario-run",scenarioId:e.scenario.id||e.scenario.scenario_id,values:e.values},isLoggedIn:e.isLoggedIn}))return!1;const v=Te({path:e.path,recent:e.recent,lastCodeWorkspace:e.lastCodeWorkspace})||Le(xe())||je(document,e.path);if(!v)return!1;const S=qe(v);return ft(S,{title:e.scenario.name,scenarioId:pe(e.scenario),values:e.values,steps:d}),yt("todo"),De(S,St(l,e.values)),Re(S),e.openProject?.(v),e.touchCode?.(v),We({variant:"success",title:`已创建「${e.scenario.name}」`,description:`将按 ${d.length} 步自动依次执行,缺参或失败时暂停`}),e.navigate(He(v)),!0}function et(e){if(!Fe({navigate:e.navigate,action:{type:"wizard",resourceId:e.resourceId,scenarioId:e.scenarioId,values:e.values,prompt:e.prompt},isLoggedIn:e.isLoggedIn}))return!1;const d=Xe(e.resourceId),l=d?.scenarios.find(k=>k.id===e.scenarioId);if(!d||!l||!Ye(d))return!1;const v=Te({path:e.path,recent:e.recent,lastCodeWorkspace:e.lastCodeWorkspace})||Le(xe())||je(document,e.path);if(!v)return!1;const S=qe(v);return De(S,e.prompt),Re(S),e.openProject?.(v),e.touchCode?.(v),We({variant:"success",title:`已为你创建 ${d.name}「${l.title}」任务`}),e.navigate(He(v)),!0}function we(e,d){return Zt(e.promptTemplate,d)}function Ve(e){return Object.fromEntries(e.fields.map(d=>[d.id,mi(d)]))}function mi(e){return e.default?.trim()?e.default:e.placeholder?.replace(/^例如[::]\s*/,"").trim()??""}function _i(){const e=dt(),d=ut(),[l]=pt(),v=gt(),S=ht(),k=bt(),K=vt(),j=()=>Xe(e.id??""),ge=()=>kt(d.search),B=()=>Ct(d.search,{category:j()?.category??"onemodel",domain:j()?.domain??"materials"}),oe=()=>zt(e.id??"",ge()),[I,Y]=Je({scenarioId:"",values:{},prompt:""}),[V,re]=$t(""),N=()=>j()?.scenarios.find(r=>r.id===I.scenarioId),Z=L(()=>{const r=j();return r?wt({domain:r.domain,name:r.name,id:r.id,category:r.category}):[]}),Ce=L(()=>{const r=V();if(r)return xt(r)??Z().find(h=>pe(h)===r)}),$=()=>({navigate:v,isLoggedIn:!!xe(),path:S.data.path,recent:It(S.data.project),lastCodeWorkspace:K.projects.lastCode(),openProject:r=>k.projects.open(r),touchCode:r=>K.projects.touchCode(r)}),P=()=>{const r=N();r&&Y("prompt",we(r,I.values))};mt(()=>{const r=j();if(!r?.scenarios.length)return;const h=l.scenario,b=(h?r.scenarios.find(J=>J.id===h):void 0)??r.scenarios[0],D=Ve(b);Y({scenarioId:b.id,values:D,prompt:we(b,D)})});const de=r=>{const m=j()?.scenarios.find(D=>D.id===r);if(!m)return;re("");const b=Ve(m);Y({scenarioId:m.id,values:b,prompt:we(m,b)})},ee=r=>{re(r)},q=(r,h)=>{const m=N();if(!m)return;const b={...I.values,[r]:h};Y({values:b,prompt:we(m,b)})},C=()=>{const r=j(),h=N();!r||!h||et({resourceId:r.id,scenarioId:h.id,values:{...I.values},prompt:I.prompt,...$()})},te=(r,h)=>{Ze({scenario:r,values:h.values,...$()})};return(()=>{var r=ei();return t(r,a(g,{get when(){return j()},get fallback(){return[a(Q,{class:"os-client-capability-wizard-backdrop",get href(){return Ke()},"aria-label":"关闭向导"}),(()=>{var h=ti();return h.firstChild,t(h,a(Q,{get href(){return Ke()},children:"返回能力中心"}),null),h})()]},children:h=>a(g,{get when(){return Ye(h())},get fallback(){return[a(Q,{class:"os-client-capability-wizard-backdrop",get href(){return B()},"aria-label":"关闭向导"}),(()=>{var m=li(),b=m.firstChild,D=b.firstChild,J=D.nextSibling;return J.nextSibling,t(b,()=>h().name,J),t(m,a(Q,{get href(){return B()},children:"返回模型库"}),null),m})()]},get children(){return[a(Q,{class:"os-client-capability-wizard-backdrop",get href(){return B()},"aria-label":"关闭向导"}),(()=>{var m=ai(),b=m.firstChild,D=b.firstChild,J=D.firstChild,he=b.nextSibling,R=he.firstChild,be=R.firstChild,ve=be.nextSibling,G=R.nextSibling;G.firstChild;var ue=G.nextSibling,ne=ue.firstChild,ze=ne.firstChild,$e=ze.nextSibling,W=ne.nextSibling,me=he.nextSibling,ie=me.firstChild;return t(b,a(Q,{class:"os-client-capability-wizard-intro-back",get href(){return oe()},get children(){return bi(h().category)}}),D),t(J,()=>vi(h().name)),t(b,a(Q,{class:"os-client-capability-wizard-close",get href(){return B()},"aria-label":"关闭",children:"×"}),null),t(ve,a(X,{get each(){return h().scenarios},children:u=>(()=>{var p=ri(),_=p.firstChild,F=_.nextSibling;return p.$$click=()=>de(u.id),t(_,()=>u.title),t(F,()=>u.summary),w(T=>{var E=!V()&&I.scenarioId===u.id,H=!V()&&I.scenarioId===u.id;return E!==T.e&&p.classList.toggle("is-active",T.e=E),H!==T.t&&U(p,"aria-pressed",T.t=H),T},{e:void 0,t:void 0}),p})()}),null),t(ve,a(g,{get when(){return Z().length>0},get children(){var u=ii();return u.firstChild,t(u,a(X,{get each(){return Z()},children:p=>(()=>{var _=ni(),F=_.firstChild,T=F.nextSibling,E=T.nextSibling,H=E.firstChild,se=H.nextSibling;return se.nextSibling,_.$$click=()=>ee(pe(p)),t(F,()=>p.name),t(T,()=>Qe(p.problem_and_applicability)),t(E,()=>p.scenario_id,H),t(E,()=>p.workflow_steps?.length||p.workflow.length,se),w(M=>{var ae=V()===pe(p),ce=V()===pe(p);return ae!==M.e&&_.classList.toggle("is-active",M.e=ae),ce!==M.t&&U(_,"aria-pressed",M.t=ce),M},{e:void 0,t:void 0}),_})()}),null),u}}),null),t(G,a(g,{get when(){return N()},keyed:!0,get fallback(){return Ge()},children:u=>(()=>{var p=ci(),_=p.firstChild,F=_.nextSibling,T=F.firstChild,E=T.nextSibling,H=E.firstChild,se=H.firstChild,M=se.nextSibling,ae=H.nextSibling,ce=ae.firstChild,_e=ce.nextSibling,fe=ae.nextSibling,i=fe.firstChild,s=i.nextSibling,c=fe.nextSibling,z=c.firstChild,O=z.nextSibling;return t(_,a(X,{get each(){return u.fields},children:f=>(()=>{var y=di(),A=y.firstChild;return t(A,()=>f.label),t(y,a(g,{get when(){return f.multiline},get fallback(){return(()=>{var o=ui();return o.$$input=x=>q(f.id,x.currentTarget.value),w(()=>U(o,"placeholder",f.placeholder)),w(()=>o.value=I.values[f.id]??""),o})()},get children(){var o=oi();return o.$$input=x=>q(f.id,x.currentTarget.value),w(()=>U(o,"placeholder",f.placeholder)),w(()=>o.value=I.values[f.id]??""),o}}),null),y})()})),t(M,()=>u.capabilitySummary.current),t(_e,()=>u.capabilitySummary.keyConfig),t(s,()=>u.capabilitySummary.resources),t(O,()=>u.capabilitySummary.deliverables),t(p,a(g,{get when(){return u.requiredData?.length},get children(){var f=si(),y=f.firstChild,A=y.nextSibling;return t(A,a(X,{get each(){return u.requiredData},children:o=>(()=>{var x=pi();return t(x,o),x})()})),f}}),null),p})()}),null),t(ue,a(g,{get when(){return N()},keyed:!0,get fallback(){return Ge()},children:u=>[(()=>{var p=gi(),_=p.firstChild,F=_.nextSibling;return t(_,()=>u.title),t(F,()=>u.summary),p})(),(()=>{var p=hi(),_=p.firstChild,F=_.nextSibling;return t(F,()=>u.expectedOutputs),p})()]}),ne),$e.$$click=P,W.$$input=u=>Y("prompt",u.currentTarget.value),t(me,a(Q,{get href(){return B()},children:"返回能力中心"}),ie),ie.$$click=C,w(()=>ie.disabled=!I.prompt.trim()),w(()=>W.value=I.prompt),m})(),a(g,{get when(){return Ce()},children:m=>a(Yt,{get scenario(){return m()},onClose:()=>re(""),onSubmit:b=>te(m(),b)})})]}})})),r})()}Ne(["click","input"]);const yi=Object.freeze(Object.defineProperty({__proto__:null,CapabilityWizardPage:_i,startCapabilityPromptTask:$i,startCapabilityScenarioRunTask:Ze,startCapabilityWizardTask:et},Symbol.toStringTag,{value:"Module"}));export{Yt as S,Ze as a,et as b,$i as s,yi as w};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/yup-01-BtRq6dLN.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/yup-01-BtRq6dLN.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/yup-03-BHLEoqSS.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/yup-03-BHLEoqSS.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/yup-04-C7yadpJT.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/yup-04-C7yadpJT.aac";export{e as default};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609151008/assets/yup-05-CuuaeyjC.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/yup-05-CuuaeyjC.aac";export{e as default};
@@ -1,5 +1,5 @@
1
1
  const e={"command.category.suggested":"建议","command.category.view":"视图","command.category.project":"项目","command.category.provider":"提供商","command.category.server":"服务器","command.category.session":"会话","command.category.theme":"主题","command.category.language":"语言","command.category.file":"文件","command.category.context":"上下文","command.category.terminal":"终端","command.category.model":"模型","command.category.mcp":"MCP","command.category.agent":"智能体","command.category.permissions":"权限","command.category.workspace":"工作区","command.category.settings":"设置","theme.scheme.system":"系统","theme.scheme.light":"浅色","theme.scheme.dark":"深色","command.sidebar.toggle":"切换侧边栏","titlebar.sidebar.label":"会话列表","command.project.open":"打开项目","command.project.createFolder":"新建项目","command.project.upload":"上传本地文件到项目","command.provider.connect":"连接提供商","command.server.switch":"切换服务器","command.settings.open":"打开设置","command.session.previous":"上一个会话","command.session.next":"下一个会话","command.session.previous.unseen":"上一个未读会话","command.session.next.unseen":"下一个未读会话","command.session.archive":"归档会话","command.palette":"命令面板","command.theme.cycle":"切换主题","command.theme.set":"使用主题:{{theme}}","command.theme.scheme.cycle":"切换配色方案","command.theme.scheme.set":"使用配色方案:{{scheme}}","command.language.cycle":"切换语言","command.language.set":"使用语言:{{language}}","command.session.new":"新建会话","command.file.open":"打开文件","command.tab.close":"关闭标签页","command.context.addSelection":"将所选内容添加到上下文","command.context.addSelection.description":"添加当前文件中选中的行","command.input.focus":"聚焦输入框","command.terminal.toggle":"切换终端","command.fileTree.toggle":"切换文件树","command.fileTree.sync":"同步文件","command.fileTree.sync.description":"从磁盘刷新文件树和更改列表","command.review.toggle":"切换审查面板","command.terminal.new":"新建终端","command.terminal.new.description":"创建新的终端标签页","terminal.fullscreen.enter":"全屏终端","terminal.fullscreen.exit":"退出全屏","command.steps.toggle":"切换步骤","command.steps.toggle.description":"显示或隐藏当前消息的步骤","command.message.previous":"上一条消息","command.message.previous.description":"跳转到上一条用户消息","command.message.next":"下一条消息","command.message.next.description":"跳转到下一条用户消息","command.model.choose":"选择模型","command.model.choose.description":"选择不同的模型","command.mcp.toggle":"切换 MCPs","command.mcp.toggle.description":"切换 MCPs","command.agent.cycle":"切换智能体","command.agent.cycle.description":"切换到下一个智能体","command.agent.cycle.reverse":"反向切换智能体","command.agent.cycle.reverse.description":"切换到上一个智能体","command.model.variant.cycle":"切换思考强度","command.model.variant.cycle.description":"切换到下一个强度等级","command.prompt.mode.shell":"Shell","command.prompt.mode.normal":"Prompt","command.permissions.autoaccept.enable":"自动接受权限","command.permissions.autoaccept.disable":"停止自动接受权限","command.workspace.toggle":"切换工作区","command.workspace.toggle.description":"在侧边栏启用或禁用多个工作区","command.session.undo":"撤销","command.session.undo.description":"撤销上一条消息","command.session.redo":"重做","command.session.redo.description":"重做上一条撤销的消息","command.session.compact":"精简会话","command.session.compact.description":"总结会话以减少上下文大小","command.session.fork":"从消息分叉","command.session.fork.description":"从之前的消息创建新会话","command.session.share":"分享会话","command.session.share.description":"分享此会话并将链接复制到剪贴板","command.session.unshare":"取消分享会话","command.session.unshare.description":"停止分享此会话","palette.search.placeholder":"搜索文件、命令和会话","palette.empty":"未找到结果","palette.group.commands":"命令","palette.group.files":"文件","dialog.provider.search.placeholder":"搜索提供商","dialog.provider.empty":"未找到提供商","dialog.provider.group.popular":"热门","dialog.provider.group.other":"其他","dialog.provider.tag.recommended":"推荐","dialog.provider.tag.connected":"已连接","dialog.provider.opencode.note":"使用 OpenCode Zen 或 API 密钥连接","dialog.provider.opencode.tagline":"可靠的优化模型","dialog.provider.opencodeGo.tagline":"适合所有人的低成本订阅","dialog.provider.anthropic.note":"使用 Claude Pro/Max 或 API 密钥连接","dialog.provider.copilot.note":"使用 Copilot 或 API 密钥连接","dialog.provider.openai.note":"远程/网页请用 headless 或 API 密钥;browser 登录仅限本机 OneCode","dialog.provider.google.note":"使用 Google 账号或 API 密钥连接","dialog.provider.openrouter.note":"使用 OpenRouter 账号或 API 密钥连接","dialog.provider.vercel.note":"使用 Vercel 账号或 API 密钥连接","dialog.model.select.title":"选择模型","dialog.model.search.placeholder":"搜索模型","dialog.model.empty":"未找到模型","dialog.model.manage":"管理模型","dialog.model.manage.description":"自定义模型选择器中显示的模型。","dialog.model.manage.provider.toggle":"切换所有 {{provider}} 模型","dialog.model.unpaid.freeModels.title":"OpenCode 提供的免费模型","dialog.model.unpaid.addMore.title":"从热门提供商添加更多模型","dialog.provider.viewAll":"查看更多提供商","provider.connect.title":"连接 {{provider}}","provider.connect.title.anthropicProMax":"使用 Claude Pro/Max 登录","provider.connect.selectMethod":"选择 {{provider}} 的登录方式。","provider.connect.method.apiKey":"API 密钥","provider.connect.status.inProgress":"正在授权...","provider.connect.status.connecting":"正在连接...","provider.connect.status.waiting":"等待授权...","provider.connect.status.failed":"授权失败:{{error}}","provider.connect.apiKey.description":"输入你的 {{provider}} API 密钥以连接帐户,并在 OpenCode 中使用 {{provider}} 模型。","provider.connect.apiKey.label":"{{provider}} API 密钥","provider.connect.apiKey.placeholder":"API 密钥","provider.connect.apiKey.required":"API 密钥为必填项","provider.connect.opencodeZen.line1":"OpenCode Zen 为你提供一组精选的可靠优化模型,用于代码智能体。","provider.connect.opencodeZen.line2":"只需一个 API 密钥,你就能使用 Claude、GPT、Gemini、GLM 等模型。","provider.connect.opencodeZen.visit.prefix":"访问 ","provider.connect.opencodeZen.visit.link":"opencode.ai/zen","provider.connect.opencodeZen.visit.suffix":" 获取你的 API 密钥。","provider.connect.oauth.code.visit.prefix":"访问 ","provider.connect.oauth.code.visit.link":"此链接","provider.connect.oauth.code.visit.suffix":" 获取授权码,以连接你的帐户并在 OpenCode 中使用 {{provider}} 模型。","provider.connect.oauth.code.label":"{{method}} 授权码","provider.connect.oauth.code.placeholder":"授权码","provider.connect.oauth.code.required":"授权码为必填项","provider.connect.oauth.code.invalid":"授权码无效","provider.connect.oauth.auto.visit.prefix":"访问 ","provider.connect.oauth.auto.visit.link":"此链接","provider.connect.oauth.auto.visit.suffix":" 并输入以下代码,以连接你的帐户并在 OpenCode 中使用 {{provider}} 模型。","provider.connect.oauth.auto.confirmationCode":"确认码","provider.connect.toast.connected.title":"{{provider}} 已连接","provider.connect.toast.connected.description":"现在可以使用 {{provider}} 模型了。","provider.custom.title":"自定义提供商","provider.custom.description.prefix":"配置与 OpenAI 兼容的提供商。请查看","provider.custom.description.link":"提供商配置文档","provider.custom.description.suffix":"。","provider.custom.field.providerID.label":"提供商 ID","provider.custom.field.providerID.placeholder":"myprovider","provider.custom.field.providerID.description":"使用小写字母、数字、连字符或下划线","provider.custom.field.providerID.hint":"本条配置的内部标识。同一中转站配置多个模型时请使用不同标识以便区分,通常可保留自动生成的值。","provider.custom.field.name.label":"名称","provider.custom.field.name.placeholder":"我的 AI 提供商","provider.custom.field.name.hint":"列表里显示的名称。默认取基础 URL 的域名;内部标识会按地址自动生成。","provider.custom.field.providerID.readonly":"内部标识:{{id}}(编辑时不可更改)","provider.custom.field.baseURL.label":"基础 URL","provider.custom.field.baseURL.placeholder":"https://api.myprovider.com/v1","provider.custom.field.baseURL.hint":"中转站 / OpenAI 兼容地址,一般以 /v1 结尾。","provider.custom.field.apiKey.label":"API 密钥","provider.custom.field.apiKey.placeholder":"API 密钥","provider.custom.field.apiKey.description":"可选。如果你通过请求头管理认证,可留空。","provider.custom.field.apiKey.hint":"中转站提供的密钥。多数情况下需要填写。","provider.custom.field.apiKey.keepPlaceholder":"留空则保持原密钥","provider.custom.field.apiKey.keepDescription":"可选。留空将保留已配置的 API 密钥。","provider.custom.field.apiKey.configuredHint":"已配置 API 密钥,留空将保持不变。重新填写会覆盖原密钥。","provider.custom.simple.hint":"填写中转站地址和 API 密钥,查询并勾选可用模型即可。名称可按需修改,默认取自地址域名。","provider.custom.advanced.show":"显示高级选项","provider.custom.advanced.hide":"隐藏高级选项","provider.custom.advanced.hint":"提供商 ID、显示名称与请求头为可选项;默认分别使用自动标识 / 域名 / 模型 ID。","provider.custom.models.label":"模型","provider.custom.models.id.label":"模型 ID","provider.custom.models.id.placeholder":"gpt-5.6-luna","provider.custom.models.id.hint":"可手动填写,或点击下方按钮从中转站 /v1/models 查询后勾选。","provider.custom.models.query":"查询当前中转站的可用模型","provider.custom.models.query.loading":"正在查询…","provider.custom.models.query.empty":"中转站未返回可用模型,请手动填写模型 ID。","provider.custom.models.query.needURL":"请先填写基础 URL。","provider.custom.models.query.needKey":"请先填写 API 密钥后再查询。","provider.custom.models.query.picked":"已选择 {{count}} 个模型","provider.custom.models.name.label":"显示名称","provider.custom.models.name.placeholder":"显示名称","provider.custom.models.name.section":"模型显示名称(可选)","provider.custom.models.name.hint":"出现在模型下拉里。留空则直接使用模型 ID。","provider.custom.models.remove":"移除模型","provider.custom.models.add":"添加模型","provider.custom.headers.label":"请求头(可选)","provider.custom.headers.hint":"多数中转站无需填写。仅在服务商要求额外 Header 时添加。","provider.custom.headers.key.label":"请求头","provider.custom.headers.key.placeholder":"Header-Name","provider.custom.headers.value.label":"值","provider.custom.headers.value.placeholder":"value","provider.custom.headers.remove":"移除请求头","provider.custom.headers.add":"添加请求头","provider.custom.error.providerID.required":"提供商 ID 为必填项","provider.custom.error.providerID.format":"请使用小写字母、数字、连字符或下划线","provider.custom.error.providerID.exists":"该提供商 ID 已存在","provider.custom.error.name.required":"显示名称为必填项","provider.custom.error.baseURL.required":"基础 URL 为必填项","provider.custom.error.baseURL.format":"必须以 http:// 或 https:// 开头","provider.custom.error.required":"必填","provider.custom.error.duplicate":"重复","provider.custom.error.probe.auth":"API 密钥认证失败,未保存完整密钥。","provider.custom.error.probe.network":"无法连接基础 URL,请检查地址与网络。","provider.custom.error.probe.timeout":"连接超时,请检查基础 URL 与网络。","provider.custom.error.probe.failed":"提供商接口探测失败。","provider.custom.edit.title":"编辑自定义提供商","provider.custom.toast.updated.title":"{{provider}} 已更新","provider.custom.toast.updated.description":"后续调用将使用新的配置。","provider.disconnect.toast.disconnected.title":"{{provider}} 已断开连接","provider.disconnect.toast.disconnected.description":"{{provider}} 模型已不再可用。","model.tag.free":"免费","model.tag.limited":"限免","model.tag.latest":"最新","model.provider.anthropic":"Anthropic","model.provider.openai":"OpenAI","model.provider.google":"Google","model.provider.xai":"xAI","model.provider.meta":"Meta","model.input.text":"文本","model.input.image":"图像","model.input.audio":"音频","model.input.video":"视频","model.input.pdf":"pdf","model.tooltip.allows":"支持:{{inputs}}","model.tooltip.reasoning.allowed":"支持推理","model.tooltip.reasoning.none":"不支持推理","model.tooltip.context":"上下文上限 {{limit}}","common.search.placeholder":"搜索","common.goBack":"返回","common.goForward":"前进","common.loading":"加载中","common.loading.ellipsis":"...","common.cancel":"取消","common.confirm":"确认","common.confirming":"确认中...","common.connect":"连接","common.disconnect":"断开连接","common.continue":"提交","common.submit":"提交","common.save":"保存","common.saving":"保存中...","common.default":"默认","common.attachment":"附件","prompt.placeholder.shell":"输入 shell 命令... {{example}}","prompt.placeholder.normal":"使用 OneScience {{example}}","prompt.placeholder.simple":"使用 OneScience...","prompt.placeholder.summarizeComments":"总结评论…","prompt.placeholder.summarizeComment":"总结该评论…","prompt.mode.shell":"Shell","prompt.mode.normal":"Prompt","prompt.mode.shell.exit":"按 esc 退出","prompt.example.1":"修复代码库中的一个 TODO","prompt.example.2":"这个项目的技术栈是什么?","prompt.example.3":"修复失败的测试","prompt.example.4":"解释认证是如何工作的","prompt.example.5":"查找并修复安全漏洞","prompt.example.6":"为用户服务添加单元测试","prompt.example.7":"重构这个函数,让它更易读","prompt.example.8":"这个错误是什么意思?","prompt.example.9":"帮我调试这个问题","prompt.example.10":"生成 API 文档","prompt.example.11":"优化数据库查询","prompt.example.12":"添加输入校验","prompt.example.13":"创建一个新的组件用于...","prompt.example.14":"我该如何部署这个项目?","prompt.example.15":"审查我的代码并给出最佳实践建议","prompt.example.16":"为这个函数添加错误处理","prompt.example.17":"解释这个正则表达式","prompt.example.18":"把它转换成 TypeScript","prompt.example.19":"在整个代码库中添加日志","prompt.example.20":"哪些依赖已经过期?","prompt.example.21":"帮我写一个迁移脚本","prompt.example.22":"为这个接口实现缓存","prompt.example.23":"给这个列表添加分页","prompt.example.24":"创建一个 CLI 命令用于...","prompt.example.25":"这里的环境变量是怎么工作的?","prompt.popover.emptyResults":"没有匹配的结果","prompt.popover.emptyCommands":"没有匹配的命令","prompt.dropzone.label":"将文件拖放到此处","prompt.dropzone.file.label":"拖放以 @提及文件","prompt.slash.badge.custom":"自定义","prompt.slash.badge.skill":"技能","prompt.slash.badge.mcp":"mcp","prompt.context.active":"当前","prompt.context.includeActiveFile":"包含当前文件","prompt.context.removeActiveFile":"从上下文移除活动文件","prompt.context.removeFile":"从上下文移除文件","prompt.context.removeSkill":"从上下文移除技能","prompt.toast.skillUnavailable.description":"当前工作区未加载该技能,请确认技能已同步后再发送。","prompt.action.attachFile":"附加文件","prompt.attachment.remove":"移除附件","prompt.attachment.uploading":"正在上传文件…","prompt.attachment.uploadingProgress":"正在上传文件… {{progress}}%","prompt.attachment.uploadFailed":"文件上传失败","prompt.attachment.ready":"可以发送","prompt.attachment.unsupported":"当前模型不支持此附件","prompt.attachment.unavailable":"附件不可用","prompt.action.waitForAttachments":"请等待文件上传完成","prompt.action.unsupportedAttachments":"{{model}} 不支持 {{modalities}} 附件","prompt.upload.status.uploading":"上传中…","prompt.upload.status.success":"已上传","prompt.upload.status.error":"上传失败","prompt.upload.retry":"重试上传","prompt.upload.dismiss":"收起","prompt.toast.attachmentReadFailed.title":"读取附件失败","prompt.toast.attachmentReadFailed.description":"无法读取该文件,请重试或更换文件。","prompt.toast.attachmentUploadFailed.title":"文件上传失败","prompt.toast.attachmentUploadFailed.description":"无法上传该文件,请重试或更换文件。","prompt.toast.attachmentUploadFailed.multiple":`{{count}} 个文件上传失败:
2
2
  {{details}}`,"prompt.toast.attachmentUploadFailed.more":"另外还有 {{count}} 个失败","prompt.toast.attachmentTooLarge.description":"对话框单文件上限 {{limit}}MB,当前约 {{size}}MB。","prompt.toast.folderNotAllowed.title":"不支持上传文件夹","prompt.toast.folderNotAllowed.description":"对话框只能传文件。请使用项目面板右侧 ⋯ 中的上传来传文件夹。","prompt.toast.attachmentsUploading.title":"附件仍在加载","prompt.toast.attachmentsUploading.description":"请等待所有附件加载完成后再发送。","prompt.toast.attachmentUnavailable.title":"附件不可用","prompt.toast.attachmentUnavailable.description":"请重新附加文件后再发送。","prompt.action.send":"发送","prompt.action.stop":"停止","prompt.toast.pasteUnsupported.title":"不支持的附件","prompt.toast.pasteUnsupported.description":"此处仅能附加文件。","prompt.toast.modelAgentRequired.title":"请选择智能体和模型","prompt.toast.modelAgentRequired.description":"发送提示前请先选择智能体和模型。","prompt.toast.remoteModelNotReady.title":"远端模型尚未就绪","prompt.toast.remoteModelNotReady.description":"连接已建立,模型列表还在从远端加载。请稍后再发送。","prompt.toast.worktreeCreateFailed.title":"创建工作树失败","prompt.toast.sessionCreateFailed.title":"创建会话失败","prompt.toast.shellSendFailed.title":"发送 shell 命令失败","prompt.toast.commandSendFailed.title":"发送命令失败","prompt.toast.promptSendFailed.title":"发送提示失败","prompt.toast.promptSendFailed.description":"无法获取会话","prompt.toast.unsupportedAttachment.title":"当前模型不支持该附件","prompt.toast.unsupportedAttachment.description":"{{model}} 不支持 {{modalities}} 输入。对于 PDF,请先提取文本,或切换到支持 PDF 的模型。","dialog.mcp.title":"MCPs","dialog.mcp.description":"已启用 {{enabled}} / {{total}}","dialog.mcp.empty":"未配置 MCPs","dialog.mcp.addTitle":"添加 MCP 服务器","dialog.mcp.editTitle":"编辑 MCP 服务器","dialog.mcp.addButton":"添加 MCP 服务器","dialog.mcp.form.hint":"按业界通用方式配置 MCP:本地 stdio(command + env)或远程 HTTP(url + headers)。登录账号下仅本人可见与可改。","dialog.mcp.form.name":"名称","dialog.mcp.form.namePlaceholder":"filesystem","dialog.mcp.form.transport":"连接类型","dialog.mcp.form.transport.local":"本地 (stdio)","dialog.mcp.form.transport.remote":"远程 (HTTP)","dialog.mcp.form.command":"启动命令","dialog.mcp.form.commandPlaceholder":"npx -y @modelcontextprotocol/server-filesystem /data","dialog.mcp.form.environment":"环境变量(可选,每行 KEY=VALUE)","dialog.mcp.form.environmentPlaceholder":`API_KEY=...
3
- REGION=...`,"dialog.mcp.form.url":"服务器 URL","dialog.mcp.form.urlPlaceholder":"https://api.example.com/mcp","dialog.mcp.form.headers":"请求头(可选,每行 KEY=VALUE)","dialog.mcp.form.headersPlaceholder":"Authorization=Bearer ...","dialog.mcp.form.enabled":"保存后启用","dialog.mcp.form.enabledDescription":"保存后立即连接此 MCP 服务器。","dialog.mcp.error.name":"请填写服务器名称","dialog.mcp.error.command":"请填写本地启动命令","dialog.mcp.error.url":"请填写远程 URL","dialog.mcp.error.duplicate":"已存在同名 MCP 服务器","dialog.mcp.error.missingConfig":"无法加载该 MCP 配置进行编辑","dialog.mcp.toast.saved":"MCP 配置已保存","dialog.ssh.title":"SSH 配置","dialog.ssh.description":"配置供智能体提交远程作业使用的 SSH 目标(仅当前登录账号可见)。","dialog.ssh.empty":"未配置 SSH 目标","dialog.ssh.addTitle":"添加 SSH 配置","dialog.ssh.editTitle":"编辑 SSH 配置","dialog.ssh.error.missingConfig":"无法加载该 SSH 配置进行编辑","dialog.ssh.addButton":"添加 SSH 配置","dialog.ssh.import":"一键导入 SSH Config","dialog.ssh.importDescription":"粘贴 SSH Config 后自动填充 Host、HostName、端口、用户、密钥和远程目录。","dialog.ssh.importAction":"一键导入","dialog.ssh.importPlaceholder":"粘贴 SSH Config,例如 Host、HostName、Port、User、IdentityFile、# RemoteWorkDir","dialog.ssh.name":"配置名称","dialog.ssh.nameDescription":"在列表中显示的名称,用来区分多套 SSH 目标。","dialog.ssh.host":"主机别名","dialog.ssh.hostPlaceholder":"my-hpc","dialog.ssh.hostDescription":"给这台机器起的短名,不是登录账号。例如 my-hpc。","dialog.ssh.hostName":"服务器地址","dialog.ssh.hostNamePlaceholder":"1.2.3.4","dialog.ssh.hostNameDescription":"实际连接的 IP 或域名。例如 1.2.3.4 或 cluster.example.com。","dialog.ssh.username":"登录用户名","dialog.ssh.usernamePlaceholder":"ubuntu","dialog.ssh.usernameDescription":"SSH 登录账号,例如 ubuntu、root。","dialog.ssh.port":"端口","dialog.ssh.remotePath":"远程工作目录","dialog.ssh.remotePathDescription":"智能体登录后进入的目录。","dialog.ssh.auth":"认证方式","dialog.ssh.auth.key":"密钥文件","dialog.ssh.auth.keyDescription":"使用上传到 OneCode 服务端的私钥文件。","dialog.ssh.auth.password":"密码","dialog.ssh.auth.passwordDescription":"用 SSH 登录密码连接。密码保存在 OneCode 服务端配置中,不会写入 ~/.ssh/config。","dialog.ssh.password":"SSH 密码","dialog.ssh.passwordPlaceholder":"your-password","dialog.ssh.passwordHint":"仅用于当前 SSH 目标。集群允许密钥登录时建议改用密钥。","dialog.ssh.passwordRequired":"请填写 SSH 密码","dialog.ssh.keyRequired":"请上传或填写私钥文件","dialog.ssh.keyPath":"Identity File","dialog.ssh.keyPathPlaceholder":"服务器端密钥路径,选择文件后会立即上传并自动填入","dialog.ssh.identity.upload":"选择并上传 IdentityFile","dialog.ssh.identity.uploading":"上传中","dialog.ssh.identity.uploaded":"IdentityFile 已上传到服务器","dialog.ssh.identity.ingested":"已从 OneCode 服务器导入密钥","dialog.ssh.identity.uploadFailed":"IdentityFile 上传失败","dialog.ssh.identity.hint":"选择文件后会立即上传到服务器;测试使用上传后的服务器路径。","dialog.ssh.identity.missingTitle":"服务器上找不到密钥文件","dialog.ssh.identity.missingDescription":"一键导入的 IdentityFile 路径在当前 OneCode 服务器上不存在,请先上传密钥后再测试。","dialog.ssh.identity.missingEmpty":"未解析到 IdentityFile,请上传密钥后再测试。","dialog.ssh.identity.missingLocalPath":"后台未能读取该 IdentityFile(本机 Windows 路径服务器上不存在)。请点击「选择并上传 IdentityFile」手动选择后上传。","dialog.ssh.identity.pickPromptTitle":"密钥不在 OneCode 所在环境","dialog.ssh.identity.pickPromptDescription":"导入的 IdentityFile 无法在当前 OneCode 服务器上读取。请选择本机密钥文件并上传。","dialog.ssh.identity.pickPromptAction":"选择密钥文件","dialog.ssh.identity.pickPromptLater":"稍后","dialog.ssh.identity.missingUnverified":"无法确认服务器上的密钥文件是否存在,请先上传密钥后再测试。","dialog.ssh.identity.missingInline":"当前密钥在服务器上不可用,请先上传后再测试。","dialog.ssh.identity.needsUploadTitle":"请上传密钥文件","dialog.ssh.identity.needsUploadDescription":"本机已找到导入的 IdentityFile,请点击「选择并上传 IdentityFile」后再测试。","dialog.ssh.identity.needsUploadInline":"本机已找到该密钥,请先上传后再测试。","dialog.ssh.identity.notFoundTitle":"密钥文件不存在","dialog.ssh.identity.notFoundDescription":"本机找不到导入的 IdentityFile 路径,请选择正确的密钥文件并上传。","dialog.ssh.identity.notFoundInline":"本机找不到该密钥文件,请选择正确的密钥并上传。","dialog.ssh.submitCommand":"提交命令(可选)","dialog.ssh.options":"SSH 选项(每行 KEY=VALUE)","dialog.ssh.submitWorkdir":"提交工作目录(可选)","dialog.ssh.submitWorkdirPlaceholder":"留空则使用上方的远程工作目录","dialog.ssh.submitWorkdirDescription":"仅用于「提交命令」(如 sbatch)的工作目录。不能代替上方必填的远程工作目录。","dialog.ssh.environment":"环境变量(每行 KEY=VALUE)","dialog.ssh.enabled":"启用","dialog.ssh.enabledDescription":"启用后智能体可在提交作业时读取此配置","dialog.ssh.status.enabled":"已启用","dialog.ssh.status.disabled":"已禁用","dialog.ssh.required":"请填写配置名称、SSH Host 和远程工作目录","dialog.ssh.portInvalid":"端口必须是 1-65535 的整数","dialog.ssh.connectivity.action":"检测连通性","dialog.ssh.connectivity.running":"检测中...","dialog.ssh.connectivity.progress":"检测中...({current}/{total})· {name}","dialog.ssh.connectivity.itemAction":"检测","dialog.ssh.connectivity.itemRunning":"检测中","dialog.ssh.test.action":"测试","dialog.ssh.test.running":"测试中","dialog.ssh.test.passed":"SSH 配置可用","dialog.ssh.test.failed":"SSH 配置不可用","dialog.ssh.test.description":"服务器已成功连接 SSH 目标,并确认远程工作目录可访问。","dialog.ssh.test.serverMissing":"当前 opencode server 未加载 SSH 测试接口,请重启 server 服务后再试。","dialog.ssh.test.detail.message":"原因","dialog.ssh.test.detail.stderr":"错误输出","dialog.ssh.test.detail.stdout":"标准输出","dialog.ssh.fixKnownHosts.action":"修复 known_hosts","dialog.ssh.fixKnownHosts.running":"修复中…","dialog.ssh.fixKnownHosts.done":"已重写 known_hosts 忽略并重新检测","dialog.ssh.fixKnownHosts.missing":"找不到要修复的 SSH 配置","dialog.ssh.fixPublicKey.action":"修复密钥认证","dialog.ssh.fixPublicKey.running":"修复中…","dialog.ssh.fixPublicKey.done":"密钥检查通过,连通性正常","dialog.ssh.fixPublicKey.failed":"密钥认证仍失败","dialog.ssh.fixPublicKey.missing":"找不到要修复的 SSH 配置","dialog.ssh.fixPublicKey.needKey":"未配置 IdentityFile,请上传私钥后再测","dialog.ssh.fixPublicKey.missingFile":"服务器上找不到密钥文件:{{path}}。请重新上传。","dialog.ssh.fixPublicKey.stillDenied":"本地密钥 {{path}} 可读,但远端仍拒绝公钥。请确认该私钥对应的公钥已写入远端 ~/.ssh/authorized_keys。详情:{{detail}}","dialog.ssh.toast.saved":"SSH 配置已保存","dialog.ssh.toast.removed":"SSH 配置已删除","dialog.ssh.usage.ok":"知道了","dialog.ssh.usage.connectedBanner":"以下项目正在连接此配置,请先断开后再重命名、禁用、删除或修改主机/用户/认证:{{projects}}","dialog.ssh.usage.blocked.title":"无法修改 SSH 配置","dialog.ssh.usage.blocked.delete":"以下项目正在连接 SSH 配置「{{name}}」,请先断开:{{projects}}","dialog.ssh.usage.blocked.rename":"以下项目正在连接 SSH 配置「{{name}}」,无法重命名。请先断开:{{projects}}","dialog.ssh.usage.blocked.identity":"以下项目正在连接 SSH 配置「{{name}}」,无法修改主机、用户或认证。请先断开:{{projects}}","dialog.ssh.usage.blocked.disable":"以下项目正在连接 SSH 配置「{{name}}」,无法禁用。请先断开:{{projects}}","dialog.ssh.usage.confirm.delete.title":"删除 SSH 配置","dialog.ssh.usage.confirm.delete":"删除「{{name}}」后,以下远程项目仍保持远程绑定,但无法连接,直到重新添加同名配置:{{projects}}","dialog.ssh.usage.confirm.delete.empty":"确定删除 SSH 配置「{{name}}」?","dialog.ssh.usage.confirm.rename":"将把以下项目的绑定从「{{from}}」更新为「{{to}}」:{{projects}}","dialog.ssh.usage.confirm.identity":"保存后,以下项目下次连接将使用新的主机/用户/认证;各项目记录的远程路径不变:{{projects}}","dialog.ssh.usage.confirm.disable":"禁用后,以下已绑定项目将无法连接,直到重新启用:{{projects}}","dialog.ssh.usage.confirm.save":"确认保存 SSH 配置","dialog.lsp.empty":"已从文件类型自动检测到 LSPs","dialog.plugins.empty":"在 opencode.json 中配置的插件","mcp.status.connected":"已连接","mcp.status.failed":"失败","mcp.status.needs_auth":"需要授权","mcp.status.disabled":"已禁用","dialog.fork.empty":"没有可用于分叉的消息","dialog.directory.search.placeholder":"搜索文件夹","dialog.directory.empty":"未找到文件夹","dialog.directory.browse":"工作区项目","dialog.directory.other":"其他项目","dialog.server.title":"后端连接","dialog.server.description":"切换此应用连接的 OneCode 后端(高级)。","dialog.server.search.placeholder":"搜索后端","dialog.server.empty":"暂无后端连接","dialog.server.group.http":"本地/HTTP","dialog.server.group.ssh":"SSH 配置","dialog.server.group.mcp":"MCP 工具","dialog.server.mcp.description":"MCP 是工具连接,作为远程执行和部署能力提供给会话使用。","dialog.server.mcp.manage":"管理 MCP","dialog.server.ssh.add":"新增 SSH 配置","dialog.server.add.title":"添加后端","dialog.server.add.url":"后端地址 (URL)","dialog.server.add.placeholder":"http://127.0.0.1:4096","dialog.server.add.error":"无法连接到后端","dialog.server.add.checking":"检查中...","dialog.server.add.button":"添加后端地址","dialog.server.add.name":"名称(可选)","dialog.server.add.namePlaceholder":"Localhost","dialog.server.add.username":"Basic 用户名(通常留空)","dialog.server.add.password":"访问令牌 / 密码(可选)","dialog.server.add.usernamePlaceholder":"仅当服务端用了 --username 时填写","dialog.server.add.passwordPlaceholder":"远程服务器可选密码","dialog.server.add.auth.hint":"日常使用可全部留空。仅当连接需要 HTTP Basic 认证的远程服务器时,再填写「访问令牌 / 密码」;通常不要填用户名。","dialog.server.edit.title":"编辑后端","dialog.server.default.title":"默认后端","dialog.server.default.description":"应用启动时连接此后端,而不是启动本地服务。需要重启。","dialog.server.default.none":"未选择后端","dialog.server.default.set":"将当前后端设为默认","dialog.server.default.clear":"清除","dialog.server.action.remove":"移除后端","dialog.server.menu.edit":"编辑","dialog.server.menu.reconnect":"重连","dialog.server.menu.default":"设为默认","dialog.server.menu.defaultRemove":"取消默认","dialog.server.menu.delete":"删除","dialog.server.current":"当前后端","dialog.server.status.default":"默认","dialog.project.createFolder.name":"文件夹名称","dialog.project.createFolder.placeholder":"例如 my_proj 或 team/proj","dialog.project.createFolder.path":"将创建在 {{path}}","dialog.project.createFolder.existing.title":"已有文件夹","dialog.project.createFolder.existing.inParent":"「{{parent}}」下已有文件夹","dialog.project.createFolder.existing.empty":"此层级暂无同级文件夹","dialog.project.createFolder.error.exists":"文件夹「{{name}}」已存在,请换一个名称。","dialog.project.createFolder.error.invalid":"名称无效,请使用字母、数字、下划线或连字符,可用 / 创建子目录。","dialog.project.createFolder.error.permission":"没有权限在此位置创建文件夹。","dialog.project.createFolder.error.server":"服务器错误({{status}}),请稍后重试。","dialog.project.createFolder.error.network":"请求失败,请检查网络连接后重试。","dialog.project.createFolder.failed":"无法创建文件夹,可能已存在或名称无效。","dialog.project.createFolder.environment":"执行环境","dialog.project.createFolder.nameAsFolder":"此文件夹将作为项目使用。","dialog.project.createFolder.nameRemote":"项目名称","dialog.project.createFolder.nameRemoteHint":"用于列表展示,不必与远端文件夹同名。","dialog.project.createFolder.localIdentityUnique":"本地已有同名文件夹,将另建独立项目对应远端,远端路径不变。","dialog.project.createFolder.remotePath":"远端项目路径","dialog.project.createFolder.remotePathPlaceholder":"例如 ~/.onecode/workspaces/alice/my_proj","dialog.project.createFolder.remotePathEdit":"修改","dialog.project.createFolder.remotePathReset":"恢复默认","dialog.project.environment.title":"项目执行环境","dialog.project.environment.hint":"这是项目级设置,会影响该项目下所有新建会话。已绑定其它环境的会话不能继续提问。","dialog.project.environment.disconnectWarning":"当前仍连着远端 {{target}}。确认后会断开远端进程,该项目下其它远端会话将无法继续提问(仍可查看已同步的记录)。","sidebar.project.environment":"执行环境","session.environment.mismatch":"此会话的执行环境与项目不一致,不能继续提问。请新建会话。","session.environment.session":"本会话","session.environment.project":"项目","session.environment.align":"对齐到本会话","session.environment.align.title":"对齐项目执行环境","session.environment.align.body":"这会修改整个项目的执行环境,不只是当前会话。项目环境将改为「{{env}}」。绑定其它环境的会话将无法继续提问。","session.environment.align.disconnect":"当前仍连着远端 {{target}},确认后会断开远端进程。","session.environment.align.confirm":"确认对齐","session.environment.connectFirst":"远端未连接,无法继续对话。请先连接后再输入。","session.environment.copy":"复制路径","session.environment.copied":"已复制路径","session.environment.copyFailed":"复制失败","dialog.project.upload.destinationLabel":"上传目标(当前项目目录)","dialog.project.upload.eyebrow":"工作区上传","dialog.project.upload.destinationHint":"将把这台电脑上选择的文件或文件夹上传到该项目路径下(OneCode 所在环境)。","dialog.project.upload.destinationRisk":"当前目标不在账号默认工作区内。同机其他账号若知道路径,可能读取或覆盖该目录中的文件,请确认路径与权限后再上传。","dialog.project.upload.pickFiles":"选择文件","dialog.project.upload.pickFolder":"选择文件夹","dialog.project.upload.summary":"{{count}} 项 · {{size}}","dialog.project.upload.folderSummary":"文件夹 {{folder}} · {{count}} 个文件 · {{size}}","dialog.project.upload.folderHint":"将上传整个文件夹及其内容,确认后按文件数量逐个传输。","dialog.project.upload.moreFiles":"…还有 {{count}} 项","dialog.project.upload.tooManyFiles":"所选 {{selected}} 个文件超过上限 {{max}},仅保留前 {{max}} 个。","dialog.project.upload.truncatedHint":"已截断到最多 {{max}} 个文件。","dialog.project.upload.fileTooLarge":"「{{path}}」大小为 {{size}},超过单文件上限 {{max}}。更大文件请放到工作区路径后点「接入」登记。","dialog.project.upload.totalTooLarge":"本次合计 {{size}},超过浏览器上传上限 {{max}}。更大数据请放到工作区路径后点「接入」登记。","dialog.project.upload.diskSpace":"可用空间:{{space}}","dialog.project.upload.diskInsufficient":"所选内容超过可用磁盘空间。","dialog.project.upload.overwrite":"覆盖已存在的文件","dialog.project.upload.progress":"正在上传 {{done}} / {{total}}","dialog.project.upload.confirm":"确认上传","dialog.project.upload.uploading":"上传中…","dialog.project.upload.failed":"上传失败","dialog.project.upload.partialFailed":"完成 {{written}},跳过 {{skipped}},失败 {{failed}}。","toast.project.upload.success":"已上传 {{written}} 个文件,跳过 {{skipped}} 个","dialog.project.edit.title":"编辑项目","dialog.project.edit.name":"名称","dialog.project.edit.icon":"图标","dialog.project.edit.icon.alt":"项目图标","dialog.project.edit.icon.hint":"点击或拖拽图片","dialog.project.edit.icon.recommended":"建议:128x128px","dialog.project.edit.color":"颜色","dialog.project.edit.color.select":"选择{{color}}颜色","dialog.project.edit.worktree.startup":"工作区启动脚本","dialog.project.edit.worktree.startup.description":"在创建新的工作区 (worktree) 后运行。","dialog.project.edit.worktree.startup.placeholder":"例如 bun install","dialog.project.rename.title":"重命名项目","dialog.project.rename.name":"项目名称","dialog.project.rename.path":"项目路径 {{path}}","context.breakdown.title":"上下文拆分","context.breakdown.note":"输入 token 的大致拆分。“其他”包含工具定义和开销。","context.breakdown.system":"系统","context.breakdown.user":"用户","context.breakdown.assistant":"助手","context.breakdown.tool":"工具调用","context.breakdown.other":"其他","context.systemPrompt.title":"系统提示词","context.rawMessages.title":"原始消息","context.stats.session":"会话","context.stats.messages":"消息数","context.stats.provider":"提供商","context.stats.model":"模型","context.stats.limit":"上下文限制","context.stats.totalTokens":"总 token","context.stats.usage":"使用率","context.stats.inputTokens":"输入 token","context.stats.outputTokens":"输出 token","context.stats.reasoningTokens":"推理 token","context.stats.cacheTokens":"缓存 token(读/写)","context.stats.userMessages":"用户消息","context.stats.assistantMessages":"助手消息","context.stats.totalCost":"总成本","context.stats.sessionCreated":"创建时间","context.stats.lastActivity":"最后活动","context.usage.tokens":"Token","context.usage.usage":"使用率","context.usage.cost":"成本","context.usage.clickToView":"点击查看上下文","context.usage.view":"查看上下文用量","language.en":"English","language.zh":"简体中文","language.zht":"繁體中文","language.ko":"한국어","language.de":"Deutsch","language.es":"Español","language.fr":"Français","language.da":"Dansk","language.ja":"日本語","language.pl":"Polski","language.ru":"Русский","language.ar":"العربية","language.no":"Norsk","language.br":"Português (Brasil)","language.bs":"Bosanski","language.th":"ไทย","language.tr":"Türkçe","toast.language.title":"语言","toast.language.description":"已切换到{{language}}","toast.theme.title":"主题已切换","toast.scheme.title":"颜色方案","toast.workspace.enabled.title":"工作区已启用","toast.workspace.enabled.description":"侧边栏现在显示多个工作树","toast.workspace.disabled.title":"工作区已禁用","toast.workspace.disabled.description":"侧边栏只显示主工作树","toast.permissions.autoaccept.on.title":"正在自动接受权限","toast.permissions.autoaccept.on.description":"权限请求将被自动批准","toast.permissions.autoaccept.off.title":"已停止自动接受权限","toast.permissions.autoaccept.off.description":"权限请求将需要批准","toast.model.none.title":"未选择模型","toast.model.none.description":"请先连接提供商以总结此会话","toast.file.loadFailed.title":"加载文件失败","toast.file.listFailed.title":"列出文件失败","toast.file.remoteNotReady.description":"远端正在初始化,请稍后再试","toast.context.noLineSelection.title":"未选择行","toast.context.noLineSelection.description":"请先在文件标签中选择行范围。","toast.session.share.copyFailed.title":"无法复制链接到剪贴板","toast.session.share.success.title":"会话已分享","toast.session.share.success.description":"分享链接已复制到剪贴板","toast.session.share.failed.title":"分享会话失败","toast.project.copyPath.failed":"无法复制路径到剪贴板","toast.session.share.failed.description":"分享会话时发生错误","toast.session.unshare.success.title":"已取消分享会话","toast.session.unshare.success.description":"会话已成功取消分享","toast.session.unshare.failed.title":"取消分享失败","toast.session.unshare.failed.description":"取消分享会话时发生错误","toast.session.listFailed.title":"无法加载 {{project}} 的会话","toast.update.title":"有可用更新","toast.update.description":"OneCode 有新版本 ({{version}}) 可安装。","toast.update.action.installRestart":"安装并重启","toast.update.action.notYet":"稍后","error.page.title":"出了点问题","error.page.description":"加载应用程序时发生错误。","error.page.details.label":"错误详情","error.page.action.restart":"重启","error.page.action.report":"上报错误","error.page.action.reported":"错误已上报","error.page.action.checking":"检查中...","error.page.action.checkUpdates":"检查更新","error.page.action.updateTo":"更新到 {{version}}","error.page.report.prefix":"请将此错误报告给 OpenCode 团队","error.page.report.discord":"在 Discord 上","error.page.version":"版本:{{version}}","error.dev.rootNotFound":"未找到根元素。你是不是忘了把它添加到 index.html?或者 id 属性拼写错了?","error.globalSync.connectFailed":"无法连接到服务器。是否有服务器正在 `{{url}}` 运行?","directory.error.invalidUrl":"URL 中的目录无效。","error.chain.unknown":"未知错误","error.chain.causedBy":"原因:","error.chain.apiError":"API 错误","error.chain.status":"状态:{{status}}","error.chain.retryable":"可重试:{{retryable}}","error.chain.responseBody":`响应内容:
3
+ REGION=...`,"dialog.mcp.form.url":"服务器 URL","dialog.mcp.form.urlPlaceholder":"https://api.example.com/mcp","dialog.mcp.form.headers":"请求头(可选,每行 KEY=VALUE)","dialog.mcp.form.headersPlaceholder":"Authorization=Bearer ...","dialog.mcp.form.enabled":"保存后启用","dialog.mcp.form.enabledDescription":"保存后立即连接此 MCP 服务器。","dialog.mcp.error.name":"请填写服务器名称","dialog.mcp.error.command":"请填写本地启动命令","dialog.mcp.error.url":"请填写远程 URL","dialog.mcp.error.duplicate":"已存在同名 MCP 服务器","dialog.mcp.error.missingConfig":"无法加载该 MCP 配置进行编辑","dialog.mcp.toast.saved":"MCP 配置已保存","dialog.ssh.title":"SSH 配置","dialog.ssh.description":"配置供智能体提交远程作业使用的 SSH 目标(仅当前登录账号可见)。","dialog.ssh.empty":"未配置 SSH 目标","dialog.ssh.addTitle":"添加 SSH 配置","dialog.ssh.editTitle":"编辑 SSH 配置","dialog.ssh.error.missingConfig":"无法加载该 SSH 配置进行编辑","dialog.ssh.addButton":"添加 SSH 配置","dialog.ssh.import":"一键导入 SSH Config","dialog.ssh.importDescription":"粘贴 SSH Config 后自动填充 Host、HostName、端口、用户、密钥和远程目录。","dialog.ssh.importAction":"一键导入","dialog.ssh.importPlaceholder":"粘贴 SSH Config,例如 Host、HostName、Port、User、IdentityFile、# RemoteWorkDir","dialog.ssh.name":"配置名称","dialog.ssh.nameDescription":"在列表中显示的名称,用来区分多套 SSH 目标。","dialog.ssh.host":"主机别名","dialog.ssh.hostPlaceholder":"my-hpc","dialog.ssh.hostDescription":"给这台机器起的短名,不是登录账号。例如 my-hpc。","dialog.ssh.hostName":"服务器地址","dialog.ssh.hostNamePlaceholder":"1.2.3.4","dialog.ssh.hostNameDescription":"实际连接的 IP 或域名。例如 1.2.3.4 或 cluster.example.com。","dialog.ssh.username":"登录用户名","dialog.ssh.usernamePlaceholder":"ubuntu","dialog.ssh.usernameDescription":"SSH 登录账号,例如 ubuntu、root。","dialog.ssh.port":"端口","dialog.ssh.remotePath":"远程工作目录","dialog.ssh.remotePathDescription":"智能体登录后进入的目录。","dialog.ssh.auth":"认证方式","dialog.ssh.auth.key":"密钥文件","dialog.ssh.auth.keyDescription":"使用上传到 OneCode 服务端的私钥文件。","dialog.ssh.auth.password":"密码","dialog.ssh.auth.passwordDescription":"用 SSH 登录密码连接。密码保存在 OneCode 服务端配置中,不会写入 ~/.ssh/config。","dialog.ssh.password":"SSH 密码","dialog.ssh.passwordPlaceholder":"your-password","dialog.ssh.passwordHint":"仅用于当前 SSH 目标。集群允许密钥登录时建议改用密钥。","dialog.ssh.passwordRequired":"请填写 SSH 密码","dialog.ssh.keyRequired":"请上传或填写私钥文件","dialog.ssh.keyPath":"Identity File","dialog.ssh.keyPathPlaceholder":"服务器端密钥路径,选择文件后会立即上传并自动填入","dialog.ssh.identity.upload":"选择并上传 IdentityFile","dialog.ssh.identity.uploading":"上传中","dialog.ssh.identity.uploaded":"IdentityFile 已上传到服务器","dialog.ssh.identity.ingested":"已从 OneCode 服务器导入密钥","dialog.ssh.identity.uploadFailed":"IdentityFile 上传失败","dialog.ssh.identity.hint":"选择文件后会立即上传到服务器;测试使用上传后的服务器路径。","dialog.ssh.identity.missingTitle":"服务器上找不到密钥文件","dialog.ssh.identity.missingDescription":"一键导入的 IdentityFile 路径在当前 OneCode 服务器上不存在,请先上传密钥后再测试。","dialog.ssh.identity.missingEmpty":"未解析到 IdentityFile,请上传密钥后再测试。","dialog.ssh.identity.missingLocalPath":"后台未能读取该 IdentityFile(本机 Windows 路径服务器上不存在)。请点击「选择并上传 IdentityFile」手动选择后上传。","dialog.ssh.identity.pickPromptTitle":"密钥不在 OneCode 所在环境","dialog.ssh.identity.pickPromptDescription":"导入的 IdentityFile 无法在当前 OneCode 服务器上读取。请选择本机密钥文件并上传。","dialog.ssh.identity.pickPromptAction":"选择密钥文件","dialog.ssh.identity.pickPromptLater":"稍后","dialog.ssh.identity.missingUnverified":"无法确认服务器上的密钥文件是否存在,请先上传密钥后再测试。","dialog.ssh.identity.missingInline":"当前密钥在服务器上不可用,请先上传后再测试。","dialog.ssh.identity.needsUploadTitle":"请上传密钥文件","dialog.ssh.identity.needsUploadDescription":"本机已找到导入的 IdentityFile,请点击「选择并上传 IdentityFile」后再测试。","dialog.ssh.identity.needsUploadInline":"本机已找到该密钥,请先上传后再测试。","dialog.ssh.identity.notFoundTitle":"密钥文件不存在","dialog.ssh.identity.notFoundDescription":"本机找不到导入的 IdentityFile 路径,请选择正确的密钥文件并上传。","dialog.ssh.identity.notFoundInline":"本机找不到该密钥文件,请选择正确的密钥并上传。","dialog.ssh.submitCommand":"提交命令(可选)","dialog.ssh.options":"SSH 选项(每行 KEY=VALUE)","dialog.ssh.submitWorkdir":"提交工作目录(可选)","dialog.ssh.submitWorkdirPlaceholder":"留空则使用上方的远程工作目录","dialog.ssh.submitWorkdirDescription":"仅用于「提交命令」(如 sbatch)的工作目录。不能代替上方必填的远程工作目录。","dialog.ssh.environment":"环境变量(每行 KEY=VALUE)","dialog.ssh.enabled":"启用","dialog.ssh.enabledDescription":"启用后智能体可在提交作业时读取此配置","dialog.ssh.status.enabled":"已启用","dialog.ssh.status.disabled":"已禁用","dialog.ssh.required":"请填写配置名称、SSH Host 和远程工作目录","dialog.ssh.portInvalid":"端口必须是 1-65535 的整数","dialog.ssh.connectivity.action":"检测连通性","dialog.ssh.connectivity.running":"检测中...","dialog.ssh.connectivity.progress":"检测中...({current}/{total})· {name}","dialog.ssh.connectivity.itemAction":"检测","dialog.ssh.connectivity.itemRunning":"检测中","dialog.ssh.test.action":"测试","dialog.ssh.test.running":"测试中","dialog.ssh.test.passed":"SSH 配置可用","dialog.ssh.test.failed":"SSH 配置不可用","dialog.ssh.test.description":"服务器已成功连接 SSH 目标,并确认远程工作目录可访问。","dialog.ssh.test.serverMissing":"当前 opencode server 未加载 SSH 测试接口,请重启 server 服务后再试。","dialog.ssh.test.detail.message":"原因","dialog.ssh.test.detail.stderr":"错误输出","dialog.ssh.test.detail.stdout":"标准输出","dialog.ssh.fixKnownHosts.action":"修复 known_hosts","dialog.ssh.fixKnownHosts.running":"修复中…","dialog.ssh.fixKnownHosts.done":"已重写 known_hosts 忽略并重新检测","dialog.ssh.fixKnownHosts.missing":"找不到要修复的 SSH 配置","dialog.ssh.fixPublicKey.action":"修复密钥认证","dialog.ssh.fixPublicKey.running":"修复中…","dialog.ssh.fixPublicKey.done":"密钥检查通过,连通性正常","dialog.ssh.fixPublicKey.failed":"密钥认证仍失败","dialog.ssh.fixPublicKey.missing":"找不到要修复的 SSH 配置","dialog.ssh.fixPublicKey.needKey":"未配置 IdentityFile,请上传私钥后再测","dialog.ssh.fixPublicKey.missingFile":"服务器上找不到密钥文件:{{path}}。请重新上传。","dialog.ssh.fixPublicKey.stillDenied":"本地密钥 {{path}} 可读,但远端仍拒绝公钥。请确认该私钥对应的公钥已写入远端 ~/.ssh/authorized_keys。详情:{{detail}}","dialog.ssh.toast.saved":"SSH 配置已保存","dialog.ssh.toast.removed":"SSH 配置已删除","dialog.ssh.usage.ok":"知道了","dialog.ssh.usage.connectedBanner":"以下项目正在连接此配置,请先断开后再重命名、禁用、删除或修改主机/用户/认证:{{projects}}","dialog.ssh.usage.blocked.title":"无法修改 SSH 配置","dialog.ssh.usage.blocked.delete":"以下项目正在连接 SSH 配置「{{name}}」,请先断开:{{projects}}","dialog.ssh.usage.blocked.rename":"以下项目正在连接 SSH 配置「{{name}}」,无法重命名。请先断开:{{projects}}","dialog.ssh.usage.blocked.identity":"以下项目正在连接 SSH 配置「{{name}}」,无法修改主机、用户或认证。请先断开:{{projects}}","dialog.ssh.usage.blocked.disable":"以下项目正在连接 SSH 配置「{{name}}」,无法禁用。请先断开:{{projects}}","dialog.ssh.usage.confirm.delete.title":"删除 SSH 配置","dialog.ssh.usage.confirm.delete":"删除「{{name}}」后,以下远程项目仍保持远程绑定,但无法连接,直到重新添加同名配置:{{projects}}","dialog.ssh.usage.confirm.delete.empty":"确定删除 SSH 配置「{{name}}」?","dialog.ssh.usage.confirm.rename":"将把以下项目的绑定从「{{from}}」更新为「{{to}}」:{{projects}}","dialog.ssh.usage.confirm.identity":"保存后,以下项目下次连接将使用新的主机/用户/认证;各项目记录的远程路径不变:{{projects}}","dialog.ssh.usage.confirm.disable":"禁用后,以下已绑定项目将无法连接,直到重新启用:{{projects}}","dialog.ssh.usage.confirm.save":"确认保存 SSH 配置","dialog.lsp.empty":"已从文件类型自动检测到 LSPs","dialog.plugins.empty":"在 opencode.json 中配置的插件","mcp.status.connected":"已连接","mcp.status.failed":"失败","mcp.status.needs_auth":"需要授权","mcp.status.disabled":"已禁用","dialog.fork.empty":"没有可用于分叉的消息","dialog.directory.search.placeholder":"搜索文件夹","dialog.directory.empty":"未找到文件夹","dialog.directory.browse":"工作区项目","dialog.directory.other":"其他项目","dialog.server.title":"后端连接","dialog.server.description":"切换此应用连接的 OneCode 后端(高级)。","dialog.server.search.placeholder":"搜索后端","dialog.server.empty":"暂无后端连接","dialog.server.group.http":"本地/HTTP","dialog.server.group.ssh":"SSH 配置","dialog.server.group.mcp":"MCP 工具","dialog.server.mcp.description":"MCP 是工具连接,作为远程执行和部署能力提供给会话使用。","dialog.server.mcp.manage":"管理 MCP","dialog.server.ssh.add":"新增 SSH 配置","dialog.server.add.title":"添加后端","dialog.server.add.url":"后端地址 (URL)","dialog.server.add.placeholder":"http://127.0.0.1:4096","dialog.server.add.error":"无法连接到后端","dialog.server.add.checking":"检查中...","dialog.server.add.button":"添加后端地址","dialog.server.add.name":"名称(可选)","dialog.server.add.namePlaceholder":"Localhost","dialog.server.add.username":"Basic 用户名(通常留空)","dialog.server.add.password":"访问令牌 / 密码(可选)","dialog.server.add.usernamePlaceholder":"仅当服务端用了 --username 时填写","dialog.server.add.passwordPlaceholder":"远程服务器可选密码","dialog.server.add.auth.hint":"日常使用可全部留空。仅当连接需要 HTTP Basic 认证的远程服务器时,再填写「访问令牌 / 密码」;通常不要填用户名。","dialog.server.edit.title":"编辑后端","dialog.server.default.title":"默认后端","dialog.server.default.description":"应用启动时连接此后端,而不是启动本地服务。需要重启。","dialog.server.default.none":"未选择后端","dialog.server.default.set":"将当前后端设为默认","dialog.server.default.clear":"清除","dialog.server.action.remove":"移除后端","dialog.server.menu.edit":"编辑","dialog.server.menu.reconnect":"重连","dialog.server.menu.default":"设为默认","dialog.server.menu.defaultRemove":"取消默认","dialog.server.menu.delete":"删除","dialog.server.current":"当前后端","dialog.server.status.default":"默认","dialog.project.createFolder.name":"文件夹名称","dialog.project.createFolder.placeholder":"例如 my_proj 或 team/proj","dialog.project.createFolder.path":"将创建在 {{path}}","dialog.project.createFolder.existing.title":"已有文件夹","dialog.project.createFolder.existing.inParent":"「{{parent}}」下已有文件夹","dialog.project.createFolder.existing.empty":"此层级暂无同级文件夹","dialog.project.createFolder.error.exists":"文件夹「{{name}}」已存在,请换一个名称。","dialog.project.createFolder.error.invalid":"名称无效,请使用字母、数字、下划线或连字符,可用 / 创建子目录。","dialog.project.createFolder.error.permission":"没有权限在此位置创建文件夹。","dialog.project.createFolder.error.server":"服务器错误({{status}}),请稍后重试。","dialog.project.createFolder.error.network":"请求失败,请检查网络连接后重试。","dialog.project.createFolder.failed":"无法创建文件夹,可能已存在或名称无效。","dialog.project.createFolder.environment":"执行环境","dialog.project.createFolder.nameAsFolder":"此文件夹将作为项目使用。","dialog.project.createFolder.nameRemote":"项目名称","dialog.project.createFolder.nameRemoteHint":"用于列表展示,不必与远端文件夹同名。","dialog.project.createFolder.localIdentityUnique":"本地已有同名文件夹,将另建独立项目对应远端,远端路径不变。","dialog.project.createFolder.remotePath":"远端项目路径","dialog.project.createFolder.remotePathPlaceholder":"例如 ~/.onecode/workspaces/alice/my_proj","dialog.project.createFolder.remotePathEdit":"修改","dialog.project.createFolder.remotePathReset":"恢复默认","dialog.project.environment.title":"项目执行环境","dialog.project.environment.hint":"这是项目级设置,会影响该项目下所有新建会话。已绑定其它环境的会话不能继续提问。","dialog.project.environment.disconnectWarning":"当前仍连着远端 {{target}}。确认后会断开远端进程,该项目下其它远端会话将无法继续提问(仍可查看已同步的记录)。","sidebar.project.environment":"执行环境","session.environment.mismatch":"此会话的执行环境与项目不一致,不能继续提问。请新建会话。","session.environment.session":"本会话","session.environment.project":"项目","session.environment.align":"对齐到本会话","session.environment.align.title":"对齐项目执行环境","session.environment.align.body":"这会修改整个项目的执行环境,不只是当前会话。项目环境将改为「{{env}}」。绑定其它环境的会话将无法继续提问。","session.environment.align.disconnect":"当前仍连着远端 {{target}},确认后会断开远端进程。","session.environment.align.confirm":"确认对齐","session.environment.connectFirst":"远端未连接,无法继续对话。请先连接后再输入。","session.environment.copy":"复制路径","session.environment.copied":"已复制路径","session.environment.copyFailed":"复制失败","dialog.project.upload.destinationLabel":"上传目标(当前项目目录)","dialog.project.upload.eyebrow":"工作区上传","dialog.project.upload.destinationHint":"将把这台电脑上选择的文件或文件夹上传到该项目路径下(OneCode 所在环境)。","dialog.project.upload.destinationRisk":"当前目标不在账号默认工作区内。同机其他账号若知道路径,可能读取或覆盖该目录中的文件,请确认路径与权限后再上传。","dialog.project.upload.pickFiles":"选择文件","dialog.project.upload.pickFolder":"选择文件夹","dialog.project.upload.summary":"{{count}} 项 · {{size}}","dialog.project.upload.folderSummary":"文件夹 {{folder}} · {{count}} 个文件 · {{size}}","dialog.project.upload.folderHint":"将上传整个文件夹及其内容,确认后按文件数量逐个传输。","dialog.project.upload.moreFiles":"…还有 {{count}} 项","dialog.project.upload.tooManyFiles":"所选 {{selected}} 个文件超过上限 {{max}},仅保留前 {{max}} 个。","dialog.project.upload.truncatedHint":"已截断到最多 {{max}} 个文件。","dialog.project.upload.fileTooLarge":"「{{path}}」大小为 {{size}},超过单文件上限 {{max}}。更大文件请放到工作区路径后点「接入」登记。","dialog.project.upload.totalTooLarge":"本次合计 {{size}},超过浏览器上传上限 {{max}}。更大数据请放到工作区路径后点「接入」登记。","dialog.project.upload.diskSpace":"可用空间:{{space}}","dialog.project.upload.diskInsufficient":"所选内容超过可用磁盘空间。","dialog.project.upload.overwrite":"覆盖已存在的文件","dialog.project.upload.progress":"正在上传 {{done}} / {{total}}","dialog.project.upload.confirm":"确认上传","dialog.project.upload.uploading":"上传中…","dialog.project.upload.failed":"上传失败","dialog.project.upload.partialFailed":"完成 {{written}},跳过 {{skipped}},失败 {{failed}}。","toast.project.upload.success":"已上传 {{written}} 个文件,跳过 {{skipped}} 个","dialog.project.edit.title":"编辑项目","dialog.project.edit.name":"名称","dialog.project.edit.icon":"图标","dialog.project.edit.icon.alt":"项目图标","dialog.project.edit.icon.hint":"点击或拖拽图片","dialog.project.edit.icon.recommended":"建议:128x128px","dialog.project.edit.color":"颜色","dialog.project.edit.color.select":"选择{{color}}颜色","dialog.project.edit.worktree.startup":"工作区启动脚本","dialog.project.edit.worktree.startup.description":"在创建新的工作区 (worktree) 后运行。","dialog.project.edit.worktree.startup.placeholder":"例如 bun install","dialog.project.rename.title":"重命名项目","dialog.project.rename.name":"项目名称","dialog.project.rename.path":"项目路径 {{path}}","context.breakdown.title":"上下文拆分","context.breakdown.note":"输入 token 的大致拆分。“其他”包含工具定义和开销。","context.breakdown.system":"系统","context.breakdown.user":"用户","context.breakdown.assistant":"助手","context.breakdown.tool":"工具调用","context.breakdown.other":"其他","context.systemPrompt.title":"系统提示词","context.rawMessages.title":"原始消息","context.stats.session":"会话","context.stats.messages":"消息数","context.stats.provider":"提供商","context.stats.model":"模型","context.stats.limit":"上下文限制","context.stats.totalTokens":"总 token","context.stats.usage":"使用率","context.stats.inputTokens":"输入 token","context.stats.outputTokens":"输出 token","context.stats.reasoningTokens":"推理 token","context.stats.cacheTokens":"缓存 token(读/写)","context.stats.userMessages":"用户消息","context.stats.assistantMessages":"助手消息","context.stats.totalCost":"总成本","context.stats.sessionCreated":"创建时间","context.stats.lastActivity":"最后活动","context.usage.tokens":"Token","context.usage.usage":"使用率","context.usage.cost":"成本","context.usage.clickToView":"点击查看上下文","context.usage.view":"查看上下文用量","language.en":"English","language.zh":"简体中文","language.zht":"繁體中文","language.ko":"한국어","language.de":"Deutsch","language.es":"Español","language.fr":"Français","language.da":"Dansk","language.ja":"日本語","language.pl":"Polski","language.ru":"Русский","language.ar":"العربية","language.no":"Norsk","language.br":"Português (Brasil)","language.bs":"Bosanski","language.th":"ไทย","language.tr":"Türkçe","toast.language.title":"语言","toast.language.description":"已切换到{{language}}","toast.theme.title":"主题已切换","toast.scheme.title":"颜色方案","toast.workspace.enabled.title":"工作区已启用","toast.workspace.enabled.description":"侧边栏现在显示多个工作树","toast.workspace.disabled.title":"工作区已禁用","toast.workspace.disabled.description":"侧边栏只显示主工作树","toast.permissions.autoaccept.on.title":"正在自动接受权限","toast.permissions.autoaccept.on.description":"权限请求将被自动批准","toast.permissions.autoaccept.off.title":"已停止自动接受权限","toast.permissions.autoaccept.off.description":"权限请求将需要批准","toast.model.none.title":"未选择模型","toast.model.none.description":"请先连接提供商以总结此会话","toast.provider.catalogLoading.title":"正在加载模型目录","toast.provider.catalogLoading.description":"正在拉取厂商与模型列表,可能需要几秒…","toast.file.loadFailed.title":"加载文件失败","toast.file.listFailed.title":"列出文件失败","toast.file.remoteNotReady.description":"远端正在初始化,请稍后再试","toast.context.noLineSelection.title":"未选择行","toast.context.noLineSelection.description":"请先在文件标签中选择行范围。","toast.session.share.copyFailed.title":"无法复制链接到剪贴板","toast.session.share.success.title":"会话已分享","toast.session.share.success.description":"分享链接已复制到剪贴板","toast.session.share.failed.title":"分享会话失败","toast.project.copyPath.failed":"无法复制路径到剪贴板","toast.session.share.failed.description":"分享会话时发生错误","toast.session.unshare.success.title":"已取消分享会话","toast.session.unshare.success.description":"会话已成功取消分享","toast.session.unshare.failed.title":"取消分享失败","toast.session.unshare.failed.description":"取消分享会话时发生错误","toast.session.listFailed.title":"无法加载 {{project}} 的会话","toast.update.title":"有可用更新","toast.update.description":"OneCode 有新版本 ({{version}}) 可安装。","toast.update.action.installRestart":"安装并重启","toast.update.action.notYet":"稍后","error.page.title":"出了点问题","error.page.description":"加载应用程序时发生错误。","error.page.details.label":"错误详情","error.page.action.restart":"重启","error.page.action.report":"上报错误","error.page.action.reported":"错误已上报","error.page.action.checking":"检查中...","error.page.action.checkUpdates":"检查更新","error.page.action.updateTo":"更新到 {{version}}","error.page.report.prefix":"请将此错误报告给 OpenCode 团队","error.page.report.discord":"在 Discord 上","error.page.version":"版本:{{version}}","error.dev.rootNotFound":"未找到根元素。你是不是忘了把它添加到 index.html?或者 id 属性拼写错了?","error.globalSync.connectFailed":"无法连接到服务器。是否有服务器正在 `{{url}}` 运行?","directory.error.invalidUrl":"URL 中的目录无效。","error.chain.unknown":"未知错误","error.chain.causedBy":"原因:","error.chain.apiError":"API 错误","error.chain.status":"状态:{{status}}","error.chain.retryable":"可重试:{{retryable}}","error.chain.responseBody":`响应内容:
4
4
  {{body}}`,"error.chain.didYouMean":"你是不是想输入:{{suggestions}}","error.chain.modelNotFound":"未找到模型:{{provider}}/{{model}}","error.chain.checkConfig":"请检查你的配置 (opencode.json) 中的 provider/model 名称","error.chain.mcpFailed":'MCP 服务器 "{{name}}" 启动失败。注意: OpenCode 暂不支持 MCP 认证。',"error.chain.providerAuthFailed":"提供商认证失败({{provider}}):{{message}}","error.chain.providerInitFailed":'无法初始化提供商 "{{provider}}"。请检查凭据和配置。',"error.chain.configJsonInvalid":"配置文件 {{path}} 不是有效的 JSON(C)","error.chain.configJsonInvalidWithMessage":"配置文件 {{path}} 不是有效的 JSON(C):{{message}}","error.chain.configDirectoryTypo":'{{path}} 中的目录 "{{dir}}" 无效。请将目录重命名为 "{{suggestion}}" 或移除它。这是一个常见拼写错误。',"error.chain.configFrontmatterError":`无法解析 {{path}} 中的 frontmatter:
5
5
  {{message}}`,"error.chain.configInvalid":"配置文件 {{path}} 无效","error.chain.configInvalidWithMessage":"配置文件 {{path}} 无效:{{message}}","notification.permission.title":"需要权限","notification.permission.description":"{{sessionTitle}}({{projectName}})需要权限","notification.question.title":"问题","notification.question.description":"{{sessionTitle}}({{projectName}})有一个问题","notification.action.goToSession":"前往会话","notification.session.responseReady.title":"回复已就绪","notification.session.error.title":"会话错误","notification.session.error.fallbackDescription":"发生错误","home.recentProjects":"最近项目","home.empty.title":"没有最近项目","home.empty.description":"通过打开本地项目开始使用","session.tab.session":"会话","session.tab.review":"审查","session.tab.context":"上下文","session.tab.artifacts":"产物","session.file.unsaved":"有未保存的更改","session.file.preview.preview":"预览","session.file.preview.source":"源码","session.file.html.preview":"预览","session.file.html.source":"源码","session.file.html.loading":"正在加载 HTML 预览...","session.file.html.error":"无法加载 HTML 预览","session.file.csv.empty":"CSV 文件为空","session.file.pdf.loading":"正在加载 PDF 预览...","session.file.pdf.error":"无法加载 PDF 预览","session.file.xyz.empty":"XYZ 文件为空","session.file.xyz.error":"无法渲染分子结构","session.file.xyz.frame":"第 {{current}} / {{total}} 帧","session.file.xyz.prev":"上一帧","session.file.xyz.next":"下一帧","session.file.xyz.style.stick":"球棍","session.file.xyz.style.sphere":"空间填充","session.artifacts.description":"本次会话中生成的图片和图表","session.artifacts.empty":"暂无产物","session.artifacts.image":"图片","session.artifacts.preview":"预览","session.artifacts.openImage":"打开图片","session.artifacts.openHtml":"打开 HTML","session.artifacts.openScript":"编辑源码","session.artifacts.openSource":"打开来源","session.artifacts.time.unknown":"时间未知","session.artifacts.group.today":"今天","session.artifacts.group.yesterday":"昨天","session.artifacts.group.week":"本周","session.artifacts.group.older":"更早","session.artifacts.group.unknown":"未知","session.artifacts.source.read":"读取","session.artifacts.source.bash":"Shell","session.artifacts.source.science":"报告","session.artifacts.source.markdown":"报告附图","session.artifacts.source.other":"其他","session.panel.reviewAndFiles":"审查和文件","session.review.filesChanged":"{{count}} 个文件变更","session.review.change.one":"更改","session.review.change.other":"更改","session.review.loadingChanges":"正在加载更改...","session.review.empty":"此会话暂无更改","session.review.noVcs":"未检测到 Git 版本控制系统,无法显示更改","session.review.noSnapshot":"配置中已禁用快照跟踪,因此会话更改不可用","session.review.noChanges":"无更改","session.files.selectToOpen":"选择要打开的文件","session.files.all":"所有文件","session.files.refresh":"刷新文件树","session.files.upload":"上传到项目","session.files.sync":"同步文件","session.files.empty":"无文件","session.files.binaryContent":"二进制文件(无法显示内容)","session.messages.renderEarlier":"显示更早的消息","session.messages.loadingEarlier":"正在加载更早的消息...","session.messages.loadEarlier":"加载更早的消息","session.messages.loading":"正在加载消息...","session.messages.jumpToLatest":"跳转到最新","session.context.addToContext":"将 {{selection}} 添加到上下文","session.todo.title":"待办事项","session.todo.collapse":"折叠","session.todo.expand":"展开","session.followupDock.summary.one":"{{count}} 条排队消息","session.followupDock.summary.other":"{{count}} 条排队消息","session.followupDock.sendNow":"立即发送","session.followupDock.edit":"编辑","session.followupDock.collapse":"折叠排队消息","session.followupDock.expand":"展开排队消息","session.revertDock.summary.one":"{{count}} 条已回滚消息","session.revertDock.summary.other":"{{count}} 条已回滚消息","session.revertDock.collapse":"折叠已回滚消息","session.revertDock.expand":"展开已回滚消息","session.revertDock.restore":"恢复消息","session.new.title":"构建任何东西","session.new.worktree.main":"主分支","session.new.worktree.mainWithBranch":"主分支({{branch}})","session.new.worktree.create":"创建新的 worktree","session.new.lastModified":"最后修改","session.header.search.placeholder":"搜索 {{project}}","session.header.searchFiles":"搜索文件","session.header.openIn":"打开方式","session.header.open.action":"打开 {{app}}","session.header.open.ariaLabel":"在 {{app}} 中打开","session.header.open.menu":"打开选项","session.header.open.copyPath":"复制路径","status.popover.trigger":"集成管理","status.popover.ariaLabel":"MCP、SSH 与后端集成","status.popover.tab.servers":"后端连接","status.popover.tab.mcp":"MCP","status.popover.tab.ssh":"SSH","status.popover.tab.lsp":"LSP","status.popover.tab.plugins":"插件","status.popover.tab.onescience":"OneScience","status.popover.action.manageServers":"管理后端连接","status.popover.action.manageMcp":"管理 MCP","status.popover.action.manageSsh":"管理 SSH","status.popover.servers.hint":"高级:切换此应用连接的 OneCode 后端。","status.popover.onescience.title":"OneScience 配置","status.popover.onescience.empty":"未找到 OneScience 配置","status.popover.onescience.backend":"后端","status.popover.onescience.mode":"模式","status.popover.onescience.mode.local":"本地运行","status.popover.onescience.mode.local.description":"Coding 环境与运行环境在同一环境。","status.popover.onescience.mode.slurm":"Slurm 集群提交运行","status.popover.onescience.mode.slurm.description":"从当前环境生成并提交 Slurm 任务。","status.popover.onescience.mode.sshSlurm":"SSH 远程 Slurm 提交运行","status.popover.onescience.mode.sshSlurm.description":"先 SSH 到远程登录节点,再提交 Slurm 任务。","status.popover.onescience.mode.mcp":"MCP 提交运行","status.popover.onescience.mode.mcp.description":"通过已配置的 MCP 工具或服务提交任务。","status.popover.onescience.remote":"远程","status.popover.onescience.cluster":"集群","status.popover.onescience.save":"保存到 onescience.json","status.popover.onescience.saved":"OneScience 配置已保存","status.popover.onescience.ssh":"SSH 配置","status.popover.onescience.customSsh":"自定义远程配置","status.popover.onescience.hostname":"HostName","status.popover.onescience.port":"端口","status.popover.onescience.user":"用户","status.popover.onescience.remoteWorkDir":"远程工作目录","status.popover.onescience.partition":"分区","status.popover.onescience.nodes":"节点数","status.popover.onescience.gpusPerNode":"每节点 GPU","status.popover.onescience.cpusPerTask":"每任务 CPU","status.popover.onescience.memory":"内存","status.popover.onescience.timeLimit":"时间限制","status.popover.onescience.gpuType":"GPU 类型","status.popover.onescience.condaEnv":"Conda 环境","status.popover.onescience.scriptPath":"脚本路径","status.popover.onescience.scriptTemplate":"脚本模板","status.popover.onescience.jobName":"任务名","status.popover.onescience.codePath":"代码路径","status.popover.onescience.workDir":"运行目录","session.share.popover.title":"发布到网页","session.share.popover.description.shared":"此会话已在网页上公开。任何拥有链接的人都可以访问。","session.share.popover.description.unshared":"在网页上公开分享此会话。任何拥有链接的人都可以访问。","session.share.action.share":"分享","session.share.action.publish":"发布","session.share.action.publishing":"正在发布...","session.share.action.unpublish":"取消发布","session.share.action.unpublishing":"正在取消发布...","session.share.action.view":"查看","session.share.copy.copied":"已复制","session.share.copy.copyLink":"复制链接","lsp.tooltip.none":"没有 LSP 服务器","lsp.label.connected":"{{count}} LSP","prompt.loading":"正在加载提示...","terminal.loading":"正在加载终端...","terminal.title":"终端","terminal.title.numbered":"终端 {{number}}","terminal.close":"关闭终端","terminal.connectionLost.title":"连接已丢失","terminal.connectionLost.description":"终端连接已中断。这可能发生在服务器重启时。","common.closeTab":"关闭标签页","common.dismiss":"忽略","common.requestFailed":"请求失败","common.moreOptions":"更多选项","common.learnMore":"了解更多","common.rename":"重命名","common.reset":"重置","common.archive":"归档","common.delete":"删除","common.close":"关闭","common.edit":"编辑","common.loadMore":"加载更多","common.key.esc":"ESC","session.archived.title":"已归档会话","session.archived.hint":"查看已归档的会话","session.archived.empty":"暂无已归档会话","session.archived.unarchive":"取消归档","session.archived.unarchiveFailed.title":"取消归档失败","sidebar.menu.toggle":"切换菜单","sidebar.nav.projectsAndSessions":"项目和会话","sidebar.settings":"设置","sidebar.help":"帮助","sidebar.workspaces.enable":"启用工作区","sidebar.workspaces.disable":"禁用工作区","sidebar.gettingStarted.title":"入门","sidebar.gettingStarted.line1":"OpenCode 提供免费模型,你可以立即开始使用。","sidebar.gettingStarted.line2":"连接任意提供商即可使用更多模型,如 Claude、GPT、Gemini 等。","sidebar.section.projects":"项目","sidebar.section.recent":"未分类","sidebar.section.sharedCases":"默认案例展示","sidebar.project.none":"没有项目","sidebar.project.recentSessions":"最近会话","sidebar.project.viewAllSessions":"查看全部会话","sidebar.project.clearNotifications":"清除通知","sidebar.project.removeFromView":"从列表移除","sidebar.project.delete":"删除项目","sidebar.project.delete.title":"删除项目","sidebar.project.delete.confirm":"确定删除项目「{{name}}」?将停止其中正在运行的会话,并删除项目文件夹与相关会话记录。此操作不可恢复。","sidebar.project.delete.hasArchived":"该项目下还有已归档的会话,请先取消归档后再删除项目。","sidebar.project.delete.button":"删除项目","sidebar.project.delete.failed":"删除项目失败","sidebar.project.delete.busy":"正在删除…","sidebar.project.defaultWorkspace":"主空间","sidebar.project.defaultWorkspace.hint":"账号个人工作区,固定保留在列表中","sidebar.project.current":"当前","sidebar.project.noSessions":"无任务","app.name.desktop":"OneCode Desktop","settings.section.desktop":"桌面","settings.section.server":"服务器","settings.section.account":"账号","settings.tab.general":"通用","settings.tab.shortcuts":"快捷键","settings.tab.account":"账号","settings.account.description":"查看当前登录状态,管理个人工作区账号。","settings.account.loading":"正在检查登录状态…","settings.account.error.session":"会话已失效","settings.account.loggedOut.title":"未登录","settings.account.loggedOut.description":"登录后可同步个人空间、项目与任务。","settings.account.status.signedIn":"已登录","settings.account.section.profile":"资料","settings.account.section.actions":"操作","settings.account.row.workspace.title":"工作区","settings.account.row.workspace.description":"当前账号的个人空间","settings.account.row.workspace.empty":"未分配","settings.account.row.defaultProject.title":"默认项目","settings.account.row.center.title":"账号中心","settings.account.row.center.description":"查看资料与账号管理","settings.account.row.logout.title":"退出登录","settings.account.row.logout.description":"清除当前浏览器会话并返回登录页","settings.account.action.login":"去登录","settings.account.action.center":"打开","settings.account.action.logout":"退出登录","settings.account.action.loggingOut":"正在退出…","settings.desktop.section.wsl":"WSL","settings.desktop.wsl.title":"WSL 集成","settings.desktop.wsl.description":"在 Windows 的 WSL 环境中运行 OneCode 服务器。","settings.general.section.appearance":"外观","settings.general.section.notifications":"系统通知","settings.general.section.updates":"更新","settings.general.section.sounds":"音效","settings.general.section.feed":"动态","settings.general.section.display":"显示","settings.general.row.language.title":"语言","settings.general.row.language.description":"更改 OneCode 的显示语言","settings.general.row.admin.description":"使用管理员密码进入平台管理配置","settings.general.row.appearance.title":"外观","settings.general.row.appearance.description":"自定义 OneCode 在你的设备上的外观","settings.general.row.colorScheme.title":"配色方案","settings.general.row.colorScheme.description":"选择 OneCode 跟随系统、浅色或深色主题","settings.general.row.theme.title":"主题","settings.general.row.theme.description":"自定义 OneCode 的主题。","settings.general.row.font.title":"代码字体","settings.general.row.font.description":"自定义代码块使用的字体","settings.general.row.terminalFont.title":"Terminal Font","settings.general.row.terminalFont.description":"Customise the font used in the terminal","settings.general.row.uiFont.title":"界面字体","settings.general.row.uiFont.description":"自定义整个界面使用的字体","settings.general.row.followup.title":"跟进消息行为","settings.general.row.followup.description":"选择跟进提示是立即引导还是在队列中等待","settings.general.row.followup.option.queue":"排队","settings.general.row.followup.option.steer":"引导","settings.general.row.reasoningSummaries.title":"显示推理摘要","settings.general.row.reasoningSummaries.description":"在时间线中显示模型推理摘要","settings.general.row.shellToolPartsExpanded.title":"展开 shell 工具部分","settings.general.row.shellToolPartsExpanded.description":"默认在时间线中展开 shell 工具部分","settings.general.row.editToolPartsExpanded.title":"展开编辑工具部分","settings.general.row.editToolPartsExpanded.description":"默认在时间线中展开 edit、write 和 patch 工具部分","settings.general.row.showSessionProgressBar.title":"显示会话进度条","settings.general.row.showSessionProgressBar.description":"当智能体正在工作时,在会话顶部显示动画进度条","settings.general.row.wayland.title":"使用原生 Wayland","settings.general.row.wayland.description":"在 Wayland 上禁用 X11 回退。需要重启。","settings.general.row.wayland.tooltip":"在混合刷新率显示器的 Linux 系统上,原生 Wayland 可能更稳定。","settings.general.row.releaseNotes.title":"发行说明","settings.general.row.releaseNotes.description":"更新后显示“新功能”弹窗","settings.updates.row.startup.title":"启动时检查更新","settings.updates.row.startup.description":"在 OneCode 启动时自动检查更新","settings.updates.row.check.title":"检查更新","settings.updates.row.check.description":"手动检查更新并在有更新时安装","settings.updates.action.checkNow":"立即检查","settings.updates.action.checking":"正在检查...","settings.updates.toast.latest.title":"已是最新版本","settings.updates.toast.latest.description":"你正在使用最新版本的 OneCode。","sound.option.none":"无","sound.option.alert01":"警报 01","sound.option.alert02":"警报 02","sound.option.alert03":"警报 03","sound.option.alert04":"警报 04","sound.option.alert05":"警报 05","sound.option.alert06":"警报 06","sound.option.alert07":"警报 07","sound.option.alert08":"警报 08","sound.option.alert09":"警报 09","sound.option.alert10":"警报 10","sound.option.bipbop01":"哔啵 01","sound.option.bipbop02":"哔啵 02","sound.option.bipbop03":"哔啵 03","sound.option.bipbop04":"哔啵 04","sound.option.bipbop05":"哔啵 05","sound.option.bipbop06":"哔啵 06","sound.option.bipbop07":"哔啵 07","sound.option.bipbop08":"哔啵 08","sound.option.bipbop09":"哔啵 09","sound.option.bipbop10":"哔啵 10","sound.option.staplebops01":"斯泰普博普斯 01","sound.option.staplebops02":"斯泰普博普斯 02","sound.option.staplebops03":"斯泰普博普斯 03","sound.option.staplebops04":"斯泰普博普斯 04","sound.option.staplebops05":"斯泰普博普斯 05","sound.option.staplebops06":"斯泰普博普斯 06","sound.option.staplebops07":"斯泰普博普斯 07","sound.option.nope01":"否 01","sound.option.nope02":"否 02","sound.option.nope03":"否 03","sound.option.nope04":"否 04","sound.option.nope05":"否 05","sound.option.nope06":"否 06","sound.option.nope07":"否 07","sound.option.nope08":"否 08","sound.option.nope09":"否 09","sound.option.nope10":"否 10","sound.option.nope11":"否 11","sound.option.nope12":"否 12","sound.option.yup01":"是 01","sound.option.yup02":"是 02","sound.option.yup03":"是 03","sound.option.yup04":"是 04","sound.option.yup05":"是 05","sound.option.yup06":"是 06","settings.general.notifications.agent.title":"智能体","settings.general.notifications.agent.description":"当智能体完成或需要注意时显示系统通知","settings.general.notifications.permissions.title":"权限","settings.general.notifications.permissions.description":"当需要权限时显示系统通知","settings.general.notifications.errors.title":"错误","settings.general.notifications.errors.description":"发生错误时显示系统通知","settings.general.sounds.agent.title":"智能体","settings.general.sounds.agent.description":"当智能体完成或需要注意时播放声音","settings.general.sounds.permissions.title":"权限","settings.general.sounds.permissions.description":"当需要权限时播放声音","settings.general.sounds.errors.title":"错误","settings.general.sounds.errors.description":"发生错误时播放声音","settings.shortcuts.title":"键盘快捷键","settings.shortcuts.reset.button":"重置为默认值","settings.shortcuts.reset.toast.title":"快捷键已重置","settings.shortcuts.reset.toast.description":"键盘快捷键已重置为默认设置。","settings.shortcuts.conflict.title":"快捷键已被占用","settings.shortcuts.conflict.description":"{{keybind}} 已分配给 {{titles}}。","settings.shortcuts.unassigned":"未设置","settings.shortcuts.pressKeys":"按下按键","settings.shortcuts.search.placeholder":"搜索快捷键","settings.shortcuts.search.empty":"未找到快捷键","settings.shortcuts.group.general":"通用","settings.shortcuts.group.session":"会话","settings.shortcuts.group.navigation":"导航","settings.shortcuts.group.modelAndAgent":"模型与智能体","settings.shortcuts.group.terminal":"终端","settings.shortcuts.group.prompt":"提示","settings.providers.title":"提供商","settings.providers.description":"提供商设置将在此处可配置。","settings.providers.section.connected":"已连接的提供商","settings.providers.connected.empty":"没有已连接的提供商","settings.providers.section.popular":"热门提供商","settings.providers.tag.environment":"环境","settings.providers.tag.config":"配置","settings.providers.tag.custom":"自定义","settings.providers.tag.other":"其他","settings.providers.tag.limited":"限免","settings.providers.tag.shared":"公共","settings.providers.onescience.admin.button":"管理员配置","settings.providers.onescience.admin.title":"管理员配置","settings.providers.onescience.admin.passwordHint":"输入管理员密码以解锁管理员配置。","settings.providers.onescience.admin.password":"管理员密码","settings.providers.onescience.admin.passwordPlaceholder":"管理员密码","settings.providers.onescience.admin.passwordInvalid":"管理员密码不正确","settings.providers.onescience.admin.passwordLocked":"错误次数过多,请在 {{time}} 后再试","settings.providers.onescience.admin.unlock":"解锁","settings.providers.onescience.admin.menu.hint":"选择要管理的配置项。","settings.providers.onescience.admin.menu.model":"预置模型","settings.providers.onescience.admin.menu.model.description":"配置 OneScience GPT 的接口与模型","settings.providers.onescience.admin.menu.mail":"邮件服务","settings.providers.onescience.admin.menu.mail.description":"配置用于账号通知的发信服务","settings.providers.onescience.admin.menu.users":"用户管理","settings.providers.onescience.admin.menu.users.description":"冻结、解冻、删除用户,或重置密码","settings.providers.onescience.admin.menu.backends":"后端连接","settings.providers.onescience.admin.menu.backends.description":"管理应用连接的 OneCode 后端(高级)","settings.providers.onescience.admin.menu.registration":"注册审核","settings.providers.onescience.admin.menu.registration.description":"开关邀请码注册,并管理固定/随机邀请码","settings.providers.onescience.admin.users.hint":"选择用户后可冻结、解冻、删除,或生成密码重置凭证。","settings.providers.onescience.admin.users.empty":"当前还没有可管理的本地账号。","settings.providers.onescience.admin.users.freeze":"冻结","settings.providers.onescience.admin.users.unfreeze":"解冻","settings.providers.onescience.admin.users.delete":"删除","settings.providers.onescience.admin.users.deleteConfirm":"确定删除用户 {{name}}({{email}})吗?将先冻结并吊销会话,再永久删除账号与工作区,此操作不可恢复。","settings.providers.onescience.admin.users.frozen":"用户已冻结","settings.providers.onescience.admin.users.unfrozen":"用户已解冻","settings.providers.onescience.admin.users.deleted":"用户已删除","settings.providers.onescience.admin.users.status.active":"正常","settings.providers.onescience.admin.users.status.frozen":"已冻结","settings.providers.onescience.admin.users.status.limited":"已限流","settings.providers.onescience.admin.registration.hint":"开启后,用户注册必须填写有效邀请码。","settings.providers.onescience.admin.registration.inviteRequired":"注册需邀请码","settings.providers.onescience.admin.registration.fixedCode":"固定邀请码","settings.providers.onescience.admin.registration.fixedCodePlaceholder":"留空则清除固定邀请码","settings.providers.onescience.admin.registration.fixedTtl":"固定邀请码有效期","settings.providers.onescience.admin.registration.ttlDays":"{{days}} 天","settings.providers.onescience.admin.registration.fixedExpires":"当前固定码有效期至 {{time}}","settings.providers.onescience.admin.registration.randomTitle":"随机邀请码","settings.providers.onescience.admin.registration.randomHint":"随机码固定 30 分钟有效,且仅可使用一次。","settings.providers.onescience.admin.registration.randomCreate":"生成随机码","settings.providers.onescience.admin.registration.randomCreated":"已生成随机邀请码","settings.providers.onescience.admin.registration.randomExpires":"有效期至 {{time}}","settings.providers.onescience.admin.registration.copyCode":"复制邀请码","settings.providers.onescience.admin.registration.copiedCode":"邀请码已复制","settings.providers.onescience.admin.registration.saved":"注册审核配置已保存","settings.providers.onescience.admin.mail.hint":"主机等可由 ONECODE_SMTP_PASS 触发内置预填;也可先改表单直接「发送测试邮件」(不保存也会用当前填写)。长期授权码请通过环境变量或 CI 写入。","settings.providers.onescience.admin.mail.host":"SMTP 主机","settings.providers.onescience.admin.mail.port":"端口","settings.providers.onescience.admin.mail.secure":"使用 TLS/SSL(如 465)","settings.providers.onescience.admin.mail.user":"用户名","settings.providers.onescience.admin.mail.from":"发件人","settings.providers.onescience.admin.mail.pass":"密码","settings.providers.onescience.admin.mail.passKeep":"已配置(来自 ONECODE_SMTP_PASS),留空则沿用","settings.providers.onescience.admin.mail.passPlaceholder":"SMTP 授权码","settings.providers.onescience.admin.mail.testTo":"测试收件邮箱","settings.providers.onescience.admin.mail.test":"发送测试邮件","settings.providers.onescience.admin.mail.testSent":"测试邮件已发送","settings.providers.onescience.admin.mail.saved":"已刷新邮件配置","settings.providers.onescience.admin.mail.needPass":"未检测到 ONECODE_SMTP_PASS,内置预填未启用。可先在表单填写后点「发送测试邮件」验证;长期请用该环境变量启动。","settings.providers.onescience.admin.menu.resetPassword":"重置普通用户密码","settings.providers.onescience.admin.menu.resetPassword.description":"生成一次性重置码或链接交给用户","settings.providers.onescience.admin.resetPassword.hint":"选择要重置密码的用户,然后生成一次性凭证。","settings.providers.onescience.admin.resetPassword.empty":"当前还没有可重置的本地账号。","settings.providers.onescience.admin.resetPassword.generate":"生成重置凭证","settings.providers.onescience.admin.resetPassword.credentialHint":"已为 {{name}}({{email}})生成凭证。请立即复制并交给用户,离开后无法再次查看明文。","settings.providers.onescience.admin.resetPassword.code":"一次性重置码","settings.providers.onescience.admin.resetPassword.link":"重置链接","settings.providers.onescience.admin.resetPassword.expires":"有效期至 {{time}}","settings.providers.onescience.admin.resetPassword.once":"凭证仅显示一次,使用后立即失效。","settings.providers.onescience.admin.resetPassword.copyCode":"复制重置码","settings.providers.onescience.admin.resetPassword.copyLink":"复制链接","settings.providers.onescience.admin.resetPassword.copiedCode":"重置码已复制","settings.providers.onescience.admin.resetPassword.copiedLink":"重置链接已复制","settings.providers.onescience.admin.model.title":"预置模型","settings.providers.onescience.admin.providerName":"显示名称","settings.providers.onescience.admin.baseURL":"基础 URL","settings.providers.onescience.admin.modelID":"模型 ID","settings.providers.onescience.admin.modelName":"模型名称","settings.providers.onescience.admin.models.query":"查看支持的模型","settings.providers.onescience.admin.models.query.loading":"正在查询…","settings.providers.onescience.admin.models.query.empty":"接口未返回可用模型,请手动填写模型 ID。","settings.providers.onescience.admin.models.query.needURL":"请先填写基础 URL。","settings.providers.onescience.admin.models.query.needKey":"请先填写 API 密钥后再查询。","settings.providers.onescience.admin.models.query.failed":"无法加载支持的模型","settings.providers.onescience.admin.apiKey":"API 密钥","settings.providers.onescience.admin.apiKeyKeep":"已配置,留空则保持不变","settings.providers.onescience.admin.apiKeyPlaceholder":"API 密钥","settings.providers.onescience.admin.saved":"预置模型配置已保存","settings.providers.onescience.admin.reset":"已恢复默认配置","settings.providers.onescience.admin.resetAction":"恢复默认","settings.providers.onescience.readonlyHint":"预置模型,不可断开或查看密钥","settings.providers.shared.readonlyHint":"公共模型,不可编辑、断开或查看密钥","settings.models.title":"模型","settings.models.description":"模型设置将在此处可配置。","settings.authRequired.models":"模型与提供商配置跟随登录账号。请先登录后再修改开关与自定义模型。","settings.agents.title":"智能体","settings.agents.description":"智能体设置将在此处可配置。","settings.commands.title":"命令","settings.commands.description":"命令设置将在此处可配置。","settings.mcp.title":"MCP","settings.mcp.description":"MCP 设置将在此处可配置。","settings.permissions.title":"权限","settings.permissions.description":"控制服务器默认可以使用哪些工具。","settings.permissions.section.tools":"工具","settings.permissions.toast.updateFailed.title":"更新权限失败","settings.permissions.action.allow":"允许","settings.permissions.action.ask":"询问","settings.permissions.action.deny":"拒绝","settings.permissions.tool.read.title":"读取","settings.permissions.tool.read.description":"读取文件(匹配文件路径)","settings.permissions.tool.edit.title":"编辑","settings.permissions.tool.edit.description":"修改文件,包括编辑、写入、补丁和多重编辑","settings.permissions.tool.glob.title":"Glob","settings.permissions.tool.glob.description":"使用 glob 模式匹配文件","settings.permissions.tool.grep.title":"Grep","settings.permissions.tool.grep.description":"使用正则表达式搜索文件内容","settings.permissions.tool.list.title":"列表","settings.permissions.tool.list.description":"列出目录中的文件","settings.permissions.tool.bash.title":"Bash","settings.permissions.tool.bash.description":"运行 shell 命令","settings.permissions.tool.task.title":"任务","settings.permissions.tool.task.description":"启动子智能体","settings.permissions.tool.skill.title":"技能","settings.permissions.tool.skill.description":"按名称加载技能","settings.permissions.tool.lsp.title":"LSP","settings.permissions.tool.lsp.description":"运行语言服务器查询","settings.permissions.tool.todowrite.title":"更新待办","settings.permissions.tool.todowrite.description":"更新待办列表","settings.permissions.tool.webfetch.title":"网页获取","settings.permissions.tool.webfetch.description":"从 URL 获取内容","settings.permissions.tool.websearch.title":"网页搜索","settings.permissions.tool.websearch.description":"搜索网页","settings.permissions.tool.external_directory.title":"外部目录","settings.permissions.tool.external_directory.description":"访问项目目录之外的文件","settings.permissions.tool.doom_loop.title":"死循环","settings.permissions.tool.doom_loop.description":"检测具有相同输入的重复工具调用","session.delete.failed.title":"删除会话失败","session.delete.title":"删除会话","session.delete.confirm":'删除会话 "{{name}}"?',"session.delete.button":"删除会话","session.move.toProject":"移动到项目","session.move.newProject":"新项目","session.move.removeFromProject":"从项目移除","session.move.emptyProjects":"暂无可用项目,请先创建项目","session.move.confirm.title":"移动会话到项目","session.move.confirm.description":"将移入「{{project}}」,并复制本会话改过的文件到该项目。工作目录将变为该项目。不支持在项目之间移动。","session.move.confirm.action":"移动","session.move.failed.title":"移动会话失败","session.move.failed.onlyDefault":"只能从默认工作区晋升到项目,不支持项目之间移动。","session.move.success.title":"已移动会话","session.move.success.description":"已移动到「{{project}}」","session.move.success.removed":"已从项目移除","workspace.new":"新建工作区","workspace.type.local":"本地","workspace.type.sandbox":"沙盒","workspace.type.sharedCases":"默认案例","workspace.sharedCases.name":"官方预设","workspace.create.failed.title":"创建工作区失败","workspace.delete.failed.title":"删除工作区失败","workspace.resetting.title":"正在重置工作区","workspace.resetting.description":"这可能需要一点时间。","workspace.reset.failed.title":"重置工作区失败","workspace.reset.success.title":"工作区已重置","workspace.reset.success.description":"工作区已与默认分支保持一致。","workspace.error.stillPreparing":"工作区仍在准备中","workspace.status.checking":"正在检查未合并的更改...","workspace.status.error":"无法验证 git 状态。","workspace.status.clean":"未检测到未合并的更改。","workspace.status.dirty":"检测到未合并的更改。","workspace.delete.title":"删除工作区","workspace.delete.confirm":'删除工作区 "{{name}}"?',"workspace.delete.button":"删除工作区","workspace.reset.title":"重置工作区","workspace.reset.confirm":'重置工作区 "{{name}}"?',"workspace.reset.button":"重置工作区","workspace.reset.archived.none":"不会归档任何活跃会话。","workspace.reset.archived.one":"将归档 1 个会话。","workspace.reset.archived.many":"将归档 {{count}} 个会话。","workspace.reset.note":"这将把工作区重置为与默认分支一致。","common.open":"打开","dialog.releaseNotes.action.getStarted":"开始","dialog.releaseNotes.action.next":"下一步","dialog.releaseNotes.action.hideFuture":"不再显示","dialog.releaseNotes.media.alt":"发布预览","toast.project.reloadFailed.title":"无法重新加载 {{project}}","error.server.invalidConfiguration":"配置无效","common.moreCountSuffix":" (还有 {{count}} 个)","common.time.justNow":"刚刚","common.time.minutesAgo.short":"{{count}}分钟前","common.time.hoursAgo.short":"{{count}}小时前","common.time.daysAgo.short":"{{count}}天前","settings.providers.connected.environmentDescription":"已通过环境变量连接","settings.providers.custom.description":"通过基础 URL 添加与 OpenAI 兼容的提供商。","app.server.unreachable":"无法连接到 {{server}}","app.server.retrying":"正在自动重试...","app.server.otherServers":"其他服务器","server.row.noUsername":"无用户名","session.review.noVcs.createGit.title":"创建 Git 仓库","session.review.noVcs.createGit.description":"在此项目中跟踪、审查和撤消更改","session.review.noVcs.createGit.actionLoading":"正在创建 Git 仓库...","session.review.noVcs.createGit.action":"创建 Git 仓库","session.todo.progress":"已完成 {{done}} 个任务(共 {{total}} 个)","session.question.progress":"{{current}}/{{total}} 个问题","session.header.open.finder":"访达","session.header.open.fileExplorer":"文件资源管理器","session.header.open.fileManager":"文件管理器","session.header.open.app.vscode":"VS Code","session.header.open.app.cursor":"Cursor","session.header.open.app.zed":"Zed","session.header.open.app.textmate":"TextMate","session.header.open.app.antigravity":"Antigravity","session.header.open.app.terminal":"终端","session.header.open.app.iterm2":"iTerm2","session.header.open.app.ghostty":"Ghostty","session.header.open.app.warp":"Warp","session.header.open.app.xcode":"Xcode","session.header.open.app.androidStudio":"Android Studio","session.header.open.app.powershell":"PowerShell","session.header.open.app.sublimeText":"Sublime Text","debugBar.ariaLabel":"开发性能诊断","debugBar.na":"不适用","debugBar.nav.label":"NAV","debugBar.nav.tip":"最后一次完成的涉及会话页面的路由转换,从路由器启动到稳定后的第一次绘制。","debugBar.fps.label":"FPS","debugBar.fps.tip":"过去 5 秒内的滚动帧率。","debugBar.frame.label":"FRAME","debugBar.frame.tip":"过去 5 秒内最差的帧时间。","debugBar.jank.label":"JANK","debugBar.jank.tip":"过去 5 秒内超过 32ms 的帧。","debugBar.long.label":"LONG","debugBar.long.tip":"过去 5 秒内的阻塞时间和长任务计数。最大任务:{{max}}。","debugBar.delay.label":"DELAY","debugBar.delay.tip":"过去 5 秒内观察到的最差输入延迟。","debugBar.inp.label":"INP","debugBar.inp.tip":"过去 5 秒内的近似交互持续时间。这类似于 INP,而非官方的 Web Vitals INP。","debugBar.cls.label":"CLS","debugBar.cls.tip":"当前应用生命周期的累积布局偏移。","debugBar.mem.label":"MEM","debugBar.mem.tipUnavailable":"使用的 JS 堆与堆限制。仅限 Chromium。","debugBar.mem.tip":"使用的 JS 堆与堆限制。{{used}} / {{limit}}。","common.key.ctrl":"Ctrl","common.key.alt":"Alt","common.key.shift":"Shift","common.key.meta":"Meta","common.key.space":"空格","common.key.backspace":"退格","common.key.enter":"回车","common.key.tab":"Tab","common.key.delete":"Delete","common.key.home":"Home","common.key.end":"End","common.key.pageUp":"Page Up","common.key.pageDown":"Page Down","common.key.insert":"Insert","common.unknown":"未知","error.page.circular":"[循环]","error.globalSDK.noServerAvailable":"无可用服务器","error.globalSDK.serverNotAvailable":"服务器不可用","error.childStore.persistedCacheCreateFailed":"创建持久化缓存失败","error.childStore.persistedProjectMetadataCreateFailed":"创建持久化项目元数据失败","error.childStore.persistedProjectIconCreateFailed":"创建持久化项目图标失败","error.childStore.storeCreateFailed":"创建存储失败","terminal.connectionLost.abnormalClose":"WebSocket 异常关闭:{{code}}","account.deleteAccount.title":"注销账户","account.deleteAccount.description":"此操作不可撤销。注销后,您的账号、工作区数据及所有相关记录将被永久删除,并退出登录。","account.deleteAccount.confirm":"确认注销","account.deleteAccount.button":"注销账户","account.deleteAccount.toast.success":"账户已注销","account.deleteAccount.toast.error":"注销账户失败","account.defaultProject.description":"注册或首次登录时自动创建的默认项目,不可删除,作为科研开发的默认入口。"};export{e as dict};