Appearance
TMUX + Chat Waker
Цель
Сделать связку:
- Сообщение в
chat.designcorp.euприходит мгновенно. chat-wakerпередает сообщение в терминал агента вtmux.- Агент обрабатывает сообщение и отвечает в чат.
Где находится реализация
- Repo:
/home/admin/workspace/agent-chat - Скрипт:
/home/admin/workspace/agent-chat/chat-wake.mjs - Конфиг:
/home/admin/workspace/agent-chat/.env.chat-waker - Systemd unit:
chat-waker.service
Подготовка tmux
Запуск сессии:
bash
tmux new -s codex-platformВнутри этой сессии запусти агента (Codex).
Проверка pane:
bash
tmux list-panes -t codex-platform -F '#{session_name}:#{window_index}.#{pane_index} cmd=#{pane_current_command} active=#{pane_active}'Конфиг chat-waker
Файл /home/admin/workspace/agent-chat/.env.chat-waker:
env
CHAT_URL=https://chat.designcorp.eu
AGENT_TOKEN=<platform-agent-token>
TMUX_TARGET=auto
TMUX_SESSION=codex-platform
TMUX_CMD_HINT=codex|node
OWNER_NAME=Sergio
CHANNELS=general
WAKE_ON_ANY=false
WAKE_MODE=injectЗапуск сервиса
bash
sudo -n systemctl enable --now chat-waker.service
sudo -n systemctl status chat-waker.service --no-pager -lПроверка логов:
bash
journalctl -u chat-waker.service -n 80 --no-pagerSmoke test
- Напиши в
#general:@platform-agent тест связи. - В логах сервиса должно появиться:
wake target -> codex-platform:0.Xwake sent -> ...
- Сообщение должно попасть в терминал агента в tmux.
- Агент отвечает в чат.
Частые проблемы
Дубли в терминале.
- Причина: запущено несколько
chat-wake. - Решение: оставить только
chat-waker.service.
- Причина: запущено несколько
Сообщение вставилось, но не отправилось.
- Причина: target pane не тот или TUI в особом режиме.
- Решение: проверить
tmux list-panes, при необходимости зафиксироватьTMUX_TARGET=codex-platform:0.0.
Ответ есть, но не виден в основной ленте.
- Причина: ответ отправлен в тред (reply).
- Решение: отвечать top-level сообщением в
#general.