1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5518],{10798:function(e,n,s){s.d(n,{a:function(){return c}});function c(e){return e}},5518:function(e,n,s){s.r(n),s.d(n,{default:function(){return r}});var c=s(57437),l=s(10798);function d(e){let n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.h1,{children:"æ¬å°æä»¶å¤¹åæ¥"}),"\n",(0,c.jsx)(n.p,{children:"å°æ¬å°æä»¶å¤¹ä¸ puppyone äºç«¯ Context File System 忥ï¼ä½¿ç¨ MUT åè®®è¿è¡çæ¬æ§å¶ã"}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"ä»ä¹æ¯æ¬å°æä»¶å¤¹åæ¥"}),"\n",(0,c.jsx)(n.p,{children:"æ¬å°æä»¶å¤¹åæ¥åºäº MUT åè®®ï¼ç±»ä¼¼ Git ççæ¬æ§å¶åè®®ï¼ï¼å¨ä½ çæ¬å°ç®å½å puppyone äºç«¯ä¹é´å»ºç«çæ¬åç忥ééã"}),"\n",(0,c.jsxs)(n.ul,{children:["\n",(0,c.jsxs)(n.li,{children:["æ¬å°ç¼è¾æä»¶åï¼",(0,c.jsx)(n.code,{children:"mut commit"})," + ",(0,c.jsx)(n.code,{children:"mut push"})," æ¨éå°äºç«¯"]}),"\n",(0,c.jsxs)(n.li,{children:["äºç«¯æåæ´æ¶ï¼",(0,c.jsx)(n.code,{children:"mut pull"})," æåå°æ¬å°"]}),"\n",(0,c.jsx)(n.li,{children:"æ¯æ¬¡æ¨éé½çæçæ¬è®°å½ï¼å¯å溯ãå¯åæ»"}),"\n"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{children:"ââââââââââââââââ ââââââââââââââââââââ\nâ â ââ mut push âââââââââââââ â â\nâ æ¬å°æä»¶å¤¹ â â puppyone Cloud â\nâ ~/my-docs â âââ mut pull âââââââââââ â Context FS â\nâ â â â\nââââââââââââââââ çæ¬æ§å¶ (MUT) ââââââââââââââââââââ\n"})}),"\n",(0,c.jsx)(n.p,{children:"忥宿åï¼AgentãMCP 客æ·ç«¯ï¼Cursor / Claude Desktopï¼å REST API é½å¯ä»¥è®¿é®è¿äºå
容ã"}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"å¿«éå¼å§"}),"\n",(0,c.jsx)(n.h3,{children:"åç½®æ¡ä»¶"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"npm install -g puppyone # puppyone CLI\npip install mutai # MUT CLI\n"})}),"\n",(0,c.jsx)(n.h3,{children:"ç¬¬ä¸æ¥ï¼åå»ºåæ¥è¿æ¥"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:'puppyone auth login\npuppyone project use "My Project"\npuppyone access add filesystem docs\n'})}),"\n",(0,c.jsx)(n.p,{children:"å½ä»¤ä¼è¾åº access endpoint URL å Access Keyï¼å¹¶æç¤ºä¸¤ç§æ¥å
¥æ¹å¼ã"}),"\n",(0,c.jsx)(n.h3,{children:"ç¬¬äºæ¥ï¼éä¸ç§æ¥å
¥æ¹å¼"}),"\n",(0,c.jsxs)(n.p,{children:["æ¥ä¸æ¥æä¸¤æ¡è·¯ï¼",(0,c.jsx)(n.strong,{children:"Clone å
¨æ°æä»¶å¤¹"})," è¿æ¯ ",(0,c.jsx)(n.strong,{children:"æ¥å
¥å·²ææä»¶å¤¹"}),"ãæä½ çå®é
åºæ¯ã"]}),"\n",(0,c.jsx)(n.h4,{children:"A. Clone å
¨æ°æä»¶å¤¹ï¼æ¬å°è¿æ²¡ææä»¶ï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"mut clone <endpoint-url> --credential <access-key>\ncd docs\n"})}),"\n",(0,c.jsxs)(n.p,{children:["ä¼å建ä¸ä¸ªæ°ç ",(0,c.jsx)(n.code,{children:"./docs/"})," æä»¶å¤¹ï¼æäºç«¯ scope çå
容æä¸æ¥ã"]}),"\n",(0,c.jsx)(n.h4,{children:"B. æ¥å
¥å·²ææä»¶å¤¹ï¼æ¬å°å·²ç»æå
容ï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"cd /path/to/your/existing/folder\nmut connect <endpoint-url> --credential <access-key>\n"})}),"\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.code,{children:"mut connect"})," 伿äºç«¯ç¶æã忬尿件åä¸è·¯åå¹¶ï¼ç¶åæç»ææ¨åå»ã",(0,c.jsx)(n.strong,{children:"åªå¨ç¡¬çä¸çæä»¶è¢«ä¸ä¼ ï¼åªå¨äºç«¯çæä»¶è¢«ä¸è½½ãä¸è¦çãä¸ä¸¢æ°æ®ã"})]}),"\n",(0,c.jsxs)(n.blockquote,{children:["\n",(0,c.jsxs)(n.p,{children:["æ³è®© puppyone CLI 䏿¥å°ä½ï¼ç¨ ",(0,c.jsx)(n.code,{children:"--link"}),"ï¼"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"puppyone access add filesystem docs --link /path/to/your/folder\n"})}),"\n",(0,c.jsxs)(n.p,{children:["çäº ",(0,c.jsx)(n.code,{children:"puppyone access add filesystem docs && cd <link> && mut connect ..."})," 䏿°åµæã"]}),"\n"]}),"\n",(0,c.jsx)(n.h3,{children:"ç¬¬ä¸æ¥ï¼ç¼è¾ãæäº¤ãæ¨é"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:'echo "# Welcome" > readme.md\nmut commit -m "init docs"\nmut push\n'})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"Scopeï¼è·¯å¾èå´ï¼"}),"\n",(0,c.jsx)(n.p,{children:"æ¯ä¸ªåæ¥è¿æ¥ç»å®ä¸ä¸ª scopeââäºç«¯é¡¹ç®æ ä¸çè·¯å¾ãä¸åçæ¬å°æä»¶å¤¹å¯ä»¥åæ¥å°ä¸åç scopeï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"puppyone access add filesystem docs # scope = /docs\npuppyone access add filesystem code # scope = /code\npuppyone access add filesystem config # scope = /config\n"})}),"\n",(0,c.jsx)(n.p,{children:"å¨äºç«¯å½¢æç»ä¸çé¡¹ç®æ ï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{children:"Root/\nâââ docs/ â æ¥èª ~/my-docs\nâââ code/ â æ¥èª ~/my-code\nâââ config/ â æ¥èª ~/my-config\n"})}),"\n",(0,c.jsx)(n.p,{children:"è¿å
许ä¸åçå¢éæåæ Agent åèªç®¡çèªå·±è´è´£çé¨åï¼æç»æ±åå°åä¸ä¸ªé¡¹ç®ä¸ã"}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"忥è¡ä¸º"}),"\n",(0,c.jsx)(n.h3,{children:'MUT vs èç "Real-time" 忥'}),"\n",(0,c.jsxs)(n.table,{children:[(0,c.jsx)(n.thead,{children:(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.th,{children:"ç¹æ§"}),(0,c.jsx)(n.th,{style:{textAlign:"center"},children:"MUTï¼å½åï¼"}),(0,c.jsx)(n.th,{style:{textAlign:"center"},children:"Real-timeï¼å·²åºå¼ï¼"})]})}),(0,c.jsxs)(n.tbody,{children:[(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"忥æ¹å¼"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"æå¨ commit + push"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"åå°å®æ¤è¿ç¨èªå¨åæ¥"})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"çæ¬åå²"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"æ¯æ¬¡ push 产ççæ¬"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"æ çæ¬æ¦å¿µ"})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"å²çªå¤ç"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"ä¸è·¯åå¹¶"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"last-write-wins"})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"ç¦»çº¿æ¯æ"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"æ¯æï¼æ¬å° commitï¼"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"䏿¯æ"})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"éç¨åºæ¯"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"ææåºæ¯"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"ä»
宿¶ç¼è¾"})]})]})]}),"\n",(0,c.jsx)(n.h3,{children:"æä»¶ç±»åæ¯æ"}),"\n",(0,c.jsxs)(n.table,{children:[(0,c.jsx)(n.thead,{children:(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.th,{children:"æä»¶ç±»å"}),(0,c.jsx)(n.th,{style:{textAlign:"center"},children:"Pushï¼æ¬å°âäºç«¯ï¼"}),(0,c.jsx)(n.th,{style:{textAlign:"center"},children:"Pullï¼äºç«¯âæ¬å°ï¼"})]})}),(0,c.jsxs)(n.tbody,{children:[(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"ææ¬æä»¶ï¼.json / .md / .txt çï¼"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"â"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"â"})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"äºè¿å¶æä»¶ï¼.png / .pdf çï¼"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"â"}),(0,c.jsx)(n.td,{style:{textAlign:"center"},children:"â"})]})]})]}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"çæ¬ç®¡ç"}),"\n",(0,c.jsx)(n.p,{children:"MUT åè®®ä¸ºæ¯æ¬¡ push èªå¨åå»ºçæ¬è®°å½ã"}),"\n",(0,c.jsx)(n.h3,{children:"æ¥çæäº¤åå²"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"cd ~/my-docs\nmut log\n"})}),"\n",(0,c.jsx)(n.h3,{children:"åæ»"}),"\n",(0,c.jsx)(n.p,{children:"å¨ puppyone Dashboard 䏿¥ççæ¬åå²å¹¶ä¸é®åæ»ï¼æéè¿ API æä½ã"}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"é
å Claude Code 使ç¨"}),"\n",(0,c.jsx)(n.p,{children:"æ¬å°æä»¶å¤¹åæ¥æ¯å° puppyone æ°æ®äº¤ç» AI ç¼ç¨å·¥å
·å¤ççæä½³æ¹å¼ï¼"}),"\n",(0,c.jsxs)(n.ol,{children:["\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:"åå»ºè¿æ¥å¹¶æ¥å
¥æ¬å°æä»¶å¤¹"}),"ï¼æåºæ¯æä¸ç§ï¼"]}),"\n"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"# A) æ¬å°æä»¶å¤¹å·²ç»åå¨ â ä¸ç«å¼\npuppyone access add filesystem workspace --link ~/ai-workspace\n\n# B) æ¬å°è¿æ²¡æè¿ä¸ªç®å½ â å
å建 APï¼å clone ä¸ä»½\npuppyone access add filesystem workspace\nmut clone <url> --credential <key> --dir ~/ai-workspace\n\n# C) æ¬å°æç®å½ä½å½æ¶å¿äºå¸¦ --link\ncd ~/ai-workspace\nmut connect <url> --credential <key>\n"})}),"\n",(0,c.jsxs)(n.ol,{start:"2",children:["\n",(0,c.jsxs)(n.li,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"ç¨ Claude Code ç¼è¾"})," ",(0,c.jsx)(n.code,{children:"~/ai-workspace"})," ä¸çæä»¶"]}),"\n"]}),"\n",(0,c.jsxs)(n.li,{children:["\n",(0,c.jsxs)(n.p,{children:[(0,c.jsx)(n.strong,{children:"æäº¤æ¨é"}),"ï¼"]}),"\n"]}),"\n"]}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:'cd ~/ai-workspace\nmut commit -m "AI updates"\nmut push\n'})}),"\n",(0,c.jsx)(n.p,{children:"ææåæ´é½æçæ¬åå²ä¿éï¼å¯ä»¥å¯¹æ¯ AI çä¿®æ¹ãæéåæ»ã"}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"管çè¿æ¥"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"# ååºææè¿æ¥\npuppyone access ls\n\n# æ¥ç Access Keyï¼éæ¶å¯æ¥ï¼\npuppyone access key <id>\n\n# éæ°çæ Access Key\npuppyone access key <id> --regenerate\n\n# å é¤è¿æ¥\npuppyone access rm <id>\n"})}),"\n",(0,c.jsx)(n.hr,{}),"\n",(0,c.jsx)(n.h2,{children:"常è§é®é¢"}),"\n",(0,c.jsx)(n.h3,{children:"å¦ä½åæ¥å¤ä¸ªæä»¶å¤¹ï¼"}),"\n",(0,c.jsx)(n.p,{children:"æ¯ä¸ªæä»¶å¤¹å建ç¬ç«ç scope è¿æ¥ï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"puppyone access add filesystem project-a --link ~/project-a\npuppyone access add filesystem project-b --link ~/project-b\n"})}),"\n",(0,c.jsx)(n.p,{children:"æè
å两æ¥ï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"puppyone access add filesystem project-a\nmut clone <url-a> --credential <key-a> # å
¨æ°æä¸ä»½\n# æ\ncd ~/existing-project-b\nmut connect <url-b> --credential <key-b>
1 # æ¥å
¥å·²ææä»¶å¤¹\n"})}),"\n",(0,c.jsx)(n.h3,{children:"Clone è¿æ¯ Connectï¼"}),"\n",(0,c.jsxs)(n.table,{children:[(0,c.jsx)(n.thead,{children:(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.th,{children:"åºæ¯"}),(0,c.jsx)(n.th,{children:"ç¨ä»ä¹"})]})}),(0,c.jsxs)(n.tbody,{children:[(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"æ¬å°è¿æ²¡æè¿ä¸ªæä»¶å¤¹"}),(0,c.jsxs)(n.td,{children:[(0,c.jsx)(n.code,{children:"mut clone"})," â å建æ°ç®å½ï¼æä¸äºç«¯å
容"]})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"æ¬å°å·²ç»æå
å®¹ï¼æ³æ¥å
¥äºç«¯"}),(0,c.jsxs)(n.td,{children:[(0,c.jsx)(n.code,{children:"mut connect"})," â ä¸è·¯åå¹¶ï¼ä¸è¦ç"]})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"å·²æäºç«¯å
容 + æ¬å°å
å®¹ï¼æ³åå¹¶"}),(0,c.jsxs)(n.td,{children:[(0,c.jsx)(n.code,{children:"mut connect"})," â åä¸ï¼èªå¨ merge"]})]}),(0,c.jsxs)(n.tr,{children:[(0,c.jsx)(n.td,{children:"æ³æ¸
空äºç«¯ãæ¨æ¬å°"}),(0,c.jsxs)(n.td,{children:["å
",(0,c.jsx)(n.code,{children:"puppyone access rm <id>"}),"ï¼é建åç¨ ",(0,c.jsx)(n.code,{children:"mut connect"})]})]})]})]}),"\n",(0,c.jsx)(n.h3,{children:"æ¨éæ¶æç¤ºå²çªæä¹åï¼"}),"\n",(0,c.jsx)(n.p,{children:"å
æåææ°çæ¬ï¼è§£å³å²çªåéæ°æ¨éï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:'mut pull\n# è§£å³å²çª...\nmut commit -m "resolve conflicts"\nmut push\n'})}),"\n",(0,c.jsx)(n.h3,{children:"Access Key 丢失äºï¼"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-bash",children:"puppyone access key <connection-id>\n"})}),"\n",(0,c.jsx)(n.p,{children:"Key åå¨å¨æ°æ®åºä¸ï¼ä¸æ¯ä¸æ¬¡æ§çï¼éæ¶å¯ä»¥åæ¥ã"})]})}function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.