𝗧𝗵𝗲 𝗪𝗲𝗯 𝗔𝗱𝗺𝗶𝗻 𝗜𝘀 𝗔 𝗪𝗶𝗻𝗱𝗼𝘄, 𝗡𝗼𝘁 𝗔 𝗦𝗲𝗰𝗼𝗻𝗱 𝗦𝗼𝘂𝗿𝗰𝗲 𝗢𝗳 𝗧𝗿𝘂𝘁𝗵
APX ਵੈੱਬ ਐਡਮਿਨ ਪੈਨਲ ਸਿਸਟਮ ਦਾ ਕੇਂਦਰ ਨਹੀਂ ਹੈ।
ਡਿਜ਼ਾਈਨ ਸਖ਼ਤ ਹੈ। daemon ਸਟੇਟ (state) ਦਾ ਮਾਲਕ ਹੈ। ਵੈੱਬ UI ਇੱਕ ਲੋਕਲ ਕਲਾਇੰਟ ਹੈ। ਇਹ ਅੰਤਰ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇਹ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਸੱਚ ਕਿੱਥੇ ਹੈ ਅਤੇ ਡੇਟਾ ਵਿੱਚ ਕਿੰਨਾ ਫਰਕ ਆ ਸਕਦਾ ਹੈ।
APC ਪੋਰਟੇਬਲ ਕੰਟੈਕਸਟ ਲੇਅਰ (portable context layer) ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। APX ਰਨਟਾਈਮ ਅਤੇ ਟੂਲਿੰਗ ਲੇਅਰ (runtime and tooling layer) ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਵੈੱਬ ਐਡਮਿਨ APX ਦਾ ਹਿੱਸਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਰਨਟਾਈਮ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਇਹ ਪ੍ਰੋਜੈਕਟ ਦੇ ਸੱਚ ਦੀ ਆਪਣੀ ਕੋਈ ਕਾਪੀ ਨਹੀਂ ਰੱਖਦਾ।
ਆਰਕੀਟੈਕਚਰ ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ:
- daemon ਇੱਕ ਲੋਕਲ HTTP ਸਰਵਰ ਚਲਾਉਂਦਾ ਹੈ।
- ਹਰ ਸਤਹ (surface) HTTP ਰਾਹੀਂ daemon ਨਾਲ ਗੱਲ ਕਰਦੀ ਹੈ।
- ਵੈੱਬ ਐਡਮਿਨ daemon ਦੁਆਰਾ ਸਰਵ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
- ਬ੍ਰਾਊਜ਼ਰ daemon ਤੋਂ ਇੱਕ ਟੋਕਨ (token) ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।
ਬ੍ਰਾਊਜ਼ਰ ਕੋਈ ਪੀਅਰ ਡੇਟਾਬੇਸ (peer database) ਨਹੀਂ ਹੈ। ਇਹ ਸਿਰਫ਼ ਇੱਕ ਸਤਹ ਹੈ। ਜਦੋਂ ਕੋਈ ਵੈੱਬ ਪੈਨਲ ਸੱਚ ਦਾ ਦੂਜਾ ਸਰੋਤ ਬਣ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦਾ ਹੈ।
ਸਟੇਟ ਦੀਆਂ ਦੋ ਕਾਪੀਆਂ ਗਲਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣਦੀਆਂ ਹਨ:
- CLI ਇੱਕ ਚੀਜ਼ ਲਿਖਦਾ ਹੈ ਜਦੋਂ ਕਿ UI ਕੁਝ ਹੋਰ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ ਸੈਸ਼ਨ ਕਨਫਿਗ (config) ਨੂੰ ਐਡਿਟ ਕਰਦਾ ਹੈ ਪਰ daemon ਪੁਰਾਣਾ ਡੇਟਾ ਵਰਤਦਾ ਹੈ।
- ਰੀਲੋਡ ਕਰਨ 'ਤੇ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਦੂਜਾ ਟੈਬ ਪੁਰਾਣਾ (stale) ਡੇਟਾ ਦਿਖਾਉਂਦਾ ਹੈ।
- UI ਫਿਕਸ ਕਦੇ ਵੀ ਅਸਲ ਰਨਟਾਈਮ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦਾ।
APX ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਹਲਕਾ (thin) ਰੱਖ ਕੇ ਇਸ ਤੋਂ ਬਚਦਾ ਹੈ। UI daemon ਨੂੰ ਪੁੱਛਦਾ ਹੈ। daemon core ਨੂੰ ਪੁੱਛਦਾ ਹੈ। core ਅਸਲ ਬੈਕਿੰਗ ਸਟੋਰ (backing store) ਨੂੰ ਪੜ੍ਹਦਾ ਜਾਂ ਲਿਖਦਾ ਹੈ। ਇਹ ਚੇਨ ਸਰਲ ਹੈ। ਸਰਲ ਹੋਣਾ ਚੰਗਾ ਹੈ।
ਇੱਕ ਚੰਗਾ ਲੋਕਲ ਪੈਨਲ ਤਿੰਨ ਕੰਮ ਕਰਦਾ ਹੈ:
- ਲਾਈਵ ਸਟੇਟ ਦਿਖਾਉਣਾ।
- ਇੱਕ ਛੋਟੀ ਐਕਸ਼ਨ (action) ਭੇਜਣਾ।
- ਐਕਸ਼ਨ ਤੋਂ ਬਾਅਦ ਰੀਵੈਲੀਡੇਟ (revalidate) ਕਰਨਾ।
ਪੈਨਲ ਤੁਹਾਨੂੰ ਪ੍ਰੋਜੈਕਟਾਂ, agents, routines, sessions, MCPs, ਅਤੇ settings ਨੂੰ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਇਹ ਸਿਸਟਮ ਦਾ ਇੱਕ ਦ੍ਰਿਸ਼ (view) ਹੈ, ਸਿਸਟਮ ਦੀ ਫੋਰਕ (fork) ਨਹੀਂ।
ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਵੇਰਵੇ ਇਸਨੂੰ ਲੋਕਲ ਰੱਖਦੇ ਹਨ:
- Dev mode Vite ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਅਤੇ daemon ਨੂੰ ਪ੍ਰੌਕਸੀ (proxy) ਕਰਦਾ ਹੈ।
- Production daemon ਤੋਂ ਬਣੀ ਹੋਈ ਐਪ ਨੂੰ ਸਰਵ ਕਰਦਾ ਹੈ।
- Same origin, auth ਅਤੇ routing ਨੂੰ ਸਰਲ ਰੱਖਦਾ ਹੈ।
- ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਕਦੇ ਵੀ ਸਿੱਧੇ ਰੈਪੋ (repo) ਰਾਈਟ ਐਕਸੈਸ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।
ਫਾਇਦਾ ਵਿਜ਼ੂਅਲ ਪਾਲਿਸ਼ (visual polish) ਨਹੀਂ ਹੈ। ਫਾਇਦਾ ਇਹ ਹੈ ਕਿ ਹਰ ਐਕਸ਼ਨ ਇੱਕ ਬੈਕਐਂਡ (backend) ਰਾਹੀਂ ਹੱਲ ਹੁੰਦੀ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ ਪੈਨਲ ਵਿੱਚ ਕੋਈ ਸੈਟਿੰਗ ਐਡਿਟ ਕਰਦੇ ਹੋ, ਤਾਂ ਪੈਨਲ ਉਹ ਤਬਦੀਲੀ daemon ਨੂੰ ਭੇਜਦਾ ਹੈ। daemon ਪ੍ਰੋਜੈਕਟ ਸਟੋਰ ਨੂੰ ਅਪਡੇਟ ਕਰਦਾ ਹੈ। ਅਗਲਾ ਰੈਂਡਰ (render) ਉਸੇ ਸੱਚ ਦੇ ਸਰੋਤ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ ਜਿਸ ਨੂੰ CLI ਪੜ੍ਹਦਾ ਹੈ। ਇੱਕ ਸਿਸਟਮ, ਕਈ ਸਤਹਾਂ।
UI ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਾਏ ਬਿਨਾਂ ਗਾਇਬ ਹੋ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਟੈਬ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਮਸ਼ੀਨਾਂ ਬਦਲ ਸਕਦੇ ਹੋ। ਸਟੇਟ daemon ਅਤੇ .apc/ ਫੋਲਡਰ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ।
ਮਾਨਸਿਕ ਮਾਡਲ (mental model) ਸਰਲ ਹੈ:
- APC: ਪ੍ਰੋਜੈਕਟ ਕੀ ਹੈ।
- APX: ਪ੍ਰੋਜੈਕਟ ਕਿਵੇਂ ਚੱਲਦਾ ਹੈ।
- Web admin: ਉਸ ਰਨਟਾਈਮ ਵਿੱਚ ਇੱਕ ਖਿੜਕੀ।
ਇਸ ਸੀਮਾ (boundary) ਨੂੰ ਸਾਫ਼ ਰੱਖੋ। ਸਟੈਕ (stack) ਬਦਲਣਯੋਗ ਰਹਿੰਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਵਿਕਲਪਿਕ ਰਹਿੰਦਾ ਹੈ। daemon ਅਧਿਕਾਰਤ (authoritative) ਰਹਿੰਦਾ ਹੈ। ਪ੍ਰੋਜੈਕਟ ਪੋਰਟੇਬਲ ਰਹਿੰਦਾ ਹੈ।
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