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

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

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

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

АспектQwen CodeOpenCode
ЯзыкTypeScript (Node.js)TypeScript (Bun)
Пакетный менеджерnpm workspacesBun workspaces + turbo
РепозиторийМонорепозиторий, 11+ пакетовМонорепозиторий, 19 пакетов
ВерсияНе указана явно1.3.3
TUI фреймворкInk (React для терминала)OpenTUI (кастомный, SolidJS-based)
Web UIReact + TailwindSolidJS + 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 CodeOpenCode
SDKСвоя абстракция ContentGeneratorVercel AI SDK v5 (ai)
ПровайдерыGemini, OpenAI, Anthropic, Qwen20+ провайдеров через 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 CodeOpenCode
АгентыSubagentManager + builtin-agentsAgent namespace с Effect
Встроенныеgeneral, explorebuild, plan, general, explore, compaction…
КонфигурацияJSON + codeMarkdown-файлы (.opencode/agents/*.md)

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

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

Fast agent specialized for exploring codebases...

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

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

Заключение

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

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