Skip to main content
Glama

dum-e

Назван в честь неуклюжей роботизированной руки Тони Старка. Персональный однопользовательский AI-менеджер задач, которым AI-агенты (Claude, Codex, opencode, любая LLM) управляют через заданный жизненный цикл, а вы выступаете в роли шлюза утверждения.

Три поверхности, одно общее ядро: мощный CLI, REST API с живыми обновлениями и MCP-сервер, к которому может подключиться любой агент.

Идея

Когда вы поручаете работу AI-агенту, он сначала создаёт задачу здесь. Агент берёт задачу с наивысшим приоритетом из очереди, анализирует её, выполняет, проводит тестирование на уровне AI, затем передаёт её на ручное тестирование. Там она ждёт вашего одобрения или отклонения. Отклонённые задачи возвращаются с комментариями высокого приоритета, которые агент должен учесть; одобренные задачи переходят к развёртыванию (проверка PR и слияние), затем завершаются. Цикл повторяется, пока вы не одобрите. Не зависит от инструментов и LLM.

              agent auto-advances                    human gate
   ┌──────┐   ┌─────────────┐   ┌────────────┐   ┌────────────────┐   ┌────────────┐   ┌───────────┐
   │ todo │ → │ in_progress │ → │ ai_testing │ → │ manual_testing │ → │ deployment │ → │ completed │
   └──────┘   └─────────────┘   └────────────┘   └────────────────┘   └────────────┘   └───────────┘
                    ↑                                    │                   │
                    └────────────── reject ──────────────┴───────────────────┘
                      (priority bumped, flagged for the agent to fix first)

Каждый переход требует комментария, записываемого в историю, доступную только для добавления.

Related MCP server: delega-mcp

Установка

Требуется Node.js 22+ и pnpm 9+.

git clone <repo> dum-e && cd dum-e
pnpm install
pnpm build

Затем поместите dum-e в ваш PATH. Рекомендуемый способ — небольшой лаунчер, который привязывает Node, для которого была собрана нативная зависимость (better-sqlite3), чтобы CLI работал независимо от того, какой node первый в вашем PATH (обычная символьная ссылка на dist/index.js сломается, если ваш node по умолчанию отличается от того, с которым вы собирали):

mkdir -p ~/.local/bin
cat > ~/.local/bin/dum-e <<EOF
#!/bin/sh
exec "$(command -v node)" "$PWD/packages/cli/dist/index.js" "\$@"
EOF
chmod +x ~/.local/bin/dum-e

Убедитесь, что ~/.local/bin есть в вашем PATH. Альтернативно, если вы выполнили pnpm setup (так что у pnpm есть глобальный каталог bin): pnpm --filter @dum-e/cli link --global.

Если позже вы пересоберёте с другой версией Node (например, после pnpm install под новым node), перегенерируйте лаунчер, чтобы он указывал на соответствующий интерпретатор.

Проверка:

dum-e --version
dum-e --help

Быстрый старт

dum-e init                                   # create ~/.config/dum-e/{config.yaml,db}
dum-e project add "Web App" -k WEB           # a project
dum-e task add "Fix login" --type bug --priority high
dum-e task next -m "starting"                # claim the highest-priority queued task
dum-e task move <id> ai_testing -m "unit tests green"
dum-e task move <id> manual_testing -m "verified locally"   # now waits for you
dum-e task ls --status manual_testing        # what awaits your review
dum-e serve --open                           # REST API + web UI, opens the browser

Интерфейсы

  • CLI (dum-e ...): полный жизненный цикл задач и проектов из терминала. Добавьте --json к любой команде для вывода, пригодного для скриптов. См. docs/CLI.md.

  • REST + web (dum-e serve): Hono API с Server-Sent Events для живых обновлений, обслуживающий React веб-интерфейс (канбан-доска, табличное представление, метрики, панель деталей). См. docs/REST-API.md.

  • MCP (dum-e mcp): сервер Model Context Protocol на stdio, предоставляющий инструменты задач любому агенту. См. docs/AGENTS.md. Обучите агента использовать dum-e, передав ему skills/dum-e/SKILL.md.

Все три открывают одну и ту же локальную базу данных SQLite напрямую (режим WAL: параллельные читатели, сериализованные записи), поэтому ни одному из них не нужно, чтобы другие были запущены.

Архитектура

Модульный монолит, pnpm workspaces. Каждая поверхность — тонкий адаптер над @dum-e/core.

Пакет

Ответственность

@dum-e/core

Доменные типы, хранилище (SQLite + FTS5), конфигурация, конечный автомат, сервисы, шина событий

@dum-e/server

Hono REST API + SSE; обслуживает веб-сборку

@dum-e/mcp

MCP-сервер (stdio): инструменты задач для любого агента

@dum-e/cli

CLI на commander

@dum-e/web

Vite + React: канбан-доска, табличное представление, графики, панель деталей

Состояние выполнения хранится в ~/.config/dum-e/ (config.yaml, db, attachments/), автоматически создаётся при первом запуске. Переопределите расположение с помощью $DUM_E_HOME. Подробности в docs/ARCHITECTURE.md.

Конфигурация

~/.config/dum-e/config.yaml содержит список агентов, список моделей, значения по умолчанию и хост/порт сервера. Показать или найти:

dum-e config show      # effective config (YAML, or JSON with --json)
dum-e config path      # path to the file

Разработка

pnpm build        # build every package (tsup for libs, Vite for web)
pnpm test         # Vitest (state machine + services)
pnpm typecheck    # tsc --noEmit across the workspace
pnpm lint         # oxlint

После редактирования CLI пересоберите его: pnpm --filter @dum-e/cli build. Глобальная символьная ссылка dum-e указывает на вывод сборки, поэтому изменения подхватываются автоматически.

Лицензия

MIT

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers