{"id":1869,"date":"2026-08-18T20:14:03","date_gmt":"2026-08-18T12:14:03","guid":{"rendered":"https:\/\/tongchun.website\/index.php\/kimiagent-03-storage\/"},"modified":"2026-08-18T20:26:25","modified_gmt":"2026-08-18T12:26:25","slug":"kimiagent-03-storage","status":"publish","type":"page","link":"https:\/\/tongchun.website\/index.php\/kimiagent-03-storage\/","title":{"rendered":"03-storage \u2014 Kimi \u6c99\u7bb1\u5b58\u50a8\u4e0e\u6301\u4e45\u5316\u5c42"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u2190 \u8fd4\u56de\u4e3b\u62a5\u544a\uff1a<a href=\"https:\/\/tongchun.website\/index.php\/2026\/kimi-agent%ef%bc%88%e4%ba%91%e7%ab%af%e6%b2%99%e7%ae%b1%ef%bc%89%e6%8a%80%e6%9c%af%e6%8a%a5%e5%91%8a\/\">Kimi Agent\uff08\u4e91\u7aef\u6c99\u7bb1\uff09\u6280\u672f\u62a5\u544a<\/a> \uff5c <a href=\"https:\/\/github.com\/SHAWNTRIBBIANI\/kimiagent-analysis\/blob\/main\/sections\/03-storage.md\">GitHub \u539f\u6587<\/a><\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>\u5408\u89c4\u4e0e\u98ce\u9669\u58f0\u660e<\/strong>\uff1a\u672c\u62a5\u544a\u4e3a\u5b89\u5168\u7814\u7a76\u4e0e\u4e92\u64cd\u4f5c\u5b66\u4e60\u76ee\u7684\u7684\u9006\u5411\u5206\u6790\uff0c\u5168\u7a0b\u53ea\u8bfb\u91c7\u96c6\uff0c\u672a\u5bf9\u76ee\u6807\u7cfb\u7edf\u505a\u4efb\u4f55\u4fee\u6539\uff1b\u6587\u4e2d\u6240\u6709\u5bc6\u94a5\u3001token\u3001\u8d26\u53f7\u7ea7\u6807\u8bc6\uff08chat_id \/ project_id \/ tenant_id \u7b49\uff09\u5747\u5df2\u8131\u654f\uff1b\u6c99\u7bb1\u5185\u53d1\u73b0\u7684\u9ed8\u8ba4\u5f31\u53e3\u4ee4\uff08VNC\/SSH\uff09\u5c5e\u5e73\u53f0\u4fa7\u914d\u7f6e\uff0c\u4ec5\u4f5c\u5b89\u5168\u53d1\u73b0\u62ab\u9732\uff0c\u8bf7\u52ff\u7528\u4e8e\u8bbf\u95ee\u4efb\u4f55\u4e0d\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002docx\/pdf\/xlsx\/kimi-slides \u7b49\u5f15\u64ce\u4e8c\u8fdb\u5236\u4e3a Moonshot \u4e13\u6709\u8bb8\u53ef\uff08\u7981\u518d\u5206\u53d1\/\u9006\u5411\uff09\uff0c\u672c\u6587\u4ec5\u4f5c\u884c\u4e3a\u7ea7\u63cf\u8ff0\u3002\u62a5\u544a\u57fa\u4e8e\u5355\u6b21\u5206\u6790\u7a97\u53e3\uff08\u7ea6 50 \u5206\u949f\u751f\u547d\u5468\u671f\uff09\uff0c\u8f6f\u4ef6\u7248\u672c\u4e0e\u6280\u80fd\u5e93\u5b58\u968f\u955c\u50cf\u66f4\u65b0\u53ef\u80fd\u53d8\u5316\u3002<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\u53d6\u8bc1\u65f6\u95f4\uff1a2026-08-18\u3002\u8bbf\u95ee\u65b9\u5f0f\uff1aSSH\uff08kimi \u7528\u6237\u53ea\u8bfb\uff09+ root \u7ea7 HTTP \u6587\u4ef6\u670d\u52a1\u515c\u5e95\uff08127.0.0.1:18080\uff09\u3002 \u6c99\u7bb1\u5168\u7a0b\u672a\u505a\u4efb\u4f55\u4fee\u6539\u3002<\/p><\/blockquote>\n\n\n\n<h2 id=\"0-%25e6%2580%25bb%25e8%25a7%2588%25e4%25b8%2589%25e5%25b1%2582%25e5%25ad%2598%25e5%2582%25a8%25e6%259e%25b6%25e6%259e%2584\" class=\"wp-block-heading\">0. \u603b\u89c8\uff1a\u4e09\u5c42\u5b58\u50a8\u67b6\u6784<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6c99\u7bb1\u7684\u6587\u4ef6\u6301\u4e45\u5316\u7531<strong>\u4e09\u4e2a\u72ec\u7acb\u5c42\u6b21<\/strong>\u7ec4\u6210\uff0c\u4e92\u4e0d\u91cd\u53e0\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u5c42<\/th><th>\u6302\u8f7d\u70b9<\/th><th>\u540e\u7aef<\/th><th>\u8bfb\u5199<\/th><th>\u5185\u5bb9<\/th><th>\u6301\u4e45\u6027<\/th><\/tr><\/thead><tbody><tr><td>\u5bb9\u5668\u6839<\/td><td><code>\/<\/code>\uff08overlay2\uff09<\/td><td>\u5bbf\u4e3b\u673a\u5757\u8bbe\u5907 <code>\/run\/blk-cube\/vdc\/0..60<\/code> + \u53ef\u5199\u5c42 <code>vda\/disk\/2d9b504a...\/upper<\/code><\/td><td>rw<\/td><td>\u7cfb\u7edf\u3001\u5e94\u7528\u4ee3\u7801<\/td><td>\u5bb9\u5668\u7ea7\uff08\u955c\u50cf\u5c42\u53ea\u8bfb\uff0cupper \u5c42\u662f\u5426\u8de8\u91cd\u5efa\u6301\u4e45\u672a\u77e5\uff09<\/td><\/tr><tr><td>portal overlay<\/td><td><code>\/mnt\/portal-overlay<\/code>\uff08fuse.portal\uff09<\/td><td>\u4e91\u7aef PortalService\uff08<code>https:\/\/kimi-api-sandbox.msh.team\/apiv2<\/code>\uff09<\/td><td><strong>\u53ea\u8bfb<\/strong>\uff08\u76ee\u5f55\u9879 <code>-r--r--r--<\/code>\u3001owner root\uff09<\/td><td>\u7528\u6237\u8d44\u4ea7\uff1askills\u3001plugins\u3001auth\u3001vault\u3001agent-gw \u51ed\u8bc1\u3001\u7f51\u7ad9\u6a21\u677f<\/td><td>\u4e91\u7aef\u6301\u4e45\uff08\u7528\u6237\/\u79df\u6237\u7ea7\uff09<\/td><\/tr><tr><td>drive9<\/td><td><code>\/mnt\/agents<\/code>\uff08fuse.drive9\uff09<\/td><td>\u5185\u7f51 drive9 server <code>http:\/\/10.213.5.144<\/code>\uff0c\u8def\u5f84 <code>:\/projects\/&lt;project-id&gt;<\/code><\/td><td><strong>\u53ef\u8bfb\u5199<\/strong><\/td><td>\u9879\u76ee\u5de5\u4f5c\u533a\uff08upload\/output\/temp \u7b49\uff09<\/td><td>\u4e91\u7aef\u6301\u4e45\uff08\u9879\u76ee\u7ea7\uff09\uff0cclose-sync \u540c\u6b65<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u53e6\u6709 <code>\/workspace<\/code>\uff08\u7a7a\u76ee\u5f55\uff0ckimi:kimi\uff09\u4e0e <code>\/opt\/moonbox-project-template\/version.json<\/code> \u4e2d\u58f0\u660e\u7684\u517c\u5bb9\u8def\u5f84\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bc1\u636e\uff08<code>cat \/proc\/mounts<\/code> \u6458\u5f55\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>overlay2 \/ overlay rw,relatime,lowerdir=\/run\/blk-cube\/vdc\/60:...:\/run\/blk-cube\/vdc\/0,\n  upperdir=\/run\/blk-cube\/vda\/disk\/2d9b504a104a439f9374a6374a236fa7\/upper,...\nportal \/mnt\/portal-overlay fuse.portal rw,nosuid,nodev,relatime,allow_other,max_read=1048576\ndrive9 \/mnt\/agents fuse.drive9 rw,nosuid,nodev,relatime,allow_other,max_read=1048576<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>df -h<\/code>\uff1aoverlay2 41G\uff08\u4ec5\u7528 31M\uff0c\u521a\u91cd\u5efa\uff09\uff1bdrive9 \u663e\u793a 1.0T \u914d\u989d\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"1-portal-%25e4%25ba%258c%25e8%25bf%259b%25e5%2588%25b6usrlocalbinportal\" class=\"wp-block-heading\">1. portal \u4e8c\u8fdb\u5236\uff08\/usr\/local\/bin\/portal\uff09<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>ELF x86-64\uff0c52MB\uff0cGo \u9759\u6001\u7f16\u8bd1\uff0cstripped\uff0c\u6784\u5efa\u4e8e 2026-08-11\u3002<\/li><li><code>portal --help<\/code> \u63ed\u793a\u5b83\u662f\u4e00\u4e2a <strong>FUSE overlay \u6587\u4ef6\u7cfb\u7edf<\/strong>\uff0c\u628a\u4e91\u7aef\u5404\u7c7b\u7528\u6237\u8d44\u4ea7\u6302\u5230\u672c\u5730\u4e00\u4e2a\u6302\u8f7d\u70b9\uff0c\u5173\u952e flags\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>-agentgw        Mount the agent-gw client configuration file.\n-auth           Mount the user's persistent CLI\/plugin credentials.\n-configured_readonly  Mount KimiAPI-configured public read-only directories.\n-evo_sessions   Mount a Skill-Evo job's candidate-session overlay (evo sandbox only).\n-plugins        Mount the user's installed plugins.\n-skills         Mount the user's installed skills.\n-upload         Mount the chat upload directory.\n-vault          Mount the user's dream vault.\n-workspace      Mount the chat workspace as the writable root.\n-http-bind      Enable HTTP server for chat bind API   (-http-addr \u9ed8\u8ba4 :8080)\n-loopback \/ -loopback.root \/ -loopback.path   Overlay local-only loopback directories\uff08\u672c\u5730\u843d\u76d8\u3001\u4e0d\u56de\u4e91\uff09\n-gateway-addr   https:\/\/kimi-api-sandbox.msh.team\/apiv2 (prod \u9ed8\u8ba4)\n-gateway-dev-addr  https:\/\/kimi.kimi.team\/apiv2 (dev \u9ed8\u8ba4)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>\u4e8c\u8fdb\u5236 strings \u663e\u793a\u5b83\u901a\u8fc7 connect-RPC \u8c03 <code>dev.msh.team\/protos\/kimi-go\/kimi\/portal\/v1<\/code> \u7684 PortalService\uff0c\u65b9\u6cd5\u5305\u62ec\uff1a<code>ValidateBindToken<\/code>\u3001<code>GetAPIKey<\/code>\u3001<code>GetS3Credentials<\/code>\u3001<code>ListChatFiles<\/code>\u3001<code>GetEvoSessionFile(s)<\/code>\u3001<code>SetupApp<\/code>\u3001<code>GetVault<\/code>\/<code>GetVaultPage<\/code>\u3001<code>GetAutoDream<\/code>\u3001<code>GetWebsiteUrl<\/code>\/<code>GetWebsiteInfra<\/code>\u3001<code>GetBucketWebsite<\/code>\/<code>PutBucketWebsite<\/code>\/<code>DeleteBucketWebsite<\/code>\u3002\u5373 portal \u662f skills\/plugins\/\u51ed\u8bc1\/vault\/\u7f51\u7ad9\u90e8\u7f72\u7b49\u591a\u7c7b\u4e91\u8d44\u4ea7\u7684\u7edf\u4e00&#8221;\u95e8\u9762 FS&#8221;\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"11-%25e5%2590%25af%25e5%258a%25a8%25e6%25b5%2581%25e7%25a8%258b%25e7%25a9%25ba-manifest-%25e5%2590%25af%25e5%258a%25a8-claim-%25e6%2597%25b6%25e7%25bb%2591%25e5%25ae%259as6-%25e6%259c%258d%25e5%258a%25a1%25e8%2584%259a%25e6%259c%25ac-etcs6overlays6rcdportalrun\" class=\"wp-block-heading\">1.1 \u542f\u52a8\u6d41\u7a0b\uff1a\u7a7a manifest \u542f\u52a8 + claim \u65f6\u7ed1\u5b9a\uff08s6 \u670d\u52a1\u811a\u672c <code>\/etc\/s6-overlay\/s6-rc.d\/portal\/run<\/code>\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u811a\u672c\u5185\u6ce8\u91ca\u76f4\u63a5\u5199\u660e\u4e86\u67b6\u6784\u5951\u7ea6\uff1a<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Go portal overlay service (bind-token STS contract). Boots with an EMPTY mount manifest and -http-bind (:8080): kimiwarden delivers the identity at claim time \u2014 POST \/api\/v1\/bind_token (warden-signed HS256 JWT that portal exchanges for scoped STS via kimiapi PortalService), then POST \/api\/v1\/bind with the overlay manifest (skills\/plugins\/auth\/vault).<\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c\u4e2d\u7684\u5b9e\u9645\u547d\u4ee4\u884c\uff08<code>ps aux<\/code>\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/local\/bin\/portal -http-bind -allow-other -env prod \\\n  -gateway-addr https:\/\/kimi-api-sandbox.msh.team\/apiv2 \/mnt\/portal-overlay<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>\u542f\u7528\u95e8\uff1a<code>KIMI_PROJECT_PORTAL_CAPABILITY_ENABLED=true<\/code> \u6216\u65e7\u4fe1\u53f7 <code>KIMI_PROJECT_PORTAL_OVERLAY=1<\/code>\uff08\u7531 kimiwarden \/ reception preset \u6ce8\u5165\uff09\u3002<\/li><li>\u6ce8\u91ca\u8fd8\u63d0\u5230\u65e7\u7684\u9759\u6001 <code>K_OSS_*<\/code> \u51ed\u8bc1\u5df2\u5e9f\u5f03\uff08&#8221;fails closed&#8221;\uff09\uff0c\u4e00\u5207\u6388\u6743\u8d70 claim \u65f6 bind-token \u6362 STS\u3002<\/li><li>:8080 \u5b9e\u6d4b\u5728\u7ebf\uff1a<code>GET \/<\/code> \u2192 <code>404 page not found<\/code>\uff0c<code>GET \/api\/v1\/bind<\/code> \u2192 <code>Method not allowed<\/code>\uff08\u8981 POST\uff09\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"12-mntportaloverlay-%25e5%2586%2585%25e5%25ae%25b9%25e7%25bb%2593%25e6%259e%2584\" class=\"wp-block-heading\">1.2 \/mnt\/portal-overlay \u5185\u5bb9\u7ed3\u6784<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/mnt\/portal-overlay\/\n\u251c\u2500\u2500 .agent-gw.json          (444 root, \u53ea\u8bfb\uff1bportal -agentgw \u6302\u8f7d)\n\u251c\u2500\u2500 .agents\/plugins\/        (portal -plugins\uff1aaudio_generation, baidu-pan, china_standards,\n\u2502                            cloudflare, github, ifind, image_generation, imf,\n\u2502                            interactive-research-report-en, lark, musepool, scholar,\n\u2502                            sec_edgar, sp_data, ...)\n\u251c\u2500\u2500 .user\/\n\u2502   \u251c\u2500\u2500 auth\/               (portal -auth\uff1adws\/, lark\/ \u4e24\u7c7b\u51ed\u8bc1\u76ee\u5f55)\n\u2502   \u2514\u2500\u2500 skills\/             (portal -skills\uff1a\u7528\u6237\u5b89\u88c5\u7684\u6280\u80fd\uff0c\u5982 engineering-ppt-converter,\n\u2502                            openclaw-selfhost-ops, translation-review-coach \u7b49 6 \u4e2a)\n\u251c\u2500\u2500 .vault\/                 (portal -vault \"dream vault\"\uff0c\u5f53\u524d\u4e3a\u7a7a)\n\u2514\u2500\u2500 .websites-templates\/    (portal -configured_readonly\uff1a13 \u4e2a\u7f51\u7ad9\u6a21\u677f\n                             0-origin, 1-cyber-rain-frontend, ..., 12-seaside-stay-fullstack\uff1b\n                             \u6bcf\u4e2a\u76ee\u5f55\u542b &lt;name&gt;.zip + info.md)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>.agent-gw.json<\/code> \u5185\u5bb9\uff08\u51ed\u8bc1\u5df2\u8131\u654f\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\">{\"api_key\":\"sk-kimi-8OQEd910...\",           \/\/ \u5b58\u5728\uff1aagent-gw API key\uff0csk-kimi- \u524d\u7f00\n \"base_url\":\"https:\/\/agent-gw.kimi.com\/coding\",\n \"kimi_chat_id\":\"1a014098-****-****-****-********15cb\"}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>.vault<\/code>\uff08&#8221;dream vault&#8221;\uff09\u5f53\u524d\u4e3a\u7a7a\u76ee\u5f55\uff1b<code>.user\/auth\/dws<\/code> \u4e0b\u6709 <code>.dws<\/code>\u3001<code>.local<\/code> \u5b50\u76ee\u5f55\uff08CLI\/\u63d2\u4ef6\u6301\u4e45\u51ed\u8bc1\u5b58\u653e\u70b9\uff0c\u672a\u8bfb\u5185\u5bb9\uff09\u3002<\/p>\n\n\n\n<h3 id=\"13-%25e7%25ac%25a6%25e5%258f%25b7%25e9%2593%25be%25e6%258e%25a5%25e7%25bc%259d%25e5%2590%2588reception-preset-initscript-%25e5%25bb%25ba%25e7%25ab%258b\" class=\"wp-block-heading\">1.3 \u7b26\u53f7\u94fe\u63a5\u7f1d\u5408\uff08reception preset init_script \u5efa\u7acb\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bb9\u5668\u5185\u5927\u91cf&#8221;\u672c\u5730\u8def\u5f84&#8221;\u5b9e\u9645\u662f\u6307\u5411 portal overlay \u6216 drive9 \u7684 symlink\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/app\/.vault               -&gt; \/mnt\/portal-overlay\/.vault\n\/app\/.websites-templates  -&gt; \/mnt\/portal-overlay\/.websites-templates\n\/app\/.agents\/plugins      -&gt; \/mnt\/portal-overlay\/.agents\/plugins\n\/mnt\/agents\/.agents\/plugins -&gt; \/mnt\/portal-overlay\/.agents\/plugins\n\/mnt\/agents\/.user\/auth    -&gt; \/mnt\/portal-overlay\/.user\/auth\n\/mnt\/agents\/.user\/skills  -&gt; \/mnt\/portal-overlay\/.user\/skills\n\/mnt\/agents\/.vault        -&gt; \/mnt\/portal-overlay\/.vault\n\/mnt\/agents\/.websites-templates -&gt; \/mnt\/portal-overlay\/.websites-templates<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ce8\u610f\uff1a<code>\/app\/.agents\/skills<\/code> <strong>\u4e0d\u662f<\/strong> symlink\uff0c\u662f\u5bb9\u5668\u955c\u50cf\u5185\u771f\u5b9e\u76ee\u5f55\uff08\u9884\u88c5\u516c\u5171\u6280\u80fd\u96c6\uff0c\u7ea6\u4e0a\u767e\u4e2a\uff09\uff0c\u4e0e portal \u6302\u7684\u7528\u6237\u6280\u80fd\uff08<code>\/app\/.user\/skills<\/code>\uff09\u5206\u79bb\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"2-drive9usrlocalbindrive9-%25e5%258f%25af%25e5%2586%2599%25e9%25a1%25b9%25e7%259b%25ae%25e5%25ad%2598%25e5%2582%25a8\" class=\"wp-block-heading\">2. drive9\uff08\/usr\/local\/bin\/drive9\uff09\u2014 \u53ef\u5199\u9879\u76ee\u5b58\u50a8<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>ELF x86-64\uff0c19.7MB\uff0cGo \u7f16\u8bd1\uff08go1.26.1\uff09\uff0c<strong>\u5e26 debug_info \u672a strip<\/strong>\u3002\u662f\u4e2a\u529f\u80fd\u5b8c\u6574\u7684\u5b58\u50a8\/\u534f\u4f5c CLI\uff0c\u5b50\u547d\u4ee4\uff08<code>drive9 --help<\/code> \u6458\u5f55\uff09\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>create \/ delete \/ admin &lt;tenant|pool&gt;          # \u79df\u6237\u7ba1\u7406\uff08TiDB Cloud \u6a21\u5f0f\uff09\nctx show|add|import|fork|ls|use|rm             # \u4e0a\u4e0b\u6587\uff08\u8eab\u4efd\uff09\uff1bfork \u662f copy-on-write\nfs &lt;command&gt;                                   # \u6587\u4ef6\u7cfb\u7edf\u64cd\u4f5c\ntoken issue|revoke                             # workspace-zone scoped token\nvault set|get|put|with|ls|rm|grant|revoke|audit  # \u5bc6\u94a5 vault\njournal new|append|cat|find|verify             # append-only agent\/workflow \u65e5\u5fd7\ngit clone --fast                               # git-aware \u5feb\u901f\u514b\u9686\npack \/ unpack                                  # \u628a\u672c\u5730 overlay \u6253\u5305\u5230 drive9\/S3\uff08\u5feb\u7167\u8fc1\u79fb\uff09\nmount [flags] [:\/remote] &lt;mountpoint&gt;          # FUSE \u6302\u8f7d\uff08\u53e6\u6709 mount drain \/ mount vault\uff09\nprofile show                                   # \u6302\u8f7d profile\uff08[local]\/[remote] \u8fc7\u6ee4\u89c4\u5219\uff09\nregion list                                    # \u4ece drive9 manifest \u5217\u51fa\u4f9b\u5e94\u533a\u57df\ndoctor fuse \/ update                           # \u8bca\u65ad\u4e0e\u81ea\u66f4\u65b0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e8c\u8fdb\u5236 strings \u8fd8\u66b4\u9732\uff1ashadow \u5199\u56de\u7f13\u5b58\uff08<code>writeback-cache<\/code>\u3001<code>same-path-dirty<\/code>\u3001<code>flush_debounced<\/code>\uff09\u3001commit queue \u51b2\u7a81\u81ea\u52a8\u91cd\u8bd5\u3001SSE \u7f13\u5b58\u5931\u6548\uff08<code>SSE reset \u2014 invalidating all caches<\/code>\uff09\u3001TiDB Cloud \u7269\u7406\u5171\u4eab\u6c60\u79df\u6237\u6a21\u578b\u7b49\u3002<\/p>\n\n\n\n<h3 id=\"21-%25e5%25ae%259e%25e9%2599%2585%25e6%258c%2582%25e8%25bd%25bdps-aux\" class=\"wp-block-heading\">2.1 \u5b9e\u9645\u6302\u8f7d\uff08ps aux\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/local\/bin\/drive9 mount --foreground --mode=fuse -allow-other \\\n  -readdir-prefetch --parallel-read-concurrency 8 --read-concurrency 48 \\\n  --server http:\/\/10.213.5.144 --profile kimi-project --durability close-sync \\\n  :\/projects\/1a01406e-****-****-****-********d0ce \/mnt\/agents<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">mount \u65e5\u5fd7\uff08<code>\/tmp\/kimi-project-drive9.log<\/code>\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>drive9: sync mode: strict\ndrive9: mounted on \/mnt\/agents (server: http:\/\/10.213.5.144,\n  actor: 0a8893244854f033a73bd4ade8bc0548, readonly: false,\n  write_policy: close-sync,\n  cache: \/root\/.cache\/drive9,\n  shadow: \/root\/.cache\/drive9\/6504f2b4669187a6\/shadow)\ndrive9: SSE reset \u2014 invalidating all caches\n... flush upload failed for \/output\/frp-share\/frpc.log:\n  Put \"http:\/\/10.213.5.144\/v1\/fs\/projects\/1a01406e-****-****-****-********d0ce\/output\/frp-share\/frpc.log\": context canceled<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bf4\u660e\uff1a\u5199\u7b56\u7565 <code>close-sync<\/code>\uff08close \u65f6\u540c\u6b65\u4e0a\u4f20\uff09\uff0c\u672c\u5730 shadow \u7f13\u5b58\u5728\u5bb9\u5668\u5185 <code>\/root\/.cache\/drive9\/<hash>\/shadow<\/code>\uff1b\u8fdc\u7aef API \u5f62\u6001\u662f <code>PUT \/v1\/fs\/projects\/<project-id>\/<path><\/code>\uff1bSSE \u63a8\u9001\u7528\u4e8e\u7f13\u5b58\u5931\u6548\uff08\u591a\u5ba2\u6237\u7aef\u4e00\u81f4\u6027\uff09\u3002<\/p>\n\n\n\n<h3 id=\"22-rootdrive9-%25e9%2585%258d%25e7%25bd%25ae%25e4%25b8%258e%25e5%2587%25ad%25e8%25af%2581\" class=\"wp-block-heading\">2.2 \/root\/.drive9\/ \u914d\u7f6e\u4e0e\u51ed\u8bc1<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\u76ee\u5f55\u53ea\u6709 <code>profiles\/kimi-project<\/code> \u4e00\u4e2a profile\uff0c\u5185\u5bb9\u662f <code>[local]<\/code> \u8fc7\u6ee4\u6e05\u5355\uff08\u54ea\u4e9b\u8def\u5f84<strong>\u53ea\u7559\u5728\u672c\u5730\u3001\u4e0d\u540c\u6b65\u5230\u4e91\u7aef<\/strong>\uff09\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>[local]\n.store\/**  **\/.cache\/**  **\/.git\/**  **\/.gradle\/**  **\/node_modules\/**\n**\/target\/**  **\/dist\/**  **\/build\/**  **\/coverage\/**  **\/__pycache__\/**\n**\/.venv\/**  **\/tmp\/**  .kimi\/**  .agents\/**  .user\/**  .vault\/**  ...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5373 node_modules\u3001\u6784\u5efa\u4ea7\u7269\u3001git \u5185\u90e8\u3001\u4ee5\u53ca <code>.agents\/.user\/.vault<\/code>\uff08\u540e\u8005\u672c\u6765\u5c31\u7531 portal overlay \u63d0\u4f9b\uff09\u90fd\u4e0d\u56de\u4f20\u4e91\u7aef \u2014\u2014 \u8fd9\u662f\u9879\u76ee\u540c\u6b65\u7684\u5173\u952e\u7b56\u7565\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u51ed\u8bc1\u5728\u670d\u52a1 env \u6587\u4ef6 <code>\/run\/service\/drive9-fuse\/env<\/code>\uff08root 600 \u8bed\u4e49\uff0c\u7ecf HTTP \u515c\u5e95\u8bfb\u53d6\uff09\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>HOME='\/root'\nDRIVE9_SERVER='http:\/\/10.213.5.144'\nDRIVE9_API_KEY='drive9_ZXlKaGJHY2lPaUp...'   # \u5b58\u5728\uff1a\u683c\u5f0f drive9_&lt;base64(JWT)&gt;\uff1b\n  # JWT payload \u542b tenant_id=890c103a-****-****-****-********625a\u3001\n  # token_version=1\u3001journal_permissions \u5217\u8868\u3001iat\u22481785482181\uff082026-08-18 \u524d\u540e\u7b7e\u53d1\uff09<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">kimi \u7528\u6237\u4fa7 <code>~\/.drive9<\/code> \u65e0 context\uff08<code>drive9 ctx ls<\/code> \u2192 &#8220;no contexts configured&#8221;\uff09\uff0c\u5373<strong>\u53ea\u6709 root \u8eab\u4efd\u7684 FUSE \u5b88\u62a4\u8fdb\u7a0b\u6301\u6709\u51ed\u8bc1<\/strong>\uff0c\u6c99\u7bb1\u5185\u7528\u6237\u62ff\u5230\u7684\u53ea\u662f\u6302\u8f7d\u89c6\u56fe\u3002<\/p>\n\n\n\n<h3 id=\"23-s6-%25e6%259c%258d%25e5%258a%25a1%25e4%25b8%258e-watchdogrunservicedrive9fuserundrive9fusewatchdogrun\" class=\"wp-block-heading\">2.3 s6 \u670d\u52a1\u4e0e watchdog\uff08<code>\/run\/service\/drive9-fuse\/run<\/code>\u3001<code>drive9-fuse-watchdog\/run<\/code>\uff09<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\u542f\u52a8\u811a\u672c\uff1a\u6bcf\u6b21\uff08\u91cd\uff09\u542f\u52a8\u524d\u5148 <code>fusermount3 -uz<\/code> \u6e05\u6b8b\u7559\u6b7b\u6302\u8f7d\uff1b\u82e5\u6302\u8f7d\u70b9\u88ab\u975e drive9 \u5360\u7528\u5219\u62d2\u7edd\u6e05\u7406\u76f4\u63a5\u9000\u51fa\uff08\u9632\u6b62\u8bef\u6e05\uff09\u3002\u542f\u52a8\u95f4\u9694\u8282\u6d41\uff08&lt;2s sleep 1\uff09\u3002<\/li><li>watchdog\uff1a\u6bcf 15s \u63a2\u6d3b <code>stat \/mnt\/agents\/.<\/code> + <code>ls -U .drive9-health<\/code>\uff08\u4e13\u7528\u5c0f\u76ee\u5f55\uff0c\u907f\u514d\u5927\u76ee\u5f55 readdir \u89e6\u53d1\u9884\u53d6\u56de\u6e90\uff09\uff1b\u8fde\u7eed 3 \u6b21\u5931\u8d25 <code>pkill -9 drive9<\/code> \u4ea4\u7ed9 s6 \u91cd\u542f\uff1b\u63a2\u6d3b\u76ee\u5f55\u7f3a\u5931\u65f6\u5148 <code>mkdir -p<\/code> \u81ea\u6108\uff08\u771f\u6302\u6b7b\u65f6 mkdir \u4e5f\u4f1a\u8d85\u65f6\uff0c\u4e0d\u8bef\u653e\uff09\u3002<\/li><\/ul>\n\n\n\n<h3 id=\"24-mntagents-%25e5%2586%2585%25e5%25ae%25b9\" class=\"wp-block-heading\">2.4 \/mnt\/agents \u5185\u5bb9<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/mnt\/agents\/\n\u251c\u2500\u2500 .agents\/  .user\/  .vault  .websites-templates   # \u5168\u662f portal overlay \u7684 symlink\uff08\u89c1 1.3\uff09\n\u251c\u2500\u2500 .drive9-health\/    # watchdog \u63a2\u6d3b\u76ee\u5f55\n\u251c\u2500\u2500 .tmp\/              # drive9 \u5185\u90e8\u6682\u5b58\uff08root 700\uff09\n\u251c\u2500\u2500 upload\/            # \u7528\u6237\u4e0a\u4f20\u6587\u4ef6\u5165\u53e3\uff08\u5f53\u524d\u7a7a\uff09\n\u251c\u2500\u2500 output\/            # \u4ea7\u7269\u51fa\u53e3\uff1b\u73b0\u6709 output\/frp-share\/\uff08frpc \u5ba2\u6237\u7aef\u4e0e\u65e5\u5fd7 \u2014\u2014 \u5373\u672c\u5206\u6790\u6240\u7528 SSH \u96a7\u9053\u7684\u8f7d\u4f53\uff09\n\u2514\u2500\u2500 temp\/              # \u4e34\u65f6\uff08\u5f53\u524d\u7a7a\uff09<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">kernel-server\uff08jupyter :8888\uff09\u7684 WORKDIR \u5c31\u662f <code>\/mnt\/agents<\/code>\uff1b<code>version.json<\/code> \u58f0\u660e <code>workspace_path=\/mnt\/agents<\/code>\u3001<code>project_output_dir=<project_dir>\/output<\/code>\uff0c\u5e76\u7ed9\u51fa\u517c\u5bb9\u8def\u5f84\u96c6\uff08<code>\/mnt\/okcomputer<\/code>\u3001<code>\/mnt\/kimi<\/code>\u3001<code>\/workspace\/project<\/code>\u3001<code>\/app\/.user\/skills<\/code> \u7b49\uff09\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"3-workspace\" class=\"wp-block-heading\">3. \/workspace<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>\/workspace<\/code> \u662f\u7a7a\u76ee\u5f55\uff08kimi:kimi, 0755\uff0c\u955c\u50cf\u81ea\u5e26\uff09\uff0c\u65e0\u4efb\u4f55\u5185\u5bb9\u3001\u672a\u88ab\u6302\u8f7d\u3001\u672a\u88ab s6 \u811a\u672c\u6216 \/app \u4ee3\u7801\u5f15\u7528\u3002<code>version.json<\/code> \u7684 compat_paths \u91cc\u53ea\u63d0\u5230 <code>\/workspace\/project<\/code>\u3002\u5224\u65ad\uff1a<strong>\u9057\u7559\u517c\u5bb9\u8def\u5f84\/\u4fdd\u7559\u6302\u8f7d\u70b9<\/strong>\uff0c\u5f53\u524d\u6a21\u677f\u4e0b\u4e0d\u8d77\u4f5c\u7528\uff0c\u5de5\u4f5c\u533a\u5df2\u5168\u90e8\u6536\u655b\u5230 <code>\/mnt\/agents<\/code>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"4-%25e9%25a1%25b9%25e7%259b%25ae-id-%25e4%25b8%258e-kimichatid-%25e7%259a%2584%25e5%2585%25b3%25e7%25b3%25bb\" class=\"wp-block-heading\">4. \u9879\u76ee ID \u4e0e kimi_chat_id \u7684\u5173\u7cfb<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e24\u4e2a ID \u662f<strong>\u4e0d\u540c\u5bf9\u8c61\u3001\u5404\u81ea\u72ec\u7acb<\/strong>\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>ID<\/th><th>\u503c<\/th><th>\u8bed\u4e49<\/th><th>\u51fa\u73b0\u5728<\/th><\/tr><\/thead><tbody><tr><td>project-id<\/td><td><code>1a01406e-*<em><strong>-<\/strong><strong>-<\/strong><strong>-<\/strong><\/em>*****d0ce<\/code><\/td><td>drive9 \u9879\u76ee\u5de5\u4f5c\u533a\uff08<code>:\/projects\/&lt;id&gt;<\/code>\uff0cPUT \/v1\/fs\/projects\/&lt;id&gt;\/&#8230;\uff09<\/td><td>drive9 \u6302\u8f7d\u547d\u4ee4\u884c\u3001API \u8def\u5f84<\/td><\/tr><tr><td>kimi_chat_id<\/td><td><code>1a014098-*<em><strong>-<\/strong><strong>-<\/strong><strong>-<\/strong><\/em>*****15cb<\/code><\/td><td>\u804a\u5929\u4f1a\u8bdd\u8eab\u4efd\uff0c\u968f agent-gw \u51ed\u8bc1\u7ed1\u5b9a<\/td><td><code>\/mnt\/portal-overlay\/.agent-gw.json<\/code>\uff08portal -agentgw \u6302\u8f7d\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e24\u8005\u540c\u4e3a <code>1a0140\u2026-\u2026-8\u2026<\/code> \u5f62\u6001\u7684\u81ea\u5b9a\u4e49 UUID\uff08version nibble=8\uff0c\u5e94\u4e3a\u5185\u90e8\u6709\u5e8f ID \u65b9\u6848\uff09\uff0c\u524d\u7f00\u76f8\u8fd1\u53ea\u662f\u540c\u4e00\u79df\u6237\/\u6279\u6b21\u751f\u6210\u7684\u8868\u8c61\u3002\u673a\u5236\u4e0a\u7684\u5173\u7cfb\u662f\uff1a<strong>drive9 \u6302\u8f7d\u5728\u6c99\u7bb1\u542f\u52a8\u65f6\u6309 project-id \u9759\u6001\u62c9\u8d77\uff08\u51ed\u8bc1\u5728 env \u6587\u4ef6\uff09\uff1b\u800c chat \u8eab\u4efd\u5728&#8221;claim \u65f6&#8221;\u7531 kimiwarden \u4ee5 bind_token\uff08HS256 JWT\uff09POST \u5230 portal :8080 \u6362 STS \u540e\u624d\u51fa\u73b0<\/strong>\uff0c<code>.agent-gw.json<\/code> \u5373\u6b64\u7ed1\u5b9a\u7684\u4ea7\u7269\u3002\u4e00\u4e2a\u9879\u76ee\u5de5\u4f5c\u533a\u53ef\u88ab\u4e0d\u540c chat \u590d\u7528\/\u91cd\u65b0\u7ed1\u5b9a\uff08portal \u542f\u52a8\u65f6 manifest \u4e3a\u7a7a\u5c31\u662f\u4e3a\u8fd9\u4e2a\u52a8\u6001\u7ed1\u5b9a\u8bbe\u8ba1\u7684\uff09\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"5-%25e7%25bb%2593%25e8%25ae%25ba%25e5%2593%25aa%25e4%25ba%259b%25e6%2595%25b0%25e6%258d%25ae%25e6%258c%2581%25e4%25b9%2585%25e5%25ad%2598%25e5%259c%25a8%25e5%2593%25aa%25e6%2580%258e%25e4%25b9%2588%25e5%2590%258c%25e6%25ad%25a5\" class=\"wp-block-heading\">5. \u7ed3\u8bba\uff1a\u54ea\u4e9b\u6570\u636e\u6301\u4e45\u3001\u5b58\u5728\u54ea\u3001\u600e\u4e48\u540c\u6b65<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6301\u4e45\uff08\u4e91\u7aef\uff09\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u9879\u76ee\u5de5\u4f5c\u533a\u5168\u90e8\u7528\u6237\u6570\u636e \u2192 drive9 server <code>10.213.5.144<\/code> \u7684 <code>projects\/&lt;project-id&gt;<\/code>\uff0c\u7ecf FUSE + close-sync \u5199\u56de\uff08close \u5373\u4e0a\u4f20\uff0cshadow \u672c\u5730\u7f13\u5b58\u515c\u5e95\uff0cSSE \u505a\u591a\u7aef\u7f13\u5b58\u5931\u6548\uff09\uff1b<\/li><li>\u7528\u6237\u7ea7\u8d44\u4ea7\uff08\u5df2\u88c5 skills\u3001plugins\u3001CLI\/plugin \u51ed\u8bc1\u3001vault\u3001agent-gw \u51ed\u8bc1\uff09\u2192 Kimi PortalService \u4e91\u7aef\uff0c\u6c99\u7bb1\u5185\u4ee5 portal FUSE <strong>\u53ea\u8bfb<\/strong>\u5448\u73b0\uff0c\u5199\u5165\u8d70\u4e91\u7aef\u63a7\u5236\u9762\u800c\u975e\u6c99\u7bb1\u5185\u76f4\u63a5\u5199\uff1b<\/li><li>\u516c\u5f00\u53ea\u8bfb\u8d44\u4ea7\uff08websites-templates\uff09\u2192 KimiAPI \u914d\u7f6e\u7684\u516c\u5171\u53ea\u8bfb\u76ee\u5f55\u3002<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e0d\u6301\u4e45 \/ \u53ea\u7559\u672c\u5730\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>profile <code>kimi-project<\/code> \u7684 <code>[local]<\/code> \u6e05\u5355\u547d\u4e2d\u7684\u8def\u5f84\uff1anode_modules\u3001.git\u3001\u6784\u5efa\u4ea7\u7269\u3001\u7f13\u5b58\u3001<code>.kimi<\/code>\u3001<code>.agents<\/code>\u3001<code>.user<\/code>\u3001<code>.vault<\/code> \u7b49 \u2014\u2014 \u660e\u786e\u4e0d\u56de\u4f20\uff1b<\/li><li>\u5bb9\u5668\u6839 overlay \u7684\u5176\u4f59\u90e8\u5206\uff08\u7cfb\u7edf\u6539\u52a8\u3001<code>\/root\/.cache\/drive9<\/code> shadow \u7b49\uff09\u968f\u5bb9\u5668\u751f\u547d\u5468\u671f\uff1b<\/li><li><code>\/mnt\/agents\/.tmp<\/code>\uff08drive9 \u5185\u90e8\u6682\u5b58\uff09\u3002<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u540c\u6b65\u89e6\u53d1\u70b9\uff1a<\/strong> \u6587\u4ef6 close\uff08close-sync \u5199\u7b56\u7565\uff09\uff1b<code>drive9 mount drain<\/code> \u53ef\u624b\u52a8\u6392\u7a7a\uff1bwatchdog \u4fdd\u8bc1 daemon \u5047\u6b7b\u65f6\u88ab s6 \u62c9\u8d77\u91cd\u6302\u5e76\u91cd\u653e shadow\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u51ed\u8bc1\u9762\uff08\u5747\u5df2\u8131\u654f\uff09\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>sk-kimi-8OQEd910...<\/code>\uff1aagent-gw API key\uff0c\u5b58\u4e8e portal \u6302\u8f7d\u7684\u53ea\u8bfb <code>.agent-gw.json<\/code>\uff1b<\/li><li><code>drive9_ZXlKaGJHY2l...<\/code>\uff1adrive9 \u79df\u6237 JWT\uff08tenant_id=890c103a-&#8230;\uff09\uff0c\u4ec5\u5b58\u4e8e root \u670d\u52a1 env <code>\/run\/service\/drive9-fuse\/env<\/code>\uff0ckimi \u7528\u6237\u4e0d\u53ef\u89c1\u3002<\/li><\/ul>\n\n\n\n<h2 id=\"6-%25e5%25af%25b9-hermes-%25e5%258f%25af%25e7%25a7%25bb%25e6%25a4%258d%25e7%259a%2584%25e7%2582%25b9%25e8%25af%25a6%25e8%25a7%2581%25e4%25b8%25bb%25e6%258a%25a5%25e5%2591%258a\" class=\"wp-block-heading\">6. \u5bf9 Hermes \u53ef\u79fb\u690d\u7684\u70b9\uff08\u8be6\u89c1\u4e3b\u62a5\u544a\uff09<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>&#8220;\u7a7a manifest \u542f\u52a8 + claim \u65f6\u7ed1\u5b9a&#8221;\u7684 overlay \u51ed\u8bc1\u6ce8\u5165<\/strong>\uff1aportal \u5148\u4ee5\u65e0\u8eab\u4efd\u72b6\u6001\u8d77 FUSE + HTTP bind API\uff0c\u7531\u63a7\u5236\u9762\uff08kimiwarden\uff09\u4e0b\u53d1\u77ed\u671f JWT \u6362 STS \u518d\u6309\u9700\u6302\u8f7d skills\/\u63d2\u4ef6\/\u51ed\u8bc1 \u2014\u2014 \u514d\u955c\u50cf\u70d8\u51ed\u8bc1\u3001\u5929\u7136\u652f\u6301\u4f1a\u8bdd\u590d\u7528\u4e0e\u6743\u9650\u6700\u5c0f\u5316\u3002<\/li><li><strong>profile \u9a71\u52a8\u7684\u540c\u6b65\u8fc7\u6ee4\u6e05\u5355<\/strong>\uff1adrive9 <code>kimi-project<\/code> profile \u7528\u4e00\u4efd <code>[local]<\/code> glob \u6e05\u5355\u58f0\u660e&#8221;\u54ea\u4e9b\u4e0d\u56de\u4f20&#8221;\uff0c\u628a\u6301\u4e45\u6027\u7b56\u7565\u505a\u6210\u663e\u5f0f\u914d\u7f6e\u800c\u975e\u9690\u5f0f\u884c\u4e3a\u3002<\/li><li><strong>FUSE \u5047\u6b7b watchdog \u6a21\u5f0f<\/strong>\uff1a\u4e13\u7528\u5c0f\u76ee\u5f55\u63a2\u6d3b + mkdir \u81ea\u6108 + \u8fde\u7eed\u5931\u8d25\u624d pkill \u4ea4 s6 \u91cd\u542f\uff0c\u907f\u514d\u5927\u76ee\u5f55 readdir \u89e6\u53d1\u56de\u6e90\uff0c\u662f\u8fdc\u7aef FS \u5b88\u62a4\u7684\u6210\u719f\u505a\u6cd5\u3002<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\u2190 \u8fd4\u56de\u4e3b\u62a5\u544a\uff1aKimi Agent\uff08\u4e91\u7aef\u6c99\u7bb1\uff09\u6280\u672f\u62a5\u544a \uff5c GitHub \u539f\u6587 \u5408\u89c4\u4e0e\u98ce\u9669\u58f0\u660e\uff1a\u672c\u62a5\u544a\u4e3a\u5b89\u5168 &hellip; <a href=\"https:\/\/tongchun.website\/index.php\/kimiagent-03-storage\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201c03-storage \u2014 Kimi \u6c99\u7bb1\u5b58\u50a8\u4e0e\u6301\u4e45\u5316\u5c42\u201d<\/span><\/a><\/p>\n","protected":false},"author":55404,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"wpai_generated_summary":"","wpai_meta_description":"","footnotes":""},"class_list":["post-1869","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages\/1869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/users\/55404"}],"replies":[{"embeddable":true,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/comments?post=1869"}],"version-history":[{"count":1,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages\/1869\/revisions"}],"predecessor-version":[{"id":1889,"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/pages\/1869\/revisions\/1889"}],"wp:attachment":[{"href":"https:\/\/tongchun.website\/index.php\/wp-json\/wp\/v2\/media?parent=1869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}