Интервју со Горан Арсов: Како Fresh Jots ги спојува MCP, Биткоин нотаризацијата со секојдневната работа на програмерите

0 коментари 22 мин. читање

Не секој ден се среќава човек што во ист ден може да предава физика, да замеси пица, да произведе вино и да напише Ruby код. Горан Арсов е токму тоа, дипломиран професор по физика, сопственик на микро-пицеријата Amici Pizza, Винарија Арсов, и искусен Full Stack девелопер.

Неговата најнова креација, Fresh Jots, започна од редовна фрустрација за секој програмер: хаосот од белешки расфрлани по компјутери, телефони и уреди. За среќа, она што започна како личен дигитален нотес, брзо се претвори во моќна платформа за инженерска организација. Fresh Jots e систем кој им овозможува на девелоперите, софтверските системи и AI асистентите безбедно да запишуваат, следат и криптографски да докажуваат сработени таскови, транскрипти и системски логови.

Со Горан разговараме за тоа како Fresh Jots го менува начинот на кој програмерите соработуваат со AI, зошто е важна нотаризацијата на податоците преку Биткоин и како еден софтверски систем може да ти донесе целосен „психички мир“.

Горан Арсов

 Што точно е Fresh Jots и која беше причината во твојата секојдневна работа што те инспирира да ја креираш оваа платформа?

Првин почна од мојата лична фрустрација при правење белешки. Едни белешки на работниот лаптоп, други на домашниот, трети на едниот мобилен, четврти на другиот мобилен. Еве, сега имам единствено место каде ги правам сите битни белешки (лична потрошувачка, евиденција за регистарски број за документи на фирма, работни белешки, други белешки). 

Обично имам по 4-5 и повеќе белешки отворени, 2-3 темп-белешки кои сакам да ми се на дофат на клик (пин-увани) со битните линии код кои често ги повторувам додека работам. Затоа направив лента на која ги поставувам сите белешки кои сакам да ми се на клик, со копче едно до друго. Белешката лесно се снима и изменува.

Кога ми треба содржината на некој документ, многу ме нервира тоа што морам да го отворам, па да селектирам се’, целиот текст, па да копирам (неколку пати Ctrl+C,  за да биде сигурно). Затоа направив копче за копирање на содржината на документот „Copy content“. Ова многу ме ќефи секој пат. :)

Потоа ми текна дека можам да имплементирам да му кажам на Claude Code, додека работам, да ми напише белешка во мојата Fresh Jots сметка која ќе е опис на сѐ што имам сработено за дадената работна задача; па дека треба да ми напише опис на сработеното за да е пи-ар опис при отворањето на пи-ар-ите на GitHub (неопходност која остава впечаток на професионалност); потоа ми текна дека сакам да му кажам на Claude Code (внатре во сесијата) да ми напише белешка во Fresh Jots сметката за било што (што треба да сработам надвор од работното време).

Потоа ми текна дека секој програмски јазик може да комуницира со Fresh Jots за да праќа текст во белешка, па сработив функционалност и блогови за имплементација. Сработив и руби џем. Сега можете да пишете белешка од било кој програмски јазик (од самиот код), од JavaScript код, па дури и преку SQL. Придобивките се широки и длабоки.

Сработив локално снимање на сите мои сесии при професионалната работа со Claude Code за американски клиент, за да имам доказ за работа. Па ми текна дека е добро сите да ги зачувам на мојот Fresh Jots профил за секој случај. Имав потреба од следење на ефектите на моите четири веб-апликации, па ми текна дека може секоја да си запишува во своја папка дали е успешно дневното снимање на базата на податоци, запишување на сите серверски грешки во соодветна белешка за понатамошно лесно пребарување (со „АИ“) и решавање, извештај за корисници кои плаќаат (кога, дали платиле); следење на извештаите од интеграциите на кодот на GitHub…

Ми текна дека сакам секоја испратена белешка на мојот Fresh Jots профил да има доказ дека ја немам изменето од денот на создавањето после седум или 27 месеци, за да е доказ дека имам нешто кажано точно сега, денеска и доказ дека работните обврски се точно како што се запишани кога ги имам ставено на Fresh Jots (комуницирањето во сесијата има хронолошки ознаки, па може да се покаже и како доказ за изминато време при работа, покрај доказ за сработеното) – нотаризација чија исправност никој не може да ја побие.

Ми текна дека ми треба, па сработив секоја белешка да ми праќа имејл ако не добие нови податоци во рок од 24 часа бидејќи еднаш дневно се запишува успешно копирање на базата на податоци на моите виртуелни сервери каде живеат моите страни.

Има и други подобности како отворање на поп-ап (екстензија за пребарувач) при притискање две копчиња (без оглед дали сум со пребарувачот на фејсбук, јутјуб, трета страна) и праќање кратка нова белешка на мојот Fresh Jots профил; имплементирав букмаркирање со кое само го селектирате текстот кој ви е битен на некоја интернет страна, притискате на копчето за букмарк и создавате нова белешка на Вашиот Fresh Jots профил со одберениот текст и линк до страната на која сте (и соодветен наслов на белешката).

Fresh Jots е огромна помош, лично обезбедување, центар за следење на записи од целиот софтвер кој еден програмер сака да го има, а му треба само интернет и сосема малку работа за поставување на основите за праќање на Fresh Jots.

Мене Fresh Jots ми е обезбедување, психички мир, фокус на сработеното, пристап и следење на најбитните белешки (информации) кои сакам да ги знам каде и да сум на Земјата, од кој и да е апарат (сечиј таблет, телефон, компјутер), но и од кој и да е ви-пи-ес сервер.

Сето ова јас го имам моментално во мојата работа, а може да го има и секој друг со трошење само малку од своето време ако направат бесплатен профил на Fresh Jots (само имејл и имејл-потврда, не се бара кредитна картичка или било што друго) и напишаат две линии код во нивниот терминал (прочитајте Two step set up). Ако не сакате толку малку „да се замарате“, треба да размислите дали воопшто програмерскиот занает е за вас (можно е дека сте ја промашиле професионалната љубов).

Во видеото Key Fresh Jots Functionalities демонстрираш како AI асистентите можат автономно да читаат, креираат, менуваат, па дури и да бришат белешки. Како се балансира односот помеѓу автономијата на AI и контролата на корисникот над податоците?

MCP на Fresh Jots дозволува само одредени наредби врз профилот. Ако корисникот му каже да запише нешто, ќе запише. Доколку claude.ai се користи за нешто и корисникот даде наредба за правење нешто на профилот на Fresh Jots, наредбата ќе биде спроведена на најдобар можен начин според claude.ai. Најнепријатните настани се ако некоја белешка е непосакувно променета или непосакувано избришана бидејќи „АИ“ така заклучил од тоа што сте му напишале. Тогаш можете да погледнете во историјата на промените на белешката на страната, па да вратите назад, а ако е избришана, оди во „кантата“ на Вашиот Fresh Jots Профил од каде може да биде вратена за 30 дена.

Пример за белешка:

Како Fresh Jots комуницира со AI алатките? Какви можности му отвора ова на еден програмер или инженер? 

Треба да имате бесплатен профил на Fresh Jots со пробен период од 14 денови, кога добивате код и можете да работите како и платен Dev профил. Fresh Jots ima „MCP“ (лат.) сервер: https://freshjots.com/mcp.

Ако имате бесплатен профил на claude.ai, ова е начинот: Connect Fresh Jots to any AI assistant over MCP — just talk to your notes за сработување да можете да му кажете да ви напише белешка, па се поврзува и ја пише; можете да му кажете да ги анализира сите белешки во даден фолдер и да ви го најде бројот на човекот со кој сте зборувале за црвениот браник минатата пролет (или да ви ја анализира работата, или да направи сумарум на сето кажано од професорот на даден предмет бидејќи сте фаќале белешки од предавањата на часот на Fresh Jots (со лаптоп, белешките по предметот се во своја папка, за секој посебен час). chatgpt.com има рестрикции и морате да имате добро платена сметка за да ги користите овие придобивки.

Профилот на Fresh Jots може да се поврзе со Cursor, со следните придобивки:

1. Вашите белешки стануваат алатки во агентот на Cursor. Додајте ‘https://freshjots.com/mcp во ~/.cursor/mcp.json’ (за сите проекти) или во .cursor/mcp.json (за еден проект). Cursor еднаш го отвора прелистувачот за OAuth, или испраќате bearer заглавие со ‘${env:FRESHJOTS_TOKEN}’.

Оттогаш агентот може да листа, чита, создава, допишува, менува, брише и преместува белешки и да управува со папки, па прашањето „што одлучив за рефакторирањето на автентикацијата?“ добива одговор од вашиот сопствен бележник, а не од историјата на разговори во Cursor.

2. Одлуките го преживуваат разговорот. Разговорите во Cursor се по проект и лесно се губат. Едно правило во Cursor (или ред во AGENTS.md) како „кога задачата е завршена, допиши кратко резиме што е променето и зошто во cursor-sessions.txt“ го тера агентот сам да го запише тоа, во белешка што живее надвор од кое било складиште (repository).

3. Запис на кој клиентот може да му верува. Белешките носат временски печат по RFC 3161 и дневно сидро во Bitcoin, а белешката може да се заклучи само за допишување, така што ништо запишано не може тивко да се измени подоцна. Тој дневник е доказот зад фактура за работа со помош на AI.

4. Ист бележник од секоја алатка. Ако користите и Claude Code или Codex, нивните автоматски архивирани сесии слетуваат во истата папка ai_sessions, а Cursor ги чита преку MCP, па задача започната во една алатка и завршена во друга има една историја, сè пребарливо и читливо од телефон.

5. Куките (hooks) на Cursor ги претвораат дејствата на агентот во дневник. hooks.json на Cursor ги пали настаните afterShellExecution, afterFileEdit и stop. Мала скрипта може со curl да ги испрати тие настани во белешка адресирана по име на датотека, по една за проект, а „dead-man’s switch“ на таа белешка ве известува кога закажан агент ќе престане да јавува. (Fresh Jots има готови рецепти за архивирање за Claude Code и Codex; за Cursor тоа е кратка изработка врз истата append крајна точка.)

6. Скриптите што ги пишува агентот добиваат сопствени белешки. Секоја deploy или cron скрипта што Cursor ја генерира може да запишува во deploy.txt со еден curl, а влезната sink адреса прима POST од CI или webhook-ови. Секој дневник е белешка што самиот агент може да ја прочита при дебагирање.

7. Единствено место за споделување на работата. Секоја белешка може да добие јавен линк за споделување, па резиме од сесија или runbook што агентот го произвел може да се прати на колега или клиент без да им се даде пристап до Cursor или до складиштето.

Забелешки за плановите: читањето преку MCP работи на секоја сметка, за пишување од агентот преку MCP треба планот Personal, а за REST, куки и CLI треба Dev токен (регистрација во режимот „Plain notes“ дава 14-дневен пробен Dev токен). Cursor се поврзува на своите планови, без посебен работен простор.

Fresh Jots користи двојна нотаризација: преку TSA (Time Stamping Authority) и преку Bitcoin блокчејнот. Зошто е важна временската и текстуалната валидација на белешките и транскриптите од AI сесиите?

Зошто е важна временската и текстуалната валидација? Двете одговараат на две различни прашања:

– Текстуалната валидација одговара на „дали ова е точно она што било запишано?“. Кај append-only белешките секој нов запис е поврзан со претходниот хеш, па не може ниту да се вметне, ниту да се избрише, ниту да се преуреди запис без да пукне целиот ланец.

– Временската валидација одговара на „кога постоело ова?“. Хеш без време докажува само содржина. Некој може да го произведе и утре и да тврди дека е од лани. Затоа хешот се врзува за две независни временски точки: TSA потпишува во секунда со сертификат од акредитирана трета страна, а Bitcoin го замрзнува во блок што никој не може да го препише.

Зошто две наместо една

Секоја има слабост што другата ја покрива. TSA е моментална, но бара доверба во еден авторитет и неговиот сертификат. Bitcoin не бара доверба во никого, но финализира дури по еден ден. Напаѓачот што сака да лаже за времето треба истовремено да го компромитира акредитираниот авторитет и да го препише Bitcoin блокчејнот, што практично е неизводливо. Доказот што го добива корисникот е самостоен: точните бајти, ланецот хешови, Merkle патеката, Bitcoin временскиот печат и TSA токенот. Проверката се прави со стандардни алатки и воопшто не зависи од Fresh Jots ниту од тоа дали сè уште постои.

Ова е особено важно за транскрипти од AI сесии поради следното:

– Доказ за извршена работа. Кога наплатуваш на клиент за работа направена со запис за тоа што било побарано, што било направено и кога. Без печат тоа се само текстуални датотеки што секој може да ги измени.

– Авторство и приоритет. AI генерира текст брзо и без сведоци. Печатот докажува дека решението постоело кај тебе на одреден датум, пред да го покажеш некому.

– Транскриптите можат да бидат фалсификувани со препишување. Тоа е обичен текст. Затоа бараат доверба од спротивната страна (која во старт е недоверлива) ако се без независен, надворешен доказ.

– Долготрајност. Транскриптите често се проверуваат месеци подоцна, кога сеќавањата се разидуваат. Печатот замрзнува и содржината и моментот, па спорот се решава со математика, а не со кажано-речено.

Печатот докажува дека „точно оваа содржина постоела во времето T и оттогаш содржината е вистинита, а не дека не била изменета пред да стигне до серверот. Ако нешто е променето на патот, печатот верно го нотаризира изменетото.

Како функционира овој процес на нотаризација локално наспроти оној што се случува на самата платформа?

Накратко:

– Локално: снимање, прв независен временски печат пред качување, и на крајот верификација на доказот.

– Платформа: врзување или резервно печатирање, дневни снимки, Меркле агрегирање и Биткоин усидрување, генерирање на пакетот докази.

Двете страни користат SHA-256 за точните бајти. Тоа е она што им овозможува на локалното печатирање, серверското ливче („server leaf“ анг.), и на Bitcoin сидрото да се однесуваат на истата содржина.

Локално, на твојата машина (hook-от за Claude Code / Codex). Ова го прави скриптата што ја инсталира claude-code-auto-archive-prompt.txt, при SessionEnd и PreCompact:

1. Снимање. Транскриптот се чита и се чува локално во ‘~/.claude/freshjots-stash/’ (последните 500 документи/датотеки). Локалната копија останува дури и ако качувањето падне.

2. Локален TSA печат, пред качување. Со ‘openssl ts -query -data <датотека> -sha256’ се прави барање и се испраќа до RFC 3161 авторитетот. Авторитетот гледа само SHA-256 хешот, никогаш содржината. Одговорот е потпишан токен кој вели „овој хеш постоел во оваа секунда“.

3. Качување. Транскриптот, токенот и URL-то на авторитетот се испраќаат заедно на ‘POST /api/v1/notes’ како append-only белешка во папката ai_sessions.

4. Best-effort. Ако нема openssl или авторитетот е недостапен, белешката се качува без токен и платформата ја печатира.

Клучното овде е дека локалниот печат го докажува времето пред Fresh Jots воопшто да ја види белешката. Платформата не може да антидатира нешто што уште не го примила, а токенот е издаден од трета страна, не од нас. На платформата (серверот):

1. Хеш ланец при запишување. ContentHasher прави SHA-256 од точните бајти и минта „лист“: SHA256(0x00 ‖ note_token ‖ prev_hash ‖ content_hash). Секој нов append е нов лист врзан за претходниот. Канонските бајти се чуваат компресирани, за доказот да ја носи точната предслика дури и ако телото подоцна се смени. Хеширањето никогаш не го блокира самото запишување (savepoint + job за повторен обид).

2. Врзување на локалниот токен. Tsa::TokenIngestor го зема токенот што го прати hook-от и го врзува за листот за создавање, означен како client_uploaded. Дигестот е идентичен на двете страни, SHA-256 од истите бајти, па локалниот печат и серверскиот лист се совпаѓаат без преведување.

3. Серверски печат како резерва. Белешки без токен ги печатира StampUnstampedNotesJob ноќе (означени server_stamped). Ова важи и за белешки создадени од веб, од CLI, од MCP или од webhook, каде нема локален чекор. Канарски job примерочно ги верификува токените.

4. Bitcoin сидрење, само на серверот. Во 5:15 HashEditableNotesJob прави дневен блиц (слика) на белешките кои можат да се менуваат (едитираат). Во 5:20 BuildDailyMerkleAnchorJob ги накупчува сите листови од претходниот UTC ден во едно Merkle дрво, коренот го врзува за коренот од претходниот ден и го праќа на OpenTimestamps. Потоа UpgradePendingAnchorsJob го следи додека не влезе во Bitcoin блок. Ова не може да се прави локално: сидрењето е агрегација на сите сметки, истовремено, и има потреба од ots binary на хостот.

5. Пакет со доказ. Provenance::ProofBundle извезува сè што му треба на трето лице: точните бајти, ланецот хешови, Merkle патеката, .ots доказот и TSA токенот.

Верификацијата пак се враќа локално. Проверката на доказот не зависи од платформата. Локално извршуваш sha256sum, ‘openssl ts -verify -digest <hash> -in token.tsr -CAfile tsa-ca.pem’ и ‘ots verify anchor.ots’, и секој чекор се проверува со стандардни алатки, без сметка и без Fresh Jots. Постои странатa https://freshjots.com/verify за логираните корисници, со серверски и in-browser верификатор за секојдневните корисници, но кодот експлицитно ја задржува Bitcoin проверката како офлајн ots verify, токму за да не мора да ни верувате.

Изглед на страната за покажување на состојбата со нотаризација за белешките

Има примери каде CI/CD пајплајни, GitHub Actions, па дури и платежни системи (како Stripe/VPS скрипти) испраќаат логови директно во Fresh Jots. Колку е лесно да се постави ваква автоматизација?

Многу лесно. За трите постои готова примитива и поставувањето трае неколку минути:

– GitHub Action: еден чекор од четири реда, без инсталација.

– Cron/VPS: еден ред на крајот од скриптата; идемпотентност и аларм се уште по еден флаг.

– Stripe/webhook: еден URL залепен во туѓ dashboard, нула код.

Секој од нив е под минута ако имате токен.

Основнa потребa e Dev и Team ниво Fresh Jots (или 14 дена пробен период за корисник кој ќе одбере бесплатно ниво).

Пат 1: GitHub Actions, четири реда

Во workflow-то се додава еден чекор: ‘uses: Goran-Arsov/freshjots-append@v1‘, со ‘note: deploys-prod, text: "deployed github.sha (job.status)' и env FRESHJOTS_TOKEN: ${{ secrets.FRESHJOTS_TOKEN }}. Ништо не се инсталира.

Пат 2: VPS и cron скрипти, еден ред

На крајот од скриптата: freshjots append cron-jobs-prod “backup ok $(date)”, или без CLI, еден curl кон ‘POST https://freshjots.com/api/v1/notes/by-filename/cron-jobs-prod/append’ со JSON ‘{“text”: “…”}’ и bearer заглавие. Две работи го прават ова робусно без дополнителен труд:

– Идемпотентност. Ако скриптата повторува при мрежна грешка, се праќа заглавие Idempotency-Key. Ист клуч со исто тело го враќа оригиналниот одговор (означен со ‘Idempotent-Replay: true’) наместо да додаде дупликат.

– Dead-man’s switch. Со ‘freshjots set cron-jobs-prod –deadline 24 –alert-email [email protected]’ (или рачно одете на опциите за белешката на веб-страната) Fresh Jots праќа е-пошта кога во тој период („24“ значи часови) не стигнал ниту еден append.

Пат 3: Stripe и кој било webhook, нула код

Fresh Jots на append-only белешка ѝ дава inbox адреса, а на Stripe може да му се каже да го праќа JSON-от од настаните на кој било јавен HTTPS URL.

1. Земи API токен за Fresh Jots од ‘https://freshjots.com/settings/api_tokens’.

2. Создај ја приемната белешка како append-only plain-text.

3. Вклучи го webhook inbox-от и копирај го URL-то.

4. Регистрирај го URL-то во Stripe. Во Stripe Dashboard отвори го табот Webhooks во Workbench, кликни Create an event destination, избери Your account, избери ја API верзијата, избери ги типовите настани што ги сакаш, кликни Continue, избери Webhook endpoint како тип на дестинација, кликни Continue и залепи го Fresh Jots inbox URL-то во Endpoint URL. Во постариот Developers Dashboard патот е Webhooks, Create an event destination, Endpoint URL, Select events, Add endpoint.

5. Претплати се само на настаните што навистина сакаш да ги читаш. Избери неколку, како invoice.paid, charge.refunded, customer.subscription.deleted, наместо сите настани.

6. Прескокни ја signing secret. Тајниот URL на webhook inbox е единствената заштита, што е сосема добро за лог за читање.

7. Прати тест настан. Или создај објект во sandbox Dashboard-от, на пример тест купувач или плаќање, или изврши stripe trigger payment_intent.succeeded од Stripe CLI по stripe login.

8. Провери на двата краја. Во Stripe отвори го табот Event deliveries на endpoint-от и потврди дека доставата е Delivered со статус 200. Во Fresh Jots изврши freshjots cat stripe-events и побарај блок што почнува со UTC временски печат, проследен од JSON-от на настанот. Ако некоја достава падне откако е прифатена, се појавува на https://freshjots.com/settings/monitoring со копче за повторна обработка.

9. По желба: претвори ја белешката во аларм или во ‘feed. freshjots set stripe-events –deadline 168 –alert-email [email protected]’ ти праќа е-пошта ако помине цела недела без ниту еден настан. Поставен webhook URL на истата белешка го препраќа секој нов запис кон Slack, Discord, Google Chat, Mattermost или Rocket.Chat.

Stripe повторува неуспешни достави до три дена во live режим и може истиот настан да го достави повеќе од еднаш, а повторната достава ќе се појави како втор блок во белешката. Stripe исто така не гарантира редослед на настаните, па читај ја белешката како лог, не како книговодство.

Серверското логирање го комплетира целиот животен циклус на проектот врзан со Stripe (или со Lemon Squeezy, кој се користи од Fresh Jots за наплата): Секој еден џоб (анг. „job“) во кодот на апликацијата, во секој чекор од комуникацијата со процесорот за плаќање може да праќа линија код во сопствена белешка (или во повеќе белешки), па така може да се знае за погрешни плаќања, плаќања кои се незавршени, барања за враќање пари… бидејќи кодот на Вашата апликација од било кој метод може да испрати линија текст во Fresh Jоts белешка.

Интересна функцијата е „Dead Man’s Switch“. Можеш ли да ни објасниш како оваа функционалност помага, на пример, при контрола на дневни бекапи на бази на податоци или критични процеси?

Класичниот мониторинг информира откако нешто ќе „пукне“. Опасниот проблем при бекап или при критичен процес не е гласен, туку е тивок: cron-от воопшто не стартувал, скриптата „умрела“ пред да извести, или серверот „умрел“ поради провајдерски проблем. Никој не добива информација за грешка, бидејќи нема кој да ја прати. Dead-man’s switch бара процесот да е активен и редовен, па тишината кажува дека постои проблем.

Доколку една белешка на Fresh Jots не добие запис во последните 25 часа, праќа имејл; можете да дадете и вебхук со што испраќа информации и на трето место како Слек-канал (Слек чат). Така знаете дека имате проблем за решавање.

Fresh Jots оди чекор подлабоко во надгледувањето со своите белешки за „срцебиења“ (анг. heartbeats). Корисник со Дев ниво има 25 специјални белешки кои не може да бидат избришани во посебен Heartbeats фолдер кој не може да биде избришан. Тие белешки се целите на код во апликацијата кој праќа информации секоја минута. Така, различни елементи на апликацијата испраќаат едноставни пингови секоја една минута со што се потврдува дека се живи. Доколку некој дел не е жив, белешката забележува во кој ден и во кое време умрела и во кој ден и во кое време оживеала. Со една линија на крон-џоб на серверот, се испраќа едноставен пинг до heartbeat белешка на мојот профил на Fresh Jots и знам дека серверот ми е жив. 

Во видеото споменуваш дека корисниците можат да користат дел од функционалностите за локално авто-архивирање целосно бесплатно и локално. Која е твојата филозофија околу open-source/локалниот пристап наспроти cloud сервисот Fresh Jots?

Со преземање на едноставен .txt документ кој можете да го дадете на Claude Code или на Codex можете да ја имате функционалноста за локално зачувување на секоја сесија после секој крај на сесијата (500 сесии). На овој начин ги имате придобивките на локално зачувување на сесиите и нивно анализирање (со истиот АИ клиент, кој има пристап до нив). Сепак, со сметка на Fresh Jots, ги зачувувате и сесиите над 500 некаде каде не зафаќа место на хард дискот, место кое ќе постои и ако Вашиот хард диск е недостапен или ако Вашата машина е недостапна. Имате многу повеќе од само зачувување и нотаризација на овие документи локално; многу повеќе. Само сетете се на функционалностите кои ги спомнавме претходно во ова интервју.

Платформата доаѓа со поддршка за CLI. Како изгледа интегрирањето на Fresh Jots во секојдневниот workflow на еден девелопер?

Интеграцијата се сведува на: секоја скрипта, cron задача, CI pipeline или AI сесија добива своја append-only белешка, адресирана по име на датотека (документ). Еднократно поставување, околу пет минути:

– Инсталација: ‘curl -fsSL https://freshjots.com/install.sh | sh, или brew tap Goran-Arsov/freshjots’ и ‘brew install freshjots’.

– Токен: се минта на ‘https://freshjots.com/settings/api_tokens’ (Dev или Team ниво; Free и Personal немаат API пристап) и се извезува како ‘FRESHJOTS_TOKEN во ~/.bashrc или ~/.zshrc’. Ако не е поставен, CLI-то само ги испишува овие три чекори.

Основа: append според име. Следната линија додава запис во белешката, а ја создава ако не постои:

freshjots append <filename> [text]

За девелоперот:

1. Дневник. Алијас j=’freshjots append engineering-journal’ и потоа j “fixed the auth bug” од кој било терминал.

2. Cron и сервери. На крајот на секоја скрипта: ‘backup.sh && freshjots append cron-jobs-prod’ “backup ok $(date)”. Со ‘freshjots set cron-jobs-prod –deadline 25 –alert-email [email protected]’ белешката станува dead-man’s switch: ако не стигне запис 25 часа, стигнува е-пошта. Тишината сама алармира, без посебен систем за мониторинг.

3. CI/CD. Во GitHub workflow еден чекор, без инсталација: uses: Goran-Arsov/freshjots-append@v1 со note: deploys-prod, или под if: failure() кон белешката failed-deploys. Во друг CI системот CLI-то работи во секоја shell.

4. AI сесии. Hook-от за Claude Code (и за Codex) секоја сесија ја архивира во папката ai_sessions, со локален TSA печат пред качување. Slash командите /save-to-freshjots, /summarize-session-to-freshjots и /write-pr-description-to-freshjots ги чуваат заклучоците, резимето или описот на PR-от директно од сесијата. Преку MCP endpoint-от https://freshjots.com/mcp (OAuth 2.1 или bearer токен) агентот во Claude, Cursor или Codex сам чита и пишува белешки, па белешка како agent-scratchpad му служи како работна меморија меѓу извршувања.

5. Читање назад од терминал. freshjots ls –sort appended -n 20 покажува што последно се движело; freshjots cat cron-jobs-prod | tail -5 ги дава последните записи… Целосното текстуално пребарување е во веб-интерфејсот.

6. Тајни и лични податоци. –encrypt со FRESHJOTS_PASSPHRASE енкриптира локално и серверот чува само шифриран текст; –decrypt го враќа. 

7. Во апликациски код. Кога треба во самата апликација, а не во shell, npm пакетот freshjots, Ruby gem-от и Python клиентот комуницираат со истиот API.

Дополнително, бесплатно е тоа што секој запис во append-only белешка се хешира во моментот на пишување, се печатира кај TSA и се сидри во Bitcoin (види ги претходните два одговори). Значи cron логот, deploy логот и AI транскриптот не се само дневник, туку и доказ дека тоа се случило тогаш и оттогаш не е менувано.

API-то и CLI-то бараат Dev или Team ниво. CLI-то работи само со plain-text белешки.

Кои се следните чекори за Fresh Jots и кои се плановите за иднина?

Секоја веб апликација е врзана со редовна работа. Мора континуирано да биде следена за решавање на повремените проблеми, мора да биде надоградувана поради излегувањето надоградби на софтверот кој е користен, комуникација со клиентите на апликацијата, спроведување подобрувања (кои некако, секогаш фалат), применување нови функционалности. Една надоградба која е планирана во иднина е имејл-интеграција. Понатаму, ако имаме среќа да добиеме стотици корисници кои плаќаат, следуваат стандардните надоградби за хоризонтално и вертикално скалирање.

Активна фаза е настапувањето во јавноста и објаснување за придобивките од Fresh Jots за програмерите и останатите, со цел за добивање нови корисници првин со бесплатното ниво, па надежта е дека ќе им се допадне и ќе си купат платено ниво. 


Клучни фукционалности на Fresh Jolts

Ако имате дополнителни прашања, или некоја идеја еве каде да го најдете Горан:

– GitHub: https://github.com/Goran-Arsov

– LinkedIn: https://www.linkedin.com/in/goran-arsov

– Фејсбук: https://www.facebook.com/arsovmk/

Напишано од

Дејан Соколоски е автор на IT.mk. Долгогодишен гејмер кого го интересираат обновливите извори на енергија, автоматизација, хардвер, фан е на стрипови, алтернативна уметност и Ливерпул.

Дискусија

Уште никој не искоментирал на темава, биди прв...

Мени
Заедница
Изглед