1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2941],{10798:function(n,e,s){s.d(e,{a:function(){return r}});function r(n){return n}},13345:function(n,e,s){s.d(e,{Z:function(){return l},o:function(){return i}});var r=s(57437);s(2265);var c=s(59714),t=s.n(c);function i(n){let{children:e}=n;return(0,r.jsx)("div",{className:t().docCards,children:e})}function l(n){let{title:e,href:s,children:c}=n;return(0,r.jsxs)("a",{className:t().docCard,href:s,children:[(0,r.jsx)("span",{className:t().docCardTitle,children:e}),c&&(0,r.jsx)("span",{className:t().docCardBody,children:c})]})}},52941:function(n,e,s){s.r(e),s.d(e,{default:function(){return l}});var r=s(57437),c=s(10798),t=s(13345);function i(n){let e={code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,c.a)(),...n.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.h1,{children:"Auth for Agents"}),"\n",(0,r.jsx)(e.p,{children:"æ§å¶è°è½è®¿é®ä½ ç Context File Systemï¼ä»¥åè½åä»ä¹ã"}),"\n",(0,r.jsx)(e.hr,{}),"\n",(0,r.jsx)(e.h2,{children:"两ç§èº«ä»½éªè¯æ¨¡å"}),"\n",(0,r.jsxs)(e.p,{children:["puppyone åºå",(0,r.jsx)(e.strong,{children:"äººç±»ç¨æ·"}),"å",(0,r.jsx)(e.strong,{children:"æºå¨/Agent"})," ç身份éªè¯æ¹å¼ï¼"]}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{children:"ââââââââââââââââââââââââââââââââââââââââââââââââââââââ\nâ äººç±»ç¨æ· (JWT) â\nâ â\nâ é®ç®±å¯ç / OAuth ç»å½ â Supabase Auth â JWT Token â\nâ éç¨äºï¼DashboardãCLI äº¤äºæä½ â\nââââââââââââââââââââââââââââââââââââââââââââââââââââââ\n\nââââââââââââââââââââââââââââââââââââââââââââââââââââââ\nâ æºå¨ / Agent (Access Key) â\nâ â\nâ æ¯ä¸ª Connection åé
ç¬ç«ç Access Key â\nâ éç¨äºï¼MCP 端ç¹ãSandboxãæä»¶ç³»ç»åæ¥ãAgent â\nââââââââââââââââââââââââââââââââââââââââââââââââââââââ\n"})}),"\n",(0,r.jsx)(e.h3,{children:"JWTï¼äººç±»ç¨æ·ï¼"}),"\n",(0,r.jsx)(e.p,{children:"ä½ éè¿é®ç®±å¯ç æç¬¬ä¸æ¹ OAuthï¼GoogleãGitHub çï¼ç»å½ puppyone åï¼ç³»ç»ç¾åä¸ä¸ª JWT Tokenãè¿ä¸ª Token ä»£è¡¨ä½ æ¬äººçèº«ä»½ï¼æ¥æä½ ä½ä¸ºé¡¹ç®æåçå
¨é¨æéã"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"# CLI ç»å½\npuppyone auth login\n\n# éªè¯å½å身份\npuppyone auth whoami\n"})}),"\n",(0,r.jsx)(e.h3,{children:"Access Keyï¼æºå¨ / Agentï¼"}),"\n",(0,r.jsx)(e.p,{children:"Agent ä¸ä¼åäººç±»ä¸æ ·ç»å½ãæ¯ä¸ª Connectionï¼AgentãMCP 端ç¹ãSandboxãæä»¶ç³»ç»åæ¥ï¼å
1¨å建æ¶èªå¨è·å¾ä¸ä¸ª Access KeyãAgent éè¿è¿ä¸ª Key è®¿é® APIï¼ç³»ç»æ ¹æ® Key å
³èçæéè§åå³å®å®è½åä»ä¹ã"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-bash",children:"# æ¥çæä¸ª Connection ç Access Key\npuppyone access key <connection-id>\n"})}),"\n",(0,r.jsx)(e.hr,{}),"\n",(0,r.jsx)(e.h2,{children:"为ä»ä¹ Agent 认è¯ä¸åäºäººç±»"}),"\n",(0,r.jsx)(e.p,{children:"äººç±»ç¨æ·æ¯é¡¹ç®æåï¼é常éè¦å¹¿æ³çè®¿é®æéæ¥ç®¡ç项ç®ãä½ Agent ä¸åï¼"}),"\n",(0,r.jsxs)(e.ul,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Agent åªéè¦å®æç¹å®ä»»å¡"}),"ââ客æ Agent ä¸éè¦çå°ç åææ¡£"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Agent æ¯èªå¨åè¿è¡ç"}),"ââæ²¡æäººå¨æè¾¹å¤æå®æ¯å¦è¶ç"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Agent å¯è½æå¤ä¸ª"}),"ââæ¯ä¸ª Agent çèè´£åæéåºè¯¥é离"]}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["å æ¤ï¼puppyone 为æ¯ä¸ª Agent åç¬åé
åè¯ï¼å¹¶éè¿ ",(0,r.jsx)(e.strong,{children:"File Level Security (FLS)"})," 精确æ§å¶å®çè½åè¾¹çã"]}),"\n",(0,r.jsx)(e.hr,{}),"\n",(0,r.jsx)(e.h2,{children:"䏤屿鿍¡å"}),"\n",(0,r.jsx)(e.p,{children:"æ¯ä¸ª Access Key å
³èä¸ç»æéè§åï¼å为两å±ï¼"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{children:"请æ±è¿å
¥\n â\n â¼\nââââââââââââââââââââââââââââââââââââ\nâ 第ä¸å±ï¼Tool æé â\nâ è¿ä¸ª Agent è½è°ç¨åªäºæä½ï¼ â\nâ â\nâ query_data â
create â
â\nâ update â
delete â â\nââââââââââââââââ¬ââââââââââââââââââââ\n â éè¿\n â¼\nââââââââââââââââââââââââââââââââââââ\nâ 第äºå±ï¼è·¯å¾æé â\nâ è¿ä¸ªæä½è½è®¿é®åªäº Content Nodeï¼â\nâ â\nâ /products â
/faq â
â\nâ /internal â â\nââââââââââââââââ¬ââââââââââââââââââââ\n â éè¿\n â¼\n æ§è¡æä½\n"})}),"\n",(0,r.jsxs)(e.ol,{children:["\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"Tool æé"}),"ï¼å³å® Agent è½æ§è¡åªäºæä½ï¼è¯»åãå建ãä¿®æ¹ãå é¤ï¼"]}),"\n",(0,r.jsxs)(e.li,{children:[(0,r.jsx)(e.strong,{children:"è·¯å¾æé"}),"ï¼å³å®æ¯ä¸ªæä½è½è®¿é®åªäº Content Node è·¯å¾"]}),"\n"]}),"\n",(0,r.jsx)(e.p,{children:"两å±é½éè¿ï¼è¯·æ±æä¼è¢«æ§è¡ã"}),"\n",(0,r.jsx)(e.hr,{}),"\n",(0,r.jsx)(e.h2,{children:'"ä¸åå¨"åå'}),"\n",(0,r.jsxs)(e.p,{children:["FLS ä¸åªæ¯æç»è®¿é®ââAgent 没ææéçè·¯å¾ï¼",(0,r.jsx)(e.strong,{children:"å¨å®çè§éä¸ç©çä¸ä¸åå¨"}),"ã"]}),"\n",(0,r.jsxs)(e.p,{children:["妿ä¸ä¸ª Agent åªè¢«ææè®¿é® ",(0,r.jsx)(e.code,{children:"/products"})," å ",(0,r.jsx)(e.code,{children:"/faq"}),"ï¼é£ä¹å½å®ååºæä»¶ç³»ç»æ¶ï¼çå°çå°±åªæè¿ä¸¤ä¸ªè·¯å¾ã",(0,r.jsx)(e.code,{children:"/internal"}),"ã",(0,r.jsx)(e.code,{children:"/users"})," çå
¶ä»å
容å®å
¨ä¸å¯è§ï¼Agent çè³ä¸ç¥éå®ä»¬çåå¨ã"]}),"\n",(0,r.jsx)(e.p,{children:'è¿åä¼ ç»ç"403 Forbidden"ä¸åââAgent ä¸ä¼çå°ä¸ä¸ªå®æ æ³è®¿é®çè·¯å¾ç¶å被æç»ï¼èæ¯ä»ä¸å¼å§å°±åªçå°å®è¢«å
许çå°çä¸çã'}),"\n",(0,r.jsx)(e.hr,{}),"\n","\n",(0,r.jsxs)(t.o,{children:[(0,r.jsx)(t.Z,{title:"FLS æéæ§å¶",href:"/zh/docs/auth-for-agents/permissions"}),(0,r.jsx)(t.Z,{title:"åè¯ç®¡ç",href:"/zh/docs/auth-for-agents/api-keys"})]})]})}function l(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}={...(0,c.a)(),...n.components};return e?(0,r.jsx)(e,{...n,children:(0,r.jsx)(i,{...n})}):i(n)}}}]);
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.