𝗧𝗵𝗲 𝗪𝗲𝗯 𝗔𝗱𝗺𝗶𝗻 𝗜𝘀 𝗔 𝗪𝗶𝗻𝗱𝗼𝘄, 𝗡𝗼𝘁 𝗔 𝗦𝗲𝗰𝗼𝗻𝗱 𝗦𝗼𝘂𝗿𝗰𝗲 𝗢𝗳 𝗧𝗿𝘂𝘁𝗵
APX வெப் அட்மின் பேனல் என்பது அமைப்பின் (system) மையப்பகுதி அல்ல.
இதன் வடிவமைப்பு மிகவும் கண்டிப்பானது. daemon தான் நிலையை (state) தன்வசம் வைத்திருக்கிறது. வெப் UI என்பது ஒரு உள்ளூர் கிளையண்ட் (local client) மட்டுமே. இந்த வேறுபாடு மிகவும் முக்கியமானது. உண்மை எங்கே உள்ளது என்பதையும், தரவுகள் எவ்வளவு மாறக்கூடும் என்பதையும் இதுவே தீர்மானிக்கிறது.
APC என்பது எளிதில் எடுத்துச் செல்லக்கூடிய சூழல் அடுக்கை (portable context layer) வழங்குகிறது. APX என்பது runtime மற்றும் tooling அடுக்கை வழங்குகிறது. வெப் அட்மின் APX-ன் ஒரு பகுதியாகும். இது உலாவியில் (browser) runtime-ஐ ஆய்வு செய்ய அனுமதிக்கிறது. இது திட்டத்தின் (project) உண்மையான தரவுகளின் நகலைத் தனியாக வைத்திருப்பதில்லை.
இதன் கட்டமைப்பு இவ்வாறு செயல்படுகிறது:
- daemon ஒரு உள்ளூர் HTTP சர்வரை இயக்குகிறது.
- ஒவ்வொரு தளமும் (surface) HTTP மூலம் daemon உடன் தொடர்பு கொள்கிறது.
- வெப் அட்மின் daemon மூலம் வழங்கப்படுகிறது.
- உலாவியானது daemon-லிருந்து ஒரு டோக்கனைப் (token) பெறுகிறது.
உலாவியானது ஒரு சமமான தரவுத்தளம் (peer database) அல்ல. அது ஒரு தளம் மட்டுமே. ஒரு வெப் பேனல் உண்மையைச் சொல்லும் இரண்டாவது ஆதாரமாக மாறும்போது, அது தோல்வியடைகிறது.
நிலையின் (state) இரண்டு நகல்கள் பிழைகளுக்கு வழிவகுக்கும்:
- CLI ஒரு விஷயத்தை எழுதும்போது, UI வேறொன்றைக் காட்டுகிறது.
- ஒரு பிரவுசர் செஷன் ஒரு கட்டமைப்பை (config) மாற்றியமைக்கிறது, ஆனால் daemon பழைய தரவையே பயன்படுத்துகிறது.
- பக்கத்தை ரீலோட் (reload) செய்யும்போது ஒரு திட்டத்தைக் காட்டுகிறது, ஆனால் மற்றொரு டேப் (tab) பழைய தரவைக் காட்டுகிறது.
- UI-இல் செய்யப்படும் திருத்தம் உண்மையான runtime-க்கு சென்றடைவதில்லை.
உலாவியை மிக எளிமையாக (thin) வைத்திருப்பதன் மூலம் APX இதைத் தவிர்க்கிறது. UI, daemon-இடம் கேட்கிறது. daemon, core-இடம் கேட்கிறது. core உண்மையான தரவுச் சேமிப்பகத்தை (backing store) படிக்கிறது அல்லது எழுதுகிறது. இந்தச் சங்கிலி மிகவும் எளிமையானது. எளிமையே சிறந்தது.
ஒரு சிறந்த உள்ளூர் பேனல் மூன்று விஷயங்களைச் செய்கிறது:
- நேரலை நிலையை (live state) காட்டுதல்.
- ஒரு சிறிய செயலை (action) அனுப்புதல்.
- அந்தச் செயல் முடிந்த பிறகு மீண்டும் சரிபார்த்தல் (revalidate).
இந்த பேனல் மூலம் நீங்கள் திட்டங்கள் (projects), ஏஜென்ட்கள் (agents), வழிமுறைகள் (routines), அமர்வுகள் (sessions), MCPs மற்றும் அமைப்புகளை (settings) உலாடலாம். இது அமைப்பின் ஒரு பார்வை (view) மட்டுமே, அமைப்பின் நகல் (fork) அல்ல.
இதன் செயல்பாட்டு விவரங்கள் இதை உள்ளூர் நிலையிலேயே வைத்திருக்கின்றன:
- Dev mode, Vite-ஐப் பயன்படுத்தி daemon-க்கு ப்ராக்ஸி (proxy) செய்கிறது.
- Production நிலையில், உருவாக்கப்பட்ட செயலியை (built app) daemon வழங்குகிறது.
- 'Same origin' கொள்கை அங்கீகாரம் (auth) மற்றும் ரூட்டிங் (routing) ஆகியவற்றை எளிமையாக வைத்திருக்கிறது.
- உலாவியானது ரிப்போசிட்டரிக்கு (repo) நேரடியாக எழுதும் அனுமதி (write access) பெற வேண்டிய அவசியமில்லை.
இதன் பயன் காட்சித் தரம் (visual polish) சார்ந்தது அல்ல. ஒவ்வொரு செயலும் ஒரே பேக்எண்ட் (backend) வழியாகத் தீர்க்கப்படுகிறது என்பதே இதன் உண்மையான பயன்.
நீங்கள் பேனலில் ஒரு அமைப்பை மாற்றினால், அந்த மாற்றம் daemon-விடம் சமர்ப்பிக்கப்படும். daemon திட்டச் சேமிப்பகத்தைப் (project store) புதுப்பிக்கும். அடுத்த முறை திரையில் காட்டப்படும்போது (render), CLI எதைப் படிக்கிறதோ அதே உண்மையான ஆதாரத்தையே அதுவும் படிக்கும். ஒரு அமைப்பு, பல தளங்கள்.
உங்கள் திட்டத்திற்கு எந்தப் பாதிப்பும் இன்றி UI-ஐ மூடிவிடலாம். நீங்கள் டேப்பை மூடலாம் அல்லது கணினியை மாற்றலாம். நிலை (state) என்பது daemon மற்றும் .apc/ கோப்புறையிலேயே (folder) இருக்கும்.
இதன் அடிப்படைத் தத்துவம் (mental model) எளிமையானது:
- APC: திட்டம் என்ன என்பதைத் தீர்மானிக்கிறது.
- APX: திட்டம் எவ்வாறு இயங்குகிறது என்பதைத் தீர்மானிக்கிறது.
- Web admin: அந்த runtime-க்குள் பார்க்க உதவும் ஒரு ஜன்னல்.
இந்த எல்லையைத் தெளிவாக வைத்திருங்கள். அப்போதுதான் தொழில்நுட்ப அடுக்கு (stack) மாற்றக்கூடியதாக இருக்கும். உலாவியின் தேவை இருக்காது. daemon அதிகாரப்பூர்வமானதாக இருக்கும். திட்டம் எளிதில் எடுத்துச் செல்லக்கூடியதாக (portable) இருக்கும்.
Source: https://dev.to/agentprojectcontext/the-web-admin-is-a-window-not-a-second-source-of-truth-2aip
Optional learning community: https://t.me/GyaanSetuAi