{"id":2885,"date":"2026-05-07T10:02:14","date_gmt":"2026-05-07T07:02:14","guid":{"rendered":"https:\/\/shareai.now\/?p=2885"},"modified":"2026-05-07T10:02:17","modified_gmt":"2026-05-07T07:02:17","slug":"chay-cac-tac-nhan-lap-trinh-ai-tu-dien-thoai-cua-ban","status":"publish","type":"post","link":"https:\/\/shareai.now\/vi\/blog\/nha-phat-trien\/chay-cac-tac-nhan-lap-trinh-ai-tu-dien-thoai-cua-ban\/","title":{"rendered":"Ch\u1ea1y C\u00e1c T\u00e1c Nh\u00e2n L\u1eadp Tr\u00ecnh AI T\u1eeb \u0110i\u1ec7n Tho\u1ea1i C\u1ee7a B\u1ea1n: H\u01b0\u1edbng D\u1eabn T\u1eebng B\u01b0\u1edbc"},"content":{"rendered":"<p>B\u1ea1n kh\u00f4ng c\u1ea7n ph\u1ea3i d\u00e1n m\u1eaft v\u00e0o laptop \u0111\u1ec3 duy tr\u00ec lu\u1ed3ng c\u00f4ng vi\u1ec7c m\u00e3 h\u00f3a AI. N\u1ebfu b\u1ec1 m\u1eb7t \u0111i\u1ec1u khi\u1ec3n c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp an to\u00e0n, b\u1ea1n c\u00f3 th\u1ec3 xem x\u00e9t c\u00e1c nhi\u1ec7m v\u1ee5, ph\u00ea duy\u1ec7t thay \u0111\u1ed5i v\u00e0 b\u1eaft \u0111\u1ea7u c\u00f4ng vi\u1ec7c m\u1edbi t\u1eeb \u0111i\u1ec7n tho\u1ea1i trong khi m\u00e1y ch\u00ednh c\u1ee7a b\u1ea1n ti\u1ebfp t\u1ee5c x\u1eed l\u00fd c\u00e1c t\u00e1c v\u1ee5 n\u1eb7ng.<\/p>\n\n\n\n<p>\u0110\u1ed1i v\u1edbi c\u00e1c nh\u00f3m s\u1eed d\u1ee5ng Cline Kanban, vi\u1ec7c thi\u1ebft l\u1eadp r\u1ea5t \u0111\u01a1n gi\u1ea3n: m\u1edf b\u1ea3ng cho m\u1ed9t m\u1ea1ng ri\u00eang t\u01b0 \u0111\u00e1ng tin c\u1eady, k\u1ebft n\u1ed1i qua Tailscale v\u00e0 gi\u1eef quy\u1ec1n truy c\u1eadp m\u00f4 h\u00ecnh linh ho\u1ea1t \u1edf ph\u00eda sau v\u1edbi <a href=\"https:\/\/shareai.now\/docs\/api\/using-the-api\/getting-started-with-shareai-api\/?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=run-ai-coding-agents-from-your-phone\">API c\u1ee7a ShareAI<\/a>. \u0110i\u1ec1u n\u00e0y cho ph\u00e9p b\u1ea1n ki\u1ec3m so\u00e1t di \u0111\u1ed9ng m\u00e0 kh\u00f4ng kh\u00f3a ng\u0103n x\u1ebfp c\u1ee7a b\u1ea1n v\u00e0o m\u1ed9t nh\u00e0 cung c\u1ea5p m\u00f4 h\u00ecnh duy nh\u1ea5t.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nh\u1eefng g\u00ec b\u1ea1n c\u1ea7n tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M\u1ed9t m\u00e1y Mac ho\u1eb7c m\u00e1y ph\u00e1t tri\u1ec3n kh\u00e1c ch\u1ea1y Cline.<\/li>\n\n\n\n<li>M\u1ed9t \u0111i\u1ec7n tho\u1ea1i v\u1edbi tr\u00ecnh duy\u1ec7t hi\u1ec7n \u0111\u1ea1i.<\/li>\n\n\n\n<li>Tailscale \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t tr\u00ean c\u1ea3 hai thi\u1ebft b\u1ecb v\u00e0 \u0111\u0103ng nh\u1eadp v\u00e0o c\u00f9ng m\u1ed9t tailnet.<\/li>\n\n\n\n<li>M\u1ed9t t\u00e0i kho\u1ea3n ShareAI n\u1ebfu b\u1ea1n mu\u1ed1n m\u1ed9t API cho quy\u1ec1n truy c\u1eadp m\u00f4 h\u00ecnh, \u0111\u1ecbnh tuy\u1ebfn v\u00e0 chuy\u1ec3n \u0111\u1ed5i d\u1ef1 ph\u00f2ng.<\/li>\n<\/ul>\n\n\n\n<p>H\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c <a href=\"https:\/\/docs.cline.bot\/kanban\/remote-access\" rel=\"nofollow noopener\" target=\"_blank\">v\u1ec1 truy c\u1eadp t\u1eeb xa Cline<\/a> v\u00e0 <a href=\"https:\/\/tailscale.com\/docs\/concepts\/tailnet-name\" rel=\"nofollow noopener\" target=\"_blank\">T\u00e0i li\u1ec7u hostname c\u1ee7a Tailscale<\/a> l\u00e0 c\u00e1c t\u00e0i li\u1ec7u tham kh\u1ea3o h\u1eefu \u00edch n\u1ebfu b\u1ea1n mu\u1ed1n x\u00e1c nh\u1eadn t\u00ean thi\u1ebft b\u1ecb ho\u1eb7c thi\u1ebft l\u1eadp m\u1ea1ng c\u1ee7a m\u00ecnh.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">B\u01b0\u1edbc 1: Kh\u1edfi ch\u1ea1y Kanban \u0111\u1ec3 \u0111i\u1ec7n tho\u1ea1i c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp<\/h2>\n\n\n\n<p>Theo m\u1eb7c \u0111\u1ecbnh, Kanban li\u00ean k\u1ebft v\u1edbi localhost. \u0110i\u1ec1u n\u00e0y ph\u00f9 h\u1ee3p cho lu\u1ed3ng c\u00f4ng vi\u1ec7c ch\u1ec9 tr\u00ean laptop, nh\u01b0ng \u0111i\u1ec7n tho\u1ea1i kh\u00f4ng th\u1ec3 truy c\u1eadp d\u1ecbch v\u1ee5 ch\u1ec9 l\u1eafng nghe tr\u00ean <code>127.0.0.1<\/code>. Kh\u1edfi \u0111\u1ed9ng Cline v\u1edbi m\u1ed9t li\u00ean k\u1ebft m\u1ea1ng \u0111\u1ec3 b\u1ea3ng c\u00f3 th\u1ec3 truy c\u1eadp tr\u00ean m\u1ea1ng ri\u00eang t\u01b0 c\u1ee7a b\u1ea1n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>KANBAN_RUNTIME_HOST=0.0.0.0 cline<\/code><\/pre>\n\n\n\n<p>\u0110i\u1ec1u n\u00e0y cho Kanban l\u1eafng nghe tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c giao di\u1ec7n. N\u00f3 ti\u1ec7n l\u1ee3i, nh\u01b0ng c\u0169ng c\u00f3 ngh\u0129a l\u00e0 ki\u1ec3m so\u00e1t truy c\u1eadp r\u1ea5t quan tr\u1ecdng. S\u1eed d\u1ee5ng n\u00f3 tr\u00ean c\u00e1c m\u1ea1ng v\u00e0 thi\u1ebft b\u1ecb b\u1ea1n tin t\u01b0\u1edfng, v\u00e0 \u01b0u ti\u00ean m\u1ed9t \u0111\u01b0\u1eddng VPN ri\u00eang thay v\u00ec m\u1edf r\u1ed9ng b\u1ea3ng ra c\u00f4ng khai.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">B\u01b0\u1edbc 2: M\u1edf b\u1ea3ng t\u1eeb \u0111i\u1ec7n tho\u1ea1i c\u1ee7a b\u1ea1n qua Tailscale<\/h2>\n\n\n\n<p>Khi c\u1ea3 hai thi\u1ebft b\u1ecb \u0111\u1ec1u n\u1eb1m tr\u00ean c\u00f9ng m\u1ed9t tailnet, m\u1edf hostname Tailscale c\u1ee7a m\u00e1y c\u1ee7a b\u1ea1n trong tr\u00ecnh duy\u1ec7t \u0111i\u1ec7n tho\u1ea1i tr\u00ean c\u1ed5ng <code>3484<\/code>. \u0110\u1ecbnh d\u1ea1ng tr\u00f4ng nh\u01b0 <code>http:\/\/your-machine-name.tail1234.ts.net:3484<\/code>. Hostname ch\u00ednh x\u00e1c c\u1ee7a b\u1ea1n s\u1ebd ph\u1ee5 thu\u1ed9c v\u00e0o t\u00ean thi\u1ebft b\u1ecb hi\u1ec3n th\u1ecb trong Tailscale.<\/p>\n\n\n\n<p>C\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y gi\u1eef cho quy tr\u00ecnh l\u00e0m vi\u1ec7c t\u1eeb xa \u0111\u01a1n gi\u1ea3n. B\u1ea1n kh\u00f4ng m\u1edf c\u00e1c c\u1ed5ng c\u00f4ng c\u1ed9ng, b\u1ea1n kh\u00f4ng d\u1ef1a v\u00e0o m\u1ed9t \u0111\u01b0\u1eddng h\u1ea7m demo nhanh, v\u00e0 b\u1ea1n c\u00f3 th\u1ec3 gi\u1eef b\u1ea3ng kh\u1ea3 d\u1ee5ng khi di chuy\u1ec3n gi\u1eefa c\u00e1c \u0111\u1ecba \u0111i\u1ec3m.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">B\u01b0\u1edbc 3: Gi\u1eef quy\u1ec1n truy c\u1eadp m\u00f4 h\u00ecnh linh ho\u1ea1t sau m\u1eb7t ph\u1eb3ng \u0111i\u1ec1u khi\u1ec3n<\/h2>\n\n\n\n<p>Truy c\u1eadp t\u1eeb xa gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 ki\u1ec3m so\u00e1t. N\u00f3 kh\u00f4ng gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 m\u00f4 h\u00ecnh. N\u1ebfu thi\u1ebft l\u1eadp agent c\u1ee7a b\u1ea1n c\u1ea7n c\u00e1c m\u00f4 h\u00ecnh kh\u00e1c nhau cho c\u00e1c c\u00f4ng vi\u1ec7c kh\u00e1c nhau, ho\u1eb7c n\u1ebfu b\u1ea1n mu\u1ed1n m\u1ed9t \u0111\u01b0\u1eddng d\u1eabn s\u1ea1ch h\u01a1n cho chuy\u1ec3n \u0111\u1ed5i d\u1ef1 ph\u00f2ng, \u0111\u00f3 l\u00e0 n\u01a1i ShareAI ph\u00f9 h\u1ee3p.<\/p>\n\n\n\n<p>V\u1edbi <a href=\"https:\/\/shareai.now\/models\/?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=run-ai-coding-agents-from-your-phone\">150+ m\u00f4 h\u00ecnh c\u00f3 s\u1eb5n th\u00f4ng qua m\u1ed9t API<\/a>, b\u1ea1n c\u00f3 th\u1ec3 gi\u1eef agent m\u00e3 h\u00f3a c\u1ee7a m\u00ecnh h\u01b0\u1edbng t\u1edbi m\u1ed9t t\u00edch h\u1ee3p duy nh\u1ea5t trong khi v\u1eabn thay \u0111\u1ed5i m\u00f4 h\u00ecnh ph\u00eda sau n\u00f3. \u0110i\u1ec1u n\u00e0y h\u1eefu \u00edch khi b\u1ea1n ki\u1ec3m tra c\u00f4ng vi\u1ec7c t\u1eeb \u0111i\u1ec7n tho\u1ea1i v\u00e0 mu\u1ed1n quy tr\u00ecnh l\u00e0m vi\u1ec7c \u1ed5n \u0111\u1ecbnh ngay c\u1ea3 khi b\u1ea1n thay \u0111\u1ed5i nh\u00e0 cung c\u1ea5p, so s\u00e1nh k\u1ebft qu\u1ea3, ho\u1eb7c chuy\u1ec3n h\u01b0\u1edbng l\u01b0u l\u01b0\u1ee3ng v\u00ec l\u00fd do gi\u00e1 c\u1ea3 v\u00e0 \u0111\u1ed9 tr\u1ec5.<\/p>\n\n\n\n<p>N\u1ebfu b\u1ea1n ch\u01b0a k\u1ebft n\u1ed1i stack c\u1ee7a m\u00ecnh, h\u00e3y b\u1eaft \u0111\u1ea7u v\u1edbi <a href=\"https:\/\/shareai.now\/documentation\/?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=run-ai-coding-agents-from-your-phone\">t\u00e0i li\u1ec7u ShareAI<\/a> v\u00e0 <a href=\"https:\/\/shareai.now\/docs\/api\/using-the-api\/getting-started-with-shareai-api\/?utm_source=blog&amp;utm_medium=content&amp;utm_campaign=run-ai-coding-agents-from-your-phone\">B\u1eaft \u0111\u1ea7u nhanh API<\/a>. \u0110i\u1ec1u \u0111\u00f3 cung c\u1ea5p cho b\u1ea1n m\u1ed9t l\u1edbp backend s\u1ea1ch cho Cline ho\u1eb7c b\u1ea5t k\u1ef3 quy tr\u00ecnh l\u00e0m vi\u1ec7c t\u01b0\u01a1ng th\u00edch OpenAI n\u00e0o kh\u00e1c m\u00e0 b\u1ea1n mu\u1ed1n qu\u1ea3n l\u00fd t\u1eeb xa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nh\u1eefng g\u00ec b\u1ea1n th\u1ef1c s\u1ef1 c\u00f3 th\u1ec3 l\u00e0m t\u1eeb thi\u1ebft b\u1ecb di \u0111\u1ed9ng<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ki\u1ec3m tra ti\u1ebfn \u0111\u1ed9 c\u00f4ng vi\u1ec7c m\u00e0 kh\u00f4ng c\u1ea7n quay l\u1ea1i b\u00e0n l\u00e0m vi\u1ec7c.<\/li>\n\n\n\n<li>Xem x\u00e9t c\u00e1c thay \u0111\u1ed5i tr\u01b0\u1edbc khi ph\u00ea duy\u1ec7t.<\/li>\n\n\n\n<li>B\u1eaft \u0111\u1ea7u ho\u1eb7c x\u1ebfp h\u00e0ng c\u00f4ng vi\u1ec7c m\u1edbi khi m\u1ed9t t\u00e1c nh\u00e2n \u0111ang nh\u00e0n r\u1ed7i.<\/li>\n\n\n\n<li>Gi\u1eef cho quy tr\u00ecnh l\u00e0m vi\u1ec7c \u0111a m\u00f4 h\u00ecnh ti\u1ebfp t\u1ee5c ngay c\u1ea3 khi b\u1ea1n kh\u00f4ng \u1edf g\u1ea7n m\u00e1y ch\u00ednh.<\/li>\n<\/ul>\n\n\n\n<p>L\u1ee3i \u00edch th\u1ef1c t\u1ebf kh\u00f4ng ph\u1ea3i l\u00e0 s\u1ef1 m\u1edbi l\u1ea1. \u0110\u00f3 l\u00e0 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn h\u01a1n. Khi m\u1ed9t t\u00e1c nh\u00e2n b\u1ecb ch\u1eb7n do ch\u1edd ph\u00ea duy\u1ec7t ho\u1eb7c nhi\u1ec7m v\u1ee5 ti\u1ebfp theo, m\u1ed9t quy\u1ebft \u0111\u1ecbnh nhanh t\u1eeb \u0111i\u1ec7n tho\u1ea1i c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 gi\u1eef cho to\u00e0n b\u1ed9 quy tr\u00ecnh l\u00e0m vi\u1ec7c kh\u00f4ng b\u1ecb \u0111\u00ecnh tr\u1ec7.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00e1c l\u1ed7i ph\u1ed5 bi\u1ebfn<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ec3 Kanban b\u1ecb gi\u1edbi h\u1ea1n tr\u00ean localhost v\u00e0 t\u1ef1 h\u1ecfi t\u1ea1i sao \u0111i\u1ec7n tho\u1ea1i kh\u00f4ng th\u1ec3 k\u1ebft n\u1ed1i \u0111\u01b0\u1ee3c.<\/li>\n\n\n\n<li>S\u1eed d\u1ee5ng \u0111\u01b0\u1eddng m\u1ea1ng m\u1edf thay v\u00ec k\u1ebft n\u1ed1i ri\u00eang t\u01b0 \u0111\u00e1ng tin c\u1eady.<\/li>\n\n\n\n<li>Xem truy c\u1eadp t\u1eeb xa v\u00e0 \u0111\u1ecbnh tuy\u1ebfn m\u00f4 h\u00ecnh l\u00e0 c\u00f9ng m\u1ed9t v\u1ea5n \u0111\u1ec1.<\/li>\n\n\n\n<li>C\u1ed1 g\u1eafng qu\u1ea3n l\u00fd c\u00e1c nhi\u1ec7m v\u1ee5 l\u1edbn, kh\u00f4ng r\u00f5 r\u00e0ng t\u1eeb \u0111i\u1ec7n tho\u1ea1i thay v\u00ec s\u1eed d\u1ee5ng thi\u1ebft b\u1ecb di \u0111\u1ed9ng \u0111\u1ec3 xem x\u00e9t, ph\u00ea duy\u1ec7t v\u00e0 ph\u00e2n ph\u1ed1i.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">B\u01b0\u1edbc ti\u1ebfp theo<\/h2>\n\n\n\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n ch\u1ea1y c\u00e1c t\u00e1c nh\u00e2n m\u00e3 h\u00f3a AI t\u1eeb \u0111i\u1ec7n tho\u1ea1i m\u00e0 kh\u00f4ng b\u1ecb r\u00e0ng bu\u1ed9c v\u00e0o m\u1ed9t nh\u00e0 cung c\u1ea5p duy nh\u1ea5t, h\u00e3y thi\u1ebft l\u1eadp \u0111\u01b0\u1eddng d\u1eabn ki\u1ec3m so\u00e1t di \u0111\u1ed9ng tr\u01b0\u1edbc, sau \u0111\u00f3 cung c\u1ea5p cho t\u00e1c nh\u00e2n m\u1ed9t backend linh ho\u1ea1t. ShareAI l\u00e0 m\u1ed9t l\u1ef1a ch\u1ecdn ph\u00f9 h\u1ee3p khi b\u1ea1n mu\u1ed1n m\u1ed9t t\u00edch h\u1ee3p, truy c\u1eadp \u0111a m\u00f4 h\u00ecnh v\u00e0 kh\u1ea3 n\u0103ng thay \u0111\u1ed5i quy\u1ebft \u0111\u1ecbnh \u0111\u1ecbnh tuy\u1ebfn sau n\u00e0y m\u00e0 kh\u00f4ng c\u1ea7n x\u00e2y d\u1ef1ng l\u1ea1i quy tr\u00ecnh l\u00e0m vi\u1ec7c.<\/p>","protected":false},"excerpt":{"rendered":"<p>M\u1ed9t h\u01b0\u1edbng d\u1eabn th\u1ef1c t\u1ebf \u0111\u1ec3 ki\u1ec3m tra, ph\u00ea duy\u1ec7t v\u00e0 tri\u1ec3n khai c\u00f4ng vi\u1ec7c m\u00e3 h\u00f3a AI t\u1eeb \u0111i\u1ec7n tho\u1ea1i c\u1ee7a b\u1ea1n v\u1edbi Cline, Tailscale v\u00e0 ShareAI.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cta-title":"Create an API Key","cta-description":"Generate credentials to start calling the API from your app.","cta-button-text":"Create key","cta-button-link":"https:\/\/console.shareai.now\/app\/api-key\/?utm_source=shareai.now&amp;utm_medium=content&amp;utm_campaign=run-ai-coding-agents-from-your-phone","rank_math_title":"Run AI Coding Agents from Your Phone in 3 Steps","rank_math_description":"Learn how to run AI coding agents from your phone with Cline, Tailscale, and a flexible ShareAI API backend.","rank_math_focus_keyword":"run AI coding agents from your phone","footnotes":""},"categories":[4],"tags":[66,45,69,67,68],"class_list":["post-2885","post","type-post","status-publish","format-standard","hentry","category-developers","tag-ai-coding-agents","tag-cline","tag-mobile-developer-workflow","tag-remote-access","tag-tailscale"],"_links":{"self":[{"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/posts\/2885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/comments?post=2885"}],"version-history":[{"count":1,"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/posts\/2885\/revisions"}],"predecessor-version":[{"id":2889,"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/posts\/2885\/revisions\/2889"}],"wp:attachment":[{"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/media?parent=2885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/categories?post=2885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shareai.now\/vi\/api\/wp\/v2\/tags?post=2885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}