Architect layer
Telegram bot
The architect's own tool, built to make their work faster — and a live demonstration of how this project remembers.
Settings
The token, the connection and everything the bot needs in order to answer.
What this gives you. A door into your project from a messenger instead of a browser. A person writes to your bot and gets an answer built from your own knowledge base — no separate app, no login screen.
Telegram
linked to @roma_armstrongCurrent bot: @TestFracteraBot
Once linked, the bot answers from the knowledge base of this project. It never invents an answer: with the base empty or the service off, it says so.
OpenAI key
An OpenAI key is set…j8sAThe bot needs it more often than not: without this key a voice note is not transcribed and an answer is not composed. It is set here so that both settings live on one screen.
The project restarts to pick up the new key; the channel service reads it straight away.
Schedule
How often the product is asked whether a reminder has come due. Reminders have to fire while nobody is looking at the site, so something has to knock — this is it. Off means the project has no reminders and pays for none.
Fact registry
25 facts
What this project knows how to pull out of a message: the date of the event, money, a place, a link to what was said before. Each of them is a declared ability — not a label.
How it arrived
- Печатный текст
material.textbuilt-in
Человек написал сообщение буквами.
Канал отдаёт сообщение без вложения звука.
tgdesk_messages.raw_kind
- Голосовое сообщение
material.voicebuilt-in
Человек надиктовал. Служба расшифровывает запись, и дальше по потоку она неотличима от печатного текста — отличие видно только здесь.
Канал отдаёт вложение звука; служба возвращает расшифровку.
tgdesk_messages.raw_kind
Why it arrived
- capture
intent.capturebuilt-in
Человек рассказывает о случившемся — это сохраняется.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
- question
intent.questionbuilt-in
Спрашивает о собственной жизни: что покупал, обещал, тратил.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
- schedule
intent.schedulebuilt-in
Просит напомнить или поставить событие в календарь.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
- confirm
intent.confirmbuilt-in
Соглашается или отказывается — и больше ничего.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
- correct
intent.correctbuilt-in
Поправляет то, что система предложила: другую дату, другую сумму.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
- where
intent.wherebuilt-in
Отвечает на вопрос, где он живёт, — для часового пояса.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
- meta
intent.metabuilt-in
Спрашивает о самой системе: кто ты, что умеешь.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
- command
intent.commandbuilt-in
Команда, начинается с косой черты.
Маршрутизатор намерений спрашивает модель одним коротким вопросом и получает имя ветви.
ветвь обработки; в базе не хранится
What it turned out to be
- memo
entity.memobuilt-in
Просьба запомнить нечто как есть.
Разбор рассказа возвращает род сущности и её поля.
tgdesk_entries.kind
- note
entity.notebuilt-in
Заметка: факт, который стоит сохранить.
Разбор рассказа возвращает род сущности и её поля.
tgdesk_entries.kind
- task
entity.taskbuilt-in
Задача — то, что человек собирается сделать.
Разбор рассказа возвращает род сущности и её поля.
tgdesk_entries.kind
- receipt
entity.receiptbuilt-in
Чек или покупка: сумма, продавец, предмет.
Разбор рассказа возвращает род сущности и её поля.
tgdesk_entries.kind
- place
entity.placebuilt-in
Место — адрес, заведение, точка на карте.
Разбор рассказа возвращает род сущности и её поля.
tgdesk_entries.kind
- idea
entity.ideabuilt-in
Идея, замысел, мысль на будущее.
Разбор рассказа возвращает род сущности и её поля.
tgdesk_entries.kind
Where it went
- Медиатека
destination.mediabuilt-in
Присланный файл сохранён и доступен по имени.
Отметка ставится обработкой, когда отправка прошла; отказ пишется в заметки сообщения.
tgdesk_artifacts.kind
- Векторный склад
destination.vectorbuilt-in
Смысл сообщения записан для поиска по смыслу, а не по словам.
Отметка ставится обработкой, когда отправка прошла; отказ пишется в заметки сообщения.
tgdesk_artifacts.kind
- Граф знаний
destination.ragbuilt-in
Конверт сообщения ушёл в граф: источник, автор, время, признаки, суть.
Отметка ставится обработкой, когда отправка прошла; отказ пишется в заметки сообщения.
tgdesk_artifacts.kind
What was extracted
- Связь с другим сообщением
field.linkbuilt-in
cannot be turned off
Сообщения одного разговора, идущие подряд. Человек говорит «эту фотографию», «то место» — и без связи вторая фраза теряет предмет первой.
Сегодня — по времени: соседнее сообщение того же чата в пределах 180 секунд. По смыслу пока не ищется.
no table of its own: a link is a relation, not a value
- Когда это случилось
field.happenedbuilt-in
Дата события отдельно от даты рассказа. «Вчера купил» кладётся под вчерашнее число, а не под минуту разговора.
Разбор возвращает дату события, если она названа словами: вчера, в понедельник, третьего числа.
tgdesk_messages.happened_unix
- Тут про деньги
field.moneybuilt-in
Отметка, что в сообщении речь о цене, оплате или заработке. По ней «покажи траты» отвечается условием, а не перечитыванием года переписки.
Разбор ставит отметку, когда упомянута цена, платёж или зарплата.
tgdesk_messages.has_financial
- Координаты
field.geobuilt-in
Точка на карте, присланная Telegram. Слово «здесь» координатами не становится — сегодня их даёт только настоящая геометка.
Канал присылает широту и долготу вложением.
tgdesk_messages.lat, tgdesk_messages.lon
- Переслано от
field.forwardedbuilt-in
Кто автор пересланного сообщения. Важно, когда человек передаёт чужие слова.
Канал сообщает имя исходного отправителя.
tgdesk_messages.forwarded_from
- О чём это
field.facetsbuilt-in
Два-шесть коротких тегов, называющих предмет сообщения словами человека. Сегодня они уезжают только в конверт графа и никуда больше — это готовый поток кандидатов в реестр.
Разбор возвращает теги вместе со сводкой.
нигде: печатается в конверт графа
Your own instruction for the bot
Being built
A text you write yourself and the bot follows in addition to its own rules — your limits, your tone, your subject. It is added to the instruction the bot already has, not instead of it.