Skip to main content

← БлогObsidian · MCP · Cloudflare

Obsidian менің AI-хабыма көшті: барлық қызметке бір қосылым және агент салатын сызбалар

Obsidian қоймам енді Cloudflare-да тұрады, ал kosh — тапсырмаларға, жазбаларға, Telegram-ға, Go-Alpha-ға, Instagram-ға және Mac-ыма апаратын бір ғана MCP-қосылым. Агент Excalidraw сызбаларын тікелей қоймада салады. Мұның қалай құрылғаны және шектеулері қайда екені туралы.

Жарияланды 2026 ж. 31 қаз.7 мин оқу

TL;DR

Менің Obsidian қоймам енді Mac-та тұрмайды. Ол Cloudflare-да, kosh-vault ішінде тұрады. Mac пен iPhone онымен Self-hosted LiveSync плагині арқылы синхрондалады.

kosh — менің жеке AI-хабым. Бұл бір ғана MCP-қосылым, оның артында барлық қызметтерім тұр: тапсырмалар, жазбалар, Telegram, Go-Alpha, Instagram, Mac-тың күзетшісі және ондағы shell.

Енді агент Excalidraw сызбаларын тікелей қоймада салады. Obsidian-ды ашамын да, оның ойын сурет түрінде көремін. Оны қолмен түзете аламын, ал агент менің түзетулерімді көреді.

Не қинады

Мәселе екеу болды. Әрқайсысының астында: бұрын қалай еді, қазір қалай.

1. Әр қызмет — бөлек қосылым

БҰРЫН — 5 қосылым:

Claude ──▶ тапсырмалар
Claude ──▶ Telegram
Claude ──▶ Go-Alpha
Claude ──▶ Instagram
Claude ──▶ жазбалар (тек Mac-та)

ҚАЗІР — 1 қосылым:

Claude ──▶ kosh ──▶ осы қызметтердің бәрі

Әр клиентте солай еді: Claude Code, claude.ai, телефон. Жаңа қызметті әрқайсысына бөлек қосу керек болатын. Ал жазбаларды Claude тек Mac-та өзгерте алатын.

2. Агенттің түзетуі жазбаларға айналма жолмен жететін

БҰРЫН:

агент ──▶ GitHub ──(2 минутқа дейін)──▶ Mac ──(iCloud)──▶ iPhone

ҚАЗІР:

агент ──▶ kosh-vault ──(~1 с)──▶ Mac және iPhone

Бұрын түзетуді GitHub-тан Obsidian Git плагині алып келетін — екі минутқа дейін, оның өзі Mac-та Obsidian ашық тұрғанда ғана. iPhone-ға ол бұған қоса iCloud арқылы жететін. Қазір қойма бұлтта, ал Mac ұйықтай алады.

Қойма бұлтқа көшті

Маған шындықтың бір ғана көзі керек болды. Ноутбукпен бірге ұйықтап қалмайтын көз.

Дайын жоба табылды: livesync-workers — Cloudflare Workers-те жұмыс істейтін Self-hosted LiveSync плагинінің бэкенді. Мен оның форкын жасап, kosh-vault деп атадым.

Енді шындық — Durable Object ішіндегі SQLite дерекқоры. Mac пен iPhone-дағы Obsidian онымен тірі байланыс ұстап тұрады және әр өзгерісті шамамен бір секундта алады. Шын мәнінде, вебсокеттер арқылы жұмыс істейтін Obsidian.

Mac ұйықтай берсін — қойма агенттерге бәрібір қолжетімді. Қалған көшірмелердің бәрі тек бұлттың соңынан ереді: GitHub-қа сағат сайынғы сақтық көшірме және iCloud-тағы тек оқуға арналған айна.

Онсыз «тірі» синхрондау жұмыс істемейтін бір баптау бар: LiveSync-те keepReplicationActiveInBackground: true тұруы керек. Әйтпесе Obsidian терезесі басқа терезелердің артында қалғанда синхрондау тоқтап тұрады да, агенттің түзетулері мен қараған кезде ғана келеді.

kosh — бір ғана есік

kosh — Cloudflare-дағы бірнеше Worker. Атауы казактардың кошынан, яғни Сечтің ордасынан алынған.

Ішінде әр қызмет бөлек күйінде қалды. Telegram мен Go-Alpha Cloudflare Containers-те жұмыс істейді. Instagram — қарапайым Worker. Жазбалар — kosh-vault. Ал сырттан кіретін есік біреу ғана: /mcp.

Бұл іс жүзінде нені білдіреді:

  • Хаб барлық қызметтердің құралдарын өз атауларымен бір тізімге жинайды. Клиент бір ғана қосылымды көреді.
  • Қызметтер бір-бірімен ортақ токені бар ашық мекенжайлар арқылы емес, Cloudflare service bindings арқылы сөйлеседі.
  • Бөгде қызметтердің кілттерін бір ғана қосылымдар бетіне енгіземін. Олар шифрланып сақталады және оларды ешнәрсе қайта көрсетпейді.
  • Қызмет істен шықса, оның құралдары тізімде қала береді, ал шақыру шынын айтады: «қолжетімсіз».

Коштың бар мәні — әрқайсысын бөлек қоспай-ақ, барлық қызметтерімді сол арқылы қолжетімді ету еді.

Тапсырмалар — жай ғана markdown

Менің жалғыз тапсырмалар жүйем — қоймадағы жазбалар. Бір аймақ — бір файл. Басымдық — жолдағы Obsidian Tasks эмодзиі.

Агент тапсырмаларды tasks_* құралдарымен қосады, жылжытады және жабады. Әр жазу мазмұн хэші бойынша тексеріледі: егер файл осы аралықта өзгерсе, операция қайта орындалады. Әр түзету журналға бір жол болып түседі.

Тапсырмалар тақтасын kosh өзі салады, Excalidraw файлында. Тізімді қолмен өзгертсем, бір минут ішінде cron мұны байқап, тақтаны қайта салады. Тақтада бірдеңе шынымен өзгергенде ғана оны жазады.

Агент сызбалар салады

Бұл ең жаңа бөлік. Төрт құрал: drawing_list, drawing_read, drawing_create, drawing_edit.

Мен сұраймын: «мына процестің қалай жұмыс істейтінін салып бер». Агент қоймада .excalidraw.md файлын жасайды. Бір секундтан кейін ол менің Mac-ымда, ал Excalidraw плагині оны өзінікіндей ашады.

агент
  │ сызбаны өзгертуді сұрайды (drawing_edit)
  ▼
kosh
  │ сурет файлын жазады
  ▼
kosh-vault (Cloudflare)
  │ LiveSync жеткізеді, ~1 с
  ▼
Obsidian-дағы ашық сурет жаңарады

Excalidraw плагинінің өз CLI құралы бар. Бірақ оған Mac-та іске қосылған Obsidian керек. Сондықтан kosh файлды плагиннің пішімінде өзі жазады — Mac ұйықтап жатса да жұмыс істейді. Төмендегі әр ереже нақты плагинде тексерілген:

  • Өзгерген әр элемент жаңа нұсқа алады — секундпен есептелген ағымдағы уақыттан кем емес. Әйтпесе ашық сурет түзетуді үнсіз елемей қояды.
  • Жою — isDeleted белгісімен. Файлдан жай ғана жоғалған элемент ашық терезеде қалады да, келесі сақтаумен қайта оралады.
  • Мәтін екі жерде өзгереді: JSON-да және Text Elements бөлімінде. Text Elements жеңеді.
  • Файл плагиннің өзі жазатындай сығылған күйде жазылады. Сонда ашық терезенің оны қайта сақтауына себеп қалмайды.

Орналасуды агенттің өзі есептеуі міндетті емес: автоматты түрі бар. Алты бөлімдегі 80 блок пен 118 көрсеткі 2,9 секундта орналасады. Алғашқы нақты сызбаны өз Obsidian-ымда қарап шығып: «иә, бәрі керемет» дедім.

Шынайы шектеулер

Ең әлсіз тұс — агент өзгертіп жатқанда менің экранымда ашық тұрған сурет.

Сырттан келген алғашқы түзетуден кейін плагин суретті тағы бір рет сақтайды. Егер агент бұл сақтау бұлтқа жетпей тұрып қайта жазса, LiveSync-те қақтығыс пайда болады.

Қақтығыс кезінде ештеңе жоғалмайды: LiveSync екі нұсқаны да сақтайды. Бірақ жазба дискіде қатып қалады, ал экранда «Conflicting changes» диалогы шығады. Ашық суретке түзетулерді бірінен соң бірін енгізген нақты сынақ мынаны көрсетті:

Түзетулер арасындағы үзілісҚабылданған жазуларҚақтығыс диалогтары
15 с250
5 с301
1 с31
үзіліссіз61

Іріктемелер шағын. Бұл статистика емес, тек үрдіс. Үзіліс кепілдік бермейді.

Сондықтан kosh мұндай қақтығыстарды өзі біріктіруді үйренді. Ол екі нұсқаның ортақ бастапқы нұсқасын алып, оларды элемент бойынша салыстырады. C блогын мен өзгерттім, ал A блогын агент өзгертті ме? Екі өзгеріс те сақталады, ал диалог шамамен 10 секундта өзі жабылады. Түзетулерден кейінгі сол сынақ:

Түзетулер арасындағы үзілісҚабылданған жазуларҚақтығыс диалогтары
5 с240
1 с291 — 12 с ішінде өзі жабылды

kosh әдейі біріктірмейтін жағдай: екі жақ бір элементті өзгерткенде. Екі нұсқа да менің еңбегім болуы мүмкін, сондықтан бұл диалог маған қалады. Менің екі құрылғым арасындағы қақтығысқа да kosh тимейді — нұсқаның біреуін өзі жазған қақтығысты ғана шешеді.

Мен түскен тұзақтар

  • Linter суреттерді бүлдірді. Оның бір ережесі бөлім тақырыптарын кіші әріппен бастап жазатын. Excalidraw плагині оларды бас және кіші әріпті ажыратып іздейді, сондықтан оларды көрмей қалды — әр сақтау тағы бір бөлім қосып отырды. Шешімі: .excalidraw.md файлдарын Linter-ден шығарып тастау.
  • Бір Mac-та екінші Obsidian-ды іске қоспаңыз. Бөлек үй қалтасы бар сынақ көшірмесі менің Keychain-імді бастапқы күйге қайтаруды ұсынған жүйелік диалог шығарды.
  • Mac-тағы shell — оқшауланған орта (sandbox) емес. kosh менің ноутбугымда менің атымнан команда орындай алады. Сондықтан жоятын, орнататын, push жасайтын немесе кілттерге тиетін әрекеттің бәрі сол нақты командаға менің «иә» деген жауабымнан кейін ғана орындалады. Ал арнаны Mac-тың өзіндегі файл арқылы өшіре аламын.
  • livesync-workers — жас жоба, авторы біреу ғана. Сондықтан — форк және GitHub-қа сағат сайынғы сақтық көшірме.

Бұл маған не береді

Кез келген Claude клиентін ашамын — Mac-та, браузерде немесе телефонда. Онда бәрі бар: тапсырмалар, жазбалар, Telegram, зерттеулер, Mac-тың жай-күйі.

Ал есте ұстау қиын нәрсені агент кенепке түсіреді. Қараймын, қолмен түзетемін — ал агент менің түзетулерімді көреді.

Бір қосылым, шындықтың бір көзі — және мәтін қабырғасының орнына сызба.

Қате байқадыңыз ба?

Осы мақалада қате факт, олқы аударма немесе жалған естілетін нәрсе бар ма? Маған жазыңыз — өз тіліңізде.