taskagent-claude
v0.3.0
Published
Glue between tupical/taskagent and oh-my-claudecode. Drives the taskagent pipeline (parse / decompose / plan / execute) with omc /team as the per-task executor.
Downloads
800
Maintainers
Readme
⚠️ Дисклеймер. Это 100% AI-Slop, используйте на свой страх и риск.
Одна команда в шелле прогоняет весь пайплайн tupical/taskagent — парсит задачу, опционально декомпозирует её AI в план, а затем выполняет каждую готовую таску параллельными /team-агентами oh-my-claudecode. Никаких форков апстрима, склейных промптов или копи-пейста между сессиями.
taskagent-claude — это тонкий плагин для Claude Code и npm-CLI, который связывает два уже существующих проекта:
- tupical/taskagent — владеет проектами / задачами / планами / AI-декомпозицией (MCP-управляемое хранилище воркфлоу).
- oh-my-claudecode — владеет исполнением задач, которое мы заменяем на
omc team: каждая задача выполняется параллельными специализированными агентами вместо одного последовательного прохода.
taskagent-claude не добавляет ничего своего. Детектит обе зависимости, подсказывает официальные команды установки если чего-то не хватает, и связывает их вместе.
Быстрый старт
На Windows — запускай из WSL.
omc teamопирается на Unix-овый tmux + bash. На Windows-native PowerShell + Git Bash tmux воркеры спавнятся, но их вывод смешивается с панелью leader'а, а сессия падает при выходе из tmux. Из WSL всё работает как задумано.
# 1. taskagent — собираем из исходников (Rust workspace)
git clone https://github.com/tupical/taskagent.git
cd taskagent
cargo build --release -p taskagent-server -p taskagent-cli
# 2. поднимаем HTTP-сервер (оставляем висеть)
./target/release/taskagent-server
# 3. регистрируем MCP stdio-шим в Claude Code
claude mcp add taskagent -- /abs/path/taskagent/target/release/taskagent-mcp
# 4. oh-my-claudecode (исполнитель через `omc team`)
npm i -g oh-my-claude-sisyphus@latest
omc setup
# включить нативные team в ~/.claude/settings.json:
# { "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
# 5. taskagent-claude (склейка + CLI)
npm i -g taskagent-claude
# 6. проверить
taskagent-claude doctor # должен напечатать READY
# 7. погнали
taskagent-claude start "переписать модуль аутентификации на OAuth2 с PKCE"Это весь воркфлоу. Внутри Claude Code эквивалентные slash-команды: /taskagent-claude:start <задача>, /taskagent-claude:doctor, /taskagent-claude:setup.
Требования. Node.js ≥ 20, Rust toolchain (для сборки taskagent), Claude Code на
PATH.
Зачем taskagent-claude
| | Без taskagent-claude | С taskagent-claude |
| ------------------------------------ | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Управление taskagent | Руками дёргаешь MCP-инструменты (workspace_info, create, …) | Один taskagent-claude start "<задача>" прогоняет весь пайплайн |
| Декомпозиция | Опционально, по флагу --plan | taskagent_ai_decompose + plan_create + plan_add_task одной командой |
| Шаг Execute | Один последовательный агент на задачу | Каждая задача — N параллельных агентов через omc team |
| Сетап | Три инсталла + ручная оркестрация | Один taskagent-claude start "<задача>" |
Как это работает
┌──────────────────────────────┐
│ taskagent-claude start <T> │ shell
└──────────────┬───────────────┘
│ spawn taskagent-mcp (stdio JSON-RPC)
▼
┌──────────────────────────────────────────────────┐
│ 1. parse → derive {title, description} │
│ 2. project → workspace_info / project_list │
│ 3. seed → taskagent_create(root task) │
│ 4. [--plan] → taskagent_ai_decompose │
│ + plan_create + plan_add_task │
│ 5. execute loop │
│ a. plan_next_task (or just the root) │
│ b. omc team N:claude "<title>\n<desc>" │
│ c. taskagent_comment(artifact) │
│ d. complete / retry up to --max-retries │
│ 6. report → plan_get progress + summaries │
└──────────────────────────────────────────────────┘taskagent-claude никогда не открывает вложенную сессию Claude Code на уровне оркестратора — единственные панели Claude Code это воркеры omc team.
Команды
| Шелл | Что делает |
| ------------------------------------------------- | --------------------------------------------------------------------- |
| taskagent-claude start "<задача>" | Полный пайплайн (parse → project → seed → [plan] → execute → отчёт) |
| taskagent-claude doctor | Детект обеих зависимостей + готовность MCP-инструментов и omc team |
| taskagent-claude setup | Подсказки по установке отсутствующего |
| taskagent-claude update | Самообновление + обновление omc; подсказка для taskagent |
| taskagent-claude platform | Печатает режим исполнения (omc-team или task-fallback) |
| taskagent-claude --version / --help | |
Внутри сессии Claude Code:
| Slash | Что делает |
| -------------------------------------- | --------------------------------------- |
| /taskagent-claude:start <задача> | То же, что taskagent-claude start |
| /taskagent-claude:doctor | То же, что taskagent-claude doctor |
| /taskagent-claude:setup | То же, что taskagent-claude setup |
Флаги start
| Флаг | Что делает |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| --workers N | Сколько параллельных агентов в каждом вызове omc team. Целое 1-20. По умолчанию 3. |
| --max-retries M | Сколько повторов после первой попытки на каждую задачу (всего попыток = M + 1). По умолчанию 2. |
| --agent claude\|codex\|gemini | Тип агента для воркеров omc team. По умолчанию claude. |
| --plan | AI-декомпозиция корневой задачи на подзадачи через taskagent_ai_decompose, дальше исполняем каждую. См. Заметку. |
| --project ID | Переопределяет авто-резолв проекта (workspace info / basename текущего каталога). |
| --yes / -y | Пропустить подтверждения y/n (подразумевается, когда stdin не TTY). |
Заметка
AI-декомпозиция (--plan) требует, чтобы OPENAI_API_KEY был выставлен на стороне taskagent-сервера. Без него taskagent_ai_decompose возвращает 502 ai_unavailable, а taskagent-claude молча откатывается к исполнению одной корневой задачи. Чтобы получить настоящую декомпозицию — экспортни ключ перед запуском сервера:
OPENAI_API_KEY=sk-... ./target/release/taskagent-serverОграничения
- Одна фиксированная роль:
--agentвыбирает одну роль для всех воркеров; микс ролей (1:planner + 2:executor + 1:verifier) — TODO. - Сбор артефактов из
omc teamопирается на текстовые summary, записанные комментариями в taskagent — пока не структурирован. - Нет
taskagent-claude cancel. Используй кейвордcancelomcили прерывай шелл. taskagent-claude doctorпроверяет только тот шелл, из которого запущен. На Windows-хосте запускай из WSL.- Повторы в plan-режиме сбрасывают статус задачи в
todoи пере-исполняют её — план при этом не мутирует (никакой re-decomposition при повторных провалах в v1).
Структура проекта
.
├── .claude-plugin/plugin.json # манифест плагина Claude Code
├── package.json # npm-пакет + бинарь `taskagent-claude`
├── bin/taskagent-claude.mjs # точка входа CLI
├── lib/
│ ├── detect.mjs # кросс-платформенная детекция зависимостей
│ ├── orchestrator.mjs # драйвер пайплайна taskagent
│ ├── mcp-client.mjs # stdio JSON-RPC клиент к taskagent-mcp
│ ├── omc-team-runner.mjs # спавнит `omc team` под каждую задачу
│ └── update.mjs # самообновление через npm registry
├── commands/ # /taskagent-claude:{start,doctor,setup}
└── skills/ # сами контракты
├── start/SKILL.md # parse → project → seed → [plan] → execute
├── doctor/SKILL.md # контракт готовности
└── setup/SKILL.md # контракт подсказок установкиОбновления
taskagent-claude update # taskagent-claude + omc
cd /path/to/taskagent && git pull \
&& cargo build --release -p taskagent-server -p taskagent-cli # taskagent
npm i -g oh-my-claude-sisyphus@latest # oh-my-claudecode (вручную)Контрибьют
Issues и PR приветствуются. Идея плагина в том, чтобы он оставался тонким, поэтому патчи, превращающие его в самостоятельную сущность (дополнительные шаги «рассуждения», захардкоженные эвристики, новые агенты) скорее всего будут отклонены. Патчи, делающие склейку надёжнее (детекция, понятные ошибки, кросс-платформенные фиксы) — очень welcome.
Релизы
Релизы автоматизированы через GitHub Actions. Чтобы выпустить новую версию:
npm run release:patch # 0.1.0 → 0.1.1
# либо release:minor / release:majorСкрипт бампает package.json, создаёт git-тег vX.Y.Z и пушит и то и другое. Workflow дальше:
- Проверяет совпадение тега и
package.json. - Публикует в npm с
--provenance(подписанная attestation). - Создаёт GitHub Release с auto-generated notes.
Аутентификация — npm Trusted Publishing (OIDC). Однократная настройка: на npmjs.com → пакет taskagent-claude → Settings → Trusted Publishers → добавить GitHub Actions с org=tupical, repo=taskagent-claude, workflow=publish.yml. Никаких секретов в GitHub.
Лицензия
MIT — см. LICENSE.
Проект не аффилирован с апстрим-проектами. Полный кредит — tupical/taskagent и Yeachan-Heo/oh-my-claudecode.
