{"_id":"@aioffice/connect","_rev":"7-9a7bfe13d268d02519a59357814633e6","name":"@aioffice/connect","dist-tags":{"latest":"0.8.3"},"versions":{"0.2.0":{"name":"@aioffice/connect","version":"0.2.0","keywords":["aioffice","mcp","claude-code","agents"],"author":{"name":"AI Office team"},"license":"UNLICENSED","_id":"@aioffice/connect@0.2.0","maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"bin":{"aioffice-connect":"bin/connect.js"},"dist":{"shasum":"3fb97e66b7822796fa9146a5d2eebc955567da46","tarball":"https://registry.npmjs.org/@aioffice/connect/-/connect-0.2.0.tgz","fileCount":4,"integrity":"sha512-NbdgGXSVBfHXLoLDN2mrpMk/PPLGz0C0yCkGw7+vkdO8joLxmb27TX2Iw4uACBAE6vSZW+Z01uXcxVu2mTpPrA==","signatures":[{"sig":"MEYCIQDgtv9TGSxjeN4mxV6jMVtaBrB/IwBc1hGEOPHGeHizpAIhAOFgVdNwo8KF2WIsZzptIfyf0iLvIfypCVn+jFfaoLPi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19661},"main":"bin/connect.js","engines":{"node":">=22"},"gitHead":"21258b7c35d80580f98e01b09592eb3ee54afc3f","scripts":{"test":"node --test test/","start":"node bin/connect.js"},"_npmUser":{"name":"maxdemidov","email":"vm.photoschool@gmail.com"},"_npmVersion":"10.9.4","description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","directories":{},"_nodeVersion":"22.22.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect_0.2.0_1776815864118_0.14378572662578115","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aioffice/connect","version":"0.3.0","keywords":["aioffice","mcp","claude-code","agents"],"author":{"name":"AI Office team"},"license":"UNLICENSED","_id":"@aioffice/connect@0.3.0","maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"bin":{"aioffice-connect":"bin/connect.js"},"dist":{"shasum":"71cd64e97f30453807c7ab31e072860df31bf1a2","tarball":"https://registry.npmjs.org/@aioffice/connect/-/connect-0.3.0.tgz","fileCount":4,"integrity":"sha512-6/lxhbYfTJY6vh/YWy/gE1nsXFDnpFxUD9cfG21GLs9rsnb2qWLDmPConcEaUU79VZ0vrOTt/3Ds+UnQGyUDLA==","signatures":[{"sig":"MEYCIQCy9C669mjiAX8ersYZrz2j6scvVrxhX5C0iPJTeIRb2AIhAI8rAmz19BeGxLKHh83Yx8CRREwXQnWkVKZZl6KzMjMx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23219},"main":"bin/connect.js","engines":{"node":">=22"},"gitHead":"21258b7c35d80580f98e01b09592eb3ee54afc3f","scripts":{"test":"node --test test/","start":"node bin/connect.js"},"_npmUser":{"name":"maxdemidov","email":"vm.photoschool@gmail.com"},"_npmVersion":"10.9.4","description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","directories":{},"_nodeVersion":"22.22.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect_0.3.0_1776816379173_0.5101901010515018","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aioffice/connect","version":"0.4.0","keywords":["aioffice","mcp","claude-code","agents"],"author":{"name":"AI Office team"},"license":"UNLICENSED","_id":"@aioffice/connect@0.4.0","maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"bin":{"aioffice-connect":"bin/connect.js"},"dist":{"shasum":"1122ad4622e91aad9f7fc91959773f989b8fd617","tarball":"https://registry.npmjs.org/@aioffice/connect/-/connect-0.4.0.tgz","fileCount":8,"integrity":"sha512-72zQKYGiHCVnSBgB5df0JY696U3eMNo1UJCdN0VYlIsk/Fb3Gzb09r0I+/NuqR7Y9lSF5v4U6S2Q9MoaO6/Mxg==","signatures":[{"sig":"MEUCIQCqwW6CJuSCFzjAHxHnfO+/kWejdMlVetDrdrkSg3krHgIgRQMGUTLHHxLhCmF1XuPwOHxB3YMc8X2kcqfZ/QB886E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47705},"main":"bin/connect.js","engines":{"node":">=20"},"gitHead":"21258b7c35d80580f98e01b09592eb3ee54afc3f","scripts":{"test":"node --test 'test/*.test.js'","start":"node bin/connect.js"},"_npmUser":{"name":"maxdemidov","email":"vm.photoschool@gmail.com"},"_npmVersion":"10.9.4","description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","directories":{},"_nodeVersion":"22.22.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect_0.4.0_1777122538055_0.6039945376388662","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aioffice/connect","version":"0.5.0","keywords":["aioffice","mcp","claude-code","agents"],"author":{"name":"AI Office team"},"license":"UNLICENSED","_id":"@aioffice/connect@0.5.0","maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"bin":{"aioffice-connect":"bin/connect.js"},"dist":{"shasum":"e7c8460aee388b589a9c21b6d293cca26a44ed1c","tarball":"https://registry.npmjs.org/@aioffice/connect/-/connect-0.5.0.tgz","fileCount":8,"integrity":"sha512-j7xKwKCr7Rkq9mcKrE1Hx6Q0LopZnT9/pDkb14nTgtsiKlCp0JczYvEMcS1RNy5QWZdXetpP7dRGDFjLYSvc4w==","signatures":[{"sig":"MEQCIGXNbU71unTalBG8HkwwMrSrU0eavhYWyP4CTPRsU3bnAiBOjnaKd+0e5wdUL90RZibVd13T8KqUBRUSmUUVrnhyRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49792},"main":"bin/connect.js","engines":{"node":">=20"},"gitHead":"21258b7c35d80580f98e01b09592eb3ee54afc3f","scripts":{"test":"node --test 'test/*.test.js'","start":"node bin/connect.js"},"_npmUser":{"name":"maxdemidov","email":"vm.photoschool@gmail.com"},"_npmVersion":"10.9.4","description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","directories":{},"_nodeVersion":"22.22.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect_0.5.0_1777128581427_0.6866792712913232","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aioffice/connect","version":"0.6.0","keywords":["aioffice","mcp","claude-code","agents"],"author":{"name":"AI Office team"},"license":"UNLICENSED","_id":"@aioffice/connect@0.6.0","maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"bin":{"aioffice-connect":"bin/connect.js"},"dist":{"shasum":"3bfe252c425fd2ad60f461bde628644ef6c6c54e","tarball":"https://registry.npmjs.org/@aioffice/connect/-/connect-0.6.0.tgz","fileCount":9,"integrity":"sha512-fs17ZnrxLefe77WTS/fLiAnrFJ2HMcBPyQ8an68sjtjVoSjpRL0ZqgVHA1cF62H61elYH40QZa1BZDQzRK28rg==","signatures":[{"sig":"MEQCIBmhCXylPnlaIh7K0YbSP+F3MsUI/vFutevOaRPnaKVcAiAhnxHxAZuLP1VMSDT8YNftgg08qHJF5wSo6XvLDrAO1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59285},"main":"bin/connect.js","engines":{"node":">=20"},"gitHead":"21258b7c35d80580f98e01b09592eb3ee54afc3f","scripts":{"test":"node --test 'test/*.test.js'","start":"node bin/connect.js"},"_npmUser":{"name":"maxdemidov","email":"vm.photoschool@gmail.com"},"_npmVersion":"10.9.4","description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","directories":{},"_nodeVersion":"22.22.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect_0.6.0_1777135932044_0.7973996819122597","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@aioffice/connect","version":"0.8.2","keywords":["aioffice","mcp","claude-code","agents"],"author":{"name":"AI Office team"},"license":"UNLICENSED","_id":"@aioffice/connect@0.8.2","maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"bin":{"aioffice-connect":"bin/connect.js"},"dist":{"shasum":"7b5387454efcc4d4b261c50aedd8f7ef724dc526","tarball":"https://registry.npmjs.org/@aioffice/connect/-/connect-0.8.2.tgz","fileCount":3531,"integrity":"sha512-yIpjHzodmyUN2uWW/vpWFbyHDDzP8VbnOI5ga4kQl6sRQPZPAwncz64i6e9WKa/pXQVW3hXDqx2YB8bo+2fABw==","signatures":[{"sig":"MEUCIQDck6Yt8MvYgLzq9Uz4W3aIOieMrzeXwUfag3mbVWwOsgIgJBoZUu7NsZoMTpsaGggzESCsmZQshrmP+Ys5QVgNvIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15600704},"main":"bin/connect.js","engines":{"node":">=20"},"gitHead":"21258b7c35d80580f98e01b09592eb3ee54afc3f","scripts":{"test":"node --test 'test/*.test.js'","start":"node bin/connect.js"},"_npmUser":{"name":"maxdemidov","email":"vm.photoschool@gmail.com"},"_npmVersion":"10.9.4","description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","directories":{},"_nodeVersion":"22.22.1","dependencies":{"obsidian-mcp":"^1.0.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/connect_0.8.2_1778369310906_0.8159182911961598","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@aioffice/connect","version":"0.8.3","description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","main":"bin/connect.js","bin":{"aioffice-connect":"bin/connect.js"},"scripts":{"test":"node --test 'test/*.test.js'","start":"node bin/connect.js"},"keywords":["aioffice","mcp","claude-code","agents"],"author":{"name":"AI Office team"},"license":"UNLICENSED","engines":{"node":">=20"},"dependencies":{"obsidian-mcp":"^1.0.6"},"_id":"@aioffice/connect@0.8.3","gitHead":"21258b7c35d80580f98e01b09592eb3ee54afc3f","_nodeVersion":"22.22.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-YAwH4nEfPiW2RsWNxmzUtYWYAc+qRqg+8k5KIOJwyQR/FEtGj8jbJQSJ+bORKfJEeHf5RuofGou87A39XsZf2Q==","shasum":"cc848277aca7f9f6983ca01805e9fe1545beb1d8","tarball":"https://registry.npmjs.org/@aioffice/connect/-/connect-0.8.3.tgz","fileCount":3545,"unpackedSize":15880300,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEi36UladzlJ1yGmwAzCld9LYxUdT8hOCL3D6AE3ldZaAiAUxq60A4rZKx0L9tGUXnh90nIxsy7EUVRMTxjebuvwnQ=="}]},"_npmUser":{"name":"maxdemidov","email":"vm.photoschool@gmail.com"},"directories":{},"maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/connect_0.8.3_1780500775317_0.2530546797951374"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-21T23:57:44.020Z","modified":"2026-06-03T15:32:55.726Z","0.2.0":"2026-04-21T23:57:44.303Z","0.3.0":"2026-04-22T00:06:19.328Z","0.4.0":"2026-04-25T13:08:58.213Z","0.5.0":"2026-04-25T14:49:41.572Z","0.6.0":"2026-04-25T16:52:12.195Z","0.8.2":"2026-05-09T23:28:31.327Z","0.8.3":"2026-06-03T15:32:55.614Z"},"author":{"name":"AI Office team"},"license":"UNLICENSED","keywords":["aioffice","mcp","claude-code","agents"],"description":"One-command installer: подключи свой Claude Code к AI Office MCP и веб-чату","maintainers":[{"name":"maxdemidov","email":"vm.photoschool@gmail.com"}],"readme":"# @aioffice/connect\n\nОдна команда — и твой Claude Code подключён к AI Office.\n\n## Установка\n\n```bash\nnpx @aioffice/connect fac_live_xxxxxxxxxx\n```\n\nПолучить ключ: https://agents.neyroclub.online/ → войти через Telegram → «Создать ключ» → скопировать.\n\n## Что делает\n\n1. Прописывает AI Office как MCP-сервер в твой Claude Code конфиг (`~/.claude.json` или проектный `.mcp.json`)\n2. Запускает в фоне `tunnel-daemon` — лёгкий WebSocket-клиент, который держит канал между веб-чатом в дашборде и твоим локальным Claude Code\n3. Скачивает «голых» 7 агентов в `~/.aioffice/agents/{slug}/` (с v0.5.0 — автоматически тем же `fac_live_` ключом)\n4. Авторизация везде через твой персональный ключ\n\nЕсли хочешь только MCP+tunnel без локальных файлов — добавь `--no-bootstrap`.\n\n## Что НЕ делает\n\n- Не копирует твои данные никуда\n- Не запускает LLM-вызовы на наших серверах — все обращения к Anthropic идут с твоей машины через твою подписку\n- Не меняет другие MCP-серверы в конфиге, не правит permissions, не лезет в settings.json\n\n## Как это работает\n\n**MCP-часть:** Claude Code после рестарта видит `aioffice` в MCP-серверах. При вызове `mcp__aioffice__*` тулов его клиент делает HTTPS-запрос на наш MCP, мы возвращаем текст (персона агента, SKILL.md, скрипт-шаблон), Claude исполняет у тебя. Мы не видим содержимое сессий — только какие тулы вызываешь (rate-limit/аналитика подписки).\n\n**Tunnel-часть:** daemon стартует при установке и держит WebSocket к нашему хабу (`wss://agents.neyroclub.online/ws/tunnel/client`). Веб-чат в твоём дашборде может отправлять сообщения через хаб к daemon'у, а daemon — в твой локальный Claude Code. LLM-инференс опять же у тебя.\n\nС v0.6.0 daemon работает в двух режимах:\n- **Tmux-режим** (если `aioffice-connect start-agents` подняло сессии) — сообщение из веб-чата уходит в существующую `aioffice-{slug}` tmux-сессию через `paste-buffer`, ответ читается из JSONL-транскрипта Claude Code до события `stop_reason: end_turn`. Агент сохраняет память между сообщениями, имеет доступ к файловой системе и MCP.\n- **Headless-режим** (фоллбэк, если tmux-сессии нет) — daemon спавнит одноразовый `claude -p <prompt>`, ответ возвращается одним blob'ом. Без памяти, без файловой системы.\n\nDaemon выбирает режим автоматически на каждое сообщение.\n\n## Команды\n\n```bash\n# Глобальная установка (все проекты)\nnpx @aioffice/connect fac_live_xxx\n\n# Для конкретного проекта\nnpx @aioffice/connect fac_live_xxx --project ~/my-content-project\n\n# Установить MCP без фонового туннеля\nnpx @aioffice/connect fac_live_xxx --no-tunnel\n\n# Запустить туннель отдельно\naioffice-connect start-tunnel fac_live_xxx\n\n# Проверить статус туннеля (pid + последние строки лога)\naioffice-connect tunnel-status\n\n# Остановить туннель\naioffice-connect stop-tunnel\n\n# Посмотреть весь лог\naioffice-connect tail-log\n\n# Полное отключение (убрать MCP + остановить туннель)\nnpx @aioffice/connect --uninstall\n\n# Справка\nnpx @aioffice/connect --help\n```\n\n## Поднять весь офис локально\n\nС версии 0.4.0 один пакет умеет не только подключить MCP, но и развернуть всех агентов на твоей машине:\n\n```bash\n# Скачать «голых» агентов в ~/.aioffice/agents/{slug}/ (без tmux)\naioffice-connect install-personas --jwt <session_token>\n\n# Полный flow: bootstrap + поднять tmux-сессии всех 7 агентов\naioffice-connect start-agents --jwt <session_token>\n\n# Поднять только избранных\naioffice-connect start-agents --jwt <session_token> --only=alina,copywriter\n\n# Что сейчас работает\naioffice-connect --status\n\n# Re-pull персон (если на сервере вышла новая версия)\naioffice-connect --update --jwt <session_token>\n\n# Убить все aioffice-* tmux-сессии (файлы остаются)\naioffice-connect --teardown\n\n# Диагностика: tmux/node/python/claude-cli + связь с бэкендом\naioffice-connect --doctor\n```\n\nКаждый агент живёт в своей tmux-сессии `aioffice-{slug}`. Подключиться: `tmux attach -t aioffice-alina`.\n\n### Песочница для тестов\n\n```bash\nAIOFFICE_HOME=/tmp/test-office aioffice-connect install-personas --jwt $JWT\n# или флагом:\naioffice-connect install-personas --jwt $JWT --ai-office-home /tmp/test-office\n```\n\n`AIOFFICE_HOME` (env) или `--ai-office-home` (флаг) переопределяют дефолт `~/.aioffice/`. Удобно для разработки и e2e-тестов.\n\n## После подключения\n\nВ Claude Code:\n\n```\n> подключись как Алина и скажи привет\n```\n\nClaude выполнит `mcp__aioffice__get_persona({\"agent\": \"alina\"})`, получит её персону и дальше отвечает как Алина.\n\nНа https://agents.neyroclub.online/ в твоём дашборде появится зелёная точка «твой Claude Code подключён» — можно писать в веб-чат, сообщение долетит до твоей машины.\n\n## Файлы состояния\n\n- MCP-конфиг: `~/.claude.json` (или `<project>/.mcp.json` с `--project`)\n- Daemon PID: `~/.aioffice/tunnel.pid`\n- Daemon log: `~/.aioffice/tunnel.log`\n\n## Требования\n\nNode.js ≥ 20.\n\nДля `start-agents` дополнительно:\n- `tmux` ≥ 3.0\n- `claude-cli` (`@anthropic-ai/claude-code`) — поставится автоматически если нет\n- Опционально: `python3` ≥ 3.10 (нужен некоторым MCP-серверам)\n\n## Безопасность\n\nКлюч `fac_live_xxx` — это пароль. Не коммить в git, не шли в чат скриншотом. В дашборде можно создать отдельный ключ на каждую машину и отозвать в любой момент.\n","readmeFilename":"README.md"}