Импорт
Импорт қолда бар білім қорын бір рет жүктеп салумен кеңістікке (space) көшіріп әкеледі: claude.ai мен ChatGPT-тен шығарылған архивтер, MCP memory-server, Claude жобалары мен жады, сондай-ақ кәдімгі Markdown және мәтіндік файлдар. Формат файл атауы бойынша емес, мазмұны бойынша танылады, сондықтан алдын ала қолмен ештеңе дайындаудың қажеті жоқ — қозғалтқыш архивті өзі талдап, қалталарға жіктеп береді.
Импорт — экспорттың айнадағы бейнесі: экспорт ақиқат көзі болатын файлдарды дискіден оқиды, ал импорт дереккөзді талдап, жазбаларды әдеттегі жазу жолымен жазады. Әр жазба кеңістікке оны редакторда адам жасағандай дәл сол күйде түседі — нұсқалауымен, шығу тегімен және индекстелуімен.
Қандай форматтарды түсінеді
Claude немесе ChatGPT-тің бір архивінде әдетте бірнеше түрлі дерек бірден жатады; импорт өзі қолдай алатынның бәрін танып, көшіріп әкеледі:
| Дереккөз | Экспорттағы файл | Не жазбаға айналады |
|---|---|---|
| Claude әңгімелері | conversations.json | Әр әңгімеге бір жазба, хабарламалар ### Human/Assistant түрінде |
| ChatGPT әңгімелері | conversations.json (шардтарға бөлінген conversations-000.json… қоса) | Әр әңгімеге бір жазба, уақыт реті бойынша транскрипт |
| MCP-жад | memory.json (JSONL) | Әр нысанға бір жазба; байланыстар → [[wikilinks]] |
| Claude жобалары | projects.json немесе projects/<uuid>.json | Жоба қалтасы: құжаттар + нұсқаулар |
| Claude жады | memories.json | Аккаунт жадының әр блогына бір жазба |
| Claude дизайн-чаттары | design_chats/<uuid>.json | Әр чатқа бір жазба |
| Markdown / мәтін | .md, .txt | Бір жазба, файл денесі = жазба денесі |
Формат мазмұнды талдау арқылы анықталады (файлды conversations.json деп барлық сервис жібереді, сондықтан атауға сүйенуге болмайды). Бос хабарламалар мен бірде-бір мағыналы үзіндісі жоқ әңгімелер «жетім» жазба тудырмайды — өткізіп жіберілгендердің саны импорт қорытындысында көрсетіледі. Архив ішінен танылмаған JSON шықса, ол да қорытындыға unsupported деп түседі — дерек жоғалуы үнсіз болып қалмай, әрқашан қорытындыда көрініп тұрады.
Қалай импорттау керек
Импорт кеңістік параметрлерінің Import қойындысында тұрады (/s/<space>/management/import). Әр опция — бөлек бөлім:
- Файл — экспорт файлын таңдаңыз (
conversations.json, тұтас ZIP-экспорт немесеmemory.json). Жеке.md/.txtфайлы осы диалог арқылы емес, сүйреп әкелу арқылы импортталады (төменде қараңыз). - Skip existing notes — қайта импорттағанда не істеу керегі (төменде қараңыз).
- Memory entries — жад нысандарын қайда салу керегі (төменде қараңыз).
Ұзақ импорт тұрақты тапсырма (durable job) болып жүреді: жазылған жазбалардың тірі есептегіші бар прогресс-жолақ, ағымдағы кезең және Cancel түймесі. Қойындыдан кетіп, кейін қайта оралуға болады — импорт фонда жұмысын жалғастырады, ал оралғаныңызда прогресті немесе дайын қорытындыны қайта көресіз.
Бөлек жүктеп салу диалогы міндетті емес: .md- немесе .txt-файлды тікелей қолданба терезесіне сүйреп әкеліңіз — ол жазбаға айналады. Ағаштағы қалтаның үстіне тастасаңыз, жазба сол қалтаға түседі; мазмұн аймағына тастасаңыз — ашық тұрған жазбаның қалтасына, әйтпесе түбірге. Бұл — сол баяғы импорт пайплайны, тек оған кірудің екінші жолы.
«Skip existing notes» опциясы
Жазба файлының аты детерминистік әрі дереккөздің бірегейлігіне байланған. Сол себепті бір экспортты қайта импорттау дубль көбейтпей, сол файлдардың өзін қайта жазады — және елу шақты «Untitled» әңгіме бір-бірімен қақтығыспайды.
- Өшірулі (қайта құю үшін әдепкі — upsert) — бар жазбалар жол бойынша идемпотентті түрде қайта жазылады.
- Қосулы — жолы бұрыннан бар жазбалар өткізіп жіберіледі. Бұл — «жаңартылған тарихты қосымша құйдым — қолмен түзеткенімнің үстінен жазып жіберме» деген жағдай.
«Memory entries» опциясы
memory.json ішіндегі нысандарды үш орынның біріне бағыттауға болады:
- folder — импорттың түбірлік қалтасының астындағы, пайдаланушыға көрінетін қарапайым жазбалар.
- space — кеңістіктің жасырын агент-жад mount-ына (
.notarium/memory): мұндай жазбалар ағашта да, Ағында да, іздеуде де көрінбейді, бірақ агент оларғаrecallарқылы жете алады. - skip — жадты мүлде импорттамау.
space нұсқасы жазбаларды нақты бір кеңістіктің агент жадына салады. Кеңістіктің ішінде бұл жадты қарайтын бөлек UI жоқ — оны агент recall арқылы көреді. Бұл — нақты бір кеңістіктің жады, жаһандық жеке жад домені емес (ол шолғыш ағаштағы Memory линзасы арқылы ашылады) — бұл импорт оған жазбайды.
Деректер қалай орналасады
Импорт таңдалған түбірдің ішінде болжауға келетін қалталар ағашын жасайды:
conversations/claude/ — Claude әңгімелері
conversations/chatgpt/ — ChatGPT әңгімелері
projects/<жоба>/ — Claude жобалары (+ docs/, prompt-template.md)
memory/claude/ — Claude аккаунтының жады
memory/<нысан-түрі>/ — memory.json ішіндегі нысандар
design-chats/<жоба>/ — Claude дизайн-чаттары
Күндер дерек ретінде сақталады
Аңқау импорт бүкіл тарихты «бүгін» деп белгілер еді де, Ағын жүздеген әңгімені бір үйіндіге үйіп тастар еді. Notarium оның орнына жасалған күнді дерек ретінде алып өтеді: әр жазбаның frontmatter-іне әңгіме шын мәнінде болған уақыт created: өрісімен жазылады. Ағын импортталған тарихты өз күндеріне жайып шығады, ал «экспорт → импорт» тізбегі күндерді сақтап қалады — көшіру шығынсыз өтеді.
«Created» өрісін редактордан қолмен де түзетуге болады (жазба метадеректері) — мысалы, миграция кезінде немесе тарихи күнін дұрыстағанда. Соңғы өзгеріс уақыты (modified) бұл ретте файл шынымен өңделген уақыт болып қала береді әрі өңделмейді.
Іші қалай жұмыс істейді
Импорт гигабайттық архивке де, үзіліп қалған байланысқа да төтеп беретіндей етіп құрылған:
- Ағынмен өңдеу. Жүктелген файл дискіге ағынмен жазылады, ZIP мүшелері бір-бірлеп тарқатылады, ал әңгімелердің JSON-массиві элемент-элементпен талданады — бір мезетте бір әңгіме. Жадтың ең жоғары шығыны архив өлшеміне тәуелді емес, сондықтан 600 МБ-тық экспорт серверді құлатпайды.
- Тұрақты тапсырма. Хостта метадеректер дерекқоры болса (өзіндік хостинг үшін — қалыпты жағдай), импорт әдепкіде тұрақты тапсырма болып жүреді: жүктелген файл аралық сақтауға (staging) түседі, ал фондық воркер жазбаларды сұраныстан тыс жазады. Қойындыны жапсаңыз да, байланыс үзілсе де, тіпті сервер қайта іске қосылса да — прогресс жоғалмайды.
- Кооперативтілік. Жаппай импорт серверді жалғыз өзі жаулап алмайды: жазу интерактивті сұраныстарға жол береді, ал фондық индекстеу ағын біткенше кідіріп, кейін артта қалғанын қуып жетеді. Мыңдаған жазба жазылып жатқанда да іздеу мен навигация жауап беруін баяулатпайды.
flowchart LR
src([Архив / файл]) -->|жүктеп салу| stage[Дискідегі аралық сақтау]
stage -->|import тапсырмасы| worker[Фондық воркер]
worker -->|write-path| notes[(Markdown-жазбалар)]
worker -.->|прогресс| ui([Import қойындысы])
Метадеректер дерекқоры жоқ хостта (ал ол тек AUTH_MODE=none режимінде ғана болмайды) тапсырмалар қабаты жоқ: импорт бір сұраныстың шеңберінде синхронды ағынды жолмен, сол ядромен және сол тірі есептегішпен жүреді. Прогресс те, қорытынды да дәл солай көрінеді; жалғыз айырмашылығы — мұндай импорт сервердің қайта іске қосылуынан аман шықпайды.
Шектеулер
- Бас тарту бар, кідірту жоқ. Тапсырмадан (кооперативті түрде) бас тартуға болады, бірақ кідіртіп қойып, сол жерден жалғастыру мүмкін емес.
- Индикатор — indeterminate. Архивте қанша жазба бар екені алдын ала белгісіз, сондықтан прогресс пайыз бен ETA-ны емес, кезең мен жазылған жазбалардың тірі есептегішін көрсетеді.
- Үзілген жүктеп салу басынан басталады. Тұрақтылық байттар жеткен соң ғана күшіне енеді: үлкен архивті жүктеу жолда үзіліп қалса, оны басынан бастауға тура келеді.
- Бинарлық тіркемелер импортталмайды. Тіркемелердегі мәтін жазба денесіне ендіріледі, ал бинарлық файлдардың өзі — жоқ (экспорттағы сияқты).
- Импорт кеңістіктің түбіріне түседі. Импорт диалогында мақсатты қалта таңдалмайды — жазбалар түбірге барады; сүйреп әкелгенде түбірді тастау аймағы айқындайды.
Әрі қарай
- Экспорт — кеңістікті немесе қалтаны Markdown архивімен кері алу.
- Агенттер және MCP — агент импортталған жадпен
recallарқылы қалай жұмыс істейді.