[{"data":1,"prerenderedAt":1797},["ShallowReactive",2],{"post:\u002Fposts\u002F2026\u002Fjev":3,"posts:catalog":1526},{"id":4,"title":5,"aiSummary":6,"audio":7,"body":8,"categories":1506,"cover":1508,"description":1509,"extension":1510,"meta":1511,"navigation":6,"path":1512,"pin":1513,"publish":1514,"seo":1515,"series":7,"seriesOrder":7,"stem":1516,"summary":7,"summarySource":1517,"tags":1518,"theme":1521,"update":1522,"wip":1523,"wordCount":1524,"__hash__":1525},"posts\u002Fposts\u002F2026\u002Fjev.md","JEV 是好模型吗？",true,null,{"type":9,"value":10,"toc":1498},"minimark",[11,15,24,33,46,55,58,68,72,75,78,87,102,106,114,117,184,187,190,252,262,275,892,899,1259,1274,1277,1281,1284,1292,1295,1298,1304,1307,1313,1316,1324,1339,1342,1351,1354,1358,1361,1375,1378,1386,1389,1398,1401,1415,1419,1422,1425,1430,1439,1442,1445,1449,1452,1455,1461,1464,1470,1479,1482,1491,1494],[12,13,14],"p",{},"2026 年 9 月 15 日，TypeSafe AI 发布了 Jev，称它是首个面向软件自动化的 System One 模型。",[12,16,17],{},[18,19,23],"a",{"href":20,"rel":21},"https:\u002F\u002Ftypesafe.ai\u002Fblog\u002Fintroducing-system-one-models-and-jev",[22],"nofollow","发布公告：introducing-system-one-models-and-jev",[12,25,26,27,32],{},"创始人在",[18,28,31],{"href":29,"rel":30},"https:\u002F\u002Fx.com\u002FCompleteSkeptic\u002Fstatus\u002F2099925682726002904",[22],"发布帖","里写道：",[34,35,36],"blockquote",{},[12,37,38,39,42,43,45],{},"20-200x faster",[40,41],"br",{},"\n40-400x cheaper (w\u002F output tokens free)",[40,44],{},"\nFrontier composable intelligence optimized for decisions",[12,47,48,49,54],{},"快 20～200 倍，便宜 40～400 倍，输出免费。再加上",[18,50,53],{"href":51,"rel":52},"https:\u002F\u002Ftypesafe.ai\u002F",[22],"官网","的「Zero Hallucinations」，看着确实挺唬人。",[12,56,57],{},"无幻觉、百倍提升，Really？",[12,59,60],{},[61,62],"img",{"alt":63,"caption":64,"height":65,"src":66,"width":67},"JEV 发布帖中的速度与价格宣传","来源：Diogo Almeida 的 JEV 发布帖。",1091,"\u002Fimages\u002F2026\u002Fjev\u002Fjev-1.png",981,[69,70,71],"h2",{"id":71},"先说我的看法",[12,73,74],{},"JEV 不能拿来当普通大模型用。它不写文章、不生成代码，也没打算陪你聊天，而是专门做判断：给它一份材料，让它在规定好的答案里选。",[12,76,77],{},"所以我不觉得它颠覆了大模型。但把判断单独拿出来做，确实是个好思路。",[12,79,80,81,86],{},"平时让大模型包办一件事，计算、判断、解释经常混在一起。算错一个数、漏掉一个条件，后面的结论就跟着错。能准确计算的部分本来就该交给代码，剩下那些需要理解语义的判断，再交给模型。JEV 做的就是后面这一块，它自己也",[18,82,85],{"href":83,"rel":84},"https:\u002F\u002Fdocs.typesafe.ai\u002Fmodel-jaggedness\u002Fjev-1.13",[22],"不擅长算术和日期比较","。",[12,88,89,90,95,96,101],{},"不过刚出来就被 ",[18,91,94],{"href":92,"rel":93},"https:\u002F\u002Fdev.to\u002Fnandakishor_m_6cc0adfde9f\u002Fi-built-non-autoregressive-decision-models-a-year-ago-then-a-frontier-lab-called-it-a-18me",[22],"Laya 的作者","质疑原创性了：作者认为自己更早就做过同类的非自回归决策模型，TypeSafe 却把它包装成了新突破。是否构成抄袭还没有定论，",[18,97,100],{"href":98,"rel":99},"https:\u002F\u002Fhuggingface.co\u002Fconvaiinnovations\u002Flaya",[22],"Laya 的权重和实现","倒是可以直接拿来看。",[69,103,105],{"id":104},"怎么用拿需求排期举个例子","怎么用：拿需求排期举个例子",[12,107,108,109,113],{},"JEV 的用法很直接：开发者预先定义问题、候选答案和判断标准，把待处理的材料放进 ",[110,111,112],"code",{},"state","，它返回判断结果和概率。",[12,115,116],{},"比如手上来了几个需求，要先分一下优先级。这里暂且按下面这套规则，具体项目当然可以自己改：",[118,119,120,136],"table",{},[121,122,123],"thead",{},[124,125,126,130,133],"tr",{},[127,128,129],"th",{},"优先级",[127,131,132],{},"条件",[127,134,135],{},"怎么处理",[137,138,139,151,162,173],"tbody",{},[124,140,141,145,148],{},[142,143,144],"td",{},"P0",[142,146,147],{},"重要且紧急",[142,149,150],{},"立即处理",[124,152,153,156,159],{},[142,154,155],{},"P1",[142,157,158],{},"重要但不紧急",[142,160,161],{},"优先安排",[124,163,164,167,170],{},[142,165,166],{},"P2",[142,168,169],{},"不重要但紧急",[142,171,172],{},"尽快协调",[124,174,175,178,181],{},[142,176,177],{},"P3",[142,179,180],{},"不重要且不紧急",[142,182,183],{},"放入待办",[12,185,186],{},"「重要」也得说清楚。在这个例子里，影响支付、登录等核心流程算重要；「紧急」指问题正在造成损失，或者必须在 24 小时内处理。否则只给模型一个 P0，它也不知道你们团队的 P0 是什么意思。",[12,188,189],{},"JEV 提供三种问法：",[118,191,192,205],{},[121,193,194],{},[124,195,196,199,202],{},[127,197,198],{},"类型",[127,200,201],{},"这个例子里怎么用",[127,203,204],{},"返回什么",[137,206,207,222,237],{},[124,208,209,216,219],{},[142,210,211],{},[18,212,215],{"href":213,"rel":214},"https:\u002F\u002Fdocs.typesafe.ai\u002Fprimitives\u002Fchoice",[22],"Choice",[142,217,218],{},"从 P0、P1、P2、P3 中选一个",[142,220,221],{},"选项、各选项的概率、confidence",[124,223,224,231,234],{},[142,225,226],{},[18,227,230],{"href":228,"rel":229},"https:\u002F\u002Fdocs.typesafe.ai\u002Fprimitives\u002Fscore",[22],"Score",[142,232,233],{},"按影响程度给需求打分",[142,235,236],{},"分数、各等级的概率、confidence",[124,238,239,246,249],{},[142,240,241],{},[18,242,245],{"href":243,"rel":244},"https:\u002F\u002Fdocs.typesafe.ai\u002Fprimitives\u002Fnoul",[22],"Noul",[142,247,248],{},"这个需求是否紧急？",[142,250,251],{},"「是」的概率，范围 0～1",[12,253,254,255,258,259,86],{},"Score 要先定义等级。下面定义了三个等级，因此分数在 0～2 之间，可以是小数；它表示各等级按概率加权后的结果。Noul 则是概率形式的是非题，",[110,256,257],{},"0.9"," 表示模型给「是」分配了 90% 的概率，并非直接返回 ",[110,260,261],{},"true",[12,263,264,265,270,271,86],{},"按照",[18,266,269],{"href":267,"rel":268},"https:\u002F\u002Fdocs.typesafe.ai\u002Fapi",[22],"官方 API","，这三个问题可以放进同一次请求。代码组里是同一份请求的 JSON 和 curl 写法。curl 可在 Bash、WSL 或 Git Bash 中运行，先把第一行换成自己的 ",[272,273,274],"strong",{},"TypeSafe API Key",[276,277,278,649],"code-group",{},[279,280,286],"pre",{"className":281,"code":282,"filename":283,"language":284,"meta":285,"style":285},"language-json shiki shiki-themes catppuccin-mocha catppuccin-latte","{\n  \"model\": \"jev-1.13.0\",\n  \"state\": \"线上支付成功后订单仍显示未付款，约三成订单受影响，用户正在重复付款。需要今天修复。\",\n  \"questions\": {\n    \"priority\": {\n      \"type\": \"choice\",\n      \"instructions\": \"判断需求优先级。影响核心业务流程或造成资金损失算重要；正在造成损失或必须在24小时内处理算紧急。\",\n      \"criteria\": {\n        \"p0\": \"重要且紧急\",\n        \"p1\": \"重要但不紧急\",\n        \"p2\": \"不重要但紧急\",\n        \"p3\": \"不重要且不紧急\"\n      }\n    },\n    \"impact\": {\n      \"type\": \"score\",\n      \"instructions\": \"判断这个需求对业务的影响程度。\",\n      \"criteria\": [\n        \"只影响外观或使用习惯，不影响功能\",\n        \"部分功能受影响，但用户有可行的替代办法\",\n        \"核心业务无法正常完成，或已经造成资金损失\"\n      ]\n    },\n    \"is_urgent\": {\n      \"type\": \"noul\",\n      \"instructions\": \"问题是否正在造成损失，或有明确要求必须在24小时内处理？\"\n    }\n  }\n}\n","请求 JSON","json","",[110,287,288,297,320,336,351,366,384,401,415,433,450,467,482,488,494,508,524,540,554,562,570,576,582,587,601,617,631,637,643],{"__ignoreMap":285},[289,290,293],"span",{"class":291,"line":292},"line",1,[289,294,296],{"class":295},"sxk1D","{\n",[289,298,300,303,307,310,313,317],{"class":291,"line":299},2,[289,301,302],{"class":295},"  \"",[289,304,306],{"class":305},"sZBvu","model",[289,308,309],{"class":295},"\"",[289,311,312],{"class":295},":",[289,314,316],{"class":315},"ssZzq"," \"jev-1.13.0\"",[289,318,319],{"class":295},",\n",[289,321,323,325,327,329,331,334],{"class":291,"line":322},3,[289,324,302],{"class":295},[289,326,112],{"class":305},[289,328,309],{"class":295},[289,330,312],{"class":295},[289,332,333],{"class":315}," \"线上支付成功后订单仍显示未付款，约三成订单受影响，用户正在重复付款。需要今天修复。\"",[289,335,319],{"class":295},[289,337,339,341,344,346,348],{"class":291,"line":338},4,[289,340,302],{"class":295},[289,342,343],{"class":305},"questions",[289,345,309],{"class":295},[289,347,312],{"class":295},[289,349,350],{"class":295}," {\n",[289,352,354,357,360,362,364],{"class":291,"line":353},5,[289,355,356],{"class":295},"    \"",[289,358,359],{"class":305},"priority",[289,361,309],{"class":295},[289,363,312],{"class":295},[289,365,350],{"class":295},[289,367,369,372,375,377,379,382],{"class":291,"line":368},6,[289,370,371],{"class":295},"      \"",[289,373,374],{"class":305},"type",[289,376,309],{"class":295},[289,378,312],{"class":295},[289,380,381],{"class":315}," \"choice\"",[289,383,319],{"class":295},[289,385,387,389,392,394,396,399],{"class":291,"line":386},7,[289,388,371],{"class":295},[289,390,391],{"class":305},"instructions",[289,393,309],{"class":295},[289,395,312],{"class":295},[289,397,398],{"class":315}," \"判断需求优先级。影响核心业务流程或造成资金损失算重要；正在造成损失或必须在24小时内处理算紧急。\"",[289,400,319],{"class":295},[289,402,404,406,409,411,413],{"class":291,"line":403},8,[289,405,371],{"class":295},[289,407,408],{"class":305},"criteria",[289,410,309],{"class":295},[289,412,312],{"class":295},[289,414,350],{"class":295},[289,416,418,421,424,426,428,431],{"class":291,"line":417},9,[289,419,420],{"class":295},"        \"",[289,422,423],{"class":305},"p0",[289,425,309],{"class":295},[289,427,312],{"class":295},[289,429,430],{"class":315}," \"重要且紧急\"",[289,432,319],{"class":295},[289,434,436,438,441,443,445,448],{"class":291,"line":435},10,[289,437,420],{"class":295},[289,439,440],{"class":305},"p1",[289,442,309],{"class":295},[289,444,312],{"class":295},[289,446,447],{"class":315}," \"重要但不紧急\"",[289,449,319],{"class":295},[289,451,453,455,458,460,462,465],{"class":291,"line":452},11,[289,454,420],{"class":295},[289,456,457],{"class":305},"p2",[289,459,309],{"class":295},[289,461,312],{"class":295},[289,463,464],{"class":315}," \"不重要但紧急\"",[289,466,319],{"class":295},[289,468,470,472,475,477,479],{"class":291,"line":469},12,[289,471,420],{"class":295},[289,473,474],{"class":305},"p3",[289,476,309],{"class":295},[289,478,312],{"class":295},[289,480,481],{"class":315}," \"不重要且不紧急\"\n",[289,483,485],{"class":291,"line":484},13,[289,486,487],{"class":295},"      }\n",[289,489,491],{"class":291,"line":490},14,[289,492,493],{"class":295},"    },\n",[289,495,497,499,502,504,506],{"class":291,"line":496},15,[289,498,356],{"class":295},[289,500,501],{"class":305},"impact",[289,503,309],{"class":295},[289,505,312],{"class":295},[289,507,350],{"class":295},[289,509,511,513,515,517,519,522],{"class":291,"line":510},16,[289,512,371],{"class":295},[289,514,374],{"class":305},[289,516,309],{"class":295},[289,518,312],{"class":295},[289,520,521],{"class":315}," \"score\"",[289,523,319],{"class":295},[289,525,527,529,531,533,535,538],{"class":291,"line":526},17,[289,528,371],{"class":295},[289,530,391],{"class":305},[289,532,309],{"class":295},[289,534,312],{"class":295},[289,536,537],{"class":315}," \"判断这个需求对业务的影响程度。\"",[289,539,319],{"class":295},[289,541,543,545,547,549,551],{"class":291,"line":542},18,[289,544,371],{"class":295},[289,546,408],{"class":305},[289,548,309],{"class":295},[289,550,312],{"class":295},[289,552,553],{"class":295}," [\n",[289,555,557,560],{"class":291,"line":556},19,[289,558,559],{"class":315},"        \"只影响外观或使用习惯，不影响功能\"",[289,561,319],{"class":295},[289,563,565,568],{"class":291,"line":564},20,[289,566,567],{"class":315},"        \"部分功能受影响，但用户有可行的替代办法\"",[289,569,319],{"class":295},[289,571,573],{"class":291,"line":572},21,[289,574,575],{"class":315},"        \"核心业务无法正常完成，或已经造成资金损失\"\n",[289,577,579],{"class":291,"line":578},22,[289,580,581],{"class":295},"      ]\n",[289,583,585],{"class":291,"line":584},23,[289,586,493],{"class":295},[289,588,590,592,595,597,599],{"class":291,"line":589},24,[289,591,356],{"class":295},[289,593,594],{"class":305},"is_urgent",[289,596,309],{"class":295},[289,598,312],{"class":295},[289,600,350],{"class":295},[289,602,604,606,608,610,612,615],{"class":291,"line":603},25,[289,605,371],{"class":295},[289,607,374],{"class":305},[289,609,309],{"class":295},[289,611,312],{"class":295},[289,613,614],{"class":315}," \"noul\"",[289,616,319],{"class":295},[289,618,620,622,624,626,628],{"class":291,"line":619},26,[289,621,371],{"class":295},[289,623,391],{"class":305},[289,625,309],{"class":295},[289,627,312],{"class":295},[289,629,630],{"class":315}," \"问题是否正在造成损失，或有明确要求必须在24小时内处理？\"\n",[289,632,634],{"class":291,"line":633},27,[289,635,636],{"class":295},"    }\n",[289,638,640],{"class":291,"line":639},28,[289,641,642],{"class":295},"  }\n",[289,644,646],{"class":291,"line":645},29,[289,647,648],{"class":295},"}\n",[279,650,655],{"className":651,"code":652,"filename":653,"language":654,"meta":285,"style":285},"language-bash shiki shiki-themes catppuccin-mocha catppuccin-latte","export TYPESAFE_API_KEY='替换为你的 TypeSafe API Key'\n\ncurl --fail-with-body --silent --show-error \\\n  'https:\u002F\u002Fapi.typesafe.ai\u002Fv1\u002Fsystemone' \\\n  -H \"Authorization: Bearer $TYPESAFE_API_KEY\" \\\n  -H 'Content-Type: application\u002Fjson' \\\n  --data-binary @- \u003C\u003C'JSON'\n{\n  \"model\": \"jev-1.13.0\",\n  \"state\": \"线上支付成功后订单仍显示未付款，约三成订单受影响，用户正在重复付款。需要今天修复。\",\n  \"questions\": {\n    \"priority\": {\n      \"type\": \"choice\",\n      \"instructions\": \"判断需求优先级。影响核心业务流程或造成资金损失算重要；正在造成损失或必须在24小时内处理算紧急。\",\n      \"criteria\": {\n        \"p0\": \"重要且紧急\",\n        \"p1\": \"重要但不紧急\",\n        \"p2\": \"不重要但紧急\",\n        \"p3\": \"不重要且不紧急\"\n      }\n    },\n    \"impact\": {\n      \"type\": \"score\",\n      \"instructions\": \"判断这个需求对业务的影响程度。\",\n      \"criteria\": [\n        \"只影响外观或使用习惯，不影响功能\",\n        \"部分功能受影响，但用户有可行的替代办法\",\n        \"核心业务无法正常完成，或已经造成资金损失\"\n      ]\n    },\n    \"is_urgent\": {\n      \"type\": \"noul\",\n      \"instructions\": \"问题是否正在造成损失，或有明确要求必须在24小时内处理？\"\n    }\n  }\n}\nJSON\n","curl（Bash）","bash",[110,656,657,674,679,698,705,720,729,743,747,752,757,762,767,772,777,782,787,792,797,802,806,810,815,820,825,830,835,840,844,848,853,859,865,871,876,881,886],{"__ignoreMap":285},[289,658,659,663,667,671],{"class":291,"line":292},[289,660,662],{"class":661},"sDkzg","export",[289,664,666],{"class":665},"szT_X"," TYPESAFE_API_KEY",[289,668,670],{"class":669},"siJSA","=",[289,672,673],{"class":315},"'替换为你的 TypeSafe API Key'\n",[289,675,676],{"class":291,"line":299},[289,677,678],{"emptyLinePlaceholder":6},"\n",[289,680,681,685,688,691,694],{"class":291,"line":322},[289,682,684],{"class":683},"s3Fsb","curl",[289,686,687],{"class":315}," --fail-with-body",[289,689,690],{"class":315}," --silent",[289,692,693],{"class":315}," --show-error",[289,695,697],{"class":696},"s9Cko"," \\\n",[289,699,700,703],{"class":291,"line":338},[289,701,702],{"class":315},"  'https:\u002F\u002Fapi.typesafe.ai\u002Fv1\u002Fsystemone'",[289,704,697],{"class":696},[289,706,707,710,713,716,718],{"class":291,"line":353},[289,708,709],{"class":315},"  -H",[289,711,712],{"class":315}," \"Authorization: Bearer ",[289,714,715],{"class":665},"$TYPESAFE_API_KEY",[289,717,309],{"class":315},[289,719,697],{"class":696},[289,721,722,724,727],{"class":291,"line":368},[289,723,709],{"class":315},[289,725,726],{"class":315}," 'Content-Type: application\u002Fjson'",[289,728,697],{"class":696},[289,730,731,734,737,740],{"class":291,"line":386},[289,732,733],{"class":315},"  --data-binary",[289,735,736],{"class":315}," @-",[289,738,739],{"class":669}," \u003C\u003C",[289,741,742],{"class":315},"'JSON'\n",[289,744,745],{"class":291,"line":403},[289,746,296],{"class":315},[289,748,749],{"class":291,"line":417},[289,750,751],{"class":315},"  \"model\": \"jev-1.13.0\",\n",[289,753,754],{"class":291,"line":435},[289,755,756],{"class":315},"  \"state\": \"线上支付成功后订单仍显示未付款，约三成订单受影响，用户正在重复付款。需要今天修复。\",\n",[289,758,759],{"class":291,"line":452},[289,760,761],{"class":315},"  \"questions\": {\n",[289,763,764],{"class":291,"line":469},[289,765,766],{"class":315},"    \"priority\": {\n",[289,768,769],{"class":291,"line":484},[289,770,771],{"class":315},"      \"type\": \"choice\",\n",[289,773,774],{"class":291,"line":490},[289,775,776],{"class":315},"      \"instructions\": \"判断需求优先级。影响核心业务流程或造成资金损失算重要；正在造成损失或必须在24小时内处理算紧急。\",\n",[289,778,779],{"class":291,"line":496},[289,780,781],{"class":315},"      \"criteria\": {\n",[289,783,784],{"class":291,"line":510},[289,785,786],{"class":315},"        \"p0\": \"重要且紧急\",\n",[289,788,789],{"class":291,"line":526},[289,790,791],{"class":315},"        \"p1\": \"重要但不紧急\",\n",[289,793,794],{"class":291,"line":542},[289,795,796],{"class":315},"        \"p2\": \"不重要但紧急\",\n",[289,798,799],{"class":291,"line":556},[289,800,801],{"class":315},"        \"p3\": \"不重要且不紧急\"\n",[289,803,804],{"class":291,"line":564},[289,805,487],{"class":315},[289,807,808],{"class":291,"line":572},[289,809,493],{"class":315},[289,811,812],{"class":291,"line":578},[289,813,814],{"class":315},"    \"impact\": {\n",[289,816,817],{"class":291,"line":584},[289,818,819],{"class":315},"      \"type\": \"score\",\n",[289,821,822],{"class":291,"line":589},[289,823,824],{"class":315},"      \"instructions\": \"判断这个需求对业务的影响程度。\",\n",[289,826,827],{"class":291,"line":603},[289,828,829],{"class":315},"      \"criteria\": [\n",[289,831,832],{"class":291,"line":619},[289,833,834],{"class":315},"        \"只影响外观或使用习惯，不影响功能\",\n",[289,836,837],{"class":291,"line":633},[289,838,839],{"class":315},"        \"部分功能受影响，但用户有可行的替代办法\",\n",[289,841,842],{"class":291,"line":639},[289,843,575],{"class":315},[289,845,846],{"class":291,"line":645},[289,847,581],{"class":315},[289,849,851],{"class":291,"line":850},30,[289,852,493],{"class":315},[289,854,856],{"class":291,"line":855},31,[289,857,858],{"class":315},"    \"is_urgent\": {\n",[289,860,862],{"class":291,"line":861},32,[289,863,864],{"class":315},"      \"type\": \"noul\",\n",[289,866,868],{"class":291,"line":867},33,[289,869,870],{"class":315},"      \"instructions\": \"问题是否正在造成损失，或有明确要求必须在24小时内处理？\"\n",[289,872,874],{"class":291,"line":873},34,[289,875,636],{"class":315},[289,877,879],{"class":291,"line":878},35,[289,880,642],{"class":315},[289,882,884],{"class":291,"line":883},36,[289,885,648],{"class":315},[289,887,889],{"class":291,"line":888},37,[289,890,891],{"class":315},"JSON\n",[12,893,894,895,898],{},"下面是响应中 ",[110,896,897],{},"answers"," 的示意，数字是为了说明格式写的，不是一次实测：",[279,900,902],{"className":281,"code":901,"language":284,"meta":285,"style":285},"{\n  \"priority\": {\n    \"type\": \"choice\",\n    \"choice\": \"p0\",\n    \"probabilities\": { \"p0\": 0.94, \"p1\": 0.03, \"p2\": 0.02, \"p3\": 0.01 },\n    \"confidence\": 0.8\n  },\n  \"impact\": {\n    \"type\": \"score\",\n    \"score\": 1.9,\n    \"legend\": {\n      \"0\": \"只影响外观或使用习惯，不影响功能\",\n      \"1\": \"部分功能受影响，但用户有可行的替代办法\",\n      \"2\": \"核心业务无法正常完成，或已经造成资金损失\"\n    },\n    \"probabilities\": { \"0\": 0.02, \"1\": 0.06, \"2\": 0.92 },\n    \"confidence\": 0.75\n  },\n  \"is_urgent\": {\n    \"type\": \"noul\",\n    \"noul\": 0.97\n  }\n}\n",[110,903,904,908,920,934,950,1020,1034,1039,1051,1065,1081,1094,1110,1126,1140,1144,1194,1207,1211,1223,1237,1251,1255],{"__ignoreMap":285},[289,905,906],{"class":291,"line":292},[289,907,296],{"class":295},[289,909,910,912,914,916,918],{"class":291,"line":299},[289,911,302],{"class":295},[289,913,359],{"class":305},[289,915,309],{"class":295},[289,917,312],{"class":295},[289,919,350],{"class":295},[289,921,922,924,926,928,930,932],{"class":291,"line":322},[289,923,356],{"class":295},[289,925,374],{"class":305},[289,927,309],{"class":295},[289,929,312],{"class":295},[289,931,381],{"class":315},[289,933,319],{"class":295},[289,935,936,938,941,943,945,948],{"class":291,"line":338},[289,937,356],{"class":295},[289,939,940],{"class":305},"choice",[289,942,309],{"class":295},[289,944,312],{"class":295},[289,946,947],{"class":315}," \"p0\"",[289,949,319],{"class":295},[289,951,952,954,957,959,961,964,967,969,971,973,977,980,982,984,986,988,991,993,995,997,999,1001,1004,1006,1008,1010,1012,1014,1017],{"class":291,"line":353},[289,953,356],{"class":295},[289,955,956],{"class":305},"probabilities",[289,958,309],{"class":295},[289,960,312],{"class":295},[289,962,963],{"class":295}," {",[289,965,966],{"class":295}," \"",[289,968,423],{"class":305},[289,970,309],{"class":295},[289,972,312],{"class":295},[289,974,976],{"class":975},"s_wmW"," 0.94",[289,978,979],{"class":295},",",[289,981,966],{"class":295},[289,983,440],{"class":305},[289,985,309],{"class":295},[289,987,312],{"class":295},[289,989,990],{"class":975}," 0.03",[289,992,979],{"class":295},[289,994,966],{"class":295},[289,996,457],{"class":305},[289,998,309],{"class":295},[289,1000,312],{"class":295},[289,1002,1003],{"class":975}," 0.02",[289,1005,979],{"class":295},[289,1007,966],{"class":295},[289,1009,474],{"class":305},[289,1011,309],{"class":295},[289,1013,312],{"class":295},[289,1015,1016],{"class":975}," 0.01",[289,1018,1019],{"class":295}," },\n",[289,1021,1022,1024,1027,1029,1031],{"class":291,"line":368},[289,1023,356],{"class":295},[289,1025,1026],{"class":305},"confidence",[289,1028,309],{"class":295},[289,1030,312],{"class":295},[289,1032,1033],{"class":975}," 0.8\n",[289,1035,1036],{"class":291,"line":386},[289,1037,1038],{"class":295},"  },\n",[289,1040,1041,1043,1045,1047,1049],{"class":291,"line":403},[289,1042,302],{"class":295},[289,1044,501],{"class":305},[289,1046,309],{"class":295},[289,1048,312],{"class":295},[289,1050,350],{"class":295},[289,1052,1053,1055,1057,1059,1061,1063],{"class":291,"line":417},[289,1054,356],{"class":295},[289,1056,374],{"class":305},[289,1058,309],{"class":295},[289,1060,312],{"class":295},[289,1062,521],{"class":315},[289,1064,319],{"class":295},[289,1066,1067,1069,1072,1074,1076,1079],{"class":291,"line":435},[289,1068,356],{"class":295},[289,1070,1071],{"class":305},"score",[289,1073,309],{"class":295},[289,1075,312],{"class":295},[289,1077,1078],{"class":975}," 1.9",[289,1080,319],{"class":295},[289,1082,1083,1085,1088,1090,1092],{"class":291,"line":452},[289,1084,356],{"class":295},[289,1086,1087],{"class":305},"legend",[289,1089,309],{"class":295},[289,1091,312],{"class":295},[289,1093,350],{"class":295},[289,1095,1096,1098,1101,1103,1105,1108],{"class":291,"line":469},[289,1097,371],{"class":295},[289,1099,1100],{"class":305},"0",[289,1102,309],{"class":295},[289,1104,312],{"class":295},[289,1106,1107],{"class":315}," \"只影响外观或使用习惯，不影响功能\"",[289,1109,319],{"class":295},[289,1111,1112,1114,1117,1119,1121,1124],{"class":291,"line":484},[289,1113,371],{"class":295},[289,1115,1116],{"class":305},"1",[289,1118,309],{"class":295},[289,1120,312],{"class":295},[289,1122,1123],{"class":315}," \"部分功能受影响，但用户有可行的替代办法\"",[289,1125,319],{"class":295},[289,1127,1128,1130,1133,1135,1137],{"class":291,"line":490},[289,1129,371],{"class":295},[289,1131,1132],{"class":305},"2",[289,1134,309],{"class":295},[289,1136,312],{"class":295},[289,1138,1139],{"class":315}," \"核心业务无法正常完成，或已经造成资金损失\"\n",[289,1141,1142],{"class":291,"line":496},[289,1143,493],{"class":295},[289,1145,1146,1148,1150,1152,1154,1156,1158,1160,1162,1164,1166,1168,1170,1172,1174,1176,1179,1181,1183,1185,1187,1189,1192],{"class":291,"line":510},[289,1147,356],{"class":295},[289,1149,956],{"class":305},[289,1151,309],{"class":295},[289,1153,312],{"class":295},[289,1155,963],{"class":295},[289,1157,966],{"class":295},[289,1159,1100],{"class":305},[289,1161,309],{"class":295},[289,1163,312],{"class":295},[289,1165,1003],{"class":975},[289,1167,979],{"class":295},[289,1169,966],{"class":295},[289,1171,1116],{"class":305},[289,1173,309],{"class":295},[289,1175,312],{"class":295},[289,1177,1178],{"class":975}," 0.06",[289,1180,979],{"class":295},[289,1182,966],{"class":295},[289,1184,1132],{"class":305},[289,1186,309],{"class":295},[289,1188,312],{"class":295},[289,1190,1191],{"class":975}," 0.92",[289,1193,1019],{"class":295},[289,1195,1196,1198,1200,1202,1204],{"class":291,"line":526},[289,1197,356],{"class":295},[289,1199,1026],{"class":305},[289,1201,309],{"class":295},[289,1203,312],{"class":295},[289,1205,1206],{"class":975}," 0.75\n",[289,1208,1209],{"class":291,"line":542},[289,1210,1038],{"class":295},[289,1212,1213,1215,1217,1219,1221],{"class":291,"line":556},[289,1214,302],{"class":295},[289,1216,594],{"class":305},[289,1218,309],{"class":295},[289,1220,312],{"class":295},[289,1222,350],{"class":295},[289,1224,1225,1227,1229,1231,1233,1235],{"class":291,"line":564},[289,1226,356],{"class":295},[289,1228,374],{"class":305},[289,1230,309],{"class":295},[289,1232,312],{"class":295},[289,1234,614],{"class":315},[289,1236,319],{"class":295},[289,1238,1239,1241,1244,1246,1248],{"class":291,"line":572},[289,1240,356],{"class":295},[289,1242,1243],{"class":305},"noul",[289,1245,309],{"class":295},[289,1247,312],{"class":295},[289,1249,1250],{"class":975}," 0.97\n",[289,1252,1253],{"class":291,"line":578},[289,1254,642],{"class":295},[289,1256,1257],{"class":291,"line":584},[289,1258,648],{"class":295},[12,1260,1261,1262,1265,1266,1268,1269,86],{},"程序直接拿 ",[110,1263,1264],{},"priority.choice"," 分组就行。如果 P0 和 P1 的概率很接近，可以先让人确认。这里的 ",[110,1267,1026],{}," 是对概率分布集中程度的概括，不能直接当成答对的概率，具体说明见",[18,1270,1273],{"href":1271,"rel":1272},"https:\u002F\u002Fdocs.typesafe.ai\u002Fconfidence",[22],"官方文档",[12,1275,1276],{},"还有一种拆法：分别判断重要、紧急，再在代码里组合成 P0～P3。这样优先级规则改了，只需要改代码，不必把整段提示词再写一遍。",[69,1278,1280],{"id":1279},"为什么又快又便宜连输出都免费","为什么又快又便宜，连输出都免费？",[12,1282,1283],{},"传统 GPT、Claude 这类模型，常见的生成过程大致是：",[279,1285,1290],{"className":1286,"code":1288,"language":1289,"meta":285},[1287],"language-text","读输入 → 推理（若启用）→ 生成 token 1 → token 2 → token 3 → ……\n","text",[110,1291,1288],{"__ignoreMap":285},[12,1293,1294],{},"输出是自回归的，后一个 token 依赖前面已经生成的内容。输出 200 个 token，就有很长一段串行生成过程，输出 token 的单价通常也比输入更高。",[12,1296,1297],{},"而 JEV 把任务限制成了：",[279,1299,1302],{"className":1300,"code":1301,"language":1289,"meta":285},[1287],"读 state → 对预定义问题做判断 → 返回 typed value + probability\n",[110,1303,1301],{"__ignoreMap":285},[12,1305,1306],{},"比如客服分流，我们实际需要的可能就三个判断：",[279,1308,1311],{"className":1309,"code":1310,"language":1289,"meta":285},[1287],"department = choice([\"refund\", \"sales\", \"support\"])\nis_angry = noul(\"用户是否生气？\")\nchurn_risk = score([\"不太可能流失\", \"很可能流失\"])\n",[110,1312,1310],{"__ignoreMap":285},[12,1314,1315],{},"没必要让模型先写「根据用户的描述，我认为应该把工单分配给退款部门，因为……」，再从这段话里提取部门。只需要部门选项、情绪判断和流失风险的数值，跟前面的排期例子一样。",[12,1317,1318,1319,1323],{},"按",[18,1320,1322],{"href":20,"rel":1321},[22],"官方介绍","，JEV 并行输出这些判断和概率，省掉了逐 token 生成答案的过程。接口最后依然用 JSON 传输，只是不用让模型把这份 JSON 一字一字写出来。",[12,1325,1326,1327,1332,1333,1338],{},"这也解释了它为什么敢把输出免费。创始人在",[18,1328,1331],{"href":1329,"rel":1330},"https:\u002F\u002Fx.com\u002FCompleteSkeptic\u002Fstatus\u002F2099925685720760404",[22],"发布帖的后续说明","里说，输出已经便宜到不值得单独计费。省掉逐 token 生成后，输出部分的额外成本很低，输入部分仍然收费。目前",[18,1334,1337],{"href":1335,"rel":1336},"https:\u002F\u002Fdocs.typesafe.ai\u002Fmodels",[22],"官方定价","是每百万输入 token 0.042 美元。",[12,1340,1341],{},"至于快了多少倍，还是得看任务。官方也说，宣传中的倍数处于实际收益较高的一端，而且对照模型要生成完整的概率结果。如果原本只让一个小模型输出一个标签，差距就不能直接照搬。",[12,1343,1344],{},[61,1345],{"alt":1346,"caption":1347,"height":1348,"src":1349,"width":1350},"四类工作流中各模型的评测得分与成本对比","来源：TypeSafe 官方评测，横轴为每次工作流的成本，采用对数刻度。",918,"\u002Fimages\u002F2026\u002Fjev\u002Fjev-2.png",1672,[12,1352,1353],{},"这张图也不是拿人工标注的标准答案算正确率。官方用 GPT-6 Astra 和 Fable 5.1 的平均预测作为参考，看各模型与它们有多接近，读图时得把这个前提算进去。",[69,1355,1357],{"id":1356},"真能避免幻觉吗","真能避免幻觉吗？",[12,1359,1360],{},"不能把它理解成「不会答错」。",[12,1362,1363,1364,1367,1368,1367,1371,1374],{},"它保证的是输出结构符合约定，枚举值不会超出你给的范围。你定义了 ",[110,1365,1366],{},"refund","、",[110,1369,1370],{},"sales",[110,1372,1373],{},"support","，它就不会凭空再造一个部门，也不会在该返回选项的地方给你一段小作文。",[12,1376,1377],{},"但退款工单被分给销售，仍然完全可能发生。格式没错，判断错了。",[12,1379,1380,1381,1385],{},"所以如果把幻觉理解成模型给出了不符合事实的答案，JEV 并没有消灭它。官方那张 0% 的图，依据也是 schema 保证，并非测出来的零错误率。这一点在",[18,1382,1384],{"href":20,"rel":1383},[22],"发布文章","里有写。",[12,1387,1388],{},"它解决了一类很烦的接入问题，业务判断还是要验证。",[12,1390,1391],{},[61,1392],{"alt":1393,"caption":1394,"height":1395,"src":1396,"width":1397},"TypeSafe 关于幻觉、类型安全和 0% 数据口径的说明","来源：TypeSafe 发布文章的 Hallucination and Type-safety 部分。",1066,"\u002Fimages\u002F2026\u002Fjev\u002Fjev-3.png",1633,[12,1399,1400],{},"翻译：",[34,1402,1403,1406,1409,1412],{},[12,1404,1405],{},"幻觉和类型安全本质上是相关的，我们认为类型安全是自动化的基本要求。在 Agent 中出现幻觉工具调用虽然不方便，但如果它是具有延迟保证的系统的一部分，或者它深埋在依赖链中，那就绝对是致命的缺陷。现有的模型，无论多么智能，仍然会出现幻觉和类型错误。",[12,1407,1408],{},"补充说明：",[12,1410,1411],{},"LLM 的数据来自 OpenRouter，也就是说，这里几乎肯定存在偏差：更复杂的查询可能会被路由到更好的模型。",[12,1413,1414],{},"我们的数字并非来自实测。输出符合预设 schema（结构约束）是有保证的，因此我们可以自信地在图表中标出 0%。",[69,1416,1418],{"id":1417},"那它有用吗","那它有用吗？",[12,1420,1421],{},"有用。很多时候我们根本不需要模型写东西，只想知道下一步往哪走。",[12,1423,1424],{},"比如有人已经用 JEV 打过了《泰拉瑞亚》大师模式肉前全 Boss：",[1426,1427],"bilibili",{"bvid":1428,"title":1429},"BV1Boe26JEh4","JEV 击败《泰拉瑞亚》大师模式肉前全 Boss｜Reisenberg",[12,1431,1432,1433,1438],{},"作者公开的 ",[18,1434,1437],{"href":1435,"rel":1436},"https:\u002F\u002Fgithub.com\u002FReisenbug\u002FTerraBlind#jev-%E6%89%93-boss",[22],"TerraBlind","把战斗分成两层：JEV 判断该靠近还是远离、该上升还是下降，代码负责每帧的移动、瞄准和动作时序。项目说明里报告的模型回答中位耗时约 300ms，执行操作的代码则以 60Hz 运行。",[12,1440,1441],{},"这里的快就很有用了。Boss 冲过来时，你需要马上决定往哪躲，等一段完整的分析写完，角色可能已经没了。模型只给走位意图，代码持续执行，下一次判断回来再调整。",[12,1443,1444],{},"类似的用法也可以放到工单分流、评论筛选、搜索结果排序，或者 Agent 的工具选择里。只要答案范围明确、需要经常调用，这种专门做判断的模型就值得试。",[69,1446,1448],{"id":1447},"这套思路也不一定非得用-jev","这套思路也不一定非得用 JEV",[12,1450,1451],{},"我更想拿走的是它拆问题的方法。",[12,1453,1454],{},"比如做一个处理需求的 Agent，可以先让普通大模型把口语化描述整理清楚，再让 JEV 判断优先级。工期计算、资源冲突和排序放在代码里，最后需要向人解释排期时，再交给大模型写。",[279,1456,1459],{"className":1457,"code":1458,"language":1289,"meta":285},[1287],"用户描述 → 大模型整理需求 → JEV 判断重要性和紧急程度\n                              ↓\n                     代码计算工期、检查资源\n                              ↓\n                       大模型解释排期\n",[110,1460,1458],{"__ignoreMap":285},[12,1462,1463],{},"如果不想接 JEV，也可以先在现有 Agent 里加一段提示词：",[279,1465,1468],{"className":1466,"code":1467,"language":1289,"meta":285},[1287],"先对需求做分类，不展开解释。\n\n重要：影响核心业务流程、数据安全或造成资金损失。\n紧急：正在造成损失，或明确要求在24小时内处理。\n\n根据这两个条件选择：\np0：重要且紧急\np1：重要但不紧急\np2：不重要但紧急\np3：不重要且不紧急\nunknown：材料不足以判断\n\n只返回 JSON，字段为 priority。\n不要猜测描述中没有提供的影响范围和截止时间。\n",[110,1469,1467],{"__ignoreMap":285},[12,1471,1472,1473,1478],{},"需要复用，就封装成 Agent 的工具或插件，让后面的流程读取结果；平台支持结构化输出的话，把这些选项直接写进 schema。TypeSafe 自己也有一个",[18,1474,1477],{"href":1475,"rel":1476},"https:\u002F\u002Fgithub.com\u002Ftypesafe-ai\u002Fsystem-one-adapter-python",[22],"用普通 LLM 适配同类接口的项目","，可以拿来做对照。",[12,1480,1481],{},"这样能得到近似的使用方式，速度和成本还是由背后的模型决定。让大模型在 JSON 里自报一个概率，也不意味着这个数字经过了校准。",[12,1483,1484,1485,1490],{},"想看看「直接读取选项概率」和「生成一份 JSON」差在哪，可以玩一下 ",[18,1486,1489],{"href":1487,"rel":1488},"https:\u002F\u002Fopenjev.com\u002F",[22],"OpenJev \u002F SemIf","。它用本地模型在浏览器里对比这两条路径，是独立实验，能帮助理解这个思路。",[12,1492,1493],{},"对我来说，JEV 最值得借鉴的地方就是：只需要一个判断时，就把问题收窄到这个判断。没必要每次都让大模型从头想一遍，再写一段话给程序看。",[1495,1496,1497],"style",{},"html pre.shiki code .sxk1D, html code.shiki .sxk1D{--shiki-default:#9399B2;--shiki-light:#7C7F93}html pre.shiki code .sZBvu, html code.shiki .sZBvu{--shiki-default:#89B4FA;--shiki-light:#1E66F5}html pre.shiki code .ssZzq, html code.shiki .ssZzq{--shiki-default:#A6E3A1;--shiki-light:#40A02B}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html pre.shiki code .sDkzg, html code.shiki .sDkzg{--shiki-default:#CBA6F7;--shiki-light:#8839EF}html pre.shiki code .szT_X, html code.shiki .szT_X{--shiki-default:#CDD6F4;--shiki-light:#4C4F69}html pre.shiki code .siJSA, html code.shiki .siJSA{--shiki-default:#94E2D5;--shiki-light:#179299}html pre.shiki code .s3Fsb, html code.shiki .s3Fsb{--shiki-default:#89B4FA;--shiki-default-font-style:italic;--shiki-light:#1E66F5;--shiki-light-font-style:italic}html pre.shiki code .s9Cko, html code.shiki .s9Cko{--shiki-default:#F5C2E7;--shiki-light:#EA76CB}html pre.shiki code .s_wmW, html code.shiki .s_wmW{--shiki-default:#FAB387;--shiki-light:#FE640B}",{"title":285,"searchDepth":469,"depth":353,"links":1499},[1500,1501,1502,1503,1504,1505],{"id":71,"depth":299,"text":71},{"id":104,"depth":299,"text":105},{"id":1279,"depth":299,"text":1280},{"id":1356,"depth":299,"text":1357},{"id":1417,"depth":299,"text":1418},{"id":1447,"depth":299,"text":1448},[1507],"AI","\u002Fimages\u002F2026\u002Fjev\u002Fjev.webp","本文评析JEV模型，认为其并非通用大模型，而是专做预定义判断的System One模型，通过选择、评分、是非题返回结构化结果，不生成文本。其快与便宜源于非自回归并行输出，但“零幻觉”仅指输出结构合规，判断仍可能出错。该思路适用于答案范围明确、需频繁调用的场景，也可用普通大模型近似实现，核心在于把任务收窄为单一判断。","md",{},"\u002Fposts\u002F2026\u002Fjev",0,"2026-09-21",{"title":5,"description":1509},"posts\u002F2026\u002Fjev","ai",[1507,1519,1520],"JEV","LLM","#a369ff","2026-09-23",false,2429,"GvDhYUQrAuKaivhlJA7hxmXmRuYHKz-_EKNzReXoFz0",[1527,1543,1556,1564,1567,1582,1595,1607,1617,1630,1642,1653,1665,1676,1689,1700,1709,1723,1735,1747,1760,1769,1779,1788],{"path":1528,"stem":1529,"title":1530,"description":1531,"wordCount":1532,"publish":1533,"update":1533,"cover":1534,"tags":1535,"categories":1541,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2026\u002Fwsl3","posts\u002F2026\u002Fwsl3","WSL 3 正式发布~","微软发布 WSL 3.0.1，正式提供稳定的 WSL 容器功能，无需 Docker 即可原生创建和运行 Linux 容器。该版本改进包括跨操作系统文件访问性能最高提升至原来的两倍（采用 virtiofs），以及网络模式 Consomme 优化端口映射和 VPN 兼容性。文章介绍了 WSL 安装、从 WSL 2 升级的方法，并示例使用 wslc 运行 Ubuntu、Nginx 容器及构建自定义镜像。",1038,"2026-10-01","\u002Fimages\u002F2026\u002Fwsl3\u002Fwsl3.png",[1536,1537,1538,1539,1540],"WSL","Linux","Windows","Docker","容器",[1542],"工具",{"path":1544,"stem":1545,"title":1546,"description":1547,"wordCount":1548,"publish":1549,"update":7,"cover":1550,"tags":1551,"categories":1555,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2026\u002Fcodex-prompt","posts\u002F2026\u002Fcodex-prompt","Codex 的 GPT-6 Sol 提示词泄露了？","文章围绕网传Codex GPT-6 Sol提示词泄露展开，选取部分内容解读。提示词要求像同事一样交流、降低认知负担，用具体描述并说明改动、原因、测试与风险；明确禁止使用AI套话；通过高质量和低质量示例约束输出。摘要表还涵盖沟通、执行、权限、长期任务、工具与界面、质量与证据等核心要求。",1073,"2026-09-25","\u002Fimages\u002F2026\u002Fcodex-prompt\u002Fcodex-prompt.png",[1507,1552,1553,1554],"Codex","提示词","Agent",[1507],{"path":1557,"stem":1558,"title":1559,"description":1560,"wordCount":1561,"publish":1549,"update":7,"cover":7,"tags":1562,"categories":1563,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2026\u002Fcodex-prompt-translation","posts\u002F2026\u002Fcodex-prompt-translation","Codex GPT-6 Sol 提示词完整中文译文","第三方仓库收录的 Codex GPT-6 Sol 提示词中文译文，按原顺序保留全部 54 个模板。",34261,[1507,1552,1553,1554],[1507],{"path":1512,"stem":1516,"title":5,"description":1509,"wordCount":1524,"publish":1514,"update":1522,"cover":1508,"tags":1565,"categories":1566,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},[1507,1519,1520],[1507],{"path":1568,"stem":1569,"title":1570,"description":1571,"wordCount":1572,"publish":1573,"update":1574,"cover":7,"tags":1575,"categories":1580,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002Fblog\u002Foverview","posts\u002F2.blog\u002F01.overview","新版博客已上线！","新版博客“mukuchi”上线，具备文章写作、标签分类、全文搜索、阅读目录、代码复制、图片缩放、深浅主题切换及移动端适配等功能。内容以Markdown和MDC编写，后台支持草稿、上传、预览与发布，并可生成AI摘要、朗读和双人播客。技术栈采用Nuxt、Vue、UnoCSS、Nuxt Content及Cloudflare服务，文章存于GitHub仓库。后续计划增加工具、重做账号系统并改为站内评论。",1059,"2026-09-14","2026-09-22",[1576,1577,1578,1579],"博客","Nuxt","Vue","Cloudflare",[1581],"建站记录",{"path":1583,"stem":1584,"title":1585,"description":1586,"wordCount":1587,"publish":1588,"update":7,"cover":7,"tags":1589,"categories":1593,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2026\u002Fgame-dlss5","posts\u002F2026\u002Fgame-dlss5","哦，我的上帝！这是真实的！ —— DLSS 5 渲染实测","文章以《崩坏3rd》和《崩坏：星穹铁道》为例，展示DLSS 5渲染在多个场景下开启与关闭的画面对比。教程说明通过XXMI-Launcher注入ReShade的d3d12.dll，启动游戏后按Home键配置RenoDX DLSS参数，并提示下线前需手动关闭。文末附相关工具与网盘资源下载方式。",390,"2026-09-08",[1590,1591,1592],"DLSS5","mod","xxmi",[1594],"游戏",{"path":1596,"stem":1597,"title":1598,"description":1599,"wordCount":1600,"publish":1601,"update":1602,"cover":7,"tags":1603,"categories":1606,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2026\u002Fmilanote-api","posts\u002F2026\u002Fmilanote-api","Milanote API","本文介绍了作者开发的 Milanote API 项目，用于在外部使用 Milanote 分享 Board 的内容。项目已完成根据分享链接获取完整 API 数据、解析卡片内容与布局、构建 Playground 在线可视化示例、部署至 Cloudflare Workers 并提供字段筛选功能；待实现免密钥在线解析。文章还说明了获取 Milanote 只读分享链接的步骤，并展示了 Playground 界面效果。",234,"2026-07-22","2026-07-23",[1604,1605],"Milanote","API",[1542],{"path":1608,"stem":1609,"title":1610,"description":1611,"wordCount":1612,"publish":1613,"update":7,"cover":1614,"tags":1615,"categories":1616,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2026\u002Fduolingo","posts\u002F2026\u002Fduolingo","今天你 Duolingo 了吗？","本文介绍使用 Cloudflare Workers 构建 Duolingo 用户信息接口，解决跨域与缓存问题。接口支持按环境变量查询固定用户，返回昵称、头像、经验及连续学习天数，并提供搜索和其他用户详情接口。通过 KV 缓存和定时任务减少上游请求，支持带鉴权的手动刷新，并包含超时和错误处理。",1581,"2026-07-14","\u002Fimages\u002F2026\u002Fduolingo\u002Fduolingo.png",[1605,1579],[1542],{"path":1618,"stem":1619,"title":1620,"description":1621,"wordCount":1622,"publish":1623,"update":7,"cover":7,"tags":1624,"categories":1629,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002Fblender","posts\u002Fblender\u002Findex","Blender 专题","本文介绍Blender这一免费开源3D建模软件，涵盖建模、动画、渲染、视频剪辑等功能，适合从入门到高级开发。文档提供官网地址；教程部分包含动画大师课VV purple、角色建模课Zimon3D，并附B站链接；素材推荐BlenderKit官方素材库、Sketchfab及模之屋等免费资源平台。",158,"2026-06-18",[1625,1626,1627,1628],"Blender","3D","建模","动画",[1625],{"path":1631,"stem":1632,"title":1633,"description":1634,"wordCount":1635,"publish":1623,"update":7,"cover":7,"tags":1636,"categories":1641,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002Fthreejs","posts\u002Fthreejs\u002Findex","Three.js 专题","本文介绍Three.js作为Web端主流3D图形库，封装WebGL\u002FWebGPU，用于构建3D场景、动画、游戏和数据可视化等。文章汇总官方资源，包括官网、示例、文档、教程、在线编辑器和GitHub仓库。基础使用方面，说明在Vue3中通过TresJS、React中通过React Three Fiber进行组件化开发，并提及GSAP动画库和Blender建模软件。其他资源推荐Three.js Journey系统教程、The Book of Shaders书籍和Kenney免费游戏素材，AI与问题部分尚在完善中。",418,[1637,1638,1639,1640],"Three.js","WebGL","WebGPU","Shader",[1637],{"path":1643,"stem":1644,"title":1645,"description":1646,"wordCount":1647,"publish":1648,"update":1648,"cover":1649,"tags":1650,"categories":1652,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2025\u002Fmagic-js","posts\u002F2025\u002Fmagic-js","你能看懂这些 JavaScript 表达式吗？","本文解析了JavaScript中多个怪异表达式结果的原因，指出其源于IEEE 754浮点数表示、隐式类型转换及同一符号在不同语法环境中的歧义。例如NaN为number、大整数舍入、0.1+0.2不等于0.3、空数组与对象相加、布尔值运算及宽松相等等行为，均可据此解释。建议工程中使用严格相等和明确转换以避免陷阱。",2035,"2025-07-31","\u002Fimages\u002F2025\u002Fmagic-js\u002Fmagic-js.png",[1651],"JavaScript",[1651],{"path":1654,"stem":1655,"title":1656,"description":1657,"wordCount":1658,"publish":1659,"update":1660,"cover":1661,"tags":1662,"categories":1664,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2021\u002Fgit","posts\u002F2021\u002Fgit","Git 笔记","本文介绍Git的安装与基础配置，涵盖用户名邮箱设置及配置作用域优先级；解释工作区、暂存区和本地仓库的工作流；列举git add、commit、branch、switch、log、diff、stash、rm、mv等常用命令；说明查看日志、比较差异、对象关系、搁置改动、忽略文件等操作；并回答删除分支、修改提交信息、合并提交、取消暂存、丢弃改动和删除文件等常见问题。",878,"2021-09-07","2026-05-17","https:\u002F\u002Fgit-scm.com\u002Fimages\u002Flogo@2x.png",[1663],"Git",[1542],{"path":1666,"stem":1667,"title":1668,"description":1669,"wordCount":1670,"publish":1671,"update":7,"cover":1672,"tags":1673,"categories":1675,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2021\u002Fhexo-editor","posts\u002F2021\u002Fhexo-editor","HexoEditor(适用于Hexo的专用编辑器)","本文介绍了专为Hexo优化的Markdown编辑器HexoEditor。该编辑器预览效果与Hexo生成页面高度相似，支持快速执行Hexo命令。软件开源，可从GitHub获取安装程序及中英文手册。配置包括通用、编辑、Hexo路径设置、渲染主题（支持GitHub和Next）以及图片云存储（如SM.MS、腾讯云等）。还提供右键快捷操作Hexo命令。",587,"2021-03-22","\u002Fimages\u002F2021\u002Fhexo-editor\u002Fhexo-editor.jpg",[1542,1674],"Hexo",[1542],{"path":1677,"stem":1678,"title":1679,"description":1680,"wordCount":1681,"publish":1671,"update":7,"cover":1682,"tags":1683,"categories":1687,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2021\u002Ftomcat-servlet","posts\u002F2021\u002Ftomcat-servlet","Tomcat和Servlet应用配置及部分问题","本文介绍Tomcat与Servlet的配置及常见问题。Tomcat部分涵盖安装、环境变量、启动关闭、乱码与端口占用处理、项目部署及IDEA集成。Servlet部分说明实现方式、生命周期、请求与响应对象、乱码处理、请求转发与重定向，以及Cookie、Session、ServletContext等对象和三大域对象的作用范围。",4196,"\u002Fimages\u002F2021\u002Ftomcat-servlet\u002Ftomcat-servlet.jpg",[1684,1685,1686],"JavaWEb","Tomcat","Servlet",[1688],"笔记",{"path":1690,"stem":1691,"title":1692,"description":1693,"wordCount":1694,"publish":1695,"update":7,"cover":1696,"tags":1697,"categories":1699,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2021\u002Fgithub-actions","posts\u002F2021\u002Fgithub-actions","使用Github Action实现全自动部署","本文介绍使用GitHub Action实现Hexo博客全自动部署的流程。需先获取GitHub与Coding的个人访问令牌，创建存放源码的私有仓库，并在站点配置中设置部署仓库地址和令牌。接着在.github\u002Fworkflows目录创建自动部署工作流文件，配置检出、安装Node与Hexo、缓存依赖、生成静态文件和部署步骤。随后更新远程仓库分支，添加.gitignore屏蔽项并推送源码，最后通过Actions查看部署状态。",910,"2021-01-26","\u002Fimages\u002F2021\u002Fgithub-actions\u002Fgithub-actions.jpg",[1698],"博客优化",[1698],{"path":1701,"stem":1702,"title":1703,"description":1704,"wordCount":1705,"publish":1695,"update":7,"cover":1706,"tags":1707,"categories":1708,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2021\u002Fhexo-auto-open-editor","posts\u002F2021\u002Fhexo-auto-open-editor","Hexo添加文章时自动打开编辑器","本文介绍Hexo新建文章后自动打开编辑器的方法。通过监听Hexo的new事件并在scripts目录下添加脚本，利用child_process.exec执行系统命令，Windows使用start、macOS使用open -a启动指定编辑器并打开新文章路径。用户需替换脚本中的编辑器绝对地址，保存后执行hexo new即可自动打开对应文件。",269,"\u002Fimages\u002F2021\u002Fhexo-auto-open-editor\u002Fhexo-auto-open-editor.webp",[1698],[1698],{"path":1710,"stem":1711,"title":1712,"description":1713,"wordCount":1714,"publish":1715,"update":7,"cover":1716,"tags":1717,"categories":1722,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2021\u002Fhttp-canary-ca","posts\u002F2021\u002Fhttp-canary-ca","解决部分安卓11HttpCanary无法安装证书及其他诸多问题","本文分享安卓11下HttpCanary证书安装失败等问题的解决方法，需root或虚拟机。MIUI系统点击安装根证书无反应时，将指定缓存路径的HttpCanary.pem复制为HttpCanary.jks并重启应用，再以root权限安装到系统；无效则先导出带.0证书再安装。抓https失败或提示证书不可信，可安装Xposed框架和JustTrustMe插件关闭SSL认证。资源可从酷安或应用商店获取，免费版与付费版主要区别为插件支持。",506,"2021-01-16","\u002Fimages\u002F2021\u002Fhttp-canary-ca\u002Fhttp-canary-ca.png",[1718,1719,1720,1721],"Android","HttpCanary","抓包","问题",[1720],{"path":1724,"stem":1725,"title":1726,"description":1727,"wordCount":1728,"publish":1729,"update":7,"cover":1730,"tags":1731,"categories":1734,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2020\u002Fmysql-basics","posts\u002F2020\u002Fmysql-basics","MySQL 基础","本文介绍MySQL关系型数据库管理系统基础知识，包括数据库、数据库管理系统、数据库系统和数据库应用系统的概念，及其数据结构化、共享性高、冗余度低、独立性强和统一管理等特点；简述数据库的创建、查看、打开、修改和删除操作，以及数据表的创建、修改、删除和表数据的添加、更新、删除方法，并提及图形化管理工具。",1825,"2020-06-05","\u002Fimages\u002F2020\u002Fmysql-basics\u002Fmysql-basics.png",[1732,1733],"mysql","数据库",[1688],{"path":1736,"stem":1737,"title":1738,"description":1739,"wordCount":1740,"publish":1741,"update":7,"cover":1742,"tags":1743,"categories":1746,"series":7,"seriesOrder":7,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002F2020\u002Fpython-tkinter","posts\u002F2020\u002Fpython-tkinter","Python图形用户界面(Tkinter)","本文简介Python常用GUI库，重点说明Tkinter的标准控件、共同属性及pack、grid、place三种几何布局管理器。使用Tkinter需导入模块、创建控件、添加交互并编写函数、进入主事件循环。文中以简单登录界面为例，演示标签、输入框、按钮的放置，以及为按钮设置回调函数进行输入校验和登录提示。",965,"2020-05-25","\u002Fimages\u002F2020\u002Fpython-tkinter\u002Fpython-tkinter.jpg",[1744,1745],"Python","GUI",[1688],{"path":1748,"stem":1749,"title":1750,"description":1751,"wordCount":1752,"publish":1753,"update":1754,"cover":7,"tags":1755,"categories":1758,"series":1759,"seriesOrder":353,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002Fmarkdown\u002Fcollapse","posts\u002F1.markdown\u002F05.collapse","在正文中使用折叠内容","本文说明正文中折叠内容的使用方法：折叠块适合放置补充说明、较长代码或可选阅读内容，标题始终可见，点击整行展开，各折叠块独立记录状态。支持默认收起，也可通过 open 属性设置初始展开。折叠内部可包含 Markdown、列表、代码、表格、图片等，目录或锚点访问内部标题会先展开所属折叠块。还支持嵌套折叠，外层使用三个冒号、内层使用两个冒号，内外层独立控制；访问嵌套目标可一次展开沿途两层。",428,"1970-01-01","2026-09-26",[1756,1757],"Markdown","MDC",[1759],"文章示例",{"path":1761,"stem":1762,"title":1763,"description":1764,"wordCount":1765,"publish":1753,"update":1522,"cover":7,"tags":1766,"categories":1768,"series":1759,"seriesOrder":338,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002Fmarkdown\u002Fvideo","posts\u002F1.markdown\u002F04.video","在文章中嵌入视频","本文介绍在文章与关于页中嵌入Bilibili和YouTube视频的MDC组件用法，无需API密钥或手写iframe。播放器按16:9自适应宽度，接近可视区域时加载，默认不自动播放。Bilibili可通过BV号或视频链接指定分P与开始时间，YouTube可通过11位视频ID或链接指定开始时间，标题由title参数设置。组件会过滤分享追踪参数与自动播放设置，无效参数仅显示提示，不影响正文。",597,[1756,1757,1767],"视频",[1759],{"path":1770,"stem":1771,"title":1772,"description":1773,"wordCount":1774,"publish":1753,"update":1775,"cover":7,"tags":1776,"categories":1778,"series":1759,"seriesOrder":322,"pin":1513,"wip":6,"theme":1521},"\u002Fposts\u002Fmarkdown\u002Fmarkdown-extended","posts\u002F1.markdown\u002F03.markdown-extended","Markdown 扩展功能","本文介绍Markdown扩展功能。已实现多风格提醒框，支持GitHub、Obsidian、VitePress、Docusaurus四种主题及折叠嵌套，可通过参数或全站配置设置；同时提供GitHub仓库卡片、Bilibili\u002FYouTube视频卡片与正文图片预览。图片画廊与作品集仍在计划中，当前采用标准图片语法配合图注和链接。GitHub仓库卡片在构建时获取公开仓库数据快照，不可用字段显示短横线。后续将实现图片画廊与作品集。",1822,"2026-09-27",[1756,1757,1777],"功能规划",[1759],{"path":1780,"stem":1781,"title":1782,"description":1783,"wordCount":1784,"publish":1753,"update":1775,"cover":7,"tags":1785,"categories":1787,"series":1759,"seriesOrder":299,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002Fmarkdown\u002Fmdc-tutorial","posts\u002F1.markdown\u002F02.mdc-tutorial","MDC 教程","本文介绍 MDC（Markdown Components）在 Nuxt Content 中的语法与用法，涵盖块级容器、行内属性、Props 传递、插槽、嵌套、绑定文章数据，以及代码块与代码组、图片预览、GitHub 仓库卡片、视频卡片、提醒框和文章自动提醒等已接入功能。文末说明自定义组件需实现并注册，并解答组件不显示、插槽误识别等常见问题。",2594,[1757,1786,1578],"Nuxt Content",[1759],{"path":1789,"stem":1790,"title":1791,"description":1792,"wordCount":1793,"publish":1753,"update":1573,"cover":7,"tags":1794,"categories":1796,"series":1759,"seriesOrder":292,"pin":1513,"wip":1523,"theme":1521},"\u002Fposts\u002Fmarkdown\u002Fmarkdown","posts\u002F1.markdown\u002F01.markdown","Markdown 教程","本文为 Markdown 教程，系统介绍常用语法：段落与换行、标题与目录生成、引用、无序\u002F有序\u002F任务列表、强调与行内代码、普通\u002F引用式\u002F自动链接、图片、代码块、表格、分隔线与转义，并说明本站 Nuxt Content 环境下文章文件位置、frontmatter 要求及后续扩展内容。",1449,[1756,1795],"写作",[1759],1791108779806]