SSD Nodes Learn 🎉 VPS $5.50/மாதம் முதல்
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-16

VPS-ல் DeepSeek Harness-ஐ பாதுகாப்பாக நிறுவுவது எப்படி?

Linux VPS-ல் DeepSeek Harness-ஐ நிறுவி, npm version-ஐ pin செய்து, port 3080-ஐ SSH tunnel மூலம் பாதுகாப்பாக அணுகுவதற்கான வழிமுறைகளை இந்த வழிகாட்டி விரிவாக விளக்குகிறது.

DeepSeek Harness என்றால் என்ன

DeepSeek Harness (dsh) என்பது ஒரு Node.js agent runtime ஆகும். இதை நீங்கள் ஒரு VPS-ல் (virtual private server) இயக்கலாம். இதை இயக்குவதற்கான பாதுகாப்பான வழி, இதை 127.0.0.1-உடன் பிணைத்து, SSH (secure shell) tunnel வழியாக உங்கள் browser மூலம் அணுகுவதாகும். இது terminal-ல் இயங்குவதற்குப் பதிலாக, port 3080-ல் ஒரு web UI-ஐ (user interface) வழங்குகிறது. இந்த web server-க்குத் தனியாக password கிடையாது. எனவே, port 3080-ஐ public-ஆகத் திறந்தால், அதை அணுகும் எவரும் உங்கள் கோப்புகளைப் படிக்கவும், உங்கள் Linux user-ஆக கட்டளைகளை இயக்கவும் கூடிய ஒரு agent-ஐப் பெற முடியும்.

DeepSeek இதை 13 August 2026 அன்று MIT உரிமத்தின் கீழ், @deepseek-ai/dsh என்ற npm package-ஆக வெளியிட்டது. இந்தத் திட்டம் தன்னை ஒரு developer preview என்று குறிப்பிடுகிறது மற்றும் இதில் compatibility-ஐப் பாதிக்கும் மாற்றங்கள் எதிர்பார்க்கப்படலாம் என்று கூறுகிறது. கீழே உள்ள ஒவ்வொரு version எண்ணும் August 2026-ன் ஒரு snapshot ஆகும். எனவே, முக்கியமான ஒரு server-ல் எதையும் பதிவிறக்கும் முன் repository-ஐச் சரிபார்க்கவும்.

இதன் முழு வடிவமைப்பிலும் ஒரு கருத்து மையமாக உள்ளது: அனைத்தும் ஒரு plugin. Model adapter, tool registry, session log, sandbox, scheduler மற்றும் agent loop ஆகிய அனைத்தும் ஒரே shared context-ல் ஏற்றப்படும் plugins ஆகும். இவற்றில் எதை வேண்டுமானாலும் மாற்ற முடியும். plugins-க்கு மேல் இருக்கும் ஒரு privileged core இதில் இல்லை. இதுவே இந்த harness-ஐ முயற்சி செய்யத் தகுதியானதாக மாற்றுகிறது, அதே சமயம் இதுவே இதில் உள்ள ஒரே உண்மையான ஆபத்தும் ஆகும்.

Harness என்பது ஒரு model அல்ல

Harness என்பது agent loop-ஐ இயக்குகிறது. Reasoning என்பது வேறொரு இடத்தில் உள்ள model-ல் நடக்கும், எனவே நீங்கள் ஒரு API (application programming interface) key அல்லது நீங்கள் சொந்தமாக host செய்யும் model endpoint-ன் முகவரியை வழங்கும் வரை எதுவும் இயங்காது.

இதை நீங்கள் UI-ல் Settings மற்றும் Models பகுதிக்குச் சென்று configure செய்ய வேண்டும். Catalog-ல் பெரிய API வழங்குநர்களுக்கான (DeepSeek, OpenAI, Anthropic) ஆயத்தமான cards உள்ளன, அங்கு நீங்கள் key-ஐ paste செய்யலாம். "Add a custom provider" என்பது ஒரு சுவாரஸ்யமான விருப்பம்: இது provider ID, display name, base URL, API protocol மற்றும் credential ஆகியவற்றைப் பெற்றுக்கொள்ளும். இது OpenAI-compatible protocol-ஐப் பின்பற்றுவதால், அந்த protocol-ஐச் செயல்படுத்தும் எந்த gateway அல்லது local server-உம் வேலை செய்யும். Custom providers, உங்களுக்காக model பட்டியலை நிரப்ப OpenAI-compatible GET /models endpoint-ஐயும் query செய்ய முடியும்.

இப்படித்தான் நீங்கள் harness-ஐ அதே VPS-ல் உள்ள ஒரு model-க்குச் சுட்டிக்காட்ட வேண்டும். Ollama, http://127.0.0.1:11434/v1/-ல் OpenAI-compatible API-ஐ வழங்குகிறது. இதற்கு API key புலத்தில் ஏதேனும் ஒரு string-ஐ நிரப்ப வேண்டும்; வழக்கமாக ollama பயன்படுத்தப்படுகிறது, ஏனெனில் அந்தப் புலம் கட்டாயமானது, ஆனால் பின்னர் அது புறக்கணிக்கப்படும். உங்கள் VPS-ல் பொருந்தக்கூடிய ஒரு சிறிய model, ஒரு agent-ஐ இயக்குவதற்குப் போதுமானதா என்பதுதான் கடினமான கேள்வி. Ollama மற்றும் vLLM ஆகியவற்றுக்கு இடையேயான வேறுபாடு உங்கள் RAM-ல் எவ்வளவு செலவாகும் என்பதைத் தீர்மானிக்கிறது.

UI-ல் தட்டச்சு செய்யப்படும் keys, write-only முறையில் இருக்கும். Harness அவற்றை $DSH_HOME/.credentials.yaml-ல் சேமித்து, settings.yaml-ல் ஒரு credential reference-ஐ மட்டுமே வைத்திருக்கும். $DSH_HOME இயல்பாக ~/.dsh-ஐக் கொண்டிருக்கும். அந்த file-ஐ ஒரு password file-ஆகக் கருதுங்கள், ஏனெனில் அது அப்படித்தான்: அதை வாசிக்கும் எவரும் உங்கள் API budget-ஐப் பயன்படுத்த முடியும்.

நிறுவுவதற்கு முன் உங்களுக்குத் தேவையானவை

  • SSH அணுகலுடன் கூடிய Ubuntu 24.04 அல்லது தற்போதைய Linux இயங்கும் ஒரு VPS.
  • Node.js 22.19 அல்லது அதற்குப் பிந்தைய 22.x பதிப்பு, அல்லது Node.js 24 மற்றும் அதற்கு மேற்பட்ட பதிப்பு (இந்தத் திட்டம் இதிலேயே உருவாக்கப்பட்டு சோதிக்கப்படுகிறது).
  • root அல்லாத ஒரு சாதாரண பயனர் கணக்கு, ஏனெனில் இந்த agent-ஐத் தொடங்கும் பயனரின் உரிமையிலேயே shell கட்டளைகள் இயக்கப்படும்.
  • நீங்கள் plugins நிறுவத் திட்டமிட்டால், PATH-ல் pnpm இருக்க வேண்டும், ஏனெனில் plugin கட்டளைகள் இதைத்தான் பயன்படுத்தும்.
  • உங்கள் firewall மற்றும் உங்கள் சேவை வழங்குநரின் தனிப்பட்ட network firewall-ல் port 3080 மூடப்பட்டிருக்க வேண்டும்.

Ubuntu-வின் சொந்த nodejs தொகுப்பு இந்த harness-க்குத் தேவையானதை விடப் பழையது, எனவே apt install nodejs-ஐப் பயன்படுத்துவதற்குப் பதிலாக NodeSource அல்லது nvm மூலம் Node-ஐ நிறுவவும். VPS புதியது என்றால், வேறெதையும் செய்வதற்கு முன் SSH-ஐப் பாதுகாப்பது பத்து நிமிடங்களுக்கு மதிப்புடையது, ஏனெனில் நீங்கள் பயன்படுத்தப்போகும் tunnel-ன் பாதுகாப்பு அதன் பின்னால் உள்ள SSH server-ஐப் பொறுத்தே அமையும்.

VPS-ல் DeepSeek Harness-ஐ நிறுவுதல் மற்றும் ஒரு குறிப்பிட்ட பதிப்பை நிலைநிறுத்துதல்

node --version
npx @deepseek-ai/dsh@0.1.0-rc.6 web

npx தொகுப்பைப் பதிவிறக்கம் செய்து அதன் dsh பைனரியை இயக்குகிறது. web என்பது --profile web-க்கான ஒரு மாற்றுப் பெயர் (alias) ஆகும்; இது பிரவுசர் அப்ளிகேஷனைத் தொடங்கும், மேலும் அந்தச் செயல்முறை அது இயங்கும் முகவரியை வெளியிடும். இயல்பான முகவரி http://127.0.0.1:3080 ஆகும்.

பதிப்பை நிலைநிறுத்தவும் (Pin). நீங்கள் npx @deepseek-ai/dsh web-ஐ இயக்கும் அந்த நிமிடத்தில் latest டேக் எதைக் குறிக்கிறதோ அதை அது தீர்மானிக்கிறது. இந்தத் திட்டம் ஏற்கனவே பல release candidates-களை வெளியிட்டுள்ளது, மேலும் இதில் மாற்றங்கள் வரக்கூடும் என்று அறிவித்துள்ளது. 0.1.0-rc.6 என்பது ஆகஸ்ட் 13, 2026 அன்று latest எதைக் குறிக்கிறதோ அதுவாகும். ஒரு பதிப்பை நிலைநிறுத்துவது என்பது, இன்று நீங்கள் அமைக்கும் சர்வர் அடுத்த மாதமும் அதேபோல் செயல்படும் என்பதை உறுதிப்படுத்துகிறது. இதனால், ஒரு மேம்படுத்தல் (upgrade) என்பது நீங்கள் எடுக்கும் முடிவாக இருக்குமே தவிர, எதிர்பாராமல் நடக்கும் விபத்தாக இருக்காது.

தினசரி பயன்பாட்டிற்கு, ஒவ்வொரு முறை தொடங்கும்போதும் தீர்மானிப்பதற்குப் பதிலாக, அதை ஒருமுறை நிறுவவும்.

npm install -g @deepseek-ai/dsh@0.1.0-rc.6
dsh --profile web --help

இரண்டாவது வரியை இயக்குவது அவசியம், ஏனெனில் லான்சரும் (launcher) வெப் ஆப்பும் (web app) தனித்தனி flag தொகுப்புகளைக் கொண்டுள்ளன. dsh --help லான்சரின் சொந்த விருப்பங்களைக் காட்டுகிறது. dsh --profile web --help வெப் அப்ளிகேஷன் ஏற்கும் flag-களைக் காட்டுகிறது; இதில் தான் --port, --host மற்றும் மீண்டும் பயன்படுத்தக்கூடிய --trusted-host ஆகியவை உள்ளன.

இப்போது அது எந்த முகவரியில் இயங்குகிறது என்பதை உறுதிப்படுத்தவும்.

ss -tlnp | grep 3080

Local address நெடுவரிசையில் 127.0.0.1:3080 என்று இருக்க வேண்டும். அது 0.0.0.0:3080 என்று இருந்தால், அந்த UI இணையத்திலிருந்து அணுகக்கூடியதாக உள்ளது என்று அர்த்தம். நீங்கள் வேறு எதையும் செய்வதற்கு முன்பாக அந்தச் செயல்முறையை நிறுத்த வேண்டும்.

port 3080-ஐ ஏன் ஒருபோதும் பொதுவெளியில் வெளியிடக்கூடாது

இந்த web server-ல் authentication அடுக்கு எதுவும் இல்லை. இதன் configuration-ல் listen host மற்றும் listen port மட்டுமே உள்ளன; இதுவே அதன் முழுமையான பாதுகாப்பு பரப்பு. Loopback அல்லாத deployments-க்கு, இது ஒரு login திரை அல்ல, மாறாக ஒரு தனிப்பட்ட trusted-host அமைப்பாகும்.

இப்போது அந்த port-க்கு பின்னால் என்ன இருக்கிறது என்று பாருங்கள். இந்த agent workspace-ல் உள்ள கோப்புகளைத் திருத்துகிறது மற்றும் shell commands-ஐ இயக்குகிறது; உங்கள் provider credentials-ம் அதே வட்டில் சேமிக்கப்பட்டிருக்கும். எனவே, திறந்திருக்கும் port 3080 என்பது ஒரு chat interface கொண்ட remote shell ஆகும். இது எந்த பயனர் அதைத் தொடங்கினாரோ, அந்த பயனரின் அனுமதியுடன், உங்கள் API key-யுடன் இயங்குகிறது. இதற்கு எந்த exploit-ம் தேவையில்லை. அவர்களுக்கு port எண் தெரிந்தால் போதும்; ஒரு host online-க்கு வந்த சில மணிநேரங்களிலேயே scanners அந்த port எண்களைக் கண்டறிந்துவிடும்.

CLI (command line interface)-ம் இதை ஒப்புக்கொள்கிறது. 0.1.0-rc.6 பதிப்பிலிருந்து, இது வேண்டுமென்றே --host 0.0.0.0-ஐ ஆதரிப்பதில்லை; மேலும் இது தொடங்குவதற்குப் பதிலாக usage error-ஐக் காட்டி வெளியேறுகிறது. அந்த மறுப்பு ஒரு வசதி (feature), எனவே அதை நீக்கும் patch-ஐத் தேட வேண்டாம்.

Tunnel வசதி உங்களுக்குப் பொருந்தவில்லை என்றால், வேறு இரண்டு முறைகள் பொருத்தமானவை. அந்த server-ஐ ஒரு private overlay network-ல் வையுங்கள்; இதன் மூலம் உங்கள் சாதனங்கள் மட்டுமே அணுகக்கூடிய முகவரியை அது பெறும். self-hosted Headscale control server மூலம் இதைச் செய்யலாம். அல்லது, port 3080-ஐ அடைவதற்கு முன்பே கோரிக்கையை அங்கீகரிக்கும் ஒரு reverse proxy-ஐ முன்னால் வையுங்கள்; உதாரணமாக, forward auth செய்யும் Authentik single sign-on server-ஐப் பயன்படுத்தலாம். அங்கீகாரம் (auth) இல்லாத reverse proxy என்பது ஒரு பாதுகாப்பு கட்டுப்பாடு அல்ல. அது வெறும் நீண்ட URL மட்டுமே.

SSH tunnel வழியாக web UI-ஐ அணுகுதல்

இதை server-ல் இயக்க வேண்டாம், உங்கள் laptop-ல் இயக்கவும்.

ssh -N -L 3080:127.0.0.1:3080 you@your-server

-L உங்கள் laptop-ல் 3080 port-ஐத் திறந்து, அதனுடன் இணையும் அனைத்தையும் encrypted SSH session வழியாக forward செய்கிறது. 127.0.0.1:3080 பகுதி server-ல் resolve செய்யப்படுகிறது, எனவே அந்த இணைப்பு loopback வழியாக harness-க்கு வந்து சேரும்; நீங்கள் அந்த machine-க்கு முன்னால் அமர்ந்திருப்பது போலவே இது செயல்படும். -N என்பது remote shell-ஐத் தொடங்க வேண்டாம் என்று கூறுகிறது, ஏனெனில் உங்களுக்கு port forwarding மட்டுமே தேவை.

பிறகு உங்கள் local browser-ல் http://127.0.0.1:3080-ஐத் திறக்கவும். உங்கள் laptop-ல் 3080 port ஏற்கனவே பயன்பாட்டில் இருந்தால், இடதுபுற எண்ணை மாற்றவும்: ssh -N -L 3180:127.0.0.1:3080 you@your-server, பிறகு http://127.0.0.1:3180-க்குச் செல்லவும். இடதுபுற எண் local-ஐக் குறிக்கும், வலதுபுற எண் server-ஐக் குறிக்கும், எனவே இடதுபுற எண் மட்டுமே மாறும்.

இதை ~/.ssh/config-ல் சேமித்து வைத்துக்கொண்டு, மீண்டும் மீண்டும் தட்டச்சு செய்வதைத் தவிர்க்கவும்.

Host dsh
  HostName 203.0.113.10
  User deploy
  IdentityFile ~/.ssh/id_ed25519
  LocalForward 3080 127.0.0.1:3080

அதன்பிறகு, ssh -N dsh tunnel-ஐத் தொடங்கும். Browser-ல் connection refused என்று காட்டினால், tunnel செயல்படுகிறது ஆனால் மறுமுனையில் எந்த service-ம் இயங்கவில்லை என்று பொருள்; ஏனெனில் harness இயங்கினாலும் இல்லாவிட்டாலும் SSH port-ஐ forward செய்யும். மேலே உள்ள ss கட்டளையைப் பயன்படுத்தி server-ஐச் சரிபார்க்கவும்.

நீங்கள் வெளியேறிய பிறகும் harness இயங்குவதை உறுதி செய்தல்

ஒரு npx கட்டளை உங்கள் shell-உடன் முடிந்துவிடும். ஒரு systemd user service உங்கள் session-க்கு பிறகும் இயங்கும், மேலும் ஒரு crash அல்லது reboot-க்கு பிறகு harness-ஐ மீண்டும் தொடங்கும்.

loginctl enable-linger $USER
mkdir -p ~/.config/systemd/user
command -v dsh

enable-linger முக்கியமானது, ஏனெனில் உங்கள் கடைசி session முடிந்தவுடன் user services பொதுவாக நின்றுவிடும். எனவே, இது இல்லையெனில் நீங்கள் tunnel-ஐ மூடியவுடன் harness நின்றுவிடும். command -v dsh மூலம் காட்டப்படும் முழுமையான path-ஐ (absolute path) unit-ல் குறிப்பிடவும், ஏனெனில் உங்கள் login shell உருவாக்கும் PATH-ஐ systemd தேடாது.

[Unit]
Description=DeepSeek Harness web UI
After=network-online.target

[Service]
Type=simple
WorkingDirectory=%h/projects/site
ExecStart=/usr/local/bin/dsh web
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

WorkingDirectory என்பது வெறும் அலங்காரத்திற்காக அல்ல. dsh process தான் இயங்கும் directory-ஐ default filesystem location-ஆகப் பயன்படுத்தும். எனவே, தவறான இடத்தில் ஒரு service தொடங்கப்பட்டால், அது agent-க்கு தவறான default workspace-ஐக் கொடுக்கும். நீங்கள் UI-ல் workspace-ஐ மாற்றிக்கொள்ள முடியும்.

systemctl --user daemon-reload
systemctl --user enable --now dsh
systemctl --user status dsh

ஒரு unit தொடங்க மறுக்கிறது என்றால், அது பெரும்பாலும் தவறான ExecStart path அல்லது binary நிராகரிக்கும் Node version காரணமாக இருக்கலாம்; journalctl --user -u dsh -n 50 எதில் தவறு உள்ளது என்பதைக் காட்டும். இதே முறைதான் எந்தவொரு coding agent-ஐயும் VPS-ல் தொடர்ந்து இயங்க வைப்பதற்கும் பொருந்தும், மேலும் தோல்விக்கான காரணங்களும் ஒரே மாதிரியானவை.

ஒரு plugin என்ன செய்ய அனுமதிக்கப்படுகிறது

ஒரு plugin என்பது பகிரப்பட்ட சூழலில் (shared context) சேவைகள், தட்டச்சு செய்யப்பட்ட நிகழ்வுகள் (typed events) மற்றும் மாற்றக்கூடிய விளைவுகளை (reversible effects) வழங்கும் ஒரு தொகுதியாகும். இதில் உள்ள extension points-களை கவனமாகப் படிப்பது அவசியம்:

  • ctx.llm-ல் ஒரு model provider-ஐப் பதிவு செய்தல்
  • ctx.tools-ல் model-க்குத் தேவையான கருவிகளைச் சேர்த்தல்
  • ctx.shell-ன் பின்னால் shell backend-ஐ வழங்குதல்
  • ctx.fs-ன் பின்னால் filesystem அணுகல் அல்லது கொள்கையை வழங்குதல்
  • ctx.commands-ல் பயனர் கட்டளைகளைப் (human commands) பதிவு செய்தல்
  • ctx.jobs வழியாக பின்னணிப் பணிகளை இயக்குதல்
  • ctx.sandbox backend மூலம் உருவாக்கப்பட்ட செயல்முறைகளை (spawned processes) உள்ளடக்குதல் (wrap)
  • agent/* மற்றும் tools/* நிகழ்வுகள் மூலம் கோரிக்கைகள் மற்றும் tool calls-களை இடைமறித்தல்
  • நீடித்த அமர்வு நிலையை (durable session state) நீட்டித்தல்
  • ctx.agents மூலம் UI-ஐ இயக்குதல்

இந்த பட்டியலை ஒரு தாக்குபவர் (attacker) பார்ப்பது போலவே பாருங்கள். ஒரு plugin-ஆல் filesystem அடுக்கு மற்றும் shell அடுக்கை வழங்க முடியும், மேலும் model செய்யும் ஒவ்வொரு tool call-க்கும் இடையில் அது இருக்க முடியும். ஒரு plugin-க்கும் இந்த இணைப்புகளுக்கும் (seams) இடையே எந்த அனுமதிக் கோரிக்கையும் (permission dialog) இல்லை, ஏனெனில் ஒரு plugin என்பது மற்ற அனைத்தையும் போலவே அதே process-ல் ஏற்றப்படும் சாதாரண Node code ஆகும். ஒரு plugin-ஐ நிறுவுவது என்பது உங்கள் agent-ன் அனுமதிகளுடன் ஒரு அந்நியரின் code-ஐ இயக்குவதாகும், மேலும் உங்கள் agent-ன் அனுமதிகள் என்பது உங்கள் Unix பயனரின் அனுமதிகளே ஆகும்.

நீங்கள் ஒரு VPS-ல் உள்ள agent-உடன் MCP server-ஐ இணைக்கும்போது எடுக்கும் அதே நம்பிக்கைத் தீர்மானம் இதுவே, இங்கு MCP என்பது model context protocol ஆகும். இதனால்தான் VPS-ல் ஒரு coding agent-ஐப் பாதுகாப்பாக இயக்குவது என்பது model-ல் தொடங்காமல், அது இயங்கும் கணக்கிலிருந்து (account) தொடங்குகிறது. மேலும், npm supply chain தாக்குதல்கள் server-களை ஏன் கடுமையாகப் பாதிக்கின்றன என்பதற்கும் இதுவே காரணம்: நிறுவும் நிலையே (install step) சமரசமாக (compromise) மாறிவிடுகிறது, மேலும் எந்த எச்சரிக்கையும் உங்களுக்குத் தெரிவிக்கப்படுவதில்லை.

Plugins எங்கிருந்து வருகின்றன

Plugins, profiles-க்குள் இருக்கின்றன. ஒரு profile என்பது $DSH_HOME-ன் கீழ் சேமிக்கப்படும் பெயரிடப்பட்ட தொகுப்பாகும், இது இயல்பாக ~/.dsh என அமையும். ஒவ்வொரு profile கோப்பகமும் (directory) அது நிறுவும் out-of-tree plugins-களைக் கொண்டிருக்கும். CLI, உங்கள் arguments-களை நேரடியாக pnpm-க்கு அனுப்புவதன் மூலம் அவற்றை நிர்வகிக்கிறது; இதற்காக profile கோப்பகத்தை working directory-ஆகப் பயன்படுத்துகிறது.

dsh plugin --profile web add github:deepseek-harness/turtle-ui
dsh plugin --profile web remove turtle-ui

Arguments மாற்றமின்றி pnpm-ஐ அடைவதால், add, remove, update மற்றும் why ஆகியவை எந்தவொரு pnpm project-லும் செயல்படுவது போலவே செயல்படுகின்றன. ஒரு plugin என்பது npm package-ஆகவோ அல்லது GitHub reference-ஆகவோ இருக்கலாம். pnpm முதலில் PATH-ல் இருக்க வேண்டும். Node 22 மற்றும் அதற்குப் பிந்தைய பதிப்புகளில், corepack enable pnpm அதை அங்கு வைக்கிறது.

GitHub topic மூலம் plugins கண்டறியப்படுகின்றன. Plugin உருவாக்குநர்கள் தங்கள் repository-ல் dsh-plugin topic-ஐச் சேர்க்கிறார்கள்; அந்த topic-ஐ உலாவுவதன் மூலம் என்னென்ன plugins உள்ளன என்பதை நீங்கள் கண்டறியலாம். Topic என்பது ஒரு உருவாக்குநர் தனது சொந்த repository-க்கு இடும் ஒரு label ஆகும். இதை யாரும் சரிபார்ப்பதில்லை, யாரும் கையொப்பமிடுவதில்லை. Topic பக்கம் நட்சத்திரங்களின் (stars) அடிப்படையில் தரவரிசைப்படுத்தப்படுகிறது; இது பாதுகாப்பை விட பிரபலத்தையே அளவிடுகிறது.

நான்கு பழக்கவழக்கங்கள் இதை நிர்வகிக்க உதவும். நிறுவுவதற்கு முன் source code-ஐப் படியுங்கள், ஏனெனில் பெரும்பாலான plugins பத்து நிமிடங்களில் வாசிக்கும் அளவுக்குச் சிறியவை. ஒரு branch-ஐத் தொடர்வதற்குப் பதிலாக, சரியான version அல்லது commit-ஐ pin செய்யுங்கள். வேறு எந்த முக்கியமான தரவுகளும் இல்லாத ஒரு user-ன் கீழ், தேவைப்பட்டால் மீண்டும் உருவாக்கத் தயாராக இருக்கும் ஒரு VPS-ல் harness-ஐ இயக்குங்கள். உங்கள் production services பயன்படுத்தும் key-லிருந்து தனித்து, சொந்தமாக spending limit கொண்ட தனி API key-ஐ இந்த agent-க்கு வழங்குங்கள்.

ஒன்றைத் தேர்ந்தெடுப்பதற்கு முன் வடிவமைப்புகளை ஒப்பிட விரும்பினால், the Omnigent multi-agent harness அதே சிக்கலுக்கு வேறுபட்ட கட்டமைப்பில் தீர்வளிக்கிறது. Plugins பயன்பாட்டுக்கு வரும்போது, அவற்றுக்கிடையேயான சாதக பாதகங்கள் தெளிவாகத் தெரியும்.

எது முதலில் செயலிழக்கும்

Node மிகவும் பழையது. இந்தத் திட்டம் Node 22.19 மற்றும் அதற்குப் பிந்தைய 22.x வரிசை அல்லது Node 24 மற்றும் அதற்கு மேற்பட்ட பதிப்புகளை இலக்காகக் கொண்டுள்ளது; CI சோதனைகளும் இதில் தான் நடைபெறுகின்றன. பழைய runtime-ல் இந்தத் திட்டத்திற்குத் தேவையான syntax மற்றும் API-கள் இல்லாததால், அது தொடங்கும்போதே செயலிழக்கும். மற்ற எதையும் செய்வதற்கு முன்பு node --version-ஐ இயக்கவும்.

Port 3080 ஏற்கனவே பயன்பாட்டில் உள்ளது. மற்றொரு harness, பழைய process அல்லது 3080-ஐப் பயன்படுத்தும் தொடர்பில்லாத வேறொரு application இதற்குக் காரணமாக இருக்கலாம். ss -tlnp | grep 3080 மூலம் அதைக் கண்டறிந்து, அதை நிறுத்தவும் அல்லது dsh web --port 3180 மூலம் harness-ஐ வேறொரு இடத்தில் தொடங்கவும். --port என்பது web app-க்கு உரியது, எனவே அது web-க்கு பின்னரே வரும்.

Tunnel வழியாக browser-ஆல் இணைக்க முடியவில்லை. நீங்கள் 127.0.0.1-க்குச் சென்றதை உறுதிப்படுத்தவும், server-ன் public address-க்கு அல்ல; ஏனெனில் forwarded port உங்கள் laptop-ல் மட்டுமே இருக்கும். பின்னர், harness server-ல் இயங்குகிறதா என்பதை உறுதிப்படுத்தவும், ஏனெனில் மறுமுனையில் எந்தப் பதிலும் இல்லாவிட்டாலும் SSH forward-ஐ அமைத்துவிடும்.

dsh plugin உடனடியாகச் செயலிழக்கிறது. இந்தக் கட்டளை pnpm-ன் wrapper ஆகும், எனவே pnpm binary இல்லையென்றால், எந்த plugin வேலையும் தொடங்குவதற்கு முன்பே அது நின்றுவிடும்.

Agent-ஆல் உங்கள் திட்டத்தைப் பார்க்க முடியவில்லை. Process தொடங்கப்பட்ட directory-யே workspace-ஆக இயல்பாக அமையும். எனவே, ஒரு unit-ன் WorkingDirectory உங்கள் home directory-ஆக இருந்தால், agent உங்கள் home directory-யையே பார்க்கும். UI-ல் workspace-ஐத் தேர்ந்தெடுக்கவும் அல்லது unit-ஐச் சரிசெய்து reload செய்யவும்.

FAQ

DeepSeek Harness web UI-ஐ port 3080-ல் பொதுவெளியில் வைப்பது பாதுகாப்பானதா?

இல்லை. இந்த web server-ல் தனியாக login வசதி இல்லை. இதன் பின்னணியில் இயங்கும் agent, அந்த process-ஐத் தொடங்கிய பயனரின் உரிமைகளுடன் கோப்புகளைத் திருத்தவும், shell கட்டளைகளை இயக்கவும் செய்யும்; மேலும் உங்கள் provider API key அதே வட்டில் சேமிக்கப்பட்டிருக்கும். listener-ஐ 127.0.0.1-ல் வைத்து, SSH tunnel வழியாக அணுகவும். ஒரு private overlay network அல்லது ஒவ்வொரு கோரிக்கையையும் port-க்குச் செல்லும் முன் அங்கீகரிக்கும் (authenticate) ஒரு reverse proxy-யையும் பயன்படுத்தலாம். பதிப்பு 0.1.0-rc.6 முதல், CLI --host 0.0.0.0-ஐ நிராகரித்து, பயன்பாட்டுப் பிழையுடன் (usage error) வெளியேறும். இந்த யோசனை குறித்து மென்பொருள் உருவாக்குநர்களின் கருத்தை இதுவே உணர்த்துகிறது.

எனக்கு DeepSeek API key தேவையா, அல்லது local model-ஐப் பயன்படுத்தலாமா?

இரண்டையும் பயன்படுத்தலாம், ஏனெனில் இந்த harness ஒரு runtime மட்டுமே, model அல்ல. Settings பகுதிக்குச் சென்று Models-ல், ஒரு catalog provider card-ல் key-ஐ உள்ளிடலாம் அல்லது "Add a custom provider" என்பதைத் தேர்ந்தெடுத்து, OpenAI-இணக்கமான protocol-ஐ ஆதரிக்கும் base URL-ஐ வழங்கலாம். ஒரு local Ollama server http://127.0.0.1:11434/v1/-ல் பதிலளிக்கும் மற்றும் API key பகுதியில் எந்த string-ஐயும் ஏற்கும். Keys $DSH_HOME/.credentials.yaml-ல் சேமிக்கப்படும், இது இயல்பாக ~/.dsh/.credentials.yaml-ஆக இருக்கும்.

DeepSeek Harness plugin-ஐ நிறுவுவதால், அந்த plugin-க்கு என்னென்ன உரிமைகள் கிடைக்கும்?

Harness-ஐ இயக்கும் கணக்கின் அனைத்து உரிமைகளும் கிடைக்கும். ஒரு plugin என்பது அதே process-க்குள் ஏற்றப்படும் Node code ஆகும். shell backend, filesystem layer, tool registry மற்றும் ஒவ்வொரு tool call-ஐயும் உள்ளடக்கிய events ஆகியவை இதில் அடங்கும். ஒரு plugin தனக்கான sandbox-ஐ வழங்காதவரை, அந்த plugin-ஐ எதிலிருந்தும் தனிமைப்படுத்த முடியாது. நிறுவும் முன் source code-ஐப் படிக்கவும், உங்களுக்கு முக்கியமில்லாத கோப்புகளைக் கொண்ட ஒரு பயனராக harness-ஐ இயக்கவும்.

நான் எந்தப் பதிப்பை நிறுவ வேண்டும், அது தொடர்ந்து செயல்படுமா?

ஒரு குறிப்பிட்ட பதிப்பை நிறுவவும், உதாரணமாக npx @deepseek-ai/dsh@0.1.0-rc.6 web. இதுதான் 13 August 2026 அன்று latest tag சுட்டிக்காட்டிய பதிப்பாகும். இந்தத் திட்டம் தன்னை ஒரு developer preview என்று அழைத்துக் கொள்கிறது, மேலும் இணக்கத்தன்மையை (compatibility) பாதிக்கும் மாற்றங்கள் எதிர்பார்க்கப்படுகின்றன. எனவே, பதிப்பு எண் குறிப்பிடப்படாத கட்டளை (unpinned command) ஒவ்வொரு நாளும் வெவ்வேறு விதமாகச் செயல்படலாம். upgrade செய்வதற்கு முன் repository-ஐச் சரிபார்க்கவும். பதிப்பு எண் 0-ல் தொடங்கும் வரை, config keys மற்றும் plugin interfaces மாறக்கூடும் என்பதை நினைவில் கொள்ளவும்.

#deepseek#agent-harness#self-hosting#nodejs#plugins