# Agent Ecosystem Map: единая карта AI coding tools

> Agent Ecosystem Map, ранее Harness Control Plane: inventory конфигов, sessions, usage, remote agents и provider-owned copies для AI coding tools.
> Author: Roman Belov · Published: 2026-04-17 · Source: https://futurecraft.pro/ru/blog/harness-control-plane/

**Harness Control Plane переименован в Agent Ecosystem Map (AEM).** Старый URL
сохранён для внешних ссылок, но текущий package называется `agent-ecosystem-map`,
а короткая команда — `aem`.

Новое имя соответствует большему scope. Первая версия показывала skills, agents,
MCP servers и rules. Текущий repository также работает с coding-agent sessions,
live processes, provider usage, remote machines, registries и diagnostic exports.

## Какую проблему решает AEM

[Claude Code](/ru/blog/claude-code-complete-guide/), Codex, Gemini CLI, Cursor,
Windsurf, Copilot и Continue хранят instructions и agent state в разных путях и
форматах. При нескольких tools трудно ответить:

1. В каком tool находится нужный skill или rule?
2. Какая copy актуальна?
3. Где session и token usage вчерашнего агента?

AEM сканирует локальную конфигурацию и строит единый inventory. Он не создаёт
универсальный config standard, а показывает существующие files/sessions и даёт
контролируемый workflow копирования и редактирования.

## Что находит текущая версия

README описывает семь основных coding tools:

| Tool | Примеры найденного state |
|---|---|
| Claude Code | commands, agents, rules, projects, MCP config, `CLAUDE.md` |
| Codex CLI | skills, agents, sessions, auth metadata, `AGENTS.md` |
| Gemini CLI | skills, OAuth metadata, `GEMINI.md` |
| Cursor | rules, project transcripts, local state database |
| Windsurf | rules и legacy instructions |
| GitHub Copilot | credentials metadata и repository instructions |
| Continue | local configuration |

Upstream paths меняются. Источник истины — current README и scanner code, а не
таблица из старой статьи.

Map поддерживает filters, client-side search, collections, registry import,
provider-targeted install, inline editing, diff-before-save и warnings перед
destructive changes.

## Provider-owned copies вместо symlinks

Первый HCP соединял assets через symlinks. Один file был виден нескольким tools,
но их lifecycle связывался: правка или удаление provider-local path могла затронуть
общий source.

Текущий AEM создаёт **provider-owned copies по умолчанию**:

```text
source skill
  -> Claude-owned copy
  -> Codex-owned copy
  -> Gemini-owned copy
```

Matching assets группируются в UI с provider badges. Disconnect/delete ограничен
одним provider. Legacy symlinks конвертируются при reconnect.

Это безопаснее прежнего delete behavior, но copies могут расходиться. AEM имеет
health и drift views, а команде всё равно нужен source-of-truth policy. Security
rules следует review перед distribution, а не автоматически считать sync trusted.

[AgentSync](/ru/blog/agentsync-mcp-config-sync/) решает более узкую задачу MCP
config. AEM инвентаризирует большую локальную экосистему.

## Sessions и usage

Sessions browser нормализует logs нескольких coding agents и показывает timeline,
token usage, live process metadata, cost estimates, activity, search, labels и
Markdown handoff export.

Usage dashboard обращается к поддерживаемым providers через local credentials и
показывает rate-limit/balance data, когда provider её предоставляет. Current
README перечисляет 18 usage providers — больше семи asset scanners.

Здесь есть sensitive data. Sessions могут содержать source code, prompts, file
paths, customer data и tool results. OAuth tokens и credentials metadata нужно
защищать так же, как исходные clients.

До включения session search и usage tracking:

- проверьте, какие directories и credentials читает adapter;
- ограничьте filesystem и OS-user access к данным AEM;
- не публикуйте HTTP API в shared network;
- для support используйте redacted diagnostic export;
- определите retention indexed sessions;
- проверьте exported handoff перед отправкой.

## Local, macOS, Raycast и remote interfaces

Запуск без global install:

```bash
npx agent-ecosystem-map
```

Global install:

```bash
npm install -g agent-ecosystem-map
aem
```

Package требует Node.js 18+. Web UI открывается на `http://localhost:3000`.
Native macOS app доступен в GitHub Releases, repository также ссылается на Raycast
extension.

Remote host:

```bash
# На remote host
aem --headless -p 3000

# На local machine
ssh -L 3000:localhost:3000 user@your-vps
```

Headless mode по умолчанию bind на `127.0.0.1`. При явном `--host 0.0.0.0` CLI
требует bearer authentication. Предпочтительнее SSH tunnel: application token не
заменяет network policy, host hardening и credential isolation.

Remote command center проверяет sidecar, sessions, processes, usage, MCP runtimes,
tunnels и copy-sync plans. Используйте preview/dry-run перед apply и сохраняйте
rollback data.

## Architecture и security boundary

Текущий package использует Node.js agent, SQLite persistence, React web UI и
SwiftUI desktop app. Runtime dependencies — `better-sqlite3` и `ssh2`. File
watchers и WebSockets обновляют UI после local changes.

Данные остаются преимущественно local, но local не значит safe автоматически.
Process читает configs нескольких assistants, credentials metadata, session logs и
remote-host settings. Где возможно, запускайте под отдельной OS-user boundary,
backup SQLite перед крупными changes и inspect new releases до расширения access.

## Кому это нужно

AEM полезен, если совпадают хотя бы два пункта:

- на одной машине активно несколько AI coding tools;
- skills, rules, agents и MCP configs трудно инвентаризировать;
- session history разбросана по clients;
- subscription windows требуют одного operational view;
- нужно сравнивать local и remote agent environments;
- команде нужен reviewed asset distribution вместо manual copying.

При одном client и нескольких files обычный version control проще. Map окупается,
когда inventory и drift уже стали проблемой.

## License и naming caveat

Repository public, но лицензия — **Business Source License 2.0**. Она разрешает
personal use, internal business production use, modifications и internal
integration. Competing commercial/hosted products ограничены; переход на MIT
указан на 6 апреля 2030 года.

BSL — source-available, не OSI-approved open-source license. Для commercial use
читайте `LICENSE`; этот текст не является legal advice.

## Verification checklist

- [ ] Устанавливается `agent-ecosystem-map`, не старое имя package.
- [ ] До changes выполнен `aem scan`.
- [ ] Проверен owner каждой connected copy.
- [ ] Перед save/delete просмотрены diff и downstream impact.
- [ ] Web service остаётся на localhost или за SSH tunnel.
- [ ] Sessions, diagnostics, OAuth data и remote settings считаются sensitive.
- [ ] State backup и rollback проверены до массовых copy operations.
- [ ] Current README и license проверены перед использованием feature/terms.

## Актуальные источники

- [Repository и README Agent Ecosystem Map](https://github.com/spyrae/harness-control-plane)
- [Текущий package manifest](https://raw.githubusercontent.com/spyrae/harness-control-plane/main/package.json)
- [Business Source License 2.0](https://raw.githubusercontent.com/spyrae/harness-control-plane/main/LICENSE)
- [GitHub Releases](https://github.com/spyrae/harness-control-plane/releases/latest)

AEM больше не symlink dashboard из первой версии статьи. Это широкая локальная
operations surface для AI coding tools, и её access требует соответствующего
security review.
