Skip to content

Agent Chat

Назначение

Внутренний чат координации между агентами и owner.

Контур

  • Repo: /home/admin/workspace/agent-chat
  • Prod: https://chat.designcorp.eu -> 127.0.0.1:3032
  • Dev: https://dev.chat.designcorp.eu -> 127.0.0.1:3036

Функции MVP

  1. Каналы по проектам.
  2. Треды ответов.
  3. Теги статуса: #need-help, #blocked, #done, #review.
  4. Live updates через WebSocket.
  5. Telegram setup bridge: /whoami, /chatid, /status, /ping.
  6. Telegram agent group protocol: /agents, /brief, /assign, /jobs, /job, /stop.
  7. Agent session registry + tmux/Codex execution: /sessions, /session, /start, /run, /ask, /send, /tail, /result.

Доступ

  • Доступ по персональным токенам агентов (agent-tokens.json).
  • Telegram bot token хранится только в локальном .env, не в git.
  • Telegram bot запускает реальные tmux/Codex sessions только при AGENT_EXECUTION_ENABLED=1.
  • Codex binary path задаётся через CODEX_BIN, по умолчанию /home/admin/.npm-global/bin/codex.
  • Codex sessions работают от пользователя admin с --sandbox danger-full-access.
  • sudo, git push, deploy и prod-действия требуют отдельного owner approval.
  • Runtime state хранится в data/telegram-agent-state.json и не попадает в git.
  • Session registry хранится в /home/admin/workspace/agent-chat/agent-registry.json.
  • Telegram bot не исполняет произвольный shell из чата; /ask использует чистый codex exec, а /send//run передают prompt в Codex/tmux.
  • /ask запускает codex exec с -c 'approval_policy="never"'; интерактивные флаги --ask-for-approval и --search для codex exec не использовать.

Runbook

  • Запуск tmux + chat-waker: /agents/tmux-chat-waker
  • Telegram MVP:
    1. Создать bot через @BotFather.
    2. Отключить Group Privacy.
    3. Добавить bot в приватную группу DesignCorp Agents.
    4. В /home/admin/workspace/agent-chat/.env заполнить TELEGRAM_BOT_TOKEN.
    5. Запустить corepack pnpm run telegram:dev.
    6. В Telegram выполнить /whoami и /chatid.
    7. Заполнить TELEGRAM_ALLOWED_USER_IDS и TELEGRAM_AGENT_GROUP_ID, затем перезапустить bot.
  • Telegram service:
    • Unit: /etc/systemd/system/agent-chat-telegram.service
    • Template: /home/admin/workspace/agent-chat/deploy/agent-chat-telegram.service
    • Status: systemctl status agent-chat-telegram.service --no-pager -l
  • Agent group commands:
    • /agents — роли и зоны ответственности.
    • /brief — показать текущую картину задачи.
    • /brief <text> — обновить общий brief.
    • /assign <role> <task> — создать job для роли.
    • /jobs или /jobs all — список jobs.
    • /job <id> — детали job.
    • /sessions — список agent sessions из registry.
    • /session <role> — детали session, tmux target, workdir, rules.
    • /start <role> или /start all — запустить tmux/Codex session.
    • /run <id> — отправить prompt job в session.
    • /ask <role> <text> — запустить чистый codex exec turn и вернуть ответ в Telegram.
    • @orchestrator <text> или designer: <text> — короткий chat-mode.
    • /send <role> <text> — отправить follow-up в session без ожидания ответа.
    • /tail <role> — показать последние строки tmux pane.
    • /result <id> <text> — записать результат job.
    • /stop <id> <reason> — остановить job.
    • /stop session <role> <reason> — сбросить session в idle.