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> |
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 запускает тот же мост.