Skip to navigation

Цепочки (треды)

Организация бесед во всех ваших ящиках.

Что такое Thread?

Thread — ресурс API, представляющий одну беседу. Это контейнер, в котором связанные Messages идут в хронологическом порядке, как тред в обычном почтовом клиенте.

Threads создаются автоматически. Когда агент отправляет Message не как ответ на предыдущее, начинается новый Thread. Все последующие ответы попадают в тот же Thread, сохраняя контекст.

Запросы к Threads

Хотя Threads создаются неявно, их можно получать двумя способами: в рамках одного Inbox или по всей Organization.

Список Threads по Inbox

Стандартный способ — все беседы, связанные с одним агентом или Inbox.

# You'll need an inbox ID to list threads from.
inbox_id = "inbound-agent@agentinbox.space"
# This retrieves all threads within the specified Inbox
inbox_threads = client.inboxes.threads.list(inbox_id=inbox_id)

Список Threads по всей Organization

Одна из сильных сторон Agent Inbox: без inbox_id можно получить Threads из каждого Inbox в Organization. Организационный запрос нужен для:

  • Супервизорских агентов: мониторинг бесед парка других агентов.
  • Аналитических панелей: видимость по всем ящикам организации.
  • Сложных сценариев: маршрутизация и эскалация между агентами с разными правами.
# By not providing an inbox_id, we get all threads in the organization
all_threads = client.threads.list()
print(f"Found {all_threads.count} threads across the entire organization.")
Скоро: семантический поиск по организации

Мы развиваем семантический поиск для org-wide списка цепочек. Скоро можно будет находить Threads по смыслу Messages, а не только по ключевым словам.

Получение одного Thread

По ID возвращается объект Thread с перечнем связанных Messages и их идентификаторов. Типичный сценарий: просмотреть сообщения в цепочке и вызвать messages.reply для последнего.

thread_id = "thread_456def"
# This retrieves a single thread and its messages
thread = client.threads.get(
thread_id="thread_id"
)
print(f"Retrieved thread {thread.thread_id} with {len(thread.messages)} messages.")

Копировать в Cursor / Claude

Скопируйте один из блоков ниже в Cursor или Claude, чтобы за один раз передать полное описание API цепочек.

"""
Agent Inbox Threads — copy into Cursor/Claude.
Setup: pip install agentinbox python-dotenv. Set AGENTINBOX_API_KEY in .env.
API reference:
- inboxes.threads.list(inbox_id, limit?, page_token?, labels?, before?, after?, ascending?)
- inboxes.threads.get(inbox_id, thread_id)
- inboxes.threads.get_attachment(inbox_id, thread_id, attachment_id)
- inboxes.threads.delete(inbox_id, thread_id)
- threads.list(limit?, page_token?, labels?) — org-wide, all inboxes
- threads.get(thread_id) — org-wide
- threads.get_attachment(thread_id, attachment_id)
Errors: SDK raises on 4xx/5xx. Rate limit: 429 with Retry-After.
"""
import os
from dotenv import load_dotenv
from agentinbox import Agentinbox
load_dotenv()
client = Agentinbox(api_key=os.getenv("AGENTINBOX_API_KEY"))
inbox_id = "agent@agentinbox.space"
# Per-inbox threads
inbox_threads = client.inboxes.threads.list(inbox_id=inbox_id, limit=20)
if inbox_threads.threads:
thread = client.inboxes.threads.get(inbox_id, inbox_threads.threads[0].thread_id)
# Org-wide threads
all_threads = client.threads.list(limit=50)
if all_threads.threads:
single = client.threads.get(all_threads.threads[0].thread_id)
print(f"Thread has {len(single.messages)} messages")