OpenCode в консоли

Как TUI OpenCode Lite построен на Text.js и как запустить его локально.

OpenCode — агент с открытым исходным кодом для написания кода. OpenCode Lite — консольный клиент для него, созданный на Text.js.

Попробовать

  • На этом сайте: перейдите на страницу OpenCode и откройте DevTools.
  • Локально: bunx create-text-app my-app --template opencode.

На сайте работает песочница с агентом, который действует по сценарию. Введите любой промпт.

Устройство

ОбластьКомпоненты
Переписка<ScrollBox stickyScroll> + <Markdown>
Карточки инструментов<Code> и <Diff>
Промпт<Textarea>
Палитра<Modal> + <Select searchable>
app/session/[id]/page.tsxtsx
export default function SessionPage({ params }: PageProps<{ id: string }>) {  const { messages, send } = useSession(params.id);  return (    <Box className="flex-col grow">      <ScrollBox stickyScroll className="grow">        {messages.map((m) => <MessageView key={m.id} message={m} />)}      </ScrollBox>      <Textarea placeholder="Ask anything…" onSubmit={send} autoFocus />    </Box>  );}

Клавиши

КлавишаДействие
EnterОтправить
Shift+TabПереключить агента (build / plan)
Ctrl+PКоманды
Ctrl+X, затем LСессии
Ctrl+X, затем NНовая сессия
Esc дваждыПрервать текущую сессию

Подключить локальный сервер

# From any directory:opencode service status  # If stopped: opencode service startbunx @textjs/opencode@latest proxy

Оставьте мост запущенным. На странице OpenCode введите http://127.0.0.1:4096, нажмите Подключить и разрешите доступ к локальной сети, если Chrome запросит его. Затем введите код сопряжения, который вывел мост. Страница остаётся сопряжённой, пока мост не перезапустится или вы не нажмёте Отключить. Используйте URL моста, а не порт сервиса: мост передаёт учётные данные сервиса и заголовки CORS. Завершив работу, остановите его сочетанием Ctrl+C.

Если сервер уже работает на переднем плане на порту 4096, запустите bunx @textjs/opencode@latest proxy --port 4097 --target http://127.0.0.1:4096 и подключите страницу к порту 4097. Если сервер на переднем плане защищён паролем, экспортируйте его OPENCODE_PASSWORD в оболочке моста; не указывайте пароль в URL браузера.

Мост — это пакет @textjs/opencode. У него нет зависимостей, и он работает с npx на Node 22 или новее. В проекте Text.js команда text proxy запускает тот же мост.

Изменить эту страницу на GitHub