Проекты и заметки
Операции с проектами читают проекты, объединяющие ваши сессии, заметки и карточки, и управляют ими. Операции с заметками читают и записывают заметки в формате Markdown, включая собственную заметку сессии. Каждая операция также принимает необязательный workspaceId. Общие правила описаны в разделе Как читать этот справочник.
| Операция | Тип | Инструмент | По умолчанию | Группа |
|---|---|---|---|---|
projects.list | Чтение | talkbar_read | Вкл. | metadata |
projects.get | Чтение | talkbar_read | Вкл. | content |
projects.trash.list | Чтение | talkbar_read | Вкл. | content |
projects.create | Изменение | talkbar_change | Выкл. | contentChanges |
projects.update | Изменение | talkbar_change | Выкл. | contentChanges |
projects.pin | Изменение | talkbar_change | Выкл. | contentChanges |
projects.trash | Изменение | talkbar_delete | Выкл. | contentChanges |
projects.restore | Изменение | talkbar_change | Выкл. | contentChanges |
notes.list | Чтение | talkbar_read | Вкл. | content |
notes.get | Чтение | talkbar_read | Вкл. | content |
notes.trash.list | Чтение | talkbar_read | Вкл. | content |
notes.create | Изменение | talkbar_change | Выкл. | contentChanges |
notes.update | Изменение | talkbar_change | Выкл. | contentChanges |
notes.append | Изменение | talkbar_change | Выкл. | contentChanges |
notes.move | Изменение | talkbar_change | Выкл. | contentChanges |
notes.pin | Изменение | talkbar_change | Выкл. | contentChanges |
notes.trash | Изменение | talkbar_delete | Выкл. | contentChanges |
notes.restore | Изменение | talkbar_change | Выкл. | contentChanges |
projects.list
Постранично показывает проекты рабочего пространства с количеством сессий, заметок и документов и временем начала последней сессии.
Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики metadata
Аргументы
Сколько вернуть. От 1 до 100. По умолчанию 100.
nextOffset из предыдущей страницы. По умолчанию 0.
Возвращает: {items: [{projectId, name, description, sessionCount, noteCount, documentCount, lastSessionAtMs}], totalCount, nextOffset}.
{"tool": "projects.list", "args": {}}
projects.get
Читает обзор одного проекта с последними сессиями (до 20) и заметками (до 10).
Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content
Аргументы
Проект из projects.list.
Возвращает: поля projects.list, а также sessions (строки как в sessions.list) и notes ({noteId, title, snippet, updatedAt}).
- Для проекта в корзине возвращается
not_found.
{"tool": "projects.get", "args": {"projectId": "proj_456"}}
projects.trash.list
Показывает проекты в корзине.
Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content
Аргументы
Сколько вернуть. От 1 до 200. По умолчанию 50.
Возвращает: {projects: [{projectId, name, trashedAt}]}.
projects.create
Создаёт проект в пределах лимита проектов вашего тарифа.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Название проекта. Не может быть пустым.
Описание обычным текстом.
Вид проекта. Одно из значений: client, engagement, recurring, internal, personal, research, product, sales, hiring, education, event, support. По умолчанию client.
Цвет проекта.
Возвращает: проект: {projectId, name, status, kind, pinned, updatedAt}.
- При достижении лимита проектов вашего тарифа вызов отклоняется с
plan_limit(limit: "projects"); проекты считаются в рабочем пространстве, с которым работает вызов. Лимит показываетplan.get.
{"tool": "projects.create", "args": {"name": "Northwind onboarding", "kind": "client"}}
projects.update
Переименовывает проект или меняет его описание, вид или цвет.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Проект из projects.list.
Новое название. Не может быть пустым.
Описание обычным текстом; заменяет описание с форматированием, если оно было. null очищает его.
Одно из значений: client, engagement, recurring, internal, personal, research, product, sales, hiring, education, event, support.
Цвет проекта. null очищает его.
Возвращает: проект в том же виде, что и projects.create.
- Укажите хотя бы одно поле.
projects.pin
Закрепляет или открепляет проект.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Проект из projects.list.
true закрепляет, false открепляет.
Возвращает: {projectId, pinned}.
projects.trash
Перемещает проект в корзину. Его можно восстановить.
Изменение · выполняется через talkbar_delete · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Проект из projects.list.
Возвращает: {projectId, trashed: true}. Перемещение в корзину проекта, который уже там, проходит успешно, а дата первого перемещения сохраняется.
- Выполняется через
talkbar_delete: требует вашего подтверждения, если ваше ИИ-приложение умеет его запрашивать; запросы приложений, которые не умеют, отклоняются, если не включён параметр Разрешить удаление без подтверждения.
projects.restore
Возвращает проект из корзины в пределах лимита проектов вашего тарифа.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Проект из projects.list.
Возвращает: проект в том же виде, что и projects.create. Восстановление проекта, которого нет в корзине, ничего не меняет.
- При достижении лимита проектов отклоняется с
plan_limit(limit: "projects").
notes.list
Постранично показывает заметки рабочего пространства, начиная с недавно изменённых; можно ограничить проектом, темой, сессией или поиском по названию и тексту.
Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content
Аргументы
Только заметки, относящиеся к этому проекту.
Текст для поиска в названиях и тексте заметок.
Только заметки с этой темой (из topics.list).
Только заметки этой сессии: её собственная заметка, заметки, добавленные на её страницу, и заметки, относящиеся к ней.
Сколько вернуть. От 1 до 100. По умолчанию 40.
Значение nextCursor с предыдущей страницы. Не может быть пустым.
Возвращает: {items, nextCursor, hasMore, totalCount}. У каждого элемента есть noteId, title, snippet, pinned, createdAt, updatedAt, sessionId, sessions, topics и projects; при поиске добавляется matchSnippet.
- В каждой строке
sessionIdзаполнено только у собственной заметки сессии;sessionsперечисляет сессии, к которым относится заметка.
{"tool": "notes.list", "args": {"search": "onboarding", "limit": 10}}
notes.get
Читает одну заметку: её название, текст в формате Markdown (постранично) и ссылки.
Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content
Аргументы
Заметка из notes.list или sessions.notes.
Размер страницы в символах. От 1 000 до 200 000. По умолчанию 20000.
nextOffset из предыдущего чтения. Смещение за пределами конца отклоняется.
Возвращает: {noteId, workspaceId, title, markdown, truncated, nextOffset, pinned, createdAt, updatedAt, links}. updatedAt — это значение, которое notes.update принимает как expectedUpdatedAt.
- Для заметки в корзине возвращается
not_found.
{"tool": "notes.get", "args": {"noteId": "note_789"}}
notes.trash.list
Показывает заметки в корзине.
Чтение · выполняется через talkbar_read · переключатель MCP по умолчанию Вкл. · группа политики content
Аргументы
Сколько вернуть. От 1 до 200. По умолчанию 50.
Возвращает: {notes: [{noteId, title, trashedAt}]}.
notes.create
Создаёт заметку из Markdown; её можно сразу отнести к проекту и сессиям.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Название заметки. Может быть пустым, как в приложении.
Текст заметки в формате Markdown. (Аргумент называется markdown; body, content и text отклоняются.)
Отнести заметку к этому проекту.
Отнести заметку к этим сессиям. Сессия, указанная дважды, учитывается один раз.
Закрепить заметку.
Возвращает: {noteId, title, pinned, sessionId, updatedAt, projectId, sessionIds}. projectId и sessionIds показывают, к чему относится заметка.
- Проект и сессии должны существовать и не находиться в корзине.
{"tool": "notes.create", "args": {"title": "Follow-up plan", "markdown": "## Next steps\n- Send the proposal by Friday", "projectId": "proj_456"}}
notes.update
Переименовывает заметку и/или заменяет её текст на Markdown.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Заметка из notes.list или sessions.notes.
Новое название. Пустое название очищает его.
Новый текст в формате Markdown. Заменяет весь текст заметки.
Заменить текст, содержащий то, что нельзя передать в Markdown, например встроенные карточки. Без этого аргумента такая заметка отклоняется.
updatedAt заметки, от которого вы начали правку. Если с тех пор заметка изменилась — в TalkBar или через другой вызов, — правка отклоняется с conflict и ничего не записывается.
Возвращает: {noteId, title, pinned, sessionId, updatedAt}; для собственной заметки сессии — также sessionStatus (и warning, если сессия была прервана или TalkBar не запущен).
- Укажите название, markdown или оба. Если меняется только название, текст и встроенные в него ссылки сохраняются.
- Ответ
conflictсодержит текущее значениеupdatedAtзаметки: перечитайте заметку, объедините изменения и повторите попытку. - Заметка в корзине отклоняется: сначала восстановите её.
{"tool": "notes.update", "args": {"noteId": "note_789", "markdown": "# Plan\nUpdated after the call.", "expectedUpdatedAt": 1761990000000}}
notes.append
Добавляет Markdown в конец заметки. Проверка на конфликт не нужна, так как текст только дописывается к имеющемуся.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Заметка из notes.list или sessions.notes.
Добавляемый текст в формате Markdown. Не может быть пустым.
Возвращает: то же, что notes.update, включая sessionStatus для собственной заметки сессии.
- Чтобы писать в заметку текущей сессии, найдите её
noteIdчерезsessions.notes(role: "session").
{"tool": "notes.append", "args": {"noteId": "note_789", "markdown": "- Dana will send the contract draft."}}
notes.move
Задаёт проект заметки и/или сессии, к которым она относится. Остальные связи сохраняются.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Заметка из notes.list или sessions.notes.
Проект или null, чтобы убрать заметку из проекта.
Сессии, к которым отнести заметку. Заменяет текущий список сессий заметки.
Возвращает: {noteId, projectId, sessionIds} — к чему заметка относится теперь.
- Укажите
projectId,sessionIdsили оба.
notes.pin
Закрепляет или открепляет заметку.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Заметка из notes.list или sessions.notes.
true закрепляет, false открепляет.
Возвращает: {noteId, pinned}.
notes.trash
Перемещает заметку в корзину. Её можно восстановить.
Изменение · выполняется через talkbar_delete · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Заметка из notes.list или sessions.notes.
Возвращает: {noteId, trashed: true}. Перемещение в корзину заметки, которая уже там, проходит успешно.
- Выполняется через
talkbar_delete: требует вашего подтверждения, если ваше ИИ-приложение умеет его запрашивать; запросы приложений, которые не умеют, отклоняются, если не включён параметр Разрешить удаление без подтверждения.
notes.restore
Возвращает заметку из корзины.
Изменение · выполняется через talkbar_change · переключатель MCP по умолчанию Выкл. · группа политики contentChanges
Аргументы
Заметка из notes.list или sessions.notes.
Возвращает: {noteId, restored: true}. Для заметки, которой нет в корзине, возвращается тот же ответ.