1"use strict";(self.rspackChunkdoc=self.rspackChunkdoc||[]).push([[3648],{9980(e,s,n){n.r(s);var r=n(5723),i=n(1470),l=n(6155);function c(e){let s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s.h1,{id:"模åè°è¯ä¸å¯è§æµæ§",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#模åè°è¯ä¸å¯è§æµæ§",children:"#"}),"模åè°è¯ä¸å¯è§æµæ§"]}),"\n",(0,r.jsx)(s.p,{children:"æ¬æä»ç»å¦ä½ææ¥æ¨¡åè¿æ¥åå
¼å®¹æ§é®é¢ãè§å¯å»¶è¿å Token 使ç¨éãéé Traceï¼ä»¥åè®°å½æ¨¡åè°ç¨ã"}),"\n",(0,r.jsxs)(s.h2,{id:"éªè¯æ¨¡åè¿æ¥",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#éªè¯æ¨¡åè¿æ¥",children:"#"}),"éªè¯æ¨¡åè¿æ¥"]}),"\n",(0,r.jsx)(s.p,{children:"æ¬èæä¾ä¸¤ç§éªè¯æ¹æ³ãå
ç´æ¥è¯·æ±æ¨¡åæå¡ï¼ç¡®è®¤æ¨¡å API å¯ä»¥è¿æ¥ãåè¿è¡ Midscene éªè¯å½ä»¤ï¼æ£æ¥æ¨¡åå
¼å®¹æ§ã"}),"\n",(0,r.jsxs)(s.h3,{id:"ç´æ¥è¯·æ±æ¨¡åæå¡",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#ç´æ¥è¯·æ±æ¨¡åæå¡",children:"#"}),"ç´æ¥è¯·æ±æ¨¡åæå¡"]}),"\n",(0,r.jsxs)(s.p,{children:["ä»¥ä¸ ",(0,r.jsx)(s.code,{children:"curl"})," 请æ±ç¨äºæ£æ¥ Base URLãAPI Key 忍¡ååç§°æ¯å¦å¯ç¨ã该请æ±åªéªè¯æ¨¡å API çåºç¡è¿æ¥ãå®ä¸ä¼æ£æ¥æ¨¡åæ¯å¦æ»¡è¶³ Midscene çå
¼å®¹æ§è¦æ±ã"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"bash",children:(0,r.jsxs)(s.code,{children:[(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"MIDSCENE_MODEL_BASE_URL"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'æ¿æ¢ä¸ºä½ ç baseUrl'"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"MIDSCENE_MODEL_API_KEY"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'æ¿æ¢ä¸ºä½ ç API Key'"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"MIDSCENE_MODEL_NAME"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"'æ¿æ¢ä¸ºä½ ç model name'"})]}),"\n",(0,r.jsx)(s.span,{className:"line"}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"curl"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" -X"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" POST"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "${MIDSCENE_MODEL_BASE_URL'}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"%/"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'}/chat/completions"'}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" \\"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" -H"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "Authorization: Bearer ${MIDSCENE_MODEL_API_KEY}"'}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" \\"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" -H"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "Content-Type: application/json"'}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" \\"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" -d"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" '{"})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "model": "\'"${MIDSCENE_MODEL_NAME}"\'",'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "messages": ['})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" {"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "role": "user",'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "content": "What is 1+1?"'})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" }"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:" ]"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"}'"})})]})})}),"\n",(0,r.jsxs)(s.h3,{id:"使ç¨-midscene-éªè¯å½ä»¤",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#使ç¨-midscene-éªè¯å½ä»¤",children:"#"}),"ä½¿ç¨ Midscene éªè¯å½ä»¤"]}),"\n",(0,r.jsx)(s.p,{children:"该å½ä»¤åæ¶æ£æ¥æ¨¡åè¿æ¥å Midscene å
¼å®¹æ§ã"}),"\n",(0,r.jsxs)(s.p,{children:["å°æ¨¡åé
ç½®æ¾å
¥ ",(0,r.jsx)(s.code,{children:".env"})," æä»¶ï¼ç¶åè¿è¡ï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"bash",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# 妿å½å项ç®å·²å®è£
@midscene/cliï¼å¯ä»¥ä½¿ç¨æ¬å°ç midscene å½ä»¤"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" midscene"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" model"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" verify"})]}),"\n",(0,r.jsx)(s.span,{className:"line"}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# 妿å½åé¡¹ç®æªå®è£
@midscene/cliï¼æéè¦ä½¿ç¨ææ°çæ¬"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"npx"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" @midscene/cli@latest"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" model"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" verify"})]})]})})}),"\n",(0,r.jsxs)(s.p,{children:["该å½ä»¤ä¼è¯»åå½åå·¥ä½ç®å½ä¸ç ",(0,r.jsx)(s.code,{children:".env"})," æä»¶ãDotenv ç Debug æ¥å¿é»è®¤å¼å¯ã",(0,r.jsx)(s.code,{children:".env"})," ä¸çåéä¼è¦çå·²æç Shell ç¯å¢åéã"]}),"\n",(0,r.jsxs)(s.p,{children:["妿 ",(0,r.jsx)(s.code,{children:"curl"})," è¯·æ±æåï¼ä½ Midscene éªè¯å½ä»¤å¤±è´¥ï¼è¯´ææ¨¡å API å¯ä»¥è¿æ¥ãè¯·ç»§ç»æ£æ¥æ¨¡åè½åå Midscene é
ç½®ã"]}),"\n",(0,r.jsxs)(s.h2,{id:"常è§é
ç½®é误",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#常è§é
ç½®é误",children:"#"}),"常è§é
ç½®é误"]}),"\n",(0,r.jsxs)(s.h3,{id:"midscene_model_family-æªè®¾ç½®ä¸ºå¤æ¨¡ææ¨¡å",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#midscene_model_family-æªè®¾ç½®ä¸ºå¤æ¨¡ææ¨¡å",children:"#"}),(0,r.jsx)(s.code,{children:"MIDSCENE_MODEL_FAMILY"})," æªè®¾ç½®ä¸ºå¤æ¨¡ææ¨¡å"]}),"\n",(0,r.jsxs)(s.p,{children:["妿æ¶å° ",(0,r.jsx)(s.code,{children:"MIDSCENE_MODEL_FAMILY is not set to a multimodal model with UI localization"}
1)," é误ï¼è¯·ç¡®è®¤å·²æ£ç¡®é
ç½®å¤æ¨¡ææ¨¡åç ",(0,r.jsx)(s.code,{children:"MIDSCENE_MODEL_FAMILY"})," ç¯å¢åéã"]}),"\n",(0,r.jsxs)(s.p,{children:["ä» 1.0 çæ¬å¼å§ï¼Midscene æ¨èä½¿ç¨ ",(0,r.jsx)(s.code,{children:"MIDSCENE_MODEL_FAMILY"})," æå®å¤æ¨¡ææ¨¡åç±»åãæ§ç ",(0,r.jsx)(s.code,{children:"MIDSCENE_USE_..."})," é
ç½®ä»ç¶å
¼å®¹ï¼ä½å·²ç»åºå¼ã"]}),"\n",(0,r.jsxs)(s.p,{children:["æ£ç¡®ç模å family å宿´é
置示ä¾è¯·åè",(0,r.jsx)(s.a,{href:"/zh/model-common-config.html",children:"æ¯æçæ¨¡åä¸é
ç½®"}),"ã"]}),"\n",(0,r.jsxs)(s.h3,{id:"base-url-ææ¨¡ååç§°ä¸æ£ç¡®",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#base-url-ææ¨¡ååç§°ä¸æ£ç¡®",children:"#"}),"Base URL ææ¨¡ååç§°ä¸æ£ç¡®"]}),"\n",(0,r.jsxs)(s.p,{children:["确认 ",(0,r.jsx)(s.code,{children:"MIDSCENE_MODEL_BASE_URL"})," æåæå¡åç API æ¥å
¥å°åã该å°åé常以 ",(0,r.jsx)(s.code,{children:"/v1"})," ççæ¬å·ç»å°¾ãè¯·å¿æ·»å ",(0,r.jsx)(s.code,{children:"/chat/completion"}),"ï¼åºå± SDK ä¼èªå¨æ·»å 请æ±è·¯å¾ã"]}),"\n",(0,r.jsxs)(s.p,{children:["åæ¶ç¡®è®¤ ",(0,r.jsx)(s.code,{children:"MIDSCENE_MODEL_NAME"})," ä¸è¯¥æ¥å
¥å°åæä¾ç模åä¸è´ã"]}),"\n",(0,r.jsxs)(s.h2,{id:"æ¨¡åææä¸çæ³",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#æ¨¡åææä¸çæ³",children:"#"}),"æ¨¡åææä¸çæ³"]}),"\n",(0,r.jsx)(s.p,{children:"å¦ææ¨¡åå¯ä»¥æ£å¸¸è¿æ¥ï¼ä½å®ä½ãè§åæé¡µé¢çè§£ä¸ç¨³å®ï¼å¯ä»¥å°è¯ä»¥ä¸æ¹æ³ï¼"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["æ¥ç",(0,r.jsx)(s.a,{href:"/zh/consume-report-file.html",children:"åæ¾æ¥å"}),"ï¼ç¡®è®¤ä»»å¡æ§è¡é¡ºåºæ£ç¡®ï¼å¹¶ä¸æ²¡æè¿å
¥éè¯¯é¡µé¢æé»è¾åæ¯ã"]}),"\n",(0,r.jsx)(s.li,{children:"ä¼å
使ç¨åä¸ç³»åä¸è¾æ°çæ£å¼æ¯æçæ¬ã"}),"\n",(0,r.jsx)(s.li,{children:"使ç¨ä»£è¡¨æ§ä»»å¡å¯¹æ¯ä¸åæå¡åçæ¨¡åï¼å
³æ³¨æåçãå»¶è¿åææ¬ã"}),"\n",(0,r.jsxs)(s.li,{children:["夿任å¡å¯ä»¥åç¬é
ç½® Planning æ¨¡åæ Insight 模åãå
·ä½å工请åè",(0,r.jsx)(s.a,{href:"/zh/model-strategy.html",children:"模åçç¥"}),"ã"]}),"\n"]}),"\n",(0,r.jsxs)(s.h2,{id:"è°è¯è½å",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#è°è¯è½å",children:"#"}),"è°è¯è½å"]}),"\n",(0,r.jsxs)(s.h3,{id:"debug-æ¥å¿",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#debug-æ¥å¿",children:"#"}),"Debug æ¥å¿"]}),"\n",(0,r.jsxs)(s.p,{children:["éè¦é¢å¤çè¯æä¿¡æ¯æ¶ï¼å¯ä»¥è®¾ç½® ",(0,r.jsx)(s.code,{children:"DEBUG"}),"ã常ç¨éæ©å¨å
æ¬ï¼"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"DEBUG=midscene:ai:profile:stats"}),"ï¼æå°æ¨¡åå»¶è¿å Token 使ç¨éã"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"DEBUG=midscene:ai:call"}),"ï¼æå° AI ååºè¯¦æ
ã"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:"DEBUG=midscene:*"}),"ï¼æå°å
¨é¨ Midscene Debug æ¥å¿ã"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["宿´çéæ©å¨åè¡¨ãæ¥å¿ç®å½åä½¿ç¨æ³¨æäºé¡¹ï¼è¯·åè",(0,r.jsx)(s.a,{href:"/zh/reference.html#debug-logs",children:"è¿è¡æ¶é
ç½®ï¼Debug æ¥å¿"}),"ã"]}),"\n",(0,r.jsxs)(s.p,{children:["çæç",(0,r.jsx)(s.a,{href:"/zh/consume-report-file.html",children:"æ¥åæä»¶"}),"ä¸ä¹å
嫿¨¡å使ç¨éç»è®¡ã"]}),"\n",(0,r.jsxs)(s.h3,{id:"è®°å½æ¨¡åè°ç¨",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#è®°å½æ¨¡åè°ç¨",children:"#"}),"è®°å½æ¨¡åè°ç¨"]}),"\n",(0,r.jsxs)(s.p,{children:["设置 ",(0,r.jsx)(s.code,{children:"MIDSCENE_RECORD_MODEL_CALL=true"}),"ï¼å¯ä»¥å°æ¨¡å请æ±ãååºåæµå¼ Chunk åå
¥ JSONL æä»¶ï¼"]}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"text",children:(0,r.jsx)(s.code,{children:(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{children:"midscene_run/model-requests/<å¯å¨æ¶é´>-<pid>.jsonl"})})})})}),"\n",(0,r.jsx)(s.p,{children:"æ¯ä¸ªè¿ç¨çæä¸ä¸ªæä»¶ï¼æ¯è¡å¯¹åºä¸ä¸ª JSON äºä»¶ãåªæ Node.js å Electron æ¯æåå
¥æ¬å°æä»¶ãæµè§å¨å Worker ä¸ä¼åå
¥æ¬å°æä»¶ãä½¿ç¨ Codex App Server æ¶ï¼è®°å½è¿ä¼å
å«å¯è·åçåè®®å
æ°æ®ã"}),"\n",(0,r.jsxs)(s.p,{children:["æ¯ä¸ªäºä»¶ç ",(0,r.jsx)(s.code,{children:"type"})," 为 ",(0,r.jsx)(s.code,{children:"request"}),"ã",(0,r.jsx)(s.code,{children:"chunk"}),"ã",(0,r.jsx)(s.code,{children:"response"})," æ ",(0,r.jsx)(s.code,{children:"error"}),"ãäºä»¶è¿å
å« ",(0,r.jsx)(s.code,{children:"executionId"}),"ï¼ç¨äºå
³èåä¸ä¸ª execution ID ä¸çè°ç¨åå
¶éè¯ãå¯¹äº HTTP 模å请æ±ï¼è¿ä¸ªå¼ä¹ä¼éè¿ ",(0,r.jsx)(s.code,{children:"x-midscene-execution-id"})," Header åéãä¸å±äºæ¥å execution çè°ç¨ï¼ä¾å¦è¿æ¥æ£æ¥ï¼ä¼ä½¿ç¨å¸¦ ",(0,r.jsx)(s.code,{children:"unscoped-"})," åç¼ççæ IDã"]}),"\n",(0,r.jsxs)(l.Pq,{type:"warning",title:"注æäºé¡¹",children:[(0,r.jsxs)(s.p,{children:["æä»¶å
å«è¯·æ± Bodyï¼å
æ¬èªå®ä¹ ",(0,r.jsx)(s.code,{children:"extraBody"}),"ï¼ãååº Header å Bodyãæµå¼ååºï¼ä»¥åå¯è½éç¨ Base64 ç¼ç çæª
1å¾ãè¯·æ± Header ä¸ä¼è¢«è®°å½ã"]}),(0,r.jsx)(s.p,{children:"è¿äºæä»¶å¯è½å
嫿æä¿¡æ¯ï¼ä¸ä½ç§¯è¾å¤§ã请ä»
卿æ¥é®é¢æ¶å¯ç¨è®°å½ï¼å¹¶å¨ä½¿ç¨å妥åä¿ç®¡æå 餿件ãè®°å½æ ¼å¼ä¸ä¿è¯è·¨çæ¬å
¼å®¹ã"})]}),"\n",(0,r.jsxs)(s.h3,{id:"请æ±è¿½è¸ª-header",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#请æ±è¿½è¸ª-header",children:"#"}),"请æ±è¿½è¸ª Header"]}),"\n",(0,r.jsx)(s.p,{children:"Midscene ä¼èªå¨ä¸º OpenAI-compatible HTTP 模åè¯·æ±æ·»å ä»¥ä¸ Headerï¼"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Header"}),(0,r.jsx)(s.th,{children:"å¼"}),(0,r.jsx)(s.th,{children:"ç¨é"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"x-midscene-version"})}),(0,r.jsxs)(s.td,{children:["å½å ",(0,r.jsx)(s.code,{children:"@midscene/core"})," çæ¬"]}),(0,r.jsx)(s.td,{children:"æ è¯å起请æ±ç Midscene çæ¬"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"x-midscene-execution-id"})}),(0,r.jsx)(s.td,{children:"å½å execution ID"}),(0,r.jsxs)(s.td,{children:["å
³èåä¸ä¸ª execution ID ä¸çå
¨é¨æ¨¡å请æ±åå
¶éè¯ï¼ä¾å¦ä¸æ¬¡ ",(0,r.jsx)(s.code,{children:"aiAct"})," è°ç¨"]})]})]})]}),"\n",(0,r.jsxs)(s.p,{children:["ä¸å±äºæ¥å execution çè°ç¨ï¼ä¾å¦è¿æ¥æ£æ¥ï¼ä¼ä½¿ç¨å¸¦ ",(0,r.jsx)(s.code,{children:"unscoped-"})," åç¼ççæ execution IDãè¿ä¸¤ä¸ª Header ä¼è¢«é»è®¤åéï¼å¦æ ",(0,r.jsx)(s.code,{children:"MIDSCENE_*_INIT_CONFIG_JSON"})," ä¸èªå®ä¹äºåå Headerï¼åä¼è¢« Midscene è¦çã"]}),"\n",(0,r.jsxs)(s.h2,{id:"å¯è§æµæ§å¹³å°",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#å¯è§æµæ§å¹³å°",children:"#"}),"å¯è§æµæ§å¹³å°"]}),"\n",(0,r.jsxs)(s.h3,{id:"langsmith",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#langsmith",children:"#"}),"LangSmith"]}),"\n",(0,r.jsx)(s.p,{children:"LangSmith æ¯ç¨äºè°è¯å¤§è¯è¨æ¨¡åçå¹³å°ãå®è£
ä¾èµå¹¶è®¾ç½®ç¯å¢åéåï¼Midscene å¯ä»¥èªå¨æ¥å
¥ LangSmithã"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"å®è£
ä¾èµ"})}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"bash",children:(0,r.jsx)(s.code,{children:(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" install"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" langsmith"})]})})})}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"设置ç¯å¢åé"})}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"bash",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# å¯ç¨ Midscene ç LangSmith èªå¨éæ"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" MIDSCENE_LANGSMITH_DEBUG"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,r.jsx)(s.span,{className:"line"}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# LangSmith é
ç½®"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" LANGCHAIN_API_KEY"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"your-langchain-api-key-here"'})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" LANGCHAIN_TRACING"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"true"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" LANGCHAIN_ENDPOINT"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"https://api.smith.langchain.com"'})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:'# export LANGCHAIN_ENDPOINT="https://eu.api.smith.langchain.com" # 妿卿¬§æ´²åºå注å'})})]})})}),"\n",(0,r.jsx)(s.p,{children:"å¯å¨ Midscene åï¼åºè¯¥ä¼çå°ç±»ä¼¼ä»¥ä¸å
å®¹çæ¥å¿ï¼"}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"log",children:(0,r.jsx)(s.code,{children:(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"DEBUGGING MODE: langsmith wrapper enabled"})})})})}),"\n",(0,r.jsx)(s.p,{children:"注æäºé¡¹ï¼"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:"LangSmith å Langfuse å¯ä»¥åæ¶å¯ç¨ã"}),"\n",(0,r.jsx)(s.li,{children:"该éæä»
æ¯æ Node.jsãæµè§å¨ç¯å¢ä¼æåºé误ã"}),"\n",(0,r.jsxs)(s.li,{children:["å¦æä½¿ç¨ ",(0,r.jsx)(s.a,{href:"/zh/reference.html#%E8%87%AA%E5%AE%9A%E4%B9%89-openai-%E5%AE%A2%E6%88%B7%E7%AB%AF",children:(0,r.jsx)(s.code,{children:"createOpenAIClient"})}),"ï¼å®ä¼è¦çéè¿ç¯å¢åéå¯ç¨çèªå¨éæã"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["å¦éè¿è¡æ´ç»ç²åº¦çæ§å¶ï¼ä¾å¦åªå¯¹ç¹å®ä»»å¡å¯ç¨ LangSmithï¼è¯·ä½¿ç¨ ",(0,r.jsx)(s.a,{href:"/zh/reference.html#%E8%87%AA%E5%AE%9A%E4%B9%89-openai-%E5%AE%A2%E6%88%B7%E7%AB%AF",children:(0,r.jsx)(s.code,{children:"createOpenAIClient"})})," æå¨å
è£
客æ·ç«¯ã"]}),"\n",(0,r.jsxs)(s.h3,{id:"langfuse",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#langfuse",children:"#"}),"Langfuse"]}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.a,{href:"https://langfuse.com",rel:"noopener noreferrer",target:"_blank",children:"Langfuse"})," æ¯ä¸ä¸ª LLM å¯è§æµæ§å¹³å°ãMidscene éæäº Langfuse ç ",(0,r.jsx)(s.code,{children:"observeOpenAI"})," wrapperï¼å¯ä»¥èªå¨è¿½è¸ª OpenAI API è°ç¨ã"]}),"\n",(0,r.jsx)(s.p,{children:"Langfuse ç追踪åºäº OpenTelemetryï¼å æ¤éè¦å¨åºç¨å¯å¨æ¶åå§å OpenTelemetry SDKã"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"å®è£
ä¾èµ"})}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"bash",children:(0,r.jsx)(s.code,{children:(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"npm"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" install"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" @langfuse/openai"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" @langfuse/otel"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string)"},children:" @opentelemetry/sdk-node"})]})})})}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"åå§å OpenTelemetry"})}),"\n",(0,r.jsx)(s.p,{children:"å¨åºç¨å
¥å£æä»¶çæé¡¶é¨æ·»å 以ä¸ä»£ç ï¼"}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"typescript",children:(0,r.jsxs)(s.code,{children:[(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" { NodeSDK } "}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "@opentelemetry/sdk-node"'}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" { LangfuseSpanProcessor } "}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"from"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:' "@langfuse/otel"'}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:";"})]}),"\n",(0,r.jsx)(s.span,{className:"line"}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"const"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:" sdk"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:" ="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:" new"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" NodeSDK"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"({"})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" spanProcessors"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:":"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" ["}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"new"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" LangfuseSpanProcessor"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"}
1,children:"()]"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"});"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"sdk"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".start"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"();"})]})]})})}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"设置ç¯å¢åé"})}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"bash",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# å¯ç¨ Midscene ç Langfuse èªå¨éæ"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" MIDSCENE_LANGFUSE_DEBUG"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"1"})]}),"\n",(0,r.jsx)(s.span,{className:"line"}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"# Langfuse é
ç½®"})}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" LANGFUSE_PUBLIC_KEY"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"your-langfuse-public-key-here"'})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" LANGFUSE_SECRET_KEY"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"your-langfuse-secret-key-here"'})]}),"\n",(0,r.jsxs)(s.span,{className:"line",children:[(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"export"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:" LANGFUSE_BASE_URL"}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"https://cloud.langfuse.com"'}),(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:" # ðªðº 欧洲åºå"})]}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:'# export LANGFUSE_BASE_URL="https://us.cloud.langfuse.com" # ðºð¸ ç¾å½åºå'})})]})})}),"\n",(0,r.jsx)(s.p,{children:"å¯å¨ Midscene åï¼åºè¯¥ä¼çå°ç±»ä¼¼ä»¥ä¸å
å®¹çæ¥å¿ï¼"}),"\n",(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.pre,{className:"shiki css-variables",style:{backgroundColor:"var(--shiki-background)",color:"var(--shiki-foreground)"},tabIndex:"0",lang:"log",children:(0,r.jsxs)(s.code,{children:[(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"OpenTelemetry SDK initialized for Langfuse tracing"})}),"\n",(0,r.jsx)(s.span,{className:"line",children:(0,r.jsx)(s.span,{style:{color:"var(--shiki-foreground)"},children:"DEBUGGING MODE: langfuse wrapper enabled"})})]})})}),"\n",(0,r.jsxs)(s.p,{children:["æ´å¤é
ç½®åæä½³å®è·µè¯·åè ",(0,r.jsx)(s.a,{href:"https://langfuse.com/integrations/model-providers/openai-js",rel:"noopener noreferrer",target:"_blank",children:"Langfuse OpenAI éæææ¡£"}),"ã"]}),"\n",(0,r.jsx)(s.p,{children:"注æäºé¡¹ï¼"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:"LangSmith å Langfuse å¯ä»¥åæ¶å¯ç¨ã"}),"\n",(0,r.jsx)(s.li,{children:"该éæä»
æ¯æ Node.jsãæµè§å¨ç¯å¢ä¼æåºé误ã"}),"\n",(0,r.jsxs)(s.li,{children:["å¦æä½¿ç¨ ",(0,r.jsx)(s.a,{href:"/zh/reference.html#%E8%87%AA%E5%AE%9A%E4%B9%89-openai-%E5%AE%A2%E6%88%B7%E7%AB%AF",children:(0,r.jsx)(s.code,{children:"createOpenAIClient"})}),"ï¼å®ä¼è¦çéè¿ç¯å¢åéå¯ç¨çèªå¨éæã"]}),"\n"]}),"\n",(0,r.jsxs)(s.h2,{id:"å®å
¨æ³¨æäºé¡¹",children:[(0,r.jsx)(s.a,{className:"rp-header-anchor","aria-hidden":"true",href:"#å®å
¨æ³¨æäºé¡¹",children:"#"}),"å®å
¨æ³¨æäºé¡¹"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["ä¸è¦å° ",(0,r.jsx)(s.code,{children:".env"})," æä»¶ãTraceãDebug æ¥å¿ææ¨¡åè°ç¨è®°å½æäº¤å°æºç ä»åºã"]}),"\n",(0,r.jsx)(s.li,{children:"æ¥å¿å Trace å¯è½å
嫿¨¡åè¾å
¥ãè¾åºææªå¾ï¼å享å请å
æ£æ¥å
容ã"}),"\n"]})]})}function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}a.__RSPRESS_PAGE_META={},a.__RSPRESS_PAGE_META["zh%2Fmodel-debugging-observability.mdx"]={toc:[{id:"éªè¯æ¨¡åè¿æ¥",text:"éªè¯æ¨¡åè¿æ¥",depth:2},{id:"ç´æ¥è¯·æ±æ¨¡åæå¡",text:"ç´æ¥è¯·æ±æ¨¡åæå¡",depth:3},{id:"使ç¨-midscene-éªè¯å½ä»¤",text:"ä½¿ç¨ Midscene éªè¯å½ä»¤",depth:3},{id:"常è§é
ç½®é误",text:"常è§é
ç½®é误",depth:2},{id:"midscene_model_family-æªè®¾ç½®ä¸ºå¤æ¨¡ææ¨¡å",text:"`MIDSCENE_MODEL_FAMILY` æªè®¾ç½®ä¸ºå¤æ¨¡ææ¨¡å",depth:3},{id:"base-url-ææ¨¡ååç§°ä¸æ£ç¡®",text:"Base URL ææ¨¡ååç§°ä¸æ£ç¡®",depth:3},{id:"æ¨¡åææä¸çæ³",text:"æ¨¡åææä¸çæ³",depth:2},{id:"è°è¯è½å",text:"è°è¯è½å",depth:2},{id:"debug-æ¥å¿",text:"Debug æ¥å¿",depth:3},{id:"è®°å½æ¨¡åè°ç¨",text:"è®°å½æ¨¡åè°ç¨",depth:3},{id:"请æ±è¿½è¸ª-header",text:"请æ±è¿½è¸ª Header",depth:3},{id:"å¯è§æµæ§å¹³å°",text:"å¯è§æµæ§å¹³å°",depth:2},{id:"langsmith",text:"LangSmith",depth:3},{id:"langfuse",text:"Langfuse",depth:3},{id:"å®å
¨æ³¨æäºé¡¹",text:"å®å
¨æ³¨æäºé¡¹",depth:2}],title:"模åè°è¯ä¸å¯è§æµæ§",headingTitle:"模åè°è¯ä¸å¯è§æµæ§",frontmatter:{}},n.d(s,{default:()=>a})}}]);
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.