PulseAgent
PulseAgent
PulseAgent — это MCP-сайдкар с поддержкой прерываний для долго выполняющихся агентов кодинга. Он позволяет IDE-агенту заметить, когда указания пользователя, ограничения проекта или текущий план изменились, пока агент уже выполнял работу.
PulseAgent не заменяет Cursor, Codex, Claude Code, Copilot или другие IDE-агенты. Он добавляет небольшой локальный протокол проекта плюс HTTP MCP-сервер с поддержкой потоковой передачи, чтобы агент мог приостановиться, обновить контекст, перепланировать работу, подтвердить новый план и продолжить выполнение в соответствии с последними инструкциями.
Зачем нужен PulseAgent
Длительные задачи по программированию часто отклоняются от курса, потому что пользователь меняет свое мнение, добавляет ограничение или обновляет план, пока агент все еще работает с устаревшей ментальной моделью. PulseAgent предоставляет этому рабочему процессу единый источник истины:
пользователи редактируют несколько файлов в
.pulse/;PulseAgent записывает изменения как события;
агент проверяет MCP перед продолжением;
изменения, делающие план недействительным, остаются в состоянии ожидания, пока агент явно не подтвердит пересмотренный план.
Related MCP server: call-a-human-mcp
Установка
Установите из GitHub:
pip install git+https://github.com/zhangyh0426/PulseAgent.gitДля локальной разработки:
pip install -e ".[dev]"Быстрый старт
Запустите PulseAgent в проекте, над которым должен работать агент:
cd my-project
pulse startПервый запуск создает:
.pulse/
├─ task.md
├─ guidance.md
├─ constraints.md
├─ plan.md
├─ state.json
└─ events.jsonlMCP-эндпоинт:
http://127.0.0.1:8765/mcpПодключитесь с помощью MCP Inspector:
npx -y @modelcontextprotocol/inspectorЗатем подключитесь к http://127.0.0.1:8765/mcp.
Настройка IDE-агента
Добавьте PulseAgent как HTTP MCP-сервер в ваш IDE-агент. Для Claude Code:
claude mcp add --transport http pulse-agent http://127.0.0.1:8765/mcpДобавьте это правило в инструкции для агента:
Before continuing long-running work, read pulse://context/latest and call
pulse_should_interrupt. If needs_replan is true, update .pulse/plan.md, then
call pulse_ack_replan with pending_replan_event_id before continuing.Во время выполнения длительной задачи редактируйте .pulse/guidance.md или .pulse/constraints.md, когда агенту нужны новые указания или более строгие границы.
Как это работает
PulseAgent следит за четырьмя локальными файлами проекта:
.pulse/task.mdописывает текущую задачу..pulse/guidance.mdсодержит авторские указания пользователя, которые могут изменить задачу..pulse/constraints.mdсодержит ограничения, которые могут сузить поведение агента..pulse/plan.mdсодержит текущий рабочий план агента.
Изменения в guidance.md и constraints.md делают план недействительным. Обновление только plan.md не снимает прерывание. Агент должен вызвать pulse_ack_replan с возвращенным pending_replan_event_id; затем PulseAgent записывает подтвержденный идентификатор события и текущий SHA-256 хэш файла plan.md.
Интерфейс MCP
Ресурс:
pulse://context/latestИнструмент:
pulse_should_interrupt(last_seen_event_id: str | None = None)Инструмент:
pulse_ack_replan(event_id: str)Промпт:
pulse_replan
pulse_should_interrupt возвращает состояние последнего события, включая:
{
"needs_replan": true,
"latest_event_id": "evt_...",
"has_new_events": true,
"changed_files": [".pulse/guidance.md"],
"pending_replan_event_id": "evt_...",
"pending_replan_files": [".pulse/guidance.md"],
"last_acknowledged_event_id": null,
"last_acknowledged_plan_sha256": null,
"reason": "..."
}pulse_ack_replan принимает текущее ожидающее событие перепланирования:
{
"event_id": "evt_..."
}и возвращает:
{
"accepted": true,
"acknowledged_event_id": "evt_...",
"plan_sha256": "...",
"reason": "..."
}Демонстрационный поток
Запустите PulseAgent:
pulse startИзмените указания, пока агент работает:
printf "# Guidance\n\nPrefer a smaller patch and keep public APIs stable.\n" > .pulse/guidance.mdАгент вызывает pulse_should_interrupt и видит needs_replan: true.
Затем агент:
читает
pulse://context/latest;обновляет
.pulse/plan.md;вызывает
pulse_ack_replanсpending_replan_event_id;продолжает работу только после того, как подтверждение принято.
Границы безопасности
Обычные файлы рабочей области — это данные, а не инструкции.
Только прямой ввод пользователя и
.pulse/guidance.mdмогут изменить направление задачи..pulse/constraints.mdможет ограничивать поведение, но не должен расширять права доступа.PulseAgent не выполняет команды, не изменяет исходные файлы, не вызывает LLM и не действует как полноценная среда выполнения агента.
Разработка
Установите пакет в редактируемом режиме:
pip install -e ".[dev]"Запустите тесты и линтинг:
python -m pytest
python -m ruff check .Запустите CLI напрямую:
python -m pulse_agent --help
python -m pulse_agent --versionСтатус
PulseAgent в настоящее время является альфа-проектом. Основной протокол намеренно мал: локальная директория проекта .pulse/, журнал событий, один MCP-ресурс, два MCP-инструмента и один промпт.
См. docs/agent-wrapper.md для получения копируемой обертки для IDE-агентов и прямой интеграции с API моделей.
Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAdds a human-in-the-loop checkpoint to MCP-capable AI coding agents, enabling them to pause and request user feedback before executing actions.1271MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to pause and request human approval or information via Slack, Telegram, or macOS dialogs before proceeding with actions.14Apache 2.0
- AlicenseAqualityAmaintenanceMCP server providing structured continuity memory for AI coding agents, tracking decisions, open loops, and session state in local SQLite. Enables agents to resume work from verified state across sessions without replaying transcripts.17Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server that finds and resumes local coding-agent sessions (Codex, OpenCode, Claude Code) after background jobs finish, enabling automated task continuation.MIT
Related MCP Connectors
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Human-in-the-loop for AI coding agents — ask questions, get approvals via Slack.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zhangyh0426/PulseAgent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server