актуальный README и menual тест

This commit is contained in:
Егор Кандрушин 2026-04-20 13:21:26 +03:00
parent bd2923ffca
commit 972fc23bfc
2 changed files with 11 additions and 1 deletions

View file

@ -9,6 +9,7 @@ WebSocket API SDK для взаимодействия с AI-агентом.
- Добавлен параметр `chat_id` в конструктор `AgentAPI`. Нужен для разделения истории сообщений по чатам/веткам. - Добавлен параметр `chat_id` в конструктор `AgentAPI`. Нужен для разделения истории сообщений по чатам/веткам.
- `AgentAPI.connect()` вызывает `AgentBusyException`, если выбранный чат уже занят другим API клиентом. - `AgentAPI.connect()` вызывает `AgentBusyException`, если выбранный чат уже занят другим API клиентом.
- Добавлен новый тип события `MsgEventSendFile` для отправки файлов пользователю. Поле `path` — путь к файлу относительно `/workspace`. - Добавлен новый тип события `MsgEventSendFile` для отправки файлов пользователю. Поле `path` — путь к файлу относительно `/workspace`.
- `send_message(text, attachments)` теперь принимает `attachments` — список путей к файлам относительно `/workspace`.
## Установка ## Установка
В `master` всегда будет актуальная рабочая версия. В `master` всегда будет актуальная рабочая версия.

View file

@ -23,9 +23,18 @@ async def main():
while True: while True:
try: try:
prompt = await asyncio.get_event_loop().run_in_executor(None, input, ">>> ") prompt = await asyncio.get_event_loop().run_in_executor(None, input, ">>> ")
attachments_input = await asyncio.get_event_loop().run_in_executor(
None, input, "Attachments (comma-separated, empty for none): "
)
attachments = (
[a.strip() for a in attachments_input.split(",") if a.strip()]
if attachments_input.strip()
else None
)
print("Agent: ", end="") print("Agent: ", end="")
is_tool = False is_tool = False
async for chunk in api.send_message(prompt): async for chunk in api.send_message(prompt, attachments):
match chunk: match chunk:
case MsgEventTextChunk(): case MsgEventTextChunk():
is_tool = False is_tool = False