Самое главное за одну минуту
DeepSeek Harness, или dsh - открытый agent harness от DeepSeek AI. Он отвечает не за интеллект самой модели, а за всё, что позволяет этому интеллекту действовать:
- понимать рабочее окружение;
- читать и изменять файлы;
- запускать команды;
- пользоваться Web и внешними сервисами;
- вызывать дочерних агентов;
- хранить и восстанавливать сессии;
- соблюдать permissions;
- показывать пользователю ход работы;
- продолжать многошаговую задачу до результата.
Главный принцип проекта:
Everything is a plugin.
В DeepSeek Harness плагинами являются модели, tools, skills, sessions, persistence, sandbox, agent loop, scheduling и Web UI. Это не рекламное преувеличение, а устройство репозитория и runtime.
Вторая фундаментальная идея:
Every run is traceable.
Всё, что видит модель, записывается в append-only session log. Поэтому запрос можно исследовать, сессию - продолжить или разветвить, а весь запуск - воспроизвести и показать в Trajectory.
На момент подготовки статьи DeepSeek Harness имеет версию 0.1.0-rc.5 и статус developer preview. Авторы предупреждают о будущих breaking changes. Это ещё не окончательно стабилизированный массовый продукт, но уже очень серьёзная демонстрация того, как DeepSeek видит будущее агентных систем.
Почему проект называется DeepSeek Harness
Название здесь важно, потому что оно точно объясняет назначение продукта.
DeepSeek
Первая часть указывает на происхождение: Harness разработан DeepSeek AI и из коробки имеет официальный маршрут к моделям DeepSeek. В стандартной конфигурации присутствуют native DeepSeek adapter, выбор модели, reasoning effort и credential flow.
Но название не означает жёсткую привязку только к моделям DeepSeek. Harness содержит общий LLM seam и multi-provider adapter. Через настройки можно подключать другие catalog providers, корпоративные gateways, self-hosted endpoints и OpenAI-compatible APIs.
Иными словами:
DeepSeek создала Harness, но архитектура Harness не ограничивает разработчика одной моделью.
Это важно. Перед нами не интерфейс для одной API-кнопки, а инфраструктура, в которой model provider — один из заменяемых компонентов.
Harness
Слово harness буквально связано с упряжью, оснасткой или системой, которая позволяет направить силу и использовать её для работы. В программной инженерии этим словом называют инфраструктуру вокруг исполняемого компонента: test harness запускает и наблюдает тестируемый код, а agent harness окружает модель инструментами, состоянием, правилами и циклом выполнения.
На официальном лендинге эта мысль сформулирована предельно ясно:
Agent = Model + Harness
Модель - источник рассуждения и генерации. Harness делает из неё работающего агента.
Без harness модель может ответить текстом. С harness она может:
- увидеть задачу и рабочий каталог;
- найти нужные файлы;
- прочитать инструкции проекта;
- построить план;
- вызвать tools;
- проверить результат;
- попросить подтверждение опасной операции;
- сохранить ход работы;
- продолжить после перезапуска;
- делегировать независимые части другим агентам.
Именно поэтому название DeepSeek Harness точнее, чем DeepSeek Coder UI или DeepSeek Agent IDE. Это не один конкретный агент. Это система для сборки агентов.

Зачем вообще нужен отдельный harness
В эпоху сильных моделей легко предположить, что достаточно дать LLM доступ к shell и получить агента. На практике большая часть качества определяется не только весами модели.
Рассмотрим простой запрос: «переименуй публичный метод во всём проекте».
Слабый harness может:
- найти совпадения обычным поиском;
- заменить строки;
- случайно затронуть одноимённые локальные переменные;
- пропустить re-export;
- не проверить diagnostics;
- завершить задачу после первого правдоподобного diff.
Сильный harness способен:
- обратиться к language server;
- найти semantic references;
- применить workspace rename;
- обновить imports и re-exports;
- запустить diagnostics;
- выполнить tests;
- сохранить весь ход операции в session history.
Модель в обоих случаях может быть одной и той же. Разница возникает в окружающей системе.
Harness определяет:
- какие возможности знает модель;
- в каком формате она их вызывает;
- сколько контекста тратится на schemas;
- как обрабатываются ошибки;
- какие операции выполняются параллельно;
- когда нужно подтверждение пользователя;
- как продолжается незавершённый turn;
- как восстанавливается state;
- что пользователь видит в интерфейсе.
Поэтому DeepSeek опубликовала не только очередную модель, а инфраструктуру вокруг моделей. Это логичный следующий уровень конкуренции в AI-разработке.
Главная идея: Everything is a plugin
Большинство расширяемых приложений имеют ядро и плагины вокруг него. Можно добавить команду или интеграцию, но внутренний loop, persistence и UI остаются привилегированными частями продукта.
DeepSeek Harness идёт дальше. Он построен на Cordis - plugin framework, где плагины предоставляют services, подписываются на typed events и регистрируют обратимые effects в общем context.
В DSH как плагины подключаются:
- LLM adapters;
- tool registry и model-facing tools;
- system prompt sections;
- agent registry;
- agent loop;
- session store;
- JSONL или SQLite persistence;
- compaction;
- filesystem providers;
- subprocess и persistent terminal;
- sandbox backends;
- approvals и permission presets;
- skills;
- plans и goals;
- jobs и workflows;
- subagent providers;
- Web search;
- Web server;
- клиентские React-модули;
- Trajectory и другие части интерфейса.
Это означает, что новая функция не обязана превращаться в условие внутри огромного central loop. Она может подключиться к документированному service или event seam.
Services, providers и consumers
DSH использует понятие capability seam. Полная capability обычно состоит из трёх ролей:
- Service Definition - интерфейс возможности;
- Service Provider - конкретная реализация;
- Consumer - компонент, который использует возможность, например model-facing tool.
Возьмём filesystem:
- service определяет операции над файлами;
- local provider работает с диском текущей машины;
- другой provider может работать с E2B или удалённой средой;
- tools
read,writeиeditостаются consumers того же интерфейса.
Похожим образом устроены subprocess, storage, LSP, Web и subagents.
Это архитектурно сильная идея: чтобы перенести исполнение в другую среду, не обязательно копировать все tools. Достаточно заменить provider за общим seam.
Обратимые effects
Cordis владеет lifecycle регистраций. Если plugin добавил:
- tool;
- event listener;
- timer;
- service;
- UI contribution,
то выгрузка plugin должна снять эти effects.
Для обычного пользователя это означает hot reload и чистое переключение композиции. Для разработчика платформы — возможность безопаснее экспериментировать с runtime. Для Creator mode - возможность определить временный plugin, проверить его и удалить без остаточных listeners и UI-элементов.
Именно здесь слоган «всё является плагином» становится действительно интересным: важна не только установка, но и владение полным lifecycle.
Как из плагинов собирается работающий DSH
Запуск DSH - это композиция упорядоченных слоёв.
Profiles
Profile - именованная конфигурация приложения. Он хранится в Harness home и определяет, какие bundles входят в запуск.
В поставке есть как минимум два product-level пути:
web- Web UI и сервер;headless- одна задача без browser application.
Bundles
Bundle - распространяемый слой Cordis-конфигурации и packages, которые этот слой монтирует.
Базовый bundle dsh-base включает фундаментальные возможности:
- model adapters;
- sessions и persistence;
- credentials и settings;
- filesystem и shell infrastructure;
- sandbox и approvals;
- tools;
- telemetry policy.
dsh-web-app добавляет browser application, а dsh-headless - one-shot runner.
Patches
Композиция строится поверх пустого дерева в следующем порядке:
- bundles profile;
cordis.patch.ymlprofile;- home-level patch;
- CLI
--patchoverlays.
Поздний слой может заменить строку конфигурации по её id или добавить новую.
Фактическое дерево можно исследовать командой:
dsh --profile web --dump-config
Это одна из причин, почему DSH удобен как платформа. Runtime не скрыт в нескольких тысячах строк imperative boot code - его состав можно увидеть как композицию.
Agent presets
Profile определяет приложение целиком, а agent preset определяет состав конкретного типа агента.
Поставляемые presets включают:
- Standard;
- Code/PTC;
- Minimal;
- Creator.
Пользователь может создать собственный preset: reviewer, research agent, migration agent, incident investigator или специализированного агента для внутреннего framework.

Вторая большая идея: Every run is traceable
Plugin architecture объясняет, как DSH расширяется. Session architecture объясняет, как ему можно доверять и как его отлаживать.
В документации сформулирован инвариант:
Model-visible means logged.
Всё, что попадает в запрос модели, должно быть восстановимо из session log.
Append-only event log
Session — это append-only поток typed SessionEvent.
В него входят:
turn/startиturn/end;step/startиstep/end;- user messages;
- context injections;
- request headers;
- assistant stream chunks;
- assembled assistant messages;
- tool calls;
- tool results;
- todo snapshots;
- compaction events;
- permission changes;
- subagent lifecycle;
- другие события, добавленные plugins.
Модельная история выводится из журнала, а не хранится параллельно в отдельном массиве. Это снижает риск расхождения между тем, что было показано модели, тем, что видит UI, и тем, что можно восстановить после перезапуска.
Turn и step
DSH разделяет два понятия:
- step — один запрос к модели и вызванные им tools;
- turn — один или несколько steps до момента, когда больше ничего не требуется продолжить.
Упрощённый flow:
turn/start
→ claim input
→ assemble prompt and tool schemas
→ step/start
→ model request
→ assistant stream
→ tool calls
→ tool results
→ step/end
→ optional next step
turn/end
Такой журнал удобен для длинных задач, где один пользовательский prompt запускает несколько model/tool циклов.
Crash recovery
Persistence backend сохраняет события порциями. Если процесс упал внутри turn, DSH не обязан выбрасывать всю работу. При восстановлении незакрытый turn может быть завершён синтетическим interrupted-событием, сохранив уже записанные шаги.
Fork, resume и replay
Поскольку состояние основано на одном event stream, над ним естественно строятся:
- resume;
- fork;
- replay;
- export;
- full-text и semantic session query;
- projections для UI;
- telemetry;
- статистика.
Trajectory
Trajectory - одна из самых наглядных функций Web UI. Она показывает запуск не как простой чат, а как временную шкалу:
- пользовательский input;
- model steps;
- tools;
- длительность;
- состав context window;
- payload;
- result;
- schema;
- timing.
Можно увидеть, сколько контекста заняли system prompt, tools и messages, какой вызов оказался медленным и что именно вернул инструмент.
Это делает DSH особенно интересным для:
- разработчиков agent frameworks;
- исследователей поведения моделей;
- команд, оптимизирующих prompts и tool schemas;
- debugging многошаговых задач;
- анализа неудачных запусков.

Что происходит внутри одного запроса
Сильная сторона DSH — большое количество точек расширения без необходимости импортировать agent loop напрямую.
Prompt assembly
Перед model request система собирает:
- persona;
- repository instructions;
- текущий runtime context;
- skills catalog;
- injected messages;
- tool schemas.
Plugins могут регистрировать собственные prompt sections и model-facing tools в scoped context конкретного агента.
Waterfall events
Некоторые critical events работают как middleware waterfall. Listener должен вызвать next(), если хочет передать управление дальше. Это позволяет:
- переписать request;
- отклонить step;
- перехватить tool execution;
- добавить policy;
- наблюдать outcome.
Tool pipeline
Tool call проходит через guarded execution pipeline:
tool/call
→ tools/pre-execute
→ approval and policy
→ tools/execute
→ tools/post-execute
→ tool/result
Tool registry отвечает не только за список функций. Он связывает schemas, execution, policy, result presentation и session log.
Context injection
Plugin может передать агенту новый context через agent.inject(). Такая информация ждёт следующего допустимого model request и, в соответствии с инвариантом, записывается в log.
Это позволяет добавлять:
- file-change notices;
- инструкции вложенной директории;
- skill content;
- reminders;
- результаты background activity.
Четыре режима, показывающие разные возможности платформы
Standard mode
Standard - обычный полнофункциональный coding agent. В его композицию входят:
- bash или PowerShell в зависимости от платформы;
- filesystem tools;
globиgrep;- background jobs;
- skills;
- goals;
- plan mode;
- compaction;
- subagents;
- workflows;
- user questions;
- todo;
- Web tool.
Важно: Standard - не жёстко закодированный класс агента. Это читаемая agent.cordis.yml композиция.
Code/PTC mode
Code Mode предоставляет tools внутри model-written TypeScript program. Вместо множества отдельных tool calls модель может написать одну программу с:
await;- ветвлениями;
- циклами;
- параллельными вызовами;
- промежуточной агрегацией.
Каждый run исполняется в новом Node worker thread. Worker имеет budgets по busy time, wall time, heap и output. Environment пустой, чтобы не передавать model code ambient credentials.
Однако документация честно указывает trust posture: это containment, не security boundary. Code Mode имеет доверие уровня shell, а OS processes, запущенные программой, могут пережить termination worker.
Minimal mode
Minimal оставляет persistent shell и str_replace_editor. Это полезно:
- для benchmark моделей;
- для исследования влияния toolset;
- для минимального baseline;
- для сравнения complex orchestration с простой средой.
Creator mode
Creator — самая необычная часть DSH. Он предназначен для создания самого runtime:
- исследует существующие Cordis services;
- находит extension points;
- экспериментирует с plugins в памяти;
- создаёт новые packages и presets;
- выполняет mount validation;
- объясняет lifecycle и удаление результата.
Именно поэтому официальный ролик показывает не исправление типичного бага, а создание кита, Snake и Code Review Mode внутри работающего Web UI.
Creator mode: агент, способный расширять самого себя
Фраза «self-modifying agent» может звучать как маркетинговая магия, но здесь механизм достаточно конкретный.
Creator mode не переписывает бинарник и не меняет веса модели. Он использует архитектуру приложения:
- инспектирует runtime;
- находит зарегистрированные providers и client slots;
- читает точный API нужного extension point;
- определяет новый Cordis plugin;
- запускает его с approval;
- проверяет результат;
- при необходимости выгружает plugin.
Официальный ролик
В демо продолжительностью около 74 секунд показаны три кейса.
Плавающий кит
Пользователь просит добавить кита в интерфейс. Агент находит Client slot и монтирует UI plugin поверх работающего приложения.
Snake
Следующий plugin уже интерактивный: игровое окно Snake с состоянием, input и lifecycle.
Code Review Mode
Агент создаёт новый preset:
- копирует стандартную композицию;
- меняет persona;
- подключает review skill;
- проверяет mount;
- делает режим доступным в selector.
Важен общий flow:
inspect → understand contract → define → validate → mount → use → unload
Это демонстрирует не «умение модели нарисовать игру», а способность платформы предоставлять runtime собственные extension points как рабочий материал.
Практический эксперимент: evidence-review
На локальном DSH я создал собственного reviewer preset на базе Standard.
Он должен:
- искать подтверждённые проблемы;
- ранжировать их P0–P3;
- указывать path и lines;
- отделять факт от предположения;
- давать confidence;
- объяснять impact;
- не вносить изменения без прямой просьбы.
Отдельный skill может отправить независимые направления review subagents:
- correctness и edge cases;
- security;
- tests и API compatibility.
Затем основной reviewer повторно проверяет findings и удаляет дубликаты.
Это принципиально отличается от одноразовой фразы «будь code reviewer» в текущем чате. Новый preset становится повторно используемой композицией, появляется в selector и применяется к новым сессиям.
При этом нужно честно различать persona и enforcement. Инструкция «не меняй файлы» направляет модель, но не отбирает write-tools. Настоящий read-only режим требует tool restriction или permission policy.
Web UI - тоже часть plugin system
Очень многие agent frameworks расширяемы на backend, но имеют монолитный frontend. DSH пытается провести ту же композиционную модель через browser application.
Клиентские packages объявляют Web-модули. UI собирается из slots, stores и injections. Plugin может предоставить:
- новую панель;
- renderer;
- settings surface;
- conversation node;
- overlay;
- визуализацию tool result;
- inspector.
Это объясняет, почему демо с китом и Snake имеет смысл. Такие примеры невозможно убедительно показать, если frontend закрыт для runtime extensions.
Для разработчиков внутренних agent products это особенно интересно. Можно сделать:
- review dashboard;
- deployment inspector;
- database query result viewer;
- workflow monitor;
- custom approval form;
- domain-specific visualization;
- интерфейс лабораторного или инженерного агента.
И всё это может поставляться рядом с Host plugin, который предоставляет данные и capabilities.
Subagents и workflows
DSH рассматривает subagent не как один жёстко заданный способ «запусти ещё одну модель», а как capability с несколькими providers.
В репозитории представлены providers для:
- нового in-process child agent;
- fork с историей родителя;
- ACP;
- Codex;
- Claude Code;
- DSH SDK.
Providers могут различаться тем, наследует ли child историю, поддерживает ли output schema, tool filtering, persona и depth limits.
One-shot и continuable children
One-shot subagent выполняет задачу и возвращает результат. Continuable child имеет durable session и может получать последующие сообщения. Его можно восстановить холодным resume.
Durable lineage
Child session хранит parent relationship и delegation depth. Это важно для:
- ограничения рекурсии;
- восстановления дерева после перезапуска;
- UI-навигации;
- анализа затрат;
- корректной авторизации продолжения.
Workflows
Отдельная workflow capability позволяет запускать более детерминированную оркестрацию, чем свободный выбор subagents моделью. Background jobs дают tools для наблюдения и остановки длительной работы.
Эта комбинация позволяет DSH обслуживать не только интерактивный coding loop, но и долгие multi-agent процессы.
Sandbox, approvals и credentials
Agent platform должна не только уметь выполнять действия, но и объяснять, где проходят границы доверия.
Permission presets
Пользовательский permission selector объединяет два независимых решения:
- sandbox mode;
- approval policy.
Поставляемая конфигурация различает, например:
- read-only;
- workspace-write с подтверждением;
- danger-full-access без approval.
Конкретный набор зависит от composition.
Process sandbox
Local sandbox seam поддерживает platform-specific backends:
- Linux bwrap/Landlock;
- macOS Seatbelt;
- Windows ACL restricted token.
Важно понимать точную границу: стандартная policy регулирует файловые эффекты. Network и visibility процессов не входят в этот словарь. На Windows и старых Landlock ABI enforcement может быть partial.
Это не недостаток формулировки, а полезная честность. DSH различает full и partial, чтобы consumer не принимал неполную защиту за абсолютную.
Credentials
Настройки хранят не literal secrets, а credential references. Например:
llm-deepseek:
apiKeyEnv: DEEPSEEK_API_KEY
baseURL: https://api.deepseek.com
Сам ключ разрешается credential provider при запросе. В стандартном local provider порядок источников такой:
process environment
> managed $DSH_HOME/.credentials.yaml
> project .env
> user $DSH_HOME/.env
Web UI получает только redacted descriptor и не читает секрет обратно.
Здесь тоже есть важное ограничение: file permissions защищают ключ от других OS users, но tools агента работают от имени того же пользователя. Это discretion, а не абсолютная граница от собственного агента. Для такой угрозы нужен отдельный keychain или KMS provider.
Подобные оговорки делают документацию DSH ценной: она описывает не только возможности, но и реальные trust boundaries.
Persistence, storage и SDK
DSH не ограничивается локальным Web-приложением.
Persistence backends
Session persistence является seam. Поставляются JSONL и SQLite варианты. Metadata хранит:
- session id;
- cwd;
- parent session;
- seed boundary;
- delegation depth;
- agent preset.
Preset сохраняется потому, что он определяет tools и prompt конкретной сессии. Resume с другой композицией мог бы сделать старую историю невоспроизводимой.
Storage domains
Отдельная storage subsystem позволяет components работать через общие domains и backends вместо жёсткой зависимости от одного файла.
SDK и внешние клиенты
В проекте есть TypeScript SDK, Python SDK, JSON-RPC и ACP surfaces. Это позволяет использовать agent runtime:
- из Web UI;
- headless;
- из собственного приложения;
- через automation protocol;
- как часть более крупного сервиса.
Web server и client modules
Host предоставляет API и bundles для клиента. Это не случайный локальный dev server, а отдельная часть архитектуры с routes, gateway и generated remote descriptors.
Почему DeepSeek Harness действительно крут
Теперь можно сформулировать главное без маркетинговых общих слов.
1. Это не агент с плагинами, а агент из плагинов
Разница принципиальная. Плагин можно поставить рядом с loop, а не только внутрь заранее предусмотренного списка tools.
2. Один provider swap способен изменить весь execution world
Filesystem и subprocess consumers могут остаться прежними, а реализация переехать в remote environment. Это правильный уровень абстракции для cloud agents, containers и enterprise sandboxes.
3. Backend и Web UI расширяются одной product-моделью
Plugin способен дать системе capability и одновременно её визуальное представление. Это открывает путь к domain-specific agents, а не только к универсальному чату.
4. Session log является источником истины
Traceability не добавлена отдельным логгером после реализации. Она встроена в модель данных. Поэтому Trajectory, replay, resume, fork и telemetry опираются на одну основу.
5. Creator mode превращает документацию runtime в capability
Агент может не просто писать код продукта, но и исследовать собственные extension points, создавать новые modes и проверять их mount. Это практическая форма self-extension без переписывания core.
6. Архитектура подходит для экспериментов
Standard, Code, Minimal и Creator - это не четыре разных приложения. Это четыре композиции одной системы. Исследователь может менять tool surface и runtime policy контролируемо.
7. Проект открыт на правильном уровне
MIT-лицензия полезна не только потому, что можно посмотреть UI. Открыты:
- loop;
- persistence;
- schemas;
- providers;
- sandbox;
- presets;
- client plugin model;
- generated API docs;
- tests и архитектурные notes.
Можно исследовать не только продукт, но и решения, из которых он собран.
8. DeepSeek не делает вид, что одна модель решает всё
Сам факт выпуска Harness показывает важный сдвиг: конкурентоспособность агента определяется моделью и системой вокруг неё. DeepSeek инвестирует не только в weights, но и в инфраструктуру применения этих weights.
Где здесь OMP
OMP полезен как точка сравнения, но не должен быть главным героем статьи о DSH.
OMP - более зрелый terminal-first coding agent. Он делает ставку на готовую рабочую поверхность:
- hash-anchored edits;
- AST codemods;
- LSP;
- DAP debugger;
- browser и desktop automation;
- persistent Python и Bun kernels;
- subagents с worktree isolation и Agent Hub;
- большая provider infrastructure.
DSH делает ставку на рекомпозицию платформы:
- сменяемый loop;
- capability seams;
- profiles и presets;
- Host и Client plugins;
- traceable event log;
- Creator mode.
Коротко:
Если требуется | Более естественный выбор сегодня |
|---|---|
Готовый ежедневный coding agent | OMP |
Свой agent runtime или Web-продукт | DeepSeek Harness |
Глубокая terminal IDE-поверхность | OMP |
Рекомпозиция loop, storage, sandbox и UI | DeepSeek Harness |
Стабильный daily-driver прямо сейчас | OMP |
Исследование архитектуры agent platforms | DeepSeek Harness |
Это не окончательный рейтинг. DSH находится в developer preview и быстро развивается.
Что ещё не идеально
Восхищение архитектурой не должно скрывать ограничения.
Developer preview
Breaking changes ожидаются. Preset или plugin, созданный сегодня, может потребовать миграции после обновления.
Высокий порог входа
Cordis, services, events, realms, effects, Host plane, Client slots и capability seams требуют времени на изучение. Для простого пользовательского скрипта такая архитектура может быть избыточной.
Копии presets могут дрейфовать
User preset, созданный копированием Standard, является snapshot. Обновление shipped Standard не обязано автоматически обновить копию.
Code Mode доверенный
Worker - не security sandbox. Model-written program нужно рассматривать как shell-equivalent code.
Persona не равна policy
Review-agent с инструкцией «ничего не изменять» остаётся способным вызвать write-tool, если tool не удалён из composition.
Не все packages входят в стандартный пользовательский workflow
Наличие capability в monorepo не означает, что она уже смонтирована в Standard mode и отполирована на уровне отдельного mature coding product.
Web UI и API ещё будут меняться
Это естественно для проекта на стадии preview, но важно для тех, кто рассматривает DSH как основу production-системы прямо сейчас.
Кому стоит попробовать DeepSeek Harness
DSH особенно интересен, если вы:
- разрабатываете собственного coding agent;
- строите внутреннего enterprise-агента;
- хотите отдельный runtime для review, research или operations;
- исследуете multi-agent orchestration;
- хотите визуализировать domain-specific tool results;
- экспериментируете с prompts, tool schemas и compaction;
- хотите сравнивать модели в одинаковой или минимальной среде;
- нуждаетесь в replay и Trajectory;
- хотите заменить local execution удалённым provider;
- готовы работать с нестабильными API ради сильной архитектуры.
Для пользователя, которому нужен только ответ на вопрос «какой coding agent поставить сегодня», DSH может оказаться слишком ранним и сложным. Но для разработчика агентных платформ это один из самых интересных open-source релизов DeepSeek.
Что попробовать руками
1. Запустить Web UI
npx @deepseek-ai/dsh web
Или из исходников:
git clone https://github.com/deepseek-ai/deepseek-harness.gitcd deepseek-harnesspnpm installpnpm run buildpnpm dsh web
2. Посмотреть фактическую композицию
dsh --profile web --dump-config
3. Открыть Trajectory
Запустить задачу с несколькими tools и посмотреть:
- turns;
- steps;
- context usage;
- tool payload;
- result;
- timing.
4. Сравнить presets
Выполнить одну задачу в:
- Standard;
- Code/PTC;
- Minimal.
Сравнивать не только ответ, но и число steps, tools и context footprint.
5. Создать свой preset
В Creator mode попросить создать reviewer или research agent, провести mount validation и показать новый preset в selector.
6. Создать временный Web plugin
Хороший демонстрационный тест - автономная игра или визуализация, которая:
- монтируется через Client slot;
- имеет timer и input;
- корректно выгружается;
- после повторного mount не создаёт дубликаты.
Именно unload/remount лучше всего проверяет обещание reversible effects.
Итог
DeepSeek Harness крут не потому, что в нём можно запустить ещё один чат с DeepSeek. И не потому, что агент умеет нарисовать кита в интерфейсе.
Он крут потому, что DeepSeek открыла сам слой превращения модели в агента.
Проект показывает целостное видение:
- интеллект приходит от модели;
- действия приходят от tools и providers;
- автономность - от agent loop;
- долговременная работа - от sessions, persistence и compaction;
- безопасность - от explicit permissions, approvals и sandbox contracts;
- расширяемость - от Cordis plugins и reversible effects;
- наблюдаемость - от append-only event log и Trajectory;
- специализация - от agent presets;
- создание новых агентов - от Creator mode;
- пользовательский продукт - от расширяемого Web UI.
Поэтому название DeepSeek Harness выбрано очень точно. Это не конкретный агент, а оснастка, которая направляет возможности модели и превращает их в реальную работу.
Сегодня DSH ещё нельзя назвать окончательно зрелым универсальным daily-driver. Но как открытая архитектура agent platform он уже показывает направление, которое может оказаться важнее очередного небольшого прироста benchmark одной модели.
DeepSeek выпустила не ещё одного AI-агента. Она выпустила конструктор, из которого можно собирать следующих AI-агентов.
Источники
- DeepSeek Harness: официальный лендинг
- Официальный demo.mp4
- DeepSeek Harness repository
- Architecture
- Subsystem documentation
- Standard agent preset
- Plugin development tutorial
- OMP repository