@onescience/onecode-web 1.14.50-202609160919 → 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.
- package/assets/{3Dmol-xleXy9GQ.js → 3Dmol-M-HCGXi-.js} +1 -1
- package/assets/account-system-DTmu6yza.js +1 -0
- package/assets/{alert-04-BuuL0AIT.js → alert-01--H8ZijJg.js} +1 -1
- package/assets/{alert-05-DcXrpRhd.js → alert-02-DMWQpxo9.js} +1 -1
- package/assets/{alert-01-CJCeF3ai.js → alert-04-DcYaZ-xm.js} +1 -1
- package/assets/{alert-02-CJi22mxO.js → alert-05-CM0QChx1.js} +1 -1
- package/assets/alert-06-CN5Z6JGX.js +1 -0
- package/assets/alert-07-DB70_vIB.js +1 -0
- package/assets/alert-08-DXosSLKo.js +1 -0
- package/assets/alert-10-BYDc6Z52.js +1 -0
- package/assets/{bip-bop-03-BfWYH28z.js → bip-bop-03-CgBZA_jJ.js} +1 -1
- package/assets/{bip-bop-04-BG-CNh_8.js → bip-bop-04-Cdg3sgXd.js} +1 -1
- package/assets/{bip-bop-06-j4-Pah17.js → bip-bop-06-C9sUctXo.js} +1 -1
- package/assets/{bip-bop-08--N0Z031u.js → bip-bop-08-B9NYDLda.js} +1 -1
- package/assets/bip-bop-09-CAme7tCm.js +1 -0
- package/assets/{center-B1n9y8EL.js → center-Du0Dj8jG.js} +6 -6
- package/assets/dialog-fork-BjcfXOqX.js +1 -0
- package/assets/dialog-project-upload-CYJ0BfeD.js +2 -0
- package/assets/{dialog-select-file-BeSTKWgn.js → dialog-select-file-zidb_eDW.js} +1 -1
- package/assets/dialog-select-model-DZ3mRBAc.js +2 -0
- package/assets/{dialog-terminal-unavailable-BJHx-DqW.js → dialog-terminal-unavailable-iZysceQY.js} +3 -3
- package/assets/docs-B0NyiRF4.js +1 -0
- package/assets/{ghostty-web-DOfPEAa3.js → ghostty-web-DGQcssMy.js} +1 -1
- package/assets/{index-D89_umhI.js → index-0c2NLcs4.js} +266 -265
- package/assets/index-B1w0cY3F.css +1 -0
- package/assets/intro-BK7wKdrB.js +1 -0
- package/assets/{nope-02-HEvVIfx-.js → nope-02-DPEXyJeg.js} +1 -1
- package/assets/{nope-05-RgyHBqFD.js → nope-05-C-bUd40n.js} +1 -1
- package/assets/{nope-08-BS9LU-iv.js → nope-08-CNk8cKW5.js} +1 -1
- package/assets/{nope-11-DDmUqlQl.js → nope-11-DsIQhsOX.js} +1 -1
- package/assets/nope-12-BhTRpZLh.js +1 -0
- package/assets/{onescience-Bh7elMIY.js → onescience-BcwQe_Jd.js} +1 -1
- package/assets/resources-Cc3laAYn.js +1 -0
- package/assets/skills-DSetuaMt.js +1 -0
- package/assets/{staplebops-03-Jk0L8SSt.js → staplebops-03-CxLT8eai.js} +1 -1
- package/assets/{staplebops-04-BpKJFMZ2.js → staplebops-04-DTP5i0WE.js} +1 -1
- package/assets/{staplebops-06-DXJvqdBM.js → staplebops-06-CpA-H7RJ.js} +1 -1
- package/assets/{staplebops-07-C2GlRGJk.js → staplebops-07-BmqD3QLG.js} +1 -1
- package/assets/status-popover-body-DUi9T_2Z.js +2 -0
- package/assets/wizard-gJnCj9nl.js +1 -0
- package/assets/{yup-01-Cr-oSr_6.js → yup-01-fa9Kdh5F.js} +1 -1
- package/assets/{yup-03-Cf1DFqxz.js → yup-03-MvWratCq.js} +1 -1
- package/assets/{yup-04-DzDXJxIT.js → yup-04-DtH9nOVu.js} +1 -1
- package/assets/{yup-05-C5d28SLh.js → yup-05-B237ku8q.js} +1 -1
- package/assets/{zh-B_0loE3I.js → zh-B9RFApjK.js} +1 -1
- package/assets/{zht-5kvKl4Oi.js → zht-CYl2vuaK.js} +1 -1
- package/index.html +11 -11
- package/package.json +2 -2
- package/assets/account-system-eYkc0SIK.js +0 -1
- package/assets/alert-06-C3By8s_s.js +0 -1
- package/assets/alert-07-C-ojhQuZ.js +0 -1
- package/assets/alert-08-B8D0_9P3.js +0 -1
- package/assets/alert-10-DieOLQIQ.js +0 -1
- package/assets/bip-bop-09-CrOhSPop.js +0 -1
- package/assets/current-project-D88n80Ca.js +0 -1
- package/assets/dialog-edit-project-DkwpgJNK.js +0 -1
- package/assets/dialog-fork-DWY7BL9L.js +0 -1
- package/assets/dialog-project-upload-CQETR8DT.js +0 -2
- package/assets/dialog-select-model-C285UQWZ.js +0 -2
- package/assets/docs-DUvUHosJ.js +0 -1
- package/assets/home-D0znvU1o.js +0 -1
- package/assets/index-B_MGkqLF.css +0 -1
- package/assets/intro-RRbGgi66.js +0 -1
- package/assets/nope-12-xFjEj3BZ.js +0 -1
- package/assets/resources-BWggkSux.js +0 -1
- package/assets/selection-BGUJK_pT.js +0 -1
- package/assets/shell-DC-zhUf2.js +0 -2
- package/assets/skills-KXwoMhyR.js +0 -1
- package/assets/status-popover-body-D6a05RuM.js +0 -2
- package/assets/wizard-DO-x_wJv.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
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.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.review.toggle":"切換審查","command.terminal.new":"新增終端機","command.terminal.new.description":"建立新的終端機標籤頁","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":"切換 MCP","command.mcp.toggle.description":"切換 MCP","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":"精選模型,包含 Claude、GPT、Gemini 等等","dialog.provider.opencode.tagline":"可靠的優化模型","dialog.provider.opencodeGo.tagline":"適合所有人的低成本訂閱","dialog.provider.anthropic.note":"使用 Claude Pro/Max 或 API 金鑰連線","dialog.provider.openai.note":"使用 ChatGPT Pro/Plus 或 API 金鑰連線","dialog.provider.copilot.note":"使用 Copilot 或 API 金鑰連線","dialog.provider.google.note":"Gemini 模型,提供快速且結構化的回應","dialog.provider.openrouter.note":"從單一提供者存取所有支援的模型","dialog.provider.vercel.note":"透過智慧路由統一存取 AI 模型","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.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.name.label":"顯示名稱","provider.custom.field.name.placeholder":"我的 AI 提供商","provider.custom.field.baseURL.label":"基礎 URL","provider.custom.field.baseURL.placeholder":"https://api.myprovider.com/v1","provider.custom.field.apiKey.label":"API 金鑰","provider.custom.field.apiKey.placeholder":"API 金鑰","provider.custom.field.apiKey.description":"選填。若您透過標頭管理驗證,可留空。","provider.custom.models.label":"模型","provider.custom.models.id.label":"ID","provider.custom.models.id.placeholder":"model-id","provider.custom.models.name.label":"名稱","provider.custom.models.name.placeholder":"顯示名稱","provider.custom.models.remove":"移除模型","provider.custom.models.add":"新增模型","provider.custom.headers.label":"標頭(選填)","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.field.apiKey.keepPlaceholder":"留空則保持原金鑰","provider.custom.field.apiKey.keepDescription":"選填。留空將保留已設定的 API 金鑰。","provider.custom.field.apiKey.configuredHint":"已設定 API 金鑰,留空將保持不變。重新填寫會覆蓋原金鑰。","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.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":"將圖片、PDF 或文字檔案拖放到此處","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.action.send":"傳送","prompt.action.stop":"停止","prompt.toast.pasteUnsupported.title":"不支援的附件","prompt.toast.pasteUnsupported.description":"此處僅能附加圖片、PDF 或文字檔案。","prompt.toast.modelAgentRequired.title":"請選擇代理程式和模型","prompt.toast.modelAgentRequired.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":"無法取得工作階段","dialog.mcp.title":"MCP","dialog.mcp.description":"已啟用 {{enabled}} / {{total}}","dialog.mcp.empty":"未設定 MCP","dialog.mcp.addTitle":"新增 MCP 伺服器","dialog.mcp.editTitle":"編輯 MCP 伺服器","dialog.mcp.addButton":"新增 MCP 伺服器","dialog.mcp.form.hint":"按通用方式設定全域 MCP:本機 stdio(command + env)或遠端 HTTP(url + headers)。會寫入全域 opencode.json,所有專案可用。","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=...
|
|
2
|
-
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.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":"目前金鑰檔在伺服器上不可用,請先上傳 IdentityFile。上傳完成前無法測試。","dialog.ssh.identity.needsUploadTitle":"請上傳金鑰檔","dialog.ssh.identity.needsUploadDescription":"本機已找到匯入的 IdentityFile,請點擊「上傳 IdentityFile」後再測試。","dialog.ssh.identity.needsUploadInline":"本機已找到該金鑰檔,請點擊「上傳 IdentityFile」後再測試。","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.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.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.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","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.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":`回應內容:
|
|
2
|
+
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.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":"目前金鑰檔在伺服器上不可用,請先上傳 IdentityFile。上傳完成前無法測試。","dialog.ssh.identity.needsUploadTitle":"請上傳金鑰檔","dialog.ssh.identity.needsUploadDescription":"本機已找到匯入的 IdentityFile,請點擊「上傳 IdentityFile」後再測試。","dialog.ssh.identity.needsUploadInline":"本機已找到該金鑰檔,請點擊「上傳 IdentityFile」後再測試。","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.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.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.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","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.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
3
|
{{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:
|
|
4
4
|
{{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.panel.reviewAndFiles":"審查與檔案","session.review.filesChanged":"{{count}} 個檔案變更","session.review.change.one":"變更","session.review.change.other":"變更","session.review.loadingChanges":"正在載入變更...","session.review.empty":"此工作階段暫無變更","session.review.noChanges":"沒有變更","session.review.noVcs":"未偵測到 Git 版本控制系統,無法顯示變更","session.review.noSnapshot":"設定中已停用快照追蹤,因此無法使用工作階段變更","session.files.selectToOpen":"選取要開啟的檔案","session.files.all":"所有檔案","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","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.project.recentSessions":"最近工作階段","sidebar.section.projects":"專案","sidebar.section.recent":"未分類","sidebar.section.sharedCases":"預設案例展示","sidebar.project.none":"沒有專案","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.tab.general":"一般","settings.tab.shortcuts":"快速鍵","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":"展開 edit 工具區塊","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.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.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":"Task","settings.permissions.tool.task.description":"啟動子代理程式","settings.permissions.tool.skill.title":"Skill","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":"Web Fetch","settings.permissions.tool.webfetch.description":"從 URL 取得內容","settings.permissions.tool.websearch.title":"Web Search","settings.permissions.tool.websearch.description":"搜尋網頁","settings.permissions.tool.external_directory.title":"外部目錄","settings.permissions.tool.external_directory.description":"存取專案目錄之外的檔案","settings.permissions.tool.doom_loop.title":"Doom Loop","settings.permissions.tool.doom_loop.description":"偵測具有相同輸入的重複工具呼叫","session.delete.failed.title":"刪除工作階段失敗","session.delete.title":"刪除工作階段","session.delete.confirm":'刪除工作階段 "{{name}}"?',"session.delete.button":"刪除工作階段","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":"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":"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}}"};export{e as dict};
|
package/index.html
CHANGED
|
@@ -8,19 +8,19 @@
|
|
|
8
8
|
name="description"
|
|
9
9
|
content="OneScience is an AI for Science workspace for research discovery, agent workflows, and scientific knowledge."
|
|
10
10
|
/>
|
|
11
|
-
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
12
|
-
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
13
|
-
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
14
|
-
<link rel="manifest" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
15
|
-
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
16
|
-
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
11
|
+
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/favicon-96x96-v3.png" sizes="96x96" />
|
|
12
|
+
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/favicon-v3.ico" />
|
|
13
|
+
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/apple-touch-icon-v3.png" />
|
|
14
|
+
<link rel="manifest" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/site.webmanifest" />
|
|
15
|
+
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/fonts/inter-400.woff2" as="font" type="font/woff2" crossorigin />
|
|
16
|
+
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/fonts/noto-sc-400.woff2" as="font" type="font/woff2" crossorigin />
|
|
17
17
|
<meta name="theme-color" content="#F8F7F7" />
|
|
18
18
|
<meta name="theme-color" content="#131010" media="(prefers-color-scheme: dark)" />
|
|
19
|
-
<meta property="og:image" content="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
20
|
-
<meta property="twitter:image" content="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
21
|
-
<script id="oc-theme-preload-script" src="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
22
|
-
<script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
23
|
-
<link rel="stylesheet" crossorigin href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
19
|
+
<meta property="og:image" content="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/social-share.png" />
|
|
20
|
+
<meta property="twitter:image" content="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/social-share.png" />
|
|
21
|
+
<script id="oc-theme-preload-script" src="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/oc-theme-preload.js"></script>
|
|
22
|
+
<script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/index-0c2NLcs4.js"></script>
|
|
23
|
+
<link rel="stylesheet" crossorigin href="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/assets/index-B1w0cY3F.css">
|
|
24
24
|
</head>
|
|
25
25
|
<body class="antialiased overscroll-none text-12-regular overflow-hidden">
|
|
26
26
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onescience/onecode-web",
|
|
3
|
-
"version": "1.14.50-
|
|
3
|
+
"version": "1.14.50-202609161027",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"description": "OneCode web UI static assets for CDN delivery.",
|
|
8
|
-
"homepage": "https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
8
|
+
"homepage": "https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609161027/index.html",
|
|
9
9
|
"jsdelivr": "index.html",
|
|
10
10
|
"files": [
|
|
11
11
|
"**/*"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as ee,f as W,u as de,m as me,bV as N,q as te,i,c as C,n as B,o as Q,t as v,b as we,S as k,X as z,W as f,Y as E,d$ as ve,x as ge,a2 as _e,db as Ce,dc as ye,ac as xe,O as Se,z as Pe,dd as fe,e0 as ke,e1 as pe,e2 as qe,e3 as Ae,e4 as Me,e5 as Te,e6 as De,e7 as Ee,dt as oe,e8 as Ue,a5 as le,e9 as He}from"./index-D89_umhI.js";var G=v("<p class=os-auth-error>"),Le=v('<form class=os-auth-form><label><span>账户 / 邮箱</span><input autocomplete=username placeholder=账户名或注册邮箱></label><label><span>密码</span><input autocomplete=current-password type=password placeholder=输入密码></label><button type=submit class="os-button os-button-primary os-auth-submit">'),Re=v("<div class=os-auth-links><span>还没有账号?</span><a>创建账号</a><a>忘记密码?"),Ie=v("<p>"),Fe=v('<div class=os-auth-email-verify><button type=button class="os-button os-button-secondary os-auth-submit"></button><label><span></span><input autocomplete=one-time-code>'),Ne=v("<label><span>邀请码</span><input autocomplete=one-time-code placeholder=请输入邀请码><small class=os-auth-hint>当前已开启注册审核,需填写有效邀请码才能注册。"),ze=v('<form class=os-auth-form><label><span>账户</span><input autocomplete=username placeholder="例如 researcher01"><small class=os-auth-hint>用作登录标识及个人工作区目录名称。长度 3–32 个字符,须以小写字母开头,仅可包含小写字母、数字、点(.)、下划线(_)与连字符(-)。</small></label><label><span>邮箱</span><input autocomplete=email inputmode=email placeholder=name@example.com><small class=os-auth-hint>用于账号找回与系统通知,亦可作为登录凭证。</small></label><label><span>密码</span><input autocomplete=new-password type=password placeholder="至少 8 位"></label><label><span>确认密码</span><input autocomplete=new-password type=password placeholder=再次输入密码></label><button type=submit class="os-button os-button-primary os-auth-submit">'),je=v("<div class=os-auth-links><span>已有账号?</span><a>去登录"),Oe=v('<p class=os-auth-hint style="margin:0 0 0.35rem">通过注册邮箱获取验证码后重置密码。若无法收到邮件,请联系管理员。'),Z=v("<p class=os-account-success>"),Ve=v('<form class=os-auth-form><label><span>账号邮箱</span><input autocomplete=email inputmode=email placeholder=name@example.com></label><button type=submit class="os-button os-button-secondary os-auth-submit">'),Be=v("<label><span>邮件验证码</span><input autocomplete=one-time-code placeholder=输入邮件中的验证码>"),We=v('<form class=os-auth-form><label><span>新密码</span><input autocomplete=new-password type=password placeholder="至少 8 位"></label><label><span>确认新密码</span><input autocomplete=new-password type=password placeholder=再次输入新密码></label><button type=submit class="os-button os-button-primary os-auth-submit">'),Ge=v("<div class=os-auth-links><a>返回登录</a><a>创建账号"),Xe=v('<p class=os-auth-hint style="margin:0 0 0.35rem">请设置新密码以完成重置。'),Ye=v("<main class=os-account-page><div class=os-account-shell>"),Je=v("<section class=os-account-loading><strong>正在加载账号信息</strong><span>请稍候"),Ke=v('<section class=os-account-empty-state><strong></strong><span>登录后可以查看账号资料和开发空间。</span><a href="/login?redirect=%2Faccount"class="os-button os-button-primary">去登录'),Qe=v('<header class=os-account-header><div class=os-account-identity><div class=os-account-avatar></div><div><span class=os-account-kicker>账号中心</span><h1></h1><p></p></div></div><div class=os-account-actions><span class=os-account-status></span><a href=/code class="os-button os-button-secondary">进入科研开发</a><button type=button class="os-button os-button-danger">退出登录</button><button type=button class="os-button os-button-danger">'),Ze=v("<section class=os-account-workspace-hero><div class=os-account-workspace-hero-copy><span class=os-account-kicker>默认项目</span><strong>default</strong><p></p></div><div class=os-account-workspace-hero-meta><code>"),et=v('<section class=os-account-content-grid><section class=os-account-panel><div class=os-account-panel-head><strong>基本资料</strong><span class=os-account-session-expiry title="这是当前浏览器登录会话的有效期(约 14 天),不是账号本身到期。重新登录即可续期,账号与工作区数据不受影响。">登录会话 <!>失效</span></div><p class=os-account-session-expiry-note>提示:上方倒计时是登录会话有效期,重新登录即可续期;账号与工作区数据不会因此删除。</p><dl class=os-account-field-grid><div><dt>账户</dt><dd></dd></div><div><dt>邮箱</dt><dd></dd></div><div><dt>创建时间</dt><dd></dd></div><div><dt>默认入口</dt><dd>科研开发工作台</dd></div></dl></section><section class=os-account-panel><div class=os-account-panel-head><strong>修改密码</strong><span>本地账号</span></div><form class=os-account-password-form><label><span>当前密码</span><input autocomplete=current-password type=password placeholder=输入当前密码></label><label><span>新密码</span><input autocomplete=new-password type=password placeholder="至少 8 位"></label><label><span>确认新密码</span><input autocomplete=new-password type=password placeholder=再次输入新密码></label><button type=submit class="os-button os-button-danger os-auth-submit">'),tt=v('<div class="flex flex-col gap-4 pl-6 pr-2.5 pb-3"><p class="text-14-regular text-text-strong"></p><div class="flex justify-end gap-2"><button type=button class="os-button os-button-secondary"></button><button type=button class="os-button os-button-danger">'),rt=v("<main class=os-auth-page><section class=os-auth-shell><button type=button class=os-auth-dismiss aria-label=关闭并返回浏览><span aria-hidden=true>×</span></button><section class=os-auth-panel><a class=os-auth-brand href=/></a><div class=os-auth-links><button type=button class=os-auth-link-button>暂不登录,继续浏览");function dt(){const l=ee(),u=W(),[d,_]=N({name:"",email:"",password:"",confirmPassword:"",submitting:!1,error:""}),x=()=>typeof d.lockedUntil=="number"&&d.lockedUntil>Date.now(),a=async t=>{if(t.preventDefault(),x()){_("error",`尝试次数过多,请在 ${ct(d.lockedUntil-Date.now())} 后重试`);return}if(!d.email.trim()||!d.password){_("error","请输入账户/邮箱和密码");return}_({submitting:!0,error:"",lockedUntil:void 0});try{await fe(await ke({email:d.email.trim(),password:d.password}),l.storage),u(pe(location.search),{replace:!0});return}catch(m){const w=m instanceof Error&&"retryAfterMs"in m?Number(m.retryAfterMs):void 0;_({error:m instanceof Error?m.message:"登录失败,请稍后重试",submitting:!1,lockedUntil:typeof w=="number"&&w>0?Date.now()+w:void 0})}};return C(re,{mode:"login",get children(){return[(()=>{var t=Le(),m=t.firstChild,w=m.firstChild,S=w.nextSibling,r=m.nextSibling,e=r.firstChild,o=e.nextSibling,p=r.nextSibling;return t.addEventListener("submit",a),S.$$input=n=>_("email",n.currentTarget.value),o.$$input=n=>_("password",n.currentTarget.value),i(t,C(k,{get when(){return d.error},get children(){var n=G();return i(n,()=>d.error),n}}),p),i(p,(()=>{var n=z(()=>!!d.submitting);return()=>n()?"正在登录...":x()?"已锁定,请稍后重试":"登录"})()),f(n=>{var h=d.submitting,s=d.submitting,c=d.submitting||x();return h!==n.e&&(S.disabled=n.e=h),s!==n.t&&(o.disabled=n.t=s),c!==n.a&&(p.disabled=n.a=c),n},{e:void 0,t:void 0,a:void 0}),f(()=>S.value=d.email),f(()=>o.value=d.password),t})(),(()=>{var t=Re(),m=t.firstChild,w=m.nextSibling,S=w.nextSibling;return f(r=>{var e=`/register${location.search}`,o=`/forgot-password${location.search}`;return e!==r.e&&E(w,"href",r.e=e),o!==r.t&&E(S,"href",r.t=o),r},{e:void 0,t:void 0}),t})()]}})}function mt(){const l=ee(),u=W(),[d,_]=B(!1),[x,a]=B(!1),[t,m]=B(!1),[w,S]=B(Date.now()),[r,e]=N({name:"",email:"",password:"",confirmPassword:"",inviteCode:"",emailCode:"",submitting:!1,requestingCode:!1,requestHint:"",cooldownUntil:0,error:""});te(()=>{ve().then(c=>{_(!!c.inviteRequired),a(!!c.emailVerificationRequired)}).catch(()=>{_(!1),a(!1)});const s=window.setInterval(()=>S(Date.now()),250);ge(()=>window.clearInterval(s))});const o=Q(()=>Math.max(0,Math.ceil(((r.cooldownUntil??0)-w())/1e3))),p=Q(()=>o()>0),n=async()=>{if(r.requestingCode||r.submitting||p())return;const s=ue(r.email);if(s){e({error:s,requestHint:""});return}e({requestingCode:!0,error:"",requestHint:""});try{const c=await Te({email:r.email.trim()}),b=typeof c.retryAfterMs=="number"&&c.retryAfterMs>0?c.retryAfterMs:6e4;if(c.smtpUnreachable){m(!0),e({requestingCode:!1,requestHint:"无法连接邮件服务器,本次注册无需填写验证码。找回密码仍须邮件验证,收不到验证码请联系管理员。",error:"",cooldownUntil:Date.now()+b});return}m(!1),e({requestingCode:!1,requestHint:"验证码已发送,请查收邮箱后填入下方。",error:"",cooldownUntil:Date.now()+b})}catch(c){const b=c instanceof Error&&"retryAfterMs"in c?Number(c.retryAfterMs):void 0;e({requestingCode:!1,error:c instanceof Error?c.message:"发送验证码失败,请稍后重试",requestHint:"",...typeof b=="number"&&b>0?{cooldownUntil:Date.now()+b}:{}})}},h=async s=>{if(s.preventDefault(),!r.name.trim()||!r.email.trim()||!r.password){e("error","请输入账户、邮箱和密码");return}const c=lt(r.name);if(c){e("error",c);return}const b=ue(r.email);if(b){e("error",b);return}if(d()&&!(r.inviteCode??"").trim()){e("error","请填写邀请码");return}if(x()&&!t()&&!(r.emailCode??"").trim()){e("error","请填写邮箱验证码");return}if(r.password.length<8){e("error","密码至少需要 8 位");return}if(r.password!==r.confirmPassword){e("error","两次输入的密码不一致");return}e({submitting:!0,error:""});try{await fe(await Me({name:r.name.trim().toLowerCase(),email:r.email.trim(),password:r.password,...r.inviteCode?.trim()?{inviteCode:r.inviteCode.trim()}:{},...x()&&r.emailCode?.trim()?{emailCode:r.emailCode.trim()}:{}}),l.storage),u(pe(location.search),{replace:!0})}catch(g){e("error",g instanceof Error?g.message:"注册失败,请稍后重试"),e("submitting",!1)}};return C(re,{mode:"register",get children(){return[(()=>{var s=ze(),c=s.firstChild,b=c.firstChild,g=b.nextSibling,q=c.nextSibling,P=q.firstChild,M=P.nextSibling,U=q.nextSibling,I=U.firstChild,H=I.nextSibling,L=U.nextSibling,X=L.firstChild,Y=X.nextSibling,j=L.nextSibling;return s.addEventListener("submit",h),g.$$input=$=>e("name",$.currentTarget.value),E(g,"spellcheck",!1),M.$$input=$=>{e("email",$.currentTarget.value),m(!1)},i(s,C(k,{get when(){return x()},get children(){var $=Fe(),T=$.firstChild,D=T.nextSibling,F=D.firstChild,R=F.nextSibling;return T.$$click=()=>void n(),i(T,(()=>{var y=z(()=>!!r.requestingCode);return()=>y()?"正在发送...":z(()=>!!p())()?`重新发送 (${o()}s)`:"发送验证码"})()),i($,C(k,{get when(){return r.requestHint},get children(){var y=Ie();return i(y,()=>r.requestHint),f(()=>_e(y,t()?"os-auth-hint":"os-account-success")),y}}),D),i(F,()=>t()?"邮箱验证码(可不填)":"邮箱验证码"),R.$$input=y=>e("emailCode",y.currentTarget.value),E(R,"spellcheck",!1),f(y=>{var O=r.requestingCode||r.submitting||p()||!r.email.trim(),J=t()?"邮件服务器不可达,可留空":"输入邮件中的验证码",V=r.submitting;return O!==y.e&&(T.disabled=y.e=O),J!==y.t&&E(R,"placeholder",y.t=J),V!==y.a&&(R.disabled=y.a=V),y},{e:void 0,t:void 0,a:void 0}),f(()=>R.value=r.emailCode??""),$}}),U),i(s,C(k,{get when(){return d()},get children(){var $=Ne(),T=$.firstChild,D=T.nextSibling;return D.$$input=F=>e("inviteCode",F.currentTarget.value),E(D,"spellcheck",!1),f(()=>D.value=r.inviteCode??""),$}}),U),H.$$input=$=>e("password",$.currentTarget.value),Y.$$input=$=>e("confirmPassword",$.currentTarget.value),i(s,C(k,{get when(){return r.error},get children(){var $=G();return i($,()=>r.error),$}}),j),i(j,()=>r.submitting?"正在创建...":"创建账号"),f($=>{var T=r.submitting||r.requestingCode,D=r.submitting;return T!==$.e&&(M.disabled=$.e=T),D!==$.t&&(j.disabled=$.t=D),$},{e:void 0,t:void 0}),f(()=>g.value=r.name),f(()=>M.value=r.email),f(()=>H.value=r.password),f(()=>Y.value=r.confirmPassword),s})(),(()=>{var s=je(),c=s.firstChild,b=c.nextSibling;return f(()=>E(b,"href",`/login${location.search}`)),s})()]}})}function gt(){const l=W(),u=typeof location<"u"?new URLSearchParams(location.search).get("token")?.trim()??"":"",d=!!u,[_,x]=B(Date.now()),[a,t]=N({email:"",token:u,newPassword:"",confirmPassword:"",requesting:!1,submitting:!1,error:"",success:"",requestHint:"",cooldownUntil:0});te(()=>{const e=window.setInterval(()=>x(Date.now()),250);ge(()=>window.clearInterval(e))});const m=Q(()=>Math.max(0,Math.ceil((a.cooldownUntil-_())/1e3))),w=Q(()=>m()>0),S=async()=>{if(!(a.requesting||a.submitting||w())){if(!a.email.trim()){t({error:"请输入账号邮箱",success:"",requestHint:""});return}t({requesting:!0,error:"",success:"",requestHint:""});try{const e=await De({email:a.email.trim()}),o=typeof e.retryAfterMs=="number"&&e.retryAfterMs>0?e.retryAfterMs:6e4;t({requesting:!1,requestHint:"若该邮箱已注册,验证码将发送至邮箱。请查收后在下方完成重置。",error:"",cooldownUntil:Date.now()+o})}catch(e){const o=e instanceof Error&&"retryAfterMs"in e?Number(e.retryAfterMs):void 0;t({requesting:!1,error:e instanceof Error?e.message:"发送验证码失败,请稍后重试",requestHint:"",...typeof o=="number"&&o>0?{cooldownUntil:Date.now()+o}:{}})}}},r=async e=>{if(e.preventDefault(),!a.token.trim()){t({error:"请输入邮件验证码",success:""});return}if(a.newPassword.length<8){t({error:"新密码至少需要 8 位",success:""});return}if(a.newPassword!==a.confirmPassword){t({error:"两次输入的新密码不一致",success:""});return}t({submitting:!0,error:"",success:""});try{await Ee({token:a.token.trim(),newPassword:a.newPassword}),t({submitting:!1,error:"",success:"密码已重置,请使用新密码登录",newPassword:"",confirmPassword:""});const o=new URLSearchParams(location.search);o.delete("token");const p=o.toString();window.setTimeout(()=>l(`/login${p?`?${p}`:""}`,{replace:!0}),1200)}catch(o){t({submitting:!1,error:o instanceof Error?o.message:"重置密码失败,请稍后重试",success:""})}};return C(re,{mode:"forgot-password",get children(){return[C(k,{when:!d,get fallback(){return Xe()},get children(){return Oe()}}),C(k,{when:!d,get children(){var e=Ve(),o=e.firstChild,p=o.firstChild,n=p.nextSibling,h=o.nextSibling;return e.addEventListener("submit",s=>{s.preventDefault(),S()}),n.$$input=s=>t("email",s.currentTarget.value),i(h,(()=>{var s=z(()=>!!a.requesting);return()=>s()?"正在发送...":z(()=>!!w())()?`重新发送 (${m()}s)`:"获取验证码"})()),i(e,C(k,{get when(){return a.requestHint},get children(){var s=Z();return i(s,()=>a.requestHint),s}}),null),f(s=>{var c=a.requesting||a.submitting,b=a.requesting||a.submitting||w()||!a.email.trim();return c!==s.e&&(n.disabled=s.e=c),b!==s.t&&(h.disabled=s.t=b),s},{e:void 0,t:void 0}),f(()=>n.value=a.email),e}}),(()=>{var e=We(),o=e.firstChild,p=o.firstChild,n=p.nextSibling,h=o.nextSibling,s=h.firstChild,c=s.nextSibling,b=h.nextSibling;return e.addEventListener("submit",r),i(e,C(k,{when:!d,get children(){var g=Be(),q=g.firstChild,P=q.nextSibling;return P.$$input=M=>t("token",M.currentTarget.value),f(()=>P.disabled=a.submitting),f(()=>P.value=a.token),g}}),o),n.$$input=g=>t("newPassword",g.currentTarget.value),c.$$input=g=>t("confirmPassword",g.currentTarget.value),i(e,C(k,{get when(){return a.error},get children(){var g=G();return i(g,()=>a.error),g}}),b),i(e,C(k,{get when(){return a.success},get children(){var g=Z();return i(g,()=>a.success),g}}),b),i(b,()=>a.submitting?"正在重置...":"重置密码"),f(g=>{var q=a.submitting,P=a.submitting,M=a.submitting;return q!==g.e&&(n.disabled=g.e=q),P!==g.t&&(c.disabled=g.t=P),M!==g.a&&(b.disabled=g.a=M),g},{e:void 0,t:void 0,a:void 0}),f(()=>n.value=a.newPassword),f(()=>c.value=a.confirmPassword),e})(),(()=>{var e=Ge(),o=e.firstChild,p=o.nextSibling;return f(n=>{var h=`/login${location.search}`,s=`/register${location.search}`;return h!==n.e&&E(o,"href",n.e=h),s!==n.t&&E(p,"href",n.t=s),n},{e:void 0,t:void 0}),e})()]}})}function ft(){const l=ee(),u=W(),d=de(),_=me(),[x,a]=N({loading:!0,error:""}),[t,m]=N({currentPassword:"",newPassword:"",confirmPassword:"",submitting:!1,error:"",success:""});te(()=>{const o=Ce();if(!o){a({loading:!1,error:"当前未登录"});return}ye(o).then(p=>a({session:p,loading:!1,error:""})).catch(p=>a({loading:!1,error:p instanceof Error?p.message:"会话已失效"}))});const w=()=>{if(l.platform==="desktop"){u("/login",{replace:!0});return}location.assign("/login")},S=()=>{oe(l.storage).finally(()=>w())},r=async()=>{try{await Ue(),le({variant:"success",icon:"circle-check",title:d.t("account.deleteAccount.toast.success")}),await oe(l.storage),w()}catch(o){le({variant:"error",title:d.t("account.deleteAccount.toast.error"),description:o instanceof Error?o.message:"请稍后重试"})}},e=async(o,p)=>{if(o.preventDefault(),!t.currentPassword||!t.newPassword||!t.confirmPassword){m({error:"请输入当前密码和新密码",success:""});return}if(t.newPassword.length<8){m({error:"新密码至少需要 8 位",success:""});return}if(t.currentPassword===t.newPassword){m({error:"新密码不能与当前密码相同",success:""});return}if(t.newPassword!==t.confirmPassword){m({error:"两次输入的新密码不一致",success:""});return}m({submitting:!0,error:"",success:""});try{await He({accountId:p.account.id,currentPassword:t.currentPassword,newPassword:t.newPassword}),m({currentPassword:"",newPassword:"",confirmPassword:"",submitting:!1,error:"",success:"密码已更新,下次登录请使用新密码"})}catch(n){m({submitting:!1,error:n instanceof Error?n.message:"修改密码失败,请稍后重试",success:""})}};return(()=>{var o=Ye(),p=o.firstChild;return i(p,C(k,{get when(){return!x.loading},get fallback(){return Je()},get children(){return C(k,{get when(){return x.session},get fallback(){return(()=>{var n=Ke(),h=n.firstChild,s=h.nextSibling;return s.nextSibling,i(h,()=>x.error||"当前未登录"),n})()},children:n=>[(()=>{var h=Qe(),s=h.firstChild,c=s.firstChild,b=c.nextSibling,g=b.firstChild,q=g.nextSibling,P=q.nextSibling,M=s.nextSibling,U=M.firstChild,I=U.nextSibling,H=I.nextSibling,L=H.nextSibling;return i(c,()=>st(n().account.name,n().account.email)),i(q,()=>n().account.name),i(P,()=>n().account.email),i(U,()=>at(n().account.status)),H.$$click=S,L.$$click=()=>_.show(()=>C(nt,{onConfirm:r})),i(L,()=>d.t("account.deleteAccount.button")),h})(),(()=>{var h=Ze(),s=h.firstChild,c=s.firstChild,b=c.nextSibling,g=b.nextSibling,q=s.nextSibling,P=q.firstChild;return i(g,()=>d.t("account.defaultProject.description")),i(P,()=>ce(n())||"未分配"),f(()=>E(P,"title",ce(n()))),h})(),(()=>{var h=et(),s=h.firstChild,c=s.firstChild,b=c.firstChild,g=b.nextSibling,q=g.firstChild,P=q.nextSibling;P.nextSibling;var M=c.nextSibling,U=M.nextSibling,I=U.firstChild,H=I.firstChild,L=H.nextSibling,X=I.nextSibling,Y=X.firstChild,j=Y.nextSibling,$=X.nextSibling,T=$.firstChild,D=T.nextSibling,F=s.nextSibling,R=F.firstChild,y=R.nextSibling,O=y.firstChild,J=O.firstChild,V=J.nextSibling,ne=O.nextSibling,he=ne.firstChild,se=he.nextSibling,ae=ne.nextSibling,$e=ae.firstChild,ie=$e.nextSibling,K=ae.nextSibling;return i(g,()=>ot(n().expiresAt),P),i(L,()=>n().account.name),i(j,()=>n().account.email),i(D,()=>it(n().account.timeCreated)),y.addEventListener("submit",A=>e(A,n())),V.$$input=A=>m("currentPassword",A.currentTarget.value),se.$$input=A=>m("newPassword",A.currentTarget.value),ie.$$input=A=>m("confirmPassword",A.currentTarget.value),i(y,C(k,{get when(){return t.error},get children(){var A=G();return i(A,()=>t.error),A}}),K),i(y,C(k,{get when(){return t.success},get children(){var A=Z();return i(A,()=>t.success),A}}),K),i(K,()=>t.submitting?"正在更新...":"更新密码"),f(()=>K.disabled=t.submitting),f(()=>V.value=t.currentPassword),f(()=>se.value=t.newPassword),f(()=>ie.value=t.confirmPassword),h})()]})}})),o})()}function nt(l){const u=de(),d=me(),[_,x]=N({submitting:!1,error:""}),a=async()=>{x({submitting:!0,error:""});try{await l.onConfirm(),d.close()}catch(t){x({submitting:!1,error:t instanceof Error?t.message:u.t("account.deleteAccount.toast.error")})}};return C(xe,{get title(){return u.t("account.deleteAccount.title")},fit:!0,transition:!0,get children(){var t=tt(),m=t.firstChild,w=m.nextSibling,S=w.firstChild,r=S.nextSibling;return i(m,()=>u.t("account.deleteAccount.description")),i(t,C(k,{get when(){return _.error},get children(){var e=G();return i(e,()=>_.error),e}}),w),S.$$click=()=>d.close(),i(S,()=>u.t("common.cancel")),r.$$click=a,i(r,(()=>{var e=z(()=>!!_.submitting);return()=>e()?"注销中...":u.t("account.deleteAccount.confirm")})()),f(e=>{var o=_.submitting,p=_.submitting;return o!==e.e&&(S.disabled=e.e=o),p!==e.t&&(r.disabled=e.t=p),e},{e:void 0,t:void 0}),t}})}function re(l){const u=W(),d=()=>{qe(),u(Ae(location.search),{replace:!0})};return(()=>{var _=rt(),x=_.firstChild,a=x.firstChild,t=a.nextSibling,m=t.firstChild,w=m.nextSibling,S=w.firstChild;return a.$$click=d,i(m,C(Se,{})),i(t,()=>l.children,w),S.$$click=d,f(()=>E(x,"data-mode",l.mode)),_})()}function st(l,u){return(l.trim()||u.trim()||"OS").slice(0,2).toUpperCase()}function at(l){return l==="active"?"正常":l==="frozen"?"已冻结":l==="limited"?"已限流":l==="pending"?"待激活":l||"未知"}function ce(l){return Pe(l)??""}function it(l){return l?new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(be(l))):"未记录"}function ot(l){const u=Math.ceil(Math.max(0,be(l)-Date.now())/36e5);return u<=0?"已":u<24?`${u} 小时后`:`${Math.ceil(u/24)} 天后`}function lt(l){const u=l.trim().toLowerCase();return u?/^[a-z][a-z0-9._-]{2,31}$/.test(u)?u.includes("..")||u.endsWith(".")||u.startsWith(".")?"账户名不能以点开头/结尾,也不能包含连续的点":"":"账户名须为 3–32 位,以小写字母开头,仅含小写字母、数字、点、下划线或连字符":"请填写账户名"}function ue(l){const u=l.trim().toLowerCase();return!u||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(u)||u.length>254?"请填写有效邮箱":""}function ct(l){const u=Math.max(1,Math.ceil(l/1e3));if(u<60)return`${u} 秒`;const d=Math.ceil(u/60);return d<60?`${d} 分钟`:"1 小时"}function be(l){return l<1e10?l*1e3:l}we(["input","click"]);export{ft as AccountCenterPage,gt as ForgotPasswordPage,dt as LoginPage,mt as RegisterPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609160919/assets/alert-06-GK5Tqy6u.aac";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609160919/assets/alert-07-0r0kiLGz.aac";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609160919/assets/alert-08-CZowNquU.aac";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609160919/assets/alert-10-Ck5hR7zH.aac";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609160919/assets/bip-bop-09-CxEgoAHQ.aac";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as o,l as t,o as c,be as s,bf as a,z as n,s as u,bg as d}from"./index-D89_umhI.js";function l(e){return a(e)||n(u())||d(document,e.path)||""}function i(){const e=o(),r=t();return c(()=>l({path:e.data.path,recent:s(e.data.project),lastCodeWorkspace:r.projects.lastCode()}))}export{i as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as w,j as y,h as S,u as $,o,ea as D,ar as C,as as F,au as P,ak as _,bV as E,eb as M,c,i,ec as W,ab as p,X as z,ac as G,t as K}from"./index-D89_umhI.js";var L=K('<form class="os-client-project-create-form flex flex-col gap-5 p-5 pt-4"><div class="flex flex-col gap-3"><p class="os-client-project-create-path text-12-regular text-text-weak"></p></div><div class="flex justify-end gap-2">');function R(e){const l=w(),f=y(),h=S(),r=$(),s=o(()=>D(e.project.worktree)),d=o(()=>e.project.name||s()),v=o(()=>{C(),F();const t=P(e.project.worktree),a=_(e.project.worktree)?.remotePath?.trim();return t.kind==="ssh"&&a?a.endsWith("/")?a:`${a}/`:`${e.project.worktree.replace(/\\/g,"/").replace(/\/+$/,"")}/`}),[m,b]=E({name:d()}),g=o(()=>{const t=m.name.trim();return t?t!==d():!1}),n=M(()=>({mutationFn:async()=>{const t=m.name.trim(),a=t===s()?"":t;if(e.project.id&&e.project.id!=="global"){await f.client.project.update({projectID:e.project.id,directory:e.project.worktree,name:a,icon:{color:e.project.icon?.color||"",override:e.project.icon?.override||""},commands:{start:e.project.commands?.start??""}}),l.close();return}h.project.meta(e.project.worktree,{name:a,icon:e.project.icon,commands:e.project.commands}),l.close()}}));function x(t){t.preventDefault(),!(n.isPending||!g())&&n.mutate()}return c(G,{get title(){return r.t("dialog.project.rename.title")},class:"os-client-project-create w-full max-w-[480px] mx-auto",get children(){var t=L(),a=t.firstChild,u=a.firstChild,j=a.nextSibling;return t.addEventListener("submit",x),i(a,c(W,{autofocus:!0,type:"text",get label(){return r.t("dialog.project.rename.name")},get placeholder(){return s()},get value(){return m.name},onChange:k=>b("name",k)}),u),i(u,()=>r.t("dialog.project.rename.path",{path:v()})),i(j,c(p,{type:"button",variant:"ghost",size:"large",onClick:()=>l.close(),get children(){return r.t("common.cancel")}}),null),i(j,c(p,{type:"submit",variant:"primary",size:"large",get disabled(){return n.isPending||!g()},get children(){return z(()=>!!n.isPending)()?r.t("common.saving"):r.t("common.confirm")}}),null),t}})}export{R as DialogEditProject};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{em as v,e as S,f as k,eB as P,ap as _,eC as w,m as F,u as L,o as $,c as d,ep as C,i as u,ac as I,eD as T,a4 as b,a5 as p,eu as q,t as E}from"./index-D89_umhI.js";var K=E('<div class="w-full flex items-center gap-2"><span class="truncate flex-1 min-w-0 text-left font-normal"></span><span class="text-text-weak shrink-0 font-normal">');function M(i){return i.toLocaleTimeString(void 0,{timeStyle:"short"})}const B=()=>{const i=v(),g=S(),f=k(),c=P(),l=_(),h=w(),x=F(),n=L(),y=$(()=>{const t=i.id;if(!t)return[];const a=c.data.message[t]??[],o=[];for(const s of a){if(s.role!=="user")continue;const e=(c.data.part[s.id]??[]).find(r=>r.type==="text"&&!r.synthetic&&!r.ignored);e&&o.push({id:s.id,text:e.text.replace(/\n/g," ").slice(0,200),time:M(new Date(s.time.created))})}return o.reverse()}),D=t=>{if(!t)return;const a=i.id;if(!a)return;const o=c.data.part[t.id]??[],s=T(o,{directory:l.directory,attachmentName:n.t("common.attachment")}),m=b(l.directory);l.client.session.fork({sessionID:a,messageID:t.id}).then(e=>{if(!e.data){p({title:n.t("common.requestFailed")});return}x.close(),h.set(s,void 0,{dir:m,id:e.data.id}),f(q(g.pathname,m,e.data.id))}).catch(e=>{const r=e instanceof Error?e.message:String(e);p({title:n.t("common.requestFailed"),description:r})})};return d(I,{get title(){return n.t("command.session.fork")},get children(){return d(C,{class:"flex-1 min-h-0 [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:min-h-0",get search(){return{placeholder:n.t("common.search.placeholder"),autofocus:!0}},get emptyMessage(){return n.t("dialog.fork.empty")},key:t=>t.id,items:y,filterKeys:["text"],onSelect:D,children:t=>(()=>{var a=K(),o=a.firstChild,s=o.nextSibling;return u(o,()=>t.text),u(s,()=>t.time),a})()})}})};export{B as DialogFork};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as Ce,m as ze,u as Ie,l as Re,h as Ae,n as f,C as fe,o as b,ed as He,ee as Me,ef as be,eg as Oe,eh as We,c as i,i as l,S as u,Y as ve,W as U,a1 as $e,X as q,ei as w,ej as me,F as Ne,ac as Xe,t as v,ek as qe,el as Ge,a5 as Ve}from"./index-D89_umhI.js";var Ye=v("<input class=os-project-upload-path-input>"),ye=v("<p class=os-project-upload-warn>"),G=v("<p class=os-section-copy>"),Je=v("<ul class=os-project-upload-file-list>"),Ke=v("<div class=os-project-upload-summary role=status><strong>"),V=v("<p class=os-project-upload-error role=alert>"),Qe=v('<div class="os-upload-dialog os-download-dialog os-project-upload-panel"><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-project-upload-body><div class=os-download-env-field><span class=os-field-label></span><p class=os-section-copy></p></div><div class=os-project-upload-picks><button type=button class="os-button os-button-secondary"></button><button type=button class="os-button os-button-secondary"></button><input type=file class=hidden multiple><input type=file class=hidden multiple></div><p class=os-section-copy></p><label class=os-project-upload-overwrite><input type=checkbox><span></span></label></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">'),Ze=v("<code class=os-project-upload-path>/"),et=v("<li class=truncate>");function lt(n){const C=ze(),o=Ie(),Y=Re(),_e=Ae(),[s,je]=f([]),[we,Se]=f(!1),[J,xe]=f(!1),[K,Q]=f(),[ke,z]=f(!0),[h,Z]=f(!1),[ee,te]=f({done:0,total:0,written:0,skipped:0,failed:0}),[I,E]=f("");let le,ae;const oe=()=>n.pathPrefix?.trim().replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")||void 0,R=()=>{const t=n.directory.replace(/\/+$/,""),a=oe();return a?`${t}/${a}`:t},[ne,re]=f(R());fe(()=>{re(R())});const Ee=t=>{if(n.allowEditDestination)return t;const a=oe();return a?`${a}/${t}`:t},S=()=>n.allowEditDestination?ne().replace(/\/+$/,"")||R():n.directory.replace(/\/+$/,""),Le=t=>`${S()}/${t.replace(/^\/+/,"")}`,De=b(()=>{const t=_e.data.path.home,a=S();return t&&a.startsWith(t)?`~${a.slice(t.length)}`:a}),Te=b(()=>{if(!n.allowEditDestination)return!1;const t=n.directory.replace(/\/+$/,""),a=S();return!(a===t||a.startsWith(`${t}/`))}),A=b(()=>He(s())),T=b(()=>Me(s())),H=b(()=>be(s(),{maxFileBytes:n.maxFileBytes,maxTotalBytes:n.maxTotalBytes})),ie=b(()=>{const t=K();return t===void 0||t<=0?!1:A()>t}),se=b(()=>s().length>0&&!h()&&!ie()&&!H()&&!!S()),M=b(()=>s().slice(0,Oe)),Be=b(()=>s().length>0&&!T()),ce=(t=H())=>t?t.kind==="file"?o.t("dialog.project.upload.fileTooLarge",{path:t.path,size:w(t.size),max:w(t.max)}):o.t("dialog.project.upload.totalTooLarge",{size:w(t.size),max:w(t.max)}):"";fe(()=>{const t=S(),a=Y.current?.http;if(!t||!a){z(!1);return}let c=!1;return z(!0),We(a.url,t).then(p=>{c||Q(p.availableBytes)}).catch(()=>{c||Q(void 0)}).finally(()=>{c||z(!1)}),()=>{c=!0}});const de=t=>{if(!t?.length)return;E("");const a=qe(t);je(a.entries),Se(a.truncated);const c=be(a.entries,{maxFileBytes:n.maxFileBytes,maxTotalBytes:n.maxTotalBytes});if(c){E(ce(c));return}a.truncated&&E(o.t("dialog.project.upload.tooManyFiles",{max:String(me),selected:String(a.totalSelected)}))},Pe=async()=>{const t=Y.current?.http;if(!t||!se())return;const a=s(),c=S();Z(!0),E(""),te({done:0,total:a.length,written:0,skipped:0,failed:0});let p=0,_=0,$=0;const d=[],m=[];for(let j=0;j<a.length;j+=1){const x=a[j],L=Ee(x.path);try{const g=await Ge(t.url,c,{path:L,file:x.file,overwrite:J()});g.status==="written"?p+=1:_+=1,m.push(Le(g.path||L))}catch(g){$+=1;const k=g instanceof Error?g.message:o.t("dialog.project.upload.failed");d.length<3&&d.push(`${x.path}: ${k}`)}te({done:j+1,total:a.length,written:p,skipped:_,failed:$})}if(Z(!1),$===0){Ve({title:o.t("toast.project.upload.success",{written:String(p),skipped:String(_)})}),n.onUploadedPaths?.(m),n.onUploaded?.(),C.close();return}E([o.t("dialog.project.upload.partialFailed",{written:String(p),skipped:String(_),failed:String($)}),...d].join(`
|
|
2
|
-
`)),(p>0||_>0)&&(n.onUploadedPaths?.(m),n.onUploaded?.())};return i(Xe,{fit:!0,class:"os-project-upload-dialog",get children(){var t=Qe(),a=t.firstChild,c=a.firstChild,p=c.firstChild,_=p.nextSibling,$=c.nextSibling,d=a.nextSibling,m=d.firstChild,j=m.firstChild,x=j.nextSibling,L=m.nextSibling,g=L.firstChild,k=g.nextSibling,O=k.nextSibling,ue=O.nextSibling,W=L.nextSibling,N=W.nextSibling,B=N.firstChild,Fe=B.nextSibling,Ue=d.nextSibling,P=Ue.firstChild,X=P.nextSibling;return l(p,()=>o.t("dialog.project.upload.eyebrow")),l(_,()=>n.title??o.t("command.project.upload")),$.$$click=()=>C.close(),l(j,()=>n.destinationLabel??o.t("dialog.project.upload.destinationLabel")),l(m,i(u,{get when(){return n.allowEditDestination},get fallback(){return(()=>{var e=Ze(),y=e.firstChild;return l(e,De,y),e})()},get children(){var e=Ye();return e.$$input=y=>re(y.currentTarget.value),ve(e,"spellcheck",!1),U(()=>e.disabled=h()),U(()=>e.value=ne()),e}}),x),l(x,()=>n.destinationHint??o.t("dialog.project.upload.destinationHint")),l(m,i(u,{get when(){return Te()},get children(){var e=ye();return l(e,()=>o.t("dialog.project.upload.destinationRisk")),e}}),null),g.$$click=()=>le?.click(),l(g,()=>o.t("dialog.project.upload.pickFiles")),k.$$click=()=>ae?.click(),l(k,()=>o.t("dialog.project.upload.pickFolder")),O.addEventListener("change",e=>{de(e.currentTarget.files),e.currentTarget.value=""}),$e(e=>{le=e},O),ue.addEventListener("change",e=>{de(e.currentTarget.files),e.currentTarget.value=""}),$e(e=>{ae=e,e&&e.setAttribute("webkitdirectory","")},ue),l(d,i(u,{get when(){return s().length>0},get children(){var e=Ke(),y=e.firstChild;return l(y,(()=>{var r=q(()=>!!T());return()=>r()?o.t("dialog.project.upload.folderSummary",{folder:T(),count:String(s().length),size:w(A())}):o.t("dialog.project.upload.summary",{count:String(s().length),size:w(A())})})()),l(e,i(u,{get when(){return we()},get children(){var r=ye();return l(r,()=>o.t("dialog.project.upload.truncatedHint",{max:String(me)})),r}}),null),l(e,i(u,{get when(){return T()},get children(){var r=G();return l(r,()=>o.t("dialog.project.upload.folderHint")),r}}),null),l(e,i(u,{get when(){return Be()},get children(){return[(()=>{var r=Je();return l(r,i(Ne,{get each(){return M()},children:F=>(()=>{var D=et();return l(D,()=>F.path),D})()})),r})(),i(u,{get when(){return s().length>M().length},get children(){var r=G();return l(r,()=>o.t("dialog.project.upload.moreFiles",{count:String(s().length-M().length)})),r}})]}}),null),e}}),W),l(W,()=>o.t("dialog.project.upload.diskSpace",{space:ke()?o.t("common.loading"):w(K())})),l(d,i(u,{get when(){return ie()},get children(){var e=V();return l(e,()=>o.t("dialog.project.upload.diskInsufficient")),e}}),N),l(d,i(u,{get when(){return q(()=>!!H())()&&!I()},get children(){var e=V();return l(e,ce),e}}),N),B.addEventListener("change",e=>xe(e.currentTarget.checked)),l(Fe,()=>o.t("dialog.project.upload.overwrite")),l(d,i(u,{get when(){return h()},get children(){var e=G();return l(e,()=>o.t("dialog.project.upload.progress",{done:String(ee().done),total:String(ee().total)})),e}}),null),l(d,i(u,{get when(){return I()},get children(){var e=V();return l(e,I),e}}),null),P.$$click=()=>C.close(),l(P,()=>o.t("common.cancel")),X.$$click=()=>void Pe(),l(X,(()=>{var e=q(()=>!!h());return()=>e()?o.t("dialog.project.upload.uploading"):o.t("dialog.project.upload.confirm")})()),U(e=>{var y=h(),r=o.t("common.cancel"),F=h(),D=h(),pe=h(),ge=h(),he=!se();return y!==e.e&&($.disabled=e.e=y),r!==e.t&&ve($,"aria-label",e.t=r),F!==e.a&&(g.disabled=e.a=F),D!==e.o&&(k.disabled=e.o=D),pe!==e.i&&(B.disabled=e.i=pe),ge!==e.n&&(P.disabled=e.n=ge),he!==e.s&&(X.disabled=e.s=he),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),U(()=>B.checked=J()),t}})}Ce(["click","input"]);export{lt as DialogProjectUpload};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-D89_umhI.js","assets/index-B_MGkqLF.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{u as x,i as d,c as i,S as h,t as b,m as y,ab as D,ac as M,bV as O,ev as v,N as k,ew as P,ex as C,ey as z,o as A,ez as _,eA as p,ep as B,ae as L,a6 as I}from"./index-D89_umhI.js";var E=b('<div class="flex flex-col gap-1 py-1"><div class=text-13-medium></div><div class="text-12-regular text-text-invert-base"></div><div class="text-12-regular text-text-invert-base">'),j=b('<div class="text-12-regular text-text-invert-base">');const F=o=>{const n=x(),a=e=>{const l=`${e.id} ${e.name}`.toLowerCase();return/claude|anthropic/.test(l)?n.t("model.provider.anthropic"):/gpt|o[1-4]|codex|openai/.test(l)?n.t("model.provider.openai"):/gemini|palm|bard|google/.test(l)?n.t("model.provider.google"):/grok|xai/.test(l)?n.t("model.provider.xai"):/llama|meta/.test(l)?n.t("model.provider.meta"):e.provider.name},c=e=>e==="text"?n.t("model.input.text"):e==="image"?n.t("model.input.image"):e==="audio"?n.t("model.input.audio"):e==="video"?n.t("model.input.video"):e==="pdf"?n.t("model.input.pdf"):e,t=()=>{const e=[];o.latest&&e.push(n.t("model.tag.latest")),o.free&&e.push(n.t("model.tag.free")),o.limited&&e.push(n.t("model.tag.limited"));const l=e.length?` (${e.join(", ")})`:"";return`${a(o.model)} ${o.model.name}${l}`},r=()=>{if(o.model.capabilities){const g=o.model.capabilities.input,f=["text","image","audio","video","pdf"].filter(m=>g[m]).map(m=>c(m));return f.length?f.join(", "):void 0}const e=o.model.modalities?.input;if(!e)return;const l=e.map(g=>c(g));return l.length?l.join(", "):void 0},u=()=>o.model.capabilities?o.model.capabilities.reasoning?n.t("model.tooltip.reasoning.allowed"):n.t("model.tooltip.reasoning.none"):o.model.reasoning?n.t("model.tooltip.reasoning.allowed"):n.t("model.tooltip.reasoning.none"),s=()=>n.t("model.tooltip.context",{limit:o.model.limit.context.toLocaleString()});return(()=>{var e=E(),l=e.firstChild,g=l.nextSibling,S=g.nextSibling;return d(l,t),d(e,i(h,{get when(){return r()},children:f=>(()=>{var m=j();return d(m,()=>n.t("model.tooltip.allows",{inputs:f()})),m})()}),g),d(g,u),d(S,s),e})()};var V=b('<div class="w-full flex items-center gap-x-2 text-13-regular"><span class=truncate>'),K=b('<div class="flex items-center gap-1">');const $=(o,n)=>o==="opencode"&&(!n||n.input===0),w=o=>o==="onescience",T=o=>{const n=o.model??z().model,a=x(),c=A(()=>n.list().filter(r=>o.provider?r.provider.id===o.provider:!0).filter(r=>n.visible({modelID:r.id,providerID:r.provider.id})).map(r=>({...r,search:[r.provider.name,r.provider.id,r.name,r.id,r.family,$(r.provider.id,r.cost)?"free 免费":"",w(r.provider.id)?"limited 限免":"",r.latest?"latest 最新":""].join(" ")})));return i(B,{get class(){return`flex-1 min-h-0 [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:min-h-0 ${o.class??""}`},get search(){return{placeholder:a.t("dialog.model.search.placeholder"),autofocus:!0,action:o.action}},get emptyMessage(){return a.t("dialog.model.empty")},key:t=>`${t.provider.id}:${t.id}`,items:c,get current(){return n.current()},scrollToCurrent:!1,filterKeys:["search"],sortBy:(t,r)=>t.name.localeCompare(r.name),groupBy:t=>t.provider.name,sortGroupsBy:(t,r)=>{const u=t.items[0].provider.id,s=r.items[0].provider.id;return p.includes(u)&&!p.includes(s)?-1:!p.includes(u)&&p.includes(s)?1:p.indexOf(u)-p.indexOf(s)},itemWrapper:(t,r)=>i(P,{class:"w-full",placement:"right-start",gutter:12,get value(){return i(F,{model:t,get latest(){return t.latest},get free(){return $(t.provider.id,t.cost)},get limited(){return w(t.provider.id)}})},children:r}),onSelect:t=>{n.set(t?{modelID:t.id,providerID:t.provider.id}:void 0,{recent:!0}),o.onSelect()},children:t=>(()=>{var r=V(),u=r.firstChild;return d(u,()=>t.name),d(r,i(h,{get when(){return $(t.provider.id,t.cost)},get children(){return i(_,{get children(){return a.t("model.tag.free")}})}}),null),d(r,i(h,{get when(){return w(t.provider.id)},get children(){return i(_,{get children(){return a.t("model.tag.limited")}})}}),null),d(r,i(h,{get when(){return t.latest},get children(){return i(_,{get children(){return a.t("model.tag.latest")}})}}),null),r})()})};function R(o){const[n,a]=O({open:!1,dismiss:null}),c=y(),t=e=>{a("dismiss",e),a("open",!1)},r=()=>{t("manage"),c.show(()=>i(L,{tab:"models"}))},u=()=>{t("provider"),I(()=>import("./index-D89_umhI.js").then(e=>e.eP),__vite__mapDeps([0,1])).then(e=>{c.show(()=>i(e.DialogSelectProvider,{}))})},s=x();return i(v,{get open(){return n.open},onOpenChange:e=>{e&&a("dismiss",null),a("open",e)},modal:!1,placement:"top-start",gutter:4,get children(){return[i(v.Trigger,k({get as(){return o.triggerAs??"div"}},()=>o.triggerProps,{get children(){return o.children}})),i(v.Portal,{get children(){return i(v.Content,{class:"w-72 h-80 flex flex-col p-2 rounded-md border border-border-base bg-surface-raised-stronger-non-alpha shadow-md z-50 outline-none overflow-hidden",onEscapeKeyDown:e=>{t("escape"),e.preventDefault(),e.stopPropagation()},onPointerDownOutside:()=>t("outside"),onFocusOutside:()=>t("outside"),onCloseAutoFocus:e=>{const l=n.dismiss;l==="outside"&&e.preventDefault(),(l==="escape"||l==="select")&&(e.preventDefault(),o.onClose?.(l)),a("dismiss",null)},get children(){return[i(v.Title,{class:"sr-only",get children(){return s.t("dialog.model.select.title")}}),i(T,{get provider(){return o.provider},get model(){return o.model},onSelect:()=>t("select"),class:"p-1",get action(){return(()=>{var e=K();return d(e,i(P,{placement:"top",get value(){return s.t("command.provider.connect")},get children(){return i(C,{icon:"plus-small",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return s.t("command.provider.connect")},onClick:u})}}),null),d(e,i(P,{placement:"top",get value(){return s.t("settings.models.title")},get children(){return i(C,{icon:"sliders",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return s.t("settings.models.title")},onClick:r})}}),null),e})()}})]}})}})]}})}const G=o=>{const n=y(),a=x(),c=()=>{I(()=>import("./index-D89_umhI.js").then(r=>r.eP),__vite__mapDeps([0,1])).then(r=>{n.show(()=>i(r.DialogSelectProvider,{}))})},t=()=>{n.show(()=>i(L,{tab:"models"}))};return i(M,{get title(){return a.t("dialog.model.select.title")},get action(){return i(D,{class:"h-7 -my-1 text-14-medium",icon:"plus-small",tabIndex:-1,onClick:c,get children(){return a.t("command.provider.connect")}})},get children(){return[i(T,{get provider(){return o.provider},get model(){return o.model},onSelect:()=>n.close()}),i(D,{variant:"ghost",class:"ml-3 mt-5 mb-6 text-text-base self-start",onClick:t,get children(){return a.t("settings.models.title")}})]}})};export{G as DialogSelectModel,R as ModelSelectorPopover};
|
package/assets/docs-DUvUHosJ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as I,f as M,n as N,C as O,o as P,i as t,c as d,t as n,b as T,T as Y,R as j,W as x,Y as k,F as g,S as q,_ as z}from"./index-D89_umhI.js";import{d as B}from"./onescience-docs-CH5KBTI9.js";var G=n("<div class=os-client-capability-page-grid>"),J=n('<div class="os-client-capability-page os-client-docs-page"><header class=os-client-docs-head><div class=os-client-docs-head-copy><h2>帮助</h2><p>平台使用说明、插件镜像与版本记录</p></div></header><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-docs-tabs"role=tablist aria-label=文档分类></div></section><div class=os-client-capability-page-body><section class=os-client-capability-resource-panel>'),K=n("<button type=button><strong></strong><small>"),Q=n("<p class=os-client-capability-empty>该分类下暂无文档。"),U=n("<article class=os-client-capability-card><div><h4></h4><p></p></div><div class=os-client-capability-meta></div><div class=os-client-capability-actions><a target=_blank rel=noreferrer data-primary=true>"),V=n("<span>");const v=[{id:"manual",label:"用户手册",hint:"平台与 OneSkills 使用说明",match:e=>e.includes("用户手册")},{id:"plugins",label:"插件与镜像",hint:"插件协议与运行镜像",match:e=>e.includes("插件")||e.includes("镜像")},{id:"release",label:"发版记录",hint:"版本变化与重要调整",match:e=>e.includes("发版记录")||e.includes("版本记录")}];function w(e){const c=e.replace(/^#/,"").trim().toLowerCase();return c==="manual"||c==="plugins"||c==="release"?c:"manual"}function ee(){const e=I(),c=M(),[b,f]=N(w(e.hash));O(()=>f(w(e.hash)));const H=a=>{f(a),c(z(a),{replace:!0})},_=()=>v.find(a=>a.id===b())??v[0],$=P(()=>B.filter(a=>_().match(a.tags)));return(()=>{var a=J(),u=a.firstChild;u.firstChild;var m=u.nextSibling,y=m.firstChild,E=y.firstChild,F=E.nextSibling,L=y.nextSibling,A=m.nextSibling,D=A.firstChild;return t(u,d(j,{get href(){return Y()},class:"os-client-docs-close","aria-label":"关闭帮助",children:"×"}),null),t(F,()=>_().label),t(L,d(g,{each:v,children:i=>(()=>{var l=K(),r=l.firstChild,h=r.nextSibling;return l.$$click=()=>H(i.id),t(r,()=>i.label),t(h,()=>i.hint),x(s=>{var p=b()===i.id,o=b()===i.id;return p!==s.e&&l.classList.toggle("is-active",s.e=p),o!==s.t&&k(l,"aria-pressed",s.t=o),s},{e:void 0,t:void 0}),l})()})),t(D,d(q,{get when(){return $().length>0},get fallback(){return Q()},get children(){var i=G();return t(i,d(g,{get each(){return $()},children:l=>(()=>{var r=U(),h=r.firstChild,s=h.firstChild,p=s.nextSibling,o=h.nextSibling,R=o.nextSibling,S=R.firstChild;return t(s,()=>l.title),t(p,()=>l.copy),t(o,d(g,{get each(){return l.tags},children:W=>(()=>{var C=V();return t(C,W),C})()})),t(S,()=>l.action),x(()=>k(S,"href",l.href)),r})()})),i}})),a})()}T(["click"]);export{ee as WorkbenchDocsPage};
|
package/assets/home-D0znvU1o.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as f,o as i,q as w,i as l,c as e,t as d,b,s as v,r as p,v as g,w as h,x as y,b7 as P,S as u,R as k,a4 as E,aZ as S,a_ as $,a$ as C,b8 as L,b9 as _,ba as W,aY as A,f as D,as as R,ar as q,at as H,bb as I,bc as M,bd as x,a0 as F}from"./index-D89_umhI.js";import{u as O}from"./current-project-D88n80Ca.js";var T=d('<div class="os-client-chat-page os-client-welcome-chat"><section class="os-client-chat-stage is-empty"><div class=os-client-chat-hero><img class=os-client-logo src=/assets/onescience/onescience-logo.png alt=OneScience><h1>全流程科研模型生成平台</h1><p>从需求、数据、模型、skills 到运行环境,把科研工作组织成可执行的客户端任务。'),U=d("<div class=os-client-welcome-prompt-empty role=region aria-label=登录提示><div class=os-client-welcome-login-card><div class=os-client-welcome-login-copy><strong>登录后开始对话</strong><p>使用个人工作区与 Agent 协作,管理项目、会话与科研任务。"),j=d("<div class=os-client-welcome-prompt-empty><p>正在准备工作区…"),B=d('<div class="os-client-welcome-prompt os-code-embed"data-component=session-prompt-dock>');function z(){const n=O(),[o,m]=f(0),a=i(()=>(o(),!!v())),t=i(()=>a()?n():"");return w(()=>{const r=()=>m(c=>c+1);window.addEventListener(p,r),window.addEventListener(g,r),window.addEventListener(h,r),y(()=>{window.removeEventListener(p,r),window.removeEventListener(g,r),window.removeEventListener(h,r)}),P()?.type==="prompt"&&queueMicrotask(()=>document.querySelector('[data-component="prompt-input"]')?.focus())}),(()=>{var r=T();return r.firstChild,l(r,e(u,{get when(){return a()},get fallback(){return(()=>{var s=U(),c=s.firstChild;return c.firstChild,l(c,e(k,{get href(){return`/login?redirect=${encodeURIComponent("/workspace")}`},class:"os-client-welcome-login-cta",children:"去登录"}),null),s})()},get children(){return e(u,{get when(){return t()},get fallback(){return j()},children:s=>e(K,{get directory(){return s()}})})}}),null),r})()}function K(n){const o=i(()=>({dir:E(n.directory),id:void 0}));return e(A,{params:o,get children(){return e(S,{directory:()=>n.directory,get children(){return e($,{get children(){return e(C,{get children(){return e(L,{get children(){return e(_,{get children(){return e(W,{get children(){return e(N,{directory:()=>n.directory})}})}})}})}})}})}})}})}function N(n){const o=D(),m=i(()=>{R(),q();const t=n.directory();return t?H(t):!1}),a=t=>{const r=t.target;r instanceof Element&&r.closest('[data-action="prompt-attach"], [data-action="prompt-submit"]')&&(v()||(t.preventDefault(),t.stopPropagation(),F({navigate:o,action:{type:"prompt",prompt:""},isLoggedIn:!1})))};return[e(I,{}),(()=>{var t=B();return t.$$click=a,l(t,e(M,{get directory(){return n.directory}}),null),l(t,e(u,{get when(){return!m()},get children(){return e(x,{})}}),null),t})()]}b(["click"]);export{z as WorkbenchHomePage};
|