{"id":130172,"date":"2026-09-21T17:52:15","date_gmt":"2026-09-21T10:52:15","guid":{"rendered":"https:\/\/tino.vn\/blog\/?p=130172"},"modified":"2026-10-24T17:53:24","modified_gmt":"2026-10-24T10:53:24","slug":"nang-cap-openclaw","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/nang-cap-openclaw\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn n\u00e2ng c\u1ea5p OpenClaw tr\u00ean VPS v\u00e0 Docker an to\u00e0n, kh\u00f4ng lo m\u1ea5t c\u1ea5u h\u00ecnh"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>N\u00e2ng c\u1ea5p OpenClaw an to\u00e0n g\u1ed3m ba vi\u1ec7c: sao l\u01b0u th\u01b0 m\u1ee5c <code>~\/.openclaw<\/code>, ch\u1ea1y \u0111\u00fang l\u1ec7nh c\u1eadp nh\u1eadt cho ki\u1ec3u c\u00e0i c\u1ee7a b\u1ea1n, r\u1ed3i ki\u1ec3m tra b\u1eb1ng <code>openclaw doctor<\/code> v\u00e0 <code>openclaw health<\/code>.<\/strong> B\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp d\u00f9ng <code>openclaw update<\/code>; b\u1ea3n Docker thay image m\u1edbi v\u00e0 gi\u1eef nguy\u00ean volume; VPS OpenClaw c\u1ee7a Tino n\u00e2ng c\u1ea5p b\u1eb1ng m\u1ed9t n\u00fat tr\u00ean trang qu\u1ea3n tr\u1ecb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e0i n\u00e0y thu\u1ed9c nh\u00f3m <a href=\"https:\/\/tino.vn\/blog\/cai-dat-openclaw-tren-vps\/\">c\u00e0i \u0111\u1eb7t v\u00e0 v\u1eadn h\u00e0nh OpenClaw tr\u00ean VPS<\/a>; kh\u00e1i ni\u1ec7m Gateway, agent c\u00f3 \u1edf b\u00e0i <a href=\"https:\/\/tino.vn\/blog\/openclaw-la-gi\/\">OpenClaw l\u00e0 g\u00ec<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>C\u1eadp nh\u1eadt 24\/10\/2026. T\u1ea1i th\u1eddi \u0111i\u1ec3m vi\u1ebft, b\u1ea3n stable tr\u00ean GitHub Releases l\u00e0 2026.10.6 (22\/10\/2026). \u1ea2nh ch\u1ee5p tr\u00ean VPS ch\u1ea1y 2026.9.4 \u2192 2026.9.5; c\u00e1c l\u1ec7nh v\u1eabn d\u00f9ng nh\u01b0 c\u0169.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1400\" height=\"750\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-chon-cach-cap-nhat.webp\" alt=\"S\u01a1 \u0111\u1ed3 ch\u1ecdn c\u00e1ch n\u00e2ng c\u1ea5p OpenClaw theo ki\u1ec3u c\u00e0i: c\u00e0i tr\u1ef1c ti\u1ebfp d\u00f9ng backup create --verify, update --dry-run, update, doctor, health; Docker Compose d\u00f9ng pull, stop, up -d v\u00e0 gi\u1eef volume \/home\/node\/.openclaw; VPS OpenClaw c\u1ee7a Tino d\u00f9ng tab OpenClaw, Phi\u00ean b\u1ea3n &amp; N\u00e2ng c\u1ea5p; k\u00e8m y\u00eau c\u1ea7u Node 24.22.1+ ho\u1eb7c 26.12.1+ v\u00e0 c\u1ea7u n\u1ed1i 2026.9.5 cho b\u1ea3n tr\u01b0\u1edbc 7\/2026\" class=\"wp-image-132030\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-chon-cach-cap-nhat.webp 1400w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-chon-cach-cap-nhat-300x161.webp 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-chon-cach-cap-nhat-1024x549.webp 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-chon-cach-cap-nhat-768x411.webp 768w\" sizes=\"(max-width: 1400px) 100vw, 1400px\" \/><\/figure>\n\n\n\n<h2 id=\"OpenClaw_c\u00f3_c\u1ea7n_n\u00e2ng_c\u1ea5p_th\u01b0\u1eddng_xuy\u00ean_kh\u00f4ng?\">OpenClaw c\u00f3 c\u1ea7n n\u00e2ng c\u1ea5p th\u01b0\u1eddng xuy\u00ean kh\u00f4ng?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw kh\u00f4ng b\u1eaft bu\u1ed9c n\u00e2ng c\u1ea5p ngay m\u1ed7i khi c\u00f3 b\u1ea3n m\u1edbi, nh\u01b0ng n\u00ean c\u1eadp nh\u1eadt \u0111\u1ecbnh k\u1ef3 v\u00ec d\u1ef1 \u00e1n ph\u00e1t h\u00e0nh d\u00e0y v\u00e0 nhi\u1ec1u b\u1ea3n s\u1eeda l\u1ed7i b\u1ea3o m\u1eadt. C\u1eadp nh\u1eadt mang l\u1ea1i:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>B\u1ea3n s\u1eeda l\u1ed7i v\u00e0 c\u1ea3i thi\u1ec7n \u0111\u1ed9 \u1ed5n \u0111\u1ecbnh.<\/li>\n\n\n<li>T\u00ednh n\u0103ng m\u1edbi cho Gateway v\u00e0 AI Agent.<\/li>\n\n\n<li>T\u01b0\u01a1ng th\u00edch t\u1ed1t h\u01a1n v\u1edbi model v\u00e0 provider m\u1edbi.<\/li>\n\n\n<li>C\u1eadp nh\u1eadt plugin ch\u00ednh th\u1ee9c.<\/li>\n\n\n<li>B\u1ea3n v\u00e1 b\u1ea3o m\u1eadt.<\/li>\n\n\n<li>Gi\u1ea3m r\u1ee7i ro khi b\u1ea3n \u0111ang d\u00f9ng \u0111\u00e3 qu\u00e1 c\u0169.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu OpenClaw ph\u1ee5c v\u1ee5 c\u00f4ng vi\u1ec7c quan tr\u1ecdng, \u0111\u1ecdc release notes (<a href=\"https:\/\/docs.openclaw.ai\/releases\" target=\"_blank\" rel=\"noopener nofollow\">docs.openclaw.ai\/releases<\/a>) v\u00e0 sao l\u01b0u tr\u01b0\u1edbc c\u00e1c \u0111\u1ee3t n\u00e2ng c\u1ea5p l\u1edbn.<\/p>\n\n\n\n<h2 id=\"C\u1ea7n_chu\u1ea9n_b\u1ecb_g\u00ec_tr\u01b0\u1edbc_khi_n\u00e2ng_c\u1ea5p_OpenClaw?\">C\u1ea7n chu\u1ea9n b\u1ecb g\u00ec tr\u01b0\u1edbc khi n\u00e2ng c\u1ea5p OpenClaw?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u01b0\u1edbc khi n\u00e2ng c\u1ea5p OpenClaw, ki\u1ec3m phi\u00ean b\u1ea3n hi\u1ec7n t\u1ea1i, phi\u00ean b\u1ea3n Node.js v\u00e0 t\u1ea1o b\u1ea3n sao l\u01b0u \u0111\u00e3 x\u00e1c minh. T\u00e0i li\u1ec7u OpenClaw l\u01b0u \u00fd c\u00e1c t\u1ec7p ph\u1ee5c h\u1ed3i do OpenClaw t\u1ef1 t\u1ea1o khi migrate kh\u00f4ng thay \u0111\u01b0\u1ee3c b\u1ea3n sao l\u01b0u \u0111\u1ea7y \u0111\u1ee7 (<a href=\"https:\/\/docs.openclaw.ai\/install\/updating\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Updating<\/a>).<\/p>\n\n\n\n<h3 id=\"Ki\u1ec3m_tra_phi\u00ean_b\u1ea3n_OpenClaw_hi\u1ec7n_t\u1ea1i\">Ki\u1ec3m tra phi\u00ean b\u1ea3n OpenClaw hi\u1ec7n t\u1ea1i<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V\u1edbi OpenClaw c\u00e0i tr\u1ef1c ti\u1ebfp:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw --version<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"794\" height=\"381\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-openclaw-version-truoc-che.webp\" alt=\"Terminal VPS ch\u1ea1y openclaw --version tr\u1ea3 v\u1ec1 OpenClaw 2026.9.4 tr\u01b0\u1edbc khi n\u00e2ng c\u1ea5p; IP \u0111\u0103ng nh\u1eadp SSH \u1edf d\u00f2ng Last login \u0111\u00e3 che\" class=\"wp-image-132032\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-openclaw-version-truoc-che.webp 794w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-openclaw-version-truoc-che-300x144.webp 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-openclaw-version-truoc-che-768x369.webp 768w\" sizes=\"(max-width: 794px) 100vw, 794px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">V\u1edbi Docker Compose:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose run --rm openclaw-cli --version<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">So phi\u00ean b\u1ea3n \u0111ang ch\u1ea1y v\u1edbi b\u1ea3n stable tr\u00ean <a href=\"https:\/\/github.com\/openclaw\/openclaw\/releases\" target=\"_blank\" rel=\"noopener nofollow\">GitHub Releases c\u1ee7a OpenClaw<\/a>. OpenClaw \u0111\u00e1nh s\u1ed1 theo l\u1ecbch <code>YYYY.M.N<\/code> (v\u00ed d\u1ee5 2026.10.6), b\u1ea3n beta c\u00f3 h\u1eadu t\u1ed1 <code>-beta.N<\/code>.<\/p>\n\n\n\n<h3 id=\"Ki\u1ec3m_tra_phi\u00ean_b\u1ea3n_Node.js\">Ki\u1ec3m tra phi\u00ean b\u1ea3n Node.js<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V\u1edbi b\u1ea3n OpenClaw c\u00e0i tr\u1ef1c ti\u1ebfp tr\u00ean VPS, ki\u1ec3m tra Node.js:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>node -v<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"761\" height=\"384\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-node-version-che.webp\" alt=\"Terminal VPS ch\u1ea1y node -v tr\u1ea3 v\u1ec1 v24.21.0; IP \u0111\u0103ng nh\u1eadp SSH \u1edf d\u00f2ng Last login \u0111\u00e3 che\" class=\"wp-image-132031\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-node-version-che.webp 761w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/nang-cap-openclaw-node-version-che-300x151.webp 300w\" sizes=\"(max-width: 761px) 100vw, 761px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">T\u1eeb OpenClaw 2026.10.6, b\u1ea3n c\u00e0i y\u00eau c\u1ea7u <strong>Node 24.22.1 tr\u1edf l\u00ean tr\u00ean nh\u00e1nh 24, ho\u1eb7c Node 26.12.1 tr\u1edf l\u00ean<\/strong>; <code>openclaw update<\/code> t\u1eeb ch\u1ed1i c\u00e0i tr\u00ean Node c\u0169 h\u01a1n. V\u00ed d\u1ee5 VPS trong \u1ea3nh ch\u1ea1y Node 24.21.0 s\u1ebd ph\u1ea3i n\u00e2ng Node tr\u01b0\u1edbc khi l\u00ean 2026.10.6.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>B\u00e0i c\u0169 ghi &#8220;Node 24.16+ ho\u1eb7c 26.1+&#8221;; m\u1ee9c n\u00e0y \u0111\u00e3 t\u0103ng theo release 2026.10.6 (GitHub Releases, npm engines, truy c\u1eadp 24\/10\/2026). Trang c\u00e0i \u0111\u1eb7t trong docs c\u00f3 th\u1ec3 v\u1eabn ghi m\u1ee9c c\u0169.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu Gateway ch\u1ea1y nh\u01b0 service v\u00e0 tr\u1ecf t\u1edbi m\u1ed9t t\u1ec7p Node c\u1ed1 \u0111\u1ecbnh, c\u1eadp nh\u1eadt c\u1ea3 \u0111\u1ecbnh ngh\u0129a service; \u0111\u1ed5i Node trong shell kh\u00f4ng t\u1ef1 \u0111\u1ed5i Node c\u1ee7a service.<\/p>\n\n\n\n<h3 id=\"Sao_l\u01b0u_d\u1eef_li\u1ec7u_OpenClaw\">Sao l\u01b0u d\u1eef li\u1ec7u OpenClaw<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">C\u00e1ch sao l\u01b0u \u0111\u01b0\u1ee3c khuy\u1ebfn ngh\u1ecb l\u00e0 l\u1ec7nh t\u00edch h\u1ee3p, t\u1ea1o t\u1ec7p l\u01b0u tr\u1eef r\u1ed3i ki\u1ec3m tra ngay t\u00ednh to\u00e0n v\u1eb9n (<a href=\"https:\/\/docs.openclaw.ai\/cli\/backup\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw CLI: backup<\/a>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw backup create --verify<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ec7nh n\u00e0y gom c\u1ea5u h\u00ecnh, state, c\u01a1 s\u1edf d\u1eef li\u1ec7u SQLite c\u1ee7a t\u1eebng agent v\u00e0 workspace. N\u1ebfu mu\u1ed1n b\u1ea3n sao th\u1ee7 c\u00f4ng th\u00eam, v\u1edbi c\u1ea5u h\u00ecnh m\u1eb7c \u0111\u1ecbnh tr\u00ean Linux, d\u1eef li\u1ec7u n\u1eb1m trong <code>~\/.openclaw<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cp -a ~\/.openclaw ~\/.openclaw-backup-$(date +%F-%H%M)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu \u0111\u00e3 \u0111\u1ed5i th\u01b0 m\u1ee5c l\u01b0u OpenClaw, sao l\u01b0u \u0111\u00fang th\u01b0 m\u1ee5c \u0111ang d\u00f9ng. V\u1edbi Docker, d\u1eef li\u1ec7u quan tr\u1ecdng th\u01b0\u1eddng mount v\u00e0o <code>\/home\/node\/.openclaw<\/code> v\u00e0 li\u00ean k\u1ebft v\u1edbi <code>OPENCLAW_CONFIG_DIR<\/code> tr\u00ean m\u00e1y ch\u1ee7: \u0111\u00e2y l\u00e0 n\u01a1i ch\u1ee9a c\u1ea5u h\u00ecnh, state, th\u00f4ng tin x\u00e1c th\u1ef1c, plugin. L\u01b0u b\u1ea3n sao l\u01b0u ra ngo\u00e0i VPS; c\u00e1ch t\u1ef1 \u0111\u1ed9ng c\u00f3 \u1edf b\u00e0i <a href=\"https:\/\/tino.vn\/blog\/tu-dong-backup-n8n-va-openclaw-len-google-drive\/\">t\u1ef1 \u0111\u1ed9ng backup n8n v\u00e0 OpenClaw l\u00ean Google Drive<\/a>.<\/p>\n\n\n\n<h2 id=\"C\u00e1ch_n\u00e2ng_c\u1ea5p_OpenClaw_tr\u00ean_VPS_(c\u00e0i_tr\u1ef1c_ti\u1ebfp)\">C\u00e1ch n\u00e2ng c\u1ea5p OpenClaw tr\u00ean VPS (c\u00e0i tr\u1ef1c ti\u1ebfp)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V\u1edbi OpenClaw c\u00e0i tr\u1ef1c ti\u1ebfp tr\u00ean Linux\/VPS b\u1eb1ng npm, pnpm, Bun ho\u1eb7c Git, d\u00f9ng tr\u00ecnh c\u1eadp nh\u1eadt t\u00edch h\u1ee3p <code>openclaw update<\/code>. L\u1ec7nh n\u00e0y nh\u1eadn di\u1ec7n ki\u1ec3u c\u00e0i, ki\u1ec3m b\u1ea3n m\u1edbi trong khi Gateway c\u0169 v\u1eabn ph\u1ee5c v\u1ee5, r\u1ed3i k\u00edch ho\u1ea1t v\u00e0 x\u00e1c minh (<a href=\"https:\/\/docs.openclaw.ai\/cli\/update\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw CLI: update<\/a>).<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_1:_SSH_v\u00e0o_VPS\">B\u01b0\u1edbc 1: SSH v\u00e0o VPS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0110\u0103ng nh\u1eadp VPS b\u1eb1ng Xshell, PuTTY ho\u1eb7c Terminal (xem <a href=\"https:\/\/tino.vn\/blog\/ssh-la-gi\/\">SSH l\u00e0 g\u00ec<\/a>), r\u1ed3i ki\u1ec3m tra phi\u00ean b\u1ea3n b\u1eb1ng <code>openclaw --version<\/code>.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_2:_Ki\u1ec3m_tra_tr\u1ea1ng_th\u00e1i_c\u1eadp_nh\u1eadt\">B\u01b0\u1edbc 2: Ki\u1ec3m tra tr\u1ea1ng th\u00e1i c\u1eadp nh\u1eadt<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw update status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ec7nh hi\u1ec3n th\u1ecb ki\u1ec3u c\u00e0i, k\u00eanh c\u1eadp nh\u1eadt v\u00e0 b\u1ea3n m\u1edbi n\u1ebfu c\u00f3.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"751\" height=\"284\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_3-6.png\" alt=\"K\u1ebft qu\u1ea3 openclaw update status: Install npm, Channel stable (default), Update available npm 2026.9.5, g\u1ee3i \u00fd ch\u1ea1y openclaw update\" class=\"wp-image-130183\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_3-6.png 751w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_3-6-300x113.png 300w\" sizes=\"(max-width: 751px) 100vw, 751px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mu\u1ed1n k\u1ebft qu\u1ea3 chi ti\u1ebft h\u01a1n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw update status --json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw c\u00f3 b\u1ed1n k\u00eanh: <code>stable<\/code>, <code>extended-stable<\/code>, <code>beta<\/code>, <code>dev<\/code>. M\u00f4i tr\u01b0\u1eddng \u0111ang v\u1eadn h\u00e0nh n\u00ean d\u00f9ng <code>stable<\/code>; <code>extended-stable<\/code> nh\u1eadn b\u1ea3n theo chu k\u1ef3 th\u00e1ng cho ai mu\u1ed1n c\u1eadp nh\u1eadt th\u01b0a h\u01a1n.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_3:_Ch\u1ea1y_th\u1eed_qu\u00e1_tr\u00ecnh_n\u00e2ng_c\u1ea5p\">B\u01b0\u1edbc 3: Ch\u1ea1y th\u1eed qu\u00e1 tr\u00ecnh n\u00e2ng c\u1ea5p<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw update --dry-run<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>--dry-run<\/code> ki\u1ec3m tra v\u00e0 m\u00f4 ph\u1ecfng quy tr\u00ecnh nh\u01b0ng ch\u01b0a \u00e1p d\u1ee5ng, gi\u00fap ph\u00e1t hi\u1ec7n tr\u01b0\u1edbc v\u1ea5n \u0111\u1ec1 v\u1ec1 phi\u00ean b\u1ea3n Node.js, c\u1ea5u h\u00ecnh kh\u00f4ng h\u1ee3p l\u1ec7, quy\u1ec1n truy c\u1eadp, plugin, service Gateway v\u00e0 phi\u00ean b\u1ea3n \u0111\u00edch.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_4:_N\u00e2ng_c\u1ea5p_OpenClaw\">B\u01b0\u1edbc 4: N\u00e2ng c\u1ea5p OpenClaw<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw update<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw chu\u1ea9n b\u1ecb b\u1ea3n m\u1edbi ri\u00eang, \u0111\u1ec3 ch\u00ednh b\u1ea3n m\u1edbi ki\u1ec3m c\u1ea5u h\u00ecnh, schema c\u01a1 s\u1edf d\u1eef li\u1ec7u, y\u00eau c\u1ea7u Node v\u00e0 plugin tr\u01b0\u1edbc khi k\u00edch ho\u1ea1t. Gateway \u0111ang ch\u1ea1y ti\u1ebfp t\u1ee5c ph\u1ee5c v\u1ee5 trong c\u00e1c b\u01b0\u1edbc ki\u1ec3m tra \u0111\u1ea7u, sau \u0111\u00f3 m\u1edbi chuy\u1ec3n sang b\u1ea3n m\u1edbi v\u00e0 x\u00e1c minh l\u1ea1i.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"707\" height=\"294\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-6.png\" alt=\"Terminal ch\u1ea1y openclaw update qua c\u00e1c pha requested, staging, validating v\u1edbi c\u00e1c b\u01b0\u1edbc global update, candidate migration rehearsal, doctor lint, config validation, plugin resolution, gateway canary \u0111\u1ec1u \u0111\u1ea1t\" class=\"wp-image-130187\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-6.png 707w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_4-6-300x125.png 300w\" sizes=\"(max-width: 707px) 100vw, 707px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng \u0111\u00f3ng terminal hay d\u1eebng ti\u1ebfn tr\u00ecnh khi qu\u00e1 tr\u00ecnh c\u1eadp nh\u1eadt \u0111ang thay g\u00f3i ho\u1eb7c d\u1eef li\u1ec7u. Tr\u00ean Linux, n\u1ebfu service Gateway systemd \u0111ang b\u1ecb mask, m\u1edf mask tr\u01b0\u1edbc (<code>systemctl --user unmask openclaw-gateway.service<\/code>), n\u1ebfu kh\u00f4ng tr\u00ecnh c\u1eadp nh\u1eadt s\u1ebd t\u1eeb ch\u1ed1i.<\/p>\n\n\n\n<h3 id=\"B\u01b0\u1edbc_5:_Ki\u1ec3m_tra_OpenClaw_sau_khi_n\u00e2ng_c\u1ea5p\">B\u01b0\u1edbc 5: Ki\u1ec3m tra OpenClaw sau khi n\u00e2ng c\u1ea5p<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw --version<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"820\" height=\"337\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-5.png\" alt=\"Terminal ch\u1ea1y openclaw --version sau khi n\u00e2ng c\u1ea5p tr\u1ea3 v\u1ec1 OpenClaw 2026.9.5\" class=\"wp-image-130188\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-5.png 820w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-5-300x123.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/09\/Screenshot_6-5-766x315.png 766w\" sizes=\"(max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sau \u0111\u00f3 ch\u1ea1y ki\u1ec3m tra c\u1ea5u h\u00ecnh v\u00e0 s\u1ee9c kho\u1ebb Gateway:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw doctor\nopenclaw health<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>doctor<\/code> ki\u1ec3m c\u1ea5u h\u00ecnh, Gateway v\u00e0 c\u00e1c v\u1ea5n \u0111\u1ec1 li\u00ean quan b\u1ea3n m\u1edbi; <code>health<\/code> l\u1ea5y \u1ea3nh ch\u1ee5p t\u00ecnh tr\u1ea1ng Gateway qua RPC. V\u1edbi m\u1ed9t l\u1ea7n <code>openclaw update<\/code> th\u00e0nh c\u00f4ng tr\u00ean Gateway do OpenClaw qu\u1ea3n l\u00fd, b\u01b0\u1edbc restart v\u00e0 x\u00e1c minh \u0111\u00e3 ch\u1ea1y t\u1ef1 \u0111\u1ed9ng; ch\u1ec9 c\u1ea7n <code>openclaw gateway restart<\/code> khi b\u1ea1n t\u1ef1 c\u1eadp nh\u1eadt th\u1ee7 c\u00f4ng.<\/p>\n\n\n\n<h3 id=\"B\u1ea3n_c\u00e0i_tr\u01b0\u1edbc_th\u00e1ng_7\/2026_c\u1ea7n_l\u00e0m_g\u00ec?\">B\u1ea3n c\u00e0i tr\u01b0\u1edbc th\u00e1ng 7\/2026 c\u1ea7n l\u00e0m g\u00ec?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea3n c\u00e0i tr\u01b0\u1edbc th\u00e1ng 7\/2026 ph\u1ea3i l\u00ean <strong>2026.9.5<\/strong> tr\u01b0\u1edbc, ch\u1ea1y Doctor migration, r\u1ed3i m\u1edbi l\u00ean <code>latest<\/code> (<a href=\"https:\/\/docs.openclaw.ai\/install\/updating\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Upgrading very old versions<\/a>). V\u1edbi b\u1ea3n c\u00e0i npm c\u00f3 service Gateway:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw gateway stop &amp;&amp;\n  npm install -g openclaw@2026.9.5 --allow-scripts=openclaw &amp;&amp;\n  openclaw --version &amp;&amp;\n  openclaw doctor --fix<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">X\u00e1c nh\u1eadn phi\u00ean b\u1ea3n l\u00e0 2026.9.5 v\u00e0 Doctor \u0111\u00e3 nh\u1eadp d\u1eef li\u1ec7u c\u0169, r\u1ed3i c\u00e0i b\u1ea3n hi\u1ec7n h\u00e0nh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install -g openclaw@latest --allow-scripts=openclaw &amp;&amp;\n  openclaw doctor --fix &amp;&amp;\n  openclaw gateway start &amp;&amp;\n  openclaw gateway status --deep<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">C\u1edd <code>--allow-scripts=openclaw<\/code> d\u00f9ng cho npm 12 ho\u1eb7c npm 11.16+; v\u1edbi npm 11.15 tr\u1edf xu\u1ed1ng, b\u1ecf c\u1edd n\u00e0y.<\/p>\n\n\n\n<h2 id=\"C\u00e1ch_n\u00e2ng_c\u1ea5p_OpenClaw_tr\u00ean_Docker\">C\u00e1ch n\u00e2ng c\u1ea5p OpenClaw tr\u00ean Docker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">V\u1edbi OpenClaw ch\u1ea1y b\u1eb1ng Docker, kh\u00f4ng c\u1eadp nh\u1eadt g\u00f3i b\u00ean trong container nh\u01b0 b\u1ea3n c\u00e0i VPS th\u01b0\u1eddng. C\u00e1ch \u0111\u00fang l\u00e0 t\u1ea3i image m\u1edbi, t\u1ea1o l\u1ea1i container v\u00e0 d\u00f9ng ti\u1ebfp state\/config \u0111\u00e3 mount.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Khi b\u1ea1n thay image nh\u01b0ng gi\u1eef nguy\u00ean volume, entrypoint c\u1ee7a image t\u1ef1 ch\u1ea1y <code>openclaw doctor --fix --non-interactive<\/code> tr\u01b0\u1edbc khi b\u1eadt Gateway, n\u00ean l\u1ea7n n\u00e2ng c\u1ea5p image th\u01b0\u1eddng kh\u00f4ng c\u1ea7n ch\u1ea1y Doctor ri\u00eang (<a href=\"https:\/\/docs.openclaw.ai\/install\/docker\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw: Docker<\/a>).<\/p>\n\n\n\n<h3 id=\"Tr\u01b0\u1eddng_h\u1ee3p_1:_D\u00f9ng_image_OpenClaw_c\u00f3_s\u1eb5n\">Tr\u01b0\u1eddng h\u1ee3p 1: D\u00f9ng image OpenClaw c\u00f3 s\u1eb5n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e0o th\u01b0 m\u1ee5c ch\u1ee9a <code>docker-compose.yml<\/code> (ho\u1eb7c <code>compose.yml<\/code>) v\u00e0 ki\u1ec3m t\u1ec7p <code>.env<\/code>. D\u00f9ng image stable m\u1edbi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OPENCLAW_IMAGE=ghcr.io\/openclaw\/openclaw:latest<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ho\u1eb7c c\u1ed1 \u0111\u1ecbnh m\u1ed9t phi\u00ean b\u1ea3n \u0111\u1ec3 tri\u1ec3n khai d\u1ec5 ki\u1ec3m so\u00e1t, v\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OPENCLAW_IMAGE=ghcr.io\/openclaw\/openclaw:2026.10.6<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">OpenClaw ph\u00e1t h\u00e0nh image ch\u00ednh th\u1ee9c tr\u00ean GitHub Container Registry (<code>ghcr.io\/openclaw\/openclaw<\/code>) v\u00e0 Docker Hub (<code>openclaw\/openclaw<\/code>); t\u00e0i li\u1ec7u khuy\u00ean tr\u00e1nh mirror kh\u00f4ng ch\u00ednh ch\u1ee7.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 1\u20133:<\/strong> t\u1ea3i image, d\u1eebng container c\u0169, r\u1ed3i t\u1ea1o l\u1ea1i Gateway:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose pull openclaw-gateway openclaw-cli\ndocker compose stop openclaw-gateway\ndocker compose up -d openclaw-gateway<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e0i li\u1ec7u y\u00eau c\u1ea7u d\u1eebng container c\u0169 tr\u01b0\u1edbc khi b\u1eadt container m\u1edbi, v\u00ec b\u01b0\u1edbc s\u1eeda d\u1eef li\u1ec7u l\u00fac kh\u1edfi \u0111\u1ed9ng c\u1ea7n \u0111\u1ed9c quy\u1ec1n v\u1edbi state; m\u1ed7i volume state ch\u1ec9 ch\u1ea1y m\u1ed9t Gateway. D\u1eef li\u1ec7u \u0111\u01b0\u1ee3c gi\u1eef n\u1ebfu state\/config \u0111\u00e3 mount \u0111\u00fang.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 4:<\/strong> ki\u1ec3m tra container, phi\u00ean b\u1ea3n v\u00e0 t\u00ecnh tr\u1ea1ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose ps\ndocker compose run --rm openclaw-cli --version\ndocker compose run --rm openclaw-cli doctor --json\ndocker compose logs --tail=100 openclaw-gateway<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu Gateway ch\u1ea1y \u1ed5n v\u00e0 log kh\u00f4ng c\u00f3 l\u1ed7i nghi\u00eam tr\u1ecdng, qu\u00e1 tr\u00ecnh n\u00e2ng c\u1ea5p \u0111\u00e3 xong.<\/p>\n\n\n\n<h3 id=\"Tr\u01b0\u1eddng_h\u1ee3p_2:_OpenClaw_Docker_build_t\u1eeb_source\">Tr\u01b0\u1eddng h\u1ee3p 2: OpenClaw Docker build t\u1eeb source<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu b\u1ea1n clone m\u00e3 ngu\u1ed3n OpenClaw r\u1ed3i t\u1ef1 build image, v\u00e0o th\u01b0 m\u1ee5c source v\u00e0 c\u1eadp nh\u1eadt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd openclaw\ngit pull --ff-only\nOPENCLAW_SKIP_ONBOARDING=1 .\/scripts\/docker\/setup.sh\ndocker compose run --rm openclaw-cli doctor --json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng xo\u00e1 th\u01b0 m\u1ee5c c\u1ea5u h\u00ecnh hay volume d\u1eef li\u1ec7u khi build l\u1ea1i.<\/p>\n\n\n\n<h2 id=\"C\u00e1ch_n\u00e2ng_c\u1ea5p_OpenClaw_tr\u00ean_VPS_OpenClaw_c\u1ee7a_Tino\">C\u00e1ch n\u00e2ng c\u1ea5p OpenClaw tr\u00ean VPS OpenClaw c\u1ee7a Tino<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u00ean VPS OpenClaw c\u1ee7a Tino, b\u1ea1n n\u00e2ng c\u1ea5p OpenClaw ngay tr\u00ean trang qu\u1ea3n tr\u1ecb, kh\u00f4ng c\u1ea7n SSH. Trang qu\u1ea3n tr\u1ecb d\u00f9ng c\u00e1ch thay Docker image nh\u01b0 m\u1ee5c tr\u00ean. C\u00e1ch v\u00e0o trang qu\u1ea3n tr\u1ecb xem \u1edf <a href=\"https:\/\/tino.vn\/blog\/truy-cap-va-cau-hinh-vps-openclaw\/\">h\u01b0\u1edbng d\u1eabn truy c\u1eadp v\u00e0 c\u1ea5u h\u00ecnh VPS OpenClaw<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 1:<\/strong> \u0111\u0103ng nh\u1eadp trang qu\u1ea3n l\u00fd d\u1ecbch v\u1ee5 Tino, ch\u1ecdn d\u1ecbch v\u1ee5 VPS OpenClaw \u0111ang d\u00f9ng.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 2:<\/strong> chuy\u1ec3n sang tab <strong>OpenClaw<\/strong> \u2192 <strong>Phi\u00ean b\u1ea3n &amp; N\u00e2ng c\u1ea5p<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 3:<\/strong> nh\u1ea5n <strong>N\u00e2ng c\u1ea5p OpenClaw<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1522\" height=\"730\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/2-3.png\" alt=\"Tab OpenClaw, m\u1ee5c Phi\u00ean b\u1ea3n &amp; N\u00e2ng c\u1ea5p tr\u00ean trang qu\u1ea3n tr\u1ecb VPS OpenClaw: th\u00f4ng b\u00e1o c\u00f3 b\u1ea3n c\u1eadp nh\u1eadt Management API, phi\u00ean b\u1ea3n latest, n\u00fat N\u00e2ng c\u1ea5p OpenClaw v\u00e0 C\u1eadp nh\u1eadt Management API\" class=\"wp-image-130553\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/2-3.png 1522w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/2-3-300x144.png 300w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/2-3-1024x491.png 1024w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/2-3-768x368.png 768w\" sizes=\"(max-width: 1522px) 100vw, 1522px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u01b0\u1edbc 4:<\/strong> khi h\u1ed9p tho\u1ea1i hi\u1ec7n ra, ch\u1ecdn <strong>X\u00e1c nh\u1eadn n\u00e2ng c\u1ea5p<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"626\" height=\"261\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/3-1.png\" alt=\"H\u1ed9p tho\u1ea1i X\u00e1c nh\u1eadn n\u00e2ng c\u1ea5p: h\u1ec7 th\u1ed1ng s\u1ebd pull Docker image m\u1edbi v\u00e0 t\u1ea1o l\u1ea1i container OpenClaw, d\u1ecbch v\u1ee5 t\u1ea1m d\u1eebng trong qu\u00e1 tr\u00ecnh n\u00e2ng c\u1ea5p\" class=\"wp-image-130554\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/3-1.png 626w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2026\/10\/3-1-300x125.png 300w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">H\u1ec7 th\u1ed1ng t\u1ea3i Docker image m\u1edbi v\u00e0 t\u1ea1o l\u1ea1i container OpenClaw; qu\u00e1 tr\u00ecnh m\u1ea5t v\u00e0i ph\u00fat v\u00e0 d\u1ecbch v\u1ee5 t\u1ea1m gi\u00e1n \u0111o\u1ea1n. Xong, nh\u1ea5n <strong>L\u00e0m m\u1edbi<\/strong> \u0111\u1ec3 xem phi\u00ean b\u1ea3n. N\u1ebfu c\u00f3 th\u00f4ng b\u00e1o c\u1eadp nh\u1eadt Management API, ch\u1ecdn <strong>C\u1eadp nh\u1eadt ngay<\/strong> \u0111\u1ec3 n\u00e2ng th\u00e0nh ph\u1ea7n qu\u1ea3n l\u00fd ri\u00eang.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00ean n\u00e2ng c\u1ea5p l\u00fac \u00edt ng\u01b0\u1eddi d\u00f9ng bot, v\u00e0 nh\u1eafn th\u1eed agent sau khi xong \u0111\u1ec3 ch\u1eafc k\u00eanh chat v\u1eabn ho\u1ea1t \u0111\u1ed9ng.<\/p>\n\n\n\n<h2 id=\"C\u00e1ch_x\u1eed_l\u00fd_khi_n\u00e2ng_c\u1ea5p_OpenClaw_b\u1ecb_l\u1ed7i\">C\u00e1ch x\u1eed l\u00fd khi n\u00e2ng c\u1ea5p OpenClaw b\u1ecb l\u1ed7i<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L\u1ed7i sau n\u00e2ng c\u1ea5p OpenClaw th\u01b0\u1eddng do c\u1ea5u h\u00ecnh c\u0169, plugin, quy\u1ec1n t\u1ec7p ho\u1eb7c phi\u00ean b\u1ea3n Node. L\u1ec7nh \u0111\u1ea7u ti\u00ean n\u00ean ch\u1ea1y l\u00e0 <code>openclaw doctor<\/code>.<\/p>\n\n\n\n<h3 id=\"OpenClaw_Gateway_kh\u00f4ng_kh\u1edfi_\u0111\u1ed9ng\">OpenClaw Gateway kh\u00f4ng kh\u1edfi \u0111\u1ed9ng<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw doctor\nopenclaw doctor --fix\nopenclaw gateway restart\nopenclaw health<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu b\u1ea3n m\u1edbi \u0111\u1ec3 l\u1ea1i tr\u1ea1ng th\u00e1i d\u1edf dang, <code>openclaw update status<\/code> s\u1ebd ch\u1ec9 ra v\u00e0 g\u1ee3i \u00fd <code>openclaw update repair<\/code> \u0111\u1ec3 ti\u1ebfp t\u1ee5c ho\u1eb7c kh\u00f4i ph\u1ee5c (<a href=\"https:\/\/docs.openclaw.ai\/cli\/update\" target=\"_blank\" rel=\"noopener nofollow\">OpenClaw CLI: update<\/a>).<\/p>\n\n\n\n<h3 id=\"Container_Docker_li\u00ean_t\u1ee5c_restart_sau_khi_n\u00e2ng_c\u1ea5p\">Container Docker li\u00ean t\u1ee5c restart sau khi n\u00e2ng c\u1ea5p<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">B\u1ea3n m\u1edbi c\u00f3 th\u1ec3 ph\u00e1t hi\u1ec7n d\u1eef li\u1ec7u c\u0169 c\u1ea7n s\u1eeda nh\u01b0ng kh\u00f4ng t\u1ef1 x\u1eed l\u00fd an to\u00e0n \u0111\u01b0\u1ee3c; OpenClaw kh\u00f4ng \u0111\u00e1nh d\u1ea5u Gateway kho\u1ebb n\u1ebfu migration ch\u01b0a xong. T\u00e0i li\u1ec7u khuy\u00ean gi\u1eef nguy\u00ean volume\/state r\u1ed3i ch\u1ea1y image m\u1edbi m\u1ed9t l\u1ea7n v\u1edbi <code>openclaw doctor --fix<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm \\\n  -v &lt;openclaw-state&gt;:\/home\/node\/.openclaw \\\n  &lt;image&gt; \\\n  openclaw doctor --fix<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Doctor xong, kh\u1edfi \u0111\u1ed9ng l\u1ea1i Gateway b\u1eb1ng l\u1ec7nh m\u1eb7c \u0111\u1ecbnh. N\u1ebfu Compose c\u00f3 nhi\u1ec1u volume tu\u1ef3 ch\u1ec9nh, container ch\u1ea1y Doctor ph\u1ea3i mount \u0111\u00fang state\/config nh\u01b0 Gateway.<\/p>\n\n\n\n<h3 id=\"L\u1ed7i_quy\u1ec1n_truy_c\u1eadp_khi_ch\u1ea1y_Docker\">L\u1ed7i quy\u1ec1n truy c\u1eadp khi ch\u1ea1y Docker<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Image OpenClaw ch\u1ea1y b\u1eb1ng user <code>node<\/code> (UID 1000). N\u1ebfu th\u01b0 m\u1ee5c tr\u00ean VPS kh\u00f4ng cho UID n\u00e0y ghi, s\u1ebd xu\u1ea5t hi\u1ec7n l\u1ed7i permission. V\u00ed d\u1ee5 s\u1eeda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R 1000:1000 \/path\/to\/openclaw-config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Thay \u0111\u01b0\u1eddng d\u1eabn b\u1eb1ng th\u01b0 m\u1ee5c c\u1ea5u h\u00ecnh th\u1ef1c t\u1ebf.<\/p>\n\n\n\n<h3 id=\"Plugin_g\u1eb7p_l\u1ed7i_sau_khi_c\u1eadp_nh\u1eadt\">Plugin g\u1eb7p l\u1ed7i sau khi c\u1eadp nh\u1eadt<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>openclaw update<\/code> c\u00f3 th\u1ec3 v\u1eabn c\u1eadp nh\u1eadt core khi m\u1ed9t plugin l\u1ed7i, v\u00e0 th\u01b0\u1eddng in l\u1ec7nh c\u1ea7n l\u00e0m ti\u1ebfp, v\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openclaw plugins update &lt;plugin-id&gt;\nopenclaw doctor --fix<\/code><\/pre>\n\n\n\n<h3 id=\"L\u1ec7nh_openclaw_kh\u00f4ng_ho\u1ea1t_\u0111\u1ed9ng_(command_not_found)\">L\u1ec7nh openclaw kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng (command not found)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>npm prefix -g\necho \"$PATH\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u00ean Linux, l\u1ed7i <code>openclaw: command not found<\/code> th\u01b0\u1eddng do th\u01b0 m\u1ee5c global c\u1ee7a npm ch\u01b0a n\u1eb1m trong <code>PATH<\/code>.<\/p>\n\n\n\n<h2 id=\"L\u01b0u_\u00fd_khi_n\u00e2ng_c\u1ea5p_OpenClaw\">L\u01b0u \u00fd khi n\u00e2ng c\u1ea5p OpenClaw<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sao l\u01b0u tr\u01b0\u1edbc:<\/strong> <code>openclaw backup create --verify<\/code>, l\u01b0u b\u1ea3n sao ra ngo\u00e0i VPS.<\/li>\n\n\n<li><strong>Ki\u1ec3m Node.js:<\/strong> \u0111\u00e1p \u1ee9ng m\u1ee9c y\u00eau c\u1ea7u c\u1ee7a b\u1ea3n \u0111\u00edch (24.22.1+ ho\u1eb7c 26.12.1+ t\u1eeb 2026.10.6).<\/li>\n\n\n<li><strong>\u0110\u1ecdc release notes:<\/strong> xem thay \u0111\u1ed5i l\u1edbn v\u00e0 y\u00eau c\u1ea7u m\u1edbi.<\/li>\n\n\n<li><strong>Kh\u00f4ng xo\u00e1 volume Docker:<\/strong> gi\u1eef nguy\u00ean volume ho\u1eb7c th\u01b0 m\u1ee5c state\/config.<\/li>\n\n\n<li><strong>Mount c\u1ea3 th\u01b0 m\u1ee5c c\u1ea5u h\u00ecnh:<\/strong> mount <code>\/home\/node\/.openclaw<\/code> thay v\u00ec ch\u1ec9 m\u1ed9t t\u1ec7p c\u1ea5u h\u00ecnh.<\/li>\n\n\n<li><strong>Ki\u1ec3m tra sau n\u00e2ng c\u1ea5p:<\/strong> phi\u00ean b\u1ea3n, tr\u1ea1ng th\u00e1i Gateway, log, <code>openclaw doctor<\/code>.<\/li>\n\n\n<li><strong>Kh\u00f4ng c\u1ea7n l\u00ean ngay:<\/strong> h\u1ec7 th\u1ed1ng \u0111ang \u1ed5n \u0111\u1ecbnh c\u00f3 th\u1ec3 ch\u1edd v\u00e0i ng\u00e0y theo d\u00f5i ph\u1ea3n h\u1ed3i; k\u00eanh <code>extended-stable<\/code> d\u00e0nh cho nhu c\u1ea7u n\u00e0y.<\/li>\n\n\n<li><strong>H\u1ea1 c\u1ea5p th\u1eadn tr\u1ecdng:<\/strong> sau khi b\u1ea3n m\u1edbi migrate SQLite, c\u00e0i l\u1ea1i g\u00f3i c\u0169 ch\u01b0a ch\u1eafc ch\u1ea1y \u0111\u01b0\u1ee3c; c\u1ea7n b\u1ea3n sao l\u01b0u t\u1eeb tr\u01b0\u1edbc khi n\u00e2ng c\u1ea5p.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">N\u1ebfu sau n\u00e2ng c\u1ea5p agent b\u1eaft \u0111\u1ea7u l\u1eb7p l\u1ec7nh, xem <a href=\"https:\/\/tino.vn\/blog\/sua-loi-tool-loop-trong-openclaw\/\">c\u00e1ch s\u1eeda l\u1ed7i Tool Loop trong OpenClaw<\/a>; n\u1ebfu t\u1ef1 c\u00e0i \u1edf VPS tr\u1ed1ng, quy tr\u00ecnh t\u1eeb \u0111\u1ea7u c\u00f3 \u1edf <a href=\"https:\/\/tino.vn\/blog\/cai-dat-openclaw-tren-vps\/\">h\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t OpenClaw tr\u00ean VPS<\/a>.<\/p>\n\n\n\n<h2 id=\"K\u1ebft_lu\u1eadn\">K\u1ebft lu\u1eadn<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e2ng c\u1ea5p OpenClaw kh\u00f4ng ph\u1ee9c t\u1ea1p n\u1ebfu x\u00e1c \u0111\u1ecbnh \u0111\u00fang ki\u1ec3u c\u00e0i. B\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp d\u00f9ng <code>openclaw update<\/code>; b\u1ea3n Docker thay image r\u1ed3i t\u1ea1o l\u1ea1i container, gi\u1eef nguy\u00ean state; VPS OpenClaw c\u1ee7a Tino n\u00e2ng c\u1ea5p b\u1eb1ng n\u00fat tr\u00ean trang qu\u1ea3n tr\u1ecb. Trong m\u1ecdi tr\u01b0\u1eddng h\u1ee3p, sao l\u01b0u tr\u01b0\u1edbc v\u00e0 ki\u1ec3m tra b\u1eb1ng <code>doctor<\/code>, <code>health<\/code> sau khi xong.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Mu\u1ed1n ch\u1ea1y OpenClaw 24\/7 m\u00e0 kh\u00f4ng t\u1ef1 c\u00e0i? <a href=\"https:\/\/tino.vn\/vps-openclaw\">VPS OpenClaw c\u1ee7a Tino<\/a> c\u00e0i s\u1eb5n OpenClaw tr\u00ean VPS NVMe \u0111\u1eb7t t\u1ea1i Vi\u1ec7t Nam; b\u1ea1n v\u1eabn c\u00f3 quy\u1ec1n root \u0111\u1ec3 c\u1ea5u h\u00ecnh. Xem c\u1ea5u h\u00ecnh v\u00e0 gi\u00e1 tr\u00ean trang s\u1ea3n ph\u1ea9m.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>B\u00e0i vi\u1ebft li\u00ean quan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/tino.vn\/blog\/xoa-va-luu-tru-session-bang-lenh-openclaw-cli\/\">Xo\u00e1 v\u00e0 l\u01b0u tr\u1eef session b\u1eb1ng OpenClaw CLI<\/a><\/li>\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/chuyen-tu-cron-cu-sang-automations-trong-openclaw\/\">Chuy\u1ec3n t\u1eeb Cron c\u0169 sang Automations trong OpenClaw<\/a><\/li>\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/rui-ro-bao-mat-khi-dung-openclaw\/\">R\u1ee7i ro b\u1ea3o m\u1eadt khi d\u00f9ng OpenClaw<\/a><\/li>\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/docker-la-gi\/\">Docker l\u00e0 g\u00ec?<\/a><\/li>\n\n\n<li><a href=\"https:\/\/tino.vn\/blog\/cai-dat-va-su-dung-clawhub-cli\/\">C\u00e0i \u0111\u1eb7t v\u00e0 s\u1eed d\u1ee5ng ClawHub CLI tr\u00ean OpenClaw<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"Nh\u1eefng_c\u00e2u_h\u1ecfi_th\u01b0\u1eddng_g\u1eb7p\">Nh\u1eefng c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p<\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"L\u00e0m_sao_bi\u1ebft_OpenClaw_\u0111ang_d\u00f9ng_phi\u00ean_b\u1ea3n_n\u00e0o?\">L\u00e0m sao bi\u1ebft OpenClaw \u0111ang d\u00f9ng phi\u00ean b\u1ea3n n\u00e0o?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">V\u1edbi b\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp ch\u1ea1y openclaw &#8211;version; v\u1edbi Docker Compose ch\u1ea1y docker compose run &#8211;rm openclaw-cli &#8211;version. Tr\u00ean VPS OpenClaw c\u1ee7a Tino, xem m\u1ee5c Phi\u00ean b\u1ea3n &amp; N\u00e2ng c\u1ea5p trong tab OpenClaw.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"L\u1ec7nh_c\u1eadp_nh\u1eadt_OpenClaw_tr\u00ean_VPS_l\u00e0_g\u00ec?\">L\u1ec7nh c\u1eadp nh\u1eadt OpenClaw tr\u00ean VPS l\u00e0 g\u00ec?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">V\u1edbi b\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp, d\u00f9ng openclaw update. N\u00ean ch\u1ea1y openclaw update status v\u00e0 openclaw update &#8211;dry-run tr\u01b0\u1edbc, r\u1ed3i ki\u1ec3m tra b\u1eb1ng openclaw doctor v\u00e0 openclaw health sau khi xong.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"C\u00f3_n\u00ean_ch\u1ea1y_openclaw_update_b\u00ean_trong_Docker_kh\u00f4ng?\">C\u00f3 n\u00ean ch\u1ea1y openclaw update b\u00ean trong Docker kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Kh\u00f4ng. V\u1edbi Docker, t\u00e0i li\u1ec7u OpenClaw h\u01b0\u1edbng d\u1eabn thay image (pull, stop, up -d) v\u00e0 gi\u1eef nguy\u00ean volume state; entrypoint t\u1ef1 ch\u1ea1y Doctor khi kh\u1edfi \u0111\u1ed9ng.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"N\u00e2ng_c\u1ea5p_OpenClaw_c\u00f3_l\u00e0m_m\u1ea5t_c\u1ea5u_h\u00ecnh_kh\u00f4ng?\">N\u00e2ng c\u1ea5p OpenClaw c\u00f3 l\u00e0m m\u1ea5t c\u1ea5u h\u00ecnh kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">Th\u00f4ng th\u01b0\u1eddng kh\u00f4ng n\u1ebfu state\/config l\u01b0u \u0111\u00fang ch\u1ed7: ~\/.openclaw v\u1edbi b\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp, volume \/home\/node\/.openclaw v\u1edbi Docker. D\u00f9 v\u1eady v\u1eabn n\u00ean ch\u1ea1y openclaw backup create &#8211;verify tr\u01b0\u1edbc c\u00e1c b\u1ea3n c\u1eadp nh\u1eadt l\u1edbn.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"C\u00f3_th\u1ec3_quay_l\u1ea1i_phi\u00ean_b\u1ea3n_OpenClaw_c\u0169_kh\u00f4ng?\">C\u00f3 th\u1ec3 quay l\u1ea1i phi\u00ean b\u1ea3n OpenClaw c\u0169 kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p class=\"wp-block-paragraph\">C\u00f3 th\u1ec3 trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, nh\u01b0ng c\u1ea7n x\u00e1c nh\u1eadn khi h\u1ea1 c\u1ea5p. N\u1ebfu b\u1ea3n m\u1edbi \u0111\u00e3 chuy\u1ec3n schema SQLite, c\u00e0i l\u1ea1i g\u00f3i c\u0169 ch\u01b0a \u0111\u1ee7; ph\u1ea3i kh\u00f4i ph\u1ee5c b\u1ea3n sao l\u01b0u t\u1ea1o tr\u01b0\u1edbc khi n\u00e2ng c\u1ea5p.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"L\u00e0m sao bi\u1ebft OpenClaw \u0111ang d\u00f9ng phi\u00ean b\u1ea3n n\u00e0o?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>V\u1edbi b\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp ch\u1ea1y openclaw --version; v\u1edbi Docker Compose ch\u1ea1y docker compose run --rm openclaw-cli --version. Tr\u00ean VPS OpenClaw c\u1ee7a Tino, xem m\u1ee5c Phi\u00ean b\u1ea3n &amp; N\u00e2ng c\u1ea5p trong tab OpenClaw.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"L\u1ec7nh c\u1eadp nh\u1eadt OpenClaw tr\u00ean VPS l\u00e0 g\u00ec?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>V\u1edbi b\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp, d\u00f9ng openclaw update. N\u00ean ch\u1ea1y openclaw update status v\u00e0 openclaw update --dry-run tr\u01b0\u1edbc, r\u1ed3i ki\u1ec3m tra b\u1eb1ng openclaw doctor v\u00e0 openclaw health sau khi xong.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"C\u00f3 n\u00ean ch\u1ea1y openclaw update b\u00ean trong Docker kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Kh\u00f4ng. V\u1edbi Docker, t\u00e0i li\u1ec7u OpenClaw h\u01b0\u1edbng d\u1eabn thay image (pull, stop, up -d) v\u00e0 gi\u1eef nguy\u00ean volume state; entrypoint t\u1ef1 ch\u1ea1y Doctor khi kh\u1edfi \u0111\u1ed9ng.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"N\u00e2ng c\u1ea5p OpenClaw c\u00f3 l\u00e0m m\u1ea5t c\u1ea5u h\u00ecnh kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Th\u00f4ng th\u01b0\u1eddng kh\u00f4ng n\u1ebfu state\/config l\u01b0u \u0111\u00fang ch\u1ed7: ~\/.openclaw v\u1edbi b\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp, volume \/home\/node\/.openclaw v\u1edbi Docker. D\u00f9 v\u1eady v\u1eabn n\u00ean ch\u1ea1y openclaw backup create --verify tr\u01b0\u1edbc c\u00e1c b\u1ea3n c\u1eadp nh\u1eadt l\u1edbn.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"C\u00f3 th\u1ec3 quay l\u1ea1i phi\u00ean b\u1ea3n OpenClaw c\u0169 kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>C\u00f3 th\u1ec3 trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, nh\u01b0ng c\u1ea7n x\u00e1c nh\u1eadn khi h\u1ea1 c\u1ea5p. N\u1ebfu b\u1ea3n m\u1edbi \u0111\u00e3 chuy\u1ec3n schema SQLite, c\u00e0i l\u1ea1i g\u00f3i c\u0169 ch\u01b0a \u0111\u1ee7; ph\u1ea3i kh\u00f4i ph\u1ee5c b\u1ea3n sao l\u01b0u t\u1ea1o tr\u01b0\u1edbc khi n\u00e2ng c\u1ea5p.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>N\u00e2ng c\u1ea5p OpenClaw an to\u00e0n g\u1ed3m ba vi\u1ec7c: sao l\u01b0u th\u01b0 m\u1ee5c ~\/.openclaw, ch\u1ea1y \u0111\u00fang l\u1ec7nh c\u1eadp nh\u1eadt cho ki\u1ec3u c\u00e0i c\u1ee7a b\u1ea1n, r\u1ed3i ki\u1ec3m tra b\u1eb1ng openclaw doctor v\u00e0 openclaw health. B\u1ea3n c\u00e0i tr\u1ef1c ti\u1ebfp d\u00f9ng openclaw update; b\u1ea3n Docker thay image m\u1edbi v\u00e0 gi\u1eef nguy\u00ean volume; VPS OpenClaw c\u1ee7a Tino n\u00e2ng c\u1ea5p b\u1eb1ng [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":130192,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7552],"tags":[7554],"class_list":["post-130172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-openclaw","tag-openclaw"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/130172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=130172"}],"version-history":[{"count":9,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/130172\/revisions"}],"predecessor-version":[{"id":132067,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/130172\/revisions\/132067"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/130192"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=130172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=130172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=130172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}