Окидач покреће сесију без присутне особе. cron распоред је покреће у одређено време; потписани webhook је покреће на догађај. У оба случаја агент добија сопствени cloud рачунар, сопствену грану и исти преглед при повратку.
Првог дана у месецу у 06:30
0 30 6 1 * *
Окидач је сат или потпис. Све остало — у чије име се извршава, шта говори и у коју сесију стиже — иста је конфигурација у оба случаја.
cron израз са 6 поља — секунда, минут, сат, дан, месец, дан у недељи — у било којој IANA временској зони. Или једна run_at временска ознака за нешто што треба да се деси једном, па да остане тихо.
Спољни сервис шаље POST на URL окидача. Kortix проверава потпис, убацује payload у prompt и покреће сесију. Payload који не прође ваш филтер прихвата се и занемарује.
Сваки окидач у пројекту је један ред: како се зове, када се активира, у чијој временској зони, у чије име се извршава и у коју сесију та активација стиже. Ништа није скривено стање у које морате да кликнете.
| Trigger | Cron | Timezone | Agent | Session |
|---|---|---|---|---|
| daily-digest | 0 0 9 * * 1-5Радним данима у 09:00 | America/Los_Angeles | kortix | свеже |
| invoice-sweep | 0 30 6 1 * *Првог дана у месецу у 06:30 | Europe/Berlin | финансије | поново користи |
| oncall-handoff | 0 0 17 * * 5Петком у 17:00 | UTC | подршка | свеже |
| roadmap-review | 0 0 8 * * 1Понедељком у 08:00 | America/New_York | планер | закачено |
Окидачи се налазе у kortix.yaml поред ваших агената и sandbox слика. Сваки наводи агента, свој распоред или тајну и шаблон prompt-а који постаје прва порука сесије.
# fires on the clocktriggers: - slug: daily-digest type: cron agent: kortix cron: "0 0 9 * * 1-5" timezone: America/Los_Angeles session_mode: fresh prompt: | Summarize yesterday’s commits. Open a change request against main. # fires on an event - slug: new-lead type: webhook agent: sales secret_env: WEBHOOK_SECRET prompt: >- A new lead arrived: {{ body.name }} ({{ body.email }}). Add it to the CRM.# add it, ship it, and the schedule is live$ kortix triggers add daily-digest --type cron \ --cron "0 0 9 * * 1-5" \ --timezone America/Los_Angeles \ --prompt "Summarize yesterday. Open a CR."$ kortix ship→ kortix.yaml pushed. daily-digest is scheduled. # see every trigger and when it last fired$ kortix triggers ls # do not wait for 09:00 to find out$ kortix triggers fire daily-digest→ session startedPrompt приказује {{ token.dotted.path }} у односу на payload који га је активирао. Webhook активација добија {{ body.* }} и заглавља захтева; cron активација добија {{ cron.schedule }}, {{ cron.timezone }} и {{ cron.scheduled_for }}. Вредност која не постоји приказује се као празна — без грешке и без преосталих витичастих заграда у поруци коју агент чита.
Сваки webhook окидач наводи тајну пројекта која га потписује. Окидач без ње се одбија при валидацији — не постоји неаутентификовани webhook који ћете заборавити да закључате касније.
POST /v1/webhooks/projects/{projectId}/{slug}
X-Kortix-Signature: sha256=<hmac>
HMAC-SHA256 над сировим телом захтева, упоређен у константном времену. Заглавље X-Hub-Signature-256 компатибилно са GitHub-ом такође функционише, па webhook репозиторијума не захтева адаптер.
Филтер је путања са тачкама која се упоређује са истим садржајем који види упит. Служи за прекидање петљи: извор који пријављује обе стране разговора иначе би покренуо агента на његовом сопственом одговору.
Подразумевано је свако покретање нови почетак. Када је посао нит која је у току, а не нови задатак, окидач може поново да пошаље упит сесији коју већ поседује. Kortix испробава режиме редом и прелази на следећи ако претходни не успе, тако да покретање никада једноставно не нестане.
Поново пошаљи упит једној тачно одређеној сесији, наведеној по ID-ју. Ако је сесија нестала или није успела, прелази се на следећи режим.
Из садржаја направи кључ, а затим поново пошаљи упит најновијој здравој сесији означеној тим тачним кључем. Један корисник, једна нит. Никада не прелази у сесију другог кључа.
Поново пошаљи упит најновијој здравој сесији коју је овај окидач креирао. Закачени окидач овде прелази пре даљег преласка.
Направи нову грану и покрени нови cloud рачунар. Ово је подразумевано и крајње решење за све друге режиме.
Покренута сесија видљива је целом пројекту, а не само особи која је подесила окидач. Сама се зауставља после 5 минута неактивности, па аутоматизација покренута у 3 ујутру неће наплаћивати рачунар до јутра.
Аутоматизација нема ниједну привилегију коју особа не би имала. Иста изолација, исти ограничени домет, исти једини пут назад до main.
Почните са једним послом и ширите се одатле.