1"use strict";(self.rspackChunknewapi_web=self.rspackChunknewapi_web||[]).push([[435],{75066(){},69439(){},62254(e,i,n){n.d(i,{w:()=>d});var s=n(72361);n(68413);var a=n(81204);let t="96px",o="52px",l="12px",r=`polygon(0 0, calc(100% - ${t}) 0, calc(100% - ${o}) ${l}, 100% ${l}, 100% 100%, 0 100%)`,c=`polygon(0 0, calc(100% - ${t} + 1.5px) 0, calc(100% - ${o} + 0.5px) calc(${l} - 0.5px), 100% calc(${l} - 0.5px), 100% 100%, 0 100%)`;function d(e){let{title:i,className:n,children:t,...o}=e;return(0,s.jsxs)("div",{"data-slot":"cut-corner-card",className:(0,a.cn)("relative isolate",n),...o,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"bg-border-strong absolute inset-0 -z-10",style:{clipPath:r}}),(0,s.jsx)("span",{"aria-hidden":!0,className:"bg-background absolute inset-px -z-10",style:{clipPath:c}}),(0,s.jsxs)("div",{className:"px-4 pt-3 pb-3.5",children:[null!=i&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h3",{className:"text-foreground pr-24 text-sm font-medium",children:i}),(0,s.jsx)("div",{className:"border-border-strong mt-2.5 mb-2.5 border-t border-dotted"})]}),t]})]})}},98302(e,i,n){n.d(i,{h:()=>d});var s=n(72361),a=n(71114),t=n(20032),o=n(61631),l=n(17926),r=n(89518),c=n(3773);function d(e){let i=e.lang??"zh",n=(0,c.P)(i),{auth:d}=(0,t.n)(),m=!!d.user;return(0,s.jsx)("footer",{className:"footer home-footer",children:(0,s.jsxs)("div",{className:"footer-inner home-footer-inner",children:[(0,s.jsxs)("div",{className:"footer-grid home-footer-grid",children:[(0,s.jsxs)("div",{className:"footer-about home-footer-brand",children:[(0,s.jsx)("a",{href:"/",className:"home-footer-logo","aria-label":"XycAi",children:(0,s.jsx)(l.O,{className:"home-footer-logo-image"})}),(0,s.jsx)("p",{children:n.footer.statement})]}),(0,s.jsxs)("div",{className:"footer-col home-footer-column",children:[(0,s.jsxs)("span",{className:"home-footer-column-rule","aria-hidden":"true",children:[(0,s.jsx)("span",{children:"+"}),(0,s.jsx)("span",{children:"+"})]}),(0,s.jsx)("h4",{children:n.footer.business}),(0,s.jsx)("a",{href:"/#token-platform",children:n.footer.token}),(0,s.jsx)("a",{href:"/#ai-custom",children:n.footer.aiCustom}),(0,s.jsx)("a",{href:"/#gpu-compute",children:n.footer.gpu})]}),(0,s.jsxs)("div",{className:"footer-col home-footer-column",children:[(0,s.jsxs)("span",{className:"home-footer-column-rule","aria-hidden":"true",children:[(0,s.jsx)("span",{children:"+"}),(0,s.jsx)("span",{children:"+"})]}),(0,s.jsx)("h4",{children:n.footer.resources}),(0,s.jsx)(a.N_,{to:"/model-square",children:n.footer.models}),(0,s.jsx)(a.N_,{to:"/download",children:n.footer.download}),(0,s.jsxs)("a",{href:"https://docs.xyc.ai/",target:"_blank",rel:"noreferrer",children:[n.footer.docs,(0,s.jsx)(o.F1e,{"aria-hidden":"true"})]}),(0,s.jsx)("a",{href:"/news/",children:n.footer.news}),(0,s.jsx)("button",{type:"button",onClick:r.Uq,className:"footer-link-btn home-footer-button",children:n.footer.support}),m?(0,s.jsx)(a.N_,{to:"/dashboard",children:n.nav.dashboard}):(0,s.jsx)(a.N_,{to:"/sign-in",children:n.nav.login})]}),(0,s.jsxs)("div",{className:"footer-col home-footer-column",children:[(0,s.jsxs)("span",{className:"home-footer-column-rule","aria-hidden":"true",children:[(0,s.jsx)("span",{children:"+"}),(0,s.jsx)("span",{children:"+"})]}),(0,s.jsx)("h4",{children:n.footer.legal}),(0,s.jsx)(a.N_,{to:"/privacy-policy",children:n.footer.privacy}),(0,s.jsx)(a.N_,{to:"/user-agreement",children:n.footer.terms}),(0,s.jsx)(a.N_,{to:"/cookie-policy",children:n.footer.cookies})]}),(0,s.jsxs)("div",{className:"footer-col home-footer-contact",children:[(0,s.jsxs)("span",{className:"home-footer-column-rule","aria-hidden":"true",children:[(0,s.jsx)("span",{children:"+"}),(0,s.jsx)("span",{children:"+"})]}),(0,s.jsx)("h4",{children:n.footer.contact}),(0,s.jsx)("a",{href:"mailto:[email protected]",children:n.footer.sales}),(0,s.jsxs)("a",{href:"https://docs.xyc.ai/",target:"_blank",rel:"noreferrer",children:[n.footer.support,(0,s.jsx)(o.F1e,{"aria-hidden":"true"})]}),(0,s.jsxs)("div",{className:"home-footer-contact-actions",children:[(0,s.jsxs)("a",{className:"home-footer-contact-primary",href:"mailto:[email protected]",children:[n.footer.contact,(0,s.jsx)(o.F1e,{"aria-hidden":"true"})]}),(0,s.jsxs)(a.N_,{className:"home-footer-contact-secondary",to:"/sign-up",children:[n.nav.signup,(0,s.jsx)(o.F1e,{"aria-hidden":"true"})]})]})]})]}),(0,s.jsxs)("div",{className:"home-footer-company",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"XYCAI"}),(0,s.jsx)("span",{children:"1500 N Grant St Ste R, Denver, CO 80203, US"}),(0,s.jsx)("span",{children:"Unit 437, 20-28 Porter Street, Ryde, NSW 2112, Australia"})]}),(0,s.jsxs)("a",{href:"mailto:[email protected]",children:[n.footer.sales,": [email protected]"]})]}),(0,s.jsx)("div",{className:"footer-bottom home-footer-bottom",children:(0,s.jsx)("div",{className:"footer-copy",children:"© 2025â2026 XycAi INC. ä¿çæææå©ã"})})]})})}n(75066),n(69439)},99170(e,i,n){n.d(i,{H:()=>t});var s=n(68413),a=n(38610);function t(e){let{systemName:i}=(0,a.R)();(0,s.useEffect)(()=>{let n=document.title;return document.title=i?`${e} - ${i}`:e,()=>{document.title=n}},[e,i])}},65822(e,i,n){n.r(i),n.d(i,{component:()=>N});var s=n(72361),a=n(68413),t=n(71114),o=n(20032),l=n(61631),r=n(99170),c=n(27953),d=n(77405),m=n(31005),p=n(23780),h=n(62254),u=n(34151),x=n(92170),j=n(98302),f=n(13260);n(75066);let w={zh:{meta:{title:"ä¸é®æ¥å
¥å®è£
| XycAi CLI",description:"ä½¿ç¨ npx xycai å¨ macOS æ Windows ä¸å®è£
å¹¶é
ç½® CodeXãClaude Codeï¼ä¸æ¥æ¥å
¥ XycAi APIã"},badge:"XYCAI CLI · CODEX / CLAUDE CODE",title:"ä¸é®æ¥å
¥å®è£
",description:"å¨ç»ç«¯è¿è¡ä¸ä¸ªå½ä»¤ï¼å导ä¼å®è£
ææ´æ°å®æ¹å®¢æ·ç«¯ãå¤ä»½åé
ç½®ï¼å¹¶åå
¥ XycAi API å°å䏿¬æº API Keyãæ¯æ CodeX å Claude Codeã",commandTitle:"ä»è¿éå¼å§",commandDescription:"è¯·å¨ macOS TerminalãWindows TerminalãPowerShell æå½ä»¤æç¤ºç¬¦ä¸è¿è¡ãä¸è¦å¨æµè§å¨æ§å¶å°ä¸æ§è¡ã",copyCommand:"å¤å¶å®è£
å½ä»¤",copied:"å·²å¤å¶",getKey:"ç»å½è·å API Key",sourceCode:"æ¥ç GitHub æºç ",facts:[{title:"æ éå
¨å±å®è£
xycai",description:"npx ä¼ä¸´æ¶ä¸è½½å¹¶è¿è¡å½ååå¸ç xycai å®è£
å导ã"},{title:"æ¯æä¸¤ç§å®¢æ·ç«¯",description:"æ ¹æ®æç¤ºéæ© CodeX æ Claude Codeï¼å¯éæ¶éæ°è¿è¡åæ¢ã"},{title:"åå
¥åèªå¨å¤ä»½",description:"ç°æé
ç½®ä¼å¨åç®å½çæå¸¦æ¶é´æ³ç .bak æä»¶ã"},{title:"é
ç½®ä¿å卿¬æº",description:"API Key ä¸å®¢æ·ç«¯é
ç½®åå
¥å½åç³»ç»ç¨æ·ç主ç®å½ã"}],requirementsTitle:"å¼å§ååå¤",requirementsDescription:"为äºåæ¶å
¼å®¹å½å CodeX ä¸ Claude Code 宿¹å®¢æ·ç«¯ï¼å»ºè®®å
æ»¡è¶³ä»¥ä¸æ¡ä»¶ã",requirements:[{title:"Node.js 22 ææ´é«çæ¬",description:"æ¨èå®è£
å½å Node.js LTSãæ§ç Node å¯è½å¯ä»¥è¿è¡ xycaiï¼ä½æ æ³å®è£
ææ°ç Claude Codeã"},{title:"npm ä¸ npx å¯ç¨",description:"Node.js 宿¹å®è£
å
ä¸ Homebrew/winget ç Node.js LTS é½ä¼åæ¶å®è£
npm å npxã"},{title:"ä¸ä¸ª XycAi API Key",description:"å¯ä»¥å
æå¼æ¬é¡µï¼åç»å½æ¥å£æ§å¶å建 Keyãä¸è¦æå®æ´ Key åç»ä»»ä½äººã"}],platformTitle:"æç³»ç»å®è£
",platformDescription:"å
宿 Node.js ç¯å¢æ£æ¥ï¼åè¿è¡å®è£
åå¯¼ãæ¯ä¸ªå½ä»¤é½å¯ä»¥ç´æ¥å¤å¶ã",macLabel:"macOS",windowsLabel:"Windows",mac:{title:"macOS 宿´å®è£
æ¥éª¤",description:"éç¨äº Apple è¯çå Intel Macãæ¨èä½¿ç¨ Homebrew å®è£
Node.jsï¼ä¹å¯ä»¥ä½¿ç¨ Node.js 宿¹å®è£
å
ã",officialInstaller:"æå¼ Node.js 宿¹ä¸è½½é¡µ",homebrew:"æå¼ Homebrew å®ç½",steps:[{title:"æå¼ Terminal",description:"æ Command + Space æå¼ Spotlightï¼è¾å
¥ Terminal å¹¶å车ã建议使ç¨å½åæ®éç¨æ·ï¼ä¸è¦åæ¢å° rootã"},{title:"æ£æ¥ Node.jsãnpm ä¸ npx",description:"便¬¡è¿è¡ä¸é¢å½ä»¤ãNode.js åºä¸º v22 ææ´é«çæ¬ï¼ä¸ä¸ªå½ä»¤é½åºè¾åºçæ¬å·ã",commands:[{value:"node --version"},{value:"npm --version"},{value:"npx --version"}]},{title:"ç¼ºå° Node.js æ¶å®è£
å½å LTS",description:"å·²ç»å®è£
Homebrew æ¶è¿è¡ brew å½ä»¤ã没æ Homebrew æ¶ï¼å¯ä» Node.js å®ç½ä¸è½½ macOS Installerï¼å®è£
宿åå
³éå¹¶éæ°æå¼ Terminalã",commands:[{label:"Homebrew",value:"brew install node"},{label:"å®è£
åéªè¯",value:"node --version && npm --version && np
1x --version"}],note:"Apple è¯ççµèè¥æç¤º brew: command not foundï¼è¯·æ Homebrew å®è£
ç»ææ¶ç»åºç shellenv æç¤ºé
ç½® PATHï¼ç¶åéå¼ Terminalã"},{title:"è¿è¡ XycAi å®è£
å导",description:"npx ä¼ä» npm 注å表ä¸è½½å¹¶è¿è¡ xycaiã馿¬¡è¿è¡æ¶çå¾
ä¾èµä¸è½½ï¼ç¶åææ¹åé®ååè½¦å®æäº¤äºã",commands:[{value:"npx xycai"}],note:"ä¸è¦ä½¿ç¨ sudo npx xycaiï¼å¦åé
ç½®å¯è½åå
¥ root ç¨æ·ç®å½ï¼åç»æ®éç¨æ·æ æ³æ£å¸¸ä½¿ç¨ã"},{title:"å¯å¨å·²éæ©ç客æ·ç«¯",description:"å坼宿åå
³éå¹¶éæ°æå¼ Terminalã妿é
ç½®çæ¯ CodeXï¼è¿è¡ codexï¼å¦æé
ç½®çæ¯ Claude Codeï¼è¿è¡ claudeã",commands:[{value:"codex"},{value:"claude"}]}]},windows:{title:"Windows 宿´å®è£
æ¥éª¤",description:"éç¨äº Windows 10/11ãæ¨èä½¿ç¨ Windows Terminal æ PowerShellï¼Node.js å¯éè¿ winget æå®æ¹ MSI å®è£
ã",officialInstaller:"æå¼ Node.js 宿¹ä¸è½½é¡µ",winget:"äºè§£ Windows Package Manager",steps:[{title:"æå¼ Windows Terminal æ PowerShell",description:"å¨å¼å§èåæç´¢ Windows Terminal æ PowerShellãéå¸¸ä½¿ç¨æ®éç¨æ·å³å¯ï¼åªæ winget æç¡®è¦æ±æ¶ææå为管çåã"},{title:"æ£æ¥ Node.jsãnpm ä¸ npx",description:"éæ¡è¿è¡ä¸é¢å½ä»¤ãNode.js åºä¸º v22 ææ´é«çæ¬ï¼npm å npx ä¹å¿
é¡»è½è¾åºçæ¬å·ã",commands:[{value:"node --version"},{value:"npm --version"},{value:"npx --version"}]},{title:"ç¼ºå° Node.js æ¶å®è£
å½å LTS",description:"Windows 10/11 å¯ç´æ¥ä½¿ç¨ wingetãå®è£
宿åå¡å¿
å
³éå½åç»ç«¯çªå£å¹¶éæ°æå¼ï¼è®© PATH ç¯å¢åéçæã没æ winget æ¶ä½¿ç¨ Node.js 宿¹ Windows Installerã",commands:[{label:"winget",value:"winget install --id OpenJS.NodeJS.LTS -e"},{label:"éå¼ç»ç«¯åéªè¯",value:"node --version\nnpm --version\nnpx --version"}]},{title:"è¿è¡ XycAi å®è£
å导",description:"æ£å¸¸æ
åµä¸è¿è¡ npx xycaiãè¥ PowerShell æç¤º npx.ps1 å æ§è¡çç¥è¢«ç¦æ¢ï¼ä¼å
æ¹ç¨ npx.cmdï¼ä¸éè¦å
³éç³»ç»èæ¬ä¿æ¤ã",commands:[{label:"常è§å½ä»¤",value:"npx xycai"},{label:"PowerShell æ§è¡çç¥æ¦æªæ¶",value:"npx.cmd xycai"}]},{title:"å¯å¨å·²éæ©ç客æ·ç«¯",description:"å坼宿åéå¼ç»ç«¯ãCodeX ä½¿ç¨ codexï¼Claude Code ä½¿ç¨ claudeãè¥æç¤ºå½ä»¤ä¸åå¨ï¼å
æ£æ¥ npm å
¨å±å½ä»¤ç®å½æ¯å¦å·²å å
¥ PATHã",commands:[{value:"codex"},{value:"claude"},{label:"å®ä½å½ä»¤",value:"where.exe codex\nwhere.exe claude"}]}]},wizardTitle:"å导éä¼åçä»ä¹",wizardDescription:"xycai æ¯äº¤äºå¼å·¥å
·ï¼ä¸éè¦è®°å¿åæ°ã宿´æµç¨å¦ä¸ï¼ä»»ä½è¦åæä½é½ä¼å
å¾å¾ç¡®è®¤ã",wizardSteps:[{title:"éæ©å导è¯è¨",description:"å·¥å
·ä¼èªå¨æ£æµç³»ç»è¯è¨ï¼ä¹å¯ä»¥æå¨éæ© Englishãç®ä½ä¸æææ¥æ¬èªã"},{title:"éæ© CodeX æ Claude Code",description:"æ¯æ¬¡è¿è¡é
ç½®ä¸ä¸ªå®¢æ·ç«¯ãéè¦åæ¢æ¶å次æ§è¡ npx xycaiã"},{title:"确认æ¯å¦å®è£
ææ´æ°å®æ¹ CLI",description:"CodeX å¯¹åº npm install -g @openai/codexï¼Claude Code å¯¹åº npm install -g @anthropic-ai/claude-codeãå¯ä»¥è·³è¿å¹¶ä½¿ç¨å·²æçæ¬ã"},{title:"确认å¤ä»½å¹¶è¦åé
ç½®",description:"å·¥å
·ä¼å
å¤å¶ç°æé
置为带æ¶é´æ³ç .bak æä»¶ï¼ååå
¥å®æ´ç XycAi é
置模æ¿ã"},{title:"è¾å
¥ API Key ä¸å®¢æ·ç«¯é项",description:"CodeX ä¼è¦æ±éæ©å½åå导æä¾çé»è®¤æ¨¡åï¼Claude Code å¯ç¡®è®¤æä¿®æ¹ XycAi Base URLãæ¨¡åé项以è¿è¡æ¶å导为åã"},{title:"åå
¥å®æå¹¶å¯å¨å®¢æ·ç«¯",description:"宿åè¿è¡ codex æ claudeã忬¡è¿è¡ npx xycai å¯ä»¥éæ°é
ç½®æåæ¢å®¢æ·ç«¯ã"}],configTitle:"åå
¥çé
ç½®ä¸ä½ç½®",configDescription:"è·¯å¾ä¸ç ~ æ $HOME 代表å½åç³»ç»ç¨æ·ç主ç®å½ãWindows ä¸å¯¹åº C:\\Users\\ä½ çç¨æ·åã",macPathsLabel:"macOS è·¯å¾",windowsPathsLabel:"Windows è·¯å¾",configCards:[{title:"CodeX",description:"é
ç½® XycAi 模åæä¾æ¹ãResponses æ¥å£åæ¬æº API Keyã",macPaths:["~/.codex/config.toml","~/.codex/auth.json"],windowsPaths:["$HOME\\.codex\\config.toml","$HOME\\.codex\\auth.json"],details:["é»è®¤ API å°åï¼https://apicdn.xyc.ai/v1","config.toml ä½¿ç¨ xycai 模åæ
1便¹ä¸ Responses æ¥å£ã","auth.json ä¿å OPENAI_API_KEYã"]},{title:"Claude Code",description:"åå
¥ Claude Code ç¯å¢åéãXycAi Base URL ä¸è¶
æ¶è®¾ç½®ã",macPaths:["~/.claude/settings.json"],windowsPaths:["$HOME\\.claude\\settings.json"],details:["é»è®¤ API å°åï¼https://apicdn.xyc.ai/","settings.json ä¿å ANTHROPIC_API_KEY ä¸ ANTHROPIC_BASE_URLã","å导å
许æ¹ç¨å
¶ä»å¯ä¿¡ç XycAi HTTPS è¾¹ç¼å°åã"]},{title:"èªå¨å¤ä»½",description:"åæä»¶å卿¶ï¼å¤ä»½ä¸åæä»¶æ¾å¨åä¸ç®å½ã",macPaths:["config.toml.YYYYMMDD-HHMMSS.bak"],windowsPaths:["config.toml.YYYYMMDD-HHMMSS.bak"],details:["å¤ä»½å¨è¦ååå建ã","æ¢å¤æ¶å°éè¦ç .bak æä»¶å¤å¶ååæä»¶åã","å¤ä»½å¯è½å
嫿§ API Keyï¼ä¹éè¦å¦¥åä¿ç®¡ã"]}],troubleshootingTitle:"常è§é®é¢ä¸æ¢å¤",troubleshootingDescription:"ä¼å
使ç¨ä¸é¢çéç ´åæ§æ£æ¥ãä¸è¦éæå 餿´ä¸ª .codex æ .claude ç®å½ã",issues:[{title:"npxãnode æ npm æç¤ºæ¾ä¸å°å½ä»¤",description:"å
³éææç»ç«¯å¹¶éæ°æå¼ï¼åæ£æ¥çæ¬ãä»ä¸å¯ç¨æ¶éæ°å®è£
Node.js LTSï¼ç¡®è®¤å®è£
ç¨åºå·²æ Node å å
¥ PATHã",commands:[{value:"node --version"},{value:"npm --version"},{value:"npx --version"}]},{title:"PowerShell 黿¢è¿è¡ npx.ps1",description:"ä½¿ç¨ npx.cmd xycai æåæ¢å°å½ä»¤æç¤ºç¬¦ãè¯¥æ¹æ³æ ééä½ PowerShell æ§è¡çç¥ã",commands:[{value:"npx.cmd xycai"}]},{title:"npm ä¸è½½å¤±è´¥ææ¿å°æ§ç¼å",description:"å
确认 npm 注å表å¯è®¿é®ï¼å强å¶ä½¿ç¨å½ååå¸çæ¬ãå
¬å¸ä»£çæç¬¬ä¸æ¹éåå¯è½å°æªåæ¥ xycaiã",commands:[{value:"npm ping"},{value:"npm config get registry"},{value:"npm view xycai version"},{value:"npx --prefer-online xycai@latest"}]},{title:"macOS å
¨å±å®è£
æç¤ºæéä¸è¶³",description:"ä¸è¦ç¨ sudo è¿è¡ xycaiãæ¨èéè¿ Homebrew æ Node çæ¬ç®¡çå¨å®è£
Node.jsï¼åéæ°è¿è¡å导ãsudo 伿é
ç½®åå°é误çç¨æ·ç®å½ã"},{title:"codex æ claude å®è£
å仿¾ä¸å°",description:"éå¼ç»ç«¯å¹¶æ¥ç npm å
¨å±åç¼ãWindows è¿å¯ä»¥ç¨ where.exe å®ä½å½ä»¤ï¼macOS å¯ç¨ command -vã",commands:[{value:"npm config get prefix"},{label:"macOS",value:"command -v codex\ncommand -v claude"},{label:"Windows",value:"where.exe codex\nwhere.exe claude"}]},{title:"éè¦æ¢å¤åé
ç½®",description:"å¨å¯¹åºç®å½æ¾å°ææ°çæ¶é´æ³ .bak æä»¶ï¼ç¡®è®¤å
容åå¤å¶ååæä»¶åãæ¢å¤å建议åå¤å¶ä¸ä»½å½åæä»¶ã",commands:[{label:"macOS æ¥æ¾å¤ä»½",value:"find ~/.codex ~/.claude -maxdepth 1 -name '*.bak' -print 2>/dev/null"},{label:"Windows PowerShell æ¥æ¾å¤ä»½",value:'Get-ChildItem "$HOME\\.codex","$HOME\\.claude" -Filter "*.bak" | Sort-Object LastWriteTime -Descending'},{label:"macOS 示ä¾",value:"cp ~/.codex/config.toml.YYYYMMDD-HHMMSS.bak ~/.codex/config.toml"},{label:"Windows PowerShell 示ä¾",value:'Copy-Item "$HOME\\.codex\\config.toml.YYYYMMDD-HHMMSS.bak" "$HOME\\.codex\\config.toml" -Force'}]}],securityTitle:"å®å
¨è¯´æ",securityDescription:"npx ä¼ä¸è½½å¹¶æ§è¡ npm å
ï¼è客æ·ç«¯é
ç½®éè¦ä¿å API Keyã请å¨è¿è¡åäºè§£ä»¥ä¸è¾¹çã",securityItems:["åªå¨ä½ ä¿¡ä»»ççµèä¸ç³»ç»ç¨æ·ä¸è¿è¡ npx xycaiã","API Key 以ææåå
¥æ¬æºå®¢æ·ç«¯é
ç½®ï¼ä¸è¦å享é
ç½®æä»¶ãç»ç«¯å½å±æ .bak å¤ä»½ã","ä¸è¦ä½¿ç¨ sudo npx xycaiï¼ä¹ä¸è¦ä¸ºäºè¿è¡ npx æ°¸ä¹
å
³é PowerShell æ§è¡çç¥ã","Claude Code èªå®ä¹ Base URL æ¶ï¼åªä½¿ç¨ä½ 确认å±äº XycAi ç HTTPS å°åã","妿 Key æ¾åºç°å¨æªå¾ãè天æå
¬å¼ä»åºä¸ï¼è¯·ç«å³å¨æ¥å£æ§å¶å é¤å¹¶éæ°å建ã"],finishTitle:"åå¤å¥½åï¼è¿è¡ä¸æ¬¡å½ä»¤å³å¯",finishDescription:"å建 API Keyï¼æå¼ç»ç«¯æ§è¡ npx xycaiï¼ç¶åæ ¹æ®å坼鿩 CodeX æ Claude Codeã",rerunCommand:"éæ°é
ç½®å½ä»¤",stepLabel:"æ¥éª¤",commandLabel:"å½ä»¤",noteLabel:"注æ"},en:{meta:{title:"Quick Install | XycAi CLI",description:"Install and configure CodeX or Claude Code on macOS and Windows with npx xycai, then connect to the XycAi API."},badge:"XYCAI CLI · CODEX / CLAUDE CODE",title:"One-command setup",de
1scription:"Run one terminal command. The wizard can install or update the official client, back up existing configuration, and write the XycAi API endpoint and local API key for CodeX or Claude Code.",commandTitle:"Start here",commandDescription:"Run this in macOS Terminal, Windows Terminal, PowerShell, or Command Prompt. Do not run it in a browser console.",copyCommand:"Copy install command",copied:"Copied",getKey:"Sign in for an API key",sourceCode:"View source on GitHub",facts:[{title:"No global xycai install",description:"npx downloads and runs the currently published xycai setup wizard temporarily."},{title:"Two supported clients",description:"Choose CodeX or Claude Code and rerun the wizard whenever you need to switch."},{title:"Backups before writes",description:"Existing files receive adjacent timestamped .bak copies before replacement."},{title:"Local configuration",description:"The API key and client settings are written under the current user home directory."}],requirementsTitle:"Before you begin",requirementsDescription:"Use the following baseline to remain compatible with the current official CodeX and Claude Code clients.",requirements:[{title:"Node.js 22 or newer",description:"The current Node.js LTS is recommended. Older Node releases may run xycai but cannot install the latest Claude Code."},{title:"Working npm and npx",description:"The official Node installer and Node installed through Homebrew or winget include npm and npx."},{title:"An XycAi API key",description:"Open this guide first, then sign in to create a key. Never send the complete key to another person."}],platformTitle:"Install for your system",platformDescription:"Verify Node.js first, then run the wizard. Every command below can be copied directly.",macLabel:"macOS",windowsLabel:"Windows",mac:{title:"Complete macOS setup",de
1scription:"Works on Apple silicon and Intel Macs. Homebrew is recommended, while the official Node installer is also supported.",officialInstaller:"Open the Node.js download page",homebrew:"Open the Homebrew website",steps:[{title:"Open Terminal",description:"Press Command + Space, type Terminal, and press Return. Stay signed in as your normal macOS user rather than root."},{title:"Check Node.js, npm, and npx",description:"Run each command. Node.js should report v22 or newer, and all three commands should print a version.",commands:[{value:"node --version"},{value:"npm --version"},{value:"npx --version"}]},{title:"Install the current Node.js LTS when missing",description:"Use the brew command when Homebrew is already installed. Otherwise download the macOS installer from Node.js, then close and reopen Terminal.",commands:[{label:"Homebrew",value:"brew install node"},{label:"Verify after installation",value:"node --version && npm --version && npx --version"}],note:"On Apple silicon, if brew is not found, follow the shellenv instructions printed by Homebrew and reopen Terminal."},{title:"Run the XycAi setup wizard",description:"npx downloads xycai from the npm registry. Allow the first download to finish, then use the arrow keys and Return to answer the prompts.",commands:[{value:"npx xycai"}],note:"Do not use sudo npx xycai. It may write configuration into the root account instead of your normal user profile."},{title:"Launch the selected client",description:"Close and reopen Terminal after setup. Run codex if you configured CodeX, or claude if you configured Claude Code.",commands:[{value:"codex"},{value:"claude"}]}]},windows:{title:"Complete Windows setup",description:"For Windows 10 and 11. Windows Terminal or PowerShell is recommended; install Node.js through winget or the official MSI.",officialInstaller:"Open the Node.js download page",winget:"Learn about Windows Package Manager",steps:[{title:"Open Windows Terminal or PowerShell",description:"Search for Windows Terminal or PowerShell from Start. A normal user session is usually enough; elevate only when winget explicitly requests it."},{title:"Check Node.js, npm, and npx",description:"Run each command. Node.js should report v22 or newer, and npm and npx must also return versions.",commands:[{value:"node --version"},{value:"npm --version"},{value:"npx --version"}]},{title:"Install the current Node.js LTS when missing",description:"Windows 10 and 11 can use winget. After installation, close the terminal window and open a new one so the PATH update is loaded. Use the official Windows Installer if winget is unavailable.",commands:[{label:"winget",value:"winget install --id OpenJS.NodeJS.LTS -e"},{label:"Verify in a new terminal",value:"node --version\nnpm --version\nnpx --version"}]},{title:"Run the XycAi setup wizard",description:"Run npx xycai normally. If PowerShell blocks npx.ps1 through its execution policy, use npx.cmd instead; there is no need to disable script protection.",commands:[{label:"Normal command",value:"npx xycai"},{label:"When PowerShell blocks npx.ps1",value:"npx.cmd xycai"}]},{title:"Launch the selected client",description:"Open a new terminal after setup. Use codex for CodeX or claude for Claude Code. If the command is missing, verify the npm global command directory is on PATH.",commands:[{value:"codex"},{value:"claude"},{label:"Locate commands",value:"where.exe codex\nwhere.exe claude"}]}]},wizardTitle:"What the wizard does",wizardDescription:"xycai is fully interactive, so there are no flags to memorize. It asks for confirmation before replacing any configuration.",wizardSteps:[{title:"Choose the wizard language",description:"The tool detects your locale and also lets you choose English, Simplified Chinese, or Japanese."},{title:"Choose CodeX or Claude Code",description:"Each run configures one client. Run npx xycai again when you need to switch."},{title:"Choose whether to install or update the official CLI",description:"CodeX uses npm install -g @openai/codex; Claude Code uses npm install -g @anthropic-ai/claude-code. You may skip this and keep an existing version."},{title:"Confirm backup and replacement",description:"The wizard first copies existing files into timestamped .bak files and then writes the complete XycAi template."},{title:"Enter the API key and client options",description:"CodeX asks for a default model from the options currently shown by the wizard. Claude Code lets you confirm or change the XycAi base URL."},{title:"Finish and launch the client",description:"Run codex or claude when setup completes. Rerun npx xycai whenever you need to configure the client again."}],configTitle:"Files and settings written",configDescription:"~ and $HOME mean the current system user home directory. On Windows this maps to C:\\Users\\your-name.",macPathsLabel:"macOS paths",windowsPathsLabel:"Windows paths",configCards:[{title:"CodeX",description:"Configures the XycAi model provider, Responses API, and local API key.",macPaths:["~/.codex/config.toml","~/.codex/auth.json"],windowsPaths:["$HOME\\.codex\\config.toml","$HOME\\.codex\\auth.json"],details:["Default API endpoint: https://apicdn.xyc.ai/v1","config.toml uses the xycai model provider and Responses API.","auth.json stores OPENAI_API_KEY."]},{title:"Claude Code",description:"Writes Claude Code environment variables, the XycAi base URL, and timeout settings.",macPaths:["~/.claude/settings.json"],windowsPaths:["$HOME\\.claude\\settings.json"],details:["Default API endpoint: https://apicdn.xyc.ai/","settings.json stores ANTHROPIC_API_KEY and ANTHROPIC_BASE_URL.","The wizard permits another trusted XycAi HTTPS edge endpoint."]},{title:"Automatic backups",description:"When an original file exists, its backup is placed in the same directory.",macPaths:["config.toml.YYYYMMDD-HHMMSS.bak"],windowsPaths:["config.toml.YYYYMMDD-HHMMSS.bak"],details:["The backup is created before replacement.","Restore b
1y copying the required .bak file back to the original name.","Backups may contain an older API key and must be protected as well."]}],troubleshootingTitle:"Troubleshooting and recovery",troubleshootingDescription:"Start with these non-destructive checks. Do not delete the entire .codex or .claude directory without reviewing it.",issues:[{title:"npx, node, or npm is not recognized",description:"Close every terminal and open a new one, then check the versions again. Reinstall Node.js LTS if necessary and confirm the installer added Node to PATH.",commands:[{value:"node --version"},{value:"npm --version"},{value:"npx --version"}]},{title:"PowerShell blocks npx.ps1",description:"Run npx.cmd xycai or use Command Prompt. This avoids weakening the PowerShell execution policy.",commands:[{value:"npx.cmd xycai"}]},{title:"npm download fails or returns stale cache",description:"Check registry access, then request the current published release. Company proxies and third-party mirrors may not have synchronized xycai yet.",commands:[{value:"npm ping"},{value:"npm config get registry"},{value:"npm view xycai version"},{value:"npx --prefer-online xycai@latest"}]},{title:"Global install reports a permission error on macOS",description:"Do not run xycai with sudo. Install Node through Homebrew or a Node version manager and rerun the wizard. sudo can write the configuration into the wrong user account."},{title:"codex or claude is still not found after installation",description:"Open a new terminal and inspect the npm global prefix. Windows can locate commands with where.exe; macOS can use command -v.",commands:[{value:"npm config get prefix"},{label:"macOS",value:"command -v codex\ncommand -v claude"},{label:"Windows",value:"where.exe codex\nwhere.exe claude"}]},{title:"Restore the previous configuration",description:"Find the newest timestamped .bak file in the relevant directory, inspect it, and copy it back to the original filename. Back up the current file first.",commands:[{label:"Find backups on macOS",value:"find ~/.codex ~/.claude -maxdepth 1 -name '*.bak' -print 2>/dev/null"},{label:"Find backups in Windows PowerShell",value:'Get-ChildItem "$HOME\\.codex","$HOME\\.claude" -Filter "*.bak" | Sort-Object LastWriteTime -Descending'},{label:"macOS example",value:"cp ~/.codex/config.toml.YYYYMMDD-HHMMSS.bak ~/.codex/config.toml"}
1,{label:"Windows PowerShell example",value:'Copy-Item "$HOME\\.codex\\config.toml.YYYYMMDD-HHMMSS.bak" "$HOME\\.codex\\config.toml" -Force'}]}],securityTitle:"Security notes",securityDescription:"npx downloads and executes an npm package, while client configuration needs to store an API key. Understand these boundaries before running it.",securityItems:["Run npx xycai only on a computer and system account you trust.","The API key is stored as plain text in local client configuration. Do not share config files, terminal recordings, or .bak backups.","Do not use sudo npx xycai and do not permanently disable PowerShell execution policy just to run npx.","Only use a trusted XycAi HTTPS endpoint when changing the Claude Code base URL.","If a key appears in a screenshot, chat, or public repository, delete it in API settings and create a replacement immediately."],finishTitle:"When ready, one command completes the setup",finishDescription:"Create an API key, open a terminal, run npx xycai, and choose CodeX or Claude Code in the wizard.",rerunCommand:"Reconfigure command",stepLabel:"Step",commandLabel:"Command",noteLabel:"Note"}};var y=n(14317);let v="npx xycai",g="https://nodejs.org/en/download";function b(e){let{item:i,copyLabel:n,copiedLabel:a}=e;return(0,s.jsxs)("div",{className:"install-command-block",children:[i.label?(0,s.jsx)("span",{children:i.label}):null,(0,s.jsxs)("div",{children:[(0,s.jsx)("code",{children:i.value}),(0,s.jsx)(x.i,{value:i.value,variant:"outline",size:"icon",tooltip:n,successTooltip:a,"aria-label":n})]})]})}function C(e){let{steps:i,stepLabel:n,noteLabel:a,copyLabel:t,copiedLabel:o}=e;return(0,s.jsx)("div",{className:"install-step-list",children:i.map((e,i)=>(0,s.jsxs)(m.Zp,{className:"install-step-card",children:[(0,s.jsxs)("div",{className:"install-step-heading",children:[(0,s.jsx)("span",{"aria-hidden":"true",children:String(i+1).padStart(2,"0")}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("small",{children:[n," ",i+1]}),(0,s.jsx)("h3",{children:e.title})]})]}),(0,s.jsx)("p",{children:e.description}),e.commands?.length?(0,s.jsx)("div",{className:"install-step-commands",children:e.commands.map(e=>(0,s.jsx)(b,{item:e,copyLabel:t,copiedLabel:o},`${e.label??""}-${e.value}`))}):null,e.note?(0,s.jsxs)("div",{className:"install-step-note",children:[(0,s.jsx)("strong",{children:a}),(0,s.jsx)("span",{children:e.note})]}):null]},e.title))})}let N=function(){let{lang:e,selectLanguage:i}=(0,y.B)(),n=w[e],N=(0,o.n)(e=>e.auth.user);(0,r.H)(n.meta.title),(0,a.useEffect)(()=>{document.querySelector('meta[name="description"]')?.setAttribute("content",n.meta.description)},[n.meta.description]);let S=N?(0,s.jsx)(t.N_,{to:"/keys"}):(0,s.jsx)(t.N_,{to:"/sign-in",search:{redirect:"/keys"}});return(0,s.jsxs)("div",{className:"xyc-homepage quick-install-page",lang:"zh"===e?"zh-CN":"en",dir:"ltr",children:[(0,s.jsx)(f.X,{lang:e,onLangChange:i,solid:!0}),(0,s.jsxs)("main",{className:"quick-install-main",children:[(0,s.jsxs)("section",{className:"install-hero",children:[(0,s.jsxs)("div",{className:"install-container install-hero-layout",children:[(0,s.jsxs)("div",{className:"install-hero-copy",children:[(0,s.jsxs)("p",{className:"install-eyebrow",children:[(0,s.jsx)(l.qPZ,{"aria-hidden":"true"}),n.badge]}),(0,s.jsx)("h1",{children:n.title}),(0,s.jsx)("p",{className:"install-lead",children:n.description}),(0,s.jsxs)("div",{className:"install-hero-actions",children:[(0,s.jsxs)(p.o,{size:"lg",nativeButton:!1,render:S,children:[(0,s.jsx)(l.kVM,{"aria-hidden":"true"}),n.getKey]}),(0,s.jsxs)(p.o,{variant:"outline",size:"lg",nativeButton:!1,render:(0,s.jsx)("a",{href:"https://github.com/xyuudaim/xycai-LLC",target:"_blank",rel:"noreferrer"}),children:[(0,s.jsx)(l.fxk,{"aria-hidden":"true"}),n.sourceCode,(0,s.jsx)(l.GrD,{"aria-hidden":"true"})]})]})]}),(0,s.jsxs)(h.w,{className:"install-command-card",title:n.commandTitle,children:[(0,s.jsx)("p",{children:n.commandDescription}),(0,s.jsxs)("div",{className:"install-primary-command",children:[(0,s.jsx)(l.qPZ,{"aria-hidden":"true"}),(0,s.jsx)("code",{children:v}),(0,s.jsx)(x.i,{value:v,variant:"outline",size:"default",tooltip:n.copyCommand,successTooltip:n.copied,"aria-label":n.copyCommand,children:(0,s.jsx)("span",{children:n.copyCommand})})]})]})]}),(0,s.jsx)("div",{className:"install-container install-fact-grid",children:n.facts.map((e,i)=>{let n=[l.FCU,l.qPZ,l.VzH,l.oxo][i];return(0,s.jsxs)(m.Zp,{className:"install-fact-card",size:"sm",children:[(0,s.jsx)(n,{"aria-hidden":"true"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{children:e.title}),(0,s.jsx)("p",{children:e.description})]})]},e.title)})})]}),(0,s.jsx)("section",{className:"install-section install-requirements",children:(0,s.jsxs)("div",{className:"install-container",children:[(0,s.jsxs)("div",{className:"install-section-heading",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"01"}),(0,s.jsx)("h2",{children:n.requirementsTitle})]}),(0,s.jsx)("p",{children:n.requirementsDescription})]}),(0,s.jsx)("div",{className:"install-requirement-grid",children:n.requirements.map((e,i)=>{let n=[l.FCU,l.qPZ,l.kVM][i];return(0,s.jsxs)(m.Zp,{className:"install-requirement-card",children:[(0,s.jsx)(n,{"aria-hidden":"true"}),(0,s.jsx)("h3",{children:e.title}),(0,s.jsx)("p",{children:e.description})]},e.title)})})]})}),(0,s.jsx)("section",{className:"install-section",children:(0,s.jsxs)("div",{className:"install-container",children:[(0,s.jsxs)("div",{className:"install-section-heading",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"02"}),(0,s.jsx)("h2",{children:n.platformTitle})]}),(0,s.jsx)("p",{children:n.platformDescription})]}),(0,s.jsxs)(u.tU,{defaultValue:"mac",className:"install-platform-tabs",children:[(0,s.jsxs)(u.j7,{className:"install-platform-tabs-list",children:[(0,s.jsxs)(u.Xi,{value:"mac",children:[(0,s.jsx)(l.ZFO,{"aria-hidden":"true"}),n.macLabel]}),(0,s.jsxs)(u.Xi,{value:"windows",children:[(0,s.jsx)(l.VAG,{"aria-hidden":"true"}),n.windowsLabel]})]}),(0,s.jsxs)(u.av,{value:"mac",className:"install-platform-content",children:[(0,s.jsxs)("div",{className:"install-platform-heading",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{children:n.mac.title}),(0,s.jsx)("p",{children:n.mac.description})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("a",{href:g,target:"_blank",rel:"noreferrer",children:[n.mac.officialInstaller,(0,s.jsx)(l.GrD,{"aria-hidden":"true"})]}),(0,s.jsxs)("a",{href:"https://brew.sh/",target:"_blank",rel:"noreferrer",children:[n.mac.homebrew,(0,s.jsx)(l.GrD,{"aria-hidden":"true"})]})]})]}),(0,s.jsx)(C,{steps:n.mac.steps,stepLabel:n.stepLabel,noteLabel:n.noteLabel,copyLabel:n.copyCommand,copiedLabel:n.copied})]}),(0,s.jsxs)(u.av,{value:"windows",className:"install-platform-content",children:[(0,s.jsxs)("div",{className:"install-platform-heading",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{children:n.windows.title}),(0,s.jsx)("p",{children:n.windows.description})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("a",{href:g,target:"_blank",rel:"noreferrer",children:[n.windows.officialInstaller,(0,s.jsx)(l.GrD,{"aria-hidden":"true"})]}),(0,s.jsxs)("a",{href:"https://learn.microsoft.com/windows/package-manager/winget/",target:"_blank",rel:"noreferrer",children:[n.windows.winget,(0,s.jsx)(l.GrD,{"aria-hidden":"true"})]})]})]}),(0,s.jsx)(C,{steps:n.windows.steps,stepLabel:n.stepLabel,noteLabel:n.noteLabel,copyLabel:n.copyCommand,copiedLabel:n.copied})]})]})]})}),(0,s.jsx)("section",{className:"install-section install-wizard-section",children:(0,s.jsxs)("div",{className:"install-container",children:[(0,s.jsxs)("div",{className:"install-section-heading",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"03"}),(0,s.jsx)("h2",{children:n.wizardTitle})]}),(0,s.jsx)("p",{children:n.wizardDescription})]}),(0,s.jsx)("div",{className:"install-wizard-grid",children:n.wizardSteps.map((e,i)=>(0,s.jsxs)(m.Zp,{className:"install-wizard-card",children:[(0,s.jsx)("span",{children:String(i+1).padStart(2,"0")}),(0,s.jsx)("h3",{children:e.title}),(0,s.jsx)("p",{children:e.description})]},e.title))})]})}),(0,s.jsx)("section",{className:"install-section",children:(0,s.jsxs)("div",{className:"install-container",children:[(0,s.jsxs)("div",{className:"install-section-heading",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"04"}),(0,s.jsx)("h2",{children:n.configTitle})]}),(0,s.jsx)("p",{children:n.configDescription})]}),(0,s.jsx)("div",{className:"install-config-grid",children:n.configCards.map(e=>(0,s.jsxs)(h.w,{className:"install-config-card",title:e.title,children:[(0,s.jsx)("p",{children:e.description}),(0,s.jsxs)("div",{className:"install-path-group",children:[(0,s.jsx)("span",{children:n.macPathsLabel}),e.macPaths.map(e=>(0,s.jsx)("code",{children:e},e))]}),(0,s.jsxs)("div",{className:"install-path-group",children:[(0,s.jsx)("span",{children:n.windowsPathsLabel}),e.windowsPaths.map(e=>(0,s.jsx)("code",{children:e},e))]}),(0,s.jsx)("ul",{children:e.details.map(e=>(0,s.jsxs)("li",{children:[(0,s.jsx)(l.Jlk,{"aria-hidden":"true"}),(0,s.jsx)("span",{children:e})]},e))})]},e.title))})]})}),(0,s.jsx)("section",{className:"install-section install-support-section",children:(0,s.jsxs)("div",{className:"install-container install-support-layout",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"install-section-heading install-section-heading-stack",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{children:"05"}),(0,s.jsx)("h2",{children:n.troubleshootingTitle})]}),(0,s.jsx)("p",{children:n.troubleshootingDescription})]}),(0,s.jsx)(m.Zp,{className:"install-accordion-card",children:(0,s.jsx)(c.nD,{multiple:!0,children:n.issues.map((e,i)=>(0,s.jsxs)(c.As,{value:`issue-${i}`,children:[(0,s.jsx)(c.$m,{children:e.title}),(0,s.jsxs)(c.ub,{children:[(0,s.jsx)("p",{children:e.description}),e.commands?.length?(0,s.jsx)("div",{className:"install-issue-commands",children:e.commands.map(e=>(0,s.jsx)(b,{item:e,copyLabel:n.copyCommand,copiedLabel:n.copied},`${e.label??""}-${e.value}`))}):null]})]},e.title))})})]}),(0,s.jsxs)("div",{className:"install-security-column",children:[(0,s.jsxs)(d.Fc,{className:"install-security-alert",children:[(0,s.jsx)(l.oxo,{"aria-hidden":"true"}),(0,s.jsx)(d.XL,{children:n.securityTitle}),(0,s.jsx)(d.TN,{children:n.securityDescription})]}),(0,s.jsx)("div",{className:"install-security-list",children:n.securityItems.map(e=>(0,s.jsxs)("div",{children:[(0,s.jsx)(l.rW7,{"aria-hidden":"true"}),(0,s.jsx)("span",{children:e})]},e))})]})]})}),(0,s.jsx)("section",{className:"install-final-section",children:(0,s.jsxs)("div",{className:"install-container install-final-layout",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{children:n.finishTitle}),(0,s.jsx)("p",{children:n.finishDescription})]}),(0,s.jsxs)("div",{className:"install-final-actions",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:n.rerunCommand}),(0,s.jsx)("code",{children:v}),(0,s.jsx)(x.i,{value:v,variant:"outline",size:"icon",tooltip:n.copyCommand,successTooltip:n.copied,"aria-label":n.copyCommand})]}),(0,s.jsxs)(p.o,{size:"lg",nativeButton:!1,render:S,children:[n.getKey,(0,s.jsx)(l.Qpb,{"aria-hidden":"true"})]})]})]})})]}),(0,s.jsx)(j.h,{lang:e})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.