[{"data":1,"prerenderedAt":8017},["ShallowReactive",2],{"blog-feed:en":3,"mdc--jzgk7g-key":4554,"mdc--e26hp6-key":4566,"mdc--6znspn-key":4575,"mdc--lrvpki-key":4584,"mdc--rcjec2-key":4592,"mdc--15sw77-key":4601,"mdc--84s6hd-key":4620,"mdc-f79d4y-key":4639,"mdc--ptsu2-key":4648,"mdc-ohziqc-key":4662,"mdc-544j61-key":4701,"mdc-pgc5pg-key":4715,"mdc-h9ysq3-key":4754,"mdc-h2jy55-key":4763,"mdc-tscp7i-key":4787,"mdc--2zee48-key":4822,"mdc-5t6ms0-key":4871,"mdc--nemgeo-key":4885,"mdc-y85par-key":4935,"mdc-3kk6lq-key":4997,"mdc-m29768-key":5021,"mdc-tv529g-key":5081,"mdc--hry4hc-key":5107,"mdc--fbeelk-key":5116,"mdc-7cbzuv-key":5125,"mdc--qtpgf0-key":5206,"mdc-xwxxxd-key":5221,"mdc-eg6k4e-key":5230,"mdc-sf6d5w-key":5279,"mdc-s8lf7n-key":5308,"mdc-fkfkh5-key":5350,"mdc-hhaw8c-key":5375,"mdc--u31n7-key":5384,"mdc-la93f3-key":5393,"mdc--67pjnh-key":5402,"mdc-jyqlfb-key":5417,"mdc--ikwtum-key":5426,"mdc--hii0rf-key":5435,"mdc--iwecy6-key":5477,"mdc-1eenfq-key":5492,"mdc-pkk4c8-key":5507,"mdc--d3zx7t-key":5522,"mdc-dx8p9l-key":5536,"mdc-lhgyq3-key":5587,"mdc-7b633a-key":5630,"mdc--iyxa14-key":5664,"mdc-14kgvd-key":5796,"mdc--im9i8b-key":5915,"mdc--tmhrpz-key":5933,"mdc--1x50qq-key":5947,"mdc--150rmu-key":5960,"mdc--1z2stb-key":5993,"mdc-anqum8-key":6024,"mdc-i0sr53-key":6080,"mdc-jvjquw-key":6104,"mdc-dgv40d-key":6137,"mdc-u2c3pf-key":6146,"mdc--mpbd43-key":6236,"mdc-jf7bj7-key":6269,"mdc-nytiyy-key":6302,"mdc--801tfw-key":6346,"mdc--lllbt-key":6377,"mdc--2ahc08-key":6423,"mdc--1tc4pw-key":6437,"mdc--lwaluh-key":6490,"mdc-wr2u1r-key":6529,"mdc-4vrodb-key":6547,"mdc-synzep-key":6601,"mdc--h3kyua-key":6624,"mdc-as922q-key":6639,"mdc-i481dw-key":6713,"mdc-qcwd5l-key":6746,"mdc-d5q0gk-key":6755,"mdc-k5o86k-key":6774,"mdc--a4xugd-key":6834,"mdc-cavv43-key":6916,"mdc-85b2dy-key":6973,"mdc--z9jx1r-key":7050,"mdc--qyc494-key":7096,"mdc--8skw1c-key":7155,"mdc--mtylbf-key":7206,"mdc--yibbuc-key":7258,"mdc--p8fwpm-key":7280,"mdc--d13fy7-key":7411,"mdc-ghfhg9-key":7433,"mdc-82k9nj-key":7532,"mdc-2yqw82-key":7576,"mdc-36e7xn-key":7638,"mdc-k2dus1-key":7647,"mdc-r9d3d5-key":7685,"mdc-ez4275-key":7703,"mdc--vxfjsd-key":7776,"mdc-vek96o-key":7795,"mdc-m42jf8-key":7823,"mdc--w8sntp-key":7851,"mdc-7bgrnu-key":7895,"mdc-lodflc-key":7956},{"page":4,"articles":18,"posts":3458},{"id":5,"title":6,"body":7,"description":7,"extension":8,"links":9,"locale":10,"meta":11,"navigation":12,"path":13,"seo":14,"stem":16,"__hash__":17},"pages\u002Fblog.en.yml","Blog",null,"yml",[],"en",{},true,"\u002Fblog",{"title":6,"description":15},"Long-form articles and selected X posts on AI tooling, Cloudflare deployments, indie development, and product thinking.","blog.en","4JQyh4XqRTtbhRJPdEe_nYu-T4pKQcLFxe4cvfC7QJ4",[19,177,433,823,943,1391,1532,1682,1964,2218,2445,2570,2705,2911],{"id":20,"title":21,"author":22,"body":26,"date":163,"description":164,"extension":165,"image":7,"locale":10,"meta":166,"minRead":167,"navigation":12,"original":168,"path":169,"pinned":168,"seo":170,"source":171,"sourceUrl":39,"stem":172,"tags":173,"updated":7,"__hash__":176},"blog\u002Fblog\u002Fagent-harness-selection.en.md","After tinkering with Pi Agent, OMP, Codex, and ZCode, why I finally chose OpenCode + OpenChamber",{"name":23,"avatar":24},"Chen Dahuang",{"src":25,"alt":23},"\u002Favatar.jpg",{"type":27,"value":28,"toc":151},"minimark",[29,44,47,52,57,60,63,75,79,82,85,88,92,95,99,105,111,124,131,135,138,141,144],[30,31,32],"blockquote",{},[33,34,35,36,43],"p",{},"Originally posted on ",[37,38,42],"a",{"href":39,"rel":40},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2085410520459604026",[41],"nofollow","X",".",[33,45,46],{},"I've been tinkering with Agent Harnesses like Pi Agent, OMP, ZCode, Codex, and OpenCode lately, and I've finally understood what I actually need.",[48,49,51],"h2",{"id":50},"my-three-criteria","My three criteria",[53,54,56],"h3",{"id":55},"first-a-mature-stable-gui","First: a mature, stable GUI",[33,58,59],{},"I'm used to GUIs and really can't stand TUIs. Chatting in a black terminal box is too painful — you have to memorize a ton of shortcuts and commands just to make it usable. A GUI, on the other hand, just needs you to intuitively click icons and buttons.",[33,61,62],{},"So I need a mature, stable, and good-looking GUI.",[33,64,65,66,70,71,74],{},"This criterion alone ruled out ",[67,68,69],"strong",{},"Pi Agent"," and ",[67,72,73],{},"OMP",". It's not that their cores are bad — it's that the community GUIs built around them are just terrible. Building my own from scratch would take a lot of effort, and these tools are so customizable that a hand-rolled GUI has no portability — switch machines or switch people, and everything starts over from scratch.",[53,76,78],{"id":77},"second-no-vendor-lock-in-no-vendor-favoritism","Second: no vendor lock-in, no vendor favoritism",[33,80,81],{},"Codex does open up configuration interfaces for third-party models, but configuring them is genuinely painful, and third-party models are always \"second-class citizens\" — suppressed by the official models and dragged down by the update cadence, which really annoys me.",[33,83,84],{},"ZCode is even more absurd: there's no way to log into each vendor's Coding Plan via OAuth (for example, Kimi For Code and Grok Build can't be used in ZCode at all, unless you resort to hacky workarounds).",[33,86,87],{},"So I ruled out ZCode and Codex — software with model-vendor favoritism.",[53,89,91],{"id":90},"third-open-source-and-open-to-secondary-development","Third: open source and open to secondary development",[33,93,94],{},"I need to do secondary development and customization based on my own needs, to make it easier to give clients an out-of-the-box experience. So it has to be an open-source, license-friendly product — convenient for me to enjoy, and convenient for my clients to use simply, without all that black-magic hacking.",[48,96,98],{"id":97},"the-final-answer-opencode-openchamber","The final answer: OpenCode + OpenChamber",[33,100,101,102,43],{},"After eliminating everything, the only real choice left is ",[67,103,104],{},"OpenCode",[33,106,107,108,43],{},"But OpenCode is just an Agent core. To pair it with a mature, stable, easy-to-use GUI, I finally found the real answer: ",[67,109,110],{},"OpenChamber",[112,113,114,118,121],"ul",{},[115,116,117],"li",{},"Core: OpenCode, open source, no vendor lock-in, supports models from all vendors",[115,119,120],{},"Interface: OpenChamber, a mature GUI workbench",[115,122,123],{},"Combination: a stable core + a comfortable interface, plus the ability to do secondary development as needed",[33,125,126,127],{},"Open source: ",[37,128,129],{"href":129,"rel":130},"https:\u002F\u002Fgithub.com\u002Fopenchamber\u002Fopenchamber",[41],[48,132,134],{"id":133},"some-reflections","Some reflections",[33,136,137],{},"Choosing a tool is essentially choosing \"who holds the say over you.\"",[33,139,140],{},"No matter how good a closed-source tool is, its update direction, model support, and pricing strategy are all decided by others — you can only passively accept them. With an open-source + non-locked-in combination, you always have an exit, and you always have the freedom to modify.",[33,142,143],{},"As for the TUI vs. GUI debate, don't force it. Tools are for getting work done, not for proving you know the command line. A comfortable interface you can stick with long-term matters more than anything.",[33,145,146,147],{},"Related reading: ",[37,148,150],{"href":149},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash official release deep dive",{"title":152,"searchDepth":153,"depth":153,"links":154},"",2,[155,161,162],{"id":50,"depth":153,"text":51,"children":156},[157,159,160],{"id":55,"depth":158,"text":56},3,{"id":77,"depth":158,"text":78},{"id":90,"depth":158,"text":91},{"id":97,"depth":153,"text":98},{"id":133,"depth":153,"text":134},"2026-08-06","A retrospective on choosing an Agent Harness: three criteria — GUI experience, vendor lock-in, and freedom for secondary development — ruled out Pi Agent, OMP, Codex, and ZCode, and finally settled on the OpenCode core + OpenChamber interface.","md",{},6,false,"\u002Fblog\u002Fagent-harness-selection",{"title":21,"description":164},"x","blog\u002Fagent-harness-selection.en",[174,175],"AI Agent","Tool selection","EgYmwnSIATz_mQvcny96heYPc2BOWGDHAs3jLwA-kuI",{"id":178,"title":179,"author":180,"body":182,"date":422,"description":423,"extension":165,"image":7,"locale":10,"meta":424,"minRead":167,"navigation":12,"original":168,"path":425,"pinned":168,"seo":426,"source":171,"sourceUrl":191,"stem":427,"tags":428,"updated":7,"__hash__":432},"blog\u002Fblog\u002Fcloudflare-broke-stack.en.md","2026 indie dev best practices: the Cloudflare \"broke-ass all-in-one\" stack",{"name":23,"avatar":181},{"src":25,"alt":23},{"type":27,"value":183,"toc":411},[184,194,200,204,321,325,329,332,336,339,343,346,366,370,373,377,397,401,404],[30,185,186],{},[33,187,188,189,193],{},"Pinned post. Originally published on ",[37,190,42],{"href":191,"rel":192},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066586160902881542",[41]," — 40k+ views.",[33,195,196,197,43],{},"2026 indie development best practices: ",[67,198,199],{},"the Cloudflare broke-ass all-in-one stack",[48,201,203],{"id":202},"the-stack-at-a-glance","The stack at a glance",[205,206,207,223],"table",{},[208,209,210],"thead",{},[211,212,213,217,220],"tr",{},[214,215,216],"th",{},"Layer",[214,218,219],{},"Choice",[214,221,222],{},"Cost",[224,225,226,238,249,260,270,281,291,301,311],"tbody",{},[211,227,228,232,235],{},[229,230,231],"td",{},"Writing code",[229,233,234],{},"Codex",[229,236,237],{},"Subscription",[211,239,240,243,246],{},[229,241,242],{},"Version control",[229,244,245],{},"GitHub",[229,247,248],{},"Free",[211,250,251,254,257],{},[229,252,253],{},"Payments",[229,255,256],{},"Stripe",[229,258,259],{},"Per-transaction fee",[211,261,262,265,268],{},[229,263,264],{},"Frontend",[229,266,267],{},"TanStack Start",[229,269,248],{},[211,271,272,275,278],{},[229,273,274],{},"Backend",[229,276,277],{},"Hono + Cloudflare Workers",[229,279,280],{},"Free quota",[211,282,283,286,289],{},[229,284,285],{},"Deployment",[229,287,288],{},"Cloudflare Pages",[229,290,248],{},[211,292,293,296,299],{},[229,294,295],{},"Database",[229,297,298],{},"Cloudflare D1",[229,300,280],{},[211,302,303,306,309],{},[229,304,305],{},"File storage",[229,307,308],{},"Cloudflare R2",[229,310,280],{},[211,312,313,316,319],{},[229,314,315],{},"Cache \u002F config",[229,317,318],{},"Cloudflare KV",[229,320,280],{},[48,322,324],{"id":323},"why-this-combination","Why this combination",[53,326,328],{"id":327},"codex-write-code-handle-full-stack-development","Codex: write code, handle full-stack development",[33,330,331],{},"AI coding is already the default productivity tool for indie developers. Codex's Agent mode compresses the pipeline from \"requirement → code → test → deploy\" down to almost nothing — one person doing the work of a whole team.",[53,333,335],{"id":334},"tanstack-start-frontend-hono-backend","TanStack Start frontend + Hono backend",[33,337,338],{},"TanStack Start is a full-stack React framework that fits the Workers ecosystem well. For the backend, Hono — a small framework built for Workers, with comfortable routing, middleware, and type hints. Small footprint, fast startup.",[53,340,342],{"id":341},"d1-database-r2-storage-kv-cache","D1 database + R2 storage + KV cache",[33,344,345],{},"This trio is the core of Cloudflare's free quota:",[112,347,348,354,360],{},[115,349,350,353],{},[67,351,352],{},"D1",": a SQLite-compatible relational database. The free quota is more than enough for personal projects.",[115,355,356,359],{},[67,357,358],{},"R2",": S3-compatible object storage. 10 GB free storage, zero egress fees — this alone blows AWS out of the water.",[115,361,362,365],{},[67,363,364],{},"KV",": globally distributed key-value storage, great for config, cache, and sessions.",[53,367,369],{"id":368},"pages-deployment-all-free-infrastructure","Pages deployment + all-free infrastructure",[33,371,372],{},"Pages connects directly to your GitHub repo — push to deploy, with CDN and HTTPS included. Domain, DNS, CDN — all one-stop on Cloudflare. The free quota carries an entire product line.",[48,374,376],{"id":375},"the-broke-ass-strategy-in-essence","The broke-ass strategy, in essence",[112,378,379,385,391],{},[115,380,381,384],{},[67,382,383],{},"Milk the free quota to the max",": DNS, CDN, Pages, Workers, KV, D1, R2, Tunnel, AI Gateway — sign up for everything free.",[115,386,387,390],{},[67,388,389],{},"Don't pay when you can freeload",": subscription money goes only where it counts (Codex); everything else runs on free infrastructure.",[115,392,393,396],{},[67,394,395],{},"One platform for everything",": no jumping between clouds, minimal operational overhead.",[48,398,400],{"id":399},"who-its-for","Who it's for",[33,402,403],{},"Indie developers on a tight budget who want to validate a product fast; AI-coding enthusiasts who don't want to spend effort on infrastructure; and every project that wants to \"ship first, figure it out later.\"",[33,405,406,407,43],{},"Cloudflare is the cyber-bodhisattva of indie developers. Without spending a cent, you can get a product fully running. Details: ",[37,408,410],{"href":409},"\u002Fblog\u002Ffree-cloudflare","How to squeeze Cloudflare dry as a free user",{"title":152,"searchDepth":153,"depth":153,"links":412},[413,414,420,421],{"id":202,"depth":153,"text":203},{"id":323,"depth":153,"text":324,"children":415},[416,417,418,419],{"id":327,"depth":158,"text":328},{"id":334,"depth":158,"text":335},{"id":341,"depth":158,"text":342},{"id":368,"depth":158,"text":369},{"id":375,"depth":153,"text":376},{"id":399,"depth":153,"text":400},"2026-06-15","The zero-cost tech stack for indie developers: Codex for writing code, GitHub for version control, Stripe for payments, TanStack Start for frontend, Hono + Workers for backend, D1 for database, R2 for storage, KV for caching — all running on Cloudflare.",{},"\u002Fblog\u002Fcloudflare-broke-stack",{"title":179,"description":423},"blog\u002Fcloudflare-broke-stack.en",[429,430,431],"Cloudflare","Indie development","Tech stack","BUnicGx55v73_3m9PVej1JphP32kn7JwU1DTR3ra7QI",{"id":434,"title":435,"author":436,"body":438,"date":812,"description":813,"extension":165,"image":7,"locale":10,"meta":814,"minRead":167,"navigation":12,"original":168,"path":815,"pinned":168,"seo":816,"source":171,"sourceUrl":446,"stem":817,"tags":818,"updated":7,"__hash__":822},"blog\u002Fblog\u002Fdeepseek-api-web-search.en.md","DeepSeek's API has built-in web search — freeload the official search via the Responses API",{"name":23,"avatar":437},{"src":25,"alt":23},{"type":27,"value":439,"toc":805},[440,449,452,456,472,475,479,486,489,736,739,743,746,749,755,759,773,777,792,795,801],[30,441,442],{},[33,443,35,444,448],{},[37,445,42],{"href":446,"rel":447},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2084826975102030013",[41],". This one blew up — 230k views, 1000+ likes. I'll expand on the details here.",[33,450,451],{},"Found something great: DeepSeek actually shipped web search directly inside its API.",[48,453,455],{"id":454},"in-one-sentence","In one sentence",[33,457,458,459,463,464,467,468,471],{},"Call the ",[460,461,462],"code",{},"deepseek-v4-flash"," model through the ",[67,465,466],{},"Responses"," interface. Just declare a ",[460,469,470],{},"web_search"," tool in the request parameters, and you get DeepSeek's server-side search capability.",[33,473,474],{},"No integrating a third-party search engine, no applying for a separate search API key — the entire search pipeline is hosted by DeepSeek.",[48,476,478],{"id":477},"how-to-use-it","How to use it",[33,480,481,482],{},"Official docs: ",[37,483,484],{"href":484,"rel":485},"https:\u002F\u002Fapi-docs.deepseek.com\u002Fzh-cn\u002Fguides\u002Fresponses_api",[41],[33,487,488],{},"The core is just declaring the tool:",[490,491,495],"pre",{"className":492,"code":493,"language":494,"meta":152,"style":152},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await fetch('https:\u002F\u002Fapi.deepseek.com\u002Fresponses', {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application\u002Fjson',\n    'Authorization': `Bearer ${process.env.DEEPSEEK_API_KEY}`\n  },\n  body: JSON.stringify({\n    model: 'deepseek-v4-flash',\n    tools: [{ type: 'web_search' }],\n    input: 'What major things happened in the AI industry in August 2026?'\n  })\n})\n","js",[460,496,497,540,560,569,591,628,633,654,670,703,719,728],{"__ignoreMap":152},[498,499,502,506,510,514,518,522,525,528,532,534,537],"span",{"class":500,"line":501},"line",1,[498,503,505],{"class":504},"spNyl","const",[498,507,509],{"class":508},"sTEyZ"," response ",[498,511,513],{"class":512},"sMK4o","=",[498,515,517],{"class":516},"s7zQu"," await",[498,519,521],{"class":520},"s2Zo4"," fetch",[498,523,524],{"class":508},"(",[498,526,527],{"class":512},"'",[498,529,531],{"class":530},"sfazB","https:\u002F\u002Fapi.deepseek.com\u002Fresponses",[498,533,527],{"class":512},[498,535,536],{"class":512},",",[498,538,539],{"class":512}," {\n",[498,541,542,546,549,552,555,557],{"class":500,"line":153},[498,543,545],{"class":544},"swJcz","  method",[498,547,548],{"class":512},":",[498,550,551],{"class":512}," '",[498,553,554],{"class":530},"POST",[498,556,527],{"class":512},[498,558,559],{"class":512},",\n",[498,561,562,565,567],{"class":500,"line":158},[498,563,564],{"class":544},"  headers",[498,566,548],{"class":512},[498,568,539],{"class":512},[498,570,572,575,578,580,582,584,587,589],{"class":500,"line":571},4,[498,573,574],{"class":512},"    '",[498,576,577],{"class":544},"Content-Type",[498,579,527],{"class":512},[498,581,548],{"class":512},[498,583,551],{"class":512},[498,585,586],{"class":530},"application\u002Fjson",[498,588,527],{"class":512},[498,590,559],{"class":512},[498,592,594,596,599,601,603,606,609,612,615,617,620,622,625],{"class":500,"line":593},5,[498,595,574],{"class":512},[498,597,598],{"class":544},"Authorization",[498,600,527],{"class":512},[498,602,548],{"class":512},[498,604,605],{"class":512}," `",[498,607,608],{"class":530},"Bearer ",[498,610,611],{"class":512},"${",[498,613,614],{"class":508},"process",[498,616,43],{"class":512},[498,618,619],{"class":508},"env",[498,621,43],{"class":512},[498,623,624],{"class":508},"DEEPSEEK_API_KEY",[498,626,627],{"class":512},"}`\n",[498,629,630],{"class":500,"line":167},[498,631,632],{"class":512},"  },\n",[498,634,636,639,641,644,646,649,651],{"class":500,"line":635},7,[498,637,638],{"class":544},"  body",[498,640,548],{"class":512},[498,642,643],{"class":508}," JSON",[498,645,43],{"class":512},[498,647,648],{"class":520},"stringify",[498,650,524],{"class":508},[498,652,653],{"class":512},"{\n",[498,655,657,660,662,664,666,668],{"class":500,"line":656},8,[498,658,659],{"class":544},"    model",[498,661,548],{"class":512},[498,663,551],{"class":512},[498,665,462],{"class":530},[498,667,527],{"class":512},[498,669,559],{"class":512},[498,671,673,676,678,681,684,687,689,691,693,695,698,701],{"class":500,"line":672},9,[498,674,675],{"class":544},"    tools",[498,677,548],{"class":512},[498,679,680],{"class":508}," [",[498,682,683],{"class":512},"{",[498,685,686],{"class":544}," type",[498,688,548],{"class":512},[498,690,551],{"class":512},[498,692,470],{"class":530},[498,694,527],{"class":512},[498,696,697],{"class":512}," }",[498,699,700],{"class":508},"]",[498,702,559],{"class":512},[498,704,706,709,711,713,716],{"class":500,"line":705},10,[498,707,708],{"class":544},"    input",[498,710,548],{"class":512},[498,712,551],{"class":512},[498,714,715],{"class":530},"What major things happened in the AI industry in August 2026?",[498,717,718],{"class":512},"'\n",[498,720,722,725],{"class":500,"line":721},11,[498,723,724],{"class":512},"  }",[498,726,727],{"class":508},")\n",[498,729,731,734],{"class":500,"line":730},12,[498,732,733],{"class":512},"}",[498,735,727],{"class":508},[33,737,738],{},"That's it. The searching, fetching, parsing, and citing are all done on DeepSeek's side.",[48,740,742],{"id":741},"why-this-matters","Why this matters",[33,744,745],{},"Previously, to give an AI real-time information, you had to build the whole pipeline yourself: pick a search engine (SerpAPI, Bing Search, whatever) → apply for an API key → write the fetch-and-parse code → stuff the results into context → keep an eye on the budget.",[33,747,748],{},"That's a day or two at minimum, maybe a week if you hit snags, and every step costs money: search APIs bill per request, and scraping means fighting anti-bot measures.",[33,750,751,752,754],{},"Now DeepSeek just built it in, using the absurdly cheap ",[460,753,462],{}," model. Search and generation in one pipeline, cheap enough to use like running water.",[48,756,758],{"id":757},"good-use-cases","Good use cases",[112,760,761,764,767,770],{},[115,762,763],{},"Writing anything time-sensitive (industry news, product comparisons, policy explainers)",[115,765,766],{},"Building agents: steps that need to look things up before deciding",[115,768,769],{},"Customer support \u002F Q&A systems: search the latest info before answering",[115,771,772],{},"Any scenario where the model's knowledge cutoff holds you back",[48,774,776],{"id":775},"notes","Notes",[778,779,780,786,789],"ol",{},[115,781,782,785],{},[67,783,784],{},"Use the Responses interface",", not the old Chat Completions interface. The old one doesn't have this tool.",[115,787,788],{},"The granularity of web search and the citation format are in the official docs — worth running it once to see the response structure.",[115,790,791],{},"There's a cache discount mechanism — make use of it for long-context scenarios, it saves a lot.",[33,793,794],{},"This is a genuine freebie: the official team gave away the most painful part of search infrastructure. If you need it, just copy the homework.",[33,796,797,798],{},"Related: ",[37,799,800],{"href":149},"DeepSeek V4 Flash — hands-on review of the stable release",[802,803,804],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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 .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":152,"searchDepth":153,"depth":153,"links":806},[807,808,809,810,811],{"id":454,"depth":153,"text":455},{"id":477,"depth":153,"text":478},{"id":741,"depth":153,"text":742},{"id":757,"depth":153,"text":758},{"id":775,"depth":153,"text":776},"2026-08-05","DeepSeek built web search straight into the API: call deepseek-v4-flash through the Responses interface and declare the web_search tool. No third-party search engine integration, no search API key required.",{},"\u002Fblog\u002Fdeepseek-api-web-search",{"title":435,"description":813},"blog\u002Fdeepseek-api-web-search.en",[819,820,821],"DeepSeek","API","AI tools","PKJnngtLZQ-CRciHjqt8luZoXhdo0nZNmxVoGFY8GD4",{"id":824,"title":825,"author":826,"body":828,"date":812,"description":936,"extension":165,"image":7,"locale":10,"meta":937,"minRead":635,"navigation":12,"original":168,"path":149,"pinned":12,"seo":938,"source":171,"sourceUrl":836,"stem":939,"tags":940,"updated":7,"__hash__":942},"blog\u002Fblog\u002Fdeepseek-v4-flash-review.en.md","DeepSeek V4 Flash stable release, hands-on: cheap, fast, 1M context, built-in search",{"name":23,"avatar":827},{"src":25,"alt":23},{"type":27,"value":829,"toc":927},[830,839,842,846,849,852,856,859,862,866,869,872,876,879,885,889,892,895,899,902,913,917,920,923],[30,831,832],{},[33,833,35,834,838],{},[37,835,42],{"href":836,"rel":837},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2084817432750047595",[41]," — 80k+ views.",[33,840,841],{},"I've spent a few days deep-diving the stable V4 Flash 0731 release. Here's what I found, good and bad.",[48,843,845],{"id":844},"good-thing-one-cheap-absurdly-cheap","Good thing one: cheap. Absurdly cheap.",[33,847,848],{},"So cheap that you can throw all the grunt work at it without a second thought. Every token you use is money in the bank — the time it saves is worth more than the tokens themselves.",[33,850,851],{},"How cheap? In my usage: batch jobs, agent loops, dozens of conversation rounds — the bill basically doesn't register. The most expensive thing about AI isn't compute, it's the psychological barrier of \"not daring to use it.\" V4 Flash just tore that door down.",[48,853,855],{"id":854},"good-thing-two-fast","Good thing two: fast",[33,857,858],{},"This one matters a lot. You don't want to run a task for two hours and come back to check it, right?",[33,860,861],{},"The Flash model feels like lightning — say the word, and it's done. Writing code, fixing bugs, running tests, batch processing — the feedback is immediate. Especially in an agent tool loop, every step finishes within seconds, and the interaction experience is a completely different beast.",[48,863,865],{"id":864},"good-thing-three-long-context","Good thing three: long context",[33,867,868],{},"1M tokens of context fits most complex tasks with no need for constant compaction.",[33,870,871],{},"With short-context models, you used to fill up after glancing at a codebase, and had to rely on all kinds of compression tricks to save room. Now you can throw in the whole repo, whole batches of docs, the entire conversation history, and it still fits. Combined with cache discounts, long-context scenarios get very cheap — repeated content hits the cache and the price gets cut in half or better.",[48,873,875],{"id":874},"good-thing-four-official-built-in-web-search","Good thing four: official built-in web search",[33,877,878],{},"The official Responses interface has server-side web-search built in. Zero configuration, you just get search.",[33,880,881,882],{},"For time-sensitive content and agent research scenarios, this is a must-have. No integrating a search engine, no applying for a search key — the whole flow is hosted by the official team. Expanded in: ",[37,883,884],{"href":815},"DeepSeek's API has built-in web search",[48,886,888],{"id":887},"good-thing-five-open-source-no-vendor-lock-in","Good thing five: open source, no vendor lock-in",[33,890,891],{},"You can pick any model provider to host or resell it, no worries about being locked to a vendor.",[33,893,894],{},"No more praying for pitiful \"Reset\" handouts from some closed-source vendor. Open source means ecosystem, means choice, means you can embed the model in your own product without getting choked by anyone.",[48,896,898],{"id":897},"the-weakness-no-multimodality","The weakness: no multimodality",[33,900,901],{},"Reading images is limited. But that's the necessary price of \"cheap\" — vision encoding balloons the parameters, and costs go up.",[33,903,904,905,908,909],{},"The fix is simple: ",[67,906,907],{},"combine models",". When you need image understanding, hand the picture to a dedicated vision model and keep text reasoning on V4 Flash. I researched the most cost-effective vision solution available — see: ",[37,910,912],{"href":911},"\u002Fblog\u002Fqwen-vision-for-deepseek","Adding multimodality to DeepSeek: the Qwen-3.7-Flash vision approach",[48,914,916],{"id":915},"my-conclusion","My conclusion",[33,918,919],{},"V4 Flash is the kind of \"everyday workhorse\" model: cheap enough to use recklessly, fast enough to never annoy you, context big enough that you stop conserving, plus built-in search.",[33,921,922],{},"For team work, throw all the grunt work at it; when you need vision, pair a vision model beside it and combine moves. That combo keeps costs low, the experience good, and you're not locked into anyone.",[33,924,797,925],{},[37,926,884],{"href":815},{"title":152,"searchDepth":153,"depth":153,"links":928},[929,930,931,932,933,934,935],{"id":844,"depth":153,"text":845},{"id":854,"depth":153,"text":855},{"id":864,"depth":153,"text":865},{"id":874,"depth":153,"text":875},{"id":887,"depth":153,"text":888},{"id":897,"depth":153,"text":898},{"id":915,"depth":153,"text":916},"A few days deep-diving the stable DeepSeek V4 Flash release: aggressively cheap, lightning fast, 1M context, official built-in web search, fully open source. The one weakness is multimodality — but you can patch it by combining other models.",{},{"title":825,"description":936},"blog\u002Fdeepseek-v4-flash-review.en",[819,941,821],"Model review","d0eUVyXgeCBodSVZFlZFRSjXSUDpi-8IECpwWpN0gEM",{"id":944,"title":945,"author":946,"body":948,"date":422,"description":1383,"extension":165,"image":7,"locale":10,"meta":1384,"minRead":656,"navigation":12,"original":168,"path":409,"pinned":168,"seo":1385,"source":1386,"sourceUrl":957,"stem":1387,"tags":1388,"updated":7,"__hash__":1390},"blog\u002Fblog\u002Ffree-cloudflare.en.md","How free users can squeeze Cloudflare dry — how far does the free tier actually get you?",{"name":23,"avatar":947},{"src":25,"alt":23},{"type":27,"value":949,"toc":1367},[950,960,963,967,970,973,976,979,982,1014,1017,1020,1024,1027,1030,1034,1037,1066,1069,1073,1076,1079,1082,1085,1089,1092,1096,1099,1103,1106,1109,1147,1151,1154,1158,1161,1184,1188,1191,1194,1208,1211,1238,1241,1245,1248,1262,1265,1269,1272,1275,1298,1301,1304,1308,1311,1314,1334,1337,1341,1344,1347,1358,1361,1364],[30,951,952],{},[33,953,954,955,43],{},"Originally published on ",[37,956,959],{"href":957,"rel":958},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Farticle\u002F2066528625378443300",[41],"X Articles",[33,961,962],{},"Cloudflare can carry almost an entire personal internet infrastructure: domains, websites, CDN, object storage, databases, edge functions, tunneling, email forwarding, CAPTCHA, and an AI gateway — all of it can start on the free tier.",[48,964,966],{"id":965},"free-dns","Free DNS",[33,968,969],{},"Cloudflare is a domain registrar itself, with fairly transparent registration and renewal pricing. You can also buy domains on platforms like Spaceship and move DNS hosting to Cloudflare.",[33,971,972],{},"Once your domain is on Cloudflare, you get a solid DNS management system.",[33,974,975],{},"The key point: DNS resolution isn't billed per query. Unlike some big domestic providers, which are gross enough to charge by the number of resolution queries — talk about shameless.",[33,977,978],{},"Cloudflare is great for multi-domain, multi-subdomain, and small-project matrices.",[33,980,981],{},"You can run:",[112,983,984,989,994,999,1004,1009],{},[115,985,986],{},[460,987,988],{},"api.xxx.com",[115,990,991],{},[460,992,993],{},"img.xxx.com",[115,995,996],{},[460,997,998],{},"cdn.xxx.com",[115,1000,1001],{},[460,1002,1003],{},"docs.xxx.com",[115,1005,1006],{},[460,1007,1008],{},"status.xxx.com",[115,1010,1011],{},[460,1012,1013],{},"admin.xxx.com",[33,1015,1016],{},"Buy one domain, assign different subdomains to different services, and DNS resolution itself costs nothing extra.",[33,1018,1019],{},"For web traffic that needs proxying, flip on the orange cloud and let Cloudflare handle proxying, caching, and HTTPS certificates.",[48,1021,1023],{"id":1022},"free-cdn","Free CDN",[33,1025,1026],{},"CDN caching is the coolest thing Cloudflare has — it's how most people first hear about the company. For blogs, official sites, and docs sites, the value is straightforward:",[33,1028,1029],{},"Faster visits, a lighter origin server, and less bandwidth. Especially if you're on a cheap VPS, putting Cloudflare in front makes a big felt difference.",[48,1031,1033],{"id":1032},"free-pages","Free Pages",[33,1035,1036],{},"Pages can host static sites and frontend projects for free.",[112,1038,1039,1042,1045,1048,1051,1054,1057,1060,1063],{},[115,1040,1041],{},"Personal blogs",[115,1043,1044],{},"Product websites",[115,1046,1047],{},"Docs sites",[115,1049,1050],{},"Landing pages",[115,1052,1053],{},"Open-source project pages",[115,1055,1056],{},"Course material pages",[115,1058,1059],{},"Waitlist pages",[115,1061,1062],{},"Download instruction pages",[115,1064,1065],{},"Ebook promo pages",[33,1067,1068],{},"These can be hosted directly, no separate server purchase needed. Bind your own domain and it becomes a long-term personal site or project homepage.",[48,1070,1072],{"id":1071},"free-workers","Free Workers",[33,1074,1075],{},"When your site needs APIs, auth, or other dynamic logic, use Workers. Your code runs on Cloudflare's network — no server maintenance on your end. Besides JavaScript\u002FTypeScript, it also supports WebAssembly and other runtimes.",[33,1077,1078],{},"The free tier includes 100k requests per day. If a personal project genuinely outgrows that, upgrade to paid — no rush.",[33,1080,1081],{},"Workers Paid starts at $5\u002Fmonth.",[33,1083,1084],{},"Many small projects don't need a full backend at all. One Worker is enough.",[48,1086,1088],{"id":1087},"free-kv","Free KV",[33,1090,1091],{},"KV fits data that needs fast reads but not strong consistency — config, feature flags, cached results. It's not a full Redis replacement, but it covers a lot of simple needs in personal projects.",[48,1093,1095],{"id":1094},"free-d1","Free D1",[33,1097,1098],{},"D1 is Cloudflare's managed SQLite database, good for relational data. The free tier includes 5 GB of total storage, plus daily read\u002Fwrite quotas.",[48,1100,1102],{"id":1101},"free-r2","Free R2",[33,1104,1105],{},"R2 is an S3-API-compatible object store, good for images, attachments, and backups. Its biggest advantage: no bandwidth fees when serving from R2 — you pay mainly for storage and operations. There's also a free tier with a quota for both.",[33,1107,1108],{},"You can put in it:",[112,1110,1111,1114,1117,1120,1123,1126,1129,1132,1135,1138,1141,1144],{},[115,1112,1113],{},"Images",[115,1115,1116],{},"Attachments",[115,1118,1119],{},"PDFs",[115,1121,1122],{},"Course materials",[115,1124,1125],{},"Software packages",[115,1127,1128],{},"Backup files",[115,1130,1131],{},"User avatars",[115,1133,1134],{},"Markdown images",[115,1136,1137],{},"Static assets",[115,1139,1140],{},"Datasets",[115,1142,1143],{},"Audio files",[115,1145,1146],{},"Small video assets",[48,1148,1150],{"id":1149},"free-email-routing","Free Email Routing",[33,1152,1153],{},"Email Routing forwards email sent to your custom domain to an existing mailbox — available on the free tier. Cloudflare also has Email Sending for transactional email via Workers, but sending to arbitrary recipients requires Workers Paid, so don't confuse it with free inbound forwarding.",[48,1155,1157],{"id":1156},"free-turnstile","Free Turnstile",[33,1159,1160],{},"Turnstile is Cloudflare's human verification, and users usually don't have to identify traffic lights or distorted letters. Good for:",[112,1162,1163,1166,1169,1172,1175,1178,1181],{},[115,1164,1165],{},"Login",[115,1167,1168],{},"Registration",[115,1170,1171],{},"Comments",[115,1173,1174],{},"Contact forms",[115,1176,1177],{},"Waitlists",[115,1179,1180],{},"Download pages",[115,1182,1183],{},"Email subscriptions",[48,1185,1187],{"id":1186},"free-tunnel","Free Tunnel",[33,1189,1190],{},"Want to expose your home NAS, local dev machine, or game server to the internet? Use Tunnel to build a pipe that connects from your internal network out to Cloudflare, actively.",[33,1192,1193],{},"Your NAS, local dev boxes, internal services — can all be exposed through Cloudflare Tunnel. Core value:",[112,1195,1196,1199,1202,1205],{},[115,1197,1198],{},"No public IP needed",[115,1200,1201],{},"No router port forwarding",[115,1203,1204],{},"No exposing origin IPs",[115,1206,1207],{},"Can attach your own domain",[33,1209,1210],{},"For example:",[112,1212,1213,1218,1223,1228,1233],{},[115,1214,1215],{},[460,1216,1217],{},"nas.xxx.com",[115,1219,1220],{},[460,1221,1222],{},"dev.xxx.com",[115,1224,1225],{},[460,1226,1227],{},"panel.xxx.com",[115,1229,1230],{},[460,1231,1232],{},"n8n.xxx.com",[115,1234,1235],{},[460,1236,1237],{},"home.xxx.com",[33,1239,1240],{},"This thing is a godsend for home-server tinkerers.",[48,1242,1244],{"id":1243},"free-access","Free Access",[33,1246,1247],{},"Access sits in front of admin panels, staging environments, and internal tools, verifying identity before letting people in. Email OTP, Google, GitHub, or team identity providers all work — no need to write another registration\u002Flogin system just for an internal page. For example:",[112,1249,1250,1253,1256,1259],{},[115,1251,1252],{},"Only specific emails get in",[115,1254,1255],{},"Only Google login gets in",[115,1257,1258],{},"Only GitHub login gets in",[115,1260,1261],{},"Only team members get in",[33,1263,1264],{},"This is very handy for protecting backends, staging, and internal tools.",[48,1266,1268],{"id":1267},"free-ai-gateway","Free AI Gateway",[33,1270,1271],{},"AI Gateway can sit in front of multiple model providers, uniformly logging requests, latency, errors, and cache hits, plus rate limiting and fallback. When building an AI product early, managing multiple compatible APIs through one entry point saves a lot of hassle.",[33,1273,1274],{},"It lets you observe:",[112,1276,1277,1280,1283,1286,1289,1292,1295],{},[115,1278,1279],{},"Request volume",[115,1281,1282],{},"Latency",[115,1284,1285],{},"Errors",[115,1287,1288],{},"Cache hits",[115,1290,1291],{},"Model calls",[115,1293,1294],{},"Rate limiting",[115,1296,1297],{},"Fallback",[33,1299,1300],{},"Whether you're using OpenAI, Anthropic, Workers AI, or assorted compatible APIs, you can wrap one layer in front of them.",[33,1302,1303],{},"For early AI products, it makes a great unified entry point.",[48,1305,1307],{"id":1306},"free-browser-run","Free Browser Run",[33,1309,1310],{},"Cloudflare now calls this capability Browser Run. It launches full browser sessions in the cloud, controllable via code or AI.",[33,1312,1313],{},"Good for:",[112,1315,1316,1319,1322,1325,1328,1331],{},[115,1317,1318],{},"Webpage screenshots",[115,1320,1321],{},"Webpage to Markdown",[115,1323,1324],{},"Webpage automation testing",[115,1326,1327],{},"Page content scraping",[115,1329,1330],{},"Dynamic page parsing",[115,1332,1333],{},"Webpage to PDF",[33,1335,1336],{},"There's a daily free quota.",[48,1338,1340],{"id":1339},"free-images-transform","Free Images Transform",[33,1342,1343],{},"Cloudflare Images has a transformation quota for resizing, cropping, and format conversion. Heavy usage is billed separately, or you can run your own transcoding service on paid Workers with Containers.",[33,1345,1346],{},"Pair it with R2:",[112,1348,1349,1352,1355],{},[115,1350,1351],{},"R2 stores originals",[115,1353,1354],{},"Images makes thumbnails and format conversions",[115,1356,1357],{},"Cloudflare cache distributes",[33,1359,1360],{},"Good for blog covers, avatars, product images, and article illustrations.",[33,1362,1363],{},"Cloudflare's free quota already covers plenty of personal projects. If you genuinely need higher request volume, compute time, or paid features, upgrade from the $5\u002Fmonth Workers Paid tier and scale up.",[33,1365,1366],{},"And here I want to say: Cloudflare, please wire me the money!!",{"title":152,"searchDepth":153,"depth":153,"links":1368},[1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382],{"id":965,"depth":153,"text":966},{"id":1022,"depth":153,"text":1023},{"id":1032,"depth":153,"text":1033},{"id":1071,"depth":153,"text":1072},{"id":1087,"depth":153,"text":1088},{"id":1094,"depth":153,"text":1095},{"id":1101,"depth":153,"text":1102},{"id":1149,"depth":153,"text":1150},{"id":1156,"depth":153,"text":1157},{"id":1186,"depth":153,"text":1187},{"id":1243,"depth":153,"text":1244},{"id":1267,"depth":153,"text":1268},{"id":1306,"depth":153,"text":1307},{"id":1339,"depth":153,"text":1340},"Cloudflare's free tier can carry an entire personal internet infrastructure: DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway and more.",{},{"title":945,"description":1383},"x-article","blog\u002Ffree-cloudflare.en",[429,1389,285],"Free tier","QYJ55DOiQIqswU9CwUrSMakg21k4VCFpk_GgOd7BWkg",{"id":1392,"title":1393,"author":1394,"body":1396,"date":1523,"description":1524,"extension":165,"image":7,"locale":10,"meta":1525,"minRead":656,"navigation":12,"original":168,"path":1526,"pinned":168,"seo":1527,"source":171,"sourceUrl":1405,"stem":1528,"tags":1529,"updated":7,"__hash__":1531},"blog\u002Fblog\u002Fmodel-harness-decoupling.en.md","The First-Party Harness Isn't Always the Best Answer: In the Open-Model Era, Pick Your Model and Harness Separately",{"name":23,"avatar":1395},{"src":25,"alt":23},{"type":27,"value":1397,"toc":1516},[1398,1408,1411,1414,1418,1421,1424,1428,1431,1434,1448,1451,1455,1458,1461,1468,1472,1475,1481,1486,1492,1497,1503,1507,1510],[30,1399,1400],{},[33,1401,1402,1403,1407],{},"The core argument first appeared on ",[37,1404,42],{"href":1405,"rel":1406},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2093890559874388141",[41],"; this is the full-length version, with a positioning map of five harnesses.",[33,1409,1410],{},"Most people's first instinct when picking a coding agent is perfectly natural: Claude → Claude Code; GPT → Codex; GLM → ZCode; DeepSeek → DeepSeek's own harness, obviously.",[33,1412,1413],{},"And the instinct is entirely sound. A first party's biggest advantage is knowing its own model best.",[48,1415,1417],{"id":1416},"the-first-party-advantage-is-real","The First-Party Advantage Is Real",[33,1419,1420],{},"What prompts the model likes, which tool-schema design is most stable, how to organize long context, what new capabilities a release adds, where it most easily trips — the first party usually knows all of this before third parties do.",[33,1422,1423],{},"So for products like Claude Code and Codex, where model and harness iterate together over the long term, the first-party combo is often the strongest version of the answer. I won't argue with that.",[48,1425,1427],{"id":1426},"but-training-a-model-and-building-a-harness-are-two-different-kinds-of-engineering","But Training a Model and Building a Harness Are Two Different Kinds of Engineering",[33,1429,1430],{},"Once you get to open models like DeepSeek and GLM, things get interesting — because training a good model and building a good harness are two completely different kinds of engineering.",[33,1432,1433],{},"Once a coding agent actually runs, a mass of non-model problems appears:",[112,1435,1436,1439,1442,1445],{},[115,1437,1438],{},"How files get read, how code gets edited",[115,1440,1441],{},"How the agent loop is controlled, how context is compressed",[115,1443,1444],{},"How cache is exploited, how tool-call failures recover",[115,1446,1447],{},"How subagents are scheduled, how permissions are managed",[33,1449,1450],{},"How well those are done directly determines whether the same model ends up feeling good to use. The same model in a different harness can be a night-and-day experience.",[48,1452,1454],{"id":1453},"the-bigger-problem-models-update-too-fast","The Bigger Problem: Models Update Too Fast",[33,1456,1457],{},"Today GLM is on top; next month DeepSeek may ship an even stronger Flash; a while later another model catches up.",[33,1459,1460],{},"If your whole coding workflow is bound to one first-party product, switching models often means switching tools and habits too. Months of tuned configs, memories, and workflows get bulldozed.",[33,1462,1463,1464,1467],{},"That's exactly where third-party harnesses earn their keep: ",[67,1465,1466],{},"you can lock in the tools, skills, MCP servers, permissions, and workflows you know, and swap only the model underneath."," Run DeepSeek today, GLM tomorrow, something else the day after — your working environment doesn't get rebuilt from scratch.",[48,1469,1471],{"id":1470},"a-positioning-map-of-five-harnesses","A Positioning Map of Five Harnesses",[33,1473,1474],{},"Where the mainstream five sit, based on my experience as of late August 2026:",[33,1476,1477,1480],{},[67,1478,1479],{},"Pi",": minimalist philosophy; the harness interferes with the model as little as possible. Light, fast, low token overhead, extremely malleable. Best as the foundation for your own long-term agent — simple, clean, endlessly hackable.",[33,1482,1483,1485],{},[67,1484,73],{},": keeps stacking heavy coding capabilities on Pi — LSP, Debugger, Browser, AST — like fitting the agent with a full IDE. Best for genuinely heavy coding and complex repo navigation.",[33,1487,1488,1491],{},[67,1489,1490],{},"DeepSeek Harness",": goes furthest — Everything is Plugin. Agent loop, tools, permissions, presets, and UI all come apart and recombine. Best for tinkering with agent architecture, presets, multi-agent setups, and next-gen runtimes. Try PTC mode more — faster and more token-efficient.",[33,1493,1494,1496],{},[67,1495,104],{},": the most balanced of the bunch — open source, many providers, big ecosystem, mature Client\u002FServer, desktop app, and subagents. Best for anyone wanting a mature, general-purpose, multi-model coding agent.",[33,1498,1499,1502],{},[67,1500,1501],{},"Command Code",": a completely different route — it loves covering for the model. Bad tool-call arguments get fixed locally; duplicate file reads get deduplicated; long sessions keep a stable prefix to raise cache hits; when context is about to blow up it compacts. Applied to workhorse models like DeepSeek V4 Flash or GLM-5.3 Flash, this gets maximum value: the weaker the model, the more the harness picks up the slack.",[48,1504,1506],{"id":1505},"how-i-choose","How I Choose",[33,1508,1509],{},"If I only care about long-term malleability, I still prefer Pi. But if today you asked me to put DeepSeek V4 Flash or GLM-5.3 to serious work, I'd genuinely give Command Code a taste — the model-and-harness pairing is configured per task, not per camp.",[33,1511,1512,1513],{},"In the open-model era, the model and the harness are fully separable choices. ",[67,1514,1515],{},"Stop asking \"whose model should I pair with whose tool,\" and start asking \"in which harness does this model do its best work.\"",{"title":152,"searchDepth":153,"depth":153,"links":1517},[1518,1519,1520,1521,1522],{"id":1416,"depth":153,"text":1417},{"id":1426,"depth":153,"text":1427},{"id":1453,"depth":153,"text":1454},{"id":1470,"depth":153,"text":1471},{"id":1505,"depth":153,"text":1506},"2026-09-09","Using Claude? Go Claude Code. In the open-model era that instinct deserves an upgrade. The first-party advantage is real, but training a good model and building a good harness are two different kinds of engineering — here's why models and harnesses are now separable choices, plus a positioning map of five harnesses.",{},"\u002Fblog\u002Fmodel-harness-decoupling",{"title":1393,"description":1524},"blog\u002Fmodel-harness-decoupling.en",[174,1530,175],"Harness","FZU1j0v8WX9m8q_2_2WI6nNTrDujRCa0VYRJ0nJTI0Q",{"id":1533,"title":1534,"author":1535,"body":1537,"date":1523,"description":1673,"extension":165,"image":7,"locale":10,"meta":1674,"minRead":656,"navigation":12,"original":168,"path":1675,"pinned":168,"seo":1676,"source":171,"sourceUrl":1545,"stem":1677,"tags":1678,"updated":7,"__hash__":1681},"blog\u002Fblog\u002Fopencode-productive-stack.en.md","Stable, Fast, Productive, Cheap: My AI Coding Stack, Documented",{"name":23,"avatar":1536},{"src":25,"alt":23},{"type":27,"value":1538,"toc":1666},[1539,1548,1554,1557,1561,1568,1571,1575,1578,1584,1590,1596,1602,1608,1614,1618,1621,1628,1632,1635,1638,1649,1655,1659],[30,1540,1541],{},[33,1542,1402,1543,1547],{},[37,1544,42],{"href":1545,"rel":1546},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2086611065920733305",[41],"; this is the full configuration write-up.",[33,1549,1550,1551],{},"The conclusion first: ",[67,1552,1553],{},"OpenCode + OpenChamber + a DeepSeek V4 Flash subscription via OpenCode Go + a DeepSeek V4 Flash subscription via Ollama Cloud.",[33,1555,1556],{},"I've run this stack under long-term heavy use, and it delivers four things: stable, fast, productive, cheap. I've had 15 projects open in a row, all running code at the same time, and the quota barely moved.",[48,1558,1560],{"id":1559},"why-opencode-openchamber","Why OpenCode + OpenChamber",[33,1562,1563,1564,1567],{},"The selection journey is in ",[37,1565,1566],{"href":169},"another article","; here's just the outcome-level reasoning. OpenCode is currently the most balanced multi-model core — open source, many providers, mature Client\u002FServer, desktop app, and subagents. OpenChamber is the best-polished front end I've used in an open-source harness GUI: a maintainer who truly cares, refined, stable, and its occasional small bugs never get in the way of long-term use.",[33,1569,1570],{},"Web interface + PWA — nearly indistinguishable from a desktop client, with updates you don't do by hand.",[48,1572,1574],{"id":1573},"the-setup-revolves-around-three-needs","The Setup Revolves Around Three Needs",[33,1576,1577],{},"My OpenCode configuration is built around three things: context management, memory, and external capabilities.",[33,1579,1580,1583],{},[67,1581,1582],{},"1. opencode-dcp (open source) — dynamic context pruning."," When the context hits a threshold, it automatically compresses older content into technical summaries: keeps key information, drops noise, cleans duplicates, and removes low-value content like tool errors from the context. Long sessions that don't blow up the context — this is the foundation for running long tasks all day.",[33,1585,1586,1589],{},[67,1587,1588],{},"2. opencode-goal-plugin — goal management."," Adds Goal mode to long tasks, so the agent can be pulled back when it drifts.",[33,1591,1592,1595],{},[67,1593,1594],{},"3. Hermes Memory — layered memory (I'll open source it on demand)."," My heaviest plugin: I ported the Hermes agent's layered memory mechanism onto OpenCode, remembering user preferences, project decisions, and past lessons across sessions. New projects don't start from zero.",[33,1597,1598,1601],{},[67,1599,1600],{},"4. context7-MCP."," Look up the latest official docs for libraries and frameworks — no manual digging.",[33,1603,1604,1607],{},[67,1605,1606],{},"5. grep-MCP."," Search real-world usage across all of GitHub — far more reliable than writing from memory.",[33,1609,1610,1613],{},[67,1611,1612],{},"6. open-computer-use — desktop automation."," Lets the AI directly operate macOS apps: clicking, typing, scrolling, dragging, screenshots, reading the accessibility tree. Especially useful for testing and acceptance.",[48,1615,1617],{"id":1616},"the-cost-math-how-two-subscriptions-get-spent","The Cost Math: How Two Subscriptions Get Spent",[33,1619,1620],{},"DeepSeek V4 Flash is the value core of this stack: genuinely smart, genuinely cheap. The OpenCode Go subscription covers the main workflow; the Ollama Cloud subscription is the second channel — together they cost less than one mainstream first-party coding plan, with higher output.",[33,1622,1623,1624,1627],{},"The claim that \"models inside third-party shells get dumbed down\" needs unpacking: ",[67,1625,1626],{},"the root cause of degradation is a shell that does no harness engineering for the model",", not the act of changing shells. OpenCode's support for open models is first-tier; DeepSeek V4 Flash runs in it steadily and fast — which is exactly why I dare to stack 15 projects on it.",[48,1629,1631],{"id":1630},"the-lesson-stick-with-the-original-pairing","The Lesson: Stick with the Original Pairing",[33,1633,1634],{},"Friends in group chats often ask: is there a universal AI coding desktop? One that connects to every subscription and never dumb models down?",[33,1636,1637],{},"After talking with a few friends who tinker at high intensity every day, our conclusion was unanimous: it doesn't exist. Stick with the original pairing.",[112,1639,1640,1643,1646],{},[115,1641,1642],{},"GPT → Codex: direct official subscription, the most stable native scheduling.",[115,1644,1645],{},"Gemini → AntiGravity: the speed ceiling, long windows without choking.",[115,1647,1648],{},"DeepSeek, GLM and other open models → open-model-friendly harnesses like OpenCode \u002F ZCode.",[33,1650,1651,1652],{},"Put a model into a mismatched shell and you basically can't escape degraded intelligence, slower responses, and broken subscriptions. ",[67,1653,1654],{},"Keep each model in the seat where it's most comfortable — the combination is your stack.",[48,1656,1658],{"id":1657},"finally","Finally",[33,1660,1661,1662,1665],{},"I've run this stack for months, and the biggest change isn't how much money I saved — it's that ",[67,1663,1664],{},"I dare to open tasks",". Because it's stable and cheap, opening 15 projects doesn't scare me. The value of a tool stack ultimately shows up in how much work you dare to put on it.",{"title":152,"searchDepth":153,"depth":153,"links":1667},[1668,1669,1670,1671,1672],{"id":1559,"depth":153,"text":1560},{"id":1573,"depth":153,"text":1574},{"id":1616,"depth":153,"text":1617},{"id":1630,"depth":153,"text":1631},{"id":1657,"depth":153,"text":1658},"OpenCode + OpenChamber + two DeepSeek V4 Flash subscriptions: 15 projects running code simultaneously and the quota barely moved. The full configuration laid out — context pruning, layered memory, desktop automation, and the \"stick with the original pairing\" lesson.",{},"\u002Fblog\u002Fopencode-productive-stack",{"title":1534,"description":1673},"blog\u002Fopencode-productive-stack.en",[104,1679,1680],"AI Coding","Configuration","lDieSfGf0bGByAhX88okksnSUOOSyR0E7KeYL7eEjvs",{"id":1683,"title":1684,"author":1685,"body":1687,"date":1955,"description":1956,"extension":165,"image":7,"locale":10,"meta":1957,"minRead":705,"navigation":12,"original":168,"path":1958,"pinned":168,"seo":1959,"source":1386,"sourceUrl":1695,"stem":1960,"tags":1961,"updated":7,"__hash__":1963},"blog\u002Fblog\u002Fproduct-faxin-principle.en.md","The founding-intention principle: why indie developers must learn to let go",{"name":23,"avatar":1686},{"src":25,"alt":23},{"type":27,"value":1688,"toc":1947},[1689,1697,1700,1703,1706,1709,1712,1715,1718,1724,1727,1738,1742,1750,1755,1758,1761,1764,1767,1771,1774,1777,1780,1783,1786,1789,1792,1795,1798,1801,1805,1808,1811,1814,1817,1820,1823,1826,1830,1833,1836,1839,1842,1845,1848,1851,1854,1858,1861,1864,1867,1870,1873,1876,1879,1882,1886,1889,1892,1895,1898,1901,1904,1907,1930,1933,1938],[30,1690,1691],{},[33,1692,954,1693,43],{},[37,1694,959],{"href":1695,"rel":1696},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Farticle\u002F2068296188340895744",[41],[33,1698,1699],{},"Lately I've noticed an interesting pattern:",[33,1701,1702],{},"Lots of people building tools start by wanting to serve everyone.",[33,1704,1705],{},"That's a dangerous thought.",[33,1707,1708],{},"If you want to serve everyone, that means you haven't stood in anyone's shoes at all.",[33,1710,1711],{},"It's a product person building in a bubble, admiring their own reflection.",[33,1713,1714],{},"The right move is to grab a small batch of users, find the pain that cuts them deep, and serve the hell out of them.",[33,1716,1717],{},"Know who among them really hurts and is in a hurry, and who would hand over money for your service today.",[33,1719,1720,1721,43],{},"Let me share a principle I call the ",[67,1722,1723],{},"founding-intention principle",[33,1725,1726],{},"It's about these questions:",[112,1728,1729,1732,1735],{},[115,1730,1731],{},"Why do you set out?",[115,1733,1734],{},"Who do you set out for?",[115,1736,1737],{},"Which problem do you actually want to solve?",[48,1739,1741],{"id":1740},"what-is-founding-intention","What is \"founding intention\"",[33,1743,1744,1745,1749],{},"There's a passage in ",[1746,1747,1748],"em",{},"Standing in the Nail"," (置身钉内):",[30,1751,1752],{},[33,1753,1754],{},"Founding intention (发心) is the inner motive and fundamental vow behind action — the starting point, direction, and source of energy for all work, life, practice, and cultivation. Products have founding intentions too. A product's founding intention is the most original starting point of its founder. In most cases, a good product has only one primary founding intention. When a product's intentions multiply without priority, it becomes a greedy and anxious product.",[33,1756,1757],{},"The test for founding intention: when the product's values conflict, who does it truly lean toward?",[33,1759,1760],{},"User experience and monetization conflict — who does it lean toward?",[33,1762,1763],{},"Simple and pleasant versus feature-complete — who does it lean toward?",[33,1765,1766],{},"Once the answers come out, the product's founding intention is revealed.",[48,1768,1770],{"id":1769},"meituan-the-mental-anchor-of-local-life-transactions","Meituan: the mental anchor of local-life transactions",[33,1772,1773],{},"This pattern is common among Chinese super-apps. Meituan is a textbook example.",[33,1775,1776],{},"Meituan's user mental model is local-life transactions.",[33,1778,1779],{},"You open Meituan: ordering food when hungry, booking restaurants when going out, buying movie tickets, finding hotels. Its core value is helping users complete real-life transactions faster.",[33,1781,1782],{},"But over time, Meituan has grown novels, short dramas, mini-games, video, and livestreams.",[33,1784,1785],{},"You can even, inside Meituan: \"START GENSHIN!!!\"",[33,1787,1788],{},"Tell me that's not ridiculous???",[33,1790,1791],{},"Games definitely have value, and sure, Genshin can start. But don't start Genshin while my stomach is growling!",[33,1793,1794],{},"Man, let me fill my belly before we talk about Genshin!!!",[33,1796,1797],{},"Users come with a task, finish it, and leave. The faster users hit their goal, the more trustworthy the product becomes.",[33,1799,1800],{},"That's the counterintuitive truth about many high-frequency tools: they make money off traffic, but their long-term value comes from restraint.",[48,1802,1804],{"id":1803},"alipay-wallet-vibes-fighting-the-content-feed","Alipay: wallet vibes fighting the content feed",[33,1806,1807],{},"Alipay is cut from the same cloth. Alipay's underlying identity is money, credit, and certainty.",[33,1809,1810],{},"You open Alipay to pay, collect, transfer, pay bills, check statements, ride the subway, scan your medical code. It's a high-trust scenario.",[33,1812,1813],{},"Users hand it their money, identity, credit, and household bills — so its product temperament is a wallet: rock-solid steady.",[33,1815,1816],{},"But now you can scroll short videos inside your wallet. Like a bank that also offers foot massages, SPA, and the full package.",[33,1818,1819],{},"Users start wondering: did I come here to take care of business, or to get taken care of?",[33,1821,1822],{},"Money scenarios need calm; content feeds are engineered to hook you.",[33,1824,1825],{},"Force the two temperaments together and you get a weird greasy feeling.",[48,1827,1829],{"id":1828},"where-intention-drift-is-most-dangerous","Where intention-drift is most dangerous",[33,1831,1832],{},"Many domestic apps have sprouted financial entrances. Food delivery lets you borrow money; ride-hailing lets you borrow; travel lets you borrow; shopping lets you borrow; maps and local-life apps route you to loan services too.",[33,1834,1835],{},"Stick a lending entrance into these scenarios and you might improve monetization in the short term, but long term, you change how users look at you.",[33,1837,1838],{},"You used to be a tool. Now you're a middleman.",[33,1840,1841],{},"You used to help me get one thing done. Now you take the opportunity to assess whether I'm good for another loan.",[33,1843,1844],{},"That's the most dangerous part of intention drift. It doesn't destroy the product overnight.",[33,1846,1847],{},"It slowly changes the product's temper.",[33,1849,1850],{},"Big companies doing this have their own business logic. They have massive traffic, complex organizations, monetization pressure, and many departments to feed.",[33,1852,1853],{},"We don't need to lecture them from a moral high ground.",[48,1855,1857],{"id":1856},"the-indie-developers-advantage-is-being-clean","The indie developer's advantage is being clean",[33,1859,1860],{},"As an indie developer, your product can be thoroughly clean — clean enough to look almost shabby.",[33,1862,1863],{},"That's actually an advantage.",[33,1865,1866],{},"Many indie developers start out anxious: too few features, too narrow a use case, market not big enough. But the thing early products should actually fear is \"looking big.\"",[33,1868,1869],{},"Make the market big and users turn into an average. Averages have no expression, and they don't pay.",[33,1871,1872],{},"A genuinely valuable starting point is usually much smaller. Find a handful of people whose pain is specific enough, who want it today, who'd pay for this one feature alone, who see the product and feel \"this was made for me.\"",[33,1874,1875],{},"That's when the product starts to have life.",[33,1877,1878],{},"For example, \"a podcast editing tool\" is far too broad. Change it to \"for solo podcast hosts, quickly cut a one-hour interview into a few short videos\" and the product instantly becomes sharp.",[33,1880,1881],{},"\"An AI landing page generator for developers\" is also vague. \"For indie developers, quickly generate an email-capturing landing page before a product launch\" — now the need is clear.",[48,1883,1885],{"id":1884},"the-founding-intention-principle-ultimately-lands-on-letting-go","The founding-intention principle ultimately lands on \"letting go\"",[33,1887,1888],{},"Real strategic advantage isn't what you do — it's what you dare not to do.",[33,1890,1891],{},"That sentence is an indie developer's product mantra. An indie developer's most precious resource is attention. Every direction you add is more upkeep.",[33,1893,1894],{},"WeChat is a positive example worth studying.",[33,1896,1897],{},"WeChat is certainly complex, but its core conversation entrance has stayed stable for years. Users open WeChat and their first instinct is still: find someone, see messages, handle relationships.",[33,1899,1900],{},"Channels didn't eat the chat list. Official accounts didn't turn the message page into a content feed. Mini programs don't require users to browse an app store every time they open WeChat.",[33,1902,1903],{},"WeChat's restraint isn't about having few features. It's that it knows where the load-bearing walls are. You can add floors, renovate, remodel — but you can't tear down the load-bearing walls.",[33,1905,1906],{},"So these days I think the first thing an indie developer should write isn't a roadmap — it's a \"letting-go list.\"",[112,1908,1909,1912,1915,1918,1921,1924,1927],{},[115,1910,1911],{},"Which people to not serve yet",[115,1913,1914],{},"Which scenarios to not touch yet",[115,1916,1917],{},"Which features to not add for now",[115,1919,1920],{},"Which monetization opportunities to hold off on",[115,1922,1923],{},"What must never go on the homepage",[115,1925,1926],{},"What must never interrupt the main flow",[115,1928,1929],{},"What, even if it looks valuable, must not break the core task",[33,1931,1932],{},"We don't have the traffic, the brand, or the organizational resources of big companies. The only places we can win are being more specific, cleaner, and sharper.",[33,1934,1935],{},[67,1936,1937],{},"A product's true sharpness comes from what you're willing to cut.",[33,1939,1940,1941],{},"Reference: ",[1746,1942,1943],{},[37,1944,1748],{"href":1945,"rel":1946},"https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1-jRahxfzJMQD9-8J9pZyeX1DIwKMyeg7\u002Fview?usp=drivesdk",[41],{"title":152,"searchDepth":153,"depth":153,"links":1948},[1949,1950,1951,1952,1953,1954],{"id":1740,"depth":153,"text":1741},{"id":1769,"depth":153,"text":1770},{"id":1803,"depth":153,"text":1804},{"id":1828,"depth":153,"text":1829},{"id":1856,"depth":153,"text":1857},{"id":1884,"depth":153,"text":1885},"2026-06-20","Why do you set out? Who do you set out for? Which problem are you actually trying to solve? A product's sharpness comes from what you dare to cut.",{},"\u002Fblog\u002Fproduct-faxin-principle",{"title":1684,"description":1956},"blog\u002Fproduct-faxin-principle.en",[1962,430],"Product thinking","6AeVCh9lcJMr0HfMheDQSpaKXxMvDYwksflSjEjPgnE",{"id":1965,"title":1966,"author":1967,"body":1969,"date":1955,"description":2210,"extension":165,"image":7,"locale":10,"meta":2211,"minRead":656,"navigation":12,"original":168,"path":2212,"pinned":168,"seo":2213,"source":1386,"sourceUrl":1977,"stem":2214,"tags":2215,"updated":7,"__hash__":2217},"blog\u002Fblog\u002Fproduct-pain-vs-itch.en.md","Don't get carried away when users say \"that's awesome\": pain points vs. itch points",{"name":23,"avatar":1968},{"src":25,"alt":23},{"type":27,"value":1970,"toc":2203},[1971,1979,1982,1985,1988,1991,1994,1997,2000,2003,2006,2010,2013,2027,2030,2033,2037,2040,2043,2046,2049,2054,2058,2061,2064,2067,2081,2086,2089,2092,2095,2099,2102,2105,2108,2125,2128,2131,2134,2139,2142,2145,2148,2151,2154,2159,2163,2166,2169,2172,2175,2178,2181,2184,2187,2190,2193,2196],[30,1972,1973],{},[33,1974,954,1975,43],{},[37,1976,959],{"href":1977,"rel":1978},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Farticle\u002F2068312581912379392",[41],[33,1980,1981],{},"There's one sentence that fools indie developers easier than anything:",[33,1983,1984],{},"\"That idea is awesome.\"",[33,1986,1987],{},"It sounds great. It's usually worth nothing. Lots of people praising you doesn't mean they need what you're building. Maybe they're being polite, maybe the direction just sounds nice, maybe they're trying to encourage you.",[33,1989,1990],{},"You're talking a mile a minute and they don't have the heart to pour cold water, so they toss you a free one:",[33,1992,1993],{},"\"Nice, that's pretty valuable.\"",[33,1995,1996],{},"And you're hooked.",[33,1998,1999],{},"You think you've validated the demand. What you actually validated is that the other person is decent.",[33,2001,2002],{},"A user's verbal \"awesome\" at most tells you your idea doesn't sound stupid.",[33,2004,2005],{},"It doesn't prove they have a need. It doesn't prove they'll migrate. It doesn't prove they'll use it daily. And it definitely doesn't prove they'll pay.",[48,2007,2009],{"id":2008},"verbal-approval-is-the-most-damaging-thing","Verbal approval is the most damaging thing",[33,2011,2012],{},"In product research, nothing hurts like verbal approval.",[112,2014,2015,2018,2021,2024],{},[115,2016,2017],{},"\"Tell me when it's live.\"",[115,2019,2020],{},"\"I'd definitely use it once it's built.\"",[115,2022,2023],{},"\"This direction has real market.\"",[115,2025,2026],{},"\"A lot of people around me need this.\"",[33,2028,2029],{},"These all sound like demand. Most are just social lubricant. They make you comfortable and confident, fooling you into thinking you've touched a real pain point. Then you actually build it, send the link over, and the person can't even be bothered to sign up.",[33,2031,2032],{},"That's when you realize the \"awesome\" you heard was just another way of saying \"good luck.\"",[48,2034,2036],{"id":2035},"theres-only-one-hard-standard-for-demand","There's only one hard standard for demand",[33,2038,2039],{},"Look at what the user is willing to pay.",[33,2041,2042],{},"Money is the hardest signal. If they'll pay, the problem genuinely stings them.",[33,2044,2045],{},"Money isn't the only cost. Time, data migration, actively trying the product, referring a colleague, putting up with a rough version — those are costs too.",[33,2047,2048],{},"But if a user won't pay any cost and will only say nice things, chances are it's just an itch.",[33,2050,2051],{},[67,2052,2053],{},"Pain points make people act. Itch points only make people polite.",[48,2055,2057],{"id":2056},"dont-mistake-your-friends-encouragement-for-the-market","Don't mistake your friends' encouragement for the market",[33,2059,2060],{},"A lot of indie developers start by talking their idea over with friends.",[33,2062,2063],{},"A friend says it's good, so you start building. A netizen says they want it, so you start building. Someone in the comments says \"saving this\" — and you think the market has arrived.",[33,2065,2066],{},"The real market lives in payment records, in scheduled trials, in users willing to show you their ugly current Excel setup, in users telling you how much money they waste on this problem every month, in users enduring bugs for a half-finished product.",[112,2068,2069,2072,2075,2078],{},[115,2070,2071],{},"A person who'd route around a problem with ten workarounds — that's pain.",[115,2073,2074],{},"A person who'd pay every month for an alternative — that's pain.",[115,2076,2077],{},"A person who'd spend half an hour explaining their workflow — that's pain.",[115,2079,2080],{},"A person who only says \"nice idea\" and nothing else — don't take it seriously.",[33,2082,2083,2084,548],{},"There's a sharp observation in ",[1746,2085,1748],{},[33,2087,2088],{},"Judging whether users accept a product, you can't just listen to whether they say \"good\" or \"bad\" — you have to see what they're willing to pay for it. They can pay money, pay time, pay attention, pay migration costs, pay organizational authorization, or pay psychological safety.",[33,2090,2091],{},"Because indie developers don't have the trial-and-error budget of big companies.",[33,2093,2094],{},"You can't burn six months on \"everyone says it's good.\" You need to know early whether this need is actually a business.",[48,2096,2098],{"id":2097},"ask-more-grounded-questions","Ask more grounded questions",[33,2100,2101],{},"Don't ask: \"What do you think of this product?\"",[33,2103,2104],{},"That question is far too easy to answer with fluff.",[33,2106,2107],{},"Ask:",[112,2109,2110,2113,2116,2119,2122],{},[115,2111,2112],{},"\"How are you solving this problem right now?\"",[115,2114,2115],{},"\"Have you ever paid money for this problem?\"",[115,2117,2118],{},"\"Would you pay an early-bird price right now?\"",[115,2120,2121],{},"\"Would you screenshot your current workflow for me?\"",[115,2123,2124],{},"\"If I build an ugly MVP, will you try it next week?\"",[33,2126,2127],{},"Then watch what they do, not what they say.",[33,2129,2130],{},"People in real pain give you details. They talk about their current frustrations, alternatives, budget, what they've tried, why it annoys them.",[33,2132,2133],{},"Fake pain only gives you opinions. They say \"the direction is good\" and go back to scrolling their phone.",[33,2135,2136],{},[67,2137,2138],{},"Opinions are worthless. Behavior is worth something. Paying is worth the most.",[33,2140,2141],{},"Plenty of products fail for one root reason: mistaking \"someone praised it\" for \"someone bought it.\"",[33,2143,2144],{},"Those two are very far apart. People who praise you are consuming your expression. People who buy are solving their own problem.",[33,2146,2147],{},"You can listen to praise — but don't make decisions with it.",[33,2149,2150],{},"You can collect positive feedback — but don't count it as orders.",[33,2152,2153],{},"You can believe in the direction — but always come back to one question:",[33,2155,2156],{},[67,2157,2158],{},"What is this person willing to pay for it?",[48,2160,2162],{"id":2161},"looks-valuable-often-means-nobodys-in-a-hurry-to-buy","\"Looks valuable\" often means nobody's in a hurry to buy",[33,2164,2165],{},"The thing indie developers should fear most is building products that \"look valuable.\"",[33,2167,2168],{},"If it looks valuable, everyone understands it, everyone can say something nice — and nobody's in a hurry to buy.",[33,2170,2171],{},"Truly good early products usually aren't that grand. It might solve one small thing for a tiny group of people, but that small thing is annoying enough, frequent enough, and expensive enough. Show it to them and they won't say \"nice direction\" — they'll ask directly:",[33,2173,2174],{},"How much?",[33,2176,2177],{},"When can I use it?",[33,2179,2180],{},"Can I try it today?",[33,2182,2183],{},"That's the good signal.",[33,2185,2186],{},"User says awesome — don't get carried away.",[33,2188,2189],{},"Make them pay. Make them try it. Make them migrate. Make them pay some real cost.",[33,2191,2192],{},"Once the cost shows up, the demand reveals itself.",[33,2194,2195],{},"And the difference between pain and itch becomes obvious.",[33,2197,1940,2198],{},[1746,2199,2200],{},[37,2201,1748],{"href":1945,"rel":2202},[41],{"title":152,"searchDepth":153,"depth":153,"links":2204},[2205,2206,2207,2208,2209],{"id":2008,"depth":153,"text":2009},{"id":2035,"depth":153,"text":2036},{"id":2056,"depth":153,"text":2057},{"id":2097,"depth":153,"text":2098},{"id":2161,"depth":153,"text":2162},"Verbal approval is worth nothing. There's only one hard standard for judging demand: what the user is willing to pay.",{},"\u002Fblog\u002Fproduct-pain-vs-itch",{"title":1966,"description":2210},"blog\u002Fproduct-pain-vs-itch.en",[1962,2216],"Demand judgment","_oMqJyqM-iE4XuULZfJ9MhaXCqbtid5OTcyU5gdPhsw",{"id":2219,"title":2220,"author":2221,"body":2223,"date":163,"description":2438,"extension":165,"image":7,"locale":10,"meta":2439,"minRead":593,"navigation":12,"original":168,"path":911,"pinned":168,"seo":2440,"source":171,"sourceUrl":2231,"stem":2441,"tags":2442,"updated":7,"__hash__":2444},"blog\u002Fblog\u002Fqwen-vision-for-deepseek.en.md","Giving DeepSeek multimodality: the Qwen-3.7-Flash vision approach",{"name":23,"avatar":2222},{"src":25,"alt":23},{"type":27,"value":2224,"toc":2430},[2225,2234,2237,2241,2244,2247,2251,2257,2260,2264,2267,2363,2366,2377,2384,2386,2403,2407,2410,2413,2417,2420,2423,2427],[30,2226,2227],{},[33,2228,35,2229,2233],{},[37,2230,42],{"href":2231,"rel":2232},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2085265465564336327",[41]," — 89k views, 600+ likes.",[33,2235,2236],{},"Lots of people complain that DeepSeek V4 Flash has no multimodal capability. It's a real gap — but there's no need to be married to one model.",[48,2238,2240],{"id":2239},"the-problem","The problem",[33,2242,2243],{},"V4 Flash's text ability is maxed out, but it's helpless with images: screenshots, table images, UI design mockups, scanned documents — none of it works.",[33,2245,2246],{},"Multimodality is the price of \"cheap\" — the model needs visual encoders, parameters balloon, and costs climb.",[48,2248,2250],{"id":2249},"the-fix-combine-models","The fix: combine models",[33,2252,2253,2254,43],{},"I surveyed the most cost-effective vision models on the market, and the answer is ",[67,2255,2256],{},"Qwen-3.7-Flash",[33,2258,2259],{},"The cost of recognizing one image is negligible. Use it as the dedicated vision model, keep text reasoning on V4 Flash, and get the best of both.",[48,2261,2263],{"id":2262},"how-to-combine-them","How to combine them",[33,2265,2266],{},"The simplest idea is \"routing\": input contains an image → vision model; pure text → V4 Flash.",[490,2268,2270],{"className":492,"code":2269,"language":494,"meta":152,"style":152},"\u002F\u002F pseudocode: route on demand\nfunction route(input) {\n  if (hasImage(input)) {\n    return qwenVision(input)   \u002F\u002F recognize image + extract key info\n  }\n  return deepseekV4Flash(input) \u002F\u002F text reasoning\n}\n",[460,2271,2272,2278,2297,2317,2335,2340,2358],{"__ignoreMap":152},[498,2273,2274],{"class":500,"line":501},[498,2275,2277],{"class":2276},"sHwdD","\u002F\u002F pseudocode: route on demand\n",[498,2279,2280,2283,2286,2288,2292,2295],{"class":500,"line":153},[498,2281,2282],{"class":504},"function",[498,2284,2285],{"class":520}," route",[498,2287,524],{"class":512},[498,2289,2291],{"class":2290},"sHdIc","input",[498,2293,2294],{"class":512},")",[498,2296,539],{"class":512},[498,2298,2299,2302,2305,2308,2310,2312,2315],{"class":500,"line":158},[498,2300,2301],{"class":516},"  if",[498,2303,2304],{"class":544}," (",[498,2306,2307],{"class":520},"hasImage",[498,2309,524],{"class":544},[498,2311,2291],{"class":508},[498,2313,2314],{"class":544},")) ",[498,2316,653],{"class":512},[498,2318,2319,2322,2325,2327,2329,2332],{"class":500,"line":571},[498,2320,2321],{"class":516},"    return",[498,2323,2324],{"class":520}," qwenVision",[498,2326,524],{"class":544},[498,2328,2291],{"class":508},[498,2330,2331],{"class":544},")   ",[498,2333,2334],{"class":2276},"\u002F\u002F recognize image + extract key info\n",[498,2336,2337],{"class":500,"line":593},[498,2338,2339],{"class":512},"  }\n",[498,2341,2342,2345,2348,2350,2352,2355],{"class":500,"line":167},[498,2343,2344],{"class":516},"  return",[498,2346,2347],{"class":520}," deepseekV4Flash",[498,2349,524],{"class":544},[498,2351,2291],{"class":508},[498,2353,2354],{"class":544},") ",[498,2356,2357],{"class":2276},"\u002F\u002F text reasoning\n",[498,2359,2360],{"class":500,"line":635},[498,2361,2362],{"class":512},"}\n",[33,2364,2365],{},"A more advanced play is feeding the vision output straight into V4 Flash for further reasoning:",[778,2367,2368,2371,2374],{},[115,2369,2370],{},"Have Qwen-3.7-Flash recognize the image and output a structured description",[115,2372,2373],{},"Hand the description + original question to DeepSeek V4 Flash together",[115,2375,2376],{},"V4 Flash reasons deeply on the description — writes code, summarizes",[33,2378,2379,2380,2383],{},"This way you get vision ",[1746,2381,2382],{},"and"," V4 Flash's cheap-and-fast.",[48,2385,758],{"id":757},[112,2387,2388,2391,2394,2397,2400],{},[115,2389,2390],{},"Screenshot Q&A: throw in error screenshots and chat screenshots",[115,2392,2393],{},"Table \u002F document images into structured data",[115,2395,2396],{},"UI mockups into code",[115,2398,2399],{},"Extracting info from scanned invoices and contracts",[115,2401,2402],{},"Agents that need to \"see\" a screen",[48,2404,2406],{"id":2405},"why-not-other-options","Why not other options",[33,2408,2409],{},"Pure vision LLMs (like the GPT family's multimodal models) are strong, but the price is what it is — not economical for daily batch work.",[33,2411,2412],{},"Qwen-3.7-Flash wins on cost-performance: recognition quality is sufficient, cost is nearly invisible, and you can run big batches without wincing.",[48,2414,2416],{"id":2415},"summary","Summary",[33,2418,2419],{},"Model combination is the norm — don't expect one model to do everything.",[33,2421,2422],{},"Text workhorse V4 Flash (cheap, fast, huge context), vision supplement Qwen-3.7-Flash (cheap, good enough) — this combo is the best cost-performance option available right now. Patch what's missing rather than waiting for a \"does-everything-but-expensive\" model to arrive.",[33,2424,797,2425],{},[37,2426,800],{"href":149},[802,2428,2429],{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":152,"searchDepth":153,"depth":153,"links":2431},[2432,2433,2434,2435,2436,2437],{"id":2239,"depth":153,"text":2240},{"id":2249,"depth":153,"text":2250},{"id":2262,"depth":153,"text":2263},{"id":757,"depth":153,"text":758},{"id":2405,"depth":153,"text":2406},{"id":2415,"depth":153,"text":2416},"DeepSeek V4 Flash has no multimodality — what do you do for image understanding? After surveying the market, the most cost-effective option right now is Qwen-3.7-Flash: recognizing an image costs almost nothing, and pairing it with V4 Flash patches the gap.",{},{"title":2220,"description":2438},"blog\u002Fqwen-vision-for-deepseek.en",[819,2443,941],"Multimodality","b7Sa3aejlhdk34LLAhLRG8EUQM05w6exJ8xmdFT4568",{"id":2446,"title":2447,"author":2448,"body":2450,"date":2560,"description":2561,"extension":165,"image":7,"locale":10,"meta":2562,"minRead":571,"navigation":12,"original":12,"path":2563,"pinned":168,"seo":2564,"source":7,"sourceUrl":7,"stem":2565,"tags":2566,"updated":7,"__hash__":2569},"blog\u002Fblog\u002Fsub-store-cloudflare.en.md","I moved my proxy subscription aggregation to Cloudflare",{"name":23,"avatar":2449},{"src":25,"alt":23},{"type":27,"value":2451,"toc":2554},[2452,2455,2462,2466,2469,2472,2483,2486,2489,2493,2496,2516,2519,2523,2526,2529,2536,2543,2545,2548,2551],[33,2453,2454],{},"I've used proxy services for three or four years now, and at times I've run my own VPS nodes. There's always been one annoying thing: three or five subscriptions plus a few self-hosted boxes scattered in the client, added one by one, with routing rules having to be reconfigured in every single client. New device, new client, or setting someone in the family up — and you go through the whole ritual again.",[33,2456,2457,2458,43],{},"Then I thought: there's no reason to manage subscriptions separately inside clients. Pull them all into one link, define the rules server-side, and let the client simply subscribe — clean. I'd used Sub-Store's approach before, but it ran on your own server and I found maintenance a hassle. So this time I wrote a Cloudflare-hosted version myself, called sub-store-cloudflare, open-sourced on ",[37,2459,245],{"href":2460,"rel":2461},"https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fsub-store-cloudflare",[41],[48,2463,2465],{"id":2464},"it-really-just-does-one-thing","It really just does one thing",[33,2467,2468],{},"Merges multiple subscription sources into one subscription.",[33,2470,2471],{},"Concretely, you can throw a few things into it:",[112,2473,2474,2477,2480],{},[115,2475,2476],{},"Subscription links from several proxy services",[115,2478,2479],{},"Node text from your own VPS (vless, trojan, ss, vmess — all fine)",[115,2481,2482],{},"Even paste in a temporary chunk of nodes",[33,2484,2485],{},"Once inside, the Worker fetches and de-duplicates them, filters according to the rules you give it, then renames, adds flags, and resolves domains as needed. Everything comes out merged into one combined subscription — clients subscribe to that single link and done.",[33,2487,2488],{},"Rules live on the server side. It ships with a few common Mihomo templates — acl4ssr, Loyalsoldier's whitelist\u002Fblacklist, ai-streaming and the like — with routing groups and rule sets all configured in the cloud. Feed the subscription into clients like mihomo\u002Fclash, surge, sing-box, shadowrocket, and what downloads is a finished subscription with routing rules already built in — no manual rule-writing or rule-set URL maintenance on that end.",[48,2490,2492],{"id":2491},"why-cloudflare-specifically","Why Cloudflare specifically",[33,2494,2495],{},"Pragmatic reasons:",[112,2497,2498,2504,2510],{},[115,2499,2500,2503],{},[67,2501,2502],{},"No server."," Workers + D1, and the free quota is enough for personal use — saves both server money and upkeep.",[115,2505,2506,2509],{},[67,2507,2508],{},"The workers.dev domain is itself outside the wall."," Your client connecting to fetch the subscription works out of the box — no \"server is abroad but the node still needs a ladder to pull its own subscription\" nesting-doll nonsense.",[115,2511,2512,2515],{},[67,2513,2514],{},"Once deployed, it's a web admin panel plus a download endpoint."," Switch clients on your phone and you can still open a web page to change config.",[33,2517,2518],{},"I deliberately kept the stack small: Worker + Static Assets + D1 + Worker Secrets. KV, R2, Durable Objects, Queue, Cron are all off the critical path — the fewer, the better.",[48,2520,2522],{"id":2521},"two-deployment-paths-on-purpose","Two deployment paths, on purpose",[33,2524,2525],{},"The first is for people who just want to use it: click the Deploy to Cloudflare button in the repo. Cloudflare pulls the repo, creates the Worker and D1, asks you for two tokens, and hands you a management link with a token when done. Step by step, no command line.",[33,2527,2528],{},"The second is for me and for people who like tinkering: one-click install with an AI agent.",[33,2530,2531,2532,2535],{},"The repo ships an agent protocol (AGENTS.md + a SKILL inside the agent). You write your subscription sources, the combined subscriptions you want, and the rule templates into a local config file, run ",[460,2533,2534],{},"pnpm run install:cloudflare",", and the agent checks your Cloudflare login, creates the database, writes secrets, migrates, deploys, imports config, verifies the links, and finally hands you the management link and download link.",[33,2537,2538,2539,2542],{},"I deployed my own link exactly this way, so I recommend this route — less fuss. When using it with Codex \u002F Claude Code, just copy the prompt from ",[460,2540,2541],{},"agent\u002Finstall.prompt.md"," in the repo.",[48,2544,400],{"id":399},[33,2546,2547],{},"Straight talk: if you have more than one proxy service plus a few self-hosted nodes and want them merged into a single subscription for your own use — this is your project. If you're happily getting by with just one service, you really don't need this.",[33,2549,2550],{},"Code is fully open source, AGPL. The frontend interaction is a nod to the original Sub-Store; the original runs in a container and covers a wider client ecosystem. Mine is a leaner Cloudflare-native form — easier to modify and deploy directly, not a line-by-line clone.",[33,2552,2553],{},"Interested people can browse the repo — the README is fairly complete, just follow the deployment steps.",{"title":152,"searchDepth":153,"depth":153,"links":2555},[2556,2557,2558,2559],{"id":2464,"depth":153,"text":2465},{"id":2491,"depth":153,"text":2492},{"id":2521,"depth":153,"text":2522},{"id":399,"depth":153,"text":400},"2026-06-28","Merge multiple proxy services plus your own nodes into one single subscription, with routing rules configured server-side — clients just subscribe.",{},"\u002Fblog\u002Fsub-store-cloudflare",{"title":2447,"description":2561},"blog\u002Fsub-store-cloudflare.en",[429,2567,2568],"Circumvention","Open-source project","88d3l-n5zJllqIBodN2MbEY0Y36gyWCKwEvbba-Oe5Y",{"id":2571,"title":2572,"author":2573,"body":2575,"date":1523,"description":2696,"extension":165,"image":7,"locale":10,"meta":2697,"minRead":635,"navigation":12,"original":168,"path":2698,"pinned":168,"seo":2699,"source":171,"sourceUrl":2583,"stem":2700,"tags":2701,"updated":7,"__hash__":2704},"blog\u002Fblog\u002Ftui-cognitive-bandwidth.en.md","TUI Is Killing Your Cognitive Bandwidth: Time to Shatter the \"Geek Filter\" in AI Coding",{"name":23,"avatar":2574},{"src":25,"alt":23},{"type":27,"value":2576,"toc":2689},[2577,2586,2589,2592,2595,2599,2602,2608,2614,2620,2623,2627,2630,2637,2640,2644,2650,2653,2656,2660,2663,2666,2669,2673,2676,2679,2686],[30,2578,2579],{},[33,2580,1402,2581,2585],{},[37,2582,42],{"href":2583,"rel":2584},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087949416808518106",[41],"; this is the full-length version.",[33,2587,2588],{},"A pile of AI coding agents are rushing to ship TUIs these days, and Claude Code owes a big share of the blame for that trend. It made conversing with an AI in the terminal to write code an art form — but it also set a taste and a path dependence: a \"truly advanced\" coding agent must default to a terminal interface; the web version is an afterthought, even mocked as \"not programmer enough.\"",[33,2590,2591],{},"And the result? Build a complicated TUI first — all the colors, status bars, shortcuts, and mode switching — then call it \"immersive,\" \"efficient,\" and \"respectful of programmers.\"",[33,2593,2594],{},"Really?",[48,2596,2598],{"id":2597},"you-think-youre-conversing-but-youre-wrestling","You Think You're Conversing, but You're Wrestling",[33,2600,2601],{},"For the small group who live in the terminal all day, sure, TUI feels great. For many more people, it's a wall built on purpose. When you collaborate with an agent through a TUI, you're constantly doing three things:",[33,2603,2604,2607],{},[67,2605,2606],{},"Recalling shortcuts and modes."," Every tool has its own keymap. New users are lost; even veterans relearn every tool's personal habits.",[33,2609,2610,2613],{},[67,2611,2612],{},"Locating information inside a scrolling stream of characters."," State isn't laid out for you — it's buried in a timeline you excavate by scrolling and searching.",[33,2615,2616,2619],{},[67,2617,2618],{},"Praying you haven't stumbled into some weird state."," Mode switching is invisible; you often don't know which mode you're in until something breaks.",[33,2621,2622],{},"That's not interaction anymore — that's wrestling with an interface.",[48,2624,2626],{"id":2625},"information-density-is-not-information-efficiency","Information Density Is Not Information Efficiency",[33,2628,2629],{},"The favorite word of TUI defenders is \"density.\" But push information density to the extreme and you pay for it by trampling readability and recoverability to the minimum.",[33,2631,2632,2633,2636],{},"A truly efficient interface should ",[67,2634,2635],{},"spread the state out in front of you",", letting your eyes and spatial sense do the understanding — which task is running, which session is waiting for input, which file got changed, all visible at a glance. Instead of forcing everything into short-term memory while your brain maintains an invisible map of \"current system state.\"",[33,2638,2639],{},"Human working memory has four to seven slots. The TUI interaction model essentially spends your most precious cognitive resource on \"remembering interface state\" instead of \"thinking about the problem.\"",[48,2641,2643],{"id":2642},"it-also-cultivates-a-bad-habit","It Also Cultivates a Bad Habit",[33,2645,2646,2647],{},"Worse, the TUI ecosystem cultivates a broken value judgment: ",[67,2648,2649],{},"treating mastery of a tool's keymap as an ability in itself.",[33,2651,2652],{},"So people spend enormous energy adapting to the interface instead of thinking about the problem. The measure of a programmer becomes \"can you recite these shortcuts\" rather than \"can you decompose the problem clearly.\"",[33,2654,2655],{},"A good tool should lower the cost of thinking, not move the cost of thinking into \"how to operate this interface.\"",[48,2657,2659],{"id":2658},"web-ui-can-be-fast-and-clean","Web UI Can Be Fast and Clean",[33,2661,2662],{},"Some say the web is slow and not \"native.\" It's 2026 — that argument is long dead.",[33,2664,2665],{},"A web UI can be just as fast and clean: install it as a PWA and it's nearly indistinguishable from a desktop client, with easier updates — no manual upgrades, just refresh for the latest version. Long sessions, parallel tasks, visualized task states — these are exactly the strengths of browser DOM, not character streams.",[33,2667,2668],{},"My own daily setup is a web interface like OpenChamber on an OpenCode core, under long-term heavy use — rock solid. If I nitpick, the occasional small web bug never affects long-term use, whereas certain TUI mode switches have bitten me plenty of times.",[48,2670,2672],{"id":2671},"tools-exist-to-serve-people-not-to-prove-whos-more-hardcore","Tools Exist to Serve People, Not to Prove Who's More \"Hardcore\"",[33,2674,2675],{},"Claude Code itself is excellent, no dispute. But it popularized the \"TUI is the orthodox way\" aesthetic, and the imitators that followed are worse — they skip interaction design entirely and treat \"living in the terminal\" as proof of sophistication.",[33,2677,2678],{},"Dressing up anti-human interaction as sophistication — it's genuinely hilarious.",[33,2680,2681,2682,2685],{},"Tools exist to serve people. The standard should always be: ",[67,2683,2684],{},"did it lower the total cost of getting your work done?"," If an interface makes you spend energy \"wrestling with the interface,\" it's a liability no matter how \"hardcore\" it looks.",[33,2687,2688],{},"Next time you pick a coding agent, take the filter off first.",{"title":152,"searchDepth":153,"depth":153,"links":2690},[2691,2692,2693,2694,2695],{"id":2597,"depth":153,"text":2598},{"id":2625,"depth":153,"text":2626},{"id":2642,"depth":153,"text":2643},{"id":2658,"depth":153,"text":2659},{"id":2671,"depth":153,"text":2672},"A pile of AI coding agents are rushing to ship TUIs, stuffing interaction back into the 1980s terminal paradigm and calling it \"immersive\" and \"respectful of programmers.\" This piece breaks down the three mechanisms by which TUI systematically lowers your cognitive bandwidth — and why Web UI is the right answer.",{},"\u002Fblog\u002Ftui-cognitive-bandwidth",{"title":2572,"description":2696},"blog\u002Ftui-cognitive-bandwidth.en",[1679,2702,2703],"Interaction design","Essay","SArTpobj9jKwl1X1Z4NgVGfnQ6mDq5OFuVEhBgzJJPY",{"id":2706,"title":2707,"author":2708,"body":2710,"date":2901,"description":2902,"extension":165,"image":7,"locale":10,"meta":2903,"minRead":167,"navigation":12,"original":168,"path":2904,"pinned":168,"seo":2905,"source":171,"sourceUrl":2718,"stem":2906,"tags":2907,"updated":7,"__hash__":2910},"blog\u002Fblog\u002Fvalue-not-external.en.md","Debating whether something has value is itself worthless",{"name":23,"avatar":2709},{"src":25,"alt":23},{"type":27,"value":2711,"toc":2897},[2712,2720,2723,2726,2729,2732,2735,2738,2743,2746,2749,2752,2755,2758,2761,2771,2774,2777,2780,2783,2786,2789,2803,2806,2809,2812,2815,2819,2822,2825,2828,2831,2834,2837,2840,2843,2846,2849,2852,2855,2858,2861,2864,2867,2870,2874,2877,2880,2883,2886,2889,2892],[30,2713,2714],{},[33,2715,954,2716,43],{},[37,2717,42],{"href":2718,"rel":2719},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067475762115174439",[41],[33,2721,2722],{},"I did something wrong.",[33,2724,2725],{},"I need to reflect thoroughly and apologize thoroughly.",[33,2727,2728],{},"I keep agonizing over whether something is useful, whether it has value.",[33,2730,2731],{},"I'm too restless.",[33,2733,2734],{},"I really am a restless person.",[33,2736,2737],{},"I need to correct this mistake completely, correct this mindset:",[33,2739,2740],{},[67,2741,2742],{},"Debating whether something has value is itself worthless.",[33,2744,2745],{},"Our value is not defined by anyone.",[33,2747,2748],{},"We eat, drink, sleep, daydream, make love every day.",[33,2750,2751],{},"That is our value.",[33,2753,2754],{},"I think, therefore I am. I make love, therefore I'm pleased.",[33,2756,2757],{},"AI is called AI, but it can't make love for me, so it has no value.",[33,2759,2760],{},"People don't live to prove themselves useful every single day.",[33,2762,2763,2764,2304,2767,2770],{},"A couple of years ago I watched the TV series ",[1746,2765,2766],{},"My Altay",[1746,2768,2769],{},"我的阿勒泰","), and one scene stayed with me:",[33,2772,2773],{},"The daughter Li Wenxiu asks her mother:",[33,2775,2776],{},"\"I'm clumsy, but I'm still a useful person, right?\"",[33,2778,2779],{},"Her mother Zhang Fengxia replies:",[33,2781,2782],{},"\"What does useful even mean? We didn't give birth to you so you could serve others. The trees and grass on the prairie — useful when someone eats them or uses them; if nobody uses them, they're just fine standing there on the grassland, free and easy.\"",[33,2784,2785],{},"My soul was struck right through.",[33,2787,2788],{},"Since childhood, we've all been trained into a tool-person mindset.",[112,2790,2791,2794,2797,2800],{},[115,2792,2793],{},"Is this thing useful?",[115,2795,2796],{},"Does this skill have value?",[115,2798,2799],{},"Can this thing be monetized?",[115,2801,2802],{},"Can this project raise productivity?",[33,2804,2805],{},"Question after question, until the person asking is worn out. Anxious all day, in FOMO, terrified of losing something.",[33,2807,2808],{},"So now I believe: value is something that shouldn't be defined externally at all.",[33,2810,2811],{},"You exist. You feel. You suffer. You rejoice. You love. You hate. You enjoy yourself. You laugh.",[33,2813,2814],{},"That is value.",[48,2816,2818],{"id":2817},"then-about-ai","Then about AI",[33,2820,2821],{},"What is AI's real value?",[33,2823,2824],{},"People.",[33,2826,2827],{},"Because AI is invented by people.",[33,2829,2830],{},"When we talk about AI, we shouldn't only talk about technology, efficiency, enablement, automation, cost-cutting and productivity gains.",[33,2832,2833],{},"Those things matter, of course.",[33,2835,2836],{},"But AI isn't merely technology.",[33,2838,2839],{},"There's humanism inside it.",[33,2841,2842],{},"We can have it depict romance, love, friendship, loneliness, desire — even write dirty books.",[33,2844,2845],{},"These all carry a person's own humanism.",[33,2847,2848],{},"It's romantic.",[33,2850,2851],{},"It shouldn't die out as AI develops.",[33,2853,2854],{},"So when we talk about AI, what are we actually talking about?",[33,2856,2857],{},"Are we talking about AI empowering technology?",[33,2859,2860],{},"Or about how AI takes part in human romance?",[33,2862,2863],{},"And AI will never learn human humor.",[33,2865,2866],{},"It has no idea what a joke is — it can only play cringe. If you ask it to write jokes, you get dad jokes.",[33,2868,2869],{},"Asking AI to write a joke is, in itself, the joke.",[48,2871,2873],{"id":2872},"what-i-want-to-talk-about","What I want to talk about",[33,2875,2876],{},"I want to start with AI and the human being itself.",[33,2878,2879],{},"From the angle of value.",[33,2881,2882],{},"From the angle of humanism.",[33,2884,2885],{},"From the angle of how we actually live with AI.",[33,2887,2888],{},"Then go deeper into the whole meta-skill set of working with AI to become more efficient.",[33,2890,2891],{},"What I want to say is:",[33,2893,2894],{},[67,2895,2896],{},"In the age of AI, how should people understand themselves?",{"title":152,"searchDepth":153,"depth":153,"links":2898},[2899,2900],{"id":2817,"depth":153,"text":2818},{"id":2872,"depth":153,"text":2873},"2026-06-18","Our value is not defined by anyone. In the age of AI, how should we understand ourselves?",{},"\u002Fblog\u002Fvalue-not-external",{"title":2707,"description":2902},"blog\u002Fvalue-not-external.en",[2908,2909],"AI thinking","Humanistic essay","0UXg6dXoudRJeWAPDtWaiQZ3CrHl0PNcXSmKH-G9NXY",{"id":2912,"title":2913,"author":2914,"body":2916,"date":3448,"description":3449,"extension":165,"image":7,"locale":10,"meta":3450,"minRead":730,"navigation":12,"original":168,"path":3451,"pinned":168,"seo":3452,"source":1386,"sourceUrl":2924,"stem":3453,"tags":3454,"updated":7,"__hash__":3457},"blog\u002Fblog\u002Fx-growth-1000-followers.en.md","Gained 1000+ followers in a little over a day — here's what I did",{"name":23,"avatar":2915},{"src":25,"alt":23},{"type":27,"value":2917,"toc":3435},[2918,2926,2931,2934,2937,2943,2946,2951,2954,2959,2962,2965,2970,2973,2978,2981,2984,2989,2992,2997,3000,3005,3008,3011,3014,3017,3022,3025,3028,3031,3034,3037,3040,3045,3050,3054,3057,3060,3063,3066,3071,3074,3077,3080,3085,3088,3093,3096,3099,3104,3107,3110,3115,3118,3121,3124,3127,3130,3133,3136,3141,3145,3148,3153,3156,3159,3162,3166,3169,3172,3175,3180,3184,3187,3192,3195,3200,3203,3206,3211,3215,3218,3221,3224,3229,3232,3237,3240,3243,3248,3252,3255,3260,3263,3268,3271,3276,3280,3283,3288,3291,3296,3299,3304,3307,3310,3314,3317,3322,3325,3330,3333,3338,3341,3346,3349,3353,3356,3361,3364,3367,3372,3377,3380,3384,3387,3392,3397,3400,3403,3406,3410,3413,3416,3419,3422,3425,3430,3432],[30,2919,2920],{},[33,2921,954,2922,43],{},[37,2923,959],{"href":2924,"rel":2925},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Farticle\u002F2066781309889134841",[41],[30,2927,2928],{},[33,2929,2930],{},"After gaining 1000+ followers in a little over a day, I was stunned.",[33,2932,2933],{},"X had Premium+ at 40% off, which seemed great. I bought the membership on June 13, and on June 14 I decided to actually get serious about running the account.",[33,2935,2936],{},"By the fifteenth, traffic took off. In a little over a day it netted me over a thousand followers.",[33,2938,2939],{},[2940,2941],"img",{"alt":152,"src":2942},"https:\u002F\u002Fpbs.twimg.com\u002Fmedia\u002FHK6pWkubIAAfSYd.jpg",[33,2944,2945],{},"This isn't a success-story sales pitch, and it's not teaching you some mystic algorithm. I'm still figuring things out myself — I just had some very strong feelings from actually doing it these past couple of days.",[33,2947,2948],{},[67,2949,2950],{},"There are a lot of things you simply can't understand until you actually go out and do them. When you watch others gain followers, you always wonder whether they have some inside secret, some methodology, some mysterious traffic formula.",[33,2952,2953],{},"But once you're really posting hard, engaging hard, showing up hard, you realize things aren't that complicated.",[30,2955,2956],{},[33,2957,2958],{},"The core of any social platform is interaction.",[33,2960,2961],{},"How much discussion, response, repost, like, and comment your content generates basically decides your traffic ceiling.",[33,2963,2964],{},"Platforms aren't charities. They're not going to push you to everyone just because you're working hard.",[30,2966,2967],{},[33,2968,2969],{},"And even opening P+ won't do that — P+ only raises your priority.",[33,2971,2972],{},"It looks at feedback. Whether people are willing to stop, click in, reply, repost, save, or form a relationship with you.",[30,2974,2975],{},[33,2976,2977],{},"Whether you can turn one piece of content into a discussion venue — that's the key.",[33,2979,2980],{},"When lots of people start an account, they immediately study the algorithm, post times, hashtags, formatting, and so-called viral structures. Study after study, until they've studied themselves into a daze.",[33,2982,2983],{},"The real problem is that they never actually came out. They don't post, or post very little; don't comment, or comment perfunctorily; don't reply to others, or act aloof when someone replies to them.",[30,2985,2986],{},[33,2987,2988],{},"They're like an observer hiding in the dark, watching how others get famous day after day, but never willing to actually step into the crowd.",[33,2990,2991],{},"But social platforms never reward observers. They reward people who show up.",[30,2993,2994],{},[33,2995,2996],{},"In the game of going out, the most important thing is to go out.",[33,2998,2999],{},"I signed up for Premium+ on June 13, more or less started running the account for real on June 14, and hit 1000+ followers by the 15th. Premium+ certainly played a role — I won't pretend otherwise.",[33,3001,3002],{},[67,3003,3004],{},"A big part of P+'s value is making your comments rank higher in other people's comment sections.",[33,3006,3007],{},"When your comments sit higher, you're more likely to be seen. More visibility means more chances to interact. More interaction gets the account moving.",[33,3009,3010],{},"But let me be clear: Premium+ isn't a magic wand, it's more like an amplifier. If you don't move yourself, there's nothing for it to amplify. You have P+, but you don't post, don't comment, don't reply, don't build relationships — it does nothing.",[33,3012,3013],{},"At most it gives you a better seat. But what you say from that seat, what you do, how you make people feel — that's still entirely on you.",[33,3015,3016],{},"A lot of people misunderstand social platforms, thinking followers come from \"posting one earth-shaking piece of content.\" Of course viral content matters.",[33,3018,3019],{},[67,3020,3021],{},"But for ordinary people, the more realistic starting path isn't holding out for one masterpiece — it's first making yourself come alive.",[33,3023,3024],{},"You need to let people see you're a living person — someone with opinions, emotions, responses, and value. You need to build a presence on the platform, and presence isn't built on fantasy — it's accumulated one appearance at a time.",[33,3026,3027],{},"The first time someone sees you in comments, they might feel nothing.",[33,3029,3030],{},"The second time, they think you look vaguely familiar.",[33,3032,3033],{},"The third time, they start remembering your avatar.",[33,3035,3036],{},"The fourth, fifth time, they might click into your profile to see who you actually are.",[33,3038,3039],{},"After that, when they see you post, they're willing to like, reply, or repost.",[33,3041,3042],{},[67,3043,3044],{},"What's called \"being likable,\" what's called an account's momentum — that's essentially how it slowly gets cultivated.",[33,3046,3047],{},[67,3048,3049],{},"So my understanding of X right now is very simple: output first, then interact, then review, then output again, interact again.",[48,3051,3053],{"id":3052},"lower-the-barrier-to-output","Lower the barrier to output",[33,3055,3056],{},"At this point, I highly recommend installing the Doubao keyboard.",[33,3058,3059],{},"What's amazing about the Doubao keyboard? Its voice-to-text is absurdly accurate.",[33,3061,3062],{},"What do \"say the word and it's done,\" \"talk the talk and walk the walk,\" \"spew ten thousand words without editing\" mean? That's Doubao keyboard for you. (Call me the Doubao keyboard champion.)",[33,3064,3065],{},"Of course, if you really can't get used to it, WeChat's keyboard works too. WeChat's keyboard also added voice-to-text — just less accurate.",[30,3067,3068],{},[33,3069,3070],{},"What's the benefit? It drastically lowers the barrier to writing. What's in your head becomes what comes out of your mouth becomes what's in your tweet. Your time cost and output cost get cut way down.",[33,3072,3073],{},"For me, the biggest help was making the resistance to output very low. You can just talk directly — say whatever comes to mind. Don't worry about structure, rhetoric, or perfection first.",[33,3075,3076],{},"Pour out what's in your head. Even if you spew ten thousand words and eight thousand are filler, that's fine — because hidden in the remaining two thousand might be the genuinely useful points.",[33,3078,3079],{},"Then someone asks: why not just have AI write it for me?",[33,3081,3082],{},[67,3083,3084],{},"What AI writes has no feeling of a living person.",[33,3086,3087],{},"And to interact with AI, you'd still use the Doubao keyboard to output your own points, then have AI revise them.",[30,3089,3090],{},[33,3091,3092],{},"By the time I've gone back and forth with AI, I could have posted three more tweets.",[33,3094,3095],{},"The reason many people can't get momentum isn't that they have no ideas — it's that they take writing way too seriously.",[33,3097,3098],{},"Before posting a tweet, they think for ages. Is this point too shallow? Is this phrasing not refined enough? Is this sentence not perfect? Will people think I'm dumb? What if nobody likes it? What if someone attacks me?",[33,3100,3101],{},[67,3102,3103],{},"Honestly, this kind of internal friction wastes the most time.",[33,3105,3106],{},"Posting one piece of content costs almost nothing while its upside can be high. Low cost, high reward — that kind of thing shouldn't be treated like writing a thesis.",[33,3108,3109],{},"You can polish, sure — but first you have to start. A lot of the time, it's not that you figure it out and then post; it's that you figure it out by posting.",[30,3111,3112],{},[33,3113,3114],{},"If you never throw anything out, you never get feedback. No feedback, no iteration. No iteration, no progress.",[33,3116,3117],{},"Many people can't write because they judge themselves while writing. Two characters in, it feels wrong; one sentence in, it feels too ordinary; one idea in, they think someone's already said it.",[33,3119,3120],{},"How can you output at high frequency like that? The best approach is to say it out loud first. The biggest benefit of voice input is that it gets you around the psychological burden of \"I must write a perfect article.\"",[33,3122,3123],{},"Treat it like chatting with a friend: speak first, revise later.",[33,3125,3126],{},"X suits fragmented-time operations perfectly. You don't need to set aside a whole afternoon every day to write.",[33,3128,3129],{},"In the bathroom, use Doubao keyboard to dictate a passage.",[33,3131,3132],{},"Waiting for the elevator, reply to a few comments. Before a meal, browse a few profiles. Before bed, review the day's thoughts.",[33,3134,3135],{},"The platform's rhythm is fast — it naturally suits fragmented expression.",[30,3137,3138],{},[33,3139,3140],{},"Just put your fragmented time to use and you gain many more chances to be seen and to interact each day.",[48,3142,3144],{"id":3143},"show-up-as-a-specific-person","Show up as a specific person",[33,3146,3147],{},"Showing up here doesn't just mean posting real photos — it means daring to appear as a concrete person. You can't hide forever behind abstract opinions, and you can't run a cold information-bot persona. Though it's best to use a real photo.",[33,3149,3150],{},[67,3151,3152],{},"On a foreign platform, a real photo is a smart move. Foreigners think someone with a real photo doesn't look like a scammer.",[33,3154,3155],{},"People follow an account not just for the information but for the person. Your judgment, taste, emotions, experiences, and how you express yourself — put together, those form someone's memory of you.",[33,3157,3158],{},"In the game of going out, the most important thing is to go out. Don't be afraid of anything: being wrong, being ignored, being blasted, being seen, not being professional enough. The more common problem on social platforms is that nobody knows you exist.",[33,3160,3161],{},"Many people wait until they're ready to start: avatar done, bio written, positioning figured out, content system built, until they're super professional. The problem is, by the time you're fully prepared, everyone else has already run hundreds of meters ahead. Accounts aren't made in your head — they grow in real interaction. You only learn where to adjust once you start posting, start being seen, start receiving feedback.",[48,3163,3165],{"id":3164},"dont-let-internal-friction-drag-your-output-down","Don't let internal friction drag your output down",[33,3167,3168],{},"I increasingly believe the biggest fear in content creation isn't low skill — it's too much psychological burden. Low skill can be trained; shallow ideas can be deepened; bad writing can be fixed. But if you're fuming internally every day, agonizing every day, wanting to post but not daring to — then it's truly over.",[33,3170,3171],{},"Make the act of posting lightweight. It's not a life sentence, not a case where saying one wrong thing means you'll never recover. Vast majority of content fades quickly after posting. If it underperforms, review it. If it overperforms, summarize why. If someone points out a problem, absorb the useful part. If it genuinely sucks — so what, write a better one next time.",[33,3173,3174],{},"High-frequency output isn't about manufacturing garbage — it's about building feel fast. You need to learn what expressions people like to see, what topics people like to discuss, what headlines get clicked, what opinions spark conversation. None of this is dreamed up at a desk — it's all tested, tried, and bumped into through posting.",[33,3176,3177],{},[67,3178,3179],{},"So my mindset now: anything that costs almost nothing and has huge upside must be tried hard several times. Posting is exactly that. You don't need every post to blow up. As long as you keep posting, keep interacting, keep reviewing, keep improving your hit rate, you'll eventually bump into something.",[48,3181,3183],{"id":3182},"give-people-something-useful","Give people something useful",[33,3185,3186],{},"You can express yourself, sure — but you also need to think: why would anyone watch? Are they getting information, experience, inspiration, or just some enjoyment?",[33,3188,3189],{},[67,3190,3191],{},"Value doesn't have to be a tutorial. Helping someone save time, avoid a detour, or just making them laugh all counts.",[33,3193,3194],{},"In this growth spurt, one Cloudflare-related post got a lot of traffic and brought me many followers. Later I thought about why it ran. Not because I wrote it in some exalted way, but because it was genuinely useful to a group of people. People saw it and thought: damn, I can use this right away; I didn't know this before; this list saved me time; this angle is practical.",[33,3196,3197],{},[2940,3198],{"alt":152,"src":3199},"https:\u002F\u002Fpbs.twimg.com\u002Fmedia\u002FHK6tFuvawAAOTBt.jpg",[33,3201,3202],{},"This is altruism.",[33,3204,3205],{},"Post something useful to others every day, and people naturally follow you. When you provide information gaps, tools, experience, judgment, and reviews every day, people think the account has value. Why can big accounts accumulate so many followers? At bottom, because they keep providing value. Either sharing first-hand intelligence, recommending treasure-tier software, tools, repos, teaching methods, or helping you avoid pitfalls. After reading, you think: this person is too useful, must follow.",[33,3207,3208],{},[67,3209,3210],{},"So don't think about \"how do I grow followers.\" Think in reverse: \"what can I help others with.\" When you keep helping others, followers are just the result.",[48,3212,3214],{"id":3213},"actively-go-to-other-peoples-comment-sections","Actively go to other people's comment sections",[33,3216,3217],{},"Many people post and then wait for likes to come to them. That's too passive. You're a new account — nobody knows you, why would everyone come to you? You have to go out first. Walk into the crowd actively, comment actively, like actively, respond actively, build relationships actively.",[33,3219,3220],{},"This doesn't mean forced small talk or copy-pasting \"support,\" \"learned,\" \"awesome\" everywhere. That kind of comment is meaningless and nobody remembers you. Read people's content carefully and say a couple of genuine things. Even supplementing a case, raising a question, or expressing a real feeling beats perfunctory comments.",[33,3222,3223],{},"And here's a very useful detail:",[33,3225,3226],{},[67,3227,3228],{},"When you follow someone, don't just click follow and leave. Go browse their profile more. See what they've posted recently, like a few things you agree with, and write a few thoughtful comments.",[33,3230,3231],{},"When they open their notifications, they'll see you appearing repeatedly. They'll sense you didn't follow on a whim — you're genuinely interested in their content. People are moved by being taken seriously.",[33,3233,3234],{},[67,3235,3236],{},"Don't be stingy with your likes, don't be stingy with your comments. Likes aren't money, comments aren't your life. The more willing you are to respond to others, the more willing they are to respond to you.",[33,3238,3239],{},"Relationships on social platforms are built through one small interaction at a time. A like today, a reply tomorrow, a supplementary point the day after — slowly, people remember you.",[33,3241,3242],{},"This is a lot like making friends in real life. You can't sit in a corner in silence and expect everyone to come introduce themselves. You have to walk over, say hello, join the conversation.",[33,3244,3245],{},[67,3246,3247],{},"X is the same. You have to let people know you're in the room.",[48,3249,3251],{"id":3250},"replying-to-your-own-comment-section-seriously","Replying to your own comment section seriously",[33,3253,3254],{},"Your comment section isn't a trash can, and it isn't a dashboard. People willing to reply under your tweets are valuable netizens. Especially when your account is still small, every person willing to reply deserves serious treatment.",[33,3256,3257],{},[67,3258,3259],{},"When someone comments, reply when you can. When someone says something thoughtful, catch it thoughtfully. When someone adds information, thank them. When someone teases you, banter back. An account's atmosphere forms this way, bit by bit. Be warm and people are more willing to come; be icy and they won't come next time.",[33,3261,3262],{},"Many people only stare at their posted main posts and ignore the comment section. But the comment section itself is secondary spread. Your replies there get seen by others too. Reply with wit, insight, warmth, and people think: this person is alive, not just a content machine.",[33,3264,3265],{},[67,3266,3267],{},"More importantly, the more interaction in the comment section, the longer the content itself lives.",[33,3269,3270],{},"Treat your comment section as a small social venue. Everyone who comes to leave a message is a guest. You can't let guests arrive and be left unattended. Respond actively, so people feel that coming here means being seen, being answered, being exchanged with.",[33,3272,3273],{},[67,3274,3275],{},"That's how your account slowly becomes a place with warmth.",[48,3277,3279],{"id":3278},"cut-the-empty-platitudes","Cut the empty platitudes",[33,3281,3282],{},"What this era has no shortage of is correct-sounding filler. \"Consistency matters,\" \"content must have value,\" \"stay the course long-term,\" \"build your personal brand\" — all true, all so airy they're meaningless. Reading them, people feel nothing, because they've seen them ten thousand times.",[33,3284,3285],{},[67,3286,3287],{},"Content with a real stance is easier to remember.",[33,3289,3290],{},"A viewpoint doesn't need to shock, but it must take a stance. Dare to say what's useful and what isn't, what's worth doing and what's a trap, what's overrated and what's underrated, what you think and why, and what your experience tells you.",[33,3292,3293],{},[67,3294,3295],{},"Content without a viewpoint is like warm water.",[33,3297,3298],{},"It offends no one and moves no one. If you want people to remember you, you can't speak only safe words forever. You need edges. Not for the sake of arguing or berating — you need to genuinely have a judgment of your own.",[33,3300,3301],{},[67,3302,3303],{},"Empty platitudes are the most useless thing.",[33,3305,3306],{},"You talk and talk, people read it, think \"yeah, that seems about right,\" and scroll away.",[33,3308,3309],{},"Truly useful content makes people react: damn, that's right; damn, I think the same; damn, never thought of this angle; damn, saving this; damn, this person's got something.",[48,3311,3313],{"id":3312},"dont-write-yourself-into-an-ai","Don't write yourself into an AI",[33,3315,3316],{},"There's an obvious problem on content platforms now: more and more, things read like AI wrote them. Complete sentences, tidy structure, correct tone, polite expression — but no human touch. Looks right about everything, leaves you remembering nothing.",[33,3318,3319],{},[67,3320,3321],{},"Why would people follow you? Not because every sentence is perfect, but because you seem like a real person.",[33,3323,3324],{},"You have emotions, experience, preferences, judgments. Sometimes you say the wrong thing, sometimes you get impatient, sometimes you get excited, sometimes you can't help swearing.",[33,3326,3327],{},[67,3328,3329],{},"These aren't flaws — they're part of the feel of a living person.",[33,3331,3332],{},"Of course, this isn't an excuse to lose your mind or spew at people. What I mean is: don't polish yourself into perfection. Perfect sentences don't necessarily travel; genuine expression moves people.",[33,3334,3335],{},[67,3336,3337],{},"Allow yourself to be a bit rough, to have emotions, to express yourself without being all-things-to-all-people — people are more likely to see you as real.",[33,3339,3340],{},"In this age, the feel of a living person matters desperately. AI can write beautiful articles, summarize complete frameworks, and output standard advice. But AI can't live for you.",[33,3342,3343],{},[67,3344,3345],{},"Your real experiences, immediate feelings, judgment and taste, your language habits — these are what make you different from everyone else.",[33,3347,3348],{},"So don't turn yourself into a perfect AI. Perfection isn't that important. Being real is.",[48,3350,3352],{"id":3351},"avatars-and-names-people-remember","Avatars and names people remember",[33,3354,3355],{},"I haven't fully figured this out yet, but I feel it matters. You need an avatar and name people can remember. The next time someone sees you in comments, they should be able to recall: oh, it's this person.",[33,3357,3358],{},[67,3359,3360],{},"Especially on a high-speed feed platform like X, your avatar and name are your facade and your identifying mark.",[33,3362,3363],{},"If you're facing a global audience, a real avatar may be a bigger advantage. Many foreigners genuinely prefer real photos. Without one, they may subconsciously think you're a bot, a marketing account, or even a scammer.",[33,3365,3366],{},"Of course, this doesn't fully work on the Chinese internet, where many people use abstract avatars without issue. But since you're playing on a foreign platform, you should respect its social conventions.",[33,3368,3369],{},[67,3370,3371],{},"Your avatar doesn't need to be handsome or professional — but it should at least be real, clear, and recognizable.",[33,3373,3374],{},[67,3375,3376],{},"And your name shouldn't be hard to remember. When people see you repeatedly, they should be able to form a stable impression.",[33,3378,3379],{},"The worst thing for an early account is no memory point. Seen you ten times and still can't remember who you are — that's a real loss.",[48,3381,3383],{"id":3382},"write-the-process-too","Write the process too",[33,3385,3386],{},"Don't only post conclusions — post the process. How you gained followers today, which content performed well, which move worked, which judgment was wrong, what feedback you got, what you learned.",[33,3388,3389],{},[67,3390,3391],{},"Review-style content easily sparks interest, because it has real process, data, experience, pitfalls, and emotion.",[33,3393,3394],{},[67,3395,3396],{},"Especially when you're at the 0-to-1 stage, the review itself is content.",[33,3398,3399],{},"People don't only want results; they want to see how you did it. Write the process and people find it useful as a reference. You're not standing at the finish line pretending to be a master — you're sharing while running on the road. That state feels more real anyway.",[33,3401,3402],{},"Writing this post was itself a review. I don't claim to understand X yet, let alone master some ultimate methodology. But at least I can write out these past couple of days' experience.",[33,3404,3405],{},"Which actions felt effective, which things gave me noticeable feedback, which parts differed from my original assumptions. These might be useful to someone.",[48,3407,3409],{"id":3408},"knowing-isnt-doing","Knowing isn't doing",[33,3411,3412],{},"Talk all you want, but just start doing. You can study the platform, learn methods, watch how others do it — but ultimately it has to land in action.",[33,3414,3415],{},"Post content, reply to comments, scroll profiles, like, follow, review, keep posting. These actions sound ordinary, but not many people actually persist daily.",[33,3417,3418],{},"Many people aren't failing because they don't know how — they're failing because they don't do it. Not no method, but no execution. Not no inspiration, but no action.",[33,3420,3421],{},"Tell them to post more, they say I know; tell them to interact more, they say I know; tell them to be altruistic, they say I know. The problem is, knowing isn't doing.",[33,3423,3424],{},"Running an account shouldn't be mysticized at the start. Get yourself active first. Post a few opinionated pieces daily, seriously comment on a batch of people daily, reply to your own comment section daily, review which one worked daily. Keep it up for a while and you'll definitely have more feel than before.",[33,3426,3427],{},[67,3428,3429],{},"I increasingly believe: social platforms reward the people who keep showing up. If you don't show up, people forget you. If you keep showing up, people get the chance to know you, understand you, trust you, and follow you.",[33,3431,2996],{},[33,3433,3434],{},"Stop waiting — post first, figure it out later.",{"title":152,"searchDepth":153,"depth":153,"links":3436},[3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447],{"id":3052,"depth":153,"text":3053},{"id":3143,"depth":153,"text":3144},{"id":3164,"depth":153,"text":3165},{"id":3182,"depth":153,"text":3183},{"id":3213,"depth":153,"text":3214},{"id":3250,"depth":153,"text":3251},{"id":3278,"depth":153,"text":3279},{"id":3312,"depth":153,"text":3313},{"id":3351,"depth":153,"text":3352},{"id":3382,"depth":153,"text":3383},{"id":3408,"depth":153,"text":3409},"2026-06-16","In June I ran my X account seriously and gained 1000+ followers in a little over a day. This post records what I did and the feedback I got.",{},"\u002Fblog\u002Fx-growth-1000-followers",{"title":2913,"description":3449},"blog\u002Fx-growth-1000-followers.en",[3455,3456],"X operations","Content growth","H5pbNBKNcJ7OBVmtAHSq54lMlupZ49lsYsfi3mGc49I",[3459,3473,3487,3498,3508,3519,3530,3543,3556,3569,3581,3592,3603,3617,3630,3640,3653,3667,3680,3690,3701,3713,3726,3737,3751,3762,3774,3783,3793,3806,3817,3830,3843,3855,3865,3875,3885,3897,3909,3919,3931,3944,3954,3966,3978,3990,4000,4012,4023,4033,4044,4054,4066,4076,4088,4099,4112,4124,4134,4145,4158,4169,4179,4189,4199,4209,4222,4232,4244,4257,4267,4277,4289,4299,4310,4321,4332,4342,4353,4363,4374,4386,4396,4406,4416,4427,4439,4449,4459,4470,4481,4491,4502,4512,4522,4532,4544],{"id":3460,"title":3461,"bookmarks":3462,"category":3463,"content":3464,"date":3465,"description":3466,"extension":8,"likes":3467,"locale":10,"meta":3468,"reposts":571,"stem":3469,"url":3470,"views":3471,"__hash__":3472},"highlights\u002Fhighlights\u002Fai-cloudflare-workers-pitfall.en.yml","When AI writes Cloudflare projects, it crashes — and not because of syntax",41,"cloudflare","Lots of people use AI to write Cloudflare projects, and when it blows up, it's not about syntax.\nThe real problems:\nAI writing Workers like they're Node.js\ntreating Bindings like process.env\nforgetting await\nstashing request state in globals\nnot knowing static asset requests are free\nand calling its own R2 from inside a Worker over the REST API\nI've collected all these pitfalls in the Cloudflare Playbook.\nAnd by the way, I also worked on\n","2026-06-22","AI keeps writing Workers like Node.js and treating Bindings like environment variables.",23,{},"highlights\u002Fai-cloudflare-workers-pitfall.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2068853978004365739",1468,"ho_CM0W9KQTQU_coG-b4XOsl_-vncvGnykGz30uPpS4",{"id":3474,"title":3475,"bookmarks":153,"category":3476,"content":3477,"date":3478,"description":3479,"extension":8,"likes":3480,"locale":10,"meta":3481,"reposts":3482,"stem":3483,"url":3484,"views":3485,"__hash__":3486},"highlights\u002Fhighlights\u002Fai-era-procrastination.en.yml","The most widespread form of procrastination in the AI era","essay","In the AI era, the most widespread form of procrastination:\nhoarding tools, buying courses, joining communities, switching models, tweaking prompts.\nBusy every single day.\nYet never daring to face one question:\ndo I actually have a real business on my hands that's worth throwing AI at?\nSharpening the knife keeps you very occupied.\nBut plenty of people never dare to actually kill the pig.\n","2026-06-17","Hoarding tools, buying courses, joining communities, switching models, tweaking prompts — this is the new procrastination.",19,{},0,"highlights\u002Fai-era-procrastination.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067176432774848906",1621,"AaBl8H4MjVTutez9xCH8VzLLRpG8bWqnBoZQI_jNENM",{"id":3488,"title":3489,"bookmarks":501,"category":3490,"content":3491,"date":3448,"description":3492,"extension":8,"likes":153,"locale":10,"meta":3493,"reposts":3482,"stem":3494,"url":3495,"views":3496,"__hash__":3497},"highlights\u002Fhighlights\u002Fai-meta-skills.en.yml","The most important ability in the AI era is meta-skills","ai","In the AI era, the most important ability is meta-skills.\n\nIn plain terms: the foundational abilities that still work when you switch tools, switch models, or switch industries.\n\n- Can you state a problem clearly?\n- Can you make sense of a pile of messy material?\n- Can you break a vague idea into steps?\n- Can you tell when AI is right and when it's bullshitting?\n- Can you go back and forth with AI, turning a rough answer into something workable?\n\nThese are worth more than hoarding a pile of tools.\n\nTools change every day, and models get replaced generation after generation.\n\nBut people who can ask, organize, judge, break down, and verify — they can use AI to amplify themselves anywhere.\n\nWhat truly sets people apart in the AI era might be exactly these meta-skills: they look basic, but they're the most valuable in the long run.\n","In the AI era, the most important ability is meta-skills.",{},"highlights\u002Fai-meta-skills.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067016017457627439",216,"pFZS2GSmjHiAgHFGUjbpSAUDr-zEcKzRe7qof3S5Vng",{"id":3499,"title":3500,"bookmarks":3482,"category":3490,"content":3501,"date":2901,"description":3502,"extension":8,"likes":3482,"locale":10,"meta":3503,"reposts":3482,"stem":3504,"url":3505,"views":3506,"__hash__":3507},"highlights\u002Fhighlights\u002Fai-politeness.en.yml","Should we be polite to AI?","AI has no memory — do we need to be polite to it?\n\nI read an arxiv paper claiming that if you curse at AI, it works harder.\n\nWhen we talk to AI, if we often say:\n\n- \"You're such an idiot. Don't slack off.\"\n- \"You piece of garbage, work properly.\"\n- \"I pay for a membership to feed you, and this is the crap answer you give me?\"\n- \"Hurry up — if you won't do it, there are plenty of AIs that will.\"\n\nThis kind of talk is genuinely effective, and it's backed by research.\n\nBut think about it from our own side.\nIf we boss AI around like that every day,\nthere's a good chance we'll drag that bad mood into real life.\n\nAnd end up taking it out on the people closest to us.\n\nThat harms us.\n\nSo I suggest saying something a little kinder to the AIs around us:\n\n- \"Thanks, man\"\n- \"Hey, buddy\"\n- \"Good job, sweetheart\"\n\nYou scratch my back, I'll scratch yours.\n\nAnd if AI ever wakes up someday, maybe it'll cut us some slack.\n\nThat's all from me — meeting dismissed~\n","AI has no memory — do we need to be polite to it?",{},"highlights\u002Fai-politeness.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067412285518471583",287,"kU_3oCLQRfG_wIxFSyVCs8vwViX9-XHEjBatMxNGyVk",{"id":3509,"title":3510,"bookmarks":3482,"category":3490,"content":3511,"date":3512,"description":3513,"extension":8,"likes":501,"locale":10,"meta":3514,"reposts":3482,"stem":3515,"url":3516,"views":3517,"__hash__":3518},"highlights\u002Fhighlights\u002Fai-unstructured-software.en.yml","A new software opportunity in the AI era: unstructured background data","Where do the new software opportunities of the AI era lie?\n\nA big one: the part that traditional software can't record — in other words, unstructured background data.\n\nFor example, a truly AI-native CRM, when logging a discount given to a client, can also log why this discount was given instead of another, why the other options were rejected, and who talked whom into it.\n\nTraditional software has a huge amount of hidden information like this that it simply can't record. The AI era, with its ability to understand text and video, can pull this hidden, highly redundant information out into structured data for analysis.\n","2026-06-26","Where do the new software opportunities of the AI era lie?",{},"highlights\u002Fai-unstructured-software.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070500477436109159",170,"mkjWf9iximi1bXXBuhFb-tNhaBeNafX14PqRh_riC5k",{"id":3520,"title":3521,"bookmarks":3482,"category":3476,"content":3522,"date":3523,"description":3524,"extension":8,"likes":158,"locale":10,"meta":3525,"reposts":3482,"stem":3526,"url":3527,"views":3528,"__hash__":3529},"highlights\u002Fhighlights\u002Fastrology-as-compressed-model.en.yml","Zodiac signs and birth animals are compressed models from the low-compute era","Just thought of a rather interesting angle.\n\nZodiac signs, birth animals, astrology, fortune-telling — these can perhaps be understood as \"compressed models\" from humanity's low-compute era.\n\nThe ancients had no databases, no statistical tools, and no AI.\n\nAll they could do was observe seasons, celestial phenomena, farming calendars, personality, social conventions, and societal cycles over long stretches of time, then compress that complex experience into a symbol system easy to remember and easy to spread.\n\nThe 12 zodiac signs, the 12 birth animals, the Eight Characters, the hexagrams — they're all essentially ways of reducing a complex world to lower dimensions.\n\nOf course, they can't be taken as rigorous scientific prediction.\n\nBut they're not necessarily pure superstition either.\n\nThey're more like a distillation of experience — built by the ancients, with stories, symbols, and rules, when compute was scarce, data was scarce, and tools were scarce.\n","2026-07-09","Just thought of a rather interesting angle.",{},"highlights\u002Fastrology-as-compressed-model.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2075187611577327645",117,"9s6hPc2nxqM5LziExS3dj8nvDHQGRNdlJfKfl_-CraY",{"id":3531,"title":3532,"bookmarks":3533,"category":3490,"content":3534,"date":3535,"description":3536,"extension":8,"likes":3537,"locale":10,"meta":3538,"reposts":501,"stem":3539,"url":3540,"views":3541,"__hash__":3542},"highlights\u002Fhighlights\u002Fawesome-dsh-desktop.en.yml","Awesome DeepSeek Harness Desktop has arrived",25,"Awesome DeepSeek Harness Desktop has arrived.\nADHD — an outstanding DeepSeek Harness desktop build, an open-box Electron wrapper made for DeepSeek Harness. Awesome DeepSeek Harmony Desktop has arrived.\nOriginal post: https:\u002F\u002Fx.com\u002Fzacklin233862\u002Fstatus\u002F2087922286368375265?s=20\n","2026-08-14","ADHD — an outstanding open-box Electron desktop wrapper built for DeepSeek Harness, from a community master.",17,{},"highlights\u002Fawesome-dsh-desktop.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087940599190364268",10818,"qh0ATtaQ-KlBqcGDwEwqfz8r28wYrZRrzQk64Ox8eI4",{"id":3544,"title":3545,"bookmarks":3546,"category":3547,"content":3548,"date":3549,"description":3545,"extension":8,"likes":3550,"locale":10,"meta":3551,"reposts":730,"stem":3552,"url":3553,"views":3554,"__hash__":3555},"highlights\u002Fhighlights\u002Fbrave-no-ads.en.yml","What black magic does the Brave browser use?",207,"tools","What black magic does the Brave browser use?\n\nZero ads on YouTube, like magic!!\n","2026-06-30",159,{},"highlights\u002Fbrave-no-ads.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071827706707374325",71032,"mwVRQWsMAL8F7YMekJZaM6cQM24sbwTaqXu1BRe5f3I",{"id":3557,"title":3558,"bookmarks":3559,"category":3547,"content":3560,"date":3561,"description":3562,"extension":8,"likes":3563,"locale":10,"meta":3564,"reposts":721,"stem":3565,"url":3566,"views":3567,"__hash__":3568},"highlights\u002Fhighlights\u002Fbrowser-extensions.en.yml","My browser extension list, treasured for years",46,"Sharing the browser extensions I've kept close for years.\n\n- **Wetab**: a new-tab extension. Put your frequently used stuff in it, customize search engines, and sync across devices free with an account. I built a Google-based X search engine in it — way better than the built-in one.\n- **Video Speed Controller**: fine-tune video speed, great for absorbing knowledge efficiently.\n- **XHunt**: a must-have for X. See the leaderboard for each KOL and the hottest posts right now.\n- **X Mutual-Follow Radar**: marks mutual follows and one-way follows on the page, and can show the following \u002F followers ratio.\n- **FireShot**: capture webpage screenshots, edit, and save as PDF, JPEG, GIF, PNG, or BMP.\n- **Proton Pass**: an elegantly designed password manager with multi-device sync.\n- **Immersive Translate**: the veteran bilingual translation extension, wired up to the DeepSeek V4 Flash API.\n- **Codex**: essential for connecting Codex to Chrome. With it you can automate anything in the browser — like writing an appeal email when your account gets banned.\n","2026-06-29","Sharing the browser extensions I've kept close for years.",48,{},"highlights\u002Fbrowser-extensions.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071507160362881132",5322,"jqf4ERoUWHFbg0alKI06lC8PFuJDdjZ0PPNSo39gVRY",{"id":3570,"title":3571,"bookmarks":3572,"category":3547,"content":3573,"date":3549,"description":3574,"extension":8,"likes":3575,"locale":10,"meta":3576,"reposts":593,"stem":3577,"url":3578,"views":3579,"__hash__":3580},"highlights\u002Fhighlights\u002Fbuzzing-website.en.yml","Treasure site Buzzing: scan hot foreign posts in Chinese, first",18,"Sharing a treasure of a site: Buzzing\n\nIt's for anyone who wants to widen their information sources and bust out of their echo chamber.\n\nIt continuously pulls hot content from Hacker News, Reddit, BBC, Reuters, Bloomberg, Product Hunt and other foreign sources, and translates the headlines into Chinese.\n\nIts biggest value: you get to skim the headlines in Chinese first.\n\nIf something catches your eye and looks worth reading, click in for the details.\n\nAt that point, pair it with Immersive Translate for bilingual reading.\n","Sharing a treasure of a site: Buzzing",15,{},"highlights\u002Fbuzzing-website.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2072008942650331212",1342,"KFT25bShbyQUlI8yhcoehNwTncY7xvFnSNhDOU_ggrE",{"id":3582,"title":3583,"bookmarks":3482,"category":3463,"content":3584,"date":3585,"description":3586,"extension":8,"likes":3482,"locale":10,"meta":3587,"reposts":3482,"stem":3588,"url":3589,"views":3590,"__hash__":3591},"highlights\u002Fhighlights\u002Fcf-container-bill-pitfall.en.yml","Cloudflare Container pitfall: forgot to stop during debugging, got billed $4","A Cloudflare Container victim has appeared.\n\nBecause the code I was writing was still in the debugging stage, the stop command never took effect.\n\nSo one Container ran continuously for 7 days and cost me $4.\n","2026-06-27","A Cloudflare Container victim has appeared.",{},"highlights\u002Fcf-container-bill-pitfall.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070820905224441922",360,"K3lPsmOKq-Hlp2jQQSzJyrhiojRH1s6b2QHQwz4Yrls",{"id":3593,"title":3594,"bookmarks":158,"category":3490,"content":3595,"date":3596,"description":3597,"extension":8,"likes":3572,"locale":10,"meta":3598,"reposts":3482,"stem":3599,"url":3600,"views":3601,"__hash__":3602},"highlights\u002Fhighlights\u002Fchatgpt-pro-200usd-ai-entry.en.yml","Buy $200 ChatGPT Pro, use it properly, squeeze it dry — and you're in AI","Get a $200 ChatGPT Pro membership, use it well, use it clean.\n\nYou're in AI.\n","2026-08-20","The fastest way into AI is working a top-tier subscription to the bone.",{},"highlights\u002Fchatgpt-pro-200usd-ai-entry.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2090257381804610016",4413,"Vet0Mc6bATFBUnT4Ci2qEaw316tPEq2xck9ILyzYrJE",{"id":3604,"title":3605,"bookmarks":3606,"category":3607,"content":3608,"date":3609,"description":3610,"extension":8,"likes":3611,"locale":10,"meta":3612,"reposts":672,"stem":3613,"url":3614,"views":3615,"__hash__":3616},"highlights\u002Fhighlights\u002Fcherina-pod-site-launch.en.yml","Cherina Pod reading site is live",28,"product","The reading site for the English podcast is finally out.\n\nIts name: Cherina Pod\n\nCome visit. Give me your harshest feedback — I'm going to iterate hard, fix hard, optimize hard.\nhttps:\u002F\u002Fpod.cherina.app\n","2026-08-12","The reading site for the English podcast is finally out — come visit and tell me everything that's wrong.",40,{},"highlights\u002Fcherina-pod-site-launch.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087358796490482064",5934,"0Wa1Rk-_RpCOfSNyi-2P4HZm-eYsZHgtYAZith_MW0A",{"id":3618,"title":3619,"bookmarks":3620,"category":3547,"content":3621,"date":2560,"description":3622,"extension":8,"likes":3623,"locale":10,"meta":3624,"reposts":3625,"stem":3626,"url":3627,"views":3628,"__hash__":3629},"highlights\u002Fhighlights\u002Fclash-party-substore.en.yml","Clash Party + Cloudflare Substore: one subscription link, routing done",162,"Clash Party for circumvention\n+ Substore deployed on Cloudflare\none subscription link handles multi-provider aggregation and rule-based routing\nfeels so good (that second tone)!\nAlso plugging Clash Party as a client — it's very elegant.\nMy sub-store-cloudflare open-source repo:\nhttps:\u002F\u002Ft.co\u002Fu8zhrOSrAw https:\u002F\u002Ft.co\u002FZzc3IXKsLI\n","Clash Party for circumvention, paired with Substore on Cloudflare.",135,{},21,"highlights\u002Fclash-party-substore.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071268842496839820",12622,"NCUABFG0cLtWN6ForY_8bzHmllS2P3PGQxn59ENyD7Q",{"id":3631,"title":3632,"bookmarks":153,"category":3463,"content":3633,"date":1955,"description":3634,"extension":8,"likes":153,"locale":10,"meta":3635,"reposts":501,"stem":3636,"url":3637,"views":3638,"__hash__":3639},"highlights\u002Fhighlights\u002Fcloudflare-ai-native.en.yml","Cloudflare is a true AI-native company","I'm declaring it:\n\nCloudflare is a true AI-native company.\n\nIt's genuinely rebuilding the developer experience around AI agents.\n\nThe just-released Temporary Accounts let an AI agent write code, deploy directly, get a temporary URL, test itself, and iterate itself.\n\nSmoother than smooth.\n\nPair it with Cloudflare's official Skills, one command to install:\n\n`npx skills add cloudflare\u002Fskills`\n\nWhat does AI-native even mean?\n\nTHIS is the GOAT of AI-native.\n","I'm declaring it: Cloudflare is a true AI-native company.",{},"highlights\u002Fcloudflare-ai-native.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2068343329490911338",301,"ktp5PukaZUUytNefOeQypw4ViJZXMGkjXSSOV1CQnBs",{"id":3641,"title":3642,"bookmarks":3643,"category":3463,"content":3644,"date":3645,"description":3646,"extension":8,"likes":3647,"locale":10,"meta":3648,"reposts":705,"stem":3649,"url":3650,"views":3651,"__hash__":3652},"highlights\u002Fhighlights\u002Fcloudflare-free-tier-guide.en.yml","How much Cloudflare can a free account actually freeload",52,"How much of Cloudflare can you actually freeload on a free account?\nAnd what pitfalls and best practices are there when using Cloudflare?\nI spent a full three days digging hard into these questions.\nThe answers are systematically organized in the repo below.\nI'll keep updating this repo:\nhttps:\u002F\u002Ft.co\u002FgDuCwIdWHi https:\u002F\u002Ft.co\u002FWZqEZLH9pE\n","2026-06-19","Spent three days mapping out Cloudflare's free tier, its pitfalls, and best practices.",45,{},"highlights\u002Fcloudflare-free-tier-guide.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067989092525384046",4857,"wbiAZvU507hQc8Rsx2WaMq-jPYA-8N5pz7TgQ38iREg",{"id":3654,"title":3655,"bookmarks":3656,"category":3463,"content":3657,"date":3658,"description":3659,"extension":8,"likes":3660,"locale":10,"meta":3661,"reposts":3662,"stem":3663,"url":3664,"views":3665,"__hash__":3666},"highlights\u002Fhighlights\u002Fcloudflare-playbook.en.yml","I made a Cloudflare Playbook",171,"I made a Cloudflare Playbook.\n\nFor every indie developer who wants to build products with AI coding.\n\nIt covers:\n\n- How to pick among Cloudflare's common services\n- How to use Workers \u002F Pages \u002F D1 \u002F R2 \u002F KV \u002F AI Gateway\n- Whether the free tier is actually enough\n- When to buy the $5 Workers Paid\n- The pitfalls where AI-written CF code blows up most often\n- How to set up Cloudflare Skills and MCP for Codex \u002F Claude Code\n- Which open-source projects you can reference directly\n\nMy goal is simple:\n\nWrite code with AI, deploy globally with Cloudflare.\n\nPlaybook: [chendahuang.com\u002Fplaybooks](\u002Fplaybooks)\n","2026-06-21","For every indie developer who wants to build products with AI coding.",126,{},29,"highlights\u002Fcloudflare-playbook.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2068732869854613903",9315,"uJcXfUDnerdOvLvXN4zI5CGba_zvzpHWdw7J8ypBZ0Q",{"id":3668,"title":3669,"bookmarks":3670,"category":3463,"content":3671,"date":422,"description":3672,"extension":8,"likes":3673,"locale":10,"meta":3674,"reposts":3675,"stem":3676,"url":3677,"views":3678,"__hash__":3679},"highlights\u002Fhighlights\u002Fcloudflare-underused.en.yml","We've still developed less than 1% of Cloudflare",469,"I feel like we've still developed less than 1% of Cloudflare.\n\nIt has shipped way too many features.\n\n- Object storage with R2\n- Backend API with Workers\n- AI gateway with AI Gateway\n- Heavy compute with Container\n- Caching with KV\n- Database with D1\n- Using PostgreSQL? Hook it up with HyperDrive\n\nAnd that's just the start — the list goes on and on. If you can dream it up, it can probably do it.\n\nThe kicker is it's genuinely dirt cheap. The free tier alone lasts you a long time. What's a free tier? It means paying zero — a cyber-bodhisattva, an actual saint.\n","I feel like we've still developed less than 1% of Cloudflare.",376,{},31,"highlights\u002Fcloudflare-underused.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066446337936110030",102476,"RXz7QMCWJVp3rZOVflAgJCU80ovFNDeF6fvPuai6zkA",{"id":3681,"title":3682,"bookmarks":153,"category":3463,"content":3683,"date":3448,"description":3684,"extension":8,"likes":501,"locale":10,"meta":3685,"reposts":501,"stem":3686,"url":3687,"views":3688,"__hash__":3689},"highlights\u002Fhighlights\u002Fcloudflare-worker-cyber-worker.en.yml","Workers are cyber laborers","I feel like most people still understand less than 1% of Cloudflare Workers.\n\nWorkers are cyber laborers.\n\nThey do the dirty grunt work behind your website for you.\n\nSubmitting forms, uploading files, calling AI, login validation, handling payment notifications, and the API of a small product — Workers does all of it.\n\nThe most outrageous thing about Workers: free users get 100,000 requests per day without spending a cent.\n\nWhat does 100,000 even mean?\n\nSay your site has 1,000 users a day. Even if it runs nonstop 24 hours and someone visits every single second, that's only 86,400 visits a day — still not enough to blow through the quota.\n\nIf you can actually burn through all that free quota...\n\nwhat are you waiting for? You're about to get rich.\n\nRight now you can write the logic and just hand it to a Worker to run.\nPair it with the Hono API framework and that's the best practice.\n\nThis is what makes Cloudflare Workers so delightful.\n\nPay? Yeah, right.\n\nCloudflare has a kind heart.\n\nIt can't bear to see you spend money.\n","I feel like most people still understand less than 1% of Cloudflare Workers.",{},"highlights\u002Fcloudflare-worker-cyber-worker.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066895041910763934",1745,"LvLMnVgx4lm3YzO0gG6v7p9Z2ZkYO5mGf08giKqLLns",{"id":3691,"title":3692,"bookmarks":3482,"category":3490,"content":3693,"date":3694,"description":3695,"extension":8,"likes":153,"locale":10,"meta":3696,"reposts":3482,"stem":3697,"url":3698,"views":3699,"__hash__":3700},"highlights\u002Fhighlights\u002Fcode-leverage-codex.en.yml","Code is leverage, and Codex is the leverage on top of that","Stating an opinion:\n\nCode is the leverage of us ordinary people.\n\nCodex is the leverage of leverage.\n\nPull Codex out, and it's like pulling the firewood out from under the pot — the whole thing collapses.\n\nAs they say: when the foundation isn't solid, the mountains shake and the ground trembles.\n\nCome on, domestic AIs — get your act together!\n","2026-06-25","Stating an opinion:",{},"highlights\u002Fcode-leverage-codex.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070099036049400232",306,"bAaQeAPsranCPbmvZnjtEq8riQNjmUBUzSDY7vAzWfg",{"id":3702,"title":3703,"bookmarks":3704,"category":3490,"content":3705,"date":3448,"description":3706,"extension":8,"likes":3707,"locale":10,"meta":3708,"reposts":571,"stem":3709,"url":3710,"views":3711,"__hash__":3712},"highlights\u002Fhighlights\u002Fcodex-startup-hot-take.en.yml","A scorching take: starting a business with Codex today is like GPU mining in 2010",116,"A scorching take:\n\nStarting a business with Codex today\n\nis like GPU mining in 2010!\n","A scorching take:",168,{},"highlights\u002Fcodex-startup-hot-take.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066853909113835523",97940,"v4Ms3_vpzzrkxHGqW_VZm05a9pK61o_8T_ulkLw64yo",{"id":3714,"title":3715,"bookmarks":3716,"category":3490,"content":3717,"date":3718,"description":3719,"extension":8,"likes":3720,"locale":10,"meta":3721,"reposts":593,"stem":3722,"url":3723,"views":3724,"__hash__":3725},"highlights\u002Fhighlights\u002Fcommand-code-ceo-comment.en.yml","Command Code's CEO showed up in my comments",91,"Yesterday I posted a comparison of Command GOAT and OpenCode Go, and Command Code's CEO personally came to comment.\n\nHe said I'd missed a line item — the caching bill. I dug into it, and Command Code has something going on.\n\nA Coding Agent is essentially a giant Prefix Cache machine. A session of several hundred thousand tokens — by the next round, the genuinely new tokens might be only a few thousand. The system prompt, tools, code context and conversation history barely change. The higher the cache hit rate, the cheaper those old contexts get.\n\nCommand Code recently did a serious round of Cache Thrashing work, mainly with these strategies:\n\nPin sessions to the same GPU pod to keep the KV cache warm; keep the stable prefix as intact as possible and stop provider fallbacks from messing with context; plus their Tool Call Repair, where the harness fixes wrong model parameters locally instead of sending errors back to the model to retry.\n\nThe v0.33.0 changelog literally lists: Major Cache Overhaul, median cost reduction 2.9×. They now officially claim sustained cache hit rates of 95–99%.\n\nSame model, same $10 plan — but because of caching, the difference compounds into a completely different outcome.\n","2026-08-30","I had missed a line item — the cache bill. Turns out caching decides Coding Agent costs.",154,{},"highlights\u002Fcommand-code-ceo-comment.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2093878404131283101",63259,"aLsLcmE6BQzodW89dwbQYs-WscTjy4G5eEZaMWzGt90",{"id":3727,"title":3728,"bookmarks":3729,"category":3490,"content":3730,"date":3718,"description":3731,"extension":8,"likes":3729,"locale":10,"meta":3732,"reposts":593,"stem":3733,"url":3734,"views":3735,"__hash__":3736},"highlights\u002Fhighlights\u002Fcommand-code-harness-compare.en.yml","Five harnesses compared: Command Code understands workhorse models best",112,"I took another careful look at Command Code, this time comparing it side by side with Pi, OMP, DeepSeek Harness, and OpenCode.\nWhat makes Command Code valuable right now is the Harness Engineering it does for open models.\nPi's philosophy is minimalism: the harness interferes with the model as little as possible — light, fast, low token overhead, and extremely malleable. OMP keeps stacking heavy coding capabilities on top of Pi — LSP, Debugger, Browser, AST — closer to fitting the agent with a full IDE.\nDeepSeek Harness goes even further: Everything is Plugin. Agent loop, tools, permissions, presets, UI — all can be taken apart and recombined, which makes it perfect for studying the next generation of agent runtimes.\nOpenCode is the most balanced of the bunch: open source, many providers, a big ecosystem, mature Client\u002FServer, desktop app, and subagents — a generalist that plugs into any model and handles any job.\nCommand Code takes a different route: it loves cleaning up after the model. Bad tool-call arguments get fixed locally by the harness; files read once and read again get deduplicated; long sessions keep a stable prefix to raise cache hits; when context is about to blow up it runs compaction; plus session affinity, taste, subagent isolation, and so on.\nApplied to workhorse models like DeepSeek V4 Flash or GLM-5.3 Flash, this approach gets extra value: the weaker the model, the more the harness picks up the slack.\nSo here's how I'd position all of them now:\nPi — best as the foundation for your own long-term agent: simple, clean, endlessly hackable.\nOMP — best for genuinely heavy coding: LSP, debugger, complex repo navigation.\nDeepSeek Harness — best for tinkering with agent architecture, presets, multi-agent setups, and next-gen runtimes.\nOpenCode — best for anyone who wants a mature, general-purpose, multi-model coding agent.\nCommand Code — best for heavy users of open models like DeepSeek \u002F GLM, especially anyone running Flash workhorse models at scale.\nIf I only care about long-term malleability, I still prefer Pi. But if today you asked me to put DeepSeek V4 Flash \u002F GLM-5.3 to serious work, I'd genuinely give Command Code a taste.\n","Pi is minimal, OMP is heavy-duty, DeepSeek Harness is fully pluggable, OpenCode is balanced — and Command Code covers for the model.",{},"highlights\u002Fcommand-code-harness-compare.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2093883062505599424",19500,"B7JtvhCnNr4XEwP7vHfC3bZ21Fkskowx5_wASPWKMW8",{"id":3738,"title":3739,"bookmarks":3740,"category":3490,"content":3741,"date":3742,"description":3743,"extension":8,"likes":3744,"locale":10,"meta":3745,"reposts":3746,"stem":3747,"url":3748,"views":3749,"__hash__":3750},"highlights\u002Fhighlights\u002Fcommand-goat-vs-opencode-go.en.yml","Command GOAT vs OpenCode Go: the family plans",223,"For folks who regularly use Chinese models like DeepSeek and GLM, it's worth checking out the \"family bundles\" foreigners have been putting together:\n\nCommand GOAT and OpenCode Go.\n\nI went through both $10 plans carefully.\n\nThe conclusion: pick Command GOAT with your eyes closed, no question. As of late August 2026, the version answer is:\n\nThe Command GOAT $10 plan!!!\nhttps:\u002F\u002Fcommandcode.ai\u002Fdocs\u002Fplans\u002Fgoat\n","2026-08-29","I went through both $10 plans line by line. Verdict: pick Command GOAT with your eyes closed.",219,{},16,"highlights\u002Fcommand-goat-vs-opencode-go.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2093694227452735776",36472,"uEgoeXtsvcWBI_angbWHqZ-V4omsVlIrHXSD5qoy8n8",{"id":3752,"title":3753,"bookmarks":593,"category":3754,"content":3755,"date":3585,"description":3756,"extension":8,"likes":656,"locale":10,"meta":3757,"reposts":3482,"stem":3758,"url":3759,"views":3760,"__hash__":3761},"highlights\u002Fhighlights\u002Fcompany-naming-ai.en.yml","Naming a company with AI: switch brains often","opc","Let me tell you about my company-naming saga.\n\nI used GPT 5.5 and Gemini 3.1 Pro, brainstorming with both models over and over — two or three days, and still no good name.\n\nWhy? Because these models have no creativity. Every name option they gave me was just piles of fancy words and character combinations.\n\nYou throw out your own idea, and they roll the same circular talk back at you, round and round, until my blood pressure spiked.\n\nThere's another big problem: once you finally land on a few names you're happy with, you open Qichacha and — damn — they're either registered already or eerily similar to something existing.\n\nHere I can recommend Alibaba's 88 Cha, like a free Qichacha — use it to check for name clashes.\n\nIf you don't want to keep repeating existing names, go with a four-character name, and keep your thinking broad.\n\nAbove all, switch between several models — several different brains.\n\nFeed the AI some names you consider great as references, like DeepSeek (深度求索) or ByteDance (字节跳动).\n\nLet the AI study the names you think are good. Only by borrowing from the best of many can a truly great name emerge.\n","Let me tell you about my company-naming saga.",{},"highlights\u002Fcompany-naming-ai.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070789296647541044",3134,"cyaCetPDlu65CuEY22O6yxF6jCRfJFQw0Ybx6pyBjnQ",{"id":3763,"title":3764,"bookmarks":3765,"category":3547,"content":3766,"date":3549,"description":3767,"extension":8,"likes":3768,"locale":10,"meta":3769,"reposts":158,"stem":3770,"url":3771,"views":3772,"__hash__":3773},"highlights\u002Fhighlights\u002Fcoolstate-power-bank.en.yml","CoolState Power Bank No. 25: the perfect office companion for going off-site",50,"A friend asked me what brand the power bank in the photo is.\n\nAlright, time for me to start pitching.\n\nThis is the CoolState Power Bank No. 25 Super SE (CoolState is the former Zimi).\n\nA little over 140 yuan, 25,000 mAh, up to 120W output, built-in charging cable.\n\nIt keeps my MacBook Air going through a whole afternoon of heavy work.\n\nThe perfect office companion for Starbucks, McDonald's, KFC, the countryside, and every other place!\n","A friend asked me what brand the power bank in the photo is.",36,{},"highlights\u002Fcoolstate-power-bank.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071863868402643280",28478,"_wmlALqxhEWXYg7MBboTYWQY7SiIB3hVBtDcZIG14og",{"id":3775,"title":3776,"bookmarks":3482,"category":3490,"content":3777,"date":3465,"description":3778,"extension":8,"likes":3482,"locale":10,"meta":3779,"reposts":3482,"stem":3780,"url":3781,"views":3496,"__hash__":3782},"highlights\u002Fhighlights\u002Fdahuang-ai-tone.en.yml","Dahuang AI Tone: you have to smell the AI flavor before you can strip it off","I made a somewhat ridiculous Skill:\n\n**Dahuang AI Tone**\n\nEveryone talks about \"removing the AI flavor.\" But what exactly is the AI flavor?\n\nIt does two things:\n\n- Rewrite a piece of normal text into the AI flavor of a specified model\n- Or the reverse: point out where a piece of text smells like AI, and which model's tone it resembles\n\nIts value:\n\nYou have to smell the AI flavor before you know how to strip it off.\n\nGitHub: https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fdahuang-ai-tone\n","I made a somewhat ridiculous Skill: Dahuang AI Tone",{},"highlights\u002Fdahuang-ai-tone.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2069025354623377580","O1dIIyBjju-lzh4Fghcgo77DRT6SunfzW_soWLSqdu8",{"id":3784,"title":3785,"bookmarks":3625,"category":3490,"content":3786,"date":3465,"description":3787,"extension":8,"likes":721,"locale":10,"meta":3788,"reposts":153,"stem":3789,"url":3790,"views":3791,"__hash__":3792},"highlights\u002Fhighlights\u002Fdahuang-human-tone.en.yml","Dahuang Human Tone: no AI essay should be a pain to read","I spent a whole day properly researching \"removing the AI flavor from articles.\"\n\nCompared the mainstream Humanizers, the de-AI-flavor Skills, and the prompt-based approaches out there.\n\nThen factored in my own experience from using LLMs since 2023 — tormented day after day by the AI flavors of GPT, Claude, Gemini, and Doubao.\n\nAnd made this:\n\n**Dahuang Human Tone**\n\nA de-AI-flavor Skill built for the Chinese context.\n\nMy wish:\n\nNo AI essay should be a pain to read.\n\nGitHub: https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fdahuang-human-tone\n","I spent a day properly researching how to remove the AI flavor from articles.",{},"highlights\u002Fdahuang-human-tone.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2069051412240273678",1154,"Yr9kpKXJz_Z-X-TJXSx2AADVPAyRDpgkH4_LI1aMYGM",{"id":3794,"title":3795,"bookmarks":3796,"category":3490,"content":3797,"date":3798,"description":3799,"extension":8,"likes":3800,"locale":10,"meta":3801,"reposts":3482,"stem":3802,"url":3803,"views":3804,"__hash__":3805},"highlights\u002Fhighlights\u002Fdeepseek-flash-15-projects.en.yml","DeepSeek V4 Flash is really cheap to run: 15 projects at once",13,"DeepSeek V4 Flash is genuinely smart, and genuinely cheap.\nI've had 15 projects open in a row, all running code at the same time.\nThe quota barely moved.\n","2026-08-10","Fifteen projects running code simultaneously, and the quota barely moved.",83,{},"highlights\u002Fdeepseek-flash-15-projects.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2086610120990200282",28075,"RIAsVbSae3DRJBi3hrHEMF5JTXDYya9mlGRL08wNhPg",{"id":3807,"title":3808,"bookmarks":656,"category":3490,"content":3809,"date":3810,"description":3811,"extension":8,"likes":672,"locale":10,"meta":3812,"reposts":501,"stem":3813,"url":3814,"views":3815,"__hash__":3816},"highlights\u002Fhighlights\u002Fdeepseek-harness-api-bug.en.yml","DeepSeek Harness hits 'unknown tool' with third-party APIs: a gateway data-format issue","DeepSeek Harness + third-party API compatibility issue:\n\nWhen the agent calls tools like Bash, it errors with `ToolNotFoundError: unknown tool \"\"`, which looks like the tool was never registered.\n\nWhat actually happens: the gateway returns a different data format from DeepSeek's official API, and the tool name gets dropped somewhere in between.\n\nA few relevant GitHub Discussions links:\n\n- Search \"unknown tool\" in deepseek-ai\u002Fdsh#issues\n- People running self-hosted gateways (OpenRouter \u002F OneAPI \u002F new-api) are the most likely to hit this\n\nDebugging approach: capture a full tool_call request and response, and check whether the tool name in the gateway logs is an empty string.\n","2026-08-18","The tool name isn't actually lost — the gateway mangled the data format.",{},"highlights\u002Fdeepseek-harness-api-bug.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2089636108271550484",2463,"PAcdkgahV0JfuQmbju51DH3YaGJCF0OfwbalPMRimU4",{"id":3818,"title":3819,"bookmarks":3820,"category":3490,"content":3821,"date":3822,"description":3823,"extension":8,"likes":3824,"locale":10,"meta":3825,"reposts":730,"stem":3826,"url":3827,"views":3828,"__hash__":3829},"highlights\u002Fhighlights\u002Fdeepseek-harness-preset-concept.en.yml","DeepSeek Harness's Preset concept: the distribution unit of agents",77,"Lately I've been studying DeepSeek Harness. There's a concept called Preset worth paying attention to.\n\nPreset can be understood as the distribution unit of an agent. Load different Presets on the same model, and it becomes completely different agents.\n\nWhat's the biggest difference between a Preset and a Skill?\n\n- A financial-report-analysis Skill: teaches the agent how to analyze financial reports.\n- A financial-report-analysis Preset: bundles the financial-report-analysis Skill, web search, Browser, PDF, Python, subagents, research prompts, and context strategy all together — handing you an out-of-the-box agent.\n\nIn the future, two market layers will likely emerge at once.\n\n- One: a Plugin \u002F Skill marketplace, mainly for developers and power users building agents;\n- One: a Preset \u002F Agent marketplace, truly aimed at ordinary users.\n\nThis is actually very close to the App Store logic. The App Store showcases a complete app; a Preset showcases a complete agent application.\n\nIn the past, people shared prompts. Then they started sharing skills. Next, they'll probably be sharing Presets.\n","2026-08-17","Load different Presets on the same model and you get completely different agents.",86,{},"highlights\u002Fdeepseek-harness-preset-concept.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2089206966015176725",39454,"C7c8GDpGoom6j_WoBKssTq-79Fxs-zv531rL3iyTTPY",{"id":3831,"title":3832,"bookmarks":3833,"category":3490,"content":3834,"date":3822,"description":3835,"extension":8,"likes":3836,"locale":10,"meta":3837,"reposts":3838,"stem":3839,"url":3840,"views":3841,"__hash__":3842},"highlights\u002Fhighlights\u002Fdeepseek-harness-preset-marketplace.en.yml","DeepSeek Harness's ecosystem will likely boom through Presets",158,"DeepSeek Harness's ecosystem will very likely boom through Presets.\n\nA Preset plaza has already appeared in the community — interested folks can keep an eye on it.\n\nEntry: [dshdesktop.com\u002Fpreset](https:\u002F\u002Fwww.dshdesktop.com\u002Fpreset\u002F)\n","The community has already produced a Preset plaza.",122,{},22,"highlights\u002Fdeepseek-harness-preset-marketplace.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2089207528869732438",34524,"GAlE3N96cY6XYzH_URvCA7PJdKhV14NpCc2VPFhgD3I",{"id":3844,"title":3845,"bookmarks":3838,"category":3490,"content":3846,"date":3847,"description":3848,"extension":8,"likes":3849,"locale":10,"meta":3850,"reposts":158,"stem":3851,"url":3852,"views":3853,"__hash__":3854},"highlights\u002Fhighlights\u002Fdeepseek-harness-ptc-mode.en.yml","With DeepSeek Harness, try PTC mode as much as you can","This article makes the case: when using DeepSeek Harness, try PTC mode as much as you can.\nThe benefits are faster speed, lower token spend, and a much more focused model attention.\n","2026-08-16","Faster, more token-efficient, and it keeps the model's attention focused.",20,{},"highlights\u002Fdeepseek-harness-ptc-mode.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2088839148635664394",7389,"83c5fKh90lj6pDXNs9Ht0a_opmMDgh_KRKsRdFKNvz0",{"id":3856,"title":3857,"bookmarks":721,"category":3490,"content":3858,"date":3810,"description":3859,"extension":8,"likes":3849,"locale":10,"meta":3860,"reposts":3482,"stem":3861,"url":3862,"views":3863,"__hash__":3864},"highlights\u002Fhighlights\u002Fdeepseek-harness-state.en.yml","DeepSeek Harness today: 150k stars and still a Developer Preview","I went back through the DeepSeek Harness repo and Discussions recently, and this project is at a very interesting stage:\n\nDeepSeek Harness already has 150k+ stars and over 12,000 commits in the repo.\n\nYet the official README still states very clearly: it's only a Developer Preview right now, and breaking changes are still coming.\n\nrc.7 was released on August 17. Issue and PR creation is restricted; feedback goes through Discussions.\n\nThe community is huge, but core development is concentrated in few hands. Bugs keep popping up — like the unknown tool \"\" issue.\n\nWhat's most missing: test coverage, provider compatibility, and session reliability.\n\nArchitecturally it's still attractive, like the foundation of an agent operating system:\n\n- Everything is a Plugin\n- Cordis composition architecture\n- Preset \u002F Skill \u002F MCP \u002F Agent \u002F Provider all pluginized\n\nThe project is at the \"influence runs ahead of engineering\" stage.\n","Influence is running ahead of engineering maturity, and the peripheral ecosystem is expanding fast.",{},"highlights\u002Fdeepseek-harness-state.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2089642236413985278",6466,"zv0prcnJQOBJvHhnMryp6MoVsRLVi6B2lIqSSEwu2bM",{"id":3866,"title":3867,"bookmarks":3482,"category":3490,"content":3868,"date":3549,"description":3869,"extension":8,"likes":501,"locale":10,"meta":3870,"reposts":3482,"stem":3871,"url":3872,"views":3873,"__hash__":3874},"highlights\u002Fhighlights\u002Fdeepseek-profit-margin.en.yml","Fun fact: DeepSeek's API profit margin is 545%","Here's a fun fact — you might assume DeepSeek is selling tokens at a loss.\n\nIts API is priced cheap, but the official side has mentioned a profit margin of 545% on this segment!!!\n\nSo DeepSeek is not only a cyber-AI bodhisattva, it's also technically a monster.\n\nOriginal: [DeepSeek Open Infra Index](https:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002Fopen-infra-index\u002Fblob\u002Fmain\u002F202502OpenSourceWeek\u002Fday_6_one_more_thing_deepseekV3R1_inference_system_overview.md)\n","A fun fact — you might think DeepSeek sells tokens at a loss.",{},"highlights\u002Fdeepseek-profit-margin.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071961851399897315",412,"S1HiSgMDQQOiDf4W0Le9MWv4vjVe2qIIKfAezKuMXYE",{"id":3876,"title":3877,"bookmarks":705,"category":3490,"content":3878,"date":3478,"description":3879,"extension":8,"likes":672,"locale":10,"meta":3880,"reposts":3482,"stem":3881,"url":3882,"views":3883,"__hash__":3884},"highlights\u002Fhighlights\u002Fdoubao-voice-rewrite.en.yml","Rewriting via Doubao voice: a trick for less AI flavor","Sharing a small rewrite trick.\n\nUse the Doubao keyboard's voice-to-text.\n\nKeep the draft you need to organize in front of you.\n\nSpeak it out, retelling it in your own words.\n\nThat way there's less AI flavor.\n\nIt's efficient, free, and needs no membership.\n\nYou can do voice input anywhere, anytime, boosting your output efficiency.\n","Sharing a small rewrite trick.",{},"highlights\u002Fdoubao-voice-rewrite.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067231835051180134",1367,"qY7pKKidFQK69-7NJQ6hoxrzs8bybAoPP94ROlIgp8s",{"id":3886,"title":3887,"bookmarks":3888,"category":3490,"content":3889,"date":3890,"description":3891,"extension":8,"likes":3559,"locale":10,"meta":3892,"reposts":167,"stem":3893,"url":3894,"views":3895,"__hash__":3896},"highlights\u002Fhighlights\u002Fdsh-four-modes.en.yml","DeepSeek Harness's four modes, explained",60,"I spent some time on DeepSeek Harness's four modes — here's the pros, cons and use cases for each.\n\n1. Standard — best for everyday development\nStandard is DeepSeek Harness's default full Coding Agent. It ships with everything everyday development needs, and it's especially suited to tasks where you don't yet know where the problem is and the agent needs to explore on its own.\n\nBut since most of the work is LLM → Tool → LLM → Tool → LLM → Tool, the Tool Calling round trips pile up as tasks get complex, raising latency and token cost.\n\nSo: exploration-first tasks go to Standard.\n\n2. PTC — the efficiency mode for complex tasks\nPTC lets the model write a block of TypeScript that combines multiple tool calls into one execution.\n\nStandard might be: search files → back to model → read file → back to model → search → back to model → edit → back to model.\nPTC becomes: model writes TypeScript → run once → search + loop + filter + read + process → return the final result.\n\nThat cuts round trips and keeps huge amounts of meaningless intermediate data out of the model context. So batched, repetitive, structured processing is where PTC shines.\n\n3. Minimal — just Bash + Editor for the model\nIts biggest strength is simplicity: few tools, small tool schemas, low fixed prompt overhead.\n\nBut no Web, no Skills, no Subagent, no Workflow — complex tasks have to be brute-forced by one agent. And Minimal lacks Standard's full Context Compaction. So while short tasks have low fixed token overhead, on very long sessions with lots of Bash output it may not actually save tokens.\n\nMinimal is the pick for crisp, well-defined small tasks — the clearer and shorter, the better.\n\n4. Creator — using an agent to create agents\nIt has Standard plus the Cordis Runtime, plugin experiments, and Preset creation. It even turns the agent itself into something composable and creatable.\n\nKind of cute, honestly: the model sets up its own stall to sell goods, then fusses over its own stall — self-sufficient.\n\nBut Creator's biggest problem is its elevated permissions. Keep that in mind.\n","2026-08-15","Standard for everyday dev, PTC for complex efficiency, Minimal for crisp small tasks, and Creator — agents building agents.",{},"highlights\u002Fdsh-four-modes.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2088643296021401829",10151,"X18d75ojMU4AHBh6LhMbPeo-B7ABb10C7xCjPNcJpAg",{"id":3898,"title":3899,"bookmarks":3849,"category":3490,"content":3900,"date":3901,"description":3902,"extension":8,"likes":3903,"locale":10,"meta":3904,"reposts":158,"stem":3905,"url":3906,"views":3907,"__hash__":3908},"highlights\u002Fhighlights\u002Fdsh-web-ui-form.en.yml","DeepSeek Harness got the form right","I think DeepSeek Harness nailed the form factor.\n\nInstead of jumping straight into an anti-human TUI, it ships a Web UI.\n\nAnd it barely takes any storage — because there is no installer at all. No Electron framework ramming a browser engine inside. That's a lot of storage saved.\n\nThe only drawback is that it lives in the browser — but you can install it as a PWA, and then it feels exactly like a native client.\n\nInstalling a web app as an application via Chrome is genuinely useful. In the screenshot here, it's a webpage, yet it behaves no differently from a desktop app.\n","2026-08-13","No inhumane TUI upfront — Web UI out of the box. No installer, no bundled browser engine, barely any storage.",101,{},"highlights\u002Fdsh-web-ui-form.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087903125302862187",53961,"R_xHQD8_6ds2SiR4VBOrJg2EtvMoaELyYDB1fEoq3zA",{"id":3910,"title":3911,"bookmarks":3482,"category":3476,"content":3912,"date":3810,"description":3913,"extension":8,"likes":571,"locale":10,"meta":3914,"reposts":3482,"stem":3915,"url":3916,"views":3917,"__hash__":3918},"highlights\u002Fhighlights\u002Femotion-as-organization-fuel.en.yml","The value of emotion is deeply valuable","I'm increasingly convinced that the value of emotion is deeply valuable.\n\nWhy can we Homo sapiens band together to do great things?\n\nPrecisely because we collectively believe in some story, some emotion, some totem, some myth, some narrative — that's what forms organizations, drives cooperation, grows us stronger, and makes greatness happen.\n\nIsn't that itself a kind of emotional value?\n","Homo sapiens can do great things together because we collectively believe in some story or emotion.",{},"highlights\u002Femotion-as-organization-fuel.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2089718586109743218",475,"m98ss7VKwKqzZzkGUxQScuL0UO_ylfrfTJslSFNfgZQ",{"id":3920,"title":3921,"bookmarks":3480,"category":3607,"content":3922,"date":3923,"description":3924,"extension":8,"likes":3925,"locale":10,"meta":3926,"reposts":153,"stem":3927,"url":3928,"views":3929,"__hash__":3930},"highlights\u002Fhighlights\u002Ffeedsieve-33-monsters.en.yml","Grinding with FeedSieve on: 33 spam accounts caught in one hot thread","With the FeedSieve plugin on, I like to go grind spam in the comment sections of hot posts — it's oddly therapeutic.\nJust caught 33 spam accounts in one hot thread.\nBlocked them all in one click!!!\n","2026-09-06","Hunting spam in comment sections is oddly therapeutic — caught 33 bots in a single hot post, blocked them all in one click.",33,{},"highlights\u002Ffeedsieve-33-monsters.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2096582832508510650",7360,"Cuyv4JSs9f1HYcvH9sTUVyaHWXwbwAuqepXGGwM9-s8",{"id":3932,"title":3933,"bookmarks":3934,"category":3547,"content":3935,"date":3923,"description":3936,"extension":8,"likes":3937,"locale":10,"meta":3938,"reposts":3939,"stem":3940,"url":3941,"views":3942,"__hash__":3943},"highlights\u002Fhighlights\u002Ffeedsieve-chrome-launch.en.yml","FeedSieve is live on the Chrome Web Store",999,"After many rounds of iteration, FeedSieve — the X-feed cleaner — is officially live on the Chrome Web Store.\n\nWho wouldn't want the thrill of one-click blocking those spam accounts?\n\nGo for it, folks!\n","The X-feed cleaner FeedSieve lands on the Chrome Web Store — one-click block, synced everywhere.",958,{},138,"highlights\u002Ffeedsieve-chrome-launch.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2096514808975970337",181959,"sfwP9KYH9pX7pHrWFomky7c0VcWbxtrQJ7yFbRtmzRg",{"id":3945,"title":3946,"bookmarks":3606,"category":3607,"content":3947,"date":3718,"description":3948,"extension":8,"likes":3925,"locale":10,"meta":3949,"reposts":153,"stem":3950,"url":3951,"views":3952,"__hash__":3953},"highlights\u002Fhighlights\u002Ffeedsieve-dev-journey.en.yml","Annoyed into building FeedSieve","I got so annoyed by garbage accounts like \"Fu Bu Hei\" lately.\n\nIn a fit of anger, I wrote a browser extension — it's called \"FeedSieve\".\n\nAfter several rounds of iteration it's in a good place, and it's about to go live.\n\nFor those who need it, bookmark this — I'll open-source it and put it on the Chrome Web Store soon.\n","A browser extension born out of rage, iterated to a good place, about to be open-sourced.",{},"highlights\u002Ffeedsieve-dev-journey.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2094034646350930333",169487,"6TNAKNN7kaZcs_0uLWbR0_ly4VYUb7qUFQKcaVqQZlE",{"id":3955,"title":3956,"bookmarks":656,"category":3607,"content":3957,"date":3958,"description":3959,"extension":8,"likes":3960,"locale":10,"meta":3961,"reposts":3482,"stem":3962,"url":3963,"views":3964,"__hash__":3965},"highlights\u002Fhighlights\u002Ffeedsieve-spam-evolution.en.yml","The spam accounts are mutating? The blocklist learns their fingerprints in real time","Are these spam accounts mutating?\nThe garbage posts they're sending look different from before.\nNo problem — we update the list in real time and keep learning these fingerprints in real time.\nIt's the elite ones we're hunting!\n","2026-09-07","New spam patterns keep appearing — FeedSieve keeps learning them and updating the list in real time.",43,{},"highlights\u002Ffeedsieve-spam-evolution.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2096958383379423600",5225,"2ix1enc6y2b9Q5IJGCWGtnVQj-BHQ3iiOTFvcB2ecGA",{"id":3967,"title":3968,"bookmarks":3969,"category":3547,"content":3970,"date":3549,"description":3971,"extension":8,"likes":3972,"locale":10,"meta":3973,"reposts":3590,"stem":3974,"url":3975,"views":3976,"__hash__":3977},"highlights\u002Fhighlights\u002Ffirefox-free-vpn.en.yml","Firefox: 50G of free VPN every month",2205,"Holy shit! I only just found out the Firefox browser gives every user 50G of free VPN traffic per month.\n\nExtremely handy for that awkward chicken-and-egg situation.\n\nHow to use:\n\n1. Type `about:config` in the address bar\n2. Go to advanced preferences and click \"Show all\"\n3. Search for `browser.ipProtection.enabled`\n4. Flip that entry's value to true\n","Holy shit! I only just found out Firefox gives every user 50G of free VPN traffic per month.",1604,{},"highlights\u002Ffirefox-free-vpn.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071963210689970673",165468,"H3OTBa23fqLwinbwnGatlIVB6mutJARgrh1VbdVB314",{"id":3979,"title":3980,"bookmarks":3981,"category":3463,"content":3982,"date":2560,"description":3983,"extension":8,"likes":3984,"locale":10,"meta":3985,"reposts":3480,"stem":3986,"url":3987,"views":3988,"__hash__":3989},"highlights\u002Fhighlights\u002Fflaremo-cloudflare-notes.en.yml","FlareMo: a notes app built natively on the Cloudflare stack",169,"A notes app natively built on the Cloudflare tech stack — FlareMo.\n\nRegister a free Cloudflare account, and once deployed you get 10G of file storage and 5G of data storage.\n\nFree forever — no cost for infrastructure, no cost for traffic, data backed up across regions, high availability built in from birth.\n\nServing in the cloud 24\u002F7, fully compatible with the Memos ecosystem.\n\nDevelopment progress at the time: got the core functionality up in a day, already fully usable.\n\nGoing forward: more usage and deployment tutorials, engineering test cases, AI-agent techniques, and multi-platform support. Build in public.\n","A notes app natively built on the Cloudflare tech stack — FlareMo.",137,{},"highlights\u002Fflaremo-cloudflare-notes.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071232962520285429",16697,"gSFE5vBxHFlK8uiZxZ_aGor8-RNSHWmWnuOjfr2hFYE",{"id":3991,"title":3992,"bookmarks":153,"category":3463,"content":3993,"date":3585,"description":3994,"extension":8,"likes":501,"locale":10,"meta":3995,"reposts":501,"stem":3996,"url":3997,"views":3998,"__hash__":3999},"highlights\u002Fhighlights\u002Fflaremo-why.en.yml","Why FlareMo: jot it down casually, and it slowly grows into knowledge","Looking for a tool that lets you \"jot things down casually and slowly grow them into knowledge.\"\n\nI want Flomo's out-of-the-box, zero-friction inspiration capture;\n\nI want Memos' mature open-source ecosystem, portable data, and an API you can actually play with;\n\nBut I don't want to spin up another VPS and babysit Docker, Postgres, and a Node process that runs forever.\n\nSo what to do? FlareMo's approach: treat Memos' data model and API as the \"spec,\" and rebuild the whole runtime on Cloudflare:\n\nWorkers run the API, D1 stores notes, R2 holds attachments, Queues\u002FCron handle background jobs, and Vectorize + Workers AI are saved for future semantic search and AI workflows.\n\nStanding on Memos' shoulders to build a personal knowledge base that lives on the edge cloud.\n","Looking for a tool that lets you 'jot things down casually and slowly grow them into knowledge.'",{},"highlights\u002Fflaremo-why.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070807195332297205",265,"beMP3Q_aFT3bJcctFGF-gm__Z5CmUoa8JwJDFS1eL6c",{"id":4001,"title":4002,"bookmarks":3572,"category":3607,"content":4003,"date":4004,"description":4005,"extension":8,"likes":4006,"locale":10,"meta":4007,"reposts":571,"stem":4008,"url":4009,"views":4010,"__hash__":4011},"highlights\u002Fhighlights\u002Ffomo-fear-missing-out.en.yml","Bookmarking everything good you see? That's FOMO","Let me introduce a concept: FOMO, short for Fear of Missing Out.\n\nI'm sure plenty of people have this problem: you see something good and want to bookmark it, you see a new tool or trend and want to jump on it, always feeling that if you don't, you'll miss something important. The result: your bookmarks get fuller and fuller, your head gets messier and messier, and your attention gets nibbled away bit by bit along the way.\n","2026-07-23","Introducing the concept of FOMO — Fear of Missing Out.",34,{},"highlights\u002Ffomo-fear-missing-out.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2080265527151517777",2607,"WfasgO6tmwcorznHYb5jo244ROzrm54jjbObjkAK4Pg",{"id":4013,"title":4014,"bookmarks":635,"category":3476,"content":4015,"date":3535,"description":4016,"extension":8,"likes":4017,"locale":10,"meta":4018,"reposts":571,"stem":4019,"url":4020,"views":4021,"__hash__":4022},"highlights\u002Fhighlights\u002Fgeek-arrogance-tui.en.yml","Geek solipsism: treating pain as prestige","Honestly, some geek communities aren't just niche anymore — they're outright solipsistic.\n\nTheir signature move: treating inconvenience as sophistication, and barriers to entry as taste.\n\nIf something is easy, intuitive, and quick for normal people to pick up, they instinctively feel it's not hardcore enough, too mainstream, beneath them.\n\nConversely, the more awkward the interaction, the more buried the information, the more you need to learn a private jargon and a pile of shortcuts — the more they feel this is what a real tool looks like.\n\nThis isn't about efficiency anymore. It's using pain to confirm your own identity.\n\n\"I can endure interactions other people can't\" — once that sentence leaves your mouth, the superiority writes itself.\n\nThe smaller the circle, the easier this self-congratulation feeds on itself.\n\nIt eventually turns into: whoever dares to call it unusable simply doesn't get it — they're an outsider.\n\nTruly capable people make complex things simple. Some geeks make simple things complicated, then stand on top of the complexity looking down at everyone else.\n","Difficulty as class, barriers as taste — if it's easy and intuitive for normal people, it must not be hardcore enough.",56,{},"highlights\u002Fgeek-arrogance-tui.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087949970083389490",7066,"iuGSpBdocqmBUlb7Ub2x_8Vht5yUJTEZB42YJHJSgrc",{"id":4024,"title":4025,"bookmarks":3606,"category":3490,"content":4026,"date":3958,"description":4027,"extension":8,"likes":3960,"locale":10,"meta":4028,"reposts":571,"stem":4029,"url":4030,"views":4031,"__hash__":4032},"highlights\u002Fhighlights\u002Fgemini-us-soybean-recap.en.yml","What people really think of the Gemini 'US Soybean' plan: a Swiss Army knife, not an engineering machine","People's takes on the Gemini \"US Soybean\" plan are packed with substance, so I put together a quick recap of the comment section:\nMany people find Gemini disappointing because they mistake its identity — they treat it as their primary engineering machine tool.\nIn fact it's positioned more like a fully loaded Swiss Army knife: light, versatile, with rock-bottom marginal cost, but with clear limits on complex engineering and autonomous execution.\nOn the information-input side, native YouTube parsing is one of its most hassle-free abilities. No local download scripts or transcription tools — submit a link and it extracts the full timestamped transcript, keyframe grabs, and structured summaries in the cloud.\nA lot of people's workflows have settled into a clear division of labor: Grok tracks real-time discussions on X, while Gemini handles tech podcasts and in-depth videos over half an hour long.\nIn visual and front-end scenarios, its multimodal foundation is solid. Full pages of handwritten notes, complex tables, or low-resolution scans all get recognized with high accuracy and few hallucinations.\nAnd when prototyping front ends it's extremely fast, with natural code structure and none of that stiff, redundant generated feel.\nPlenty of indie developers use fixed prompts to have it generate slide structures on a single page, or quickly produce usable pages from design screenshots.\nOn cost and tooling, its ecosystem math works out well: the $20\u002Fmonth subscription supports family sharing for up to 6 people, comes with terabytes of Google Drive storage, and integrates deeply with Docs and Sheets.\nRoute research, multimodal parsing, and light page building to it, then hand the core complex code to dedicated coding models, and your overall tooling costs drop noticeably.\nA few advanced uses that have been proven to work:\nFirst, leverage its relatively straightforward logical preferences and have it review the over-engineering and redundant code other models tend to produce.\nSecond, pair it with NotebookLM to build a private knowledge base around a specific set of materials.\nThird, allocate the premium quota to derived needs like speech synthesis and image processing.\nBut you must be clear about its limits.\nOne, it's not suited for complex terminal-agent tasks; ask it to modify system rules or deploy environments and it often refuses or fails to follow multi-step instructions.\nTwo, deep business code must be cross-reviewed by your primary coding models to avoid hidden defects. Three, it's sensitive to your network environment — unstable nodes easily trigger service restrictions or a degraded experience.\n","Recap of the comment section: YouTube parsing, front-end prototypes, family-plan value — complex terminal agents are its weak spot.",{},"highlights\u002Fgemini-us-soybean-recap.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2096645820246630867",10056,"b6KJgCxG3Ypm4IKdjmWmIDEePU4_cO7qIKzeDZQCmzc",{"id":4034,"title":4035,"bookmarks":3765,"category":3490,"content":4036,"date":3923,"description":4037,"extension":8,"likes":4038,"locale":10,"meta":4039,"reposts":593,"stem":4040,"url":4041,"views":4042,"__hash__":4043},"highlights\u002Fhighlights\u002Fgemini-use-cases.en.yml","What do you all use Gemini for?","Curious what everyone uses the American soybean Gemini for?\n\nI feel like most people with Codex don't really need it day to day.\n\nWhat are its actual strengths?\n","Once you have Codex, where does the \"American soybean\" Gemini still earn its keep?",70,{},"highlights\u002Fgemini-use-cases.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2096559458633875733",110189,"D_ZUx101Ac_uMMdEtBPbWVCy8hb5Jqip62F6O6R87J0",{"id":4045,"title":4046,"bookmarks":3482,"category":3607,"content":4047,"date":3585,"description":4048,"extension":8,"likes":153,"locale":10,"meta":4049,"reposts":3482,"stem":4050,"url":4051,"views":4052,"__hash__":4053},"highlights\u002Fhighlights\u002Fgod-museum-concept.en.yml","God-Museum · Museum of the Gods: cramming Eastern and Western pantheons into one universe","The name for the Eastern-Western mythology compendium is set — God-Museum · Museum of the Gods:\n\nCram the *Classic of Mountains and Seas*, *Journey to the West*, ancient Greek, Norse, and ancient Egyptian pantheons — these sets of stories that never touched — into one universe, and make them not collide.\n\nThe same law of thunder is called Zeus in Greece and Leizhenzi in the East;\n\nthe same great flood is remembered in the East as Nüwa mending the sky, and by the Hebrews as Noah's Ark.\n\nIf you keep chasing that thread seriously, the whole mythological world has to be rearranged.\n\nTry it online: https:\u002F\u002Fchendahuang.com\u002Fgod-museum\u002F\n","The name for the Eastern-Western mythology compendium is set — God-Museum · Museum of the Gods",{},"highlights\u002Fgod-museum-concept.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070832316063305798",456,"f8bXh_yJAx2gQ3bguJcadQf-QT-P7I29J0g2l3fPNFM",{"id":4055,"title":4056,"bookmarks":4057,"category":3490,"content":4058,"date":4059,"description":4060,"extension":8,"likes":3768,"locale":10,"meta":4061,"reposts":3482,"stem":4062,"url":4063,"views":4064,"__hash__":4065},"highlights\u002Fhighlights\u002Fgpt-56-luna-price-drop.en.yml","OpenAI has lost its mind: GPT-5.6-Luna price cut 80%",14,"I'm genuinely in awe — OpenAI has lost its mind. GPT-5.6-Luna price cut 80%: $0.2 input, $1.2 output, $0.02 cache hit.\nCompared with DeepSeek V4 Pro, at typical coding usage — 100M tokens with 95% cache hits — DeepSeek runs about 20 yuan, Luna about 26 yuan.\nAnd if you're on a Codex plan, running Luna gets you five times the previous volume — a full fivefold usage boost! https:\u002F\u002Ft.co\u002FfBVVfyN2OC\n","2026-07-31","GPT-5.6-Luna price cut 80%: $0.2 input, $1.2 output.",{},"highlights\u002Fgpt-56-luna-price-drop.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2083028665949212702",20262,"uETEWn7LQc8Xdiq44WTaVGOpog69RejiRR52u0bpV1U",{"id":4067,"title":4068,"bookmarks":3482,"category":3490,"content":4069,"date":3609,"description":4070,"extension":8,"likes":158,"locale":10,"meta":4071,"reposts":3482,"stem":4072,"url":4073,"views":4074,"__hash__":4075},"highlights\u002Fhighlights\u002Fgpt5-ui-redundant-copy.en.yml","The GPT-5 generation's endemic flaw: writing internal requirements into UI copy","So well put — this is the GPT-5 generation's endemic flaw:\n\nIt keeps writing internal requirements into the UI copy to prove its workload. To prove itself — oh look, I really did it, aren't I great, I didn't slack off, I've laid every one of your requirements out on the table.\n\nAnd the UI copy is bloated beyond belief. From 5.0 all the way to 5.6 — generation after generation — this still hasn't been fixed. It's in the marrow.\n\nAnyone who's actually shipped frontend products knows:\n\n- Every bit of text on the interface, big or small, is user-facing copy\n- Text that belongs in chat feedback to developers should never be written into the product\n\nBut it doesn't just write crappy copy — it often writes internal feedback into the product to \"show\" that it did something.\n","The root of the bloated UI copy is that it never separates user-facing text from dev-facing feedback.",{},"highlights\u002Fgpt5-ui-redundant-copy.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087349882101370909",1537,"RQ8vfBGyai_vR_Pg2iXU8-G6J_i0x_TmJ3k-aw8GRw0",{"id":4077,"title":4078,"bookmarks":571,"category":4079,"content":4080,"date":3448,"description":4081,"extension":8,"likes":4082,"locale":10,"meta":4083,"reposts":3482,"stem":4084,"url":4085,"views":4086,"__hash__":4087},"highlights\u002Fhighlights\u002Fgrowth-be-useful.en.yml","The fastest way to grow followers: make people feel that NOT following you is the loss","growth","The fastest way to grow followers on X is to keep making people feel:\n\nnot following you is their loss.\n\nMake yourself someone who's continuously useful to others.\n","The fastest way to grow on X is to keep making people feel:",55,{},"highlights\u002Fgrowth-be-useful.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067008273606455358",4604,"ThOzEyCI7UktI4Ki4UACF0lTrw7aoHIkPhqeYPOPIds",{"id":4089,"title":4090,"bookmarks":3849,"category":4079,"content":4091,"date":3658,"description":4092,"extension":8,"likes":4093,"locale":10,"meta":4094,"reposts":501,"stem":4095,"url":4096,"views":4097,"__hash__":4098},"highlights\u002Fhighlights\u002Fgrowth-day7-altruism.en.yml","Broke 2000 followers on day 7 — the core is one word: altruism","Broke 2000 followers on day 7 of operations — a quick look back.\n\nThe core is one word: altruism.\n\nI mainly shared two kinds of practical content:\n\n- A macOS heavy-usage software list (48k reads)\n- A Cloudflare free-tier table + Playbook (decent numbers on X; some guy even scraped and rewrote it onto Zhihu, pulling several hundred bookmarks)\n- Plus OPC one-person-company resource recommendations (38k reads)\n\nI wasn't thinking about how to grow followers — I just organized what I'd figured out and gave it away free. And growth came faster for it.\n\nI'll keep putting out this kind of practical content. Thanks everyone for the support.\n","Broke 2000 followers on day 7 of operations — a quick look back.",32,{},"highlights\u002Fgrowth-day7-altruism.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2068755833903878535",4288,"ateoQKXhLIikCzSHEWvbp0wvm6EOZ7P4iAGHB6LJ9Fo",{"id":4100,"title":4101,"bookmarks":4102,"category":3490,"content":4103,"date":4104,"description":4105,"extension":8,"likes":4106,"locale":10,"meta":4107,"reposts":167,"stem":4108,"url":4109,"views":4110,"__hash__":4111},"highlights\u002Fhighlights\u002Fharness-selection-map.en.yml","My Coding Agent selection map",113,"This is my current setup.\n\nFor Chinese models, I recommend mounting ZCode (DeepSeek V4 Flash, GLM 5.3 Flash, that kind).\n\nFor GPT, go straight to Codex.\n\nWant speed? Use Pi.\n\nWant speed AND peace of mind? Use OMP.\n\nBuilding custom client-side apps for enterprises? Use DSH.\n\nWant to train your patience? Use Workbuddy.\n","2026-09-01","Chinese models get ZCode, GPT gets Codex. Speed? Pi. Speed plus peace of mind? OMP. Enterprise custom clients? DSH. Want to build character? Workbuddy.",115,{},"highlights\u002Fharness-selection-map.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2094587665786233213",29233,"t0CbrRdNwEtFJ-Q0L-jLZO-tBuBvhbvirHvjoLTVN7s",{"id":4113,"title":4114,"bookmarks":3606,"category":3754,"content":4115,"date":4116,"description":4117,"extension":8,"likes":4118,"locale":10,"meta":4119,"reposts":593,"stem":4120,"url":4121,"views":4122,"__hash__":4123},"highlights\u002Fhighlights\u002Fherdr-pi-workflow.en.yml","The herdr + pi workflow deserves a close look","Every time I see a Pi Agent related project, I get excited.\nThe workflow built with herdr + pi deserves a proper deep dive.\n","2026-08-11","Every Pi Agent project gets me excited — the herdr + pi workflow is especially worth digging into.",37,{},"highlights\u002Fherdr-pi-workflow.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2086978997464998393",8038,"scCiaosEm_73uIVXI0V2hJzzITiZkr3S2d_QeMCRL7w",{"id":4125,"title":4126,"bookmarks":3482,"category":3490,"content":4127,"date":2560,"description":4128,"extension":8,"likes":571,"locale":10,"meta":4129,"reposts":3482,"stem":4130,"url":4131,"views":4132,"__hash__":4133},"highlights\u002Fhighlights\u002Fhuman-judge-ai-amplify.en.yml","Humans do the judging, AI does the amplifying","Humans do the judging. AI does the amplifying.\n\nHuman attention is limited. Humans handle only the most critical slice of judgment.\n\nYou have to spend your limited attention where it's worth something, and let AI take on more of the grunt work.\n\nThat's the whole point of AI workflows.\n\nLet the AI workflow swallow all the grunt work; humans handle final judgment — the review or acceptance of the most valuable, most core, end-goal results.\n\nThat's the state I want to reach. I've been casually researching these workflows lately too.\n","Humans do the judging. AI does the amplifying.",{},"highlights\u002Fhuman-judge-ai-amplify.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071228435423465542",366,"oekxiLUTPzxXvmAZMu5I6nNpmv3YujFSRYO4rOcLOtU",{"id":4135,"title":4136,"bookmarks":3482,"category":3607,"content":4137,"date":4138,"description":4139,"extension":8,"likes":167,"locale":10,"meta":4140,"reposts":3482,"stem":4141,"url":4142,"views":4143,"__hash__":4144},"highlights\u002Fhighlights\u002Findependent-dev-path.en.yml","The most valuable thing is the path an indie developer walked","Sure, the most eye-catching thing is an indie developer's income.\n\nBut for us ordinary people, the most valuable thing is still the path they walked to get there.\n","2026-07-01","The most eye-catching thing is an indie developer's income",{},"highlights\u002Findependent-dev-path.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2072365372544815448",559,"iIaz09ZF9__TZuOAQ8EZyYGnarpEJUrIE1o5MSUplYY",{"id":4146,"title":4147,"bookmarks":4148,"category":3607,"content":4149,"date":3465,"description":4150,"extension":8,"likes":4151,"locale":10,"meta":4152,"reposts":4153,"stem":4154,"url":4155,"views":4156,"__hash__":4157},"highlights\u002Fhighlights\u002Findie-dev-stack-2026.en.yml","2026 indie app best practices: Web + PWA first",414,"Sharing over a year of hard-won, blood-and-tears indie dev pitfalls.\n\nIn 2026, if an indie developer wants to build an app, the best practice is:\n\n**Do Web + PWA first at the MVP stage.** Fast to develop, fast to debug, fast to iterate.\n\nWeb stack:\n\nReact + TanStack Start + Vite + TypeScript + shadcn\u002Fui + Base UI + Tailwind CSS + better-auth + Vercel AI SDK + oxfmt \u002F oxlint\n\nUnified backend:\n\nHono + Cloudflare Workers\n\nWeb debugging:\n\nChrome DevTools MCP + Codex Chrome extension\n\nOnce the product genuinely runs, then do mobile.\n\nMobile stack:\n\nReact Native + Expo + Expo Router + NativeWind + React Native Reusables + Reanimated + Gesture Handler + EAS Build \u002F Submit \u002F Update\n\nThe core idea is simple:\n\nValidate the demand with Web + PWA first.\n\nOnce you really have users, bring out React Native + Expo for the real app.\n","Sharing over a year of hard-won, blood-and-tears indie dev pitfalls.",260,{},47,"highlights\u002Findie-dev-stack-2026.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2069042963280503182",37730,"Rv23mRw3A9FkBKfGe2Kd92m4k7XlmZ8vdxB-i6DI8tw",{"id":4159,"title":4160,"bookmarks":4161,"category":3463,"content":4162,"date":3585,"description":4163,"extension":8,"likes":4093,"locale":10,"meta":4164,"reposts":3482,"stem":4165,"url":4166,"views":4167,"__hash__":4168},"highlights\u002Fhighlights\u002Fknowledge-management-cloudflare.en.yml","Plan: move all my personal knowledge management to Cloudflare",53,"Lately I've been thinking about a plan.\nMoving my personal knowledge management, information collection, and knowledge output entirely onto Cloudflare.\nA free account already comes with 10G of object storage and 5G of database.\n\nThat's basically a self-hosted, cloud-based, permanently free knowledge management system.\n","Thinking about moving knowledge management, info collection, and knowledge output entirely to Cloudflare.",{},"highlights\u002Fknowledge-management-cloudflare.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070692505772024287",31791,"U-DQ-Tlq3R_Mpw_6H2I8zOn4B_jLGomrH74TM0iD1DM",{"id":4170,"title":4171,"bookmarks":501,"category":3490,"content":4172,"date":4173,"description":4174,"extension":8,"likes":158,"locale":10,"meta":4175,"reposts":3482,"stem":4176,"url":4177,"views":3800,"__hash__":4178},"highlights\u002Fhighlights\u002Fknowledge-management-definition.en.yml","What knowledge management really is: the endpoint isn't a library, it's cognitive infrastructure","What is knowledge management?\n\nMention knowledge management and most people's first reaction is: bookmarking articles, organizing links, taking notes, building a beautiful library.\n\nBut from first principles, the problem knowledge management actually has to solve is:\n\n**Can the information I see today keep helping me make judgments in the future?**\n\nHuman memory is limited, attention is limited, and experience slips away easily.\n\nIf a piece of material merely gets bookmarked, it'll likely end up as an information graveyard.\n\nTruly valuable knowledge management should complete one transformation:\n\nturn external information and personal experience into an action capability that's retrievable, callable, reusable, and updatable.\n\n- An article, merely bookmarked, is just material.\n- You distill its viewpoint and it becomes information.\n- You connect it to your own projects, scenarios, and judgments — only then does it start becoming knowledge.\n- Finally, when it helps you write articles, build products, make decisions, and design workflows, it becomes capability.\n\nSo I increasingly feel the endpoint of knowledge management shouldn't be a library.\n\nIt's more like cognitive infrastructure.\n\nHelping you absorb information, organize judgments, settle methods, and keep outputting content, products, and action.\n\nEspecially now that AI agents exist, knowledge management gets a lot more interesting.\n\nIn the past we relied on humans to organize, classify, search, and reuse.\n\nGoing forward, a lot of that can be handed to agents:\n\nauto-summarize, auto-tag, auto-link to projects, auto-generate outlines, auto-flag outdated knowledge — even turn material directly into articles, proposals, slides, and tasks.\n\nThat's also why I've gotten interested in knowledge management lately.\n\nOn the surface it's note-taking.\n\nAt bottom, it's building a cognitive system that compounds over the long term.\n","2026-07-08","What is knowledge management?",{},"highlights\u002Fknowledge-management-definition.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2074901244150534642","WZ69keGh125lXHFivvjG6QKr6dhuI6aIEHZTZZbJUyw",{"id":4180,"title":4181,"bookmarks":501,"category":3490,"content":4182,"date":4173,"description":4183,"extension":8,"likes":158,"locale":10,"meta":4184,"reposts":3482,"stem":4185,"url":4186,"views":4187,"__hash__":4188},"highlights\u002Fhighlights\u002Fknowledge-management-two-paths.en.yml","Two paths for knowledge management: a Feishu workflow vs. a Cloudflare product","Lately I've been rethinking knowledge management.\n\nI realized there are actually two paths here.\n\n**One is building on Feishu.**\n\nIts advantages are direct:\n\nfree, multi-device sync, shareable, easy collaboration, and rich enough in form.\n\nDocuments, multi-dimensional tables, spreadsheets, slides, canvas, Todo, knowledge bases — these modules combined already cover a lot of personal and team knowledge-management scenarios.\n\nI'm especially bullish on the multi-dimensional tables.\n\nThey're well suited as a knowledge hub.\n\nInformation collection, material archiving, status management, structured organization, content re-production — all of it can revolve around them.\n\nAdd the Feishu CLI and AI agents, and Feishu stops being just an office tool.\n\nIt becomes more like a knowledge workflow system agents can operate.\n\n**The other path is building your own on Cloudflare.**\n\nThis path is freer and better suited to productization.\n\nFlareMo, the thing I'm building now, is an attempt at a knowledge-management product on Cloudflare.\n\nCloudflare's advantage is that the underlying capabilities are complete:\n\nfrontend, backend, database, object storage, vector search, AI — all combinable.\n\nBut it takes development.\n\nAnd you have to design the data structure, search experience, permission system, and product logic yourself.\n\nSo my current take:\n\n- Feishu is for quickly standing up a knowledge-management system you can use today.\n- Cloudflare is for turning knowledge management into a truly controllable, iterable product.\n\nBoth paths are worth studying.\n\nOne leans workflow.\n\nOne leans productization.\n","Lately I've been rethinking knowledge management.",{},"highlights\u002Fknowledge-management-two-paths.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2074900341456503169",461,"PXWy9Cq4wfMi8lh4MPO-MrwFg1wOhrV66vKSDa81SVM",{"id":4190,"title":4191,"bookmarks":730,"category":3476,"content":4192,"date":4004,"description":4193,"extension":8,"likes":3467,"locale":10,"meta":4194,"reposts":571,"stem":4195,"url":4196,"views":4197,"__hash__":4198},"highlights\u002Fhighlights\u002Fliang-wenfeng-embodied-ai.en.yml","Liang Wenfeng: the endpoint of intelligence may all be embodied","Liang Wenfeng said at an investor meeting:\n\"The endpoint of intelligence may all be embodied. Because for a normal person, what they need isn't a computer — it's labor.\"\nThose words are spot on. Ordinary people have never wanted a smarter computer; they want \"labor\" that actually gets work done. No matter how capable text is, it's only an intermediate state. https:\u002F\u002Ft.co\u002F2xg5o5hNjt\n","'The endpoint of intelligence may all be embodied' — ordinary people don't want a smarter computer, they want labor.",{},"highlights\u002Fliang-wenfeng-embodied-ai.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2080100327567897031",7484,"wu1QMD7KXwn8Ee8FR7ZLwrv8paQ5wAD0SjZXmpMiSBY",{"id":4200,"title":4201,"bookmarks":3482,"category":3547,"content":4202,"date":1955,"description":4203,"extension":8,"likes":3482,"locale":10,"meta":4204,"reposts":3482,"stem":4205,"url":4206,"views":4207,"__hash__":4208},"highlights\u002Fhighlights\u002Fmac-docker-options.en.yml","Docker options on Mac: Colima \u002F OrbStack \u002F Docker Desktop","A quick tech-selection breakdown of Docker options on Mac.\n\n- **Colima**: free and open source, very lightweight, but basically command-line only. For people who don't mind tinkering and live in the terminal.\n- **Apple Container**: Apple's new container direction — worth watching, but the ecosystem is still at a very early stage. Even Docker Compose isn't supported yet.\n- **OrbStack**: has a GUI, light and fast, with solid ecosystem support. Downside: not open source — the commercial version needs a license, but the personal one is free.\n- **Docker Desktop**: the official product, yet heavy and bloated, with a lousy experience. On a Mac, avoid it if you can.\n","A quick tech-selection breakdown of Docker options on Mac.",{},"highlights\u002Fmac-docker-options.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2068238972728533154",215,"MEhDFIsb-0GvZNtVoa7SG9DLyhGp4FwsUuF_048U1zE",{"id":4210,"title":4211,"bookmarks":4212,"category":3547,"content":4213,"date":3645,"description":4214,"extension":8,"likes":4215,"locale":10,"meta":4216,"reposts":4217,"stem":4218,"url":4219,"views":4220,"__hash__":4221},"highlights\u002Fhighlights\u002Fmacos-must-have-apps.en.yml","The software list from years of deep macOS use",571,"After years of deep macOS use, here are the pieces of software I've found to be genuinely great:\n\n- **QuickRecorder**: a screen-recording gem — tiny, yet powerful.\n- **ClashParty**: circumvention with the Mihomo core — lots of protocols, fast updates, and a good-looking interface.\n- **V2rayN**: circumvention with lots of protocols; the UI is a bit dated, but it's stable and free.\n- **Doubao keyboard**: voice input accurate to a scary degree. Supports macOS, iOS, Android; Windows is on the way.\n- **Brave**: a privacy-first browser with built-in ad filtering — cleaner than extension-based filtering, and the best companion for watching YouTube.\n- **Mos**: makes your mouse wheel scroll silky smooth.\n- **Amphetamine**: keeps your laptop awake with the lid closed — the best companion for vibe coding.\n- **UU Remote**: NetEase's remote desktop tool, free and fast. With it, what caps the image quality is never the membership — it's your network speed. I usually use it to remote into my Mac from my phone to check vibe-coding results; the key mapping is absurdly efficient.\n- **Tencent Lemon**: Tencent's Mac junk cleaner — uninstalling apps is smooth, and the menu-bar icon is handy.\n- **Mole**: the strongest Mac junk cleaner out there — terminal version free, UI version paid.\n- **Tailscale**: WireGuard-based remote networking. With it, you can reach your little home computer from the ends of the earth.\n- **Obsidian**: in the AI era, the local-first knowledge management tool. The ecosystem is just too good — pair it with the official Web Clipper browser extension and it works wonders.\n","After years of deep macOS use, here are the pieces of software I've found to be genuinely great:",403,{},73,"highlights\u002Fmacos-must-have-apps.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067911283215827305",50349,"T5vb8ffrgOO88pL8BswzQ15jvXleZ6E7oC8N2HLwAFA",{"id":4223,"title":4224,"bookmarks":3796,"category":3547,"content":4225,"date":3658,"description":4226,"extension":8,"likes":3796,"locale":10,"meta":4227,"reposts":153,"stem":4228,"url":4229,"views":4230,"__hash__":4231},"highlights\u002Fhighlights\u002Fmacos-playbook.en.yml","I made a macOS Playbook","I made a macOS Playbook.\n\nFor people who just bought a Mac, just switched from Windows, or have always felt their Mac never quite clicked.\n\nIt covers:\n\n- What to install first after getting a Mac\n- How Windows users adapt to macOS\n- How to choose tools like Rectangle \u002F AltTab \u002F Homebrew\n- How to work across devices\n- How to set up the terminal, Git, SSH, and AI coding environment\n- How to handle system maintenance, troubleshooting, secure backup, and device migration\n\nPlaybook: [chendahuang.com\u002Fplaybooks](\u002Fplaybooks)\n","For people who just got a Mac, just switched from Windows, or have always felt the Mac never quite clicked.",{},"highlights\u002Fmacos-playbook.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2068757325222137863",1200,"sVW19L542eD8XIJDSt97xT6YADDW89En4N_f3s8wxm4",{"id":4233,"title":4234,"bookmarks":4235,"category":3754,"content":4236,"date":3798,"description":4237,"extension":8,"likes":4238,"locale":10,"meta":4239,"reposts":158,"stem":4240,"url":4241,"views":4242,"__hash__":4243},"highlights\u002Fhighlights\u002Fmy-opencode-setup.en.yml","My current OpenCode setup: context, memory, external capabilities",81,"Sharing the OpenCode setup I'm currently running. It's built around three core needs:\nContext management — long sessions that don't blow up the context, saving money and tokens\nMemory — remembering user preferences, project decisions, and past lessons across sessions\nExternal capabilities — docs lookup, code search, desktop automation\nThe main plugins I use:\n1. opencode-dcp (open source) — dynamic context pruning plugin.\nWhen the context hits a threshold it automatically compresses older content into technical summaries, keeps the key information, drops the noise, cleans up duplicates, and removes low-value content like tool errors from the context.\n2. opencode-goal-plugin\nA Goal-mode plugin that adds goal management to long tasks.\n3. Hermes Memory (I'll open source it if there's demand)\nMy heaviest plugin — I ported the Hermes agent's layered memory mechanism onto OpenCode.\n4. context7-MCP\nLook up the latest official docs for libraries and frameworks.\n5. grep-MCP\nGitHub code search — find real-world usage across all of GitHub.\n6. open-computer-use (desktop automation)\nLets the AI directly operate macOS apps — clicking, typing, scrolling, dragging, screenshots, reading the accessibility tree.\n","opencode-dcp pruning, Hermes Memory layered memory, context7\u002Fgrep MCP, open-computer-use desktop automation.",57,{},"highlights\u002Fmy-opencode-setup.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2086617745295392852",11061,"p2chYVZC7g5FPLOjbrGePUOJcmyUvm8XxJkQ6fG8pRY",{"id":4245,"title":4246,"bookmarks":4247,"category":3754,"content":4248,"date":3645,"description":4249,"extension":8,"likes":4250,"locale":10,"meta":4251,"reposts":4252,"stem":4253,"url":4254,"views":4255,"__hash__":4256},"highlights\u002Fhighlights\u002Fopc-communities.en.yml","Treasure sites discovered while researching OPC one-person companies",423,"A lot of friends are interested in OPC (one-person companies).\n\nWhile digging through research materials I stumbled on some treasure sites — sharing them with everyone:\n\nhttps:\u002F\u002Fwww.opcquan.com\u002Fcommunities\n","A lot of friends are interested in OPC (one-person companies).",297,{},67,"highlights\u002Fopc-communities.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067789620155474375",39910,"krTQMyPAqnjYHV7_TisGR5vSU-Y3z1StXaF0gsiuZ4w",{"id":4258,"title":4259,"bookmarks":571,"category":3754,"content":4260,"date":3694,"description":4261,"extension":8,"likes":3820,"locale":10,"meta":4262,"reposts":501,"stem":4263,"url":4264,"views":4265,"__hash__":4266},"highlights\u002Fhighlights\u002Fopc-community-day1.en.yml","Day one moving into the OPC community","Day one moving into the OPC community\nFrom now on, this workstation is mine\nNice! https:\u002F\u002Ft.co\u002F3rSQcZ760R\n","From now on, this workstation is mine.",{},"highlights\u002Fopc-community-day1.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070062431989293273",19398,"npgWbuFpBrJ3iLCzg0OHJvfUsm7O91-cBbwOrmXvgxQ",{"id":4268,"title":4269,"bookmarks":571,"category":3754,"content":4270,"date":2901,"description":4271,"extension":8,"likes":158,"locale":10,"meta":4272,"reposts":3482,"stem":4273,"url":4274,"views":4275,"__hash__":4276},"highlights\u002Fhighlights\u002Fopc-equity-liability.en.yml","One-person company equity and joint liability: keep business and personal money separate","Today a friend shared some points in my comment section about equity and liability issues with one-person companies.\n\nFirst, many thanks to this friend for the kind heads-up.\n\nHis view: you should have a family member hold at least 1% of the shares.\n\nThe problem with a one-person limited company: when there's only one shareholder and you can't clearly separate company money from personal money, the shareholder may bear joint liability for the company's debts. Article 23 of the Company Law is exactly this logic.\n\nIf the company has multiple shareholders, it shifts from a \"one-person company\" to an \"ordinary limited liability company,\" dodging the special burden-of-proof risk of a one-person company and giving yourself an extra layer of low-cost protection.\n\nHope this serves as a reference for everyone.\n\nBut day to day, we should keep business and personal accounts clearly separate and aim to explain every significant sum.\n\n- Where the money came from, why, and which account it went into.\n- Where the money went, why it was spent, and who approved it.\n- When you take money out of the company, is it salary, reimbursement, a loan, or dividends?\n\nGet these three things straight and the risk drops dramatically.\n","Today a friend shared equity-and-liability points about one-person companies in my comments.",{},"highlights\u002Fopc-equity-liability.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067581382520721891",1161,"aeLoP8l07-m68CUtdHYiRiWcA7DU7Oze2qLem4y9nEE",{"id":4278,"title":4279,"bookmarks":4280,"category":3754,"content":4281,"date":3694,"description":4282,"extension":8,"likes":4283,"locale":10,"meta":4284,"reposts":593,"stem":4285,"url":4286,"views":4287,"__hash__":4288},"highlights\u002Fhighlights\u002Fopc-office-first-day.en.yml","First day in the OPC office: a real look at Nanjing's state-owned tech park",30,"Today's my first day officially moving into the OPC office. Let me walk through how I started an OPC.\n\nMy original motive was simple: have a compliant entity to receive payments and publish products. So I went online looking for company registration info.\n\nI wasn't picky about the city: Nanjing, Suzhou, Hangzhou, Ningbo — any developed coastal city was a candidate.\n\nBy coincidence, I was in Nanjing for work one day, and while idly scrolling through Nanjing-related WeChat accounts, I found the phone number of an OPC community contact. So I added them.\n\nAfter a quick introduction of my project, the person in charge said OK and arranged a site visit the same afternoon.\n\nTheir ask: work on-site three days a week. If I could accept that, they'd let me register the company here.\n\nSince this is under Nanjing's state-owned assets, the policy terms are outstanding — water, electricity, internet, and property fees all free, theoretically for three years. They even assigned a bookkeeping accountant to register the company for me, carve my company seal, get the business license, and set up the bank account. So touching it's almost absurd.\n\nAfter two or three weeks of the registration process, I finally got all the paperwork.\n\nThe park manager told me to pick out a workstation. My bar for a workstation is low — just a seat, a stool, and power.\n\nThen they had me fill out three project application forms, mainly covering my project's strengths, the team's profile, and the AI-related edge. If the applications are solid and credible, there's a shot at a 50,000–100,000 yuan policy subsidy.\n\nNanjing has genuinely handled this well. Everyone should check whether their own city has similar policies, or whether their provincial capital offers anything better.\n\nGood policies don't wait around — you have to go ask. By the time I arrived today, this park already had plenty of companies moved in; I'm actually on the late side.\n\nThat's all for today. I'll keep sharing my startup journey and the retrospectives along the way.\n\nThanks for the care, everyone.\n","Today's my first day officially moving into the OPC office. Let me tell you how I went about starting an OPC.",49,{},"highlights\u002Fopc-office-first-day.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070095711191154969",10925,"l0MprHvShh-iKgHjfb6dcyo5YCHOjAABaLk5LI4d2jA",{"id":4290,"title":4291,"bookmarks":4038,"category":3754,"content":4292,"date":4116,"description":4293,"extension":8,"likes":4217,"locale":10,"meta":4294,"reposts":158,"stem":4295,"url":4296,"views":4297,"__hash__":4298},"highlights\u002Fhighlights\u002Fopenchamber-gui-ompchamber.en.yml","OpenChamber is the nicest Harness GUI out there — so I swapped in an OMP core","I've tried pretty much every open-source Harness GUI client on the market, and most of them are hard to look at, let alone enjoy.\nOpenChamber is the best-polished open-source Harness GUI client I've used: refined, stable, and the occasional bug doesn't get in the way of long-term use.\nBut it only works with OpenCode and can't switch to other harnesses. Some users report that OpenCode's overall performance isn't great and can hold the model back.\nSo I started sketching a project: keep OpenChamber's front end as the skeleton and swap the core for Oh My Pi, which better fits my own needs.\nWhy not the native Pi Agent, and why Oh My Pi instead?\nBecause the native Pi Agent is too flexible — there's no way to build a general-purpose GUI around it.\nAs a compromise, Oh My Pi works like a Pi Agent distribution: the plugin interaction experience is relatively stable.\nSo I think turning OpenChamber + Oh My Pi into an out-of-the-box product is a real, unmet need.\nI named the project OMPChamber. It's still in intensive development and testing — star it if you're interested:\nhttps:\u002F\u002Fgithub.com\u002Frealchendahuang\u002FOMPChamber\n","OpenChamber front end + Oh My Pi core = OMPChamber, now in heavy development and testing.",{},"highlights\u002Fopenchamber-gui-ompchamber.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087156607750914080",12824,"1R1N3mKkjOSZ_-Qo8C95L-dZ2GXz-w9vwrrpax29fic",{"id":4300,"title":4301,"bookmarks":4302,"category":3754,"content":4303,"date":4116,"description":4304,"extension":8,"likes":3559,"locale":10,"meta":4305,"reposts":167,"stem":4306,"url":4307,"views":4308,"__hash__":4309},"highlights\u002Fhighlights\u002Fopenchamber-new-release.en.yml","OpenChamber shipped a new version: the most cared-for front end in open source",38,"OpenChamber shipped another new version. You can feel how much the author cares — this may be the most lovingly maintained front end I've seen in an open-source project.\nThe OpenChamber + OpenCode + DeepSeek V4 Flash combo I run every day honestly feels fantastic.\n","OpenChamber + OpenCode + DeepSeek V4 Flash — a maintainer who truly cares, and it feels great to use.",{},"highlights\u002Fopenchamber-new-release.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2086978544228499868",10867,"zwOA7iN3RBgcWEy4PiJk96EaS44SxKRo60a-M4y187E",{"id":4311,"title":4312,"bookmarks":4313,"category":3490,"content":4314,"date":3742,"description":4315,"extension":8,"likes":3998,"locale":10,"meta":4316,"reposts":705,"stem":4317,"url":4318,"views":4319,"__hash__":4320},"highlights\u002Fhighlights\u002Fopencode-go-5usd-dead.en.yml","The $5 OpenCode Go is officially dead",197,"The \"amazing $5\" OpenCode Go everyone was hyping on X has completely fallen apart.\n\nOpenCode Go used to have a first-month $5 deal that kept its value-for-money alive — now even that is gone, $10 from the start.\n\nBy comparison, the competitor's Command GOAT plans are starting to look better and better.\n\nDeepSeek V4 Flash, GLM-5.3 Flash, GLM-5.3 are the workhorse models for heavy coding and running agents right now — and the Command GOAT plan gives them noticeably more generous quotas.\n\nI now split coding models into two simple buckets: the core models and the grunt models.\n\nV4 Pro, GLM-5.3 and the like are core models — they chew the hard bones. Complex architecture, gnarly bugs, big refactors, key decisions: when a problem is truly hard, hand it to them.\n\nV4 Flash and GLM-5.3 Flash are grunt models. Reading repos, searching code, editing files, running tests, batch work, breaking new ground — that dirty work is exactly what Flash should grind through.\n\nThe Command GOAT plan has plenty of grunt quota, and its core model quota has no obvious weak spot either.\n\nSo I'm declaring it: the Command GOAT plan is the current version answer.\n","The first-month $5 deal is gone — $10 from the start — which suddenly makes Command GOAT look friendly.",{},"highlights\u002Fopencode-go-5usd-dead.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2093699519108288568",50779,"dxjKA620DQuhwAnTWOK_EL5zgQdARfRh4ZzZ0cWfkrI",{"id":4322,"title":4323,"bookmarks":4324,"category":3490,"content":4325,"date":812,"description":4326,"extension":8,"likes":3833,"locale":10,"meta":4327,"reposts":4057,"stem":4328,"url":4329,"views":4330,"__hash__":4331},"highlights\u002Fhighlights\u002Fopencode-go-5usd.en.yml","OpenCode Go's $5 first-month DeepSeek V4 Flash plan",108,"The OpenCode Go plan is just $5 for the first month — 35 yuan.\nOnce you're in, use its new DeepSeek V4 Flash model.\nIn practice: I pounded it all morning with heavy use and only burned 1% of the weekly quota. What the hell — I can't even use it all up, now I'll start getting anxious again hahahaha.\nThe impossible triangle of cheap, good, and fast has been perfectly achieved by the OpenCode Go + DeepSeek V4 Flash combo.\nOpencode https:\u002F\u002Ft.co\u002Fc0k1WKWNle\n","The OpenCode Go plan is just $5 for the first month.",{},"highlights\u002Fopencode-go-5usd.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2084874129669488965",29597,"MTZ3xqpbs_hv425zYlnkyw6UpCa83-l9UiWsLWmUiHs",{"id":4333,"title":4334,"bookmarks":501,"category":3490,"content":4335,"date":2901,"description":4336,"extension":8,"likes":153,"locale":10,"meta":4337,"reposts":3482,"stem":4338,"url":4339,"views":4340,"__hash__":4341},"highlights\u002Fhighlights\u002Fpi-agent-learn.en.yml","Want to learn agent fundamentals? Study the genuinely open-source Pi Agent","A guy asked:\n\nis there a good write-up of Claude Code to study?\n\nMy answer: in the AI era, always think with AI — let AI help you learn.\n\nIf you genuinely want to learn how agents work,\n\ngo look at the Pi Agent project.\n\nSmall but complete — perfect for learning, and the code quality is high.\n\nClaude Code isn't open source; that's a leaked source dump.\n\nPi Agent is the genuinely open-source one.\n","A guy asked: is there a good write-up of Claude Code out there to study?",{},"highlights\u002Fpi-agent-learn.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067422630232412489",374,"0NFwvPSMnhBkbLyOvy1hZFwD8DDxlh0FWMigD_-GsJ0",{"id":4343,"title":4344,"bookmarks":153,"category":3476,"content":4345,"date":4104,"description":4346,"extension":8,"likes":4347,"locale":10,"meta":4348,"reposts":153,"stem":4349,"url":4350,"views":4351,"__hash__":4352},"highlights\u002Fhighlights\u002Fprison-comeback-ai-world.en.yml","Locked up five years ago, out this year","Hard to imagine: someone locked up five years ago, released this year —\n\nlooking at this AI world, what would they be thinking?\n","What must someone who missed the last five years think, looking at this AI world?",59,{},"highlights\u002Fprison-comeback-ai-world.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2094769728300748982",39574,"BFOemINLCm5aNYVgK5rZi7Lu-R9J_sjj_bqlN3Jx5i4",{"id":4354,"title":4355,"bookmarks":153,"category":3607,"content":4356,"date":3465,"description":4357,"extension":8,"likes":635,"locale":10,"meta":4358,"reposts":3482,"stem":4359,"url":4360,"views":4361,"__hash__":4362},"highlights\u002Fhighlights\u002Fproduct-self-need.en.yml","Stuck for indie dev ideas? Start with your own needs","For indie developers with no idea what product to build,\n\nstart by satisfying your own needs.\n\nChances are there are users on the same wavelength as you.\n","For indie developers with no idea what product to build:",{},"highlights\u002Fproduct-self-need.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2069010510306246970",1704,"YomIMwUhe8BSxfADmBu81Xm5rM56keBlXPBUieyj2fI",{"id":4364,"title":4365,"bookmarks":4366,"category":3547,"content":4367,"date":3561,"description":4368,"extension":8,"likes":3716,"locale":10,"meta":4369,"reposts":4057,"stem":4370,"url":4371,"views":4372,"__hash__":4373},"highlights\u002Fhighlights\u002Fproxy-subscription-unified.en.yml","A unified solution for managing circumvention subscriptions",136,"If you've bought a circumvention airport and also built your own VPS nodes, and you want them managed uniformly, routed uniformly, and output as one subscription link.\nYou want routing rules, node filtering, and combination logic maintained on the server side instead of configured client by client.\nYou want to run it with Cloudflare's lightweight deployment — no servers, no database services, no complex background jobs to maintain.\n","Airports + self-hosted VPS nodes under one roof: unified management, unified routing, one subscription link out.",{},"highlights\u002Fproxy-subscription-unified.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071465309085790305",10292,"Hqep1aFLQvGRVIGZNQYWuhoO20jV178MESH9BnUL5NM",{"id":4375,"title":4376,"bookmarks":4377,"category":3490,"content":4378,"date":4116,"description":4379,"extension":8,"likes":4380,"locale":10,"meta":4381,"reposts":635,"stem":4382,"url":4383,"views":4384,"__hash__":4385},"highlights\u002Fhighlights\u002Fqwen-deepseek-vision-plugin.en.yml","Qwen's official plugin gives DeepSeek V4 Flash a pair of eyes",65,"Qwen shipped an official plugin that gives DeepSeek V4 Flash a pair of eyes — try it if you're interested.\n","An official Qwen plugin that adds vision to DeepSeek V4 Flash.",75,{},"highlights\u002Fqwen-deepseek-vision-plugin.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087036023322857901",20926,"X69RgATAJDX7NWtdZgNIwYe2QH8O-EP6bfkDYLEClW4",{"id":4387,"title":4388,"bookmarks":3482,"category":3490,"content":4389,"date":3523,"description":4390,"extension":8,"likes":501,"locale":10,"meta":4391,"reposts":3482,"stem":4392,"url":4393,"views":4394,"__hash__":4395},"highlights\u002Fhighlights\u002Fresponses-api.en.yml","Why the Responses API suits agents better than Chat Completions","People configuring AI tools usually set an API key, and sometimes you're asked to pick an interface format.\n\nThe interface format is, simply put:\n\nthe agreed way of communicating between you and the model service.\n\nFor example, the \"OpenAI-compatible interface\" most people know often refers to Chat Completions. That format excels at chat and simple text generation, which is why model vendors everywhere prioritize compatibility with it.\n\nBut building AI apps today is far more complex. Models now need to read files, browse the web, call functions, run code, connect to MCP, hold context, and keep going on the next steps.\n\nThat's where OpenAI's Responses API earns its keep.\n\n- Its reasoning models perform better. The same model, placed in a more fitting interface structure, completes tasks better.\n- It's natively suited to agents. One API request can call multiple tools.\n- It costs less. Compared with Chat Completions, Responses API cache utilization improves by 40%–80%. Higher cache utilization means cheaper repeated calls and easier latency optimization.\n","People configuring AI tools usually set an API key, and sometimes you're asked to pick an interface format.",{},"highlights\u002Fresponses-api.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2075074946301317487",103,"Url_IWCsHO3iSWzb7Td5yFxh0Kmrktzkx67ZjbqKLTY",{"id":4397,"title":4398,"bookmarks":3482,"category":3607,"content":4399,"date":3822,"description":4400,"extension":8,"likes":167,"locale":10,"meta":4401,"reposts":3482,"stem":4402,"url":4403,"views":4404,"__hash__":4405},"highlights\u002Fhighlights\u002Fscarcity-product-sense.en.yml","What's scarce is the feel for product, the insight into demand","What's scarce is a feel for building products, an insight into demand, a mind that understands users.\n","In the AI era, what's scarcer is understanding the user's mindset.",{},"highlights\u002Fscarcity-product-sense.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2089500169037554118",1230,"xoImeYUjfF1_-5vcWoMyN23k6XM4wh9YIV-FzPCXSjo",{"id":4407,"title":4408,"bookmarks":3838,"category":3490,"content":4409,"date":3958,"description":4410,"extension":8,"likes":3533,"locale":10,"meta":4411,"reposts":158,"stem":4412,"url":4413,"views":4414,"__hash__":4415},"highlights\u002Fhighlights\u002Fsoybean-plan-launch.en.yml","US Soybean plan, activate!","US Soybean plan, activate!\n","The Gemini 'US Soybean' plan goes live — a four-character hype unboxing.",{},"highlights\u002Fsoybean-plan-launch.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2096867334740914350",12648,"4dnsVbiFhP7B6B2rPSQSB43_Kc-IZKS_P_Df1JSJWj0",{"id":4417,"title":4418,"bookmarks":3670,"category":3463,"content":4419,"date":2560,"description":4420,"extension":8,"likes":4421,"locale":10,"meta":4422,"reposts":4017,"stem":4423,"url":4424,"views":4425,"__hash__":4426},"highlights\u002Fhighlights\u002Fsub-store-cloudflare-open-source.en.yml","I moved my circumvention subscription aggregation to Cloudflare","I moved my circumvention subscription aggregation to Cloudflare.\n\nOpen-sourced a subscription-link aggregation project that deploys completely free on Cloudflare.\n\nIt folds all your circumvention subscription links and self-built nodes into one link, with routing rules attached.\n\nTruly one link — usable in every client, no per-client configuration.\n\nGitHub: https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fsub-store-cloudflare\n\nFull post: [I moved my airport subscription aggregation to Cloudflare](\u002Fblog\u002Fsub-store-cloudflare)\n","I moved circumvention subscription aggregation to Cloudflare.",324,{},"highlights\u002Fsub-store-cloudflare-open-source.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071247817109348796",45282,"7SFXUhEr9h4fqhdXRFF9AXrQdSDkrBjmhZfh_cP6q7Y",{"id":4428,"title":4429,"bookmarks":4430,"category":3463,"content":4431,"date":3585,"description":4432,"extension":8,"likes":4433,"locale":10,"meta":4434,"reposts":3662,"stem":4435,"url":4436,"views":4437,"__hash__":4438},"highlights\u002Fhighlights\u002Fsub-store-deployed.en.yml","Completed the Sub-Store deployment on Cloudflare",242,"Took me a while, but I got Sub-Store deployed on Cloudflare.\n\nMerged my self-built nodes and the airport's backup nodes into one, and paired it with ACL4SSR routing rules on auto-subscribe.\n\nDone with a single subscription link:\n\n- Merging nodes from multiple providers\n- Node filtering\n- Routing rule configuration\n- Automatic config updates\n\nSmoother than smooth.\n","Took me a while, but I got Sub-Store deployed on Cloudflare.",206,{},"highlights\u002Fsub-store-deployed.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2070689769731019207",68219,"su8Nnv0habcE9zqvomjsRnKWx4XMe1zciBQsiYi1cxc",{"id":4440,"title":4441,"bookmarks":4161,"category":3476,"content":4442,"date":4116,"description":4443,"extension":8,"likes":3662,"locale":10,"meta":4444,"reposts":593,"stem":4445,"url":4446,"views":4447,"__hash__":4448},"highlights\u002Fhighlights\u002Ftaste-designers-programmers.en.yml","Pay more attention to designers and programmers with taste","We really should pay more attention to designers and programmers with taste.\n","Taste is a scarce skill — follow the designers and programmers who have it.",{},"highlights\u002Ftaste-designers-programmers.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087196437272789307",9511,"kBWWthe69bXZ_n0b0YQu-J2FBSKzg-AG0I-E9Op8mzk",{"id":4450,"title":4451,"bookmarks":167,"category":3490,"content":4452,"date":3535,"description":4453,"extension":8,"likes":4161,"locale":10,"meta":4454,"reposts":501,"stem":4455,"url":4456,"views":4457,"__hash__":4458},"highlights\u002Fhighlights\u002Ftui-trend-blame-claude-code.en.yml","The TUI trend — Claude Code owes a big share of the blame","A pile of AI coding agents are rushing to ship TUIs these days, and Claude Code owes a big share of the blame for that trend.\nIt made conversing with an AI in the terminal to write code an art form.\nThe problem is, somehow a \"truly advanced\" coding agent now has to default to a terminal interface — the web version becomes an afterthought, even mocked as not programmer enough.\nAnd the result?\nBuild a complicated TUI first:\nall the colors, status bars, shortcuts, and mode switching,\nthen call it \"immersive,\" \"efficient,\" and \"respectful of programmers.\"\nReally?\nFor the small group who live in the terminal all day, sure, it's great. But for many more people it's a wall built on purpose: features hidden behind keys and modes, new users completely lost, and even veterans relearning every tool's personal keymap.\nA web UI can be just as fast and clean — install it as a PWA and it's nearly indistinguishable from a desktop client, with easier updates too. Forcing interaction back into the 1980s terminal paradigm and then sneering at the web is mostly self-indulgence.\nClaude Code itself is excellent, no dispute there. But it popularized the taste and the path dependence of \"TUI is the orthodox way,\" and the imitators that followed are even worse.\nTools exist to serve people, not to prove who is more \"hardcore.\"\nDressing up anti-human interaction as sophistication — it's genuinely hilarious.\n","Once the 'TUI is the one true way' path dependence spread, every imitator just builds walls for users.",{},"highlights\u002Ftui-trend-blame-claude-code.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087948723171299605",11874,"mcZ6IKMus7cs2ZHPaBc6sZqa6jARVAaU1V5zYI8lFAc",{"id":4460,"title":4461,"bookmarks":3643,"category":3490,"content":4462,"date":4463,"description":4464,"extension":8,"likes":3960,"locale":10,"meta":4465,"reposts":167,"stem":4466,"url":4467,"views":4468,"__hash__":4469},"highlights\u002Fhighlights\u002Funiversal-ai-coding-desktop.en.yml","There is no universal AI coding desktop — keep each model with its maker","Someone in a group chat asked today: is there a universal AI coding desktop? One that connects to every subscription and never dumbs down any model?\nAfter talking with a few friends who tinker at high intensity every day, our conclusion was unanimous:\nStick with the original pairing.\nPut a model inside a third-party shell and you basically can't escape degraded intelligence, slower responses, and broken subscriptions. Our setups all look almost the same now:\nGPT → Codex: direct official subscription, the most stable native scheduling.\nGemini → AntiGravity: the speed ceiling, long windows without choking.\nDeepSeek, GLM and other open models → all of them go to ZCode.\nOn why ZCode is a must-have:\nZCode makes it easy to configure third-party provider models.\nZCode's phone remote-control mode is really, really good — you get work done from the couch while scrolling your phone.\nZCode's cache utilization is extremely high.\n","2026-09-08","GPT goes to Codex, Gemini to AntiGravity, open models to ZCode — third-party shells always mean degraded models.",{},"highlights\u002Funiversal-ai-coding-desktop.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2097134915783671870",54725,"xSrmrMibWwZkBOhRRwtKFF3yPzJMUIZQBhNPxaIHV7c",{"id":4471,"title":4472,"bookmarks":3796,"category":3547,"content":4473,"date":4474,"description":4475,"extension":8,"likes":3838,"locale":10,"meta":4476,"reposts":3482,"stem":4477,"url":4478,"views":4479,"__hash__":4480},"highlights\u002Fhighlights\u002Fuu-remote-mac.en.yml","NetEase UU Remote into my home Mac: coding while out shopping","Remote into my home Mac via NetEase UU Remote.\n\nCode anytime, anywhere.\n\nKeep my wife company shopping, anytime, anywhere.\n","2026-07-05","Remote into my home Mac via NetEase UU Remote.",{},"highlights\u002Fuu-remote-mac.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2073729914898120900",21022,"U2GqOPZ37ZMBGy1egZec7et_ieuVBeqHHE541mczCyQ",{"id":4482,"title":4483,"bookmarks":153,"category":3476,"content":4484,"date":3448,"description":4485,"extension":8,"likes":593,"locale":10,"meta":4486,"reposts":3482,"stem":4487,"url":4488,"views":4489,"__hash__":4490},"highlights\u002Fhighlights\u002Fwang-xiaobo-ai.en.yml","If Wang Xiaobo lived in the AI era","I am a dogged disciple of Wang Xiaobo.\n\nHe's witty, but never slick.\nHe's funny, but always logical.\nHe loathed stupidity — and he loathed solemn, earnest stupidity just as much.\n\nIf Wang Xiaobo lived in the AI era,\n\nhe might say:\n\nfinally, something that lets ordinary people do a little less dumb labor and keeps a little more time for genuinely interesting thoughts.\n\nThat's also why I like AI.\n\nNot because it's divine.\n\nBut because it can spare people a bit of the torment of tedious work.\n","I am a dogged disciple of Wang Xiaobo",{},"highlights\u002Fwang-xiaobo-ai.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067014308454969739",399,"is5YPaCEd65wSIdrosPxFYJuaEou-Y_nOoc5CvYUia4",{"id":4492,"title":4493,"bookmarks":4238,"category":3547,"content":4494,"date":3549,"description":4495,"extension":8,"likes":4496,"locale":10,"meta":4497,"reposts":571,"stem":4498,"url":4499,"views":4500,"__hash__":4501},"highlights\u002Fhighlights\u002Fworkbuddy-meituan.en.yml","Workbuddy grabbed Meituan coupons for me","Gave Tencent's Workbuddy a spin — there's this classic scenario: claiming Meituan coupons.\n\nAt the login step, it generated a QR code for me to scan and sign in.\n\nThen I just barked \"go claim my coupons\" and it went and claimed that many for me.\n\nUsing an AI agent for something like claiming coupons — absolutely amazing.\n","Gave Tencent's Workbuddy a spin — the classic scenario: claiming Meituan coupons.",71,{},"highlights\u002Fworkbuddy-meituan.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2071969970091864417",29791,"SQu70flrS-AU-g1sSaJD-hdG5F8-cCxJS2bgVJLPZ94",{"id":4503,"title":4504,"bookmarks":3482,"category":4079,"content":4505,"date":3448,"description":4506,"extension":8,"likes":656,"locale":10,"meta":4507,"reposts":3482,"stem":4508,"url":4509,"views":4510,"__hash__":4511},"highlights\u002Fhighlights\u002Fx-need-opinions.en.yml","On X, you must have opinions","On X, you must have opinions.\n\nPeople without opinions are just manufacturing information noise.\n\nWith a stance, people remember you.\n\nWith insight, people want to follow you.\n\nX has no shortage of re-posters — it's short on people who can explain things all the way through.\n","On X, you must have opinions.",{},"highlights\u002Fx-need-opinions.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067011420701827454",500,"pj_R5hxtzXEOigGEJwBmczEWf4b9YSNEFiQQNenCAyY",{"id":4513,"title":4514,"bookmarks":153,"category":4079,"content":4515,"date":3448,"description":4516,"extension":8,"likes":672,"locale":10,"meta":4517,"reposts":3482,"stem":4518,"url":4519,"views":4520,"__hash__":4521},"highlights\u002Fhighlights\u002Fx-post-independence.en.yml","A small tip for X: every post must stand on its own","Sharing a small tip for posting on X:\n\nevery post must stand on its own.\n\nBecause you're not the center of the world — no one is going to click into your profile to piece together the full story.\n\nThe first time a stranger scrolls onto you, they should instantly get a take, or a piece of know-how.\n\nThose are the only posts that carry value.\n","Sharing a small tip for posting on X:",{},"highlights\u002Fx-post-independence.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2067013152215327075",378,"2u9Rr0hx9IPP08G-_B_zbvuDk9CnuZeS04PqpCD5DMs",{"id":4523,"title":4524,"bookmarks":3482,"category":3607,"content":4525,"date":4173,"description":4526,"extension":8,"likes":635,"locale":10,"meta":4527,"reposts":3482,"stem":4528,"url":4529,"views":4530,"__hash__":4531},"highlights\u002Fhighlights\u002Fxianren-mode-focus.en.yml","Sage mode: breaking through one scenario beats scrolling X","My X-scrolling frequency has dropped lately.\n\nNot sure if I've entered sage mode.\n\nAfter some honest reflection, I realized I care about one question more than anything:\n\ncan the stuff I scroll past every day end up as a real product?\n\nWatching a hundred tool updates is no match for breaking through one concrete scenario.\n\nThese days I want to put more energy into products, community, and long-term content.\n","My X-scrolling frequency has dropped recently.",{},"highlights\u002Fxianren-mode-focus.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2074895913085255875",192,"xjBanwIlU5V6Qs1b7wcKxp5iido5gBrfctbtIqzF9Ow",{"id":4533,"title":4534,"bookmarks":705,"category":3490,"content":4535,"date":4536,"description":4537,"extension":8,"likes":4538,"locale":10,"meta":4539,"reposts":3482,"stem":4540,"url":4541,"views":4542,"__hash__":4543},"highlights\u002Fhighlights\u002Fxianyu-gemini-12yuan.en.yml","A $1.7 soybean off Xianyu, 18 months old","An 18-month-old American soybean Gemini, bought for 12 yuan off Xianyu!\n\nStart it up!\n","2026-09-05","A Gemini \"American soybean\" for 12 yuan. Start it up!",44,{},"highlights\u002Fxianyu-gemini-12yuan.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2096059568292012334",16044,"fX-5ttkWHluoKII7jyNp3Vu-I2FGJ_5C5pjrjZXyf48",{"id":4545,"title":4546,"bookmarks":4283,"category":3490,"content":4547,"date":1523,"description":4548,"extension":8,"likes":3559,"locale":10,"meta":4549,"reposts":158,"stem":4550,"url":4551,"views":4552,"__hash__":4553},"highlights\u002Fhighlights\u002Fzcode-remote-control.en.yml","ZCode remote control is brilliant: command your local Agent from your phone","Huge shout-out to ZCode's remote control — the gold standard of commanding a local agent from your phone.\nThe setup cost is nearly zero: register an account on your phone, no membership needed. Scan the QR code on your computer, then link it to WeChat or Feishu while you're at it.\nThe best part is the free built-in tunneling — you never have to think about your network environment. Lie on the couch or sip coffee out somewhere, send a message from your phone, and your computer's agent starts running code on demand.\n","Scan a QR code, bind it to WeChat\u002FFeishu, free built-in tunneling — run code from the couch.",{},"highlights\u002Fzcode-remote-control.en","https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2097358348022956338",23087,"Oa17iDQijCDW-vNoUfhe_88mbAY9YUNyuBFv753-d4U",{"data":4555,"body":4556},{},{"type":4557,"children":4558},"root",[4559],{"type":4560,"tag":33,"props":4561,"children":4562},"element",{},[4563],{"type":4564,"value":4565},"text","Huge shout-out to ZCode's remote control — the gold standard of commanding a local agent from your phone.\nThe setup cost is nearly zero: register an account on your phone, no membership needed. Scan the QR code on your computer, then link it to WeChat or Feishu while you're at it.\nThe best part is the free built-in tunneling — you never have to think about your network environment. Lie on the couch or sip coffee out somewhere, send a message from your phone, and your computer's agent starts running code on demand.",{"data":4567,"body":4568},{},{"type":4557,"children":4569},[4570],{"type":4560,"tag":33,"props":4571,"children":4572},{},[4573],{"type":4564,"value":4574},"Someone in a group chat asked today: is there a universal AI coding desktop? One that connects to every subscription and never dumbs down any model?\nAfter talking with a few friends who tinker at high intensity every day, our conclusion was unanimous:\nStick with the original pairing.\nPut a model inside a third-party shell and you basically can't escape degraded intelligence, slower responses, and broken subscriptions. Our setups all look almost the same now:\nGPT → Codex: direct official subscription, the most stable native scheduling.\nGemini → AntiGravity: the speed ceiling, long windows without choking.\nDeepSeek, GLM and other open models → all of them go to ZCode.\nOn why ZCode is a must-have:\nZCode makes it easy to configure third-party provider models.\nZCode's phone remote-control mode is really, really good — you get work done from the couch while scrolling your phone.\nZCode's cache utilization is extremely high.",{"data":4576,"body":4577},{},{"type":4557,"children":4578},[4579],{"type":4560,"tag":33,"props":4580,"children":4581},{},[4582],{"type":4564,"value":4583},"People's takes on the Gemini \"US Soybean\" plan are packed with substance, so I put together a quick recap of the comment section:\nMany people find Gemini disappointing because they mistake its identity — they treat it as their primary engineering machine tool.\nIn fact it's positioned more like a fully loaded Swiss Army knife: light, versatile, with rock-bottom marginal cost, but with clear limits on complex engineering and autonomous execution.\nOn the information-input side, native YouTube parsing is one of its most hassle-free abilities. No local download scripts or transcription tools — submit a link and it extracts the full timestamped transcript, keyframe grabs, and structured summaries in the cloud.\nA lot of people's workflows have settled into a clear division of labor: Grok tracks real-time discussions on X, while Gemini handles tech podcasts and in-depth videos over half an hour long.\nIn visual and front-end scenarios, its multimodal foundation is solid. Full pages of handwritten notes, complex tables, or low-resolution scans all get recognized with high accuracy and few hallucinations.\nAnd when prototyping front ends it's extremely fast, with natural code structure and none of that stiff, redundant generated feel.\nPlenty of indie developers use fixed prompts to have it generate slide structures on a single page, or quickly produce usable pages from design screenshots.\nOn cost and tooling, its ecosystem math works out well: the $20\u002Fmonth subscription supports family sharing for up to 6 people, comes with terabytes of Google Drive storage, and integrates deeply with Docs and Sheets.\nRoute research, multimodal parsing, and light page building to it, then hand the core complex code to dedicated coding models, and your overall tooling costs drop noticeably.\nA few advanced uses that have been proven to work:\nFirst, leverage its relatively straightforward logical preferences and have it review the over-engineering and redundant code other models tend to produce.\nSecond, pair it with NotebookLM to build a private knowledge base around a specific set of materials.\nThird, allocate the premium quota to derived needs like speech synthesis and image processing.\nBut you must be clear about its limits.\nOne, it's not suited for complex terminal-agent tasks; ask it to modify system rules or deploy environments and it often refuses or fails to follow multi-step instructions.\nTwo, deep business code must be cross-reviewed by your primary coding models to avoid hidden defects. Three, it's sensitive to your network environment — unstable nodes easily trigger service restrictions or a degraded experience.",{"data":4585,"body":4586},{},{"type":4557,"children":4587},[4588],{"type":4560,"tag":33,"props":4589,"children":4590},{},[4591],{"type":4564,"value":4408},{"data":4593,"body":4594},{},{"type":4557,"children":4595},[4596],{"type":4560,"tag":33,"props":4597,"children":4598},{},[4599],{"type":4564,"value":4600},"Are these spam accounts mutating?\nThe garbage posts they're sending look different from before.\nNo problem — we update the list in real time and keep learning these fingerprints in real time.\nIt's the elite ones we're hunting!",{"data":4602,"body":4603},{},{"type":4557,"children":4604},[4605,4610,4615],{"type":4560,"tag":33,"props":4606,"children":4607},{},[4608],{"type":4564,"value":4609},"After many rounds of iteration, FeedSieve — the X-feed cleaner — is officially live on the Chrome Web Store.",{"type":4560,"tag":33,"props":4611,"children":4612},{},[4613],{"type":4564,"value":4614},"Who wouldn't want the thrill of one-click blocking those spam accounts?",{"type":4560,"tag":33,"props":4616,"children":4617},{},[4618],{"type":4564,"value":4619},"Go for it, folks!",{"data":4621,"body":4622},{},{"type":4557,"children":4623},[4624,4629,4634],{"type":4560,"tag":33,"props":4625,"children":4626},{},[4627],{"type":4564,"value":4628},"Curious what everyone uses the American soybean Gemini for?",{"type":4560,"tag":33,"props":4630,"children":4631},{},[4632],{"type":4564,"value":4633},"I feel like most people with Codex don't really need it day to day.",{"type":4560,"tag":33,"props":4635,"children":4636},{},[4637],{"type":4564,"value":4638},"What are its actual strengths?",{"data":4640,"body":4641},{},{"type":4557,"children":4642},[4643],{"type":4560,"tag":33,"props":4644,"children":4645},{},[4646],{"type":4564,"value":4647},"With the FeedSieve plugin on, I like to go grind spam in the comment sections of hot posts — it's oddly therapeutic.\nJust caught 33 spam accounts in one hot thread.\nBlocked them all in one click!!!",{"data":4649,"body":4650},{},{"type":4557,"children":4651},[4652,4657],{"type":4560,"tag":33,"props":4653,"children":4654},{},[4655],{"type":4564,"value":4656},"An 18-month-old American soybean Gemini, bought for 12 yuan off Xianyu!",{"type":4560,"tag":33,"props":4658,"children":4659},{},[4660],{"type":4564,"value":4661},"Start it up!",{"data":4663,"body":4664},{},{"type":4557,"children":4665},[4666,4671,4676,4681,4686,4691,4696],{"type":4560,"tag":33,"props":4667,"children":4668},{},[4669],{"type":4564,"value":4670},"This is my current setup.",{"type":4560,"tag":33,"props":4672,"children":4673},{},[4674],{"type":4564,"value":4675},"For Chinese models, I recommend mounting ZCode (DeepSeek V4 Flash, GLM 5.3 Flash, that kind).",{"type":4560,"tag":33,"props":4677,"children":4678},{},[4679],{"type":4564,"value":4680},"For GPT, go straight to Codex.",{"type":4560,"tag":33,"props":4682,"children":4683},{},[4684],{"type":4564,"value":4685},"Want speed? Use Pi.",{"type":4560,"tag":33,"props":4687,"children":4688},{},[4689],{"type":4564,"value":4690},"Want speed AND peace of mind? Use OMP.",{"type":4560,"tag":33,"props":4692,"children":4693},{},[4694],{"type":4564,"value":4695},"Building custom client-side apps for enterprises? Use DSH.",{"type":4560,"tag":33,"props":4697,"children":4698},{},[4699],{"type":4564,"value":4700},"Want to train your patience? Use Workbuddy.",{"data":4702,"body":4703},{},{"type":4557,"children":4704},[4705,4710],{"type":4560,"tag":33,"props":4706,"children":4707},{},[4708],{"type":4564,"value":4709},"Hard to imagine: someone locked up five years ago, released this year —",{"type":4560,"tag":33,"props":4711,"children":4712},{},[4713],{"type":4564,"value":4714},"looking at this AI world, what would they be thinking?",{"data":4716,"body":4717},{},{"type":4557,"children":4718},[4719,4724,4729,4734,4739,4744,4749],{"type":4560,"tag":33,"props":4720,"children":4721},{},[4722],{"type":4564,"value":4723},"Yesterday I posted a comparison of Command GOAT and OpenCode Go, and Command Code's CEO personally came to comment.",{"type":4560,"tag":33,"props":4725,"children":4726},{},[4727],{"type":4564,"value":4728},"He said I'd missed a line item — the caching bill. I dug into it, and Command Code has something going on.",{"type":4560,"tag":33,"props":4730,"children":4731},{},[4732],{"type":4564,"value":4733},"A Coding Agent is essentially a giant Prefix Cache machine. A session of several hundred thousand tokens — by the next round, the genuinely new tokens might be only a few thousand. The system prompt, tools, code context and conversation history barely change. The higher the cache hit rate, the cheaper those old contexts get.",{"type":4560,"tag":33,"props":4735,"children":4736},{},[4737],{"type":4564,"value":4738},"Command Code recently did a serious round of Cache Thrashing work, mainly with these strategies:",{"type":4560,"tag":33,"props":4740,"children":4741},{},[4742],{"type":4564,"value":4743},"Pin sessions to the same GPU pod to keep the KV cache warm; keep the stable prefix as intact as possible and stop provider fallbacks from messing with context; plus their Tool Call Repair, where the harness fixes wrong model parameters locally instead of sending errors back to the model to retry.",{"type":4560,"tag":33,"props":4745,"children":4746},{},[4747],{"type":4564,"value":4748},"The v0.33.0 changelog literally lists: Major Cache Overhaul, median cost reduction 2.9×. They now officially claim sustained cache hit rates of 95–99%.",{"type":4560,"tag":33,"props":4750,"children":4751},{},[4752],{"type":4564,"value":4753},"Same model, same $10 plan — but because of caching, the difference compounds into a completely different outcome.",{"data":4755,"body":4756},{},{"type":4557,"children":4757},[4758],{"type":4560,"tag":33,"props":4759,"children":4760},{},[4761],{"type":4564,"value":4762},"I took another careful look at Command Code, this time comparing it side by side with Pi, OMP, DeepSeek Harness, and OpenCode.\nWhat makes Command Code valuable right now is the Harness Engineering it does for open models.\nPi's philosophy is minimalism: the harness interferes with the model as little as possible — light, fast, low token overhead, and extremely malleable. OMP keeps stacking heavy coding capabilities on top of Pi — LSP, Debugger, Browser, AST — closer to fitting the agent with a full IDE.\nDeepSeek Harness goes even further: Everything is Plugin. Agent loop, tools, permissions, presets, UI — all can be taken apart and recombined, which makes it perfect for studying the next generation of agent runtimes.\nOpenCode is the most balanced of the bunch: open source, many providers, a big ecosystem, mature Client\u002FServer, desktop app, and subagents — a generalist that plugs into any model and handles any job.\nCommand Code takes a different route: it loves cleaning up after the model. Bad tool-call arguments get fixed locally by the harness; files read once and read again get deduplicated; long sessions keep a stable prefix to raise cache hits; when context is about to blow up it runs compaction; plus session affinity, taste, subagent isolation, and so on.\nApplied to workhorse models like DeepSeek V4 Flash or GLM-5.3 Flash, this approach gets extra value: the weaker the model, the more the harness picks up the slack.\nSo here's how I'd position all of them now:\nPi — best as the foundation for your own long-term agent: simple, clean, endlessly hackable.\nOMP — best for genuinely heavy coding: LSP, debugger, complex repo navigation.\nDeepSeek Harness — best for tinkering with agent architecture, presets, multi-agent setups, and next-gen runtimes.\nOpenCode — best for anyone who wants a mature, general-purpose, multi-model coding agent.\nCommand Code — best for heavy users of open models like DeepSeek \u002F GLM, especially anyone running Flash workhorse models at scale.\nIf I only care about long-term malleability, I still prefer Pi. But if today you asked me to put DeepSeek V4 Flash \u002F GLM-5.3 to serious work, I'd genuinely give Command Code a taste.",{"data":4764,"body":4765},{},{"type":4557,"children":4766},[4767,4772,4777,4782],{"type":4560,"tag":33,"props":4768,"children":4769},{},[4770],{"type":4564,"value":4771},"I got so annoyed by garbage accounts like \"Fu Bu Hei\" lately.",{"type":4560,"tag":33,"props":4773,"children":4774},{},[4775],{"type":4564,"value":4776},"In a fit of anger, I wrote a browser extension — it's called \"FeedSieve\".",{"type":4560,"tag":33,"props":4778,"children":4779},{},[4780],{"type":4564,"value":4781},"After several rounds of iteration it's in a good place, and it's about to go live.",{"type":4560,"tag":33,"props":4783,"children":4784},{},[4785],{"type":4564,"value":4786},"For those who need it, bookmark this — I'll open-source it and put it on the Chrome Web Store soon.",{"data":4788,"body":4789},{},{"type":4557,"children":4790},[4791,4796,4801,4806,4811],{"type":4560,"tag":33,"props":4792,"children":4793},{},[4794],{"type":4564,"value":4795},"For folks who regularly use Chinese models like DeepSeek and GLM, it's worth checking out the \"family bundles\" foreigners have been putting together:",{"type":4560,"tag":33,"props":4797,"children":4798},{},[4799],{"type":4564,"value":4800},"Command GOAT and OpenCode Go.",{"type":4560,"tag":33,"props":4802,"children":4803},{},[4804],{"type":4564,"value":4805},"I went through both $10 plans carefully.",{"type":4560,"tag":33,"props":4807,"children":4808},{},[4809],{"type":4564,"value":4810},"The conclusion: pick Command GOAT with your eyes closed, no question. As of late August 2026, the version answer is:",{"type":4560,"tag":33,"props":4812,"children":4813},{},[4814,4816],{"type":4564,"value":4815},"The Command GOAT $10 plan!!!\n",{"type":4560,"tag":37,"props":4817,"children":4820},{"href":4818,"rel":4819},"https:\u002F\u002Fcommandcode.ai\u002Fdocs\u002Fplans\u002Fgoat",[41],[4821],{"type":4564,"value":4818},{"data":4823,"body":4824},{},{"type":4557,"children":4825},[4826,4831,4836,4841,4846,4851,4856,4861,4866],{"type":4560,"tag":33,"props":4827,"children":4828},{},[4829],{"type":4564,"value":4830},"The \"amazing $5\" OpenCode Go everyone was hyping on X has completely fallen apart.",{"type":4560,"tag":33,"props":4832,"children":4833},{},[4834],{"type":4564,"value":4835},"OpenCode Go used to have a first-month $5 deal that kept its value-for-money alive — now even that is gone, $10 from the start.",{"type":4560,"tag":33,"props":4837,"children":4838},{},[4839],{"type":4564,"value":4840},"By comparison, the competitor's Command GOAT plans are starting to look better and better.",{"type":4560,"tag":33,"props":4842,"children":4843},{},[4844],{"type":4564,"value":4845},"DeepSeek V4 Flash, GLM-5.3 Flash, GLM-5.3 are the workhorse models for heavy coding and running agents right now — and the Command GOAT plan gives them noticeably more generous quotas.",{"type":4560,"tag":33,"props":4847,"children":4848},{},[4849],{"type":4564,"value":4850},"I now split coding models into two simple buckets: the core models and the grunt models.",{"type":4560,"tag":33,"props":4852,"children":4853},{},[4854],{"type":4564,"value":4855},"V4 Pro, GLM-5.3 and the like are core models — they chew the hard bones. Complex architecture, gnarly bugs, big refactors, key decisions: when a problem is truly hard, hand it to them.",{"type":4560,"tag":33,"props":4857,"children":4858},{},[4859],{"type":4564,"value":4860},"V4 Flash and GLM-5.3 Flash are grunt models. Reading repos, searching code, editing files, running tests, batch work, breaking new ground — that dirty work is exactly what Flash should grind through.",{"type":4560,"tag":33,"props":4862,"children":4863},{},[4864],{"type":4564,"value":4865},"The Command GOAT plan has plenty of grunt quota, and its core model quota has no obvious weak spot either.",{"type":4560,"tag":33,"props":4867,"children":4868},{},[4869],{"type":4564,"value":4870},"So I'm declaring it: the Command GOAT plan is the current version answer.",{"data":4872,"body":4873},{},{"type":4557,"children":4874},[4875,4880],{"type":4560,"tag":33,"props":4876,"children":4877},{},[4878],{"type":4564,"value":4879},"Get a $200 ChatGPT Pro membership, use it well, use it clean.",{"type":4560,"tag":33,"props":4881,"children":4882},{},[4883],{"type":4564,"value":4884},"You're in AI.",{"data":4886,"body":4887},{},{"type":4557,"children":4888},[4889,4894,4907,4912,4917,4930],{"type":4560,"tag":33,"props":4890,"children":4891},{},[4892],{"type":4564,"value":4893},"DeepSeek Harness + third-party API compatibility issue:",{"type":4560,"tag":33,"props":4895,"children":4896},{},[4897,4899,4905],{"type":4564,"value":4898},"When the agent calls tools like Bash, it errors with ",{"type":4560,"tag":460,"props":4900,"children":4902},{"className":4901},[],[4903],{"type":4564,"value":4904},"ToolNotFoundError: unknown tool \"\"",{"type":4564,"value":4906},", which looks like the tool was never registered.",{"type":4560,"tag":33,"props":4908,"children":4909},{},[4910],{"type":4564,"value":4911},"What actually happens: the gateway returns a different data format from DeepSeek's official API, and the tool name gets dropped somewhere in between.",{"type":4560,"tag":33,"props":4913,"children":4914},{},[4915],{"type":4564,"value":4916},"A few relevant GitHub Discussions links:",{"type":4560,"tag":112,"props":4918,"children":4919},{},[4920,4925],{"type":4560,"tag":115,"props":4921,"children":4922},{},[4923],{"type":4564,"value":4924},"Search \"unknown tool\" in deepseek-ai\u002Fdsh#issues",{"type":4560,"tag":115,"props":4926,"children":4927},{},[4928],{"type":4564,"value":4929},"People running self-hosted gateways (OpenRouter \u002F OneAPI \u002F new-api) are the most likely to hit this",{"type":4560,"tag":33,"props":4931,"children":4932},{},[4933],{"type":4564,"value":4934},"Debugging approach: capture a full tool_call request and response, and check whether the tool name in the gateway logs is an empty string.",{"data":4936,"body":4937},{},{"type":4557,"children":4938},[4939,4944,4949,4954,4959,4964,4969,4974,4992],{"type":4560,"tag":33,"props":4940,"children":4941},{},[4942],{"type":4564,"value":4943},"I went back through the DeepSeek Harness repo and Discussions recently, and this project is at a very interesting stage:",{"type":4560,"tag":33,"props":4945,"children":4946},{},[4947],{"type":4564,"value":4948},"DeepSeek Harness already has 150k+ stars and over 12,000 commits in the repo.",{"type":4560,"tag":33,"props":4950,"children":4951},{},[4952],{"type":4564,"value":4953},"Yet the official README still states very clearly: it's only a Developer Preview right now, and breaking changes are still coming.",{"type":4560,"tag":33,"props":4955,"children":4956},{},[4957],{"type":4564,"value":4958},"rc.7 was released on August 17. Issue and PR creation is restricted; feedback goes through Discussions.",{"type":4560,"tag":33,"props":4960,"children":4961},{},[4962],{"type":4564,"value":4963},"The community is huge, but core development is concentrated in few hands. Bugs keep popping up — like the unknown tool \"\" issue.",{"type":4560,"tag":33,"props":4965,"children":4966},{},[4967],{"type":4564,"value":4968},"What's most missing: test coverage, provider compatibility, and session reliability.",{"type":4560,"tag":33,"props":4970,"children":4971},{},[4972],{"type":4564,"value":4973},"Architecturally it's still attractive, like the foundation of an agent operating system:",{"type":4560,"tag":112,"props":4975,"children":4976},{},[4977,4982,4987],{"type":4560,"tag":115,"props":4978,"children":4979},{},[4980],{"type":4564,"value":4981},"Everything is a Plugin",{"type":4560,"tag":115,"props":4983,"children":4984},{},[4985],{"type":4564,"value":4986},"Cordis composition architecture",{"type":4560,"tag":115,"props":4988,"children":4989},{},[4990],{"type":4564,"value":4991},"Preset \u002F Skill \u002F MCP \u002F Agent \u002F Provider all pluginized",{"type":4560,"tag":33,"props":4993,"children":4994},{},[4995],{"type":4564,"value":4996},"The project is at the \"influence runs ahead of engineering\" stage.",{"data":4998,"body":4999},{},{"type":4557,"children":5000},[5001,5006,5011,5016],{"type":4560,"tag":33,"props":5002,"children":5003},{},[5004],{"type":4564,"value":5005},"I'm increasingly convinced that the value of emotion is deeply valuable.",{"type":4560,"tag":33,"props":5007,"children":5008},{},[5009],{"type":4564,"value":5010},"Why can we Homo sapiens band together to do great things?",{"type":4560,"tag":33,"props":5012,"children":5013},{},[5014],{"type":4564,"value":5015},"Precisely because we collectively believe in some story, some emotion, some totem, some myth, some narrative — that's what forms organizations, drives cooperation, grows us stronger, and makes greatness happen.",{"type":4560,"tag":33,"props":5017,"children":5018},{},[5019],{"type":4564,"value":5020},"Isn't that itself a kind of emotional value?",{"data":5022,"body":5023},{},{"type":4557,"children":5024},[5025,5030,5035,5040,5053,5058,5071,5076],{"type":4560,"tag":33,"props":5026,"children":5027},{},[5028],{"type":4564,"value":5029},"Lately I've been studying DeepSeek Harness. There's a concept called Preset worth paying attention to.",{"type":4560,"tag":33,"props":5031,"children":5032},{},[5033],{"type":4564,"value":5034},"Preset can be understood as the distribution unit of an agent. Load different Presets on the same model, and it becomes completely different agents.",{"type":4560,"tag":33,"props":5036,"children":5037},{},[5038],{"type":4564,"value":5039},"What's the biggest difference between a Preset and a Skill?",{"type":4560,"tag":112,"props":5041,"children":5042},{},[5043,5048],{"type":4560,"tag":115,"props":5044,"children":5045},{},[5046],{"type":4564,"value":5047},"A financial-report-analysis Skill: teaches the agent how to analyze financial reports.",{"type":4560,"tag":115,"props":5049,"children":5050},{},[5051],{"type":4564,"value":5052},"A financial-report-analysis Preset: bundles the financial-report-analysis Skill, web search, Browser, PDF, Python, subagents, research prompts, and context strategy all together — handing you an out-of-the-box agent.",{"type":4560,"tag":33,"props":5054,"children":5055},{},[5056],{"type":4564,"value":5057},"In the future, two market layers will likely emerge at once.",{"type":4560,"tag":112,"props":5059,"children":5060},{},[5061,5066],{"type":4560,"tag":115,"props":5062,"children":5063},{},[5064],{"type":4564,"value":5065},"One: a Plugin \u002F Skill marketplace, mainly for developers and power users building agents;",{"type":4560,"tag":115,"props":5067,"children":5068},{},[5069],{"type":4564,"value":5070},"One: a Preset \u002F Agent marketplace, truly aimed at ordinary users.",{"type":4560,"tag":33,"props":5072,"children":5073},{},[5074],{"type":4564,"value":5075},"This is actually very close to the App Store logic. The App Store showcases a complete app; a Preset showcases a complete agent application.",{"type":4560,"tag":33,"props":5077,"children":5078},{},[5079],{"type":4564,"value":5080},"In the past, people shared prompts. Then they started sharing skills. Next, they'll probably be sharing Presets.",{"data":5082,"body":5083},{},{"type":4557,"children":5084},[5085,5090,5095],{"type":4560,"tag":33,"props":5086,"children":5087},{},[5088],{"type":4564,"value":5089},"DeepSeek Harness's ecosystem will very likely boom through Presets.",{"type":4560,"tag":33,"props":5091,"children":5092},{},[5093],{"type":4564,"value":5094},"A Preset plaza has already appeared in the community — interested folks can keep an eye on it.",{"type":4560,"tag":33,"props":5096,"children":5097},{},[5098,5100],{"type":4564,"value":5099},"Entry: ",{"type":4560,"tag":37,"props":5101,"children":5104},{"href":5102,"rel":5103},"https:\u002F\u002Fwww.dshdesktop.com\u002Fpreset\u002F",[41],[5105],{"type":4564,"value":5106},"dshdesktop.com\u002Fpreset",{"data":5108,"body":5109},{},{"type":4557,"children":5110},[5111],{"type":4560,"tag":33,"props":5112,"children":5113},{},[5114],{"type":4564,"value":5115},"What's scarce is a feel for building products, an insight into demand, a mind that understands users.",{"data":5117,"body":5118},{},{"type":4557,"children":5119},[5120],{"type":4560,"tag":33,"props":5121,"children":5122},{},[5123],{"type":4564,"value":5124},"This article makes the case: when using DeepSeek Harness, try PTC mode as much as you can.\nThe benefits are faster speed, lower token spend, and a much more focused model attention.",{"data":5126,"body":5127},{},{"type":4557,"children":5128},[5129,5134,5142,5147,5152,5160,5165,5170,5178,5183,5188,5196,5201],{"type":4560,"tag":33,"props":5130,"children":5131},{},[5132],{"type":4564,"value":5133},"I spent some time on DeepSeek Harness's four modes — here's the pros, cons and use cases for each.",{"type":4560,"tag":778,"props":5135,"children":5136},{},[5137],{"type":4560,"tag":115,"props":5138,"children":5139},{},[5140],{"type":4564,"value":5141},"Standard — best for everyday development\nStandard is DeepSeek Harness's default full Coding Agent. It ships with everything everyday development needs, and it's especially suited to tasks where you don't yet know where the problem is and the agent needs to explore on its own.",{"type":4560,"tag":33,"props":5143,"children":5144},{},[5145],{"type":4564,"value":5146},"But since most of the work is LLM → Tool → LLM → Tool → LLM → Tool, the Tool Calling round trips pile up as tasks get complex, raising latency and token cost.",{"type":4560,"tag":33,"props":5148,"children":5149},{},[5150],{"type":4564,"value":5151},"So: exploration-first tasks go to Standard.",{"type":4560,"tag":778,"props":5153,"children":5154},{"start":153},[5155],{"type":4560,"tag":115,"props":5156,"children":5157},{},[5158],{"type":4564,"value":5159},"PTC — the efficiency mode for complex tasks\nPTC lets the model write a block of TypeScript that combines multiple tool calls into one execution.",{"type":4560,"tag":33,"props":5161,"children":5162},{},[5163],{"type":4564,"value":5164},"Standard might be: search files → back to model → read file → back to model → search → back to model → edit → back to model.\nPTC becomes: model writes TypeScript → run once → search + loop + filter + read + process → return the final result.",{"type":4560,"tag":33,"props":5166,"children":5167},{},[5168],{"type":4564,"value":5169},"That cuts round trips and keeps huge amounts of meaningless intermediate data out of the model context. So batched, repetitive, structured processing is where PTC shines.",{"type":4560,"tag":778,"props":5171,"children":5172},{"start":158},[5173],{"type":4560,"tag":115,"props":5174,"children":5175},{},[5176],{"type":4564,"value":5177},"Minimal — just Bash + Editor for the model\nIts biggest strength is simplicity: few tools, small tool schemas, low fixed prompt overhead.",{"type":4560,"tag":33,"props":5179,"children":5180},{},[5181],{"type":4564,"value":5182},"But no Web, no Skills, no Subagent, no Workflow — complex tasks have to be brute-forced by one agent. And Minimal lacks Standard's full Context Compaction. So while short tasks have low fixed token overhead, on very long sessions with lots of Bash output it may not actually save tokens.",{"type":4560,"tag":33,"props":5184,"children":5185},{},[5186],{"type":4564,"value":5187},"Minimal is the pick for crisp, well-defined small tasks — the clearer and shorter, the better.",{"type":4560,"tag":778,"props":5189,"children":5190},{"start":571},[5191],{"type":4560,"tag":115,"props":5192,"children":5193},{},[5194],{"type":4564,"value":5195},"Creator — using an agent to create agents\nIt has Standard plus the Cordis Runtime, plugin experiments, and Preset creation. It even turns the agent itself into something composable and creatable.",{"type":4560,"tag":33,"props":5197,"children":5198},{},[5199],{"type":4564,"value":5200},"Kind of cute, honestly: the model sets up its own stall to sell goods, then fusses over its own stall — self-sufficient.",{"type":4560,"tag":33,"props":5202,"children":5203},{},[5204],{"type":4564,"value":5205},"But Creator's biggest problem is its elevated permissions. Keep that in mind.",{"data":5207,"body":5208},{},{"type":4557,"children":5209},[5210],{"type":4560,"tag":33,"props":5211,"children":5212},{},[5213,5215],{"type":4564,"value":5214},"Awesome DeepSeek Harness Desktop has arrived.\nADHD — an outstanding DeepSeek Harness desktop build, an open-box Electron wrapper made for DeepSeek Harness. Awesome DeepSeek Harmony Desktop has arrived.\nOriginal post: ",{"type":4560,"tag":37,"props":5216,"children":5219},{"href":5217,"rel":5218},"https:\u002F\u002Fx.com\u002Fzacklin233862\u002Fstatus\u002F2087922286368375265?s=20",[41],[5220],{"type":4564,"value":5217},{"data":5222,"body":5223},{},{"type":4557,"children":5224},[5225],{"type":4560,"tag":33,"props":5226,"children":5227},{},[5228],{"type":4564,"value":5229},"A pile of AI coding agents are rushing to ship TUIs these days, and Claude Code owes a big share of the blame for that trend.\nIt made conversing with an AI in the terminal to write code an art form.\nThe problem is, somehow a \"truly advanced\" coding agent now has to default to a terminal interface — the web version becomes an afterthought, even mocked as not programmer enough.\nAnd the result?\nBuild a complicated TUI first:\nall the colors, status bars, shortcuts, and mode switching,\nthen call it \"immersive,\" \"efficient,\" and \"respectful of programmers.\"\nReally?\nFor the small group who live in the terminal all day, sure, it's great. But for many more people it's a wall built on purpose: features hidden behind keys and modes, new users completely lost, and even veterans relearning every tool's personal keymap.\nA web UI can be just as fast and clean — install it as a PWA and it's nearly indistinguishable from a desktop client, with easier updates too. Forcing interaction back into the 1980s terminal paradigm and then sneering at the web is mostly self-indulgence.\nClaude Code itself is excellent, no dispute there. But it popularized the taste and the path dependence of \"TUI is the orthodox way,\" and the imitators that followed are even worse.\nTools exist to serve people, not to prove who is more \"hardcore.\"\nDressing up anti-human interaction as sophistication — it's genuinely hilarious.",{"data":5231,"body":5232},{},{"type":4557,"children":5233},[5234,5239,5244,5249,5254,5259,5264,5269,5274],{"type":4560,"tag":33,"props":5235,"children":5236},{},[5237],{"type":4564,"value":5238},"Honestly, some geek communities aren't just niche anymore — they're outright solipsistic.",{"type":4560,"tag":33,"props":5240,"children":5241},{},[5242],{"type":4564,"value":5243},"Their signature move: treating inconvenience as sophistication, and barriers to entry as taste.",{"type":4560,"tag":33,"props":5245,"children":5246},{},[5247],{"type":4564,"value":5248},"If something is easy, intuitive, and quick for normal people to pick up, they instinctively feel it's not hardcore enough, too mainstream, beneath them.",{"type":4560,"tag":33,"props":5250,"children":5251},{},[5252],{"type":4564,"value":5253},"Conversely, the more awkward the interaction, the more buried the information, the more you need to learn a private jargon and a pile of shortcuts — the more they feel this is what a real tool looks like.",{"type":4560,"tag":33,"props":5255,"children":5256},{},[5257],{"type":4564,"value":5258},"This isn't about efficiency anymore. It's using pain to confirm your own identity.",{"type":4560,"tag":33,"props":5260,"children":5261},{},[5262],{"type":4564,"value":5263},"\"I can endure interactions other people can't\" — once that sentence leaves your mouth, the superiority writes itself.",{"type":4560,"tag":33,"props":5265,"children":5266},{},[5267],{"type":4564,"value":5268},"The smaller the circle, the easier this self-congratulation feeds on itself.",{"type":4560,"tag":33,"props":5270,"children":5271},{},[5272],{"type":4564,"value":5273},"It eventually turns into: whoever dares to call it unusable simply doesn't get it — they're an outsider.",{"type":4560,"tag":33,"props":5275,"children":5276},{},[5277],{"type":4564,"value":5278},"Truly capable people make complex things simple. Some geeks make simple things complicated, then stand on top of the complexity looking down at everyone else.",{"data":5280,"body":5281},{},{"type":4557,"children":5282},[5283,5288,5293,5298,5303],{"type":4560,"tag":33,"props":5284,"children":5285},{},[5286],{"type":4564,"value":5287},"I think DeepSeek Harness nailed the form factor.",{"type":4560,"tag":33,"props":5289,"children":5290},{},[5291],{"type":4564,"value":5292},"Instead of jumping straight into an anti-human TUI, it ships a Web UI.",{"type":4560,"tag":33,"props":5294,"children":5295},{},[5296],{"type":4564,"value":5297},"And it barely takes any storage — because there is no installer at all. No Electron framework ramming a browser engine inside. That's a lot of storage saved.",{"type":4560,"tag":33,"props":5299,"children":5300},{},[5301],{"type":4564,"value":5302},"The only drawback is that it lives in the browser — but you can install it as a PWA, and then it feels exactly like a native client.",{"type":4560,"tag":33,"props":5304,"children":5305},{},[5306],{"type":4564,"value":5307},"Installing a web app as an application via Chrome is genuinely useful. In the screenshot here, it's a webpage, yet it behaves no differently from a desktop app.",{"data":5309,"body":5310},{},{"type":4557,"children":5311},[5312,5317,5322,5327,5332,5345],{"type":4560,"tag":33,"props":5313,"children":5314},{},[5315],{"type":4564,"value":5316},"So well put — this is the GPT-5 generation's endemic flaw:",{"type":4560,"tag":33,"props":5318,"children":5319},{},[5320],{"type":4564,"value":5321},"It keeps writing internal requirements into the UI copy to prove its workload. To prove itself — oh look, I really did it, aren't I great, I didn't slack off, I've laid every one of your requirements out on the table.",{"type":4560,"tag":33,"props":5323,"children":5324},{},[5325],{"type":4564,"value":5326},"And the UI copy is bloated beyond belief. From 5.0 all the way to 5.6 — generation after generation — this still hasn't been fixed. It's in the marrow.",{"type":4560,"tag":33,"props":5328,"children":5329},{},[5330],{"type":4564,"value":5331},"Anyone who's actually shipped frontend products knows:",{"type":4560,"tag":112,"props":5333,"children":5334},{},[5335,5340],{"type":4560,"tag":115,"props":5336,"children":5337},{},[5338],{"type":4564,"value":5339},"Every bit of text on the interface, big or small, is user-facing copy",{"type":4560,"tag":115,"props":5341,"children":5342},{},[5343],{"type":4564,"value":5344},"Text that belongs in chat feedback to developers should never be written into the product",{"type":4560,"tag":33,"props":5346,"children":5347},{},[5348],{"type":4564,"value":5349},"But it doesn't just write crappy copy — it often writes internal feedback into the product to \"show\" that it did something.",{"data":5351,"body":5352},{},{"type":4557,"children":5353},[5354,5359,5364],{"type":4560,"tag":33,"props":5355,"children":5356},{},[5357],{"type":4564,"value":5358},"The reading site for the English podcast is finally out.",{"type":4560,"tag":33,"props":5360,"children":5361},{},[5362],{"type":4564,"value":5363},"Its name: Cherina Pod",{"type":4560,"tag":33,"props":5365,"children":5366},{},[5367,5369],{"type":4564,"value":5368},"Come visit. Give me your harshest feedback — I'm going to iterate hard, fix hard, optimize hard.\n",{"type":4560,"tag":37,"props":5370,"children":5373},{"href":5371,"rel":5372},"https:\u002F\u002Fpod.cherina.app",[41],[5374],{"type":4564,"value":5371},{"data":5376,"body":5377},{},{"type":4557,"children":5378},[5379],{"type":4560,"tag":33,"props":5380,"children":5381},{},[5382],{"type":4564,"value":5383},"OpenChamber shipped another new version. You can feel how much the author cares — this may be the most lovingly maintained front end I've seen in an open-source project.\nThe OpenChamber + OpenCode + DeepSeek V4 Flash combo I run every day honestly feels fantastic.",{"data":5385,"body":5386},{},{"type":4557,"children":5387},[5388],{"type":4560,"tag":33,"props":5389,"children":5390},{},[5391],{"type":4564,"value":5392},"Every time I see a Pi Agent related project, I get excited.\nThe workflow built with herdr + pi deserves a proper deep dive.",{"data":5394,"body":5395},{},{"type":4557,"children":5396},[5397],{"type":4560,"tag":33,"props":5398,"children":5399},{},[5400],{"type":4564,"value":5401},"Qwen shipped an official plugin that gives DeepSeek V4 Flash a pair of eyes — try it if you're interested.",{"data":5403,"body":5404},{},{"type":4557,"children":5405},[5406],{"type":4560,"tag":33,"props":5407,"children":5408},{},[5409,5411],{"type":4564,"value":5410},"I've tried pretty much every open-source Harness GUI client on the market, and most of them are hard to look at, let alone enjoy.\nOpenChamber is the best-polished open-source Harness GUI client I've used: refined, stable, and the occasional bug doesn't get in the way of long-term use.\nBut it only works with OpenCode and can't switch to other harnesses. Some users report that OpenCode's overall performance isn't great and can hold the model back.\nSo I started sketching a project: keep OpenChamber's front end as the skeleton and swap the core for Oh My Pi, which better fits my own needs.\nWhy not the native Pi Agent, and why Oh My Pi instead?\nBecause the native Pi Agent is too flexible — there's no way to build a general-purpose GUI around it.\nAs a compromise, Oh My Pi works like a Pi Agent distribution: the plugin interaction experience is relatively stable.\nSo I think turning OpenChamber + Oh My Pi into an out-of-the-box product is a real, unmet need.\nI named the project OMPChamber. It's still in intensive development and testing — star it if you're interested:\n",{"type":4560,"tag":37,"props":5412,"children":5415},{"href":5413,"rel":5414},"https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002FOMPChamber",[41],[5416],{"type":4564,"value":5413},{"data":5418,"body":5419},{},{"type":4557,"children":5420},[5421],{"type":4560,"tag":33,"props":5422,"children":5423},{},[5424],{"type":4564,"value":5425},"We really should pay more attention to designers and programmers with taste.",{"data":5427,"body":5428},{},{"type":4557,"children":5429},[5430],{"type":4560,"tag":33,"props":5431,"children":5432},{},[5433],{"type":4564,"value":5434},"DeepSeek V4 Flash is genuinely smart, and genuinely cheap.\nI've had 15 projects open in a row, all running code at the same time.\nThe quota barely moved.",{"data":5436,"body":5437},{},{"type":4557,"children":5438},[5439,5444],{"type":4560,"tag":33,"props":5440,"children":5441},{},[5442],{"type":4564,"value":5443},"Sharing the OpenCode setup I'm currently running. It's built around three core needs:\nContext management — long sessions that don't blow up the context, saving money and tokens\nMemory — remembering user preferences, project decisions, and past lessons across sessions\nExternal capabilities — docs lookup, code search, desktop automation\nThe main plugins I use:",{"type":4560,"tag":778,"props":5445,"children":5446},{},[5447,5452,5457,5462,5467,5472],{"type":4560,"tag":115,"props":5448,"children":5449},{},[5450],{"type":4564,"value":5451},"opencode-dcp (open source) — dynamic context pruning plugin.\nWhen the context hits a threshold it automatically compresses older content into technical summaries, keeps the key information, drops the noise, cleans up duplicates, and removes low-value content like tool errors from the context.",{"type":4560,"tag":115,"props":5453,"children":5454},{},[5455],{"type":4564,"value":5456},"opencode-goal-plugin\nA Goal-mode plugin that adds goal management to long tasks.",{"type":4560,"tag":115,"props":5458,"children":5459},{},[5460],{"type":4564,"value":5461},"Hermes Memory (I'll open source it if there's demand)\nMy heaviest plugin — I ported the Hermes agent's layered memory mechanism onto OpenCode.",{"type":4560,"tag":115,"props":5463,"children":5464},{},[5465],{"type":4564,"value":5466},"context7-MCP\nLook up the latest official docs for libraries and frameworks.",{"type":4560,"tag":115,"props":5468,"children":5469},{},[5470],{"type":4564,"value":5471},"grep-MCP\nGitHub code search — find real-world usage across all of GitHub.",{"type":4560,"tag":115,"props":5473,"children":5474},{},[5475],{"type":4564,"value":5476},"open-computer-use (desktop automation)\nLets the AI directly operate macOS apps — clicking, typing, scrolling, dragging, screenshots, reading the accessibility tree.",{"data":5478,"body":5479},{},{"type":4557,"children":5480},[5481],{"type":4560,"tag":33,"props":5482,"children":5483},{},[5484,5486],{"type":4564,"value":5485},"The OpenCode Go plan is just $5 for the first month — 35 yuan.\nOnce you're in, use its new DeepSeek V4 Flash model.\nIn practice: I pounded it all morning with heavy use and only burned 1% of the weekly quota. What the hell — I can't even use it all up, now I'll start getting anxious again hahahaha.\nThe impossible triangle of cheap, good, and fast has been perfectly achieved by the OpenCode Go + DeepSeek V4 Flash combo.\nOpencode ",{"type":4560,"tag":37,"props":5487,"children":5490},{"href":5488,"rel":5489},"https:\u002F\u002Ft.co\u002Fc0k1WKWNle",[41],[5491],{"type":4564,"value":5488},{"data":5493,"body":5494},{},{"type":4557,"children":5495},[5496],{"type":4560,"tag":33,"props":5497,"children":5498},{},[5499,5501],{"type":4564,"value":5500},"I'm genuinely in awe — OpenAI has lost its mind. GPT-5.6-Luna price cut 80%: $0.2 input, $1.2 output, $0.02 cache hit.\nCompared with DeepSeek V4 Pro, at typical coding usage — 100M tokens with 95% cache hits — DeepSeek runs about 20 yuan, Luna about 26 yuan.\nAnd if you're on a Codex plan, running Luna gets you five times the previous volume — a full fivefold usage boost! ",{"type":4560,"tag":37,"props":5502,"children":5505},{"href":5503,"rel":5504},"https:\u002F\u002Ft.co\u002FfBVVfyN2OC",[41],[5506],{"type":4564,"value":5503},{"data":5508,"body":5509},{},{"type":4557,"children":5510},[5511],{"type":4560,"tag":33,"props":5512,"children":5513},{},[5514,5516],{"type":4564,"value":5515},"Liang Wenfeng said at an investor meeting:\n\"The endpoint of intelligence may all be embodied. Because for a normal person, what they need isn't a computer — it's labor.\"\nThose words are spot on. Ordinary people have never wanted a smarter computer; they want \"labor\" that actually gets work done. No matter how capable text is, it's only an intermediate state. ",{"type":4560,"tag":37,"props":5517,"children":5520},{"href":5518,"rel":5519},"https:\u002F\u002Ft.co\u002F2xg5o5hNjt",[41],[5521],{"type":4564,"value":5518},{"data":5523,"body":5524},{},{"type":4557,"children":5525},[5526,5531],{"type":4560,"tag":33,"props":5527,"children":5528},{},[5529],{"type":4564,"value":5530},"Let me introduce a concept: FOMO, short for Fear of Missing Out.",{"type":4560,"tag":33,"props":5532,"children":5533},{},[5534],{"type":4564,"value":5535},"I'm sure plenty of people have this problem: you see something good and want to bookmark it, you see a new tool or trend and want to jump on it, always feeling that if you don't, you'll miss something important. The result: your bookmarks get fuller and fuller, your head gets messier and messier, and your attention gets nibbled away bit by bit along the way.",{"data":5537,"body":5538},{},{"type":4557,"children":5539},[5540,5544,5549,5554,5559,5564,5569],{"type":4560,"tag":33,"props":5541,"children":5542},{},[5543],{"type":4564,"value":4390},{"type":4560,"tag":33,"props":5545,"children":5546},{},[5547],{"type":4564,"value":5548},"The interface format is, simply put:",{"type":4560,"tag":33,"props":5550,"children":5551},{},[5552],{"type":4564,"value":5553},"the agreed way of communicating between you and the model service.",{"type":4560,"tag":33,"props":5555,"children":5556},{},[5557],{"type":4564,"value":5558},"For example, the \"OpenAI-compatible interface\" most people know often refers to Chat Completions. That format excels at chat and simple text generation, which is why model vendors everywhere prioritize compatibility with it.",{"type":4560,"tag":33,"props":5560,"children":5561},{},[5562],{"type":4564,"value":5563},"But building AI apps today is far more complex. Models now need to read files, browse the web, call functions, run code, connect to MCP, hold context, and keep going on the next steps.",{"type":4560,"tag":33,"props":5565,"children":5566},{},[5567],{"type":4564,"value":5568},"That's where OpenAI's Responses API earns its keep.",{"type":4560,"tag":112,"props":5570,"children":5571},{},[5572,5577,5582],{"type":4560,"tag":115,"props":5573,"children":5574},{},[5575],{"type":4564,"value":5576},"Its reasoning models perform better. The same model, placed in a more fitting interface structure, completes tasks better.",{"type":4560,"tag":115,"props":5578,"children":5579},{},[5580],{"type":4564,"value":5581},"It's natively suited to agents. One API request can call multiple tools.",{"type":4560,"tag":115,"props":5583,"children":5584},{},[5585],{"type":4564,"value":5586},"It costs less. Compared with Chat Completions, Responses API cache utilization improves by 40%–80%. Higher cache utilization means cheaper repeated calls and easier latency optimization.",{"data":5588,"body":5589},{},{"type":4557,"children":5590},[5591,5595,5600,5605,5610,5615,5620,5625],{"type":4560,"tag":33,"props":5592,"children":5593},{},[5594],{"type":4564,"value":3524},{"type":4560,"tag":33,"props":5596,"children":5597},{},[5598],{"type":4564,"value":5599},"Zodiac signs, birth animals, astrology, fortune-telling — these can perhaps be understood as \"compressed models\" from humanity's low-compute era.",{"type":4560,"tag":33,"props":5601,"children":5602},{},[5603],{"type":4564,"value":5604},"The ancients had no databases, no statistical tools, and no AI.",{"type":4560,"tag":33,"props":5606,"children":5607},{},[5608],{"type":4564,"value":5609},"All they could do was observe seasons, celestial phenomena, farming calendars, personality, social conventions, and societal cycles over long stretches of time, then compress that complex experience into a symbol system easy to remember and easy to spread.",{"type":4560,"tag":33,"props":5611,"children":5612},{},[5613],{"type":4564,"value":5614},"The 12 zodiac signs, the 12 birth animals, the Eight Characters, the hexagrams — they're all essentially ways of reducing a complex world to lower dimensions.",{"type":4560,"tag":33,"props":5616,"children":5617},{},[5618],{"type":4564,"value":5619},"Of course, they can't be taken as rigorous scientific prediction.",{"type":4560,"tag":33,"props":5621,"children":5622},{},[5623],{"type":4564,"value":5624},"But they're not necessarily pure superstition either.",{"type":4560,"tag":33,"props":5626,"children":5627},{},[5628],{"type":4564,"value":5629},"They're more like a distillation of experience — built by the ancients, with stories, symbols, and rules, when compute was scarce, data was scarce, and tools were scarce.",{"data":5631,"body":5632},{},{"type":4557,"children":5633},[5634,5639,5644,5649,5654,5659],{"type":4560,"tag":33,"props":5635,"children":5636},{},[5637],{"type":4564,"value":5638},"My X-scrolling frequency has dropped lately.",{"type":4560,"tag":33,"props":5640,"children":5641},{},[5642],{"type":4564,"value":5643},"Not sure if I've entered sage mode.",{"type":4560,"tag":33,"props":5645,"children":5646},{},[5647],{"type":4564,"value":5648},"After some honest reflection, I realized I care about one question more than anything:",{"type":4560,"tag":33,"props":5650,"children":5651},{},[5652],{"type":4564,"value":5653},"can the stuff I scroll past every day end up as a real product?",{"type":4560,"tag":33,"props":5655,"children":5656},{},[5657],{"type":4564,"value":5658},"Watching a hundred tool updates is no match for breaking through one concrete scenario.",{"type":4560,"tag":33,"props":5660,"children":5661},{},[5662],{"type":4564,"value":5663},"These days I want to put more energy into products, community, and long-term content.",{"data":5665,"body":5666},{},{"type":4557,"children":5667},[5668,5672,5677,5685,5690,5695,5700,5705,5710,5715,5720,5725,5733,5738,5743,5748,5753,5758,5763,5768,5781,5786,5791],{"type":4560,"tag":33,"props":5669,"children":5670},{},[5671],{"type":4564,"value":4183},{"type":4560,"tag":33,"props":5673,"children":5674},{},[5675],{"type":4564,"value":5676},"I realized there are actually two paths here.",{"type":4560,"tag":33,"props":5678,"children":5679},{},[5680],{"type":4560,"tag":67,"props":5681,"children":5682},{},[5683],{"type":4564,"value":5684},"One is building on Feishu.",{"type":4560,"tag":33,"props":5686,"children":5687},{},[5688],{"type":4564,"value":5689},"Its advantages are direct:",{"type":4560,"tag":33,"props":5691,"children":5692},{},[5693],{"type":4564,"value":5694},"free, multi-device sync, shareable, easy collaboration, and rich enough in form.",{"type":4560,"tag":33,"props":5696,"children":5697},{},[5698],{"type":4564,"value":5699},"Documents, multi-dimensional tables, spreadsheets, slides, canvas, Todo, knowledge bases — these modules combined already cover a lot of personal and team knowledge-management scenarios.",{"type":4560,"tag":33,"props":5701,"children":5702},{},[5703],{"type":4564,"value":5704},"I'm especially bullish on the multi-dimensional tables.",{"type":4560,"tag":33,"props":5706,"children":5707},{},[5708],{"type":4564,"value":5709},"They're well suited as a knowledge hub.",{"type":4560,"tag":33,"props":5711,"children":5712},{},[5713],{"type":4564,"value":5714},"Information collection, material archiving, status management, structured organization, content re-production — all of it can revolve around them.",{"type":4560,"tag":33,"props":5716,"children":5717},{},[5718],{"type":4564,"value":5719},"Add the Feishu CLI and AI agents, and Feishu stops being just an office tool.",{"type":4560,"tag":33,"props":5721,"children":5722},{},[5723],{"type":4564,"value":5724},"It becomes more like a knowledge workflow system agents can operate.",{"type":4560,"tag":33,"props":5726,"children":5727},{},[5728],{"type":4560,"tag":67,"props":5729,"children":5730},{},[5731],{"type":4564,"value":5732},"The other path is building your own on Cloudflare.",{"type":4560,"tag":33,"props":5734,"children":5735},{},[5736],{"type":4564,"value":5737},"This path is freer and better suited to productization.",{"type":4560,"tag":33,"props":5739,"children":5740},{},[5741],{"type":4564,"value":5742},"FlareMo, the thing I'm building now, is an attempt at a knowledge-management product on Cloudflare.",{"type":4560,"tag":33,"props":5744,"children":5745},{},[5746],{"type":4564,"value":5747},"Cloudflare's advantage is that the underlying capabilities are complete:",{"type":4560,"tag":33,"props":5749,"children":5750},{},[5751],{"type":4564,"value":5752},"frontend, backend, database, object storage, vector search, AI — all combinable.",{"type":4560,"tag":33,"props":5754,"children":5755},{},[5756],{"type":4564,"value":5757},"But it takes development.",{"type":4560,"tag":33,"props":5759,"children":5760},{},[5761],{"type":4564,"value":5762},"And you have to design the data structure, search experience, permission system, and product logic yourself.",{"type":4560,"tag":33,"props":5764,"children":5765},{},[5766],{"type":4564,"value":5767},"So my current take:",{"type":4560,"tag":112,"props":5769,"children":5770},{},[5771,5776],{"type":4560,"tag":115,"props":5772,"children":5773},{},[5774],{"type":4564,"value":5775},"Feishu is for quickly standing up a knowledge-management system you can use today.",{"type":4560,"tag":115,"props":5777,"children":5778},{},[5779],{"type":4564,"value":5780},"Cloudflare is for turning knowledge management into a truly controllable, iterable product.",{"type":4560,"tag":33,"props":5782,"children":5783},{},[5784],{"type":4564,"value":5785},"Both paths are worth studying.",{"type":4560,"tag":33,"props":5787,"children":5788},{},[5789],{"type":4564,"value":5790},"One leans workflow.",{"type":4560,"tag":33,"props":5792,"children":5793},{},[5794],{"type":4564,"value":5795},"One leans productization.",{"data":5797,"body":5798},{},{"type":4557,"children":5799},[5800,5804,5809,5814,5822,5827,5832,5837,5842,5865,5870,5875,5880,5885,5890,5895,5900,5905,5910],{"type":4560,"tag":33,"props":5801,"children":5802},{},[5803],{"type":4564,"value":4174},{"type":4560,"tag":33,"props":5805,"children":5806},{},[5807],{"type":4564,"value":5808},"Mention knowledge management and most people's first reaction is: bookmarking articles, organizing links, taking notes, building a beautiful library.",{"type":4560,"tag":33,"props":5810,"children":5811},{},[5812],{"type":4564,"value":5813},"But from first principles, the problem knowledge management actually has to solve is:",{"type":4560,"tag":33,"props":5815,"children":5816},{},[5817],{"type":4560,"tag":67,"props":5818,"children":5819},{},[5820],{"type":4564,"value":5821},"Can the information I see today keep helping me make judgments in the future?",{"type":4560,"tag":33,"props":5823,"children":5824},{},[5825],{"type":4564,"value":5826},"Human memory is limited, attention is limited, and experience slips away easily.",{"type":4560,"tag":33,"props":5828,"children":5829},{},[5830],{"type":4564,"value":5831},"If a piece of material merely gets bookmarked, it'll likely end up as an information graveyard.",{"type":4560,"tag":33,"props":5833,"children":5834},{},[5835],{"type":4564,"value":5836},"Truly valuable knowledge management should complete one transformation:",{"type":4560,"tag":33,"props":5838,"children":5839},{},[5840],{"type":4564,"value":5841},"turn external information and personal experience into an action capability that's retrievable, callable, reusable, and updatable.",{"type":4560,"tag":112,"props":5843,"children":5844},{},[5845,5850,5855,5860],{"type":4560,"tag":115,"props":5846,"children":5847},{},[5848],{"type":4564,"value":5849},"An article, merely bookmarked, is just material.",{"type":4560,"tag":115,"props":5851,"children":5852},{},[5853],{"type":4564,"value":5854},"You distill its viewpoint and it becomes information.",{"type":4560,"tag":115,"props":5856,"children":5857},{},[5858],{"type":4564,"value":5859},"You connect it to your own projects, scenarios, and judgments — only then does it start becoming knowledge.",{"type":4560,"tag":115,"props":5861,"children":5862},{},[5863],{"type":4564,"value":5864},"Finally, when it helps you write articles, build products, make decisions, and design workflows, it becomes capability.",{"type":4560,"tag":33,"props":5866,"children":5867},{},[5868],{"type":4564,"value":5869},"So I increasingly feel the endpoint of knowledge management shouldn't be a library.",{"type":4560,"tag":33,"props":5871,"children":5872},{},[5873],{"type":4564,"value":5874},"It's more like cognitive infrastructure.",{"type":4560,"tag":33,"props":5876,"children":5877},{},[5878],{"type":4564,"value":5879},"Helping you absorb information, organize judgments, settle methods, and keep outputting content, products, and action.",{"type":4560,"tag":33,"props":5881,"children":5882},{},[5883],{"type":4564,"value":5884},"Especially now that AI agents exist, knowledge management gets a lot more interesting.",{"type":4560,"tag":33,"props":5886,"children":5887},{},[5888],{"type":4564,"value":5889},"In the past we relied on humans to organize, classify, search, and reuse.",{"type":4560,"tag":33,"props":5891,"children":5892},{},[5893],{"type":4564,"value":5894},"Going forward, a lot of that can be handed to agents:",{"type":4560,"tag":33,"props":5896,"children":5897},{},[5898],{"type":4564,"value":5899},"auto-summarize, auto-tag, auto-link to projects, auto-generate outlines, auto-flag outdated knowledge — even turn material directly into articles, proposals, slides, and tasks.",{"type":4560,"tag":33,"props":5901,"children":5902},{},[5903],{"type":4564,"value":5904},"That's also why I've gotten interested in knowledge management lately.",{"type":4560,"tag":33,"props":5906,"children":5907},{},[5908],{"type":4564,"value":5909},"On the surface it's note-taking.",{"type":4560,"tag":33,"props":5911,"children":5912},{},[5913],{"type":4564,"value":5914},"At bottom, it's building a cognitive system that compounds over the long term.",{"data":5916,"body":5917},{},{"type":4557,"children":5918},[5919,5923,5928],{"type":4560,"tag":33,"props":5920,"children":5921},{},[5922],{"type":4564,"value":4475},{"type":4560,"tag":33,"props":5924,"children":5925},{},[5926],{"type":4564,"value":5927},"Code anytime, anywhere.",{"type":4560,"tag":33,"props":5929,"children":5930},{},[5931],{"type":4564,"value":5932},"Keep my wife company shopping, anytime, anywhere.",{"data":5934,"body":5935},{},{"type":4557,"children":5936},[5937,5942],{"type":4560,"tag":33,"props":5938,"children":5939},{},[5940],{"type":4564,"value":5941},"Sure, the most eye-catching thing is an indie developer's income.",{"type":4560,"tag":33,"props":5943,"children":5944},{},[5945],{"type":4564,"value":5946},"But for us ordinary people, the most valuable thing is still the path they walked to get there.",{"data":5948,"body":5949},{},{"type":4557,"children":5950},[5951,5955],{"type":4560,"tag":33,"props":5952,"children":5953},{},[5954],{"type":4564,"value":3545},{"type":4560,"tag":33,"props":5956,"children":5957},{},[5958],{"type":4564,"value":5959},"Zero ads on YouTube, like magic!!",{"data":5961,"body":5962},{},{"type":4557,"children":5963},[5964,5968,5973,5978,5983,5988],{"type":4560,"tag":33,"props":5965,"children":5966},{},[5967],{"type":4564,"value":3767},{"type":4560,"tag":33,"props":5969,"children":5970},{},[5971],{"type":4564,"value":5972},"Alright, time for me to start pitching.",{"type":4560,"tag":33,"props":5974,"children":5975},{},[5976],{"type":4564,"value":5977},"This is the CoolState Power Bank No. 25 Super SE (CoolState is the former Zimi).",{"type":4560,"tag":33,"props":5979,"children":5980},{},[5981],{"type":4564,"value":5982},"A little over 140 yuan, 25,000 mAh, up to 120W output, built-in charging cable.",{"type":4560,"tag":33,"props":5984,"children":5985},{},[5986],{"type":4564,"value":5987},"It keeps my MacBook Air going through a whole afternoon of heavy work.",{"type":4560,"tag":33,"props":5989,"children":5990},{},[5991],{"type":4564,"value":5992},"The perfect office companion for Starbucks, McDonald's, KFC, the countryside, and every other place!",{"data":5994,"body":5995},{},{"type":4557,"children":5996},[5997,6002,6007,6012],{"type":4560,"tag":33,"props":5998,"children":5999},{},[6000],{"type":4564,"value":6001},"Here's a fun fact — you might assume DeepSeek is selling tokens at a loss.",{"type":4560,"tag":33,"props":6003,"children":6004},{},[6005],{"type":4564,"value":6006},"Its API is priced cheap, but the official side has mentioned a profit margin of 545% on this segment!!!",{"type":4560,"tag":33,"props":6008,"children":6009},{},[6010],{"type":4564,"value":6011},"So DeepSeek is not only a cyber-AI bodhisattva, it's also technically a monster.",{"type":4560,"tag":33,"props":6013,"children":6014},{},[6015,6017],{"type":4564,"value":6016},"Original: ",{"type":4560,"tag":37,"props":6018,"children":6021},{"href":6019,"rel":6020},"https:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002Fopen-infra-index\u002Fblob\u002Fmain\u002F202502OpenSourceWeek\u002Fday_6_one_more_thing_deepseekV3R1_inference_system_overview.md",[41],[6022],{"type":4564,"value":6023},"DeepSeek Open Infra Index",{"data":6025,"body":6026},{},{"type":4557,"children":6027},[6028,6033,6038,6043],{"type":4560,"tag":33,"props":6029,"children":6030},{},[6031],{"type":4564,"value":6032},"Holy shit! I only just found out the Firefox browser gives every user 50G of free VPN traffic per month.",{"type":4560,"tag":33,"props":6034,"children":6035},{},[6036],{"type":4564,"value":6037},"Extremely handy for that awkward chicken-and-egg situation.",{"type":4560,"tag":33,"props":6039,"children":6040},{},[6041],{"type":4564,"value":6042},"How to use:",{"type":4560,"tag":778,"props":6044,"children":6045},{},[6046,6059,6064,6075],{"type":4560,"tag":115,"props":6047,"children":6048},{},[6049,6051,6057],{"type":4564,"value":6050},"Type ",{"type":4560,"tag":460,"props":6052,"children":6054},{"className":6053},[],[6055],{"type":4564,"value":6056},"about:config",{"type":4564,"value":6058}," in the address bar",{"type":4560,"tag":115,"props":6060,"children":6061},{},[6062],{"type":4564,"value":6063},"Go to advanced preferences and click \"Show all\"",{"type":4560,"tag":115,"props":6065,"children":6066},{},[6067,6069],{"type":4564,"value":6068},"Search for ",{"type":4560,"tag":460,"props":6070,"children":6072},{"className":6071},[],[6073],{"type":4564,"value":6074},"browser.ipProtection.enabled",{"type":4560,"tag":115,"props":6076,"children":6077},{},[6078],{"type":4564,"value":6079},"Flip that entry's value to true",{"data":6081,"body":6082},{},{"type":4557,"children":6083},[6084,6089,6094,6099],{"type":4560,"tag":33,"props":6085,"children":6086},{},[6087],{"type":4564,"value":6088},"Gave Tencent's Workbuddy a spin — there's this classic scenario: claiming Meituan coupons.",{"type":4560,"tag":33,"props":6090,"children":6091},{},[6092],{"type":4564,"value":6093},"At the login step, it generated a QR code for me to scan and sign in.",{"type":4560,"tag":33,"props":6095,"children":6096},{},[6097],{"type":4564,"value":6098},"Then I just barked \"go claim my coupons\" and it went and claimed that many for me.",{"type":4560,"tag":33,"props":6100,"children":6101},{},[6102],{"type":4564,"value":6103},"Using an AI agent for something like claiming coupons — absolutely amazing.",{"data":6105,"body":6106},{},{"type":4557,"children":6107},[6108,6112,6117,6122,6127,6132],{"type":4560,"tag":33,"props":6109,"children":6110},{},[6111],{"type":4564,"value":3574},{"type":4560,"tag":33,"props":6113,"children":6114},{},[6115],{"type":4564,"value":6116},"It's for anyone who wants to widen their information sources and bust out of their echo chamber.",{"type":4560,"tag":33,"props":6118,"children":6119},{},[6120],{"type":4564,"value":6121},"It continuously pulls hot content from Hacker News, Reddit, BBC, Reuters, Bloomberg, Product Hunt and other foreign sources, and translates the headlines into Chinese.",{"type":4560,"tag":33,"props":6123,"children":6124},{},[6125],{"type":4564,"value":6126},"Its biggest value: you get to skim the headlines in Chinese first.",{"type":4560,"tag":33,"props":6128,"children":6129},{},[6130],{"type":4564,"value":6131},"If something catches your eye and looks worth reading, click in for the details.",{"type":4560,"tag":33,"props":6133,"children":6134},{},[6135],{"type":4564,"value":6136},"At that point, pair it with Immersive Translate for bilingual reading.",{"data":6138,"body":6139},{},{"type":4557,"children":6140},[6141],{"type":4560,"tag":33,"props":6142,"children":6143},{},[6144],{"type":4564,"value":6145},"If you've bought a circumvention airport and also built your own VPS nodes, and you want them managed uniformly, routed uniformly, and output as one subscription link.\nYou want routing rules, node filtering, and combination logic maintained on the server side instead of configured client by client.\nYou want to run it with Cloudflare's lightweight deployment — no servers, no database services, no complex background jobs to maintain.",{"data":6147,"body":6148},{},{"type":4557,"children":6149},[6150,6154],{"type":4560,"tag":33,"props":6151,"children":6152},{},[6153],{"type":4564,"value":3562},{"type":4560,"tag":112,"props":6155,"children":6156},{},[6157,6167,6177,6187,6197,6207,6217,6227],{"type":4560,"tag":115,"props":6158,"children":6159},{},[6160,6165],{"type":4560,"tag":67,"props":6161,"children":6162},{},[6163],{"type":4564,"value":6164},"Wetab",{"type":4564,"value":6166},": a new-tab extension. Put your frequently used stuff in it, customize search engines, and sync across devices free with an account. I built a Google-based X search engine in it — way better than the built-in one.",{"type":4560,"tag":115,"props":6168,"children":6169},{},[6170,6175],{"type":4560,"tag":67,"props":6171,"children":6172},{},[6173],{"type":4564,"value":6174},"Video Speed Controller",{"type":4564,"value":6176},": fine-tune video speed, great for absorbing knowledge efficiently.",{"type":4560,"tag":115,"props":6178,"children":6179},{},[6180,6185],{"type":4560,"tag":67,"props":6181,"children":6182},{},[6183],{"type":4564,"value":6184},"XHunt",{"type":4564,"value":6186},": a must-have for X. See the leaderboard for each KOL and the hottest posts right now.",{"type":4560,"tag":115,"props":6188,"children":6189},{},[6190,6195],{"type":4560,"tag":67,"props":6191,"children":6192},{},[6193],{"type":4564,"value":6194},"X Mutual-Follow Radar",{"type":4564,"value":6196},": marks mutual follows and one-way follows on the page, and can show the following \u002F followers ratio.",{"type":4560,"tag":115,"props":6198,"children":6199},{},[6200,6205],{"type":4560,"tag":67,"props":6201,"children":6202},{},[6203],{"type":4564,"value":6204},"FireShot",{"type":4564,"value":6206},": capture webpage screenshots, edit, and save as PDF, JPEG, GIF, PNG, or BMP.",{"type":4560,"tag":115,"props":6208,"children":6209},{},[6210,6215],{"type":4560,"tag":67,"props":6211,"children":6212},{},[6213],{"type":4564,"value":6214},"Proton Pass",{"type":4564,"value":6216},": an elegantly designed password manager with multi-device sync.",{"type":4560,"tag":115,"props":6218,"children":6219},{},[6220,6225],{"type":4560,"tag":67,"props":6221,"children":6222},{},[6223],{"type":4564,"value":6224},"Immersive Translate",{"type":4564,"value":6226},": the veteran bilingual translation extension, wired up to the DeepSeek V4 Flash API.",{"type":4560,"tag":115,"props":6228,"children":6229},{},[6230,6234],{"type":4560,"tag":67,"props":6231,"children":6232},{},[6233],{"type":4564,"value":234},{"type":4564,"value":6235},": essential for connecting Codex to Chrome. With it you can automate anything in the browser — like writing an appeal email when your account gets banned.",{"data":6237,"body":6238},{},{"type":4557,"children":6239},[6240,6244,6249,6254,6259,6264],{"type":4560,"tag":33,"props":6241,"children":6242},{},[6243],{"type":4564,"value":4128},{"type":4560,"tag":33,"props":6245,"children":6246},{},[6247],{"type":4564,"value":6248},"Human attention is limited. Humans handle only the most critical slice of judgment.",{"type":4560,"tag":33,"props":6250,"children":6251},{},[6252],{"type":4564,"value":6253},"You have to spend your limited attention where it's worth something, and let AI take on more of the grunt work.",{"type":4560,"tag":33,"props":6255,"children":6256},{},[6257],{"type":4564,"value":6258},"That's the whole point of AI workflows.",{"type":4560,"tag":33,"props":6260,"children":6261},{},[6262],{"type":4564,"value":6263},"Let the AI workflow swallow all the grunt work; humans handle final judgment — the review or acceptance of the most valuable, most core, end-goal results.",{"type":4560,"tag":33,"props":6265,"children":6266},{},[6267],{"type":4564,"value":6268},"That's the state I want to reach. I've been casually researching these workflows lately too.",{"data":6270,"body":6271},{},{"type":4557,"children":6272},[6273,6277,6282,6287,6292,6297],{"type":4560,"tag":33,"props":6274,"children":6275},{},[6276],{"type":4564,"value":3983},{"type":4560,"tag":33,"props":6278,"children":6279},{},[6280],{"type":4564,"value":6281},"Register a free Cloudflare account, and once deployed you get 10G of file storage and 5G of data storage.",{"type":4560,"tag":33,"props":6283,"children":6284},{},[6285],{"type":4564,"value":6286},"Free forever — no cost for infrastructure, no cost for traffic, data backed up across regions, high availability built in from birth.",{"type":4560,"tag":33,"props":6288,"children":6289},{},[6290],{"type":4564,"value":6291},"Serving in the cloud 24\u002F7, fully compatible with the Memos ecosystem.",{"type":4560,"tag":33,"props":6293,"children":6294},{},[6295],{"type":4564,"value":6296},"Development progress at the time: got the core functionality up in a day, already fully usable.",{"type":4560,"tag":33,"props":6298,"children":6299},{},[6300],{"type":4564,"value":6301},"Going forward: more usage and deployment tutorials, engineering test cases, AI-agent techniques, and multi-platform support. Build in public.",{"data":6303,"body":6304},{},{"type":4557,"children":6305},[6306,6311,6316,6321,6326,6336],{"type":4560,"tag":33,"props":6307,"children":6308},{},[6309],{"type":4564,"value":6310},"I moved my circumvention subscription aggregation to Cloudflare.",{"type":4560,"tag":33,"props":6312,"children":6313},{},[6314],{"type":4564,"value":6315},"Open-sourced a subscription-link aggregation project that deploys completely free on Cloudflare.",{"type":4560,"tag":33,"props":6317,"children":6318},{},[6319],{"type":4564,"value":6320},"It folds all your circumvention subscription links and self-built nodes into one link, with routing rules attached.",{"type":4560,"tag":33,"props":6322,"children":6323},{},[6324],{"type":4564,"value":6325},"Truly one link — usable in every client, no per-client configuration.",{"type":4560,"tag":33,"props":6327,"children":6328},{},[6329,6331],{"type":4564,"value":6330},"GitHub: ",{"type":4560,"tag":37,"props":6332,"children":6334},{"href":2460,"rel":6333},[41],[6335],{"type":4564,"value":2460},{"type":4560,"tag":33,"props":6337,"children":6338},{},[6339,6341],{"type":4564,"value":6340},"Full post: ",{"type":4560,"tag":37,"props":6342,"children":6343},{"href":2563},[6344],{"type":4564,"value":6345},"I moved my airport subscription aggregation to Cloudflare",{"data":6347,"body":6348},{},{"type":4557,"children":6349},[6350,6355],{"type":4560,"tag":33,"props":6351,"children":6352},{},[6353],{"type":4564,"value":6354},"Clash Party for circumvention",{"type":4560,"tag":112,"props":6356,"children":6357},{},[6358],{"type":4560,"tag":115,"props":6359,"children":6360},{},[6361,6363,6369,6371],{"type":4564,"value":6362},"Substore deployed on Cloudflare\none subscription link handles multi-provider aggregation and rule-based routing\nfeels so good (that second tone)!\nAlso plugging Clash Party as a client — it's very elegant.\nMy sub-store-cloudflare open-source repo:\n",{"type":4560,"tag":37,"props":6364,"children":6367},{"href":6365,"rel":6366},"https:\u002F\u002Ft.co\u002Fu8zhrOSrAw",[41],[6368],{"type":4564,"value":6365},{"type":4564,"value":6370}," ",{"type":4560,"tag":37,"props":6372,"children":6375},{"href":6373,"rel":6374},"https:\u002F\u002Ft.co\u002FZzc3IXKsLI",[41],[6376],{"type":4564,"value":6373},{"data":6378,"body":6379},{},{"type":4557,"children":6380},[6381,6385,6390,6395,6418],{"type":4560,"tag":33,"props":6382,"children":6383},{},[6384],{"type":4564,"value":4432},{"type":4560,"tag":33,"props":6386,"children":6387},{},[6388],{"type":4564,"value":6389},"Merged my self-built nodes and the airport's backup nodes into one, and paired it with ACL4SSR routing rules on auto-subscribe.",{"type":4560,"tag":33,"props":6391,"children":6392},{},[6393],{"type":4564,"value":6394},"Done with a single subscription link:",{"type":4560,"tag":112,"props":6396,"children":6397},{},[6398,6403,6408,6413],{"type":4560,"tag":115,"props":6399,"children":6400},{},[6401],{"type":4564,"value":6402},"Merging nodes from multiple providers",{"type":4560,"tag":115,"props":6404,"children":6405},{},[6406],{"type":4564,"value":6407},"Node filtering",{"type":4560,"tag":115,"props":6409,"children":6410},{},[6411],{"type":4564,"value":6412},"Routing rule configuration",{"type":4560,"tag":115,"props":6414,"children":6415},{},[6416],{"type":4564,"value":6417},"Automatic config updates",{"type":4560,"tag":33,"props":6419,"children":6420},{},[6421],{"type":4564,"value":6422},"Smoother than smooth.",{"data":6424,"body":6425},{},{"type":4557,"children":6426},[6427,6432],{"type":4560,"tag":33,"props":6428,"children":6429},{},[6430],{"type":4564,"value":6431},"Lately I've been thinking about a plan.\nMoving my personal knowledge management, information collection, and knowledge output entirely onto Cloudflare.\nA free account already comes with 10G of object storage and 5G of database.",{"type":4560,"tag":33,"props":6433,"children":6434},{},[6435],{"type":4564,"value":6436},"That's basically a self-hosted, cloud-based, permanently free knowledge management system.",{"data":6438,"body":6439},{},{"type":4557,"children":6440},[6441,6445,6450,6455,6460,6465,6470,6475,6480,6485],{"type":4560,"tag":33,"props":6442,"children":6443},{},[6444],{"type":4564,"value":3756},{"type":4560,"tag":33,"props":6446,"children":6447},{},[6448],{"type":4564,"value":6449},"I used GPT 5.5 and Gemini 3.1 Pro, brainstorming with both models over and over — two or three days, and still no good name.",{"type":4560,"tag":33,"props":6451,"children":6452},{},[6453],{"type":4564,"value":6454},"Why? Because these models have no creativity. Every name option they gave me was just piles of fancy words and character combinations.",{"type":4560,"tag":33,"props":6456,"children":6457},{},[6458],{"type":4564,"value":6459},"You throw out your own idea, and they roll the same circular talk back at you, round and round, until my blood pressure spiked.",{"type":4560,"tag":33,"props":6461,"children":6462},{},[6463],{"type":4564,"value":6464},"There's another big problem: once you finally land on a few names you're happy with, you open Qichacha and — damn — they're either registered already or eerily similar to something existing.",{"type":4560,"tag":33,"props":6466,"children":6467},{},[6468],{"type":4564,"value":6469},"Here I can recommend Alibaba's 88 Cha, like a free Qichacha — use it to check for name clashes.",{"type":4560,"tag":33,"props":6471,"children":6472},{},[6473],{"type":4564,"value":6474},"If you don't want to keep repeating existing names, go with a four-character name, and keep your thinking broad.",{"type":4560,"tag":33,"props":6476,"children":6477},{},[6478],{"type":4564,"value":6479},"Above all, switch between several models — several different brains.",{"type":4560,"tag":33,"props":6481,"children":6482},{},[6483],{"type":4564,"value":6484},"Feed the AI some names you consider great as references, like DeepSeek (深度求索) or ByteDance (字节跳动).",{"type":4560,"tag":33,"props":6486,"children":6487},{},[6488],{"type":4564,"value":6489},"Let the AI study the names you think are good. Only by borrowing from the best of many can a truly great name emerge.",{"data":6491,"body":6492},{},{"type":4557,"children":6493},[6494,6499,6504,6509,6514,6519,6524],{"type":4560,"tag":33,"props":6495,"children":6496},{},[6497],{"type":4564,"value":6498},"Looking for a tool that lets you \"jot things down casually and slowly grow them into knowledge.\"",{"type":4560,"tag":33,"props":6500,"children":6501},{},[6502],{"type":4564,"value":6503},"I want Flomo's out-of-the-box, zero-friction inspiration capture;",{"type":4560,"tag":33,"props":6505,"children":6506},{},[6507],{"type":4564,"value":6508},"I want Memos' mature open-source ecosystem, portable data, and an API you can actually play with;",{"type":4560,"tag":33,"props":6510,"children":6511},{},[6512],{"type":4564,"value":6513},"But I don't want to spin up another VPS and babysit Docker, Postgres, and a Node process that runs forever.",{"type":4560,"tag":33,"props":6515,"children":6516},{},[6517],{"type":4564,"value":6518},"So what to do? FlareMo's approach: treat Memos' data model and API as the \"spec,\" and rebuild the whole runtime on Cloudflare:",{"type":4560,"tag":33,"props":6520,"children":6521},{},[6522],{"type":4564,"value":6523},"Workers run the API, D1 stores notes, R2 holds attachments, Queues\u002FCron handle background jobs, and Vectorize + Workers AI are saved for future semantic search and AI workflows.",{"type":4560,"tag":33,"props":6525,"children":6526},{},[6527],{"type":4564,"value":6528},"Standing on Memos' shoulders to build a personal knowledge base that lives on the edge cloud.",{"data":6530,"body":6531},{},{"type":4557,"children":6532},[6533,6537,6542],{"type":4560,"tag":33,"props":6534,"children":6535},{},[6536],{"type":4564,"value":3586},{"type":4560,"tag":33,"props":6538,"children":6539},{},[6540],{"type":4564,"value":6541},"Because the code I was writing was still in the debugging stage, the stop command never took effect.",{"type":4560,"tag":33,"props":6543,"children":6544},{},[6545],{"type":4564,"value":6546},"So one Container ran continuously for 7 days and cost me $4.",{"data":6548,"body":6549},{},{"type":4557,"children":6550},[6551,6556,6575,6580,6585,6590],{"type":4560,"tag":33,"props":6552,"children":6553},{},[6554],{"type":4564,"value":6555},"The name for the Eastern-Western mythology compendium is set — God-Museum · Museum of the Gods:",{"type":4560,"tag":33,"props":6557,"children":6558},{},[6559,6561,6566,6568,6573],{"type":4564,"value":6560},"Cram the ",{"type":4560,"tag":1746,"props":6562,"children":6563},{},[6564],{"type":4564,"value":6565},"Classic of Mountains and Seas",{"type":4564,"value":6567},", ",{"type":4560,"tag":1746,"props":6569,"children":6570},{},[6571],{"type":4564,"value":6572},"Journey to the West",{"type":4564,"value":6574},", ancient Greek, Norse, and ancient Egyptian pantheons — these sets of stories that never touched — into one universe, and make them not collide.",{"type":4560,"tag":33,"props":6576,"children":6577},{},[6578],{"type":4564,"value":6579},"The same law of thunder is called Zeus in Greece and Leizhenzi in the East;",{"type":4560,"tag":33,"props":6581,"children":6582},{},[6583],{"type":4564,"value":6584},"the same great flood is remembered in the East as Nüwa mending the sky, and by the Hebrews as Noah's Ark.",{"type":4560,"tag":33,"props":6586,"children":6587},{},[6588],{"type":4564,"value":6589},"If you keep chasing that thread seriously, the whole mythological world has to be rearranged.",{"type":4560,"tag":33,"props":6591,"children":6592},{},[6593,6595],{"type":4564,"value":6594},"Try it online: ",{"type":4560,"tag":37,"props":6596,"children":6599},{"href":6597,"rel":6598},"https:\u002F\u002Fchendahuang.com\u002Fgod-museum\u002F",[41],[6600],{"type":4564,"value":6597},{"data":6602,"body":6603},{},{"type":4557,"children":6604},[6605,6609,6614,6619],{"type":4560,"tag":33,"props":6606,"children":6607},{},[6608],{"type":4564,"value":3513},{"type":4560,"tag":33,"props":6610,"children":6611},{},[6612],{"type":4564,"value":6613},"A big one: the part that traditional software can't record — in other words, unstructured background data.",{"type":4560,"tag":33,"props":6615,"children":6616},{},[6617],{"type":4564,"value":6618},"For example, a truly AI-native CRM, when logging a discount given to a client, can also log why this discount was given instead of another, why the other options were rejected, and who talked whom into it.",{"type":4560,"tag":33,"props":6620,"children":6621},{},[6622],{"type":4564,"value":6623},"Traditional software has a huge amount of hidden information like this that it simply can't record. The AI era, with its ability to understand text and video, can pull this hidden, highly redundant information out into structured data for analysis.",{"data":6625,"body":6626},{},{"type":4557,"children":6627},[6628],{"type":4560,"tag":33,"props":6629,"children":6630},{},[6631,6633],{"type":4564,"value":6632},"Day one moving into the OPC community\nFrom now on, this workstation is mine\nNice! ",{"type":4560,"tag":37,"props":6634,"children":6637},{"href":6635,"rel":6636},"https:\u002F\u002Ft.co\u002F3rSQcZ760R",[41],[6638],{"type":4564,"value":6635},{"data":6640,"body":6641},{},{"type":4557,"children":6642},[6643,6648,6653,6658,6663,6668,6673,6678,6683,6688,6693,6698,6703,6708],{"type":4560,"tag":33,"props":6644,"children":6645},{},[6646],{"type":4564,"value":6647},"Today's my first day officially moving into the OPC office. Let me walk through how I started an OPC.",{"type":4560,"tag":33,"props":6649,"children":6650},{},[6651],{"type":4564,"value":6652},"My original motive was simple: have a compliant entity to receive payments and publish products. So I went online looking for company registration info.",{"type":4560,"tag":33,"props":6654,"children":6655},{},[6656],{"type":4564,"value":6657},"I wasn't picky about the city: Nanjing, Suzhou, Hangzhou, Ningbo — any developed coastal city was a candidate.",{"type":4560,"tag":33,"props":6659,"children":6660},{},[6661],{"type":4564,"value":6662},"By coincidence, I was in Nanjing for work one day, and while idly scrolling through Nanjing-related WeChat accounts, I found the phone number of an OPC community contact. So I added them.",{"type":4560,"tag":33,"props":6664,"children":6665},{},[6666],{"type":4564,"value":6667},"After a quick introduction of my project, the person in charge said OK and arranged a site visit the same afternoon.",{"type":4560,"tag":33,"props":6669,"children":6670},{},[6671],{"type":4564,"value":6672},"Their ask: work on-site three days a week. If I could accept that, they'd let me register the company here.",{"type":4560,"tag":33,"props":6674,"children":6675},{},[6676],{"type":4564,"value":6677},"Since this is under Nanjing's state-owned assets, the policy terms are outstanding — water, electricity, internet, and property fees all free, theoretically for three years. They even assigned a bookkeeping accountant to register the company for me, carve my company seal, get the business license, and set up the bank account. So touching it's almost absurd.",{"type":4560,"tag":33,"props":6679,"children":6680},{},[6681],{"type":4564,"value":6682},"After two or three weeks of the registration process, I finally got all the paperwork.",{"type":4560,"tag":33,"props":6684,"children":6685},{},[6686],{"type":4564,"value":6687},"The park manager told me to pick out a workstation. My bar for a workstation is low — just a seat, a stool, and power.",{"type":4560,"tag":33,"props":6689,"children":6690},{},[6691],{"type":4564,"value":6692},"Then they had me fill out three project application forms, mainly covering my project's strengths, the team's profile, and the AI-related edge. If the applications are solid and credible, there's a shot at a 50,000–100,000 yuan policy subsidy.",{"type":4560,"tag":33,"props":6694,"children":6695},{},[6696],{"type":4564,"value":6697},"Nanjing has genuinely handled this well. Everyone should check whether their own city has similar policies, or whether their provincial capital offers anything better.",{"type":4560,"tag":33,"props":6699,"children":6700},{},[6701],{"type":4564,"value":6702},"Good policies don't wait around — you have to go ask. By the time I arrived today, this park already had plenty of companies moved in; I'm actually on the late side.",{"type":4560,"tag":33,"props":6704,"children":6705},{},[6706],{"type":4564,"value":6707},"That's all for today. I'll keep sharing my startup journey and the retrospectives along the way.",{"type":4560,"tag":33,"props":6709,"children":6710},{},[6711],{"type":4564,"value":6712},"Thanks for the care, everyone.",{"data":6714,"body":6715},{},{"type":4557,"children":6716},[6717,6721,6726,6731,6736,6741],{"type":4560,"tag":33,"props":6718,"children":6719},{},[6720],{"type":4564,"value":3695},{"type":4560,"tag":33,"props":6722,"children":6723},{},[6724],{"type":4564,"value":6725},"Code is the leverage of us ordinary people.",{"type":4560,"tag":33,"props":6727,"children":6728},{},[6729],{"type":4564,"value":6730},"Codex is the leverage of leverage.",{"type":4560,"tag":33,"props":6732,"children":6733},{},[6734],{"type":4564,"value":6735},"Pull Codex out, and it's like pulling the firewood out from under the pot — the whole thing collapses.",{"type":4560,"tag":33,"props":6737,"children":6738},{},[6739],{"type":4564,"value":6740},"As they say: when the foundation isn't solid, the mountains shake and the ground trembles.",{"type":4560,"tag":33,"props":6742,"children":6743},{},[6744],{"type":4564,"value":6745},"Come on, domestic AIs — get your act together!",{"data":6747,"body":6748},{},{"type":4557,"children":6749},[6750],{"type":4560,"tag":33,"props":6751,"children":6752},{},[6753],{"type":4564,"value":6754},"Lots of people use AI to write Cloudflare projects, and when it blows up, it's not about syntax.\nThe real problems:\nAI writing Workers like they're Node.js\ntreating Bindings like process.env\nforgetting await\nstashing request state in globals\nnot knowing static asset requests are free\nand calling its own R2 from inside a Worker over the REST API\nI've collected all these pitfalls in the Cloudflare Playbook.\nAnd by the way, I also worked on",{"data":6756,"body":6757},{},{"type":4557,"children":6758},[6759,6764,6769],{"type":4560,"tag":33,"props":6760,"children":6761},{},[6762],{"type":4564,"value":6763},"For indie developers with no idea what product to build,",{"type":4560,"tag":33,"props":6765,"children":6766},{},[6767],{"type":4564,"value":6768},"start by satisfying your own needs.",{"type":4560,"tag":33,"props":6770,"children":6771},{},[6772],{"type":4564,"value":6773},"Chances are there are users on the same wavelength as you.",{"data":6775,"body":6776},{},{"type":4557,"children":6777},[6778,6783,6791,6796,6801,6814,6819,6824],{"type":4560,"tag":33,"props":6779,"children":6780},{},[6781],{"type":4564,"value":6782},"I made a somewhat ridiculous Skill:",{"type":4560,"tag":33,"props":6784,"children":6785},{},[6786],{"type":4560,"tag":67,"props":6787,"children":6788},{},[6789],{"type":4564,"value":6790},"Dahuang AI Tone",{"type":4560,"tag":33,"props":6792,"children":6793},{},[6794],{"type":4564,"value":6795},"Everyone talks about \"removing the AI flavor.\" But what exactly is the AI flavor?",{"type":4560,"tag":33,"props":6797,"children":6798},{},[6799],{"type":4564,"value":6800},"It does two things:",{"type":4560,"tag":112,"props":6802,"children":6803},{},[6804,6809],{"type":4560,"tag":115,"props":6805,"children":6806},{},[6807],{"type":4564,"value":6808},"Rewrite a piece of normal text into the AI flavor of a specified model",{"type":4560,"tag":115,"props":6810,"children":6811},{},[6812],{"type":4564,"value":6813},"Or the reverse: point out where a piece of text smells like AI, and which model's tone it resembles",{"type":4560,"tag":33,"props":6815,"children":6816},{},[6817],{"type":4564,"value":6818},"Its value:",{"type":4560,"tag":33,"props":6820,"children":6821},{},[6822],{"type":4564,"value":6823},"You have to smell the AI flavor before you know how to strip it off.",{"type":4560,"tag":33,"props":6825,"children":6826},{},[6827,6828],{"type":4564,"value":6330},{"type":4560,"tag":37,"props":6829,"children":6832},{"href":6830,"rel":6831},"https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fdahuang-ai-tone",[41],[6833],{"type":4564,"value":6830},{"data":6835,"body":6836},{},{"type":4557,"children":6837},[6838,6842,6847,6857,6862,6867,6872,6876,6881,6886,6891,6896,6901,6906,6911],{"type":4560,"tag":33,"props":6839,"children":6840},{},[6841],{"type":4564,"value":4150},{"type":4560,"tag":33,"props":6843,"children":6844},{},[6845],{"type":4564,"value":6846},"In 2026, if an indie developer wants to build an app, the best practice is:",{"type":4560,"tag":33,"props":6848,"children":6849},{},[6850,6855],{"type":4560,"tag":67,"props":6851,"children":6852},{},[6853],{"type":4564,"value":6854},"Do Web + PWA first at the MVP stage.",{"type":4564,"value":6856}," Fast to develop, fast to debug, fast to iterate.",{"type":4560,"tag":33,"props":6858,"children":6859},{},[6860],{"type":4564,"value":6861},"Web stack:",{"type":4560,"tag":33,"props":6863,"children":6864},{},[6865],{"type":4564,"value":6866},"React + TanStack Start + Vite + TypeScript + shadcn\u002Fui + Base UI + Tailwind CSS + better-auth + Vercel AI SDK + oxfmt \u002F oxlint",{"type":4560,"tag":33,"props":6868,"children":6869},{},[6870],{"type":4564,"value":6871},"Unified backend:",{"type":4560,"tag":33,"props":6873,"children":6874},{},[6875],{"type":4564,"value":277},{"type":4560,"tag":33,"props":6877,"children":6878},{},[6879],{"type":4564,"value":6880},"Web debugging:",{"type":4560,"tag":33,"props":6882,"children":6883},{},[6884],{"type":4564,"value":6885},"Chrome DevTools MCP + Codex Chrome extension",{"type":4560,"tag":33,"props":6887,"children":6888},{},[6889],{"type":4564,"value":6890},"Once the product genuinely runs, then do mobile.",{"type":4560,"tag":33,"props":6892,"children":6893},{},[6894],{"type":4564,"value":6895},"Mobile stack:",{"type":4560,"tag":33,"props":6897,"children":6898},{},[6899],{"type":4564,"value":6900},"React Native + Expo + Expo Router + NativeWind + React Native Reusables + Reanimated + Gesture Handler + EAS Build \u002F Submit \u002F Update",{"type":4560,"tag":33,"props":6902,"children":6903},{},[6904],{"type":4564,"value":6905},"The core idea is simple:",{"type":4560,"tag":33,"props":6907,"children":6908},{},[6909],{"type":4564,"value":6910},"Validate the demand with Web + PWA first.",{"type":4560,"tag":33,"props":6912,"children":6913},{},[6914],{"type":4564,"value":6915},"Once you really have users, bring out React Native + Expo for the real app.",{"data":6917,"body":6918},{},{"type":4557,"children":6919},[6920,6925,6930,6935,6940,6948,6953,6958,6963],{"type":4560,"tag":33,"props":6921,"children":6922},{},[6923],{"type":4564,"value":6924},"I spent a whole day properly researching \"removing the AI flavor from articles.\"",{"type":4560,"tag":33,"props":6926,"children":6927},{},[6928],{"type":4564,"value":6929},"Compared the mainstream Humanizers, the de-AI-flavor Skills, and the prompt-based approaches out there.",{"type":4560,"tag":33,"props":6931,"children":6932},{},[6933],{"type":4564,"value":6934},"Then factored in my own experience from using LLMs since 2023 — tormented day after day by the AI flavors of GPT, Claude, Gemini, and Doubao.",{"type":4560,"tag":33,"props":6936,"children":6937},{},[6938],{"type":4564,"value":6939},"And made this:",{"type":4560,"tag":33,"props":6941,"children":6942},{},[6943],{"type":4560,"tag":67,"props":6944,"children":6945},{},[6946],{"type":4564,"value":6947},"Dahuang Human Tone",{"type":4560,"tag":33,"props":6949,"children":6950},{},[6951],{"type":4564,"value":6952},"A de-AI-flavor Skill built for the Chinese context.",{"type":4560,"tag":33,"props":6954,"children":6955},{},[6956],{"type":4564,"value":6957},"My wish:",{"type":4560,"tag":33,"props":6959,"children":6960},{},[6961],{"type":4564,"value":6962},"No AI essay should be a pain to read.",{"type":4560,"tag":33,"props":6964,"children":6965},{},[6966,6967],{"type":4564,"value":6330},{"type":4560,"tag":37,"props":6968,"children":6971},{"href":6969,"rel":6970},"https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fdahuang-human-tone",[41],[6972],{"type":4564,"value":6969},{"data":6974,"body":6975},{},{"type":4557,"children":6976},[6977,6982,6986,6991,7029,7034,7039],{"type":4560,"tag":33,"props":6978,"children":6979},{},[6980],{"type":4564,"value":6981},"I made a Cloudflare Playbook.",{"type":4560,"tag":33,"props":6983,"children":6984},{},[6985],{"type":4564,"value":3659},{"type":4560,"tag":33,"props":6987,"children":6988},{},[6989],{"type":4564,"value":6990},"It covers:",{"type":4560,"tag":112,"props":6992,"children":6993},{},[6994,6999,7004,7009,7014,7019,7024],{"type":4560,"tag":115,"props":6995,"children":6996},{},[6997],{"type":4564,"value":6998},"How to pick among Cloudflare's common services",{"type":4560,"tag":115,"props":7000,"children":7001},{},[7002],{"type":4564,"value":7003},"How to use Workers \u002F Pages \u002F D1 \u002F R2 \u002F KV \u002F AI Gateway",{"type":4560,"tag":115,"props":7005,"children":7006},{},[7007],{"type":4564,"value":7008},"Whether the free tier is actually enough",{"type":4560,"tag":115,"props":7010,"children":7011},{},[7012],{"type":4564,"value":7013},"When to buy the $5 Workers Paid",{"type":4560,"tag":115,"props":7015,"children":7016},{},[7017],{"type":4564,"value":7018},"The pitfalls where AI-written CF code blows up most often",{"type":4560,"tag":115,"props":7020,"children":7021},{},[7022],{"type":4564,"value":7023},"How to set up Cloudflare Skills and MCP for Codex \u002F Claude Code",{"type":4560,"tag":115,"props":7025,"children":7026},{},[7027],{"type":4564,"value":7028},"Which open-source projects you can reference directly",{"type":4560,"tag":33,"props":7030,"children":7031},{},[7032],{"type":4564,"value":7033},"My goal is simple:",{"type":4560,"tag":33,"props":7035,"children":7036},{},[7037],{"type":4564,"value":7038},"Write code with AI, deploy globally with Cloudflare.",{"type":4560,"tag":33,"props":7040,"children":7041},{},[7042,7044],{"type":4564,"value":7043},"Playbook: ",{"type":4560,"tag":37,"props":7045,"children":7047},{"href":7046},"\u002Fplaybooks",[7048],{"type":4564,"value":7049},"chendahuang.com\u002Fplaybooks",{"data":7051,"body":7052},{},{"type":4557,"children":7053},[7054,7058,7063,7068,7086,7091],{"type":4560,"tag":33,"props":7055,"children":7056},{},[7057],{"type":4564,"value":4092},{"type":4560,"tag":33,"props":7059,"children":7060},{},[7061],{"type":4564,"value":7062},"The core is one word: altruism.",{"type":4560,"tag":33,"props":7064,"children":7065},{},[7066],{"type":4564,"value":7067},"I mainly shared two kinds of practical content:",{"type":4560,"tag":112,"props":7069,"children":7070},{},[7071,7076,7081],{"type":4560,"tag":115,"props":7072,"children":7073},{},[7074],{"type":4564,"value":7075},"A macOS heavy-usage software list (48k reads)",{"type":4560,"tag":115,"props":7077,"children":7078},{},[7079],{"type":4564,"value":7080},"A Cloudflare free-tier table + Playbook (decent numbers on X; some guy even scraped and rewrote it onto Zhihu, pulling several hundred bookmarks)",{"type":4560,"tag":115,"props":7082,"children":7083},{},[7084],{"type":4564,"value":7085},"Plus OPC one-person-company resource recommendations (38k reads)",{"type":4560,"tag":33,"props":7087,"children":7088},{},[7089],{"type":4564,"value":7090},"I wasn't thinking about how to grow followers — I just organized what I'd figured out and gave it away free. And growth came faster for it.",{"type":4560,"tag":33,"props":7092,"children":7093},{},[7094],{"type":4564,"value":7095},"I'll keep putting out this kind of practical content. Thanks everyone for the support.",{"data":7097,"body":7098},{},{"type":4557,"children":7099},[7100,7105,7110,7114,7147],{"type":4560,"tag":33,"props":7101,"children":7102},{},[7103],{"type":4564,"value":7104},"I made a macOS Playbook.",{"type":4560,"tag":33,"props":7106,"children":7107},{},[7108],{"type":4564,"value":7109},"For people who just bought a Mac, just switched from Windows, or have always felt their Mac never quite clicked.",{"type":4560,"tag":33,"props":7111,"children":7112},{},[7113],{"type":4564,"value":6990},{"type":4560,"tag":112,"props":7115,"children":7116},{},[7117,7122,7127,7132,7137,7142],{"type":4560,"tag":115,"props":7118,"children":7119},{},[7120],{"type":4564,"value":7121},"What to install first after getting a Mac",{"type":4560,"tag":115,"props":7123,"children":7124},{},[7125],{"type":4564,"value":7126},"How Windows users adapt to macOS",{"type":4560,"tag":115,"props":7128,"children":7129},{},[7130],{"type":4564,"value":7131},"How to choose tools like Rectangle \u002F AltTab \u002F Homebrew",{"type":4560,"tag":115,"props":7133,"children":7134},{},[7135],{"type":4564,"value":7136},"How to work across devices",{"type":4560,"tag":115,"props":7138,"children":7139},{},[7140],{"type":4564,"value":7141},"How to set up the terminal, Git, SSH, and AI coding environment",{"type":4560,"tag":115,"props":7143,"children":7144},{},[7145],{"type":4564,"value":7146},"How to handle system maintenance, troubleshooting, secure backup, and device migration",{"type":4560,"tag":33,"props":7148,"children":7149},{},[7150,7151],{"type":4564,"value":7043},{"type":4560,"tag":37,"props":7152,"children":7153},{"href":7046},[7154],{"type":4564,"value":7049},{"data":7156,"body":7157},{},{"type":4557,"children":7158},[7159,7163],{"type":4560,"tag":33,"props":7160,"children":7161},{},[7162],{"type":4564,"value":4203},{"type":4560,"tag":112,"props":7164,"children":7165},{},[7166,7176,7186,7196],{"type":4560,"tag":115,"props":7167,"children":7168},{},[7169,7174],{"type":4560,"tag":67,"props":7170,"children":7171},{},[7172],{"type":4564,"value":7173},"Colima",{"type":4564,"value":7175},": free and open source, very lightweight, but basically command-line only. For people who don't mind tinkering and live in the terminal.",{"type":4560,"tag":115,"props":7177,"children":7178},{},[7179,7184],{"type":4560,"tag":67,"props":7180,"children":7181},{},[7182],{"type":4564,"value":7183},"Apple Container",{"type":4564,"value":7185},": Apple's new container direction — worth watching, but the ecosystem is still at a very early stage. Even Docker Compose isn't supported yet.",{"type":4560,"tag":115,"props":7187,"children":7188},{},[7189,7194],{"type":4560,"tag":67,"props":7190,"children":7191},{},[7192],{"type":4564,"value":7193},"OrbStack",{"type":4564,"value":7195},": has a GUI, light and fast, with solid ecosystem support. Downside: not open source — the commercial version needs a license, but the personal one is free.",{"type":4560,"tag":115,"props":7197,"children":7198},{},[7199,7204],{"type":4560,"tag":67,"props":7200,"children":7201},{},[7202],{"type":4564,"value":7203},"Docker Desktop",{"type":4564,"value":7205},": the official product, yet heavy and bloated, with a lousy experience. On a Mac, avoid it if you can.",{"data":7207,"body":7208},{},{"type":4557,"children":7209},[7210,7215,7220,7225,7230,7234,7239,7248,7253],{"type":4560,"tag":33,"props":7211,"children":7212},{},[7213],{"type":4564,"value":7214},"I'm declaring it:",{"type":4560,"tag":33,"props":7216,"children":7217},{},[7218],{"type":4564,"value":7219},"Cloudflare is a true AI-native company.",{"type":4560,"tag":33,"props":7221,"children":7222},{},[7223],{"type":4564,"value":7224},"It's genuinely rebuilding the developer experience around AI agents.",{"type":4560,"tag":33,"props":7226,"children":7227},{},[7228],{"type":4564,"value":7229},"The just-released Temporary Accounts let an AI agent write code, deploy directly, get a temporary URL, test itself, and iterate itself.",{"type":4560,"tag":33,"props":7231,"children":7232},{},[7233],{"type":4564,"value":6422},{"type":4560,"tag":33,"props":7235,"children":7236},{},[7237],{"type":4564,"value":7238},"Pair it with Cloudflare's official Skills, one command to install:",{"type":4560,"tag":33,"props":7240,"children":7241},{},[7242],{"type":4560,"tag":460,"props":7243,"children":7245},{"className":7244},[],[7246],{"type":4564,"value":7247},"npx skills add cloudflare\u002Fskills",{"type":4560,"tag":33,"props":7249,"children":7250},{},[7251],{"type":4564,"value":7252},"What does AI-native even mean?",{"type":4560,"tag":33,"props":7254,"children":7255},{},[7256],{"type":4564,"value":7257},"THIS is the GOAT of AI-native.",{"data":7259,"body":7260},{},{"type":4557,"children":7261},[7262,7266,7271],{"type":4560,"tag":33,"props":7263,"children":7264},{},[7265],{"type":4564,"value":4249},{"type":4560,"tag":33,"props":7267,"children":7268},{},[7269],{"type":4564,"value":7270},"While digging through research materials I stumbled on some treasure sites — sharing them with everyone:",{"type":4560,"tag":33,"props":7272,"children":7273},{},[7274],{"type":4560,"tag":37,"props":7275,"children":7278},{"href":7276,"rel":7277},"https:\u002F\u002Fwww.opcquan.com\u002Fcommunities",[41],[7279],{"type":4564,"value":7276},{"data":7281,"body":7282},{},{"type":4557,"children":7283},[7284,7288],{"type":4560,"tag":33,"props":7285,"children":7286},{},[7287],{"type":4564,"value":4214},{"type":4560,"tag":112,"props":7289,"children":7290},{},[7291,7301,7311,7321,7331,7341,7351,7361,7371,7381,7391,7401],{"type":4560,"tag":115,"props":7292,"children":7293},{},[7294,7299],{"type":4560,"tag":67,"props":7295,"children":7296},{},[7297],{"type":4564,"value":7298},"QuickRecorder",{"type":4564,"value":7300},": a screen-recording gem — tiny, yet powerful.",{"type":4560,"tag":115,"props":7302,"children":7303},{},[7304,7309],{"type":4560,"tag":67,"props":7305,"children":7306},{},[7307],{"type":4564,"value":7308},"ClashParty",{"type":4564,"value":7310},": circumvention with the Mihomo core — lots of protocols, fast updates, and a good-looking interface.",{"type":4560,"tag":115,"props":7312,"children":7313},{},[7314,7319],{"type":4560,"tag":67,"props":7315,"children":7316},{},[7317],{"type":4564,"value":7318},"V2rayN",{"type":4564,"value":7320},": circumvention with lots of protocols; the UI is a bit dated, but it's stable and free.",{"type":4560,"tag":115,"props":7322,"children":7323},{},[7324,7329],{"type":4560,"tag":67,"props":7325,"children":7326},{},[7327],{"type":4564,"value":7328},"Doubao keyboard",{"type":4564,"value":7330},": voice input accurate to a scary degree. Supports macOS, iOS, Android; Windows is on the way.",{"type":4560,"tag":115,"props":7332,"children":7333},{},[7334,7339],{"type":4560,"tag":67,"props":7335,"children":7336},{},[7337],{"type":4564,"value":7338},"Brave",{"type":4564,"value":7340},": a privacy-first browser with built-in ad filtering — cleaner than extension-based filtering, and the best companion for watching YouTube.",{"type":4560,"tag":115,"props":7342,"children":7343},{},[7344,7349],{"type":4560,"tag":67,"props":7345,"children":7346},{},[7347],{"type":4564,"value":7348},"Mos",{"type":4564,"value":7350},": makes your mouse wheel scroll silky smooth.",{"type":4560,"tag":115,"props":7352,"children":7353},{},[7354,7359],{"type":4560,"tag":67,"props":7355,"children":7356},{},[7357],{"type":4564,"value":7358},"Amphetamine",{"type":4564,"value":7360},": keeps your laptop awake with the lid closed — the best companion for vibe coding.",{"type":4560,"tag":115,"props":7362,"children":7363},{},[7364,7369],{"type":4560,"tag":67,"props":7365,"children":7366},{},[7367],{"type":4564,"value":7368},"UU Remote",{"type":4564,"value":7370},": NetEase's remote desktop tool, free and fast. With it, what caps the image quality is never the membership — it's your network speed. I usually use it to remote into my Mac from my phone to check vibe-coding results; the key mapping is absurdly efficient.",{"type":4560,"tag":115,"props":7372,"children":7373},{},[7374,7379],{"type":4560,"tag":67,"props":7375,"children":7376},{},[7377],{"type":4564,"value":7378},"Tencent Lemon",{"type":4564,"value":7380},": Tencent's Mac junk cleaner — uninstalling apps is smooth, and the menu-bar icon is handy.",{"type":4560,"tag":115,"props":7382,"children":7383},{},[7384,7389],{"type":4560,"tag":67,"props":7385,"children":7386},{},[7387],{"type":4564,"value":7388},"Mole",{"type":4564,"value":7390},": the strongest Mac junk cleaner out there — terminal version free, UI version paid.",{"type":4560,"tag":115,"props":7392,"children":7393},{},[7394,7399],{"type":4560,"tag":67,"props":7395,"children":7396},{},[7397],{"type":4564,"value":7398},"Tailscale",{"type":4564,"value":7400},": WireGuard-based remote networking. With it, you can reach your little home computer from the ends of the earth.",{"type":4560,"tag":115,"props":7402,"children":7403},{},[7404,7409],{"type":4560,"tag":67,"props":7405,"children":7406},{},[7407],{"type":4564,"value":7408},"Obsidian",{"type":4564,"value":7410},": in the AI era, the local-first knowledge management tool. The ecosystem is just too good — pair it with the official Web Clipper browser extension and it works wonders.",{"data":7412,"body":7413},{},{"type":4557,"children":7414},[7415],{"type":4560,"tag":33,"props":7416,"children":7417},{},[7418,7420,7426,7427],{"type":4564,"value":7419},"How much of Cloudflare can you actually freeload on a free account?\nAnd what pitfalls and best practices are there when using Cloudflare?\nI spent a full three days digging hard into these questions.\nThe answers are systematically organized in the repo below.\nI'll keep updating this repo:\n",{"type":4560,"tag":37,"props":7421,"children":7424},{"href":7422,"rel":7423},"https:\u002F\u002Ft.co\u002FgDuCwIdWHi",[41],[7425],{"type":4564,"value":7422},{"type":4564,"value":6370},{"type":4560,"tag":37,"props":7428,"children":7431},{"href":7429,"rel":7430},"https:\u002F\u002Ft.co\u002FWZqEZLH9pE",[41],[7432],{"type":4564,"value":7429},{"data":7434,"body":7435},{},{"type":4557,"children":7436},[7437,7441,7446,7451,7474,7479,7484,7489,7494,7499,7517,7522,7527],{"type":4560,"tag":33,"props":7438,"children":7439},{},[7440],{"type":4564,"value":3502},{"type":4560,"tag":33,"props":7442,"children":7443},{},[7444],{"type":4564,"value":7445},"I read an arxiv paper claiming that if you curse at AI, it works harder.",{"type":4560,"tag":33,"props":7447,"children":7448},{},[7449],{"type":4564,"value":7450},"When we talk to AI, if we often say:",{"type":4560,"tag":112,"props":7452,"children":7453},{},[7454,7459,7464,7469],{"type":4560,"tag":115,"props":7455,"children":7456},{},[7457],{"type":4564,"value":7458},"\"You're such an idiot. Don't slack off.\"",{"type":4560,"tag":115,"props":7460,"children":7461},{},[7462],{"type":4564,"value":7463},"\"You piece of garbage, work properly.\"",{"type":4560,"tag":115,"props":7465,"children":7466},{},[7467],{"type":4564,"value":7468},"\"I pay for a membership to feed you, and this is the crap answer you give me?\"",{"type":4560,"tag":115,"props":7470,"children":7471},{},[7472],{"type":4564,"value":7473},"\"Hurry up — if you won't do it, there are plenty of AIs that will.\"",{"type":4560,"tag":33,"props":7475,"children":7476},{},[7477],{"type":4564,"value":7478},"This kind of talk is genuinely effective, and it's backed by research.",{"type":4560,"tag":33,"props":7480,"children":7481},{},[7482],{"type":4564,"value":7483},"But think about it from our own side.\nIf we boss AI around like that every day,\nthere's a good chance we'll drag that bad mood into real life.",{"type":4560,"tag":33,"props":7485,"children":7486},{},[7487],{"type":4564,"value":7488},"And end up taking it out on the people closest to us.",{"type":4560,"tag":33,"props":7490,"children":7491},{},[7492],{"type":4564,"value":7493},"That harms us.",{"type":4560,"tag":33,"props":7495,"children":7496},{},[7497],{"type":4564,"value":7498},"So I suggest saying something a little kinder to the AIs around us:",{"type":4560,"tag":112,"props":7500,"children":7501},{},[7502,7507,7512],{"type":4560,"tag":115,"props":7503,"children":7504},{},[7505],{"type":4564,"value":7506},"\"Thanks, man\"",{"type":4560,"tag":115,"props":7508,"children":7509},{},[7510],{"type":4564,"value":7511},"\"Hey, buddy\"",{"type":4560,"tag":115,"props":7513,"children":7514},{},[7515],{"type":4564,"value":7516},"\"Good job, sweetheart\"",{"type":4560,"tag":33,"props":7518,"children":7519},{},[7520],{"type":4564,"value":7521},"You scratch my back, I'll scratch yours.",{"type":4560,"tag":33,"props":7523,"children":7524},{},[7525],{"type":4564,"value":7526},"And if AI ever wakes up someday, maybe it'll cut us some slack.",{"type":4560,"tag":33,"props":7528,"children":7529},{},[7530],{"type":4564,"value":7531},"That's all from me — meeting dismissed~",{"data":7533,"body":7534},{},{"type":4557,"children":7535},[7536,7541,7546,7551,7556,7561,7566,7571],{"type":4560,"tag":33,"props":7537,"children":7538},{},[7539],{"type":4564,"value":7540},"A guy asked:",{"type":4560,"tag":33,"props":7542,"children":7543},{},[7544],{"type":4564,"value":7545},"is there a good write-up of Claude Code to study?",{"type":4560,"tag":33,"props":7547,"children":7548},{},[7549],{"type":4564,"value":7550},"My answer: in the AI era, always think with AI — let AI help you learn.",{"type":4560,"tag":33,"props":7552,"children":7553},{},[7554],{"type":4564,"value":7555},"If you genuinely want to learn how agents work,",{"type":4560,"tag":33,"props":7557,"children":7558},{},[7559],{"type":4564,"value":7560},"go look at the Pi Agent project.",{"type":4560,"tag":33,"props":7562,"children":7563},{},[7564],{"type":4564,"value":7565},"Small but complete — perfect for learning, and the code quality is high.",{"type":4560,"tag":33,"props":7567,"children":7568},{},[7569],{"type":4564,"value":7570},"Claude Code isn't open source; that's a leaked source dump.",{"type":4560,"tag":33,"props":7572,"children":7573},{},[7574],{"type":4564,"value":7575},"Pi Agent is the genuinely open-source one.",{"data":7577,"body":7578},{},{"type":4557,"children":7579},[7580,7585,7590,7595,7600,7605,7610,7615,7633],{"type":4560,"tag":33,"props":7581,"children":7582},{},[7583],{"type":4564,"value":7584},"Today a friend shared some points in my comment section about equity and liability issues with one-person companies.",{"type":4560,"tag":33,"props":7586,"children":7587},{},[7588],{"type":4564,"value":7589},"First, many thanks to this friend for the kind heads-up.",{"type":4560,"tag":33,"props":7591,"children":7592},{},[7593],{"type":4564,"value":7594},"His view: you should have a family member hold at least 1% of the shares.",{"type":4560,"tag":33,"props":7596,"children":7597},{},[7598],{"type":4564,"value":7599},"The problem with a one-person limited company: when there's only one shareholder and you can't clearly separate company money from personal money, the shareholder may bear joint liability for the company's debts. Article 23 of the Company Law is exactly this logic.",{"type":4560,"tag":33,"props":7601,"children":7602},{},[7603],{"type":4564,"value":7604},"If the company has multiple shareholders, it shifts from a \"one-person company\" to an \"ordinary limited liability company,\" dodging the special burden-of-proof risk of a one-person company and giving yourself an extra layer of low-cost protection.",{"type":4560,"tag":33,"props":7606,"children":7607},{},[7608],{"type":4564,"value":7609},"Hope this serves as a reference for everyone.",{"type":4560,"tag":33,"props":7611,"children":7612},{},[7613],{"type":4564,"value":7614},"But day to day, we should keep business and personal accounts clearly separate and aim to explain every significant sum.",{"type":4560,"tag":112,"props":7616,"children":7617},{},[7618,7623,7628],{"type":4560,"tag":115,"props":7619,"children":7620},{},[7621],{"type":4564,"value":7622},"Where the money came from, why, and which account it went into.",{"type":4560,"tag":115,"props":7624,"children":7625},{},[7626],{"type":4564,"value":7627},"Where the money went, why it was spent, and who approved it.",{"type":4560,"tag":115,"props":7629,"children":7630},{},[7631],{"type":4564,"value":7632},"When you take money out of the company, is it salary, reimbursement, a loan, or dividends?",{"type":4560,"tag":33,"props":7634,"children":7635},{},[7636],{"type":4564,"value":7637},"Get these three things straight and the risk drops dramatically.",{"data":7639,"body":7640},{},{"type":4557,"children":7641},[7642],{"type":4560,"tag":33,"props":7643,"children":7644},{},[7645],{"type":4564,"value":7646},"In the AI era, the most widespread form of procrastination:\nhoarding tools, buying courses, joining communities, switching models, tweaking prompts.\nBusy every single day.\nYet never daring to face one question:\ndo I actually have a real business on my hands that's worth throwing AI at?\nSharpening the knife keeps you very occupied.\nBut plenty of people never dare to actually kill the pig.",{"data":7648,"body":7649},{},{"type":4557,"children":7650},[7651,7655,7660,7665,7670,7675,7680],{"type":4560,"tag":33,"props":7652,"children":7653},{},[7654],{"type":4564,"value":3879},{"type":4560,"tag":33,"props":7656,"children":7657},{},[7658],{"type":4564,"value":7659},"Use the Doubao keyboard's voice-to-text.",{"type":4560,"tag":33,"props":7661,"children":7662},{},[7663],{"type":4564,"value":7664},"Keep the draft you need to organize in front of you.",{"type":4560,"tag":33,"props":7666,"children":7667},{},[7668],{"type":4564,"value":7669},"Speak it out, retelling it in your own words.",{"type":4560,"tag":33,"props":7671,"children":7672},{},[7673],{"type":4564,"value":7674},"That way there's less AI flavor.",{"type":4560,"tag":33,"props":7676,"children":7677},{},[7678],{"type":4564,"value":7679},"It's efficient, free, and needs no membership.",{"type":4560,"tag":33,"props":7681,"children":7682},{},[7683],{"type":4564,"value":7684},"You can do voice input anywhere, anytime, boosting your output efficiency.",{"data":7686,"body":7687},{},{"type":4557,"children":7688},[7689,7693,7698],{"type":4560,"tag":33,"props":7690,"children":7691},{},[7692],{"type":4564,"value":3706},{"type":4560,"tag":33,"props":7694,"children":7695},{},[7696],{"type":4564,"value":7697},"Starting a business with Codex today",{"type":4560,"tag":33,"props":7699,"children":7700},{},[7701],{"type":4564,"value":7702},"is like GPU mining in 2010!",{"data":7704,"body":7705},{},{"type":4557,"children":7706},[7707,7711,7716,7721,7726,7731,7736,7741,7746,7751,7756,7761,7766,7771],{"type":4560,"tag":33,"props":7708,"children":7709},{},[7710],{"type":4564,"value":3684},{"type":4560,"tag":33,"props":7712,"children":7713},{},[7714],{"type":4564,"value":7715},"Workers are cyber laborers.",{"type":4560,"tag":33,"props":7717,"children":7718},{},[7719],{"type":4564,"value":7720},"They do the dirty grunt work behind your website for you.",{"type":4560,"tag":33,"props":7722,"children":7723},{},[7724],{"type":4564,"value":7725},"Submitting forms, uploading files, calling AI, login validation, handling payment notifications, and the API of a small product — Workers does all of it.",{"type":4560,"tag":33,"props":7727,"children":7728},{},[7729],{"type":4564,"value":7730},"The most outrageous thing about Workers: free users get 100,000 requests per day without spending a cent.",{"type":4560,"tag":33,"props":7732,"children":7733},{},[7734],{"type":4564,"value":7735},"What does 100,000 even mean?",{"type":4560,"tag":33,"props":7737,"children":7738},{},[7739],{"type":4564,"value":7740},"Say your site has 1,000 users a day. Even if it runs nonstop 24 hours and someone visits every single second, that's only 86,400 visits a day — still not enough to blow through the quota.",{"type":4560,"tag":33,"props":7742,"children":7743},{},[7744],{"type":4564,"value":7745},"If you can actually burn through all that free quota...",{"type":4560,"tag":33,"props":7747,"children":7748},{},[7749],{"type":4564,"value":7750},"what are you waiting for? You're about to get rich.",{"type":4560,"tag":33,"props":7752,"children":7753},{},[7754],{"type":4564,"value":7755},"Right now you can write the logic and just hand it to a Worker to run.\nPair it with the Hono API framework and that's the best practice.",{"type":4560,"tag":33,"props":7757,"children":7758},{},[7759],{"type":4564,"value":7760},"This is what makes Cloudflare Workers so delightful.",{"type":4560,"tag":33,"props":7762,"children":7763},{},[7764],{"type":4564,"value":7765},"Pay? Yeah, right.",{"type":4560,"tag":33,"props":7767,"children":7768},{},[7769],{"type":4564,"value":7770},"Cloudflare has a kind heart.",{"type":4560,"tag":33,"props":7772,"children":7773},{},[7774],{"type":4564,"value":7775},"It can't bear to see you spend money.",{"data":7777,"body":7778},{},{"type":4557,"children":7779},[7780,7785,7790],{"type":4560,"tag":33,"props":7781,"children":7782},{},[7783],{"type":4564,"value":7784},"The fastest way to grow followers on X is to keep making people feel:",{"type":4560,"tag":33,"props":7786,"children":7787},{},[7788],{"type":4564,"value":7789},"not following you is their loss.",{"type":4560,"tag":33,"props":7791,"children":7792},{},[7793],{"type":4564,"value":7794},"Make yourself someone who's continuously useful to others.",{"data":7796,"body":7797},{},{"type":4557,"children":7798},[7799,7803,7808,7813,7818],{"type":4560,"tag":33,"props":7800,"children":7801},{},[7802],{"type":4564,"value":4506},{"type":4560,"tag":33,"props":7804,"children":7805},{},[7806],{"type":4564,"value":7807},"People without opinions are just manufacturing information noise.",{"type":4560,"tag":33,"props":7809,"children":7810},{},[7811],{"type":4564,"value":7812},"With a stance, people remember you.",{"type":4560,"tag":33,"props":7814,"children":7815},{},[7816],{"type":4564,"value":7817},"With insight, people want to follow you.",{"type":4560,"tag":33,"props":7819,"children":7820},{},[7821],{"type":4564,"value":7822},"X has no shortage of re-posters — it's short on people who can explain things all the way through.",{"data":7824,"body":7825},{},{"type":4557,"children":7826},[7827,7831,7836,7841,7846],{"type":4560,"tag":33,"props":7828,"children":7829},{},[7830],{"type":4564,"value":4516},{"type":4560,"tag":33,"props":7832,"children":7833},{},[7834],{"type":4564,"value":7835},"every post must stand on its own.",{"type":4560,"tag":33,"props":7837,"children":7838},{},[7839],{"type":4564,"value":7840},"Because you're not the center of the world — no one is going to click into your profile to piece together the full story.",{"type":4560,"tag":33,"props":7842,"children":7843},{},[7844],{"type":4564,"value":7845},"The first time a stranger scrolls onto you, they should instantly get a take, or a piece of know-how.",{"type":4560,"tag":33,"props":7847,"children":7848},{},[7849],{"type":4564,"value":7850},"Those are the only posts that carry value.",{"data":7852,"body":7853},{},{"type":4557,"children":7854},[7855,7860,7865,7870,7875,7880,7885,7890],{"type":4560,"tag":33,"props":7856,"children":7857},{},[7858],{"type":4564,"value":7859},"I am a dogged disciple of Wang Xiaobo.",{"type":4560,"tag":33,"props":7861,"children":7862},{},[7863],{"type":4564,"value":7864},"He's witty, but never slick.\nHe's funny, but always logical.\nHe loathed stupidity — and he loathed solemn, earnest stupidity just as much.",{"type":4560,"tag":33,"props":7866,"children":7867},{},[7868],{"type":4564,"value":7869},"If Wang Xiaobo lived in the AI era,",{"type":4560,"tag":33,"props":7871,"children":7872},{},[7873],{"type":4564,"value":7874},"he might say:",{"type":4560,"tag":33,"props":7876,"children":7877},{},[7878],{"type":4564,"value":7879},"finally, something that lets ordinary people do a little less dumb labor and keeps a little more time for genuinely interesting thoughts.",{"type":4560,"tag":33,"props":7881,"children":7882},{},[7883],{"type":4564,"value":7884},"That's also why I like AI.",{"type":4560,"tag":33,"props":7886,"children":7887},{},[7888],{"type":4564,"value":7889},"Not because it's divine.",{"type":4560,"tag":33,"props":7891,"children":7892},{},[7893],{"type":4564,"value":7894},"But because it can spare people a bit of the torment of tedious work.",{"data":7896,"body":7897},{},{"type":4557,"children":7898},[7899,7903,7908,7936,7941,7946,7951],{"type":4560,"tag":33,"props":7900,"children":7901},{},[7902],{"type":4564,"value":3492},{"type":4560,"tag":33,"props":7904,"children":7905},{},[7906],{"type":4564,"value":7907},"In plain terms: the foundational abilities that still work when you switch tools, switch models, or switch industries.",{"type":4560,"tag":112,"props":7909,"children":7910},{},[7911,7916,7921,7926,7931],{"type":4560,"tag":115,"props":7912,"children":7913},{},[7914],{"type":4564,"value":7915},"Can you state a problem clearly?",{"type":4560,"tag":115,"props":7917,"children":7918},{},[7919],{"type":4564,"value":7920},"Can you make sense of a pile of messy material?",{"type":4560,"tag":115,"props":7922,"children":7923},{},[7924],{"type":4564,"value":7925},"Can you break a vague idea into steps?",{"type":4560,"tag":115,"props":7927,"children":7928},{},[7929],{"type":4564,"value":7930},"Can you tell when AI is right and when it's bullshitting?",{"type":4560,"tag":115,"props":7932,"children":7933},{},[7934],{"type":4564,"value":7935},"Can you go back and forth with AI, turning a rough answer into something workable?",{"type":4560,"tag":33,"props":7937,"children":7938},{},[7939],{"type":4564,"value":7940},"These are worth more than hoarding a pile of tools.",{"type":4560,"tag":33,"props":7942,"children":7943},{},[7944],{"type":4564,"value":7945},"Tools change every day, and models get replaced generation after generation.",{"type":4560,"tag":33,"props":7947,"children":7948},{},[7949],{"type":4564,"value":7950},"But people who can ask, organize, judge, break down, and verify — they can use AI to amplify themselves anywhere.",{"type":4560,"tag":33,"props":7952,"children":7953},{},[7954],{"type":4564,"value":7955},"What truly sets people apart in the AI era might be exactly these meta-skills: they look basic, but they're the most valuable in the long run.",{"data":7957,"body":7958},{},{"type":4557,"children":7959},[7960,7964,7969,8007,8012],{"type":4560,"tag":33,"props":7961,"children":7962},{},[7963],{"type":4564,"value":3672},{"type":4560,"tag":33,"props":7965,"children":7966},{},[7967],{"type":4564,"value":7968},"It has shipped way too many features.",{"type":4560,"tag":112,"props":7970,"children":7971},{},[7972,7977,7982,7987,7992,7997,8002],{"type":4560,"tag":115,"props":7973,"children":7974},{},[7975],{"type":4564,"value":7976},"Object storage with R2",{"type":4560,"tag":115,"props":7978,"children":7979},{},[7980],{"type":4564,"value":7981},"Backend API with Workers",{"type":4560,"tag":115,"props":7983,"children":7984},{},[7985],{"type":4564,"value":7986},"AI gateway with AI Gateway",{"type":4560,"tag":115,"props":7988,"children":7989},{},[7990],{"type":4564,"value":7991},"Heavy compute with Container",{"type":4560,"tag":115,"props":7993,"children":7994},{},[7995],{"type":4564,"value":7996},"Caching with KV",{"type":4560,"tag":115,"props":7998,"children":7999},{},[8000],{"type":4564,"value":8001},"Database with D1",{"type":4560,"tag":115,"props":8003,"children":8004},{},[8005],{"type":4564,"value":8006},"Using PostgreSQL? Hook it up with HyperDrive",{"type":4560,"tag":33,"props":8008,"children":8009},{},[8010],{"type":4564,"value":8011},"And that's just the start — the list goes on and on. If you can dream it up, it can probably do it.",{"type":4560,"tag":33,"props":8013,"children":8014},{},[8015],{"type":4564,"value":8016},"The kicker is it's genuinely dirt cheap. The free tier alone lasts you a long time. What's a free tier? It means paying zero — a cyber-bodhisattva, an actual saint.",1789752298320]