Менің қыз досым — менің кофаундерім. Бізде AI-музыкалық лейбл бар, екеуімізге 50/50. Біз тіпті әлі бір жерде тұрмаймыз — сондықтан ортақ білім қоры біз үшін ыңғайлылық емес, қажеттілік.
Мен оқыған shared Obsidian vault туралы барлық гайдтар инженерлік командалар үшін жазылған. Бір де біреуі нақты қиын мәселені шешпейді: бір vault клиенттің инвойсын, демалыс маршрутын және оның музыкаға қатысы жоқ жеке шығармашылық практикасының эскизін қатар ұстауы керек.
Шекара бұл жерде «жұмыс vs жеке өмір» бойынша жүрмейді. Ол шатасқан.
Біз барлығын бір vault арқылы бір-екі ай бойы жүргізіп келеміз. Арзан VPS-те self-hosted синк. Жолда дауыстық хабарламаларды жұтып, оларды тікелей инбоксқа тастайтын Telegram-бот. Екеуімізге бір Claude-аккаунт. Компания мен қарым-қатынас бір-бірімен араласып кетпеуі үшін жұмыстың көп бөлігін атқаратын алты аймақты папка құрылымы.
Бұл апталар, жылдар емес — бірақ ол қазірдің өзінде жұмыс істеу тәсілімізді өзгертті.
Неге жұптарға арналған shared vault кеңестері жұмыс істемейді
Командалық сетаптар адамдардың жұмыстан кететінін болжайды. Жұмыс файлдары мен жеке файлдар арасында таза шекара бар, өйткені жұмыс corp SSO-ның артында, ал жеке — жоқ. Қарым-қатынаста жүрген және бір бизнесті жүргізетін екі адамда ондай шекара жоқ. Сағат 14:00-де вендормен келісім-шарт жазатын Claude-сессия 21:00-де келесі сапарымызды жоспарлайды.
Мұны бірнеше vault-ке бөлу арқылы шешуге болады — біреуі бизнес үшін, біреуі мен үшін, біреуі ол үшін — бірақ содан кейін [[wikilinks]] vault шекараларын кесіп өтпейтінінен зардап шегесіз. Біз бұны сынадық. Лейбл подрядчигі туралы жазба оның бір жобасына қатысты ол берген рефералға сілтеме жасағысы келді — ал ол оның жеке vault-інде жатты. Сілтемелер жетпейді. Граф өледі.
Бір vault, алты аймақ.
Архитектура
Our Vault/
├── 00-inbox/ шикі дамп, mine/ және hers/ деп бөлінген
├── 01-business/ лейбл — стратегия, клиенттер, қаржы,
│ операциялар, контент, өнім, кездесулер
├── 02-mine/ менікі — стартаптар, оқу, жеке
├── 03-hers/ онікі — жобалар, оқу, жеке
├── 04-us/ ортақ өмір — саяхаттар, үй, денсаулық, оқиғалар,
│ жеке қаржы, мақсаттар
├── 05-resources/ құралдар, контактілер, сілтемелер, шаблондар
└── CLAUDE.md ортақ AI үшін system prompt
Ереже қарапайым. 01-business/ — компания. 04-us/ — компаниядан тыс бөлісетін барлық нәрсе. 02-mine/ және 03-hers/ — жеке, бірақ көрінетін: әдетте біз бір-біріміздің жазбаларды оқымаймыз, бірақ оқи аламыз.
Аймақтар когнитивтік жұмыстың дерлік барлығын атқарады. Жазба жазғалы тұрғанда папканы таңдау керек болғанда, папка маған сұраққа жауап беруге мәжбүрлейді: бұл лейбл туралы ма, бұл біздің өмір туралы ма, бұл менікі ме? Бұрын осы сұраққа сұхбат қажет еді.
Неге бір vault, үшеу емес
Теорияда үш vault тазарақ көрінді. Тәжірибеде барлық кросс-доменді сілтемелер сынды.
Killer use case — бұл адамдар графы. Лейбл трекетерімен жұмыс істейтін саунд-инженер оған сонымен қатар жеткізушіге реферал берді — оны ол кейінірек бір жобасында пайдаланды. Бір vault-те оның 05-resources/contacts/-тегі контакт картасы 01-business/-тегі кездесу жазбасына, 04-us/-тегі интро-жазбаға және 03-hers/projects/-тегі рефералдар тізбегіне сілтеме жасайды. Үш vault-те сізде осы адамның үш көшірмесі болар еді және байланысты ешқашан көрмес едіңіз.
Граф — бұл өнім. Vault-ті иеленушілер бойынша бөлу — графты өлтіру.
Self-hosted синк-стек
Бүкіл жүйе бір шешімге сүйенеді: дискідегі markdown-файлдар. SaaS-база емес. Меншікті формат емес. Біз бақылайтын аппараттық құралдағы папкалардағы жай мәтін. Артықшылық — құралдардан тәуелсіздік: Claude, Cursor, кез келген болашақ AI-клиент, қарапайым мәтіндік редактор, тіпті grep — олардың бәрі бір файлдармен жұмыс істейді. Шектеу — синкті өзіңіз шешуіңіз керек.
iCloud біз бір уақытта өңдеген кезде (conflict) дубликаттарын жасайды. Obsidian Sync — айлық төлем және деректер басқа біреудің серверлерінде. Бізде Caddy мен бірнеше басқа контейнерлер жұмыс істейтін шағын VPS бұрыннан болатын. Оған CouchDB қосу он бес минут алды.
Контейнер:
docker run -d --name obsidian-couchdb \
--restart unless-stopped \
-e COUCHDB_USER=user \
-e COUCHDB_PASSWORD=strong-password \
-v /opt/obsidian-sync/couchdb-data:/opt/couchdb/data \
-v /opt/obsidian-sync/couchdb-config/local.ini:/opt/couchdb/etc/local.d/local.ini \
-p 127.0.0.1:5984:5984 \
couchdb:3
Caddy sync.ourdomain.org-ты контейнерге проксилейді. Obsidian-дағы Self-hosted LiveSync плагині онымен HTTPS арқылы сөйлеседі. Бәрі құрылғыдан шыққанға дейін end-to-end шифрленеді — CouchDB тек шифрленген блобтарды көреді.
Оның құрылғысын циклге қосу — бір қадамдық қою. Плагин толық конфигурациясы бар Setup URI экспорттайды; мен оны Telegram арқылы жібердім, ол өз жағында қойды, шифрлеу passphrase-ын бөлек енгізді — және екінші клиент іске қосылды. Қайта тереудің қажеті жоқ.
Бір пернені басқанға дейінгі round-trip — шамамен бір секунд. Конфликттерді шешу — CouchDB replication protocol арқылы автоматты. Үлкен vault-тің бірінші синкі 10–30 минут алады; одан кейін тек дельталар жүреді.
VPS басқа міндеттер үшін жұмыс істеп тұрған. Синкті қосудың marginal cost-ы — нөл.
Telegram-инбокс
Obsidian мобильді қосымшасы оқу үшін жақсы, бірақ capture үшін баяу. Бір жол идея жазу үшін оны телефонда ашу — мидың төлегісі келмейтін friction. Идеялардың көпшілігі сол алшақтықта өледі.
Шешім — сол VPS-те жұмыс істейтін шағын Telegram-бот. Сіз оған не болса соны жібересіз — мәтін, дауыстық хабарлама, фото, сілтеме — ол 00-inbox/-қа timestamp-аты және жіберуші тегімен (mine немесе hers) markdown-файл тастайды, осылайша followup дұрыс адамға тиесілі болады. Дауыстық хабарламалар транскрипцияланып, аудиомен бірге мәтін ретінде сақталады.
Әдеттегі capture: бір жерге бара жатырмын, идея келеді, ботқа 30 секундтық дауыстық жіберемін. Үйге жетпей тұрып, vault-те транскрипцияланған markdown-файл жатыр, келесі compile pass-қа дайын (төменде).
Бот — «менде ой болды» мен «мен ойды жоғалттым» арасындағы айырмашылық. Мобильді Obsidian жалғыз бұл алшақтықты жаба алмайды. Telegram қазірдің өзінде сіздің қолыңызда тұр.
Жексенбілік compile pass
Capture — циклдің жартысы. Екінші жартысы — ештеңенің жоғалмауын қамтамасыз ету.
Аптасына бір рет — әдетте жексенбіде — Claude 00-inbox/-тағы барлық жаңасынан өтеді: дауыстық транскрипттер, аяқталмаған жазбалар, скриншоттар, боттан түскен үзіктер. Әрбір элемент үшін ол не туралы екенін анықтайды, тегтейді, [[wikilinks]] арқылы байланысты жазбаларға сілтейді және дұрыс аймаққа тігеді. Анық емес нәрсенің бәрі инбоксте флагпен және оны тастаған адамға қойылған сұрақпен қалады.
Инбокс жіберуші бойынша бөлінген — 00-inbox/mine/ және 00-inbox/hers/ — нақ осы pass үшін. Claude дауыстық хабарламада көмілген тапсырманы тапқанда, ол сұрақ қойғанға дейін оның кімдікі екенін біледі.
Бұл циклді үш аптаға өткізіп жіберсеңіз — инбокс пайдалы болуын тоқтатады. Аптасына бір рет жүргізсеңіз — vault өзі өседі.
CLAUDE.md — vault-тегі ең маңызды файл
Vault-тің түбірінде CLAUDE.md деген файл жатыр. Біздің қайсымыз осы папкамен Claude-сессиясын бастаған сайын, модель алдымен оны оқиды. Бұл ортақ ми.
Нақты үзінді:
## Кім сөйлеп тұр
Анық болмаса, сұра: «Бұл біздің қайсымыз?»
Кеңестер:
- Трекетер, код, серверлер, музыкалық продакшн → Ник
- Дизайн және шығармашылық практика → ол (қыз)
- Контент, SMM, бренд, мерч, кітаптар → екеуінің біреуі болуы мүмкін
## Не қайда жатады
- Бизнес-шешімдер → 01-business/meetings/ датасымен
- Қаржылық деректер → тек 01-business/finance/
- Орны жоқ идеялар → 00-inbox/(mine немесе hers)/
- Трекетер мен релиздер туралы бәрі → 01-business/product/
## Жасама
- Растаусыз файлдарды жойма
- 02-mine/ мен 03-hers/ арасында файлдарды сұраусыз көшірме
- "AI slop" жазба — біз нақтылықты бағалаймыз және құр сөзді жек көреміз
Папка құрылымы — жүйені жұмыс істететін нәрсе емес. Жұмыс істететіні — модель құрылымды біледі және оны ұстанады. Мен сессияға жартылай қалыптасқан ойды тастағанда, Claude файлдың менікі екенін көреді, оны 00-inbox/mine/-ке салады, тегтейді, бар жазбаларға сілтейді. Ол Instagram постының черновигін сұрағанда, Claude біздің tone of voice-ты 01-business/content/-тен тартып шығарады, болжамайды.
Үзіндіде назар аударуға тұратын кішкентай паттерн бар: «Анық болмаса, сұра: бұл біздің қайсымыз?» Shared AI-сетаптардың көпшілігі контексті болжайды. Біздікі — сұрайды. Жазбаның авторы анық болмағанда, Claude алдымен анықтайды, содан кейін тегтейді. Бағасы — анық емес жазбаға бір қосымша сұрақ. Артықшылығы — ештеңе қате тиесіленбейді: менің кезегіме баруға тиісті черновик оның кезегіне түспейді, керісінше де.
Бұл файл — ортақ папка мен ортақ білім жүйесінің арасындағы айырмашылық.
CLAUDE.md сонымен қатар келіссөздер playbook-і
Папка маршруттау ережелері айқын. Олар жазбаларды дұрыс емес аймаққа түсуден сақтайды. CLAUDE.md vault-тің түбіріндегі орнын ақтайтын нәрсе — басқа секция. Сыртқы корреспонденция туралы.
Біздің қайсымыз Claude-тан саппорт-тикетке, вендорға хатқа, салық органына хатқа, дистрибьютор аудит сұрауына жауап жазуды сұрағанда — модель файлға енгізілген төрт ережені ұстанады:
- Сізге қойылмаған қатені мойындамаңыз. Олардың хатында «сіздің листингіңіз жойылды» делінсе — жауапта «мен өзімнің контентімнің ережелерді бұзатынын түсінемін» деп жазбаңыз. Бұл — апелляцияларда сізге қарсы келтірілетін жазбаша мойындау. Тек олардың шынымен айтқанын мойындаңыз.
- Бір нақты сұрау. Үшеу емес. «Мен не істеуім керек?» емес. Біреу. «Қысқартылған атаулармен апелляция беруім керек пе, әлде алып тастап, жаңа жазба ретінде қайта жіберуім керек пе?» Бір нақты сұраусыз хат ешқайда апармайтын сыпайы алмасуға айналады.
- Leverage-ті атаңыз. Сізде шынымен бар нәрсе — өткізе алмайтын мерзім, баратын балама жол, қозғалыста тұрған өтініш. Қауіп емес. Олардың басымдылығын өзгертетін деректер нүктесі.
- Fallback-ті сипаттаңыз. Олар жауап бермесе немесе дұрыс емес жауап берсе, не жасайтыныңыз. Б жоспары. Сізге пайдалы, өйткені жоспар бар, ал оларға — сіз олардың рақымына бағынышты емес екеніңіздің сигналы.
Және бір ашық anti-pattern: өз кінәңіз емес нәрсе үшін кешірім сұрамаңыз. AI әдетте сұрақ қоймас бұрын алдына кілем төсейді. Кілемді кесіңіз. «Жауап бергеніңізге рахмет» — жарайды. «Платформа ережелерін түсінбегенім үшін кешірім сұраймын» — жоқ, әсіресе ережелер бастапқыда анық тұжырымдалмаған кезде.
Біз бұл секцияны Claude пайдалы, сыпайы, өлімге үкімі шыққан хаттарды жазған саппорт-тикеттер серияларынан кейін қостық. CLAUDE.md-тегі ережелермен әрбір сыртқы черновик тон табудан бұрын құрылымдық тәртіпке ие болады. Біз бір-бірімізбен бөлісетін нәрсе — тек жазбалар емес. Бұл келіссөздердегі posture.
Бұл шынымен не береді
Соңғы аптадан бірнеше нақты нәрсе.
Менде вендормен шарттарды қайта қарау туралы созвон болды. Claude кездесу жазбаларының папкасын оқыды, 01-business/finance/-тен қажетті cost-контекстті тартып шығарды, followup-хатты жобалады және 01-business/operations/-қа @nik тегімен followup-тапсырмаларды қосты, осылайша әрқайсысы дұрыс адамға тиесілі болды. «Біз тұтқаны қойдық»-тан «бәрі ұсталды»-ға дейін төрт минут.
Ол өз жобаларының бірін жоспарлап жатты, жеткізуші керек болды. Ол Claude-тан жеткізуші контактілерін табуды сұрады. Модель 05-resources/contacts/-ты қарап шықты, бірнеше апта бұрын мүлдем басқа контексттерде қосқан екеуін тапты және оларды біз неге сенгеніміз туралы бастапқы жазбалармен бірге шығарды.
Біз сапарды жоспарлап жаттық. Claude бюджеттік cap-тарды 04-us/finance-personal/-тен, өткен сапарлардағы қонақ үй артықшылықтарын 04-us/travel/-ден және ол 03-hers/personal/-да жазған мен ешқашан көрмеген жазбадан қалалар тізімін тартты. Сапар черновигі он бес минутта.
Мұнда сиқыр жоқ. Бұл — бір модельде сіз жазып үлгерген барлық нәрсе бойынша үздіксіз контекст болғанда болатын жағдай.
Не басқаша жасар едім
Vault папкаңызда код жазбаңыз. Мен LiveSync тек markdown-ты синктейді деп ойладым. Жоқ — ол папкадағы барлығын синктейді. Мен бір кезде сол папкада шағын dev-жобаны бастап көрдім; npm install жүздеген мегабайт node_modules тастады, SDK-лар мен бинарьлар жүктеліп, синк тұншықты, дерекқор бұзылды — екі клиентті де нөлден қайта қосуға тура келді. Код енді бөлек ~/Code/ репода тұрады. Vault — тек жазбалар үшін. Егер бинарьларды қою керек болса — оларды LiveSync параметрлерінде коммит жасамас бұрын алып тастаңыз.
Мобильді Obsidian алғашқы ашуда баяу. Telegram-бот мобильді use case-тің көп бөлігін жабады (capture); қосымша — жолда оқу үшін, біз бұл лагқа көніп жатырмыз.
Екі адам бір файлды бір минут ішінде өңдейді — кейде конфликт шығарады. CouchDB оны шешеді, бірақ дұрыс нұсқа жеңгенін тексеру керек. Шешімі: бір файлды бір уақытта өңдемеңіздер. Алдымен сөйлесіңіздер.
Үш аптадан кейін емес, бірінші күні автоматтандырылған бэкаптарды орнатыңыз. Алғашқы апталарда ештеңе бұзылған жоқ, бірақ CouchDB өзін-өзі бұзса немесе диск өлсе — кері қайтару болмас еді. Енді түнде tar /opt/obsidian-sync/couchdb-data сыртқы боксқа жөнелтіледі.
04-us/ папкасын ертерек бөліп алыңыз. Жалпы өмір контентінің қаншасы бизнес-папкаға кездейсоқ түсіп жатқанын біз түсінбедік — саяхат ресурсы vendor diligence-пен қатар жатты — үйме тітіркендіретіндей өскенше.
Шаблон
Бұл нәрсенің таза нұсқасы GitHub-та жатыр. Vault-тің бос скелеті (алты аймақ, README, .gitkeep-маркерлер), өз бизнесіңізге бейімдеуге болатын CLAUDE.md template-і, Hetzner + Caddy + CouchDB үшін self-hosted LiveSync толық install guide-ы және біз шынымен қолданатын Obsidian-плагин (Self-hosted LiveSync — әзірге біреу).
github.com/nikmcfly/shared-vault-template
Клондаңыз, Obsidian-ды осы папкаға бағыттаңыз — жолдың 80%-ынан өттіңіз. Git-те жоқсыз ба? Zip жүктеп алыңыз.
PR-лар welcome — әсіресе Android-та мобильді capture мәселесін шешсеңіз.
Бір vault. Алты аймақ. Сіздің кезегіңіз.
Жалықтыратын сабақ: «командалық Obsidian» туралы кеңестердің көпшілігі біздікіндей өмірі қатты қиылысатын екі адаммен жанасуды көтермейді. Құрылым бұрын әлеуметтік келісім атқарған жұмысты атқаруы керек.
Қызықты сабақ: құрылым дұрыс болғанда және AI оны білгенде, сіз бөтелке мойны болуды тоқтатасыз. Claude кездесу жазбасын жаза алады, жеткізушіні таба алады, постты жобалай алады, сапарды жоспарлай алады. Сіз өз өміріңіздің хатшысының орнына редакторы боласыз.
Біз — жұбымыз. Біз — кофаундерміз. Біздің vault айырмашылықты біледі.
Сіздікі де біле алады.