Сравнительный анализ: Qwen Code vs OpenCode — Блог
$ cat .md

Сравнительный анализ: Qwen Code vs OpenCode

Дата анализа: 10 апреля 2026 г.

Обзор проектов

Аспект Qwen Code OpenCode
Язык TypeScript (Node.js) TypeScript (Bun)
Пакетный менеджер npm workspaces Bun workspaces + turbo
Репозиторий Монорепозиторий, 11+ пакетов Монорепозиторий, 19 пакетов
Версия Не указана явно 1.3.3
TUI фреймворк Ink (React для терминала) OpenTUI (кастомный, SolidJS-based)
Web UI React + Tailwind SolidJS + Tailwind
Desktop App Нет Да (Tauri + Electron)

[!INFO] OpenCode имеет гораздо более широкую платформу: TUI, Web UI, Desktop App, Admin Console.


Архитектурные подходы

1. Фреймворк эффектов и Dependency Injection

OpenCode использует библиотеку Effect.ts — полноценная Effect System с ServiceMap, Layer и ManagedRuntime.

// OpenCode: Effect-based сервис
export class Service extends ServiceMap.Service<Service, Interface>()("@opencode/ToolRegistry") {}
export const layer = Layer.effect(Service, Effect.gen(function* () { ... }))
const { runPromise } = makeRuntime(Service, layer)

export async function tools(model, agent) {
    return runPromise((svc) => svc.tools(model, agent))
}

Qwen Code делает всё через ручной DI и Config-фасад:

// Qwen Code: ручной DI
const config = new Config(...)
config.initialize()  // создаёт всё внутри
const toolRegistry = config.toolRegistry

[!WARNING] OpenCode имеет гораздо более строгую и тестируемую систему DI. Effect позволяет композить сервисы, тестировать в изоляции, и управлять ресурсами через Scope.

2. LLM-провайдеры

Qwen Code OpenCode
SDK Своя абстракция ContentGenerator Vercel AI SDK v5 (ai)
Провайдеры Gemini, OpenAI, Anthropic, Qwen 20+ провайдеров через ai-sdk
Кастомные лоадеры Нет Да — CUSTOM_LOADERS
OAuth Своя реализация Через ai-sdk + кастом

OpenCode использует Vercel AI SDK — индустриальный стандарт с 20+ провайдерами из коробки.

// OpenCode: Vercel AI SDK
import { streamText, tool } from "ai"
import { createAnthropic } from "@ai-sdk/anthropic"
import { createOpenAI } from "@ai-sdk/openai"
// 20+ провайдеров из коробки

Qwen Code пишет свою абстракцию ContentGenerator — больше работы, меньше фич.


Агентная система

Qwen Code OpenCode
Агенты SubagentManager + builtin-agents Agent namespace с Effect
Встроенные general, explore build, plan, general, explore, compaction…
Конфигурация JSON + code Markdown-файлы (.opencode/agents/*.md)

OpenCode определяет агентов через Markdown-файлы с frontmatter — элегантно и читаемо:

---
name: explore
mode: subagent
description: Fast agent for exploring codebases
---

Fast agent specialized for exploring codebases...

Итоговая оценка

Критерий Qwen Code OpenCode
Модульность ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
Гибкость LLM ⭐⭐⭐ ⭐⭐⭐⭐⭐
Расширяемость ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
Тестируемость ⭐⭐⭐ ⭐⭐⭐⭐⭐
Windows поддержка ⭐⭐⭐⭐⭐ ⭐⭐⭐
Каналы ⭐⭐⭐⭐⭐ ⭐⭐
Hook система ⭐⭐⭐⭐⭐ ⭐⭐⭐

Заключение

Оба проекта представляют зрелые AI-ассистенты, но с разными философиями:

  • Qwen Code — прагматичный подход с акцентом на корпоративные каналы, hook-систему и ACP-протокол
  • OpenCode — современный подход с Effect.ts, Vercel AI SDK и широкой платформой (TUI + Web + Desktop)