providers.mdx 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989
  1. ---
  2. title: Proveedores
  3. description: Usando cualquier proveedor LLM en OpenCode.
  4. ---
  5. import config from "../../../../config.mjs"
  6. export const console = config.console
  7. OpenCode usa el [AI SDK](https://ai-sdk.dev/) y [Models.dev](https://models.dev) para admitir **75+ proveedores LLM** y admite la ejecución de modelos locales.
  8. Para agregar un proveedor necesita:
  9. 1. Agregue las claves API para el proveedor usando el comando `/connect`.
  10. 2. Configure el proveedor en su configuración OpenCode.
  11. ---
  12. ### Credenciales
  13. Cuando agrega las claves API de un proveedor con el comando `/connect`, se almacenan
  14. en `~/.local/share/opencode/auth.json`.
  15. ---
  16. ### Configuración
  17. Puedes personalizar los proveedores a través de la sección `provider` en tu OpenCode
  18. configuración.
  19. ---
  20. #### URL base
  21. Puede personalizar la URL base para cualquier proveedor configurando la opción `baseURL`. Esto resulta útil cuando se utilizan servicios proxy o puntos finales personalizados.
  22. ```json title="opencode.json" {6}
  23. {
  24. "$schema": "https://opencode.ai/config.json",
  25. "provider": {
  26. "anthropic": {
  27. "options": {
  28. "baseURL": "https://api.anthropic.com/v1"
  29. }
  30. }
  31. }
  32. }
  33. ```
  34. ---
  35. ## OpenCode Zen
  36. OpenCode Zen es una lista de modelos proporcionados por el equipo OpenCode que han sido
  37. probado y verificado para funcionar bien con OpenCode. [Más información](/docs/zen).
  38. :::tip
  39. Si eres nuevo, te recomendamos comenzar con OpenCode Zen.
  40. :::
  41. 1. Ejecute el comando `/connect` en TUI, seleccione opencode y diríjase a [opencode.ai/auth](https://opencode.ai/auth).
  42. ```txt
  43. /connect
  44. ```
  45. 2. Inicie sesión, agregue sus datos de facturación y copie su clave API.
  46. 3. Pega tu clave API.
  47. ```txt
  48. ┌ API key
  49. │
  50. │
  51. └ enter
  52. ```
  53. 4. Ejecute `/models` en TUI para ver la lista de modelos que recomendamos.
  54. ```txt
  55. /models
  56. ```
  57. Funciona como cualquier otro proveedor en OpenCode y su uso es completamente opcional.
  58. ---
  59. ## OpenCode Go
  60. OpenCode Go es un plan de suscripción de bajo costo que brinda acceso confiable a modelos de codificación abiertos populares proporcionados por el equipo de OpenCode que han sido
  61. probado y verificado para funcionar bien con OpenCode.
  62. 1. Ejecute el comando `/connect` en TUI, seleccione `OpenCode Go` y diríjase a [opencode.ai/auth](https://opencode.ai/zen).
  63. ```txt
  64. /connect
  65. ```
  66. 2. Inicie sesión, agregue sus datos de facturación y copie su clave API.
  67. 3. Pegue su clave API.
  68. ```txt
  69. ┌ API key
  70. │
  71. │
  72. └ enter
  73. ```
  74. 4. Ejecute `/models` en TUI para ver la lista de modelos que recomendamos.
  75. ```txt
  76. /models
  77. ```
  78. Funciona como cualquier otro proveedor en OpenCode y su uso es completamente opcional.
  79. ---
  80. ## Directorio
  81. Veamos algunos de los proveedores en detalle. Si desea agregar un proveedor a la
  82. lista, no dude en abrir un PR.
  83. :::note
  84. ¿No ves un proveedor aquí? Envíe un PR.
  85. :::
  86. ---
  87. ### 302.AI
  88. 1. Dirígete a la [consola 302.AI](https://302.ai/), crea una cuenta y genera una clave API.
  89. 2. Ejecute el comando `/connect` y busque **302.AI**.
  90. ```txt
  91. /connect
  92. ```
  93. 3. Ingrese su clave 302.AI API.
  94. ```txt
  95. ┌ API key
  96. │
  97. │
  98. └ enter
  99. ```
  100. 4. Ejecute el comando `/models` para seleccionar un modelo.
  101. ```txt
  102. /models
  103. ```
  104. ---
  105. ### Amazon Bedrock
  106. Para usar Amazon Bedrock con OpenCode:
  107. 1. Dirígete al **Catálogo de modelos** en la consola Amazon Bedrock y solicita
  108. Accede a los modelos que desees.
  109. :::consejo
  110. Necesita tener acceso al modelo que desea en Amazon Bedrock.
  111. :::
  112. 2. **Configure la autenticación** utilizando uno de los siguientes métodos:
  113. #### Variables de entorno (Inicio rápido)
  114. Establezca una de estas variables de entorno mientras ejecuta opencode:
  115. ```bash
  116. # Option 1: Using AWS access keys
  117. AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
  118. # Option 2: Using named AWS profile
  119. AWS_PROFILE=my-profile opencode
  120. # Option 3: Using Bedrock bearer token
  121. AWS_BEARER_TOKEN_BEDROCK=XXX opencode
  122. ```
  123. O agrégalos a tu perfil de bash:
  124. ```bash title="~/.bash_profile"
  125. export AWS_PROFILE=my-dev-profile
  126. export AWS_REGION=us-east-1
  127. ```
  128. #### Archivo de configuración (recomendado)
  129. Para una configuración persistente o específica del proyecto, utilice `opencode.json`:
  130. ```json title="opencode.json"
  131. {
  132. "$schema": "https://opencode.ai/config.json",
  133. "provider": {
  134. "amazon-bedrock": {
  135. "options": {
  136. "region": "us-east-1",
  137. "profile": "my-aws-profile"
  138. }
  139. }
  140. }
  141. }
  142. ```
  143. **Opciones disponibles:**
  144. - `region` - AWS región (p. ej., `us-east-1`, `eu-west-1`)
  145. - `profile` - AWS perfil con nombre de `~/.aws/credentials`
  146. - `endpoint`: URL de punto de enlace personalizada para puntos de enlace de la VPC (alias para la opción genérica `baseURL`)
  147. :::consejo
  148. Las opciones del archivo de configuración tienen prioridad sobre las variables de entorno.
  149. :::
  150. #### Avanzado: puntos finales de la VPC
  151. Si utiliza puntos de enlace de VPC para Bedrock:
  152. ```json title="opencode.json"
  153. {
  154. "$schema": "https://opencode.ai/config.json",
  155. "provider": {
  156. "amazon-bedrock": {
  157. "options": {
  158. "region": "us-east-1",
  159. "profile": "production",
  160. "endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
  161. }
  162. }
  163. }
  164. }
  165. ```
  166. :::nota
  167. La opción `endpoint` es un alias para la opción genérica `baseURL`, que utiliza terminología específica de AWS. Si se especifican `endpoint` y `baseURL`, `endpoint` tiene prioridad.
  168. :::
  169. #### Métodos de autenticación
  170. - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: Crear un usuario de IAM y generar claves de acceso en la Consola AWS
  171. - **`AWS_PROFILE`**: Utilice perfiles con nombre de `~/.aws/credentials`. Primero configure con `aws configure --profile my-profile` o `aws sso login`
  172. - **`AWS_BEARER_TOKEN_BEDROCK`**: Genera claves API a largo plazo desde la consola Amazon Bedrock
  173. - **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: Para EKS IRSA (Roles IAM para Cuentas de Servicio) u otros entornos de Kubernetes con federación OIDC. Kubernetes inyecta automáticamente estas variables de entorno cuando se utilizan anotaciones de cuentas de servicio.
  174. #### Prioridad de autenticación
  175. Amazon Bedrock utiliza la siguiente prioridad de autenticación:
  176. 1. **Bearer token** - variable de entorno `AWS_BEARER_TOKEN_BEDROCK` o token del comando `/connect`
  177. 2. **AWS Cadena de credenciales**: perfil, claves de acceso, credenciales compartidas, roles de IAM, tokens de identidad web (EKS IRSA), metadatos de instancia
  178. :::nota
  179. Cuando se define un bearer token (a traves de `/connect` o `AWS_BEARER_TOKEN_BEDROCK`), tiene prioridad sobre todos los metodos de credenciales de AWS, incluidos los perfiles configurados.
  180. :::
  181. 3. Ejecute el comando `/models` para seleccionar el modelo que desee.
  182. ```txt
  183. /models
  184. ```
  185. :::note
  186. Para perfiles de inferencia personalizados, utilice el modelo y el nombre del proveedor en la clave y establezca la propiedad `id` en arn. Esto garantiza un almacenamiento en caché correcto:
  187. ```json title="opencode.json"
  188. {
  189. "$schema": "https://opencode.ai/config.json",
  190. "provider": {
  191. "amazon-bedrock": {
  192. // ...
  193. "models": {
  194. "anthropic-claude-sonnet-4.5": {
  195. "id": "arn:aws:bedrock:us-east-1:xxx:application-inference-profile/yyy"
  196. }
  197. }
  198. }
  199. }
  200. }
  201. ```
  202. :::
  203. ---
  204. ### Anthropic
  205. 1. Una vez que se haya registrado, ejecute el comando `/connect` y seleccione Anthropic.
  206. ```txt
  207. /connect
  208. ```
  209. 2. Aquí puedes seleccionar la opción **Claude Pro/Max** y se abrirá tu navegador.
  210. y pedirle que se autentique.
  211. ```txt
  212. ┌ Select auth method
  213. │
  214. │ Claude Pro/Max
  215. │ Create an API Key
  216. │ Manually enter API Key
  217. └
  218. ```
  219. 3. Ahora todos los modelos Anthropic deberían estar disponibles cuando use el comando `/models`.
  220. ```txt
  221. /models
  222. ```
  223. :::info
  224. El uso de su suscripción Claude Pro/Max en OpenCode no está oficialmente respaldado por [Anthropic](https://anthropic.com).
  225. :::
  226. ##### Usando las teclas API
  227. También puede seleccionar **Crear una clave API** si no tiene una suscripción Pro/Max. También abrirá su navegador y le pedirá que inicie sesión en Anthropic y le dará un código que puede pegar en su terminal.
  228. O si ya tienes una clave API, puedes seleccionar **Ingresar manualmente la clave API** y pegarla en tu terminal.
  229. ---
  230. ### Atomic Chat
  231. Puedes configurar opencode para usar modelos locales mediante [Atomic Chat](https://atomic.chat), una aplicación de escritorio que ejecuta LLMs locales detrás de un servidor API compatible con OpenAI (endpoint por defecto `http://127.0.0.1:1337/v1`).
  232. ```json title="opencode.json" "atomic-chat" {5, 6, 8, 10-14}
  233. {
  234. "$schema": "https://opencode.ai/config.json",
  235. "provider": {
  236. "atomic-chat": {
  237. "npm": "@ai-sdk/openai-compatible",
  238. "name": "Atomic Chat (local)",
  239. "options": {
  240. "baseURL": "http://127.0.0.1:1337/v1"
  241. },
  242. "models": {
  243. "<your-model-id>": {
  244. "name": "<your-model-name>"
  245. }
  246. }
  247. }
  248. }
  249. }
  250. ```
  251. En este ejemplo:
  252. - `atomic-chat` es el identificador personalizado del proveedor. Puede ser cualquier cadena que quieras.
  253. - `npm` especifica el paquete que se usará para este proveedor. Aquí se usa `@ai-sdk/openai-compatible` para cualquier API compatible con OpenAI.
  254. - `name` es el nombre que se muestra para el proveedor en la interfaz.
  255. - `options.baseURL` es el endpoint del servidor local. Cambia el host y el puerto según tu configuración de Atomic Chat.
  256. - `models` es un mapa de IDs de modelos a sus nombres de pantalla. Cada ID debe coincidir con el `id` devuelto por `GET /v1/models` — ejecuta `curl http://127.0.0.1:1337/v1/models` para listar los IDs cargados actualmente en Atomic Chat.
  257. :::tip
  258. Si las llamadas a herramientas no funcionan bien, elige un modelo cargado con buen soporte para tool calling (por ejemplo, una variante Qwen-Coder o DeepSeek-Coder).
  259. :::
  260. ---
  261. ### Azure OpenAI
  262. :::note
  263. Si encuentra errores del tipo "Lo siento, pero no puedo ayudar con esa solicitud", intente cambiar el filtro de contenido de **DefaultV2** a **Default** en su recurso de Azure.
  264. :::
  265. 1. Diríjase al [portal de Azure](https://portal.azure.com/) y cree un recurso **Azure OpenAI**. Necesitarás:
  266. - **Nombre del recurso**: esto pasa a formar parte de su punto final API (`https://RESOURCE_NAME.openai.azure.com/`)
  267. - **Clave API**: `KEY 1` o `KEY 2` de su recurso
  268. 2. Vaya a [Azure AI Foundry](https://ai.azure.com/) e implemente un modelo.
  269. :::nota
  270. El nombre de la implementación debe coincidir con el nombre del modelo para que opencode funcione correctamente.
  271. :::
  272. 3. Ejecute el comando `/connect` y busque **Azure**.
  273. ```txt
  274. /connect
  275. ```
  276. 4. Ingrese su clave API.
  277. ```txt
  278. ┌ API key
  279. │
  280. │
  281. └ enter
  282. ```
  283. 5. Configure el nombre de su recurso como una variable de entorno:
  284. ```bash
  285. AZURE_RESOURCE_NAME=XXX opencode
  286. ```
  287. O agrégalo a tu perfil de bash:
  288. ```bash title="~/.bash_profile"
  289. export AZURE_RESOURCE_NAME=XXX
  290. ```
  291. 6. Ejecute el comando `/models` para seleccionar su modelo implementado.
  292. ```txt
  293. /models
  294. ```
  295. ---
  296. ### Servicios cognitivos de Azure
  297. 1. Diríjase al [portal de Azure](https://portal.azure.com/) y cree un recurso **Azure OpenAI**. Necesitarás:
  298. - **Nombre del recurso**: esto pasa a formar parte de su punto final API (`https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitiveservices.azure.com/`)
  299. - **Clave API**: `KEY 1` o `KEY 2` de su recurso
  300. 2. Vaya a [Azure AI Foundry](https://ai.azure.com/) e implemente un modelo.
  301. :::nota
  302. El nombre de la implementación debe coincidir con el nombre del modelo para que opencode funcione correctamente.
  303. :::
  304. 3. Ejecute el comando `/connect` y busque **Azure Cognitive Services**.
  305. ```txt
  306. /connect
  307. ```
  308. 4. Ingrese su clave API.
  309. ```txt
  310. ┌ API key
  311. │
  312. │
  313. └ enter
  314. ```
  315. 5. Configure el nombre de su recurso como una variable de entorno:
  316. ```bash
  317. AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX opencode
  318. ```
  319. O agrégalo a tu perfil de bash:
  320. ```bash title="~/.bash_profile"
  321. export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX
  322. ```
  323. 6. Ejecute el comando `/models` para seleccionar su modelo implementado.
  324. ```txt
  325. /models
  326. ```
  327. ---
  328. ### Baseten
  329. 1. Dirígete a [Baseten](https://app.baseten.co/), crea una cuenta y genera una clave API.
  330. 2. Ejecute el comando `/connect` y busque **Baseten**.
  331. ```txt
  332. /connect
  333. ```
  334. 3. Ingrese su clave Baseten API.
  335. ```txt
  336. ┌ API key
  337. │
  338. │
  339. └ enter
  340. ```
  341. 4. Ejecute el comando `/models` para seleccionar un modelo.
  342. ```txt
  343. /models
  344. ```
  345. ---
  346. ### Cerebras
  347. 1. Dirígete a la [consola Cerebras](https://inference.cerebras.ai/), crea una cuenta y genera una clave API.
  348. 2. Ejecute el comando `/connect` y busque **Cerebras**.
  349. ```txt
  350. /connect
  351. ```
  352. 3. Ingrese su clave Cerebras API.
  353. ```txt
  354. ┌ API key
  355. │
  356. │
  357. └ enter
  358. ```
  359. 4. Ejecute el comando `/models` para seleccionar un modelo como _Qwen 3 Coder 480B_.
  360. ```txt
  361. /models
  362. ```
  363. ---
  364. ### Cloudflare AI Gateway
  365. Cloudflare AI Gateway le permite acceder a modelos de OpenAI, Anthropic, Workers AI y más a través de un punto final unificado. Con [Facturación unificada](https://developers.cloudflare.com/ai-gateway/features/unified-billing/) no necesita claves API independientes para cada proveedor.
  366. 1. Dirígete al [panel de Cloudflare](https://dash.cloudflare.com/), navega hasta **AI** > **AI Gateway** y crea una nueva puerta de enlace.
  367. 2. Configure su ID de cuenta y su ID de puerta de enlace como variables de entorno.
  368. ```bash title="~/.bash_profile"
  369. export CLOUDFLARE_ACCOUNT_ID=your-32-character-account-id
  370. export CLOUDFLARE_GATEWAY_ID=your-gateway-id
  371. ```
  372. 3. Ejecute el comando `/connect` y busque **Cloudflare AI Gateway**.
  373. ```txt
  374. /connect
  375. ```
  376. 4. Ingrese su token API de Cloudflare.
  377. ```txt
  378. ┌ API key
  379. │
  380. │
  381. └ enter
  382. ```
  383. O configúrelo como una variable de entorno.
  384. ```bash title="~/.bash_profile"
  385. export CLOUDFLARE_API_TOKEN=your-api-token
  386. ```
  387. 5. Ejecute el comando `/models` para seleccionar un modelo.
  388. ```txt
  389. /models
  390. ```
  391. También puede agregar modelos a través de su configuración opencode.
  392. ```json title="opencode.json"
  393. {
  394. "$schema": "https://opencode.ai/config.json",
  395. "provider": {
  396. "cloudflare-ai-gateway": {
  397. "models": {
  398. "openai/gpt-4o": {},
  399. "anthropic/claude-sonnet-4": {}
  400. }
  401. }
  402. }
  403. }
  404. ```
  405. ---
  406. ### Córtecs
  407. 1. Dirígete a la [consola de Cortecs](https://cortecs.ai/), crea una cuenta y genera una clave API.
  408. 2. Ejecute el comando `/connect` y busque **Cortecs**.
  409. ```txt
  410. /connect
  411. ```
  412. 3. Ingrese su clave Cortecs API.
  413. ```txt
  414. ┌ API key
  415. │
  416. │
  417. └ enter
  418. ```
  419. 4. Ejecute el comando `/models` para seleccionar un modelo como _Kimi K2 Instruct_.
  420. ```txt
  421. /models
  422. ```
  423. ---
  424. ### DeepSeek
  425. 1. Dirígete a la [consola de DeepSeek](https://platform.deepseek.com/), crea una cuenta y haz clic en **Crear nueva clave API**.
  426. 2. Ejecute el comando `/connect` y busque **DeepSeek**.
  427. ```txt
  428. /connect
  429. ```
  430. 3. Ingrese su clave DeepSeek API.
  431. ```txt
  432. ┌ API key
  433. │
  434. │
  435. └ enter
  436. ```
  437. 4. Ejecute el comando `/models` para seleccionar un modelo de DeepSeek como _DeepSeek V4 Pro_.
  438. ```txt
  439. /models
  440. ```
  441. ---
  442. ### Deep Infra
  443. 1. Dirígete al [panel de Deep Infra](https://deepinfra.com/dash), crea una cuenta y genera una clave API.
  444. 2. Ejecute el comando `/connect` y busque **Deep Infra**.
  445. ```txt
  446. /connect
  447. ```
  448. 3. Ingrese su clave Deep Infra API.
  449. ```txt
  450. ┌ API key
  451. │
  452. │
  453. └ enter
  454. ```
  455. 4. Ejecute el comando `/models` para seleccionar un modelo.
  456. ```txt
  457. /models
  458. ```
  459. ---
  460. ### FrogBot
  461. 1. Dirígete al [Panel de frogbot](https://app.frogbot.ai/signup), crea una cuenta y genera una clave API.
  462. 2. Ejecute el comando `/connect` y busque **FrogBot**.
  463. ```txt
  464. /connect
  465. ```
  466. 3. Ingrese su clave de frogbot API.
  467. ```txt
  468. ┌ API key
  469. │
  470. │
  471. └ enter
  472. ```
  473. 4. Ejecute el comando `/models` para seleccionar un modelo.
  474. ```txt
  475. /models
  476. ```
  477. ---
  478. ### Fireworks AI
  479. 1. Dirígete a la [Consola de Fireworks AI](https://app.fireworks.ai/), crea una cuenta y haz clic en **Crear clave API**.
  480. 2. Ejecute el comando `/connect` y busque **Fireworks AI**.
  481. ```txt
  482. /connect
  483. ```
  484. 3. Ingrese su clave API de AI de Fireworks.
  485. ```txt
  486. ┌ API key
  487. │
  488. │
  489. └ enter
  490. ```
  491. 4. Ejecute el comando `/models` para seleccionar un modelo como _Kimi K2 Instruct_.
  492. ```txt
  493. /models
  494. ```
  495. ---
  496. ### GitLab Duo
  497. GitLab Duo proporciona chat agente basado en IA con capacidades de llamada de herramientas nativas a través del proxy Anthropic de GitLab.
  498. 1. Ejecute el comando `/connect` y seleccione GitLab.
  499. ```txt
  500. /connect
  501. ```
  502. 2. Elija su método de autenticación:
  503. ```txt
  504. ┌ Select auth method
  505. │
  506. │ OAuth (Recommended)
  507. │ Personal Access Token
  508. │
  509. └
  510. ```
  511. #### Usando OAuth (recomendado)
  512. Seleccione **OAuth** y su navegador se abrirá para autorización.
  513. #### Uso del token de acceso personal
  514. 1. Vaya a [GitLab Configuración de usuario > Tokens de acceso](https://gitlab.com/-/user_settings/personal_access_tokens)
  515. 2. Haga clic en **Agregar nuevo token**
  516. 3. Nombre: `OpenCode`, Alcances: `api`
  517. 4. Copie el token (comienza con `glpat-`)
  518. 5. Introdúcelo en la terminal.
  519. 3. Ejecute el comando `/models` para ver los modelos disponibles.
  520. ```txt
  521. /models
  522. ```
  523. Hay tres modelos basados ​​en Claude disponibles:
  524. - **duo-chat-haiku-4-5** (predeterminado) - Respuestas rápidas para tareas rápidas
  525. - **duo-chat-sonnet-4-5** - Rendimiento equilibrado para la mayoría de los flujos de trabajo
  526. - **duo-chat-opus-4-5** - Más capaz para análisis complejos
  527. :::note
  528. También puede especificar la variable de entorno 'GITLAB_TOKEN' si no desea
  529. para almacenar el token en el almacenamiento de autenticación opencode.
  530. :::
  531. ##### Autohospedado GitLab
  532. :::note[nota de cumplimiento]
  533. OpenCode utiliza un modelo pequeño para algunas tareas de IA, como generar el título de la sesión.
  534. Está configurado para usar gpt-5-nano de forma predeterminada, alojado por Zen. Para bloquear OpenCode
  535. Para usar solo su propia instancia alojada en GitLab, agregue lo siguiente a su
  536. Archivo `opencode.json`. También se recomienda desactivar el uso compartido de sesiones.
  537. ```json
  538. {
  539. "$schema": "https://opencode.ai/config.json",
  540. "small_model": "gitlab/duo-chat-haiku-4-5",
  541. "share": "disabled"
  542. }
  543. ```
  544. :::
  545. Para instancias GitLab autohospedadas:
  546. ```bash
  547. export GITLAB_INSTANCE_URL=https://gitlab.company.com
  548. export GITLAB_TOKEN=glpat-...
  549. ```
  550. Si su instancia ejecuta una puerta de enlace AI personalizada:
  551. ```bash
  552. GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com
  553. ```
  554. O agregue a su perfil de bash:
  555. ```bash title="~/.bash_profile"
  556. export GITLAB_INSTANCE_URL=https://gitlab.company.com
  557. export GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com
  558. export GITLAB_TOKEN=glpat-...
  559. ```
  560. :::note
  561. Su administrador GitLab debe habilitar lo siguiente:
  562. 1. [Plataforma de agente Duo](https://docs.gitlab.com/user/duo_agent_platform/turn_on_off/) para el usuario, grupo o instancia
  563. 2. Indicadores de funciones (a través de la consola Rails):
  564. - `agent_platform_claude_code`
  565. - `third_party_agents_enabled`
  566. :::
  567. ##### OAuth para instancias autohospedadas
  568. Para que Oauth funcione para su instancia autohospedada, debe crear
  569. una nueva aplicación (Configuración → Aplicaciones) con el
  570. URL de devolución de llamada `http://127.0.0.1:8080/callback` y siguientes ámbitos:
  571. - api (Acceda al API en su nombre)
  572. - read_user (Lee tu información personal)
  573. - read_repository (Permite acceso de solo lectura al repositorio)
  574. Luego exponga el ID de la aplicación como variable de entorno:
  575. ```bash
  576. export GITLAB_OAUTH_CLIENT_ID=your_application_id_here
  577. ```
  578. Más documentación en la página de inicio de [opencode-gitlab-auth](https://www.npmjs.com/package/opencode-gitlab-auth).
  579. ##### Configuración
  580. Personalizar a través de `opencode.json`:
  581. ```json title="opencode.json"
  582. {
  583. "$schema": "https://opencode.ai/config.json",
  584. "provider": {
  585. "gitlab": {
  586. "options": {
  587. "instanceUrl": "https://gitlab.com"
  588. }
  589. }
  590. }
  591. }
  592. ```
  593. ##### Herramientas de API de GitLab (opcionales, pero muy recomendables)
  594. Para acceder a herramientas GitLab (solicitudes de fusión, problemas, canalizaciones, CI/CD, etc.):
  595. ```json title="opencode.json"
  596. {
  597. "$schema": "https://opencode.ai/config.json",
  598. "plugin": ["opencode-gitlab-plugin"]
  599. }
  600. ```
  601. Este complemento proporciona capacidades integrales de administración del repositorio GitLab que incluyen revisiones de MR, seguimiento de problemas, monitoreo de canalizaciones y más.
  602. ---
  603. ### GitHub Copilot
  604. Para utilizar su suscripción GitHub Copilot con opencode:
  605. :::note
  606. Algunos modelos pueden necesitar un [Pro+
  607. suscripción](https://github.com/features/copilot/plans) para usar.
  608. :::
  609. 1. Ejecute el comando `/connect` y busque GitHub Copilot.
  610. ```txt
  611. /connect
  612. ```
  613. 2. Navegue hasta [github.com/login/device](https://github.com/login/device) e ingrese el código.
  614. ```txt
  615. ┌ Login with GitHub Copilot
  616. │
  617. │ https://github.com/login/device
  618. │
  619. │ Enter code: 8F43-6FCF
  620. │
  621. │
  622. └ Waiting for authorization...
  623. ```
  624. 3. Ahora ejecute el comando `/models` para seleccionar el modelo que desea.
  625. ```txt
  626. /models
  627. ```
  628. ---
  629. ### Google Vertex AI
  630. Para utilizar Google Vertex AI con OpenCode:
  631. 1. Dirígete a **Model Garden** en Google Cloud Console y verifica el
  632. Modelos disponibles en su región.
  633. :::note
  634. Debes tener un proyecto de Google Cloud con Vertex AI API habilitado.
  635. :::
  636. 2. Establezca las variables de entorno requeridas:
  637. - `GOOGLE_CLOUD_PROJECT`: tu ID de proyecto de Google Cloud
  638. - `VERTEX_LOCATION` (opcional): la región para Vertex AI (por defecto es `global`)
  639. - Autenticación (elija una):
  640. - `GOOGLE_APPLICATION_CREDENTIALS`: ruta al archivo clave JSON de su cuenta de servicio
  641. - Autenticar usando gcloud CLI: `gcloud auth application-default login`
  642. Configúrelos mientras ejecuta opencode.
  643. ```bash
  644. GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode
  645. ```
  646. O agréguelos a su perfil de bash.
  647. ```bash title="~/.bash_profile"
  648. export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
  649. export GOOGLE_CLOUD_PROJECT=your-project-id
  650. export VERTEX_LOCATION=global
  651. ```
  652. :::tip
  653. La región `global` mejora la disponibilidad y reduce los errores sin costo adicional. Utilice puntos finales regionales (por ejemplo, `us-central1`) para los requisitos de residencia de datos. [Más información](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#regional_and_global_endpoints)
  654. :::
  655. 3. Ejecute el comando `/models` para seleccionar el modelo que desee.
  656. ```txt
  657. /models
  658. ```
  659. ---
  660. ### Groq
  661. 1. Dirígete a la [consola Groq](https://console.groq.com/), haz clic en **Crear clave API** y copia la clave.
  662. 2. Ejecute el comando `/connect` y busque Groq.
  663. ```txt
  664. /connect
  665. ```
  666. 3. Ingrese la clave API para el proveedor.
  667. ```txt
  668. ┌ API key
  669. │
  670. │
  671. └ enter
  672. ```
  673. 4. Ejecute el comando `/models` para seleccionar el que desee.
  674. ```txt
  675. /models
  676. ```
  677. ---
  678. ### Hugging Face
  679. [Hugging Face Inference Providers](https://huggingface.co/docs/inference-providers) proporciona acceso a modelos abiertos compatibles con más de 17 proveedores.
  680. 1. Ve a [Hugging Face settings](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained) para crear un token con permisos para llamar a inference providers.
  681. 2. Ejecute el comando `/connect` y busque **Hugging Face**.
  682. ```txt
  683. /connect
  684. ```
  685. 3. Ingresa tu token de Hugging Face.
  686. ```txt
  687. ┌ API key
  688. │
  689. │
  690. └ enter
  691. ```
  692. 4. Ejecute el comando `/models` para seleccionar un modelo como _Kimi-K2-Instruct_ o _GLM-4.6_.
  693. ```txt
  694. /models
  695. ```
  696. ---
  697. ### Helicone
  698. [Helicone](https://helicone.ai) es una plataforma de observabilidad LLM que proporciona registro, monitoreo y análisis para sus aplicaciones de IA. Helicone AI Gateway enruta sus solicitudes al proveedor apropiado automáticamente según el modelo.
  699. 1. Dirígete a [Helicone](https://helicone.ai), crea una cuenta y genera una clave API desde tu panel.
  700. 2. Ejecute el comando `/connect` y busque **Helicone**.
  701. ```txt
  702. /connect
  703. ```
  704. 3. Ingrese su clave Helicone API.
  705. ```txt
  706. ┌ API key
  707. │
  708. │
  709. └ enter
  710. ```
  711. 4. Ejecute el comando `/models` para seleccionar un modelo.
  712. ```txt
  713. /models
  714. ```
  715. Para obtener más proveedores y funciones avanzadas como almacenamiento en caché y limitación de velocidad, consulte la [documentación de Helicone](https://docs.helicone.ai).
  716. #### Configuraciones opcionales
  717. En caso de que vea una característica o modelo de Helicone que no esté configurado automáticamente a través de opencode, siempre podrá configurarlo usted mismo.
  718. Aquí está el [Directorio de modelos de Helicone](https://helicone.ai/models), lo necesitará para obtener las ID de los modelos que desea agregar.
  719. ```jsonc title="~/.config/opencode/opencode.jsonc"
  720. {
  721. "$schema": "https://opencode.ai/config.json",
  722. "provider": {
  723. "helicone": {
  724. "npm": "@ai-sdk/openai-compatible",
  725. "name": "Helicone",
  726. "options": {
  727. "baseURL": "https://ai-gateway.helicone.ai",
  728. },
  729. "models": {
  730. "gpt-4o": {
  731. // Model ID (from Helicone's model directory page)
  732. "name": "GPT-4o", // Your own custom name for the model
  733. },
  734. "claude-sonnet-4-20250514": {
  735. "name": "Claude Sonnet 4",
  736. },
  737. },
  738. },
  739. },
  740. }
  741. ```
  742. #### Encabezados personalizados
  743. Helicone admite encabezados personalizados para funciones como almacenamiento en caché, seguimiento de usuarios y gestión de sesiones. Agréguelos a la configuración de su proveedor usando `options.headers`:
  744. ```jsonc title="~/.config/opencode/opencode.jsonc"
  745. {
  746. "$schema": "https://opencode.ai/config.json",
  747. "provider": {
  748. "helicone": {
  749. "npm": "@ai-sdk/openai-compatible",
  750. "name": "Helicone",
  751. "options": {
  752. "baseURL": "https://ai-gateway.helicone.ai",
  753. "headers": {
  754. "Helicone-Cache-Enabled": "true",
  755. "Helicone-User-Id": "opencode",
  756. },
  757. },
  758. },
  759. },
  760. }
  761. ```
  762. ##### Seguimiento de sesión
  763. La función [Sesiones](https://docs.helicone.ai/features/sessions) de Helicone le permite agrupar solicitudes LLM relacionadas. Utilice el complemento [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) para registrar automáticamente cada conversación OpenCode como una sesión en Helicone.
  764. ```bash
  765. npm install -g opencode-helicone-session
  766. ```
  767. Agréguelo a su configuración.
  768. ```json title="opencode.json"
  769. {
  770. "plugin": ["opencode-helicone-session"]
  771. }
  772. ```
  773. El complemento inyecta encabezados `Helicone-Session-Id` y `Helicone-Session-Name` en sus solicitudes. En la página Sesiones de Helicone, verá cada conversación OpenCode enumerada como una sesión separada.
  774. ##### Cabeceras comunes de Helicone
  775. | Encabezado | Descripción |
  776. | -------------------------- | --------------------------------------------------------------------------------- |
  777. | `Helicone-Cache-Enabled` | Habilitar el almacenamiento en caché de respuestas (`true`/`false`) |
  778. | `Helicone-User-Id` | Seguimiento de métricas por usuario |
  779. | `Helicone-Property-[Name]` | Agregar propiedades personalizadas (por ejemplo, `Helicone-Property-Environment`) |
  780. | `Helicone-Prompt-Id` | Solicitudes asociadas con versiones rápidas |
  781. Consulte el [Directorio de encabezados de Helicone](https://docs.helicone.ai/helicone-headers/header-directory) para conocer todos los encabezados disponibles.
  782. ---
  783. ### llama.cpp
  784. Puede configurar opencode para usar modelos locales a través de la utilidad llama-server de [llama.cpp](https://github.com/ggml-org/llama.cpp)
  785. ```json title="opencode.json" "llama.cpp" {5, 6, 8, 10-15}
  786. {
  787. "$schema": "https://opencode.ai/config.json",
  788. "provider": {
  789. "llama.cpp": {
  790. "npm": "@ai-sdk/openai-compatible",
  791. "name": "llama-server (local)",
  792. "options": {
  793. "baseURL": "http://127.0.0.1:8080/v1"
  794. },
  795. "models": {
  796. "qwen3-coder:a3b": {
  797. "name": "Qwen3-Coder: a3b-30b (local)",
  798. "limit": {
  799. "context": 128000,
  800. "output": 65536
  801. }
  802. }
  803. }
  804. }
  805. }
  806. }
  807. ```
  808. En este ejemplo:
  809. - `llama.cpp` es el ID del proveedor personalizado. Puede ser cualquier cadena que desees.
  810. - `npm` especifica el paquete que se utilizará para este proveedor. Aquí, `@ai-sdk/openai-compatible` se utiliza para cualquier OpenAI compatible con API.
  811. - `name` es el nombre para mostrar del proveedor en la interfaz de usuario.
  812. - `options.baseURL` es el punto final del servidor local.
  813. - `models` es un mapa de ID de modelo para sus configuraciones. El nombre del modelo se mostrará en la lista de selección de modelos.
  814. ---
  815. ### IO.NET
  816. IO.NET ofrece 17 modelos optimizados para varios casos de uso:
  817. 1. Dirígete a la [consola IO.NET](https://ai.io.net/), crea una cuenta y genera una clave API.
  818. 2. Ejecute el comando `/connect` y busque **IO.NET**.
  819. ```txt
  820. /connect
  821. ```
  822. 3. Ingrese su clave IO.NET API.
  823. ```txt
  824. ┌ API key
  825. │
  826. │
  827. └ enter
  828. ```
  829. 4. Ejecute el comando `/models` para seleccionar un modelo.
  830. ```txt
  831. /models
  832. ```
  833. ---
  834. ### LM Studio
  835. Puede configurar opencode para usar modelos locales a través de LM Studio.
  836. ```json title="opencode.json" "lmstudio" {5, 6, 8, 10-14}
  837. {
  838. "$schema": "https://opencode.ai/config.json",
  839. "provider": {
  840. "lmstudio": {
  841. "npm": "@ai-sdk/openai-compatible",
  842. "name": "LM Studio (local)",
  843. "options": {
  844. "baseURL": "http://127.0.0.1:1234/v1"
  845. },
  846. "models": {
  847. "google/gemma-3n-e4b": {
  848. "name": "Gemma 3n-e4b (local)"
  849. }
  850. }
  851. }
  852. }
  853. }
  854. ```
  855. En este ejemplo:
  856. - `lmstudio` es el ID del proveedor personalizado. Puede ser cualquier cadena que desees.
  857. - `npm` especifica el paquete que se utilizará para este proveedor. Aquí, `@ai-sdk/openai-compatible` se utiliza para cualquier OpenAI compatible con API.
  858. - `name` es el nombre para mostrar del proveedor en la interfaz de usuario.
  859. - `options.baseURL` es el punto final del servidor local.
  860. - `models` es un mapa de ID de modelo para sus configuraciones. El nombre del modelo se mostrará en la lista de selección de modelos.
  861. ---
  862. ### Moonshot AI
  863. Para usar Kimi K2 de Moonshot AI:
  864. 1. Dirígete a la [consola Moonshot AI](https://platform.moonshot.ai/console), crea una cuenta y haz clic en **Crear clave API**.
  865. 2. Ejecute el comando `/connect` y busque **Moonshot AI**.
  866. ```txt
  867. /connect
  868. ```
  869. 3. Ingrese su clave Moonshot API.
  870. ```txt
  871. ┌ API key
  872. │
  873. │
  874. └ enter
  875. ```
  876. 4. Ejecute el comando `/models` para seleccionar _Kimi K2_.
  877. ```txt
  878. /models
  879. ```
  880. ---
  881. ### MiniMax
  882. 1. Dirígete a la [Consola MiniMax API](https://platform.minimax.io/login), crea una cuenta y genera una clave API.
  883. 2. Ejecute el comando `/connect` y busque **MiniMax**.
  884. ```txt
  885. /connect
  886. ```
  887. 3. Ingrese su clave MiniMax API.
  888. ```txt
  889. ┌ API key
  890. │
  891. │
  892. └ enter
  893. ```
  894. 4. Ejecute el comando `/models` para seleccionar un modelo como _M2.1_.
  895. ```txt
  896. /models
  897. ```
  898. ---
  899. ### Nebius Token Factory
  900. 1. Dirígete a la [consola de Nebius Token Factory](https://tokenfactory.nebius.com/), crea una cuenta y haz clic en **Agregar clave**.
  901. 2. Ejecute el comando `/connect` y busque **Nebius Token Factory**.
  902. ```txt
  903. /connect
  904. ```
  905. 3. Ingrese su clave API de Nebius Token Factory.
  906. ```txt
  907. ┌ API key
  908. │
  909. │
  910. └ enter
  911. ```
  912. 4. Ejecute el comando `/models` para seleccionar un modelo como _Kimi K2 Instruct_.
  913. ```txt
  914. /models
  915. ```
  916. ---
  917. ### Ollama
  918. Puedes configurar opencode para usar modelos locales a través de Ollama.
  919. :::tip
  920. Ollama puede configurarse automáticamente para OpenCode. Consulte los [documentos de integración de Ollama](https://docs.ollama.com/integrations/opencode) para obtener más detalles.
  921. :::
  922. ```json title="opencode.json" "ollama" {5, 6, 8, 10-14}
  923. {
  924. "$schema": "https://opencode.ai/config.json",
  925. "provider": {
  926. "ollama": {
  927. "npm": "@ai-sdk/openai-compatible",
  928. "name": "Ollama (local)",
  929. "options": {
  930. "baseURL": "http://localhost:11434/v1"
  931. },
  932. "models": {
  933. "llama2": {
  934. "name": "Llama 2"
  935. }
  936. }
  937. }
  938. }
  939. }
  940. ```
  941. En este ejemplo:
  942. - `ollama` es el ID del proveedor personalizado. Puede ser cualquier cadena que desees.
  943. - `npm` especifica el paquete que se utilizará para este proveedor. Aquí, `@ai-sdk/openai-compatible` se utiliza para cualquier OpenAI compatible con API.
  944. - `name` es el nombre para mostrar del proveedor en la interfaz de usuario.
  945. - `options.baseURL` es el punto final del servidor local.
  946. - `models` es un mapa de ID de modelo para sus configuraciones. El nombre del modelo se mostrará en la lista de selección de modelos.
  947. :::tip
  948. Si las llamadas a herramientas no funcionan, intente aumentar `num_ctx` en Ollama. Comience alrededor de 16k - 32k.
  949. :::
  950. ---
  951. ### Ollama Cloud
  952. Para usar Ollama Cloud con OpenCode:
  953. 1. Dirígete a [https://ollama.com/](https://ollama.com/) e inicia sesión o crea una cuenta.
  954. 2. Vaya a **Configuración** > **Claves** y haga clic en **Agregar clave API** para generar una nueva clave API.
  955. 3. Copie la clave API para usarla en OpenCode.
  956. 4. Ejecute el comando `/connect` y busque **Ollama Cloud**.
  957. ```txt
  958. /connect
  959. ```
  960. 5. Ingrese su clave Ollama Cloud API.
  961. ```txt
  962. ┌ API key
  963. │
  964. │
  965. └ enter
  966. ```
  967. 6. **Importante**: Antes de usar modelos en la nube en OpenCode, debe obtener la información del modelo localmente:
  968. ```bash
  969. ollama pull gpt-oss:20b-cloud
  970. ```
  971. 7. Ejecute el comando `/models` para seleccionar su modelo de Ollama Cloud.
  972. ```txt
  973. /models
  974. ```
  975. ---
  976. ### OpenAI
  977. Recomendamos registrarse en [ChatGPT Plus o Pro](https://chatgpt.com/pricing).
  978. 1. Una vez que se haya registrado, ejecute el comando `/connect` y seleccione OpenAI.
  979. ```txt
  980. /connect
  981. ```
  982. 2. Aquí puedes seleccionar la opción **ChatGPT Plus/Pro** y se abrirá tu navegador.
  983. y pedirle que se autentique.
  984. ```txt
  985. ┌ Select auth method
  986. │
  987. │ ChatGPT Plus/Pro
  988. │ Manually enter API Key
  989. │
  990. └
  991. ```
  992. 3. Ahora todos los modelos OpenAI deberían estar disponibles cuando use el comando `/models`.
  993. ```txt
  994. /models
  995. ```
  996. ##### Usando las teclas API
  997. Si ya tiene una clave API, puede seleccionar **Ingresar manualmente la clave API** y pegarla en su terminal.
  998. ---
  999. ### OpenCode Zen
  1000. OpenCode Zen es una lista de modelos probados y verificados proporcionada por el equipo OpenCode. [Más información](/docs/zen).
  1001. 1. Inicie sesión en **<a href={console}>OpenCode Zen</a>** y haga clic en **Crear API clave**.
  1002. 2. Ejecute el comando `/connect` y busque **OpenCode Zen**.
  1003. ```txt
  1004. /connect
  1005. ```
  1006. 3. Ingrese su clave OpenCode API.
  1007. ```txt
  1008. ┌ API key
  1009. │
  1010. │
  1011. └ enter
  1012. ```
  1013. 4. Ejecute el comando `/models` para seleccionar un modelo como _Qwen 3 Coder 480B_.
  1014. ```txt
  1015. /models
  1016. ```
  1017. ---
  1018. ### OpenRouter
  1019. 1. Dirígete al [panel de OpenRouter](https://openrouter.ai/settings/keys), haz clic en **Crear clave API** y copia la clave.
  1020. 2. Ejecute el comando `/connect` y busque OpenRouter.
  1021. ```txt
  1022. /connect
  1023. ```
  1024. 3. Ingrese la clave API para el proveedor.
  1025. ```txt
  1026. ┌ API key
  1027. │
  1028. │
  1029. └ enter
  1030. ```
  1031. 4. Muchos modelos de OpenRouter están precargados de forma predeterminada, ejecute el comando `/models` para seleccionar el que desee.
  1032. ```txt
  1033. /models
  1034. ```
  1035. También puede agregar modelos adicionales a través de su configuración opencode.
  1036. ```json title="opencode.json" {6}
  1037. {
  1038. "$schema": "https://opencode.ai/config.json",
  1039. "provider": {
  1040. "openrouter": {
  1041. "models": {
  1042. "somecoolnewmodel": {}
  1043. }
  1044. }
  1045. }
  1046. }
  1047. ```
  1048. 5. También puedes personalizarlos a través de tu configuración opencode. A continuación se muestra un ejemplo de cómo especificar un proveedor.
  1049. ```json title="opencode.json"
  1050. {
  1051. "$schema": "https://opencode.ai/config.json",
  1052. "provider": {
  1053. "openrouter": {
  1054. "models": {
  1055. "moonshotai/kimi-k2": {
  1056. "options": {
  1057. "provider": {
  1058. "order": ["baseten"],
  1059. "allow_fallbacks": false
  1060. }
  1061. }
  1062. }
  1063. }
  1064. }
  1065. }
  1066. }
  1067. ```
  1068. ---
  1069. ### SAP AI Core
  1070. SAP AI Core brinda acceso a más de 40 modelos de OpenAI, Anthropic, Google, Amazon, Meta, Mistral y AI21 a través de una plataforma unificada.
  1071. 1. Vaya a su [SAP BTP Cockpit](https://account.hana.ondemand.com/), navegue hasta su instancia de servicio SAP AI Core y cree una clave de servicio.
  1072. :::consejo
  1073. La clave de servicio es un objeto JSON que contiene `clientid`, `clientsecret`, `url` y `serviceurls.AI_API_URL`. Puede encontrar su instancia de AI Core en **Servicios** > **Instancias y suscripciones** en BTP Cockpit.
  1074. :::
  1075. 2. Ejecute el comando `/connect` y busque **SAP AI Core**.
  1076. ```txt
  1077. /connect
  1078. ```
  1079. 3. Ingrese su clave de servicio JSON.
  1080. ```txt
  1081. ┌ Service key
  1082. │
  1083. │
  1084. └ enter
  1085. ```
  1086. O configure la variable de entorno `AICORE_SERVICE_KEY`:
  1087. ```bash
  1088. AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
  1089. ```
  1090. O agrégalo a tu perfil de bash:
  1091. ```bash title="~/.bash_profile"
  1092. export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
  1093. ```
  1094. 4. Opcionalmente, configure el ID de implementación y el grupo de recursos:
  1095. ```bash
  1096. AICORE_DEPLOYMENT_ID=your-deployment-id AICORE_RESOURCE_GROUP=your-resource-group opencode
  1097. ```
  1098. :::note
  1099. Estas configuraciones son opcionales y deben configurarse de acuerdo con su configuración de SAP AI Core.
  1100. :::
  1101. 5. Ejecute el comando `/models` para seleccionar entre más de 40 modelos disponibles.
  1102. ```txt
  1103. /models
  1104. ```
  1105. ---
  1106. ### STACKIT
  1107. STACKIT AI Model Serving proporciona un entorno de alojamiento soberano totalmente gestionado para modelos de IA, centrándose en LLM como Llama, Mistral y Qwen, con máxima soberanía de datos en infraestructura europea.
  1108. 1. Diríjase al [Portal STACKIT](https://portal.stackit.cloud), navegue hasta **AI Model Serving** y cree un token de autenticación para su proyecto.
  1109. :::tip
  1110. Necesita una cuenta de cliente STACKIT, una cuenta de usuario y un proyecto antes de crear tokens de autenticación.
  1111. :::
  1112. 2. Ejecute el comando `/connect` y busque **STACKIT**.
  1113. ```txt
  1114. /connect
  1115. ```
  1116. 3. Ingrese su token de autenticación de STACKIT AI Model Serving.
  1117. ```txt
  1118. ┌ API key
  1119. │
  1120. │
  1121. └ enter
  1122. ```
  1123. 4. Ejecute el comando `/models` para seleccionar entre los modelos disponibles como _Qwen3-VL 235B_ o _Llama 3.3 70B_.
  1124. ```txt
  1125. /models
  1126. ```
  1127. ---
  1128. ### OVHcloud AI Endpoints
  1129. 1. Dirígete al [panel de OVHcloud](https://ovh.com/manager). Navegue a la sección `Public Cloud`, `AI & Machine Learning` > `AI Endpoints` y en la pestaña `API Keys`, haga clic en **Crear una nueva clave API**.
  1130. 2. Ejecute el comando `/connect` y busque **OVHcloud AI Endpoints**.
  1131. ```txt
  1132. /connect
  1133. ```
  1134. 3. Introduzca la clave API de sus OVHcloud AI Endpoints.
  1135. ```txt
  1136. ┌ API key
  1137. │
  1138. │
  1139. └ enter
  1140. ```
  1141. 4. Ejecute el comando `/models` para seleccionar un modelo como _gpt-oss-120b_.
  1142. ```txt
  1143. /models
  1144. ```
  1145. ---
  1146. ### Scaleway
  1147. Para utilizar [API generativas de Scaleway](https://www.scaleway.com/en/docs/generative-apis/) con OpenCode:
  1148. 1. Dirígete a la [Configuración de IAM de la consola Scaleway](https://console.scaleway.com/iam/api-keys) para generar una nueva clave API.
  1149. 2. Ejecute el comando `/connect` y busque **Scaleway**.
  1150. ```txt
  1151. /connect
  1152. ```
  1153. 3. Ingrese su clave Scaleway API.
  1154. ```txt
  1155. ┌ API key
  1156. │
  1157. │
  1158. └ enter
  1159. ```
  1160. 4. Ejecute el comando `/models` para seleccionar un modelo como _devstral-2-123b-instruct-2512_ o _gpt-oss-120b_.
  1161. ```txt
  1162. /models
  1163. ```
  1164. ---
  1165. ### Together AI
  1166. 1. Dirígete a la [consola de Together AI](https://api.together.ai), crea una cuenta y haz clic en **Agregar clave**.
  1167. 2. Ejecute el comando `/connect` y busque **Together AI**.
  1168. ```txt
  1169. /connect
  1170. ```
  1171. 3. Ingrese su clave Together AI API.
  1172. ```txt
  1173. ┌ API key
  1174. │
  1175. │
  1176. └ enter
  1177. ```
  1178. 4. Ejecute el comando `/models` para seleccionar un modelo como _Kimi K2 Instruct_.
  1179. ```txt
  1180. /models
  1181. ```
  1182. ---
  1183. ### Venice AI
  1184. 1. Dirígete a la [consola de Venice AI](https://venice.ai), crea una cuenta y genera una clave API.
  1185. 2. Ejecute el comando `/connect` y busque **Venice AI**.
  1186. ```txt
  1187. /connect
  1188. ```
  1189. 3. Ingrese su clave Venice AI API.
  1190. ```txt
  1191. ┌ API key
  1192. │
  1193. │
  1194. └ enter
  1195. ```
  1196. 4. Ejecute el comando `/models` para seleccionar un modelo como _Llama 3.3 70B_.
  1197. ```txt
  1198. /models
  1199. ```
  1200. ---
  1201. ### Vercel AI Gateway
  1202. Vercel AI Gateway le permite acceder a modelos de OpenAI, Anthropic, Google, xAI y más a través de un punto final unificado. Los modelos se ofrecen a precio de lista sin margen de beneficio.
  1203. 1. Dirígete al [panel de Vercel](https://vercel.com/), navega hasta la pestaña **AI Gateway** y haz clic en **API claves** para crear una nueva clave API.
  1204. 2. Ejecute el comando `/connect` y busque **Vercel AI Gateway**.
  1205. ```txt
  1206. /connect
  1207. ```
  1208. 3. Ingrese su clave Vercel AI Gateway API.
  1209. ```txt
  1210. ┌ API key
  1211. │
  1212. │
  1213. └ enter
  1214. ```
  1215. 4. Ejecute el comando `/models` para seleccionar un modelo.
  1216. ```txt
  1217. /models
  1218. ```
  1219. También puede personalizar modelos a través de su configuración opencode. A continuación se muestra un ejemplo de cómo especificar el orden de enrutamiento del proveedor.
  1220. ```json title="opencode.json"
  1221. {
  1222. "$schema": "https://opencode.ai/config.json",
  1223. "provider": {
  1224. "vercel": {
  1225. "models": {
  1226. "anthropic/claude-sonnet-4": {
  1227. "options": {
  1228. "order": ["anthropic", "vertex"]
  1229. }
  1230. }
  1231. }
  1232. }
  1233. }
  1234. }
  1235. ```
  1236. Algunas opciones de enrutamiento útiles:
  1237. | Opción | Descripción |
  1238. | ------------------- | ----------------------------------------------------------------------- |
  1239. | `order` | Secuencia de proveedores para probar |
  1240. | `only` | Restringir a proveedores específicos |
  1241. | `zeroDataRetention` | Utilice únicamente proveedores con políticas de retención de datos cero |
  1242. ---
  1243. ### xAI
  1244. 1. Dirígete a la [consola xAI](https://console.x.ai/), crea una cuenta y genera una clave API.
  1245. 2. Ejecute el comando `/connect` y busque **xAI**.
  1246. ```txt
  1247. /connect
  1248. ```
  1249. 3. Ingrese su clave xAI API.
  1250. ```txt
  1251. ┌ API key
  1252. │
  1253. │
  1254. └ enter
  1255. ```
  1256. 4. Ejecute el comando `/models` para seleccionar un modelo como _Grok Beta_.
  1257. ```txt
  1258. /models
  1259. ```
  1260. ---
  1261. ### Z.AI
  1262. 1. Dirígete a la [consola Z.AI API](https://z.ai/manage-apikey/apikey-list), crea una cuenta y haz clic en **Crear una nueva clave API**.
  1263. 2. Ejecute el comando `/connect` y busque **Z.AI**.
  1264. ```txt
  1265. /connect
  1266. ```
  1267. Si está suscrito al **Plan de codificación GLM**, seleccione **Plan de codificación Z.AI**.
  1268. 3. Ingrese su clave Z.AI API.
  1269. ```txt
  1270. ┌ API key
  1271. │
  1272. │
  1273. └ enter
  1274. ```
  1275. 4. Ejecute el comando `/models` para seleccionar un modelo como _GLM-4.7_.
  1276. ```txt
  1277. /models
  1278. ```
  1279. ---
  1280. ### ZenMux
  1281. 1. Dirígete al [panel de ZenMux](https://zenmux.ai/settings/keys), haz clic en **Crear clave API** y copia la clave.
  1282. 2. Ejecute el comando `/connect` y busque ZenMux.
  1283. ```txt
  1284. /connect
  1285. ```
  1286. 3. Ingrese la clave API para el proveedor.
  1287. ```txt
  1288. ┌ API key
  1289. │
  1290. │
  1291. └ enter
  1292. ```
  1293. 4. Muchos modelos de ZenMux están precargados de forma predeterminada, ejecute el comando `/models` para seleccionar el que desee.
  1294. ```txt
  1295. /models
  1296. ```
  1297. También puede agregar modelos adicionales a través de su configuración opencode.
  1298. ```json title="opencode.json" {6}
  1299. {
  1300. "$schema": "https://opencode.ai/config.json",
  1301. "provider": {
  1302. "zenmux": {
  1303. "models": {
  1304. "somecoolnewmodel": {}
  1305. }
  1306. }
  1307. }
  1308. }
  1309. ```
  1310. ---
  1311. ## Proveedor personalizado
  1312. Para agregar cualquier proveedor **compatible con OpenAI** que no aparezca en el comando `/connect`:
  1313. :::tip
  1314. Puede utilizar cualquier proveedor compatible con OpenAI con opencode. La mayoría de los proveedores de IA modernos ofrecen API compatibles con OpenAI.
  1315. :::
  1316. 1. Ejecute el comando `/connect` y desplácese hacia abajo hasta **Otro**.
  1317. ```bash
  1318. $ /connect
  1319. ┌ Add credential
  1320. │
  1321. ◆ Select provider
  1322. │ ...
  1323. │ ● Other
  1324. └
  1325. ```
  1326. 2. Ingrese una identificación única para el proveedor.
  1327. ```bash
  1328. $ /connect
  1329. ┌ Add credential
  1330. │
  1331. ◇ Enter provider id
  1332. │ myprovider
  1333. └
  1334. ```
  1335. :::note
  1336. Elija una identificación memorable, la usará en su archivo de configuración.
  1337. :::
  1338. 3. Ingrese su clave API para el proveedor.
  1339. ```bash
  1340. $ /connect
  1341. ┌ Add credential
  1342. │
  1343. ▲ This only stores a credential for myprovider - you will need to configure it in opencode.json, check the docs for examples.
  1344. │
  1345. ◇ Enter your API key
  1346. │ sk-...
  1347. └
  1348. ```
  1349. 4. Cree o actualice su archivo `opencode.json` en el directorio de su proyecto:
  1350. ```json title="opencode.json" ""myprovider"" {5-15}
  1351. {
  1352. "$schema": "https://opencode.ai/config.json",
  1353. "provider": {
  1354. "myprovider": {
  1355. "npm": "@ai-sdk/openai-compatible",
  1356. "name": "My AI ProviderDisplay Name",
  1357. "options": {
  1358. "baseURL": "https://api.myprovider.com/v1"
  1359. },
  1360. "models": {
  1361. "my-model-name": {
  1362. "name": "My Model Display Name"
  1363. }
  1364. }
  1365. }
  1366. }
  1367. }
  1368. ```
  1369. Aquí están las opciones de configuración:
  1370. - **npm**: paquete AI SDK para usar, `@ai-sdk/openai-compatible` para proveedores compatibles con OpenAI
  1371. - **nombre**: nombre para mostrar en la interfaz de usuario.
  1372. - **modelos**: Modelos disponibles.
  1373. - **options.baseURL**: API URL del punto final.
  1374. - **options.apiKey**: Opcionalmente, configure la clave API, si no usa autenticación.
  1375. - **options.headers**: Opcionalmente, configure encabezados personalizados.
  1376. Más información sobre las opciones avanzadas en el siguiente ejemplo.
  1377. 5. Ejecute el comando `/models` y su proveedor y modelos personalizados aparecerán en la lista de selección.
  1378. ---
  1379. ##### Ejemplo
  1380. A continuación se muestra un ejemplo de configuración de las opciones `apiKey`, `headers` y modelo `limit`.
  1381. ```json title="opencode.json" {9,11,17-20}
  1382. {
  1383. "$schema": "https://opencode.ai/config.json",
  1384. "provider": {
  1385. "myprovider": {
  1386. "npm": "@ai-sdk/openai-compatible",
  1387. "name": "My AI ProviderDisplay Name",
  1388. "options": {
  1389. "baseURL": "https://api.myprovider.com/v1",
  1390. "apiKey": "{env:ANTHROPIC_API_KEY}",
  1391. "headers": {
  1392. "Authorization": "Bearer custom-token"
  1393. }
  1394. },
  1395. "models": {
  1396. "my-model-name": {
  1397. "name": "My Model Display Name",
  1398. "limit": {
  1399. "context": 200000,
  1400. "output": 65536
  1401. }
  1402. }
  1403. }
  1404. }
  1405. }
  1406. }
  1407. ```
  1408. Detalles de configuración:
  1409. - **apiKey**: se configura usando la sintaxis de la variable `env`, [más información](/docs/config#env-vars).
  1410. - **encabezados**: encabezados personalizados enviados con cada solicitud.
  1411. - **limit.context**: tokens de entrada máximos que acepta el modelo.
  1412. - **limit.output**: tokens máximos que el modelo puede generar.
  1413. Los campos `limit` le permiten a OpenCode comprender cuánto contexto le queda. Los proveedores estándar los extraen de models.dev automáticamente.
  1414. ---
  1415. ## Solución de problemas
  1416. Si tiene problemas para configurar un proveedor, verifique lo siguiente:
  1417. 1. **Verifique la configuración de autenticación**: Ejecute `opencode auth list` para ver si las credenciales
  1418. para el proveedor se agregan a su configuración.
  1419. Esto no se aplica a proveedores como Amazon Bedrock, que dependen de variables de entorno para su autenticación.
  1420. 2. Para proveedores personalizados, verifique la configuración opencode y:
  1421. - Asegúrese de que el ID del proveedor utilizado en el comando `/connect` coincida con el ID en su configuración opencode.
  1422. - Se utiliza el paquete npm correcto para el proveedor. Por ejemplo, utilice `@ai-sdk/cerebras` para Cerebras. Y para todos los demás proveedores compatibles con OpenAI, utilice `@ai-sdk/openai-compatible`.
  1423. - Verifique que se utilice el punto final API correcto en el campo `options.baseURL`.