mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-22 18:24:21 +01:00
docs: rename opencode to OpenCode
This commit is contained in:
@@ -15,7 +15,7 @@ You can switch between agents during a session or invoke them with the `@` menti
|
||||
|
||||
## Types
|
||||
|
||||
There are two types of agents in opencode; primary agents and subagents.
|
||||
There are two types of agents in OpenCode; primary agents and subagents.
|
||||
|
||||
---
|
||||
|
||||
@@ -27,7 +27,7 @@ Primary agents are the main assistants you interact with directly. You can cycle
|
||||
You can use the **Tab** key to switch between primary agents during a session.
|
||||
:::
|
||||
|
||||
opencode comes with two built-in primary agents, **Build** and **Plan**. We'll
|
||||
OpenCode comes with two built-in primary agents, **Build** and **Plan**. We'll
|
||||
look at these below.
|
||||
|
||||
---
|
||||
@@ -36,13 +36,13 @@ look at these below.
|
||||
|
||||
Subagents are specialized assistants that primary agents can invoke for specific tasks. You can also manually invoke them by **@ mentioning** them in your messages.
|
||||
|
||||
opencode comes with one built-in subagent, **General**. We'll look at this below.
|
||||
OpenCode comes with one built-in subagent, **General**. We'll look at this below.
|
||||
|
||||
---
|
||||
|
||||
## Built-in
|
||||
|
||||
opencode comes with two built-in primary agents and one built-in subagent.
|
||||
OpenCode comes with two built-in primary agents and one built-in subagent.
|
||||
|
||||
---
|
||||
|
||||
@@ -245,7 +245,7 @@ Temperature values typically range from 0.0 to 1.0:
|
||||
}
|
||||
```
|
||||
|
||||
If no temperature is specified, opencode uses model-specific defaults; typically 0 for most models, 0.55 for Qwen models.
|
||||
If no temperature is specified, OpenCode uses model-specific defaults; typically 0 for most models, 0.55 for Qwen models.
|
||||
|
||||
---
|
||||
|
||||
@@ -279,7 +279,7 @@ Specify a custom system prompt file for this agent with the `prompt` config. The
|
||||
}
|
||||
```
|
||||
|
||||
This path is relative to where the config file is located. So this works for both the global opencode config and the project specific config.
|
||||
This path is relative to where the config file is located. So this works for both the global OpenCode config and the project specific config.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
---
|
||||
title: CLI
|
||||
description: opencode CLI options and commands.
|
||||
description: OpenCode CLI options and commands.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
The opencode CLI by default starts the [TUI](/docs/tui) when run without any arguments.
|
||||
The OpenCode CLI by default starts the [TUI](/docs/tui) when run without any arguments.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
But it also accepts commands as documented on this page. This allows you to interact with opencode programmatically.
|
||||
But it also accepts commands as documented on this page. This allows you to interact with OpenCode programmatically.
|
||||
|
||||
```bash
|
||||
opencode run "Explain how closures work in JavaScript"
|
||||
@@ -21,13 +21,13 @@ opencode run "Explain how closures work in JavaScript"
|
||||
|
||||
## Commands
|
||||
|
||||
The opencode CLI also has the following commands.
|
||||
The OpenCode CLI also has the following commands.
|
||||
|
||||
---
|
||||
|
||||
### agent
|
||||
|
||||
Manage agents for opencode.
|
||||
Manage agents for OpenCode.
|
||||
|
||||
```bash
|
||||
opencode agent [command]
|
||||
@@ -59,13 +59,13 @@ opencode auth [command]
|
||||
|
||||
#### login
|
||||
|
||||
opencode is powered by the provider list at [Models.dev](https://models.dev), so you can use `opencode auth login` to configure API keys for any provider you'd like to use. This is stored in `~/.local/share/opencode/auth.json`.
|
||||
OpenCode is powered by the provider list at [Models.dev](https://models.dev), so you can use `opencode auth login` to configure API keys for any provider you'd like to use. This is stored in `~/.local/share/opencode/auth.json`.
|
||||
|
||||
```bash
|
||||
opencode auth login
|
||||
```
|
||||
|
||||
When opencode starts up it loads the providers from the credentials file. And if there are any keys defined in your environments or a `.env` file in your project.
|
||||
When OpenCode starts up it loads the providers from the credentials file. And if there are any keys defined in your environments or a `.env` file in your project.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -42,13 +42,13 @@ Use the command by typing `/` followed by the command name.
|
||||
|
||||
## Configure
|
||||
|
||||
You can add custom commands through the opencode config or by creating markdown files in the `command/` directory.
|
||||
You can add custom commands through the OpenCode config or by creating markdown files in the `command/` directory.
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
Use the `command` option in your opencode [config](/docs/config):
|
||||
Use the `command` option in your OpenCode [config](/docs/config):
|
||||
|
||||
```json title="opencode.jsonc" {4-12}
|
||||
{
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
title: Config
|
||||
description: Using the opencode JSON config.
|
||||
description: Using the OpenCode JSON config.
|
||||
---
|
||||
|
||||
You can configure opencode using a JSON config file.
|
||||
You can configure OpenCode using a JSON config file.
|
||||
|
||||
---
|
||||
|
||||
## Format
|
||||
|
||||
opencode supports both **JSON** and **JSONC** (JSON with Comments) formats.
|
||||
OpenCode supports both **JSON** and **JSONC** (JSON with Comments) formats.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
@@ -32,7 +32,7 @@ different order of precedence.
|
||||
|
||||
### Global
|
||||
|
||||
Place your global opencode config in `~/.config/opencode/opencode.json`. You'll want to use the global config for things like themes, providers, or keybinds.
|
||||
Place your global OpenCode config in `~/.config/opencode/opencode.json`. You'll want to use the global config for things like themes, providers, or keybinds.
|
||||
|
||||
---
|
||||
|
||||
@@ -44,7 +44,7 @@ You can also add a `opencode.json` in your project. It takes precedence over the
|
||||
Place project specific config in the root of your project.
|
||||
:::
|
||||
|
||||
When opencode starts up, it looks for a config file in the current directory or traverse up to the nearest Git directory.
|
||||
When OpenCode starts up, it looks for a config file in the current directory or traverse up to the nearest Git directory.
|
||||
|
||||
This is also safe to be checked into Git and uses the same schema as the global one.
|
||||
|
||||
@@ -71,7 +71,7 @@ Your editor should be able to validate and autocomplete based on the schema.
|
||||
|
||||
### Models
|
||||
|
||||
You can configure the providers and models you want to use in your opencode config through the `provider`, `model` and `small_model` options.
|
||||
You can configure the providers and models you want to use in your OpenCode config through the `provider`, `model` and `small_model` options.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -82,7 +82,7 @@ You can configure the providers and models you want to use in your opencode conf
|
||||
}
|
||||
```
|
||||
|
||||
The `small_model` option configures a separate model for lightweight tasks like title generation. By default, opencode tries to use a cheaper model if one is available from your provider, otherwise it falls back to your main model.
|
||||
The `small_model` option configures a separate model for lightweight tasks like title generation. By default, OpenCode tries to use a cheaper model if one is available from your provider, otherwise it falls back to your main model.
|
||||
|
||||
You can also configure [local models](/docs/models#local). [Learn more](/docs/models).
|
||||
|
||||
@@ -90,7 +90,7 @@ You can also configure [local models](/docs/models#local). [Learn more](/docs/mo
|
||||
|
||||
### Themes
|
||||
|
||||
You can configure the theme you want to use in your opencode config through the `theme` option.
|
||||
You can configure the theme you want to use in your OpenCode config through the `theme` option.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -193,7 +193,7 @@ You can customize your keybinds through the `keybinds` option.
|
||||
|
||||
### Autoupdate
|
||||
|
||||
opencode will automatically download any new updates when it starts up. You can disable this with the `autoupdate` option.
|
||||
OpenCode will automatically download any new updates when it starts up. You can disable this with the `autoupdate` option.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: Enterprise
|
||||
description: Using opencode in your organization.
|
||||
description: Using OpenCode in your organization.
|
||||
---
|
||||
|
||||
import config from "../../../config.mjs"
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
opencode does not store any of your code or context data. This makes it easy for
|
||||
you to use opencode at your organization.
|
||||
OpenCode does not store any of your code or context data. This makes it easy for
|
||||
you to use OpenCode at your organization.
|
||||
|
||||
To get started, we recommend:
|
||||
|
||||
@@ -18,7 +18,7 @@ To get started, we recommend:
|
||||
|
||||
## Trial
|
||||
|
||||
Since opencode is open source and does not store any of your code or context data, your developers can simply [get started](/docs/) and carry out a trial.
|
||||
Since OpenCode is open source and does not store any of your code or context data, your developers can simply [get started](/docs/) and carry out a trial.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
title: Formatters
|
||||
description: opencode uses language specific formatters.
|
||||
description: OpenCode uses language specific formatters.
|
||||
---
|
||||
|
||||
opencode automatically formats files after they are written or edited using language-specific formatters. This ensures that the code that is generated follows the code styles of your project.
|
||||
OpenCode automatically formats files after they are written or edited using language-specific formatters. This ensures that the code that is generated follows the code styles of your project.
|
||||
|
||||
---
|
||||
|
||||
## Built-in
|
||||
|
||||
opencode comes with several built-in formatters for popular languages and frameworks. Below is a list of the formatters, supported file extensions, and commands or config options it needs.
|
||||
OpenCode comes with several built-in formatters for popular languages and frameworks. Below is a list of the formatters, supported file extensions, and commands or config options it needs.
|
||||
|
||||
| Formatter | Extensions | Requirements |
|
||||
| -------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------- |
|
||||
@@ -25,13 +25,13 @@ opencode comes with several built-in formatters for popular languages and framew
|
||||
| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available |
|
||||
| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available |
|
||||
|
||||
So if your project has `prettier` in your `package.json`, opencode will automatically use it.
|
||||
So if your project has `prettier` in your `package.json`, OpenCode will automatically use it.
|
||||
|
||||
---
|
||||
|
||||
## How it works
|
||||
|
||||
When opencode writes or edits a file, it:
|
||||
When OpenCode writes or edits a file, it:
|
||||
|
||||
1. Checks the file extension against all enabled formatters.
|
||||
2. Runs the appropriate formatter command on the file.
|
||||
@@ -43,7 +43,7 @@ This process happens in the background, ensuring your code styles are maintained
|
||||
|
||||
## Configure
|
||||
|
||||
You can customize formatters through the `formatter` section in your opencode config.
|
||||
You can customize formatters through the `formatter` section in your OpenCode config.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
---
|
||||
title: IDE
|
||||
description: The opencode extension for VS Code, Cursor, and other IDEs
|
||||
description: The OpenCode extension for VS Code, Cursor, and other IDEs
|
||||
---
|
||||
|
||||
opencode integrates with VS Code, Cursor, or any IDE that supports a terminal. Just run `opencode` in the terminal to get started.
|
||||
OpenCode integrates with VS Code, Cursor, or any IDE that supports a terminal. Just run `opencode` in the terminal to get started.
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
- **Quick Launch**: Use `Cmd+Esc` (Mac) or `Ctrl+Esc` (Windows/Linux) to open opencode in a split terminal view, or focus an existing terminal session if one is already running.
|
||||
- **New Session**: Use `Cmd+Shift+Esc` (Mac) or `Ctrl+Shift+Esc` (Windows/Linux) to start a new opencode terminal session, even if one is already open. You can also click the opencode button in the UI.
|
||||
- **Context Awareness**: Automatically share your current selection or tab with opencode.
|
||||
- **Quick Launch**: Use `Cmd+Esc` (Mac) or `Ctrl+Esc` (Windows/Linux) to open OpenCode in a split terminal view, or focus an existing terminal session if one is already running.
|
||||
- **New Session**: Use `Cmd+Shift+Esc` (Mac) or `Ctrl+Shift+Esc` (Windows/Linux) to start a new OpenCode terminal session, even if one is already open. You can also click the OpenCode button in the UI.
|
||||
- **Context Awareness**: Automatically share your current selection or tab with OpenCode.
|
||||
- **File Reference Shortcuts**: Use `Cmd+Option+K` (Mac) or `Alt+Ctrl+K` (Linux/Windows) to insert file references. For example, `@File#L37-42`.
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
To install opencode on VS Code and popular forks like Cursor, Windsurf, VSCodium:
|
||||
To install OpenCode on VS Code and popular forks like Cursor, Windsurf, VSCodium:
|
||||
|
||||
1. Open VS Code
|
||||
2. Open the integrated terminal
|
||||
@@ -30,7 +30,7 @@ If on the other hand you want to use your own IDE when you run `/editor` or `/ex
|
||||
|
||||
### Manual Install
|
||||
|
||||
Search for **opencode** in the Extension Marketplace and click **Install**.
|
||||
Search for **OpenCode** in the Extension Marketplace and click **Install**.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
title: Intro
|
||||
description: Get started with opencode.
|
||||
description: Get started with OpenCode.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
import config from "../../../config.mjs"
|
||||
export const console = config.console
|
||||
|
||||
[**opencode**](/) is an AI coding agent built for the terminal.
|
||||
[**OpenCode**](/) is an AI coding agent built for the terminal.
|
||||
|
||||

|
||||

|
||||
|
||||
Let's get started.
|
||||
|
||||
@@ -17,7 +17,7 @@ Let's get started.
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
To use opencode, you'll need:
|
||||
To use OpenCode, you'll need:
|
||||
|
||||
1. A modern terminal emulator like:
|
||||
- [WezTerm](https://wezterm.org), cross-platform
|
||||
@@ -31,7 +31,7 @@ To use opencode, you'll need:
|
||||
|
||||
## Install
|
||||
|
||||
The easiest way to install opencode is through the install script.
|
||||
The easiest way to install OpenCode is through the install script.
|
||||
|
||||
```bash
|
||||
curl -fsSL https://opencode.ai/install | bash
|
||||
@@ -103,7 +103,7 @@ You can also install it with the following commands:
|
||||
npm install -g opencode-ai
|
||||
```
|
||||
|
||||
Support for installing opencode on Windows using Bun is currently in progress.
|
||||
Support for installing OpenCode on Windows using Bun is currently in progress.
|
||||
|
||||
You can also grab the binary from the [Releases](https://github.com/sst/opencode/releases).
|
||||
|
||||
@@ -111,10 +111,10 @@ You can also grab the binary from the [Releases](https://github.com/sst/opencode
|
||||
|
||||
## Configure
|
||||
|
||||
With opencode you can use any LLM provider by configuring their API keys.
|
||||
With OpenCode you can use any LLM provider by configuring their API keys.
|
||||
|
||||
If you are new to using LLM providers, we recommend using [opencode zen](/docs/zen).
|
||||
It's a curated list of models that have been tested and verified by the opencode
|
||||
If you are new to using LLM providers, we recommend using [OpenCode Zen](/docs/zen).
|
||||
It's a curated list of models that have been tested and verified by the OpenCode
|
||||
team.
|
||||
|
||||
1. Run `opencode auth login`, select opencode, and head to [opencode.ai/auth](https://opencode.ai/auth).
|
||||
@@ -149,33 +149,33 @@ you want to work on.
|
||||
cd /path/to/project
|
||||
```
|
||||
|
||||
And run opencode.
|
||||
And run OpenCode.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
Next, initialize opencode for the project by running the following command.
|
||||
Next, initialize OpenCode for the project by running the following command.
|
||||
|
||||
```bash frame="none"
|
||||
/init
|
||||
```
|
||||
|
||||
This will get opencode to analyze your project and create an `AGENTS.md` file in
|
||||
This will get OpenCode to analyze your project and create an `AGENTS.md` file in
|
||||
the project root.
|
||||
|
||||
:::tip
|
||||
You should commit your project's `AGENTS.md` file to Git.
|
||||
:::
|
||||
|
||||
This helps opencode understand the project structure and the coding patterns
|
||||
This helps OpenCode understand the project structure and the coding patterns
|
||||
used.
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
You are now ready to use opencode to work on your project. Feel free to ask it
|
||||
You are now ready to use OpenCode to work on your project. Feel free to ask it
|
||||
anything!
|
||||
|
||||
If you are new to using an AI coding agent, here are some examples that might
|
||||
@@ -185,7 +185,7 @@ help.
|
||||
|
||||
### Ask questions
|
||||
|
||||
You can ask opencode to explain the codebase to you.
|
||||
You can ask OpenCode to explain the codebase to you.
|
||||
|
||||
:::tip
|
||||
Use the `@` key to fuzzy search for files in the project.
|
||||
@@ -201,11 +201,11 @@ This is helpful if there's a part of the codebase that you didn't work on.
|
||||
|
||||
### Add features
|
||||
|
||||
You can ask opencode to add new features to your project. Though we first recommend asking it to create a plan.
|
||||
You can ask OpenCode to add new features to your project. Though we first recommend asking it to create a plan.
|
||||
|
||||
1. **Create a plan**
|
||||
|
||||
opencode has a _Plan mode_ that disables its ability to make changes and
|
||||
OpenCode has a _Plan mode_ that disables its ability to make changes and
|
||||
instead suggest _how_ it'll implement the feature.
|
||||
|
||||
Switch to it using the **Tab** key. You'll see an indicator for this in the lower right corner.
|
||||
@@ -222,11 +222,11 @@ You can ask opencode to add new features to your project. Though we first recomm
|
||||
From this screen, the user can undelete a note or permanently delete it.
|
||||
```
|
||||
|
||||
You want to give opencode enough details to understand what you want. It helps
|
||||
You want to give OpenCode enough details to understand what you want. It helps
|
||||
to talk to it like you are talking to a junior developer on your team.
|
||||
|
||||
:::tip
|
||||
Give opencode plenty of context and examples to help it understand what you
|
||||
Give OpenCode plenty of context and examples to help it understand what you
|
||||
want.
|
||||
:::
|
||||
|
||||
@@ -243,7 +243,7 @@ You can ask opencode to add new features to your project. Though we first recomm
|
||||
Drag and drop images into the terminal to add them to the prompt.
|
||||
:::
|
||||
|
||||
opencode can scan any images you give it and add them to the prompt. You can
|
||||
OpenCode can scan any images you give it and add them to the prompt. You can
|
||||
do this by dragging and dropping an image into the terminal.
|
||||
|
||||
3. **Build the feature**
|
||||
@@ -265,7 +265,7 @@ You can ask opencode to add new features to your project. Though we first recomm
|
||||
|
||||
### Make changes
|
||||
|
||||
For more straightforward changes, you can ask opencode to directly build it
|
||||
For more straightforward changes, you can ask OpenCode to directly build it
|
||||
without having to review the plan first.
|
||||
|
||||
```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
|
||||
@@ -274,14 +274,14 @@ handled in the /notes route in @packages/functions/src/notes.ts and implement
|
||||
the same logic in @packages/functions/src/settings.ts
|
||||
```
|
||||
|
||||
You want to make sure you provide a good amount of detail so opencode makes the right
|
||||
You want to make sure you provide a good amount of detail so OpenCode makes the right
|
||||
changes.
|
||||
|
||||
---
|
||||
|
||||
### Undo changes
|
||||
|
||||
Let's say you ask opencode to make some changes.
|
||||
Let's say you ask OpenCode to make some changes.
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
@@ -294,14 +294,14 @@ using the `/undo` command.
|
||||
/undo
|
||||
```
|
||||
|
||||
opencode will now revert the changes you made and show your original message
|
||||
OpenCode will now revert the changes you made and show your original message
|
||||
again.
|
||||
|
||||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||||
```
|
||||
|
||||
From here you can tweak the prompt and ask opencode to try again.
|
||||
From here you can tweak the prompt and ask OpenCode to try again.
|
||||
|
||||
:::tip
|
||||
You can run `/undo` multiple times to undo multiple changes.
|
||||
@@ -317,7 +317,7 @@ Or you **can redo** the changes using the `/redo` command.
|
||||
|
||||
## Share
|
||||
|
||||
The conversations that you have with opencode can be [shared with your
|
||||
The conversations that you have with OpenCode can be [shared with your
|
||||
team](/docs/share).
|
||||
|
||||
```bash frame="none"
|
||||
@@ -330,12 +330,12 @@ This will create a link to the current conversation and copy it to your clipboar
|
||||
Conversations are not shared by default.
|
||||
:::
|
||||
|
||||
Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with opencode.
|
||||
Here's an [example conversation](https://opencode.ai/s/4XP1fce5) with OpenCode.
|
||||
|
||||
---
|
||||
|
||||
## Customize
|
||||
|
||||
And that's it! You are now a pro at using opencode.
|
||||
And that's it! You are now a pro at using OpenCode.
|
||||
|
||||
To make it your own, we recommend [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands), or playing around with the [opencode config](/docs/config).
|
||||
To make it your own, we recommend [picking a theme](/docs/themes), [customizing the keybinds](/docs/keybinds), [configuring code formatters](/docs/formatters), [creating custom commands](/docs/commands), or playing around with the [OpenCode config](/docs/config).
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Keybinds
|
||||
description: Customize your keybinds.
|
||||
---
|
||||
|
||||
opencode has a list of keybinds that you can customize through the opencode config.
|
||||
OpenCode has a list of keybinds that you can customize through the OpenCode config.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
@@ -53,7 +53,7 @@ opencode has a list of keybinds that you can customize through the opencode conf
|
||||
|
||||
## Leader key
|
||||
|
||||
opencode uses a `leader` key for most keybinds. This avoids conflicts in your terminal.
|
||||
OpenCode uses a `leader` key for most keybinds. This avoids conflicts in your terminal.
|
||||
|
||||
By default, `ctrl+x` is the leader key and most actions require you to first press the leader key and then the shortcut. For example, to start a new session you first press `ctrl+x` and then press `n`.
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
title: LSP Servers
|
||||
description: opencode integrates with your LSP servers.
|
||||
description: OpenCode integrates with your LSP servers.
|
||||
---
|
||||
|
||||
opencode integrates with your Language Server Protocol (LSP) to help the LLM interact with your codebase. It uses diagnostics to provide feedback to the LLM.
|
||||
OpenCode integrates with your Language Server Protocol (LSP) to help the LLM interact with your codebase. It uses diagnostics to provide feedback to the LLM.
|
||||
|
||||
---
|
||||
|
||||
## Built-in
|
||||
|
||||
opencode comes with several built-in LSP servers for popular languages:
|
||||
OpenCode comes with several built-in LSP servers for popular languages:
|
||||
|
||||
| LSP Server | Extensions | Requirements |
|
||||
| ---------- | ---------------------------------------------------- | ----------------------------------- |
|
||||
|
||||
@@ -3,13 +3,13 @@ title: Models
|
||||
description: Configuring an LLM provider and model.
|
||||
---
|
||||
|
||||
opencode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models.
|
||||
OpenCode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models.
|
||||
|
||||
---
|
||||
|
||||
## Providers
|
||||
|
||||
Most popular providers are preloaded by default. If you've added the credentials for a provider through `opencode auth login`, they'll be available when you start opencode.
|
||||
Most popular providers are preloaded by default. If you've added the credentials for a provider through `opencode auth login`, they'll be available when you start OpenCode.
|
||||
|
||||
Learn more about [providers](/docs/providers).
|
||||
|
||||
@@ -35,7 +35,7 @@ Consider using one of the models we recommend.
|
||||
|
||||
However, there are a only a few of them that are good at both generating code and tool calling.
|
||||
|
||||
Here are the ones we recommend with opencode:
|
||||
Here are the ones we recommend with OpenCode:
|
||||
|
||||
- Claude Sonnet 4
|
||||
- Claude Opus 4
|
||||
@@ -49,7 +49,7 @@ Here are the ones we recommend with opencode:
|
||||
## Set a default
|
||||
|
||||
To set one of these as the default model, you can set the `model` key in your
|
||||
opencode config.
|
||||
OpenCode config.
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
@@ -139,11 +139,11 @@ You can also define custom models that extend built-in ones and can optionally u
|
||||
|
||||
## Loading models
|
||||
|
||||
When opencode starts up, it checks for models in the following priority order:
|
||||
When OpenCode starts up, it checks for models in the following priority order:
|
||||
|
||||
1. The `--model` or `-m` command line flag. The format is the same as in the config file: `provider_id/model_id`.
|
||||
|
||||
2. The model list in the opencode config.
|
||||
2. The model list in the OpenCode config.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Plugins
|
||||
description: Write your own plugins to extend opencode.
|
||||
description: Write your own plugins to extend OpenCode.
|
||||
---
|
||||
|
||||
Plugins allow you to extend opencode by hooking into various events and customizing behavior. You can create plugins to add new features, integrate with external services, or modify opencode's default behavior.
|
||||
Plugins allow you to extend OpenCode by hooking into various events and customizing behavior. You can create plugins to add new features, integrate with external services, or modify OpenCode's default behavior.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
---
|
||||
title: Providers
|
||||
description: Using any LLM provider in opencode.
|
||||
description: Using any LLM provider in OpenCode.
|
||||
---
|
||||
|
||||
import config from "../../../config.mjs"
|
||||
export const console = config.console
|
||||
|
||||
opencode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models.
|
||||
OpenCode uses the [AI SDK](https://ai-sdk.dev/) and [Models.dev](https://models.dev) to support for **75+ LLM providers** and it supports running local models.
|
||||
|
||||
To add a provider you need to:
|
||||
|
||||
1. Add the API keys for the provider using `opencode auth login`.
|
||||
2. Configure the provider in your opencode config.
|
||||
2. Configure the provider in your OpenCode config.
|
||||
|
||||
---
|
||||
|
||||
@@ -24,7 +24,7 @@ in `~/.local/share/opencode/auth.json`.
|
||||
|
||||
### Config
|
||||
|
||||
You can customize the providers through the `provider` section in your opencode
|
||||
You can customize the providers through the `provider` section in your OpenCode
|
||||
config.
|
||||
|
||||
---
|
||||
@@ -48,13 +48,13 @@ You can customize the base URL for any provider by setting the `baseURL` option.
|
||||
|
||||
---
|
||||
|
||||
## opencode zen
|
||||
## OpenCode Zen
|
||||
|
||||
opencode zen is a list of models provided by the opencode team that have been
|
||||
tested and verified to work well with opencode. [Learn more](/docs/zen).
|
||||
OpenCode Zen is a list of models provided by the OpenCode team that have been
|
||||
tested and verified to work well with OpenCode. [Learn more](/docs/zen).
|
||||
|
||||
:::tip
|
||||
If you are new, we recommend starting with opencode zen.
|
||||
If you are new, we recommend starting with OpenCode Zen.
|
||||
:::
|
||||
|
||||
1. Run `opencode auth login`, select opencode, and head to [opencode.ai/auth](https://opencode.ai/auth).
|
||||
@@ -78,7 +78,7 @@ If you are new, we recommend starting with opencode zen.
|
||||
|
||||
4. Run `/models` in the TUI to see the list of models we recommend.
|
||||
|
||||
It works like any other provider in opencode. And is completely optional to use
|
||||
It works like any other provider in OpenCode. And is completely optional to use
|
||||
it.
|
||||
|
||||
---
|
||||
@@ -96,7 +96,7 @@ Don't see a provider here? Submit a PR.
|
||||
|
||||
### Amazon Bedrock
|
||||
|
||||
To use Amazon Bedrock with opencode:
|
||||
To use Amazon Bedrock with OpenCode:
|
||||
|
||||
1. Head over to the **Model catalog** in the Amazon Bedrock console and request
|
||||
access to the models you want.
|
||||
@@ -564,13 +564,13 @@ In this example:
|
||||
|
||||
---
|
||||
|
||||
### opencode zen
|
||||
### OpenCode Zen
|
||||
|
||||
opencode zen is a list of tested and verified models provided by the opencode team. [Learn more](/docs/zen).
|
||||
OpenCode Zen is a list of tested and verified models provided by the OpenCode team. [Learn more](/docs/zen).
|
||||
|
||||
1. Sign in to **<a href={console}>opencode zen</a>** and click **Create API Key**.
|
||||
1. Sign in to **<a href={console}>OpenCode Zen</a>** and click **Create API Key**.
|
||||
|
||||
2. Run `opencode auth login` and select **opencode zen**.
|
||||
2. Run `opencode auth login` and select **OpenCode Zen**.
|
||||
|
||||
```bash
|
||||
$ opencode auth login
|
||||
@@ -578,12 +578,12 @@ opencode zen is a list of tested and verified models provided by the opencode te
|
||||
┌ Add credential
|
||||
│
|
||||
◆ Select provider
|
||||
│ ● opencode zen
|
||||
│ ● OpenCode Zen
|
||||
│ ...
|
||||
└
|
||||
```
|
||||
|
||||
3. Enter your opencode API key.
|
||||
3. Enter your OpenCode API key.
|
||||
|
||||
```bash
|
||||
$ opencode auth login
|
||||
@@ -591,7 +591,7 @@ opencode zen is a list of tested and verified models provided by the opencode te
|
||||
┌ Add credential
|
||||
│
|
||||
◇ Select provider
|
||||
│ opencode zen
|
||||
│ OpenCode Zen
|
||||
│
|
||||
◇ Enter your API key
|
||||
│ _
|
||||
|
||||
@@ -46,7 +46,7 @@ opencode TUI running, `opencode serve` will start a new server.
|
||||
|
||||
When you start the TUI it randomly assigns a port and hostname. You can instead pass in the `--hostname` and `--port` [flags](/docs/cli). Then use this to connect to its server.
|
||||
|
||||
The [`/tui`](#tui) endpoint can be used to drive the TUI through the server. For example, you can prefill or run a prompt. This setup is used by the opencode [IDE](/docs/ide) plugins.
|
||||
The [`/tui`](#tui) endpoint can be used to drive the TUI through the server. For example, you can prefill or run a prompt. This setup is used by the OpenCode [IDE](/docs/ide) plugins.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Share
|
||||
description: Share your opencode conversations.
|
||||
description: Share your OpenCode conversations.
|
||||
---
|
||||
|
||||
opencode's share feature allows you to create public links to your opencode conversations, so you can collaborate with teammates or get help from others.
|
||||
OpenCode's share feature allows you to create public links to your OpenCode conversations, so you can collaborate with teammates or get help from others.
|
||||
|
||||
:::note
|
||||
Shared conversations are publicly accessible to anyone with the link.
|
||||
@@ -13,7 +13,7 @@ Shared conversations are publicly accessible to anyone with the link.
|
||||
|
||||
## How it works
|
||||
|
||||
When you share a conversation, opencode:
|
||||
When you share a conversation, OpenCode:
|
||||
|
||||
1. Creates a unique public URL for your session
|
||||
2. Syncs your conversation history to our servers
|
||||
@@ -23,13 +23,13 @@ When you share a conversation, opencode:
|
||||
|
||||
## Sharing
|
||||
|
||||
opencode supports three sharing modes that control how conversations are shared:
|
||||
OpenCode supports three sharing modes that control how conversations are shared:
|
||||
|
||||
---
|
||||
|
||||
### Manual (default)
|
||||
|
||||
By default, opencode uses manual sharing mode. Sessions are not shared automatically, but you can manually share them using the `/share` command:
|
||||
By default, OpenCode uses manual sharing mode. Sessions are not shared automatically, but you can manually share them using the `/share` command:
|
||||
|
||||
```
|
||||
/share
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Themes
|
||||
description: Select a built-in theme or define your own.
|
||||
---
|
||||
|
||||
With opencode you can select from one of several built-in themes, use a theme that adapts to your terminal theme, or define your own custom theme.
|
||||
With OpenCode you can select from one of several built-in themes, use a theme that adapts to your terminal theme, or define your own custom theme.
|
||||
|
||||
By default, opencode uses our own `opencode` theme.
|
||||
By default, OpenCode uses our own `opencode` theme.
|
||||
|
||||
---
|
||||
|
||||
@@ -23,7 +23,7 @@ Without truecolor support, themes may appear with reduced color accuracy or fall
|
||||
|
||||
## Built-in themes
|
||||
|
||||
opencode comes with several built-in themes.
|
||||
OpenCode comes with several built-in themes.
|
||||
|
||||
| Name | Description |
|
||||
| ------------ | ---------------------------------------------------------------------------- |
|
||||
@@ -52,7 +52,7 @@ The `system` theme is designed to automatically adapt to your terminal's color s
|
||||
|
||||
The system theme is for users who:
|
||||
|
||||
- Want opencode to match their terminal's appearance
|
||||
- Want OpenCode to match their terminal's appearance
|
||||
- Use custom terminal color schemes
|
||||
- Prefer a consistent look across all terminal applications
|
||||
|
||||
@@ -73,7 +73,7 @@ You can select a theme by bringing up the theme select with the `/theme` command
|
||||
|
||||
## Custom themes
|
||||
|
||||
opencode supports a flexible JSON-based theme system that allows users to create and customize themes easily.
|
||||
OpenCode supports a flexible JSON-based theme system that allows users to create and customize themes easily.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Troubleshooting
|
||||
description: Common issues and how to resolve them.
|
||||
---
|
||||
|
||||
To debug any issues with opencode, you can check the logs or the session data
|
||||
To debug any issues with OpenCode, you can check the logs or the session data
|
||||
that it stores locally.
|
||||
|
||||
---
|
||||
@@ -40,7 +40,7 @@ This directory contains:
|
||||
|
||||
## Getting help
|
||||
|
||||
If you're experiencing issues with opencode:
|
||||
If you're experiencing issues with OpenCode:
|
||||
|
||||
1. **Report issues on GitHub**
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: TUI
|
||||
description: Using the opencode terminal user interface.
|
||||
description: Using the OpenCode terminal user interface.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
opencode provides an interactive terminal interface or TUI for working on your projects with an LLM.
|
||||
OpenCode provides an interactive terminal interface or TUI for working on your projects with an LLM.
|
||||
|
||||
Running opencode starts the TUI for the current directory.
|
||||
Running OpenCode starts the TUI for the current directory.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
@@ -57,7 +57,7 @@ The output of the command is added to the conversation as a tool result.
|
||||
|
||||
## Commands
|
||||
|
||||
When using the opencode TUI, you can type `/` followed by a command name to quickly execute actions. For example:
|
||||
When using the OpenCode TUI, you can type `/` followed by a command name to quickly execute actions. For example:
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
@@ -107,7 +107,7 @@ Open external editor for composing messages. Uses the editor set in your `EDITOR
|
||||
|
||||
### exit
|
||||
|
||||
Exit opencode. _Aliases_: `/quit`, `/q`
|
||||
Exit OpenCode. _Aliases_: `/quit`, `/q`
|
||||
|
||||
```bash frame="none"
|
||||
/exit
|
||||
@@ -330,7 +330,7 @@ Some editors need command-line arguments to run in blocking mode. The `--wait` f
|
||||
|
||||
## Configure
|
||||
|
||||
You can customize TUI behavior through your opencode config file.
|
||||
You can customize TUI behavior through your OpenCode config file.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
---
|
||||
title: Zen
|
||||
description: Curated list of models provided by opencode.
|
||||
description: Curated list of models provided by OpenCode.
|
||||
---
|
||||
|
||||
import config from "../../../config.mjs"
|
||||
export const console = config.console
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
opencode zen is a list of tested and verified models provided by the opencode team.
|
||||
OpenCode Zen is a list of tested and verified models provided by the OpenCode team.
|
||||
|
||||
:::note
|
||||
opencode zen is currently in beta.
|
||||
OpenCode Zen is currently in beta.
|
||||
:::
|
||||
|
||||
Zen works like any other provider in opencode. You login to opencode zen and get
|
||||
Zen works like any other provider in OpenCode. You login to OpenCode Zen and get
|
||||
your API key. It's **completely optional** and you don't need to use it to use
|
||||
opencode.
|
||||
OpenCode.
|
||||
|
||||
---
|
||||
|
||||
@@ -26,7 +26,7 @@ these models work well as coding agents. Additionally, most providers are
|
||||
configured very differently; so you get very different performance and quality.
|
||||
|
||||
:::tip
|
||||
We tested a select group of models and providers that work well with opencode.
|
||||
We tested a select group of models and providers that work well with OpenCode.
|
||||
:::
|
||||
|
||||
So if you are using a model through something like OpenRouter, you can never be
|
||||
@@ -41,15 +41,15 @@ To fix this, we did a couple of things:
|
||||
3. Finally, we benchmarked the combination of the model/provider and came up
|
||||
with a list that we feel good recommending.
|
||||
|
||||
opencode zen is an AI gateway that gives you access to these models.
|
||||
OpenCode Zen is an AI gateway that gives you access to these models.
|
||||
|
||||
---
|
||||
|
||||
## How it works
|
||||
|
||||
opencode zen works like any other provider in opencode.
|
||||
OpenCode Zen works like any other provider in OpenCode.
|
||||
|
||||
1. You sign in to **<a href={console}>opencode zen</a>**, add your billing
|
||||
1. You sign in to **<a href={console}>OpenCode Zen</a>**, add your billing
|
||||
details, and copy your API key.
|
||||
2. You run `opencode auth login`, select opencode, and paste your API key.
|
||||
3. Run `/models` in the TUI to see the list of models we recommend.
|
||||
@@ -95,13 +95,13 @@ We support a pay-as-you-go model. Below are the prices **per 1M tokens**.
|
||||
| GPT 5 Codex | $1.25 | $10.00 | $0.125 | - |
|
||||
|
||||
:::note
|
||||
Credit card fees are passed along at cost; we don’t charge anything beyond that.
|
||||
Credit card fees are passed along at cost; we don't charge anything beyond that.
|
||||
:::
|
||||
|
||||
The free models:
|
||||
|
||||
- Grok Code Fast 1 is currently free on opencode for a limited time. The xAI team is using this time to collect feedback and improve Grok Code.
|
||||
- Code Supernova is a stealth model that's free on opencode for a limited time. The team is using this time to collect feedback and improve the model.
|
||||
- Grok Code Fast 1 is currently free on OpenCode for a limited time. The xAI team is using this time to collect feedback and improve Grok Code.
|
||||
- Code Supernova is a stealth model that's free on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.
|
||||
|
||||
:::tip
|
||||
Subscription plans and a free tier are coming soon.
|
||||
@@ -125,9 +125,9 @@ All our models are hosted in the US. Our providers follow a zero-retention polic
|
||||
|
||||
## Goals
|
||||
|
||||
We created opencode zen to:
|
||||
We created OpenCode Zen to:
|
||||
|
||||
1. **Benchmark** the best models/providers for coding agents.
|
||||
2. Have access to the **highest quality** options and not downgrade performance or route to cheaper providers.
|
||||
3. Pass along any **price drops** by selling at cost; so the only markup is to cover our processing fees.
|
||||
4. Have **no lock-in** by allowing you to use it with any other coding agent. And always let you use any other provider with opencode as well.
|
||||
4. Have **no lock-in** by allowing you to use it with any other coding agent. And always let you use any other provider with OpenCode as well.
|
||||
|
||||
Reference in New Issue
Block a user