<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Tech Sharing on TorchTree</title>
        <link>https://torchtree.com/en/categories/tech-sharing/</link>
        <description>Recent content in Tech Sharing on TorchTree</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <copyright>TorchTree Co., Ltd.</copyright>
        <lastBuildDate>Tue, 25 Aug 2026 12:58:43 +0800</lastBuildDate><atom:link href="https://torchtree.com/en/categories/tech-sharing/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Notion CEO&#39;s Jazz Mode: Five Deep Shifts in AI-Era Organizational Management</title>
        <link>https://torchtree.com/en/post/notion-jazz-mode-ai-org/</link>
        <pubDate>Tue, 25 Aug 2026 12:58:43 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/notion-jazz-mode-ai-org/</guid>
        <description>&lt;p&gt;In a recent conversation with Sequoia partner Brian Halligan (former HubSpot CEO), Notion CEO Ivan Zhao introduced a new concept: &lt;strong&gt;Jazz Mode&lt;/strong&gt;. He argues that after Manager Mode and Founder Mode, organizations in the AI era should operate like a jazz band: everyone has room to improvise, yet the whole still comes together in collaboration.&lt;/p&gt;
&lt;p&gt;This article doesn&amp;rsquo;t intend to recap everything Ivan said. Instead, it tries to extract a few structural changes that are easy to overlook from his remarks, and what those changes mean for teams building products with AI.&lt;/p&gt;
&lt;h2 id=&#34;from-building-bridges-to-brewing-beer-why-ai-rewrites-the-underlying-logic-of-product-development&#34;&gt;From Building Bridges to Brewing Beer: Why AI Rewrites the Underlying Logic of Product Development
&lt;/h2&gt;&lt;p&gt;Ivan used a metaphor to distinguish traditional software development from AI product development: traditional software is like building a bridge — designers draw the blueprint and engineers build to it; AI products are more like brewing beer — you can only experiment, observe, and adjust, without precisely controlling the final result.&lt;/p&gt;
&lt;p&gt;The value of this metaphor isn&amp;rsquo;t rhetorical; it exposes a structural problem that has been underestimated in AI product development: &lt;strong&gt;traditional software development is requirement-driven; AI product development is technology-driven.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the traditional model, product managers define requirements, designers produce solutions, and engineers implement them. The whole process starts from customer needs, with technology as the means of execution. But AI products are different. The boundaries of model capability determine what a product can do, and those boundaries change every week. If you plan your product roadmap strictly according to customer requirements, three months later what you&amp;rsquo;ve built may already be obsolete.&lt;/p&gt;
&lt;p&gt;Ivan said their internal development model has shifted from &amp;ldquo;customer-driven&amp;rdquo; to &amp;ldquo;technology-driven experimentation.&amp;rdquo; The traditional boundaries between PM, designer, and engineer have been thoroughly blurred — even product designers are among the team members who consume the most LLM tokens.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t just Notion&amp;rsquo;s practice. As LLM capabilities iterate quickly, more and more AI product teams face the same dilemma: you can&amp;rsquo;t fully plan your product at the start of the year, because three months later the model&amp;rsquo;s capabilities have already changed. &lt;strong&gt;An AI product roadmap is, in essence, a collection of assumptions that keep being overturned.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For teams building AI products, this means two things. First, you need to accept that &amp;ldquo;plans can&amp;rsquo;t keep up with change&amp;rdquo; isn&amp;rsquo;t a management problem but a consequence of the product form. Second, you need to let the people with the best judgment on your team (not just engineers) work directly with the model, because instinctive judgment about model capability is becoming a more valuable product asset than a requirements document.&lt;/p&gt;
&lt;h2 id=&#34;hierarchy-wont-disappear-but-its-function-is-being-redefined&#34;&gt;Hierarchy Won&amp;rsquo;t Disappear, But Its Function Is Being Redefined
&lt;/h2&gt;&lt;p&gt;Ivan was explicit in the conversation that he doesn&amp;rsquo;t believe in hierarchical-free organizations. His reasoning is simple: hierarchy is human nature — even chimpanzee societies have natural hierarchies, and you can&amp;rsquo;t eliminate it by forcibly flattening the org.&lt;/p&gt;
&lt;p&gt;But he also pointed out that language models are becoming the new infrastructure of organizations. Information transfer, state synchronization, and decision coordination — work that once required many middle managers — can now be partly handled by AI. Future organizations will be flatter, but hierarchy won&amp;rsquo;t disappear.&lt;/p&gt;
&lt;p&gt;Hidden beneath this is a deeper change: &lt;strong&gt;the rationale for hierarchy is shifting from &amp;ldquo;information transfer&amp;rdquo; to &amp;ldquo;allocation of judgment.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In traditional organizations, one core function of hierarchy is information filtering and passing. A CEO can&amp;rsquo;t know every detail, so you need VPs; VPs need Directors; Directors need Managers. Each layer compresses information and reports upward. But AI tools (including Notion&amp;rsquo;s own products) are making information transfer more efficient, even automated. When information transfer is no longer the bottleneck, hierarchy only retains two values: decision judgment and resource allocation.&lt;/p&gt;
&lt;p&gt;This means the job of future middle managers will fundamentally change. They will no longer be transfer stations for information, but carriers of judgment in specific domains. The value of a middle manager will no longer depend on how many people they manage, but on how broadly they can make high-quality decisions.&lt;/p&gt;
&lt;p&gt;For organizational designers, this is a very practical question: if your middle managers mostly do meetings, reporting, and passing information, their roles are being eroded by AI; if your middle managers are the judgment centers of a domain, their value is actually rising.&lt;/p&gt;
&lt;h2 id=&#34;the-talent-formula-has-changed-capability-or-taste--which-is-scarcer&#34;&gt;The Talent Formula Has Changed: Capability or Taste — Which Is Scarcer?
&lt;/h2&gt;&lt;p&gt;Ivan proposed a talent formula he currently endorses most: &lt;strong&gt;Talent = Capability × Taste × Agency.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the past, Capability was the most important variable. An engineer&amp;rsquo;s technical skill determined their output. But in the AI era, capability is being rapidly commoditized. Tools like Claude Code, Cursor, and Copilot are making &amp;ldquo;writing code that runs&amp;rdquo; increasingly easy.&lt;/p&gt;
&lt;p&gt;When capability becomes cheap, Taste and Agency become scarce resources. Taste is what you think is good; Agency is whether you proactively push things forward.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t empty philosophy. Notion has adjusted its hiring strategy along these lines: it no longer focuses mainly on work history, big-company background, or resume length, but on curiosity, optimism, energy, and proactivity. Their first-round interviews no longer review resumes; they simply ask candidates to &amp;ldquo;build something,&amp;rdquo; looking at the work before the background.&lt;/p&gt;
&lt;p&gt;Even more noteworthy is their &amp;ldquo;barbell model&amp;rdquo; engineering organization: at one end, very young engineers responsible for fast trial-and-error and efficient execution; at the other, a tiny number of super-senior architects responsible for judgment, Taste, and architecture. One senior architect guides 2–3 junior engineers, and with the help of AI Agents, each junior engineer can produce as efficiently as managing a mini-team.&lt;/p&gt;
&lt;p&gt;The underlying logic of this model is: &lt;strong&gt;AI amplifies individual execution, but not judgment.&lt;/strong&gt; A tasteful senior engineer, plus AI tools and a few junior executors, can produce what a small team used to. But if the Taste is wrong, no amount of execution is doing anything but accelerating in the wrong direction.&lt;/p&gt;
&lt;p&gt;For team managers, this means you need to reassess who in your team is the &amp;ldquo;Taste center,&amp;rdquo; and ensure those people&amp;rsquo;s judgment directly shapes product direction rather than being diluted by layers of reporting.&lt;/p&gt;
&lt;h2 id=&#34;founders-are-an-organizations-decalcifying-agent-why-notion-took-in-60-founders&#34;&gt;Founders Are an Organization&amp;rsquo;s Decalcifying Agent: Why Notion Took In 60 Founders
&lt;/h2&gt;&lt;p&gt;Notion has 50–60 former startup founders internally — an unusual number. Ivan said founders are an organization&amp;rsquo;s &amp;ldquo;decalcifying agent.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;His logic is clear: a 1,000-person company will naturally tend toward bureaucracy; that&amp;rsquo;s a physical law. But if a steady stream of founders keeps mixing in, they continuously launch new projects, challenge old processes, propose new ideas, and push organizational change — effectively injecting new vitality into the organization.&lt;/p&gt;
&lt;p&gt;This observation reveals a problem often neglected in organizational theory: &lt;strong&gt;bureaucratization isn&amp;rsquo;t a management failure, but a natural result of organizational scale.&lt;/strong&gt; Any sufficiently large organization will produce processes, norms, and hierarchy. These things ensure efficiency early on, but once they accumulate past a certain point, they become obstacles to innovation.&lt;/p&gt;
&lt;p&gt;The value of founders is that they naturally distrust process. They&amp;rsquo;re used to &amp;ldquo;doing first, then talking,&amp;rdquo; used to breaking existing frames and rethinking problems. Scattered across a large organization, they act like so many &amp;ldquo;anti-entropy nodes,&amp;rdquo; constantly resisting the force that drives organizations toward rigidity.&lt;/p&gt;
&lt;p&gt;But there&amp;rsquo;s a prerequisite: the organization must give these people enough autonomy. If founders are assimilated by existing processes after joining a large company, the &amp;ldquo;decalcifying agent&amp;rdquo; fails. Ivan said Notion&amp;rsquo;s approach is to keep these people highly autonomous, consistent with the spirit of Jazz Mode.&lt;/p&gt;
&lt;h2 id=&#34;enterprise-sales-is-the-last-fortress-ai-cant-take&#34;&gt;Enterprise Sales Is the Last Fortress AI Can&amp;rsquo;t Take
&lt;/h2&gt;&lt;p&gt;One detail in the conversation is easy to overlook: Ivan said they had previously made mistakes in the sales area — they tried to reinvent sales and failed. Later they found that many enterprise customers simply want to talk to a real person.&lt;/p&gt;
&lt;p&gt;This observation forms an interesting contrast with the current narrative of many AI companies. Over the past two years, a lot of AI startups have tried to replace the sales process with AI, from automated outbound calling to intelligent customer service to AI SDRs. But Ivan&amp;rsquo;s experience suggests that, at least in the enterprise market, trust relationships between people remain the key to closing deals.&lt;/p&gt;
&lt;p&gt;The logic behind this: enterprise procurement decisions are costly, and the consequences of error are severe. In such scenarios, customers need more than just information and efficiency; they need &amp;ldquo;someone who can be found when something goes wrong.&amp;rdquo; AI can handle information, but it&amp;rsquo;s hard for it to provide that kind of psychological security.&lt;/p&gt;
&lt;p&gt;For AI entrepreneurs, this points to a pragmatic direction: &lt;strong&gt;AI&amp;rsquo;s best position in the enterprise market may not be replacing sales, but empowering it.&lt;/strong&gt; Let salespeople use AI tools to prepare materials, analyze customers, and follow up leads more efficiently, but the final customer relationship is still maintained by humans.&lt;/p&gt;
&lt;h2 id=&#34;planning-cycles-are-shrinking-dramatically&#34;&gt;Planning Cycles Are Shrinking Dramatically
&lt;/h2&gt;&lt;p&gt;Ivan said something very direct: financial planning can be done quarterly, but product planning may need to change weekly, because model capabilities change too fast.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s not an exaggeration. Over the past two years, the capability curve of LLMs has been nearly exponential. Tasks considered impossible when GPT-4 was released in early 2023 had been matched or surpassed by multiple models by the end of 2024. If your product planning is built on the assumption of &amp;ldquo;GPT-4-level capability,&amp;rdquo; that assumption needs updating every few months.&lt;/p&gt;
&lt;p&gt;Ivan also stressed that a CEO must experience AI firsthand — not just watch videos, talks, or summaries. He used two phrases: Feel the AI, Feel the AGI. Only by using it yourself and building with it can you know which opportunities really exist.&lt;/p&gt;
&lt;p&gt;The practical meaning of this advice: &lt;strong&gt;product decisions in the AI era increasingly rely on intuitive judgment of model capability, and that intuition can only come from hands-on use.&lt;/strong&gt; You can&amp;rsquo;t gain an accurate sense of model capability by reading secondhand information, just as you can&amp;rsquo;t learn to swim by reading a swimming tutorial.&lt;/p&gt;
&lt;h2 id=&#34;a-company-eventually-grows-into-the-image-of-its-founder&#34;&gt;A Company Eventually Grows Into the Image of Its Founder
&lt;/h2&gt;&lt;p&gt;At the end of the conversation, Ivan touched on a view: many CEOs like to imitate others — Jobs, Musk, or Brian Armstrong — but a company is ultimately a projection of its founder. If you&amp;rsquo;re a craftsman, the company becomes a craftsman culture; if you&amp;rsquo;re a salesperson, it becomes a sales culture; if you&amp;rsquo;re a jazz musician, the company also eventually becomes a jazz band.&lt;/p&gt;
&lt;p&gt;He was very candid about the quasi-religious/&amp;ldquo;cultish adoration&amp;rdquo; perception of the Notion community, even saying he &amp;ldquo;liked&amp;rdquo; it. He believes a company is, in a sense, a religion, projecting a worldview and value system onto the real world through commerce and products.&lt;/p&gt;
&lt;p&gt;The deeper meaning of this view: &lt;strong&gt;organizational culture isn&amp;rsquo;t designed; it&amp;rsquo;s an amplification of the founder&amp;rsquo;s personality.&lt;/strong&gt; You can draw a perfect org chart, but what ultimately determines organizational behavior is what the founder believes, values, and how they make decisions.&lt;/p&gt;
&lt;p&gt;Jazz Mode suits Notion not just because it&amp;rsquo;s a good management concept, but because it matches Ivan&amp;rsquo;s own personality. He doesn&amp;rsquo;t like pure delegation, pure process, or pure management, so he needs an organization that allows improvisation. If a founder is a natural controller by nature, Jazz Mode will most likely fail in their company.&lt;/p&gt;
&lt;p&gt;For entrepreneurs, this may be the question most worth thinking about: does the organizational model you&amp;rsquo;re trying to build match your own personality? If it doesn&amp;rsquo;t, even the best concept is nothing but a castle in the air.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Original link:&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;https://mp.weixin.qq.com/s/62feH1VU4_Im_a4k24i1ew&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Notion CEO on the New Paradigm for AI-Era Organizational Management: Jazz Mode&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Morning Brew Founder&#39;s Content Machine: Never Run Out of Topics, No AI Slop</title>
        <link>https://torchtree.com/en/post/morning-brew-claude-content-machine/</link>
        <pubDate>Tue, 04 Aug 2026 03:23:29 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/morning-brew-claude-content-machine/</guid>
        <description>&lt;img src="https://getnas.s3.bitiful.net/2026/08/cover.png" alt="Featured image of post Morning Brew Founder&#39;s Content Machine: Never Run Out of Topics, No AI Slop" /&gt;&lt;p&gt;Alex Lieberman sold the majority stake in Morning Brew to Insider in 2020, when the media company born in a college dorm was valued at $75 million. He now runs 10x, an AI-transformation consultancy, while keeping up high-frequency content output on X and LinkedIn. In an interview with How I AI, the podcast under Lenny&amp;rsquo;s Newsletter, he revealed the system behind that output: a Claude-based &amp;ldquo;content machine&amp;rdquo; where AI participates in everything from ideation to drafting to review, and yet the output has &amp;ldquo;no AI slop.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This breakdown is compiled from the full transcript of that interview, walks through the content machine&amp;rsquo;s operational stages, and finally distills what this system means for ordinary creators.&lt;/p&gt;
&lt;h2 id=&#34;why-build-a-content-machine&#34;&gt;Why build a content machine
&lt;/h2&gt;&lt;p&gt;Lieberman says he faced two problems:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The first is time constraints.&lt;/strong&gt; He has been creating continuously for a decade since founding Morning Brew in his dorm, and content has brought him many opportunities. But the time he can dedicate to creation each day is only about 25%. He wanted to know how to maximize the value of that 25% while guaranteeing he doesn&amp;rsquo;t produce AI slop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The second is employee creation.&lt;/strong&gt; He believes that in the future business world, as technology becomes increasingly commoditized, the real moat is &amp;ldquo;trusted distribution channels,&amp;rdquo; and turning your company&amp;rsquo;s employees into creators is a distribution resource many companies haven&amp;rsquo;t fully tapped. His goal is to make &amp;ldquo;employees becoming creators while holding a full-time job&amp;rdquo; as simple as possible.&lt;/p&gt;
&lt;p&gt;His approach is to refactor the content production process to be AI-native.&lt;/p&gt;
&lt;p&gt;Before getting into the details, it&amp;rsquo;s worth understanding Lieberman&amp;rsquo;s basic stance on AI content. The host mentioned a writer friend&amp;rsquo;s view that AI will raise the floor for mediocre writers but cap the ceiling for great ones. Lieberman agrees with that assessment but says it needs refinement. If AI only participates in drafting and editing, it might indeed cap the ceiling for top-tier writers&amp;rsquo; output. But content creation is a multi-stage process; using AI for inspiration gathering, material organizing, and format conversion doesn&amp;rsquo;t mean abandoning quality. More important is comparing against the baseline—his team&amp;rsquo;s alternative before the content machine was simply not creating at all. Between having employees produce content around their expertise and having nobody produce any content, he&amp;rsquo;d always choose the former.&lt;/p&gt;
&lt;p&gt;He also mentions a counterintuitive observation: the popularity of AI slop is actually creators &amp;ldquo;pointing at themselves and saying I&amp;rsquo;m not smart enough.&amp;rdquo; When a person feeds AI vague ideas, they naturally get vague writing back. The problem lies in the input stage, not in the AI itself. This view runs throughout the interview and explains why &lt;strong&gt;his system spends enormous effort on ideation and interviewing, not writing.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;step-1-map-the-existing-process-first-then-tear-down-constraints-and-rebuild&#34;&gt;Step 1: Map the existing process first, then tear down constraints and rebuild
&lt;/h2&gt;&lt;p&gt;Lieberman emphasizes that the starting point of the whole transformation isn&amp;rsquo;t introducing AI, but drawing a process diagram. He breaks the entire content-creation process down from beginning to end: finding inspiration, judging whether it&amp;rsquo;s worth writing, drafting, editing, publishing, distributing. He says most people, before doing process mapping, have no idea how much waste is in their own process—AI is just the push that forces them to complete this step.&lt;/p&gt;
&lt;p&gt;Host Claire Vo adds a key piece of advice: don&amp;rsquo;t design the process around current constraints; design it around the ideal state. Unconstrained, of course you&amp;rsquo;d want an always-on researcher digging up topics for you, and of course you&amp;rsquo;d split one piece of content into multi-platform micro-content. First map the ideal process, then decide which stages go to AI and which stay with humans.&lt;/p&gt;
&lt;h2 id=&#34;step-2-oracle-scans-seven-days-of-information-and-produces-fifteen-post-ideas&#34;&gt;Step 2: Oracle scans seven days of information and produces fifteen post ideas
&lt;/h2&gt;&lt;p&gt;The content machine&amp;rsquo;s first component is called Oracle. It connects to all of Lieberman&amp;rsquo;s information sources in Tenex, including Slack, Notion, meeting notes, Linear, Git, and Gmail, plus a custom list of internet information sources he configured himself. Oracle scans the information from the past seven days every day, scores potential &amp;ldquo;content spikes&amp;rdquo; (specific topics identified from the information stream that have potential to be written about) against a scoring rubric, and finally outputs roughly 15 candidates.&lt;/p&gt;
&lt;p&gt;This design stems from a fear of the &amp;ldquo;blank page.&amp;rdquo; Lieberman thinks the biggest friction point in content creation is facing a blank page, and Oracle&amp;rsquo;s role is to fully automate that stage. Creators open the machine each day and face not a blank page, but fifteen topic candidates loaded with specific details.&lt;/p&gt;
&lt;p&gt;The real-world example shown in the interview is vivid. Oracle grabbed several lines from internal sources: a conversation with a banking client, where the client said McKinsey&amp;rsquo;s advice would take six months to land while he rebuilt it in a week with Claude Code; his self-deprecating line on a sales call that &amp;ldquo;I might be the worst salesperson in the world&amp;rdquo;; and his pain after selling Morning Brew. Oracle flagged these concrete stories as high-potential content spikes. From external sources, it picked up Amazon&amp;rsquo;s $1 billion investment in FDE and the disagreement among experts over whether FDE is a cure-all.&lt;/p&gt;
&lt;p&gt;The key point is that Oracle isn&amp;rsquo;t grabbing generic topics, but specific moments from someone&amp;rsquo;s lived experience. Lieberman says AI-generated slop usually isn&amp;rsquo;t because the AI writes badly, but because the person didn&amp;rsquo;t feed good enough material at the sourcing stage.&lt;/p&gt;
&lt;h2 id=&#34;step-3-six-interview-personassay-it-out-loud-instead-of-write-it-down&#34;&gt;Step 3: Six interview personas—&amp;ldquo;say it out loud&amp;rdquo; instead of &amp;ldquo;write it down&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;Once topics are selected, the content machine moves to the interview stage. Lieberman created six interviewer personas that take turns asking him questions. He responds to these questions out loud, using speech-to-text tools like Wispr Flow to shape the raw draft material.&lt;/p&gt;
&lt;p&gt;The intent behind this design is to turn creation from &amp;ldquo;facing a blank document&amp;rdquo; into &amp;ldquo;answering questions.&amp;rdquo; What you say out loud is more conversational and more genuine than what you write, and closer to his actual voice. This stage determines the information density of the content and is, in Lieberman&amp;rsquo;s view, the watershed for whether the whole system produces slop. He repeats one judgment throughout the interview: whether AI-generated content has an &amp;ldquo;AI smell&amp;rdquo; depends mainly on how good the ideas are that a person shares in the interview stage. If the input is vague opinions, the AI naturally outputs vague text; if the input is specific moments from lived experience, the AI outputs details nobody else could fabricate.&lt;/p&gt;
&lt;h2 id=&#34;step-4-encode-personal-style-with-markdown-files&#34;&gt;Step 4: &amp;ldquo;Encode&amp;rdquo; personal style with Markdown files
&lt;/h2&gt;&lt;p&gt;Lieberman&amp;rsquo;s writing style is decomposed into two types of files.&lt;/p&gt;
&lt;p&gt;One kind is a voice markdown file, recording his sentence preferences, word choices, and expressive traits. The other is a content lessons markdown file, recording the lessons distilled from each round of editing—like &amp;ldquo;don&amp;rsquo;t use clichés like &amp;lsquo;if X, then Y.&amp;rsquo;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;When drafting, the AI writes the first draft in his voice according to these two files. Each time he gives feedback on a final draft, the system runs a &amp;ldquo;lessons loop&amp;rdquo;: comparing the differences between the raw material and the final published version, extracting lessons that can be abstracted and reused, and, after his confirmation, appending them to the lessons file. This way the system increasingly matches his standards, effectively solidifying his personal aesthetics into a searchable asset.&lt;/p&gt;
&lt;h2 id=&#34;step-5-a-writers-committee-scores-the-draftbelow-9-and-it-gets-rewritten&#34;&gt;Step 5: A writers&amp;rsquo; committee scores the draft—below 9 and it gets rewritten
&lt;/h2&gt;&lt;p&gt;After the first draft is done, it moves to the review stage. Lieberman created six writer personas, including well-known writers like David Perell, Morgan Housel, and Shaan Puri, plus one persona specifically allergic to &amp;ldquo;AI smell.&amp;rdquo; The six reviewers each read and score the piece from 1 to 10. If the total score is below 9, it automatically enters a revision loop until it scores 10 before being released.&lt;/p&gt;
&lt;p&gt;In a live demo, the draft was initially scored low by the reviewers and the system immediately entered the revision loop; Lieberman joked, &amp;ldquo;I guess it won&amp;rsquo;t get a 9.&amp;rdquo; The whole review process is visible and auditable—the author can see each reviewer&amp;rsquo;s score and comments. In essence, this mechanism uses AI to simulate an editorial committee, providing an outside perspective without a real human editing team.&lt;/p&gt;
&lt;h2 id=&#34;step-6-reuse-and-distribute-after-publishing&#34;&gt;Step 6: Reuse and distribute after publishing
&lt;/h2&gt;&lt;p&gt;Once content is finalized, the machine also handles distribution. Lieberman can specify what formats to break it into—for example, three short tweets plus two long LinkedIn posts—and the system auto-generates the multi-platform versions in his style.&lt;/p&gt;
&lt;p&gt;He says one step is still missing from the process he runs daily: Oracle should also remind him which historical content is worth repackaging. That&amp;rsquo;s the feature he plans to add next.&lt;/p&gt;
&lt;h2 id=&#34;the-tech-foundation-a-catalog-of-claude-skills&#34;&gt;The tech foundation: a catalog of Claude Skills
&lt;/h2&gt;&lt;p&gt;This content machine isn&amp;rsquo;t custom software; it&amp;rsquo;s built on Claude&amp;rsquo;s plugin ecosystem. Lieberman describes it as &amp;ldquo;a catalog of skills,&amp;rdquo; running in Claude Code or Cowork environments, and team members can pull updates from the company&amp;rsquo;s internal code repo. He deliberately made the update process simple enough that non-technical colleagues can sync to the latest version with one click.&lt;/p&gt;
&lt;p&gt;This choice is worth noting. He didn&amp;rsquo;t develop a dedicated product for the content workflow; instead, he decomposed the process into a set of composable skill files hung onto a general-purpose AI programming tool. The benefit is extremely fast iteration—a lesson discovered today can become a shared skill update for all colleagues tomorrow.&lt;/p&gt;
&lt;h2 id=&#34;the-numbers-production-time-dropped-from-2030-hours-to-34-hours&#34;&gt;The numbers: production time dropped from 20–30 hours to 3–4 hours
&lt;/h2&gt;&lt;p&gt;On the system&amp;rsquo;s effectiveness, the figures circulating outside the interview say per-post production time dropped from 20–30 hours to 3–4 hours, and building the system itself took over 50 hours. Lieberman didn&amp;rsquo;t directly give either number in the interview, but the live demo throughout it confirmed the process&amp;rsquo;s efficiency—picking a topic from that day and completing drafting, review, and revision within minutes.&lt;/p&gt;
&lt;p&gt;It should be noted that efficiency gains don&amp;rsquo;t equal quality compromises. He repeatedly stresses that the premise of this system is his own decade of content-creation accumulation—running thousands of content-creation processes—before he could decompose the workflow finely enough. This also answers his stance on whether AI caps the creative ceiling: AI won&amp;rsquo;t turn mediocre people great, but it can free excellent creators&amp;rsquo; time from repetitive labor to invest it where real judgment is needed.&lt;/p&gt;
&lt;h2 id=&#34;employee-creation-using-gamification-to-turn-everyone-into-a-content-source&#34;&gt;Employee creation: using gamification to turn everyone into a content source
&lt;/h2&gt;&lt;p&gt;The content machine solves &amp;ldquo;how the founder creates efficiently himself,&amp;rdquo; but Lieberman also addresses, at the company level, &amp;ldquo;how to get employees willing to create.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;He believes employees are the most-underrated marketing channel for most companies. Claire Vo adds during the interview that she&amp;rsquo;s seen many CEOs worry that employees who stand out too much on social media will get poached, but what actually makes employees leave is their lack of opportunity to show off valuable work. Companies willing to encourage employees to build personal brands have a clear advantage in the talent war.&lt;/p&gt;
&lt;p&gt;At his previous company StoryArb, he ran an event called Own the Internet: over six to eight weeks, everyone was encouraged to post on LinkedIn, with the only rule being that at least half the content had to be work-related, and the final winner got $5,000. That quarter, the event contributed 40% of the company&amp;rsquo;s inbound leads and brought a lot of recruiting-side exposure.&lt;/p&gt;
&lt;p&gt;The version Tenex just launched is called Creator Cup: for a month, everyone posts on LinkedIn or X—10 points per post, 3 points for engaging with a colleague&amp;rsquo;s post, an extra 50 points for the best post each week chosen by the founders, plus weekly and monthly leaderboards. The company opened a Slack channel called Reply Guys where everyone reads and comments on each other&amp;rsquo;s posts. The whole design turns content creation into a team sport, using points and leaderboards to create engagement.&lt;/p&gt;
&lt;p&gt;Lieberman says employee advocacy has existed for many years; he just thinks the internet and social media have lowered the barrier to an unprecedented low, while most companies are still stuck in the stage of worrying about risk. He also shares an observation from the interview: as technology becomes increasingly commoditized in the AI era, business moats are getting rarer, and &amp;ldquo;trusted distribution channels&amp;rdquo; are one of the few barriers that can compound over time. Turning your company into a media company and making employees into content sources is, in essence, building that moat.&lt;/p&gt;
&lt;p&gt;Anthropic is a counterexample: several engineers related to Claude Code keep producing on social media, and readers trust the product more because they trust the individuals. These people have become an extension of the brand, and their personal output and the company&amp;rsquo;s product form a mutually reinforcing loop.&lt;/p&gt;
&lt;h2 id=&#34;what-ordinary-creators-can-learn&#34;&gt;What ordinary creators can learn
&lt;/h2&gt;&lt;p&gt;The entire system can be abstracted into a four-step methodology that doesn&amp;rsquo;t depend on Morning Brew&amp;rsquo;s resources or Tenex&amp;rsquo;s engineering capabilities.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First, map the process before talking about AI.&lt;/strong&gt; Break the creative process into stages, find the bottlenecks and waste; this is the starting point of any AI transformation. Lieberman says in the interview that process mapping alone exposes a huge amount of efficiency problems—AI is just the catalyst that pushes you to get it done.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Second, topics come from real experience.&lt;/strong&gt; Oracle&amp;rsquo;s value isn&amp;rsquo;t &amp;ldquo;automatically generating topics&amp;rdquo; but fishing concrete stories out of the person&amp;rsquo;s own conversations, meetings, and emails. Without real raw material, no AI can write content with real information density.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Third, style can be encoded.&lt;/strong&gt; A voice guide plus a lessons file is, in essence, sedimenting &amp;ldquo;I don&amp;rsquo;t think this writes well&amp;rdquo; into searchable rules, so AI understands you better the more you use it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fourth, externalize the review.&lt;/strong&gt; The six-persona committee simulates &amp;ldquo;getting an expert to review your draft,&amp;rdquo; providing an objective feedback loop without an editing team.&lt;/p&gt;
&lt;p&gt;At the end of the interview, Lieberman is asked &amp;ldquo;what do you do when AI produces slop.&amp;rdquo; His answer is pragmatic: either write it by hand, or spend time scolding it and confirm whether those lessons have already been written into the lessons file. He admits he sometimes treats AI poorly—&amp;ldquo;given that AI will eventually be my boss, I should really be nicer to it.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Finally, it&amp;rsquo;s worth noting his take on engineers: the best engineers have both system-level understanding and the willingness to make their entire workflow agentic. This standard applies equally to content creators: understanding how the whole system works while being willing to delegate repetitive labor to AI is the most valuable combination of abilities in this transformation. The value of this content machine lies precisely in turning that combination of abilities into a replicable process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sources&lt;/strong&gt;: This breakdown is based on the full transcript of the How I AI podcast interview with Lenny&amp;rsquo;s Newsletter, &amp;ldquo;How the founder of Morning Brew built a Claude content machine that never runs out of ideas&amp;rdquo; (&lt;a class=&#34;link&#34; href=&#34;https://www.lennysnewsletter.com/p/how-the-founder-of-morning-brew-built&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Lenny&amp;rsquo;s Newsletter&lt;/a&gt;), and related reporting on Insider&amp;rsquo;s acquisition of Morning Brew (&lt;a class=&#34;link&#34; href=&#34;https://www.axios.com/2020/10/29/insider-inc-buys-majority-stake-morning-brew&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Axios&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://www.businessinsider.com/insider-buys-stake-morning-brew-2020-10&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Business Insider&lt;/a&gt;).&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Advanced Pi Agent Configuration: AGENTS.md, Model Switching, and Thinking Levels in Practice</title>
        <link>https://torchtree.com/en/post/pi-agent-configuration-guide/</link>
        <pubDate>Wed, 22 Jul 2026 12:14:08 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/pi-agent-configuration-guide/</guid>
        <description>&lt;img src="https://getnas.s3.bitiful.net/2026/07/pi-agent-config-cover.png" alt="Featured image of post Advanced Pi Agent Configuration: AGENTS.md, Model Switching, and Thinking Levels in Practice" /&gt;&lt;p&gt;In the article &lt;a class=&#34;link&#34; href=&#34;https://hitorch.cn/pi-agent-setup-guide/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi Coding Agent in Practice: From Installation to Everyday Use&lt;/a&gt;, I covered Pi&amp;rsquo;s installation, first-time configuration, and its core extension packages. That content lets beginners get up and running quickly, but Pi&amp;rsquo;s real flexibility lives in its configuration files.&lt;/p&gt;
&lt;p&gt;Pi&amp;rsquo;s core is just 418 lines of TypeScript, and by default it only gives the model four tools (read, write, edit, bash). All of its advanced behavior — which model to use, how large a context, how deep to think — is controlled through external configuration files. Understanding how these files relate to each other and how they&amp;rsquo;re prioritized is the key step in taking Pi from &amp;ldquo;usable&amp;rdquo; to &amp;ldquo;actually good.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;how-many-layers-does-pis-configuration-have-and-what-does-each-one-manage&#34;&gt;How many layers does Pi&amp;rsquo;s configuration have, and what does each one manage?
&lt;/h2&gt;&lt;p&gt;Pi&amp;rsquo;s configuration system uses a layered, additive design. Once you understand what each layer is responsible for and its order of precedence, you won&amp;rsquo;t run into &amp;ldquo;I changed it but nothing happened.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Global configuration&lt;/strong&gt; lives in &lt;code&gt;~/.pi/agent/&lt;/code&gt;, affecting all projects. &lt;strong&gt;Project configuration&lt;/strong&gt; lives in a project&amp;rsquo;s &lt;code&gt;.pi/settings.json&lt;/code&gt;, affecting only the current project. Nested objects in the project config are merged with the global config rather than replacing it entirely.&lt;/p&gt;
&lt;p&gt;Beyond the two layers of settings.json, Pi also uses four specialized configuration files, each with a different purpose:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Config file&lt;/th&gt;
          &lt;th&gt;Location&lt;/th&gt;
          &lt;th&gt;Purpose&lt;/th&gt;
          &lt;th&gt;Load timing&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;AGENTS.md&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Project root or &lt;!-- raw HTML omitted --&gt;~/.pi/agent/&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Project context and coding instructions, injected into the system prompt&lt;/td&gt;
          &lt;td&gt;Auto-loaded at startup&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;APPEND_SYSTEM.md&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;~/.pi/agent/&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Global behavior rules, appended to the end of the system prompt&lt;/td&gt;
          &lt;td&gt;Loaded at startup&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;settings.json&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Global or &lt;!-- raw HTML omitted --&gt;.pi/&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Model selection, UI theme, compaction strategy, retries, and other runtime parameters&lt;/td&gt;
          &lt;td&gt;Loaded at startup&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;models.json&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;~/.pi/agent/&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Custom models and Providers (Ollama, vLLM, etc.)&lt;/td&gt;
          &lt;td&gt;Reloaded each time you open &lt;!-- raw HTML omitted --&gt;/model&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;auth.json&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;~/.pi/agent/&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;API keys and OAuth credentials (permission 0600)&lt;/td&gt;
          &lt;td&gt;Read on demand&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Below I&amp;rsquo;ll break down best practices for each configuration file in turn.&lt;/p&gt;
&lt;h2 id=&#34;how-to-write-an-agentsmd-that-actually-works&#34;&gt;How to write an AGENTS.md that actually works
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; is the primary entry point for Pi to understand a project&amp;rsquo;s context. When Pi starts, it looks in several locations and merges their contents into the system prompt: it loads &lt;code&gt;~/.pi/agent/AGENTS.md&lt;/code&gt; first (global instructions), then walks up through parent directories, and finally loads the &lt;code&gt;AGENTS.md&lt;/code&gt; in the current directory.&lt;/p&gt;
&lt;p&gt;In other words, &lt;strong&gt;the global AGENTS.md defines your typical tech stack and general conventions as a developer, while the project AGENTS.md defines that specific project&amp;rsquo;s constraints and workflow.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;what-to-put-in-the-global-agentsmd&#34;&gt;What to put in the global AGENTS.md
&lt;/h3&gt;&lt;p&gt;The global &lt;code&gt;~/.pi/agent/AGENTS.md&lt;/code&gt; is a good place to record the tech-stack preferences you use day to day. The global AGENTS.md that DeepakNess shares on his blog is a great reference example:&lt;/p&gt;
&lt;p&gt;This content comes from DeepakNess&amp;rsquo;s article, &lt;a class=&#34;link&#34; href=&#34;https://deepakness.com/blog/pi-agent-setup/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Setting Up and Using the Pi Coding Agent&lt;/a&gt;. It doesn&amp;rsquo;t try to be overly specific — instead it gives broad tech-stack hints while asking Pi to defer to the project-level AGENTS.md first.&lt;/p&gt;
&lt;h3 id=&#34;how-to-organize-a-project-agentsmd&#34;&gt;How to organize a project AGENTS.md
&lt;/h3&gt;&lt;p&gt;The project-level AGENTS.md needs to be more precise. Here&amp;rsquo;s a template tailored for a TypeScript project, based on the recommendations in the &lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;official Pi documentation&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;If you manage multiple projects, it&amp;rsquo;s worth keeping a template for each project type. Copy it over each time you start a new project and adjust the tech-stack fields as needed.&lt;/p&gt;
&lt;h3 id=&#34;remember-to-reload-after-changes&#34;&gt;Remember to reload after changes
&lt;/h3&gt;&lt;p&gt;Every time you modify AGENTS.md, you need to run &lt;code&gt;/reload&lt;/code&gt; or restart Pi for the change to take effect. This operation isn&amp;rsquo;t triggered often, but it&amp;rsquo;s easy to forget. It&amp;rsquo;s best to test immediately after writing a new rule to confirm Pi&amp;rsquo;s behavior changed as expected.&lt;/p&gt;
&lt;h2 id=&#34;what-does-append_systemmd-control&#34;&gt;What does APPEND_SYSTEM.md control?
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;~/.pi/agent/APPEND_SYSTEM.md&lt;/code&gt; is appended to the end of the system prompt, and it takes precedence over &lt;code&gt;AGENTS.md&lt;/code&gt;. This means its instructions override what came before.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a good fit for defining &lt;strong&gt;behavioral guidelines that apply across projects&lt;/strong&gt;, especially constraints about how the agent works and how it interacts with the user. Drawing on official recommendations and community practice, a typical APPEND_SYSTEM.md looks like this:&lt;/p&gt;
&lt;p&gt;These rules ensure Pi maintains a consistent way of working across projects, without having to restate everything at the start of every conversation.&lt;/p&gt;
&lt;h2 id=&#34;settingsjson-common-options-explained&#34;&gt;settings.json: common options explained
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;settings.json&lt;/code&gt; has two layers: global (&lt;code&gt;~/.pi/agent/settings.json&lt;/code&gt;) and project (&lt;code&gt;.pi/settings.json&lt;/code&gt;). Nested objects in the project layer merge with the global layer. Drawing on the &lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest/settings&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;official Pi Settings documentation&lt;/a&gt;, here are the settings most worth knowing:&lt;/p&gt;
&lt;h3 id=&#34;models-and-thinking-levels&#34;&gt;Models and thinking levels
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;defaultProvider&lt;/code&gt; and &lt;code&gt;defaultModel&lt;/code&gt; control the model Pi uses by default at startup. &lt;code&gt;defaultThinkingLevel&lt;/code&gt; sets the thinking depth, with options including &lt;code&gt;off&lt;/code&gt;, &lt;code&gt;minimal&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt;, &lt;code&gt;xhigh&lt;/code&gt;, and &lt;code&gt;max&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;enabledModels&lt;/code&gt; is a high-impact setting. It defines the list of models cycled through by &lt;code&gt;Ctrl+P&lt;/code&gt;, and supports wildcards. If you leave it unset, &lt;code&gt;Ctrl+P&lt;/code&gt; iterates over every available model for that provider, which hurts the experience significantly.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;thinkingBudgets&lt;/code&gt; lets you customize the token budget for each thinking level. The numbers above follow the defaults given in the official Pi documentation. Whether to adjust them depends on your model and task: the higher the budget, the deeper the thinking, and the more tokens consumed.&lt;/p&gt;
&lt;h3 id=&#34;context-compaction&#34;&gt;Context compaction
&lt;/h3&gt;&lt;p&gt;Compaction is Pi&amp;rsquo;s core mechanism for handling long contexts. When the session approaches the context limit, Pi automatically summarizes older messages to free up space for subsequent conversation.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;reserveTokens&lt;/code&gt;: the number of tokens reserved for the LLM&amp;rsquo;s response (default 16384). The smaller this value, the sooner compaction happens.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;keepRecentTokens&lt;/code&gt;: the number of recent tokens kept without being summarized (default 20000). Kept messages stay intact, ensuring the most recent discussion isn&amp;rsquo;t lost.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you regularly handle long sessions, you can raise &lt;code&gt;keepRecentTokens&lt;/code&gt;. Note, though, that this reduces compaction efficiency and may hit the model&amp;rsquo;s context-window ceiling sooner.&lt;/p&gt;
&lt;h3 id=&#34;retry-strategy&#34;&gt;Retry strategy
&lt;/h3&gt;&lt;p&gt;The retry configuration is split into two layers: agent-level retries (handled by Pi itself) and provider-level retries (handled by the API SDK). The official documentation recommends keeping &lt;code&gt;retry.provider.maxRetries&lt;/code&gt; at 0, because provider-level retries can burn quota before you even see a rate-limit error.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;baseDelayMs&lt;/code&gt; controls the initial delay of exponential backoff: 2s → 4s → 8s. For tasks that need to run stably over a long time (for example, batch data crawling), you can reasonably increase this value.&lt;/p&gt;
&lt;h3 id=&#34;project-trust-mode&#34;&gt;Project trust mode
&lt;/h3&gt;&lt;p&gt;When Pi first starts in a project, it asks whether to trust that project&amp;rsquo;s &lt;code&gt;.pi/&lt;/code&gt; directory. This mechanism exists to prevent malicious project plugins from auto-loading.&lt;/p&gt;
&lt;p&gt;Available values include &lt;code&gt;ask&lt;/code&gt; (ask every time, the default), &lt;code&gt;always&lt;/code&gt; (auto-trust), and &lt;code&gt;never&lt;/code&gt; (never trust). In CI or automation scenarios, you can use the &lt;code&gt;-a&lt;/code&gt; / &lt;code&gt;--approve&lt;/code&gt; flag to skip the prompt.&lt;/p&gt;
&lt;h2 id=&#34;adding-custom-models-with-modelsjson&#34;&gt;Adding custom models with models.json
&lt;/h2&gt;&lt;p&gt;If your model isn&amp;rsquo;t among Pi&amp;rsquo;s built-in 20-plus Providers, you can add it via &lt;code&gt;~/.pi/agent/models.json&lt;/code&gt;. This file supports Ollama, LM Studio, vLLM, OpenRouter, Cloudflare AI Gateway, and any OpenAI-compatible API endpoint.&lt;/p&gt;
&lt;p&gt;Referencing the full configuration notes in the &lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest/models&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;official Pi Models documentation&lt;/a&gt;, here are the three most common scenarios:&lt;/p&gt;
&lt;h3 id=&#34;scenario-1-a-local-model-via-ollama&#34;&gt;Scenario 1: a local model via Ollama
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;apiKey&lt;/code&gt; being set to &lt;code&gt;&amp;quot;ollama&amp;quot;&lt;/code&gt; is just a placeholder. Ollama doesn&amp;rsquo;t validate the API key, but Pi needs an auth value to show the model in &lt;code&gt;/model&lt;/code&gt;. The two switches under &lt;code&gt;compat&lt;/code&gt; target Ollama&amp;rsquo;s characteristics: it doesn&amp;rsquo;t support the developer role or the reasoning_effort parameter.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;name&lt;/code&gt; field gives a human-readable label. Pi uses this value both in the model selector and when matching the &lt;code&gt;--model&lt;/code&gt; mode.&lt;/p&gt;
&lt;h3 id=&#34;scenario-2-openrouter-routing-configuration&#34;&gt;Scenario 2: OpenRouter routing configuration
&lt;/h3&gt;&lt;p&gt;OpenRouter lets you set routing preferences among multiple API providers. The configuration below follows the OpenRouter example in the official Pi documentation:&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;openRouterRouting&lt;/code&gt; object is passed through verbatim to the &lt;code&gt;provider&lt;/code&gt; field of the OpenRouter API. &lt;code&gt;order&lt;/code&gt; specifies provider priority, and &lt;code&gt;data_collection: &amp;quot;deny&amp;quot;&lt;/code&gt; declines to use your data for training.&lt;/p&gt;
&lt;h3 id=&#34;scenario-3-proxying-the-anthropic-api&#34;&gt;Scenario 3: proxying the Anthropic API
&lt;/h3&gt;&lt;p&gt;If you use a third-party proxy for the Anthropic Messages API, you can configure it like this:&lt;/p&gt;
&lt;p&gt;In &lt;code&gt;models.json&lt;/code&gt;, &lt;code&gt;apiKey&lt;/code&gt; and &lt;code&gt;headers&lt;/code&gt; support three value-resolution modes: a direct literal, &lt;code&gt;$ENV_VAR&lt;/code&gt; environment-variable interpolation, or &lt;code&gt;!command&lt;/code&gt; command execution. Bitdoze notes in the &lt;a class=&#34;link&#34; href=&#34;https://www.bitdoze.com/pi-coding-agent-setup-guide/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi Coding Agent Setup Guide&lt;/a&gt; that Pi supports Ollama, LM Studio, vLLM, and any OpenAI-compatible endpoint. This extensibility is a major advantage over comparable tools.&lt;/p&gt;
&lt;h2 id=&#34;managing-api-credentials-with-authjson&#34;&gt;Managing API credentials with auth.json
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;~/.pi/agent/auth.json&lt;/code&gt; stores the API keys and OAuth tokens for all providers. Its permission is set to &lt;code&gt;0600&lt;/code&gt;, allowing only the current user to read and write it.&lt;/p&gt;
&lt;p&gt;auth.json supports three ways of resolving keys:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Literal&lt;/strong&gt;: use the API key string directly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environment-variable interpolation&lt;/strong&gt;: &lt;code&gt;&amp;quot;$MY_KEY&amp;quot;&lt;/code&gt; or &lt;code&gt;&amp;quot;${KEY_PREFIX}_${KEY_SUFFIX}&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shell command&lt;/strong&gt;: &lt;code&gt;&amp;quot;!security find-generic-password -ws &#39;anthropic&#39;&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The official documentation notes that auth.json takes precedence over environment variables. This means if you&amp;rsquo;ve set both a &lt;code&gt;DEEPSEEK_API_KEY&lt;/code&gt; environment variable and a deepseek entry in auth.json, the latter overrides the former.&lt;/p&gt;
&lt;p&gt;One practical tip is to use a shell command to read the credential from the system keychain, avoiding writing your API key in plaintext to any file:&lt;/p&gt;
&lt;h2 id=&#34;model-switching-strategy-which-model-to-use-when&#34;&gt;Model-switching strategy: which model to use when
&lt;/h2&gt;&lt;p&gt;One of Pi&amp;rsquo;s core strengths is model-agnosticism. You can pick a different model for different tasks, and switching is instantaneous.&lt;/p&gt;
&lt;h3 id=&#34;how-to-switch&#34;&gt;How to switch
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Action&lt;/th&gt;
          &lt;th&gt;Shortcut / command&lt;/th&gt;
          &lt;th&gt;Notes&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Open the model selector&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Ctrl+L&lt;!-- raw HTML omitted --&gt; or &lt;!-- raw HTML omitted --&gt;/model&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Quickly switch models&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cycle through models&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Ctrl+P&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Rotate through the &lt;!-- raw HTML omitted --&gt;enabledModels&lt;!-- raw HTML omitted --&gt; list&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Adjust thinking level&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Shift+Tab&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Toggle thinking depth&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Interrupt the current action&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Escape&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Cancel the running task&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Send a steering message&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Enter&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Interrupt the agent&amp;rsquo;s current workflow and respond immediately&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Send a follow-up message&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Alt+Enter&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Append a message after the agent finishes its work&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Quit&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Ctrl+C&lt;!-- raw HTML omitted --&gt; (press twice)&lt;/td&gt;
          &lt;td&gt;Exit Pi&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Reference a file&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;@&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Fuzzy-search files&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Run a command&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;!&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Send a command&amp;rsquo;s output to the model&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Silent command&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;!!&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Run a command without adding it to context&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The shortcut table partly draws on the &lt;a class=&#34;link&#34; href=&#34;https://pi-agent.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi Agent Chinese guide&lt;/a&gt; and DeepakNess&amp;rsquo;s setup article.&lt;/p&gt;
&lt;h3 id=&#34;a-recommended-layered-strategy&#34;&gt;A recommended layered strategy
&lt;/h3&gt;&lt;p&gt;Experience from multiple community users converges on the same pattern: use models in layers, matching capability to task complexity. The following is drawn from DeepakNess and Bitdoze&amp;rsquo;s articles:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Task type&lt;/th&gt;
          &lt;th&gt;Recommended model&lt;/th&gt;
          &lt;th&gt;Thinking level&lt;/th&gt;
          &lt;th&gt;Reasoning&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Quick edits, file operations, batch scripts&lt;/td&gt;
          &lt;td&gt;DeepSeek V4 Flash / MiniMax M2.7&lt;/td&gt;
          &lt;td&gt;low or off&lt;/td&gt;
          &lt;td&gt;Extremely cheap, plenty for fast tasks&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Everyday coding, small-to-medium refactors&lt;/td&gt;
          &lt;td&gt;DeepSeek V4 Pro / Qwen 3.6 Plus&lt;/td&gt;
          &lt;td&gt;medium&lt;/td&gt;
          &lt;td&gt;Balances quality and cost&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Deep analysis, architecture design, complex debugging&lt;/td&gt;
          &lt;td&gt;DeepSeek V4 Pro / Claude Sonnet 4&lt;/td&gt;
          &lt;td&gt;high or xhigh&lt;/td&gt;
          &lt;td&gt;Needs a deeper reasoning chain&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Visual tasks (screenshot understanding, UI analysis)&lt;/td&gt;
          &lt;td&gt;Kimi K3 / Claude&lt;/td&gt;
          &lt;td&gt;depends on the model&lt;/td&gt;
          &lt;td&gt;Proxied via pi-vision-proxy when the main model has no vision&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;DeepakNess provides a concrete data point in his article: crawling 285,000 URLs with DeepSeek V4 Flash took about 1.5 hours with a total cost of $1. That illustrates the cost-effectiveness of low thinking level plus a cheap model on batch tasks.&lt;/p&gt;
&lt;h3 id=&#34;enabledmodels-wildcards&#34;&gt;enabledModels wildcards
&lt;/h3&gt;&lt;p&gt;To make &lt;code&gt;Ctrl+P&lt;/code&gt; switching more efficient, it&amp;rsquo;s worth setting an &lt;code&gt;enabledModels&lt;/code&gt; list in settings.json:&lt;/p&gt;
&lt;p&gt;Wildcards match all qualifying models. If you only need two or three specific models, you can also write exact IDs:&lt;/p&gt;
&lt;h2 id=&#34;how-thinking-level-affects-output-quality&#34;&gt;How Thinking Level affects output quality
&lt;/h2&gt;&lt;p&gt;Pi&amp;rsquo;s thinking level is a layered parameter that controls how deeply the model reasons before answering. Based on the official Settings docs at pi.dev and the thinkingLevelMap explanation in models.md, different levels correspond to different behavioral characteristics:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Level&lt;/th&gt;
          &lt;th&gt;Use case&lt;/th&gt;
          &lt;th&gt;Token budget (default)&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;off&lt;/td&gt;
          &lt;td&gt;Simple Q&amp;amp;A, tasks that need no reasoning&lt;/td&gt;
          &lt;td&gt;no reasoning tokens&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;minimal&lt;/td&gt;
          &lt;td&gt;Very simple judgments, such as &amp;ldquo;yes/no&amp;rdquo; classification&lt;/td&gt;
          &lt;td&gt;1024&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;low&lt;/td&gt;
          &lt;td&gt;Light reasoning, e.g. formatting, simple conversions&lt;/td&gt;
          &lt;td&gt;4096&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;medium&lt;/td&gt;
          &lt;td&gt;Routine coding tasks&lt;/td&gt;
          &lt;td&gt;10240&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;high&lt;/td&gt;
          &lt;td&gt;Complex refactors, debugging&lt;/td&gt;
          &lt;td&gt;32768&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;xhigh&lt;/td&gt;
          &lt;td&gt;Deep analysis, architecture design&lt;/td&gt;
          &lt;td&gt;65536&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;max&lt;/td&gt;
          &lt;td&gt;Extremely complex multi-step reasoning&lt;/td&gt;
          &lt;td&gt;provider cap&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The differences between levels aren&amp;rsquo;t linear. The biggest quality gain is from low to medium; from high to xhigh, the marginal returns diminish. In practice, 80% of everyday tasks get satisfactory results at the medium level.&lt;/p&gt;
&lt;p&gt;For models that support thinkingLevelMap, you can finely control in models.json which provider-side parameter each level maps to. For example, a given model might only need the high and max levels, with the middle levels skipped:&lt;/p&gt;
&lt;p&gt;This mechanism comes from the thinkingLevelMap explanation in the Pi Models documentation. When a model doesn&amp;rsquo;t support certain levels, Pi automatically jumps to the adjacent supported level.&lt;/p&gt;
&lt;h2 id=&#34;context-management-compaction-session-trees-and-manual-control&#34;&gt;Context management: compaction, session trees, and manual control
&lt;/h2&gt;&lt;p&gt;Long sessions are the norm for coding agents. Pi provides three layers of context-management mechanisms.&lt;/p&gt;
&lt;h3 id=&#34;automatic-compaction&#34;&gt;Automatic compaction
&lt;/h3&gt;&lt;p&gt;Compaction runs in the background. When the context approaches the model&amp;rsquo;s window limit, Pi automatically summarizes older messages. &lt;code&gt;compaction.reserveTokens&lt;/code&gt; controls when compaction triggers: it fires when the remaining tokens drop below this value. &lt;code&gt;compaction.keepRecentTokens&lt;/code&gt; ensures the most recent messages aren&amp;rsquo;t summarized.&lt;/p&gt;
&lt;p&gt;If you want finer control, you can trigger &lt;code&gt;/compact&lt;/code&gt; manually and Pi will immediately compact the current session.&lt;/p&gt;
&lt;h3 id=&#34;session-tree-management&#34;&gt;Session-tree management
&lt;/h3&gt;&lt;p&gt;The &lt;code&gt;/tree&lt;/code&gt; command displays the session history as a tree structure. Each branch represents a conversation path. Pi supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/resume&lt;/code&gt;: pick up a previous session and continue working&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/new&lt;/code&gt;: start a new session&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/fork&lt;/code&gt;: branch from the current session to begin a new line of conversation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This design lets you try different solution paths without losing context.&lt;/p&gt;
&lt;h2 id=&#34;a-complete-configuration-template&#34;&gt;A complete configuration template
&lt;/h2&gt;&lt;p&gt;Combining all of the above, here&amp;rsquo;s a complete configuration you can put into daily use.&lt;/p&gt;
&lt;h3 id=&#34;global-settingsjson&#34;&gt;Global settings.json
&lt;/h3&gt;&lt;h3 id=&#34;global-append_systemmd&#34;&gt;Global APPEND_SYSTEM.md
&lt;/h3&gt;&lt;h3 id=&#34;project-pisettingsjson-overriding-the-global-compaction-strategy&#34;&gt;Project .pi/settings.json (overriding the global compaction strategy)
&lt;/h3&gt;&lt;p&gt;This override makes short-session projects that need frequent compaction trigger it earlier, avoiding wasted context window.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;Pi&amp;rsquo;s configuration system revolves around one core principle: &lt;strong&gt;layer on layer, precise control&lt;/strong&gt;. Global configuration defines general behavior, project configuration overrides specific needs, AGENTS.md conveys project context, and APPEND_SYSTEM.md constrains the agent&amp;rsquo;s behavioral patterns.&lt;/p&gt;
&lt;p&gt;Once you understand what each layer is responsible for and its priority, Pi&amp;rsquo;s &amp;ldquo;minimal core + external configuration&amp;rdquo; design philosophy stops being a &amp;ldquo;too few features&amp;rdquo; weakness and becomes a &amp;ldquo;you control everything&amp;rdquo; strength. When facing different tasks each day, you only need to switch models with &lt;code&gt;Ctrl+P&lt;/code&gt; and adjust thinking depth with &lt;code&gt;Shift+Tab&lt;/code&gt; to move quickly between different working modes.&lt;/p&gt;
&lt;p&gt;If your configuration already covers the main files mentioned in this article, the next step is to focus on the extension system: use &lt;code&gt;pi install&lt;/code&gt; to add packages such as pi-web-access (web search), pi-codex-goal (task tracking), and pi-vision-proxy (vision proxy), gradually building a Pi environment fully suited to your own workflow.&lt;/p&gt;
&lt;p&gt;Sources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi official documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest/settings&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi official Settings documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest/providers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi official Providers documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest/models&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi official Models documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://deepakness.com/blog/pi-agent-setup/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepakNess: Setting Up and Using the Pi Coding Agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bitdoze.com/pi-coding-agent-setup-guide/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bitdoze: Pi Coding Agent Setup Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi-agent.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi Agent Chinese guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Pi Coding Agent in Practice: A Complete Guide from Installation to Everyday Use</title>
        <link>https://torchtree.com/en/post/pi-agent-setup-guide/</link>
        <pubDate>Sat, 13 Jun 2026 02:01:27 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/pi-agent-setup-guide/</guid>
        <description>&lt;p&gt;Pi is an open-source terminal coding agent built by Mario Zechner, the author of libGDX. Its core is just 418 lines of TypeScript, providing four tools by default — &lt;code&gt;read&lt;/code&gt;, &lt;code&gt;write&lt;/code&gt;, &lt;code&gt;edit&lt;/code&gt;, and &lt;code&gt;bash&lt;/code&gt; — with all advanced features supplied through extensions and packages. Previously I analyzed Pi&amp;rsquo;s design philosophy &lt;a class=&#34;link&#34; href=&#34;https://hitorch.cn/pi-coding-agent/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;at the architecture level&lt;/a&gt;. This article focuses on real-world use: how to install it, configure it, pick extension packages, and weave Pi into your daily development workflow.&lt;/p&gt;
&lt;h2 id=&#34;positioning-pis-role-in-the-toolchain&#34;&gt;Positioning: Pi&amp;rsquo;s role in the toolchain
&lt;/h2&gt;&lt;p&gt;Pi isn&amp;rsquo;t meant to replace every coding tool. Taking DeepakNess&amp;rsquo;s actual usage as an example, three tools each have their own division of labor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OpenAI Codex&lt;/strong&gt;: handles complex tasks on the main project&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cursor&lt;/strong&gt;: everyday coding on the main project&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pi&lt;/strong&gt;: side projects, experimental tasks, and one-off scripts, usually paired with cheaper open-source models&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The core logic behind this layered strategy: use strong models plus heavyweight tools for high-complexity tasks, and lightweight agents plus low-cost models for simple or exploratory tasks — keeping overall spending in check.&lt;/p&gt;
&lt;h2 id=&#34;installation-and-first-time-configuration&#34;&gt;Installation and first-time configuration
&lt;/h2&gt;&lt;p&gt;Installing Pi only takes a single command:&lt;/p&gt;
&lt;p&gt;Once installed, launch it by typing &lt;code&gt;pi&lt;/code&gt; in the terminal and authenticate with the &lt;code&gt;/login&lt;/code&gt; command. Pi supports two authentication methods:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Subscription login&lt;/strong&gt;: supports Claude Pro/Max, ChatGPT Plus/Pro, GitHub Copilot, Google Gemini CLI, and more&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API key&lt;/strong&gt;: choose &amp;ldquo;Use an API key&amp;rdquo; and enter your provider&amp;rsquo;s secret (e.g., DeepSeek)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Use &lt;code&gt;/model&lt;/code&gt; or &lt;code&gt;Ctrl+L&lt;/code&gt; to open the model selector. The author defaults to &lt;code&gt;deepseek-v4-pro&lt;/code&gt; with the &lt;code&gt;xhigh&lt;/code&gt; thinking level for deep analysis, switching to &lt;code&gt;deepseek-v4-flash&lt;/code&gt; for quick tasks.&lt;/p&gt;
&lt;h2 id=&#34;three-core-extension-packages&#34;&gt;Three core extension packages
&lt;/h2&gt;&lt;p&gt;Pi installs extension packages with &lt;code&gt;pi install&lt;/code&gt;. The following three cover most practical scenarios:&lt;/p&gt;
&lt;h3 id=&#34;pi-web-access&#34;&gt;pi-web-access
&lt;/h3&gt;&lt;p&gt;Gives Pi web search, content scraping, YouTube transcription, and GitHub repository exploration capabilities.&lt;/p&gt;
&lt;p&gt;The configuration file lives at &lt;code&gt;~/.pi/web-search.json&lt;/code&gt;:&lt;/p&gt;
&lt;h3 id=&#34;pi-codex-goal&#34;&gt;pi-codex-goal
&lt;/h3&gt;&lt;p&gt;Adds a goal-tracking mechanism for long-running tasks, well-suited to complex tasks that require multiple steps.&lt;/p&gt;
&lt;h3 id=&#34;pi-vision-proxy&#34;&gt;pi-vision-proxy
&lt;/h3&gt;&lt;p&gt;When the main model lacks vision capabilities, it proxies image-analysis requests to a vision-capable model (such as Kimi K2.6).&lt;/p&gt;
&lt;h2 id=&#34;the-configuration-file-system&#34;&gt;The configuration-file system
&lt;/h2&gt;&lt;p&gt;Pi&amp;rsquo;s configuration is divided into two layers:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AGENTS.md (project context)&lt;/strong&gt;: placed in the project root or &lt;code&gt;~/.pi/agent/AGENTS.md&lt;/code&gt;, its contents are injected into the system prompt. Good for defining a project&amp;rsquo;s tech stack, coding conventions, and so on.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;APPEND_SYSTEM.md (global behavior rules)&lt;/strong&gt;: located at &lt;code&gt;~/.pi/agent/APPEND_SYSTEM.md&lt;/code&gt;, appended to the end of the system prompt and given higher priority than AGENTS.md. Good for defining cross-project behavioral conventions, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Automatically use the vision proxy when the main model lacks vision&lt;/li&gt;
&lt;li&gt;Prefer local files, and only search the web when necessary&lt;/li&gt;
&lt;li&gt;Explain high-risk edits and commands&lt;/li&gt;
&lt;li&gt;Write concisely and avoid AI-sounding language&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;shortcuts-and-common-commands&#34;&gt;Shortcuts and common commands
&lt;/h2&gt;&lt;p&gt;Pi&amp;rsquo;s interaction design focuses on terminal efficiency:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Action&lt;/th&gt;
          &lt;th&gt;Shortcut / command&lt;/th&gt;
          &lt;th&gt;Notes&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Open the model selector&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Ctrl+L&lt;!-- raw HTML omitted --&gt; or &lt;!-- raw HTML omitted --&gt;/model&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Quickly switch models&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cycle through models&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Ctrl+P&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Rotate through configured models&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Adjust thinking level&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Shift+Tab&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Toggle thinking depth&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Interrupt the current action&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Escape&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Cancel the running task&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Send a steering message&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Enter&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Interrupt the agent&amp;rsquo;s current workflow and respond immediately&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Send a follow-up message&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Alt+Enter&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Append a message after the agent finishes its work&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Quit&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Ctrl+C&lt;!-- raw HTML omitted --&gt; (press twice)&lt;/td&gt;
          &lt;td&gt;Exit Pi&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Common commands include &lt;code&gt;/model&lt;/code&gt;, &lt;code&gt;/settings&lt;/code&gt;, &lt;code&gt;/resume&lt;/code&gt;, &lt;code&gt;/new&lt;/code&gt;, &lt;code&gt;/tree&lt;/code&gt; (session-branch management), &lt;code&gt;/compact&lt;/code&gt; (manually compact context), and &lt;code&gt;/session&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;a-real-world-cost-example&#34;&gt;A real-world cost example
&lt;/h2&gt;&lt;p&gt;A typical use case: crawling 285,000 URLs with DeepSeek v4 Flash took about 1.5 hours for a total cost of $1. This illustrates Pi&amp;rsquo;s cost advantage when paired with open-source models.&lt;/p&gt;
&lt;h2 id=&#34;why-choose-pi&#34;&gt;Why choose Pi
&lt;/h2&gt;&lt;p&gt;Pi&amp;rsquo;s core strengths come down to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Terminal-native&lt;/strong&gt;: no UI lag, responsive&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model-agnostic&lt;/strong&gt;: switch providers anytime via &lt;code&gt;/model&lt;/code&gt;, with seamless context migration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Highly customizable&lt;/strong&gt;: the extension and package mechanism lets users assemble features on demand&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session-tree management&lt;/strong&gt;: the &lt;code&gt;/tree&lt;/code&gt; command supports branching and navigating conversation history&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automatic context compaction&lt;/strong&gt;: automatically summarizes when approaching the context limit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For terminal users, Pi&amp;rsquo;s value lies not in &amp;ldquo;having the most features&amp;rdquo; but in &amp;ldquo;having the highest controllability.&amp;rdquo; Every one of its behaviors is transparent, and every feature is explicitly installed. This design philosophy makes it the ideal choice for side projects and experimental tasks.&lt;/p&gt;
&lt;p&gt;Sources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://deepakness.com/blog/pi-agent-setup/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepakNess: Setting Up and Using the Pi Coding Agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi official documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>The Kelly Criterion: Finding the Optimal Bet Size in an Uncertain World</title>
        <link>https://torchtree.com/en/post/kelly-criterion/</link>
        <pubDate>Wed, 20 May 2026 08:03:37 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/kelly-criterion/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1670085734282-833804780cc8?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDI1fHwlRTclQUQlQjklRTclQTAlODF8ZW58MHx8fHwxNzc5MjY0MTU5fDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="Featured image of post The Kelly Criterion: Finding the Optimal Bet Size in an Uncertain World" /&gt;&lt;h2 id=&#34;what-problem-does-the-kelly-criterion-solve&#34;&gt;What problem does the Kelly Criterion solve?
&lt;/h2&gt;&lt;p&gt;Most decision dilemmas come down to two questions: whether to do something, and how big to do it. The former is about direction; the latter is about sizing. The Kelly Criterion focuses on the latter.&lt;/p&gt;
&lt;p&gt;In 1956, John L. Kelly Jr. of Bell Labs derived a mathematical framework while studying noise in information transmission. He discovered that if you treat signal transmission as analogous to gambling, there is an optimal stake size that maximizes the geometric growth rate of long-term wealth.&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Kelly_criterion&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The discovery was later introduced to the casino and Wall Street by Edward Thorp. In &lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Beat_the_Dealer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Beat the Dealer&lt;/a&gt;, published in 1962, Thorp showed that managing bet sizes in blackjack with the Kelly Criterion provides a mathematically stable edge. Since then, the Kelly Criterion has become a foundational tool in quantitative investing and money management.&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Edward_O._Thorp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;2&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;what-does-the-formula-look-like&#34;&gt;What does the formula look like
&lt;/h2&gt;&lt;p&gt;The standard form of the Kelly Criterion:&lt;/p&gt;
&lt;p&gt;f* = (bp - q) / b&lt;/p&gt;
&lt;p&gt;where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;f&lt;/strong&gt;* — the fraction of total capital to bet each time&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;p&lt;/strong&gt; — probability of winning&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;q&lt;/strong&gt; — probability of losing (q = 1 - p)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;b&lt;/strong&gt; — the odds (net profit on a win relative to the amount wagered)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://getnas.s3.bitiful.net/2026/05/01-edge-to-position.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a concrete example: suppose you&amp;rsquo;re in a game where a coin toss decides the outcome. You judge the probability of heads at 55% (p = 0.55), and winning pays 2x return (b = 1, i.e., net gain of 1x). Plug into the formula:&lt;/p&gt;
&lt;p&gt;f* = (1 × 0.55 - 0.45) / 1 = 0.10&lt;/p&gt;
&lt;p&gt;This means you should stake 10% of your total capital each time. Betting more won&amp;rsquo;t make you grow faster—in fact, the added volatility lowers your long-term growth rate. Betting less wastes your edge.&lt;/p&gt;
&lt;p&gt;If the probability of heads is only 45% (below 50%), the formula returns a negative value. The meaning is clear: no edge, don&amp;rsquo;t bet.&lt;/p&gt;
&lt;h2 id=&#34;why-optimal-rather-than-maximum&#34;&gt;Why &amp;ldquo;optimal&amp;rdquo; rather than &amp;ldquo;maximum&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;Here&amp;rsquo;s a counterintuitive key point. Suppose you have a 60% win rate and 1:1 odds. Intuition says &amp;ldquo;since I&amp;rsquo;m favored to win, I should bet a lot.&amp;rdquo; But the Kelly Criterion says to stake 20% each time.&lt;/p&gt;
&lt;p&gt;What if you bet 40%? In the short run, you might earn more. But over the long run, because wins and losses alternate, over-concentration causes wild swings in your capital curve. A single large loss can wipe out many rounds of accumulated gains.&lt;/p&gt;
&lt;p&gt;Mathematically, one can prove that in repeated games, the Kelly Criterion maximizes the long-term growth rate (the geometric growth rate) of capital.&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Kelly_criterion#Practical_use_of_Kelly_criterion&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s illustrate with a simplified model. Assume total capital of 10,000 yuan, stake fraction f each round, 60% win rate, 1:1 odds. After 100 rounds, the expected capital at different stake sizes compares as follows:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Stake size&lt;/th&gt;
          &lt;th&gt;Expected capital after 100 rounds (60% win rate)&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;10% (Half-Kelly)&lt;/td&gt;
          &lt;td&gt;~18,000 yuan&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;20% (Full Kelly)&lt;/td&gt;
          &lt;td&gt;~22,000 yuan&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;30%&lt;/td&gt;
          &lt;td&gt;~19,000 yuan&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;40%&lt;/td&gt;
          &lt;td&gt;~12,000 yuan&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;50%&lt;/td&gt;
          &lt;td&gt;~4,000 yuan&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Note: beyond the Kelly fraction, capital doesn&amp;rsquo;t decline gradually—it deteriorates sharply. That&amp;rsquo;s another layer of the Kelly Criterion: it isn&amp;rsquo;t just the &amp;ldquo;earn the most&amp;rdquo; plan; it&amp;rsquo;s also a &amp;ldquo;don&amp;rsquo;t go broke&amp;rdquo; safety boundary.&lt;/p&gt;
&lt;h2 id=&#34;half-kelly-and-conservative-strategies-in-real-investing&#34;&gt;Half-Kelly and conservative strategies in real investing
&lt;/h2&gt;&lt;p&gt;Theoretically the Kelly fraction is optimal, but almost nobody in real investing runs the full Kelly. There are three reasons:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First, probability estimates themselves contain error.&lt;/strong&gt; You think your win rate is 60%, but the true win rate might be 55% or 52%. Small misjudgments of parameters get amplified under full Kelly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Second, odds in the real world aren&amp;rsquo;t fixed.&lt;/strong&gt; Stock market odds (i.e., expected returns) keep changing with market sentiment, macroeconomics, and industry cycles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Third, psychological tolerance is limited.&lt;/strong&gt; Even if mathematically optimal, a 40% drawdown is enough to push most people into panicked capitulation.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://getnas.s3.bitiful.net/2026/05/02-kelly-bridge.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why in practice most people adopt &amp;ldquo;Half-Kelly&amp;rdquo; or even lower fractions. Half-Kelly sacrifices roughly 25% of the long-term growth rate but cuts capital volatility by about 50%. This tradeoff of &amp;ldquo;a little return for a lot less volatility&amp;rdquo; is far more sustainable for most investors.&lt;a class=&#34;link&#34; href=&#34;https://www.investopedia.com/articles/04/030404.asp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;4&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;what-the-kelly-criterion-teaches-us-about-life&#34;&gt;What the Kelly Criterion teaches us about life
&lt;/h2&gt;&lt;p&gt;The core logic of the Kelly Criterion applies not only to casinos and stock markets—it offers a general decision framework.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Identify your edge.&lt;/strong&gt; The Kelly Criterion assumes you already know p and b. In reality, the first step is to honestly assess: do I have an edge in this domain? How big is it? If the answer is &amp;ldquo;no&amp;rdquo; or &amp;ldquo;uncertain,&amp;rdquo; the formula recommends zero commitment. That in itself is a valuable life principle: concentrate resources where you have a cognitive edge.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sizing depends on the size of the edge.&lt;/strong&gt; The bigger the edge, the more you invest; the smaller the edge, the less. This logic applies to career choices (what are your win rate and potential returns in this track), startup decisions (how strong is your product&amp;rsquo;s differentiation against competitors), even everyday time allocation (is the marginal return on time spent on this skill declining).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Avoid &amp;ldquo;all-in&amp;rdquo; thinking.&lt;/strong&gt; The Kelly Criterion never recommends going all-in, even with a 90% win rate. It&amp;rsquo;s a mathematical reminder about humility: the world is always uncertain, and over-concentration is the shortest path to ruin. In career planning, this means keeping your skill set diversified and your income sources spread out; in investing, it means always leaving room to maneuver.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Accept volatility and focus on the long run.&lt;/strong&gt; The Kelly Criterion optimizes the long-term geometric growth rate, not single-period returns. This requires accepting short-term volatility as the price of admission rather than trying to win every time. Many people lose money investing precisely because they try to eliminate all volatility, and end up accumulating fees and emotional attrition through over-trading.&lt;/p&gt;
&lt;h2 id=&#34;common-misconceptions&#34;&gt;Common misconceptions
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Myth one: The Kelly Criterion guarantees you always win.&lt;/strong&gt; It doesn&amp;rsquo;t. The Kelly Criterion only matters when you have a genuine edge. If your win rate is below the break-even point, the formula tells you not to bet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Myth two: As long as you compute the probabilities correctly, you can use the Kelly Criterion well.&lt;/strong&gt; The accuracy of your probability estimates is the whole bottleneck. In reality, human probability estimates are subject to systematic biases, and overconfidence is the most common trap.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Myth three: The Kelly Criterion only applies to gambling and investing.&lt;/strong&gt; Its underlying logic is resource-allocation optimization. Any scenario involving &amp;ldquo;how much resource should I commit to maximize long-term returns&amp;rdquo; can draw on this framework.&lt;/p&gt;
&lt;h2 id=&#34;summary-in-one-sentence&#34;&gt;Summary in one sentence
&lt;/h2&gt;&lt;p&gt;The core capability the Kelly Criterion teaches us is this: in an uncertain world, translate your judgment of an edge precisely into the intensity of action—neither wasting opportunity through caution, nor destroying yourself through recklessness.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Kelly_criterion&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kelly criterion - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Edward_O._Thorp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Edward O. Thorp - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kelly criterion, Wikipedia, &amp;ldquo;Practical use of Kelly criterion&amp;rdquo; section&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.investopedia.com/articles/04/030404.asp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Kelly Criterion - Investopedia&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        <item>
        <title>Every Generation Thinks They Can&#39;t Get Ahead—300 Years of Data Says They&#39;re All Wrong</title>
        <link>https://torchtree.com/en/post/moore-wealth-history-deep-dive/</link>
        <pubDate>Thu, 14 May 2026 12:56:55 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/moore-wealth-history-deep-dive/</guid>
        <description>&lt;p&gt;HuXiu recently republished an article from the WeChat account &lt;a class=&#34;link&#34; href=&#34;https://mp.weixin.qq.com/s/a8WclEG9O7RUqq8px_LFFw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;「不懂经」&lt;/a&gt; introducing the work &lt;em&gt;How to Get Rich in American History&lt;/em&gt; by American historian Joseph Moore. The original article&amp;rsquo;s core argument is clear and powerful: every generation complains that &amp;ldquo;it&amp;rsquo;s hardest to get ahead right now,&amp;rdquo; yet 300 years of data repeatedly prove they were all wrong each time.&lt;/p&gt;
&lt;p&gt;That conclusion is striking enough, but the original interpretation stops at a &amp;ldquo;believe and opportunity will come&amp;rdquo; level—like a bowl of lukewarm chicken soup. If we push Moore&amp;rsquo;s framework further, we uncover several key insights the original didn&amp;rsquo;t fully develop, and they have far more concrete relevance to today than the four words &amp;ldquo;stay optimistic.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;the-real-cost-of-cant-get-ahead-isnt-povertyits-hijacked-attention&#34;&gt;The real cost of &amp;ldquo;can&amp;rsquo;t get ahead&amp;rdquo; isn&amp;rsquo;t poverty—it&amp;rsquo;s hijacked attention
&lt;/h2&gt;&lt;p&gt;Moore introduces the concept of the &amp;ldquo;Big Woe&amp;rdquo; complex: a vast industry—built from academics, media, podcasts, and short videos—whose core business is convincing you that &amp;ldquo;you can&amp;rsquo;t get ahead.&amp;rdquo; The original article&amp;rsquo;s explanation was &amp;ldquo;they&amp;rsquo;re wrong, so you shouldn&amp;rsquo;t believe them.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;But that explanation ignores a sharper question: &lt;strong&gt;why is the human brain so easily captured by pessimistic narratives?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The neuroscience answer is that the human brain is naturally two to three times more sensitive to negative than positive information. This is called the &amp;ldquo;negativity bias,&amp;rdquo; a legacy of evolution. In the wild, ignoring good news only means missing a meal; ignoring bad news could cost you your life. To keep you alive, the brain weights negative information far above positive.&lt;/p&gt;
&lt;p&gt;This means the &amp;ldquo;woe industry&amp;rdquo; Moore describes works not because its content is especially persuasive, but because it surgically exploits the underlying architecture of the human nervous system. Every analysis of &amp;ldquo;class hardening,&amp;rdquo; every tweet about &amp;ldquo;K-shaped divergence,&amp;rdquo; every podcast about &amp;ldquo;the middle class sliding back&amp;rdquo; is injecting extra anxiety signals into a brain already oversensitive to negative information. &lt;strong&gt;The real question isn&amp;rsquo;t &amp;ldquo;whether the pessimistic narrative is true&amp;rdquo;—it&amp;rsquo;s &amp;ldquo;once your attention is hijacked, how much cognitive capacity is left for action?&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pew Research Center data shows 60% of young Americans believe &amp;ldquo;the American Dream is no longer possible.&amp;rdquo; Moore would counter that the data shows they&amp;rsquo;re wrong. But being &amp;ldquo;wrong&amp;rdquo; at the data level doesn&amp;rsquo;t change one fact: when a person spends a large slice of cognitive bandwidth on anxiety, the resources they&amp;rsquo;d use to spot opportunities, weigh risks, and execute plans shrink. The cost of pessimism isn&amp;rsquo;t that it makes you &amp;ldquo;disbelieve in opportunity&amp;rdquo;—it leaves you with &lt;strong&gt;no energy&lt;/strong&gt; to do the things that create opportunity.&lt;/p&gt;
&lt;p&gt;This is exactly the point Moore touches on when citing Consumer Financial Protection Bureau research: income and &amp;ldquo;financial well-being&amp;rdquo; are only weakly correlated—the strongest predictors are &amp;ldquo;optimism about the future&amp;rdquo; and &amp;ldquo;saving habits.&amp;rdquo; The causal chain goes like this: pessimistic narrative → hijacked attention → reduced capacity for action → missed opportunities → confirming the &amp;ldquo;can&amp;rsquo;t get ahead&amp;rdquo; prophecy.&lt;/p&gt;
&lt;h2 id=&#34;the-past-was-easier-is-a-cognitive-illusion-but-todays-anxiety-has-real-anchors&#34;&gt;&amp;ldquo;The past was easier&amp;rdquo; is a cognitive illusion, but today&amp;rsquo;s anxiety has real anchors
&lt;/h2&gt;&lt;p&gt;Moore uses 300 years of data to establish a stable cognitive pattern: every generation yearns for a time when &amp;ldquo;the past was easier.&amp;rdquo; Virginians in 1676 thought things were better 15 years earlier; textile workers in 1870 thought the colonial era was better; workers in 1929 thought the Gilded Age was better.&lt;/p&gt;
&lt;p&gt;This pattern holds true in today&amp;rsquo;s China. Social media is full of nostalgia for &amp;ldquo;the era around 2010&amp;rdquo;: housing prices hadn&amp;rsquo;t taken off yet, the internet still had its dividend, and getting a civil-service job wasn&amp;rsquo;t so ruthlessly competitive. But China&amp;rsquo;s per-capita GDP in 1980 was only about $200, and most families couldn&amp;rsquo;t afford a single color TV. The so-called &amp;ldquo;easier past&amp;rdquo; simply doesn&amp;rsquo;t hold up in material terms. &lt;strong&gt;However, Moore&amp;rsquo;s framework has a blind spot: it conflates &amp;ldquo;material standard of living&amp;rdquo; and &amp;ldquo;opportunity structure.&amp;rdquo;&lt;/strong&gt; Material standards have indeed been rising steadily. An ordinary white-collar worker in 2026 enjoys far better material conditions than a rural &amp;ldquo;ten-thousand-yuan household&amp;rdquo; of the 1980s. But changes in opportunity structure are nonlinear. In certain historical windows, the density and variety of opportunities contract sharply. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In 19th-century America, if you could buy a plot of land and start a farm, you had a chance to accumulate capital. Land was cheap; the barrier was physical labor.&lt;/li&gt;
&lt;li&gt;In the mid-20th century, if you could enter a big corporation and secure a lifetime employment contract, you could steadily build middle-class wealth. The barrier was a diploma and loyalty.&lt;/li&gt;
&lt;li&gt;From the late 20th to early 21st century, if you could get into the internet industry and receive stock options, you might achieve upward mobility within a decade. The barrier was technical skill and timing.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By 2026, these three channels have all narrowed to varying degrees. Land is no longer an ordinary person&amp;rsquo;s ticket in; lifetime employment has become flexible labor; the internet&amp;rsquo;s dividend is over, and AI is reshuffling the deck. Moore would say &amp;ldquo;every generation thinks the channel is closed, but they&amp;rsquo;re wrong&amp;rdquo;—and that&amp;rsquo;s statistically true. &lt;strong&gt;But &amp;ldquo;statistically, someone can make it&amp;rdquo; and &amp;ldquo;most people can make it&amp;rdquo; are two different things.&lt;/strong&gt; Here&amp;rsquo;s a key data point the original article missed: the research Moore cites shows that between 1820 and 1910, at most 28% of residents in US cities achieved upward mobility. The original called &amp;ldquo;28% a striking number&amp;rdquo; because it was far higher than Europe in the same period. But read the sentence the other way: &lt;strong&gt;72% did not achieve upward mobility.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Most people stay where they are; a minority get ahead. What Moore proves is that &amp;ldquo;can&amp;rsquo;t get ahead&amp;rdquo; is wrong as a &lt;strong&gt;collective judgment&lt;/strong&gt;, but as an &lt;strong&gt;individual experience&lt;/strong&gt; it&amp;rsquo;s real for most people. Acknowledging that is more constructive than simply denying it.&lt;/p&gt;
&lt;h2 id=&#34;slow-time-and-fast-time-the-real-lesson-isnt-waitits-posture-of-readiness&#34;&gt;Slow time and fast time: the real lesson isn&amp;rsquo;t &amp;ldquo;wait&amp;rdquo;—it&amp;rsquo;s &amp;ldquo;posture of readiness&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;Moore&amp;rsquo;s &amp;ldquo;Slow Time&amp;rdquo; and &amp;ldquo;Fast Time&amp;rdquo; framework is the most practically valuable concept in the book. The original interpreted it as: accumulate during slow time, and when fast time arrives you&amp;rsquo;ll be ready to catch it.&lt;/p&gt;
&lt;p&gt;That interpretation is too simplistic. Moore tells two stories to illustrate the framework:&lt;/p&gt;
&lt;p&gt;Hollywood star Kim Basinger bought a small Georgia town in the 1990s, hoping to build a film studio. Her direction was right (the region later became one of the fastest-growing film production centers in the world), but she mistook slow time for fast time and went bankrupt waiting.&lt;/p&gt;
&lt;p&gt;Norman McGhee bought more than 100 foreclosed homes with borrowed money during the Great Depression, and after the economy recovered became one of the most important Black businessmen of his generation. He kept slow-time patience during fast time.&lt;/p&gt;
&lt;p&gt;The difference between these two stories &lt;strong&gt;isn&amp;rsquo;t patience—it&amp;rsquo;s cognitive precision&lt;/strong&gt;. Basinger knew the direction was right but didn&amp;rsquo;t know the time scale. McGhee knew the direction was right and also understood that economic cycles have their own rhythm. The distinction: one was betting that fast time would come, the other was making structural preparations for fast time. &lt;strong&gt;To translate the framework into today&amp;rsquo;s language:&lt;/strong&gt; &amp;ldquo;slow time&amp;rdquo; is the everyday you&amp;rsquo;re living through right now. Housing prices drifting down, discussions of AI replacing jobs, workplace rat-race, consumption downgrading. These changes are so slow they feel like they&amp;rsquo;ll never end.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Fast time&amp;rdquo; is the moment some variable suddenly breaks through its threshold. It could be an AI capability breakthrough that makes certain jobs vanish overnight, a policy shift that opens a new wealth channel, or the start of a technology cycle that pays disproportionate returns to those who got positioned early. &lt;strong&gt;What Moore is really saying: you can&amp;rsquo;t predict when fast time will arrive, but you can place yourself in a structural position that can catch it when it does.&lt;/strong&gt; That position is more than simply &amp;ldquo;saving up enough money.&amp;rdquo; It includes: whether the skills you hold will command a premium in the next wave of change; whether your network connects you to the sources of new opportunity; whether your cognitive framework is flexible enough to recognize the signal that &amp;ldquo;the rules have changed.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In other words, preparation in slow time isn&amp;rsquo;t passive waiting—it&amp;rsquo;s a deliberate &amp;ldquo;posture adjustment.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;the-rules-keep-changing-every-generation-navigates-with-the-previous-generations-map&#34;&gt;&amp;ldquo;The rules keep changing&amp;rdquo;: every generation navigates with the previous generation&amp;rsquo;s map
&lt;/h2&gt;&lt;p&gt;Moore uses 300 years of data to trace how the rules for getting rich have changed: farms and canal stocks in the 19th century, railroads and steel in the early 20th, stocks and real estate in the mid-20th, corporate equity and the internet in the late 20th, and today compute capacity, attention coordinates, and algorithmic pricing power. &lt;strong&gt;The original summarized this insight as &amp;ldquo;most people operate with the previous generation&amp;rsquo;s map,&amp;rdquo; but didn&amp;rsquo;t ask a deeper question: why does every generation walk around with an old map?&lt;/strong&gt; The answer lies in the &amp;ldquo;anchoring effect&amp;rdquo; from cognitive science. The human brain tends to use the most recent success as the template for the future. If someone profited from real-estate speculation in 2015, their brain encodes &amp;ldquo;buying property = making money&amp;rdquo; as a reliable rule. When the environment shifts (prices no longer rise broadly, liquidity tightens), their first reaction isn&amp;rsquo;t &amp;ldquo;the rules changed&amp;rdquo;—it&amp;rsquo;s &amp;ldquo;this is only temporary.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why Moore&amp;rsquo;s data is so persuasive: it isn&amp;rsquo;t saying something abstract like &amp;ldquo;opportunity always exists.&amp;rdquo; It&amp;rsquo;s saying &lt;strong&gt;&amp;ldquo;the rules switch far more frequently than human intuition expects.&amp;rdquo;&lt;/strong&gt; Over 300 years, the rule for getting rich has undergone a fundamental transformation roughly every 30 to 50 years. And the psychological age of humans (how fast their cognitive framework updates) can&amp;rsquo;t keep up with that pace.&lt;/p&gt;
&lt;p&gt;Placing this pattern in the 2026 Chinese context: the mainstream wealth path of the past 20 years was &amp;ldquo;college → big tech / civil service → buy a house → financial security.&amp;rdquo; That path was largely effective before 2020. But now, layoffs at big tech have become routine, the civil service is cutting salaries while expanding headcount, and housing prices are flat or drifting down. The old map is failing. &lt;strong&gt;But Moore&amp;rsquo;s data also tells us: the moment the old map fails is precisely the moment a new map becomes most valuable.&lt;/strong&gt; At every rule switch, a small group—precisely because their cognitive framework is flexible enough—identifies and executes the new rules first. What they share isn&amp;rsquo;t good luck; it&amp;rsquo;s that they started exploring the new rules while the old ones were still working.&lt;/p&gt;
&lt;h2 id=&#34;marriage-as-a-financial-strategy-a-badly-underrated-variable-in-the-chinese-context&#34;&gt;Marriage as a financial strategy: a badly underrated variable in the Chinese context
&lt;/h2&gt;&lt;p&gt;The original article mentioned that Moore sees marriage as a &amp;ldquo;badly underrated financial strategy,&amp;rdquo; but only gave a superficial treatment. In today&amp;rsquo;s Chinese context, this point deserves its own unpacking.&lt;/p&gt;
&lt;p&gt;All the examples Moore cites point to the same mechanism: a dual-income household lives on one income and pours the other into asset accumulation. Flagler, Bell, Stanford, and Sam Walton all launched with capital from their spouse&amp;rsquo;s family. This was common knowledge in 19th-century America, but in today&amp;rsquo;s Chinese discourse, &amp;ldquo;marriage&amp;rdquo; is mostly discussed as a matter of emotion and consumption (bride price, weddings, adding a name to the property deed), and almost never as a &lt;strong&gt;synergy&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The core mechanism is this:&lt;/strong&gt; a single-worker financial model is linear (time for money); a dual-worker model is, ideally, exponential (one income covers living costs, the other goes entirely into compounding assets). Moore makes a sharp remark in the book: &amp;ldquo;Having one person support the family is the real invention—and it&amp;rsquo;s a terrible one.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t advocating &amp;ldquo;marrying for money.&amp;rdquo; Moore&amp;rsquo;s point is that marriage, as a long-term shared financial unit, yields compounding effects far beyond what most people recognize. One person&amp;rsquo;s spending impulses are random; two people&amp;rsquo;s spending decisions, after negotiation, tend to be more rational. One person&amp;rsquo;s investment perspective is singular; two people&amp;rsquo;s combined knowledge and judgment cover more ground. This isn&amp;rsquo;t psychology chicken soup—it&amp;rsquo;s portfolio theory applied to the household.&lt;/p&gt;
&lt;h2 id=&#34;the-real-takeaway-belief-is-the-infrastructure-for-action&#34;&gt;The real takeaway: belief is the infrastructure for action
&lt;/h2&gt;&lt;p&gt;Moore&amp;rsquo;s own transformation story is the most persuasive part of the book. Born into a Southern working-class family and a committed Marxist, he taught students each semester that &amp;ldquo;the American Dream is a myth.&amp;rdquo; After the 2008 financial crisis, he began personally testing the money-making methods he&amp;rsquo;d excavated from historical sources. Eventually, he became a millionaire.&lt;/p&gt;
&lt;p&gt;The original read this transformation as &amp;ldquo;belief changes destiny,&amp;rdquo; but that&amp;rsquo;s only the surface of the story. &lt;strong&gt;A more accurate formulation: belief is the infrastructure for action.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When Moore believed &amp;ldquo;you can&amp;rsquo;t get ahead,&amp;rdquo; his behaviors were: studying history, analyzing inequality, criticizing capitalism in the classroom. These behaviors were cognitively self-consistent but financially inert. When he changed that underlying belief, his behaviors changed with it: he started buying property, running things by market logic, making decisions with business reasoning. &lt;strong&gt;The key isn&amp;rsquo;t &amp;ldquo;optimism&amp;rdquo; itself—it&amp;rsquo;s that optimism changes the search space of behavior.&lt;/strong&gt; A pessimistic person chooses among known, low-risk options. An optimistic person searches a larger space of options, including those with higher risk and higher reward. Over the long run, a larger search space means a higher expected value.&lt;/p&gt;
&lt;p&gt;This aligns with another study Moore cites: optimistic views of the future significantly predict long-term saving behavior. Saving isn&amp;rsquo;t the &amp;ldquo;result of optimism&amp;rdquo;—saving is &amp;ldquo;a manifestation that optimism has changed behavior patterns.&amp;rdquo; What actually changes is that the person begins making decisions on longer time horizons, directing resources toward the future instead of burning them in the present.&lt;/p&gt;
&lt;h2 id=&#34;closing-thoughts&#34;&gt;Closing thoughts
&lt;/h2&gt;&lt;p&gt;Moore uses 300 years of data to prove three things: every generation thinks it&amp;rsquo;s living through the hardest era, but the data says they&amp;rsquo;re wrong; the rules for getting rich keep changing, and most people navigate with an old map; fast time will always come—you can&amp;rsquo;t predict when, but you can position yourself to catch it.&lt;/p&gt;
&lt;p&gt;The original interpretation stops there. But push one level deeper, and Moore&amp;rsquo;s real contribution isn&amp;rsquo;t the data or the framework—it&amp;rsquo;s a more basic observation: &lt;strong&gt;human judgments about their own situation systematically deviate from reality.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And that deviation almost always runs toward pessimism. That bias itself is the source of opportunity.&lt;/p&gt;
&lt;p&gt;Because while most people are consuming cognitive resources in pessimism, those who keep their capacity for action face less competition.&lt;/p&gt;
&lt;p&gt;Reference: &lt;a class=&#34;link&#34; href=&#34;https://mp.weixin.qq.com/s/a8WclEG9O7RUqq8px_LFFw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;不懂经 - It&amp;rsquo;s easier to get ahead today than ever before&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Malus.sh: How AI Clean-Room Clones Threaten the Open Source Sustainability Loop</title>
        <link>https://torchtree.com/en/post/malus-sh-clean-room-ai-open-source/</link>
        <pubDate>Tue, 05 May 2026 07:16:47 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/malus-sh-clean-room-ai-open-source/</guid>
        <description>&lt;h2 id=&#34;what-is-malussh&#34;&gt;What is Malus.sh
&lt;/h2&gt;&lt;p&gt;Malus.sh (pronounced like &amp;ldquo;malice&amp;rdquo;) is an AI-powered tool that claims to recreate functional equivalents of any open source software from scratch using &amp;ldquo;Clean Room&amp;rdquo; engineering methods, while stripping away all license obligations of the original project. Its most eye-catching slogan: &amp;ldquo;No attribution. No copyleft. No problems.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;What makes the project unique is that &lt;strong&gt;it is both a satirical work and a genuinely operating commercial product&lt;/strong&gt;. Founder Mike Nolan works as a researcher on the political economy of open source at the United Nations. In an interview with 404 Media, he explicitly stated that if it were only satire, open source practitioners would dismiss it with &amp;ldquo;that can&amp;rsquo;t happen to me.&amp;rdquo; Making the tool actually usable forces the community to confront the structural cracks that already exist in the open source economic model.&lt;/p&gt;
&lt;p&gt;Malus.sh is registered as an LLC, accepts payments via Stripe, and has real paying customers. Its &amp;ldquo;liberation service&amp;rdquo; is currently unavailable, but the industry discussion it ignited keeps spreading.&lt;/p&gt;
&lt;h2 id=&#34;technical-mechanism-ai-accelerated-clean-room-engineering&#34;&gt;Technical mechanism: AI-accelerated clean-room engineering
&lt;/h2&gt;&lt;h3 id=&#34;historical-precedent-of-the-traditional-clean-room-method&#34;&gt;Historical precedent of the traditional clean-room method
&lt;/h3&gt;&lt;p&gt;The legal foundation of clean-room engineering dates back to the 1982 IBM BIOS case. At the time, IBM monopolized the personal computer market, and competitors wanted compatibility without infringing copyright. The solution was:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Team A&lt;/strong&gt; analyzes IBM&amp;rsquo;s original BIOS code and writes a functional specification&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firewall isolation&lt;/strong&gt;: strict separation between Team A and Team B&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Team B&lt;/strong&gt; sees only the specification and reimplements the code from scratch&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Legal outcome&lt;/strong&gt;: functionally compatible but independently written code, ruled by the court to be non-infringing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This case was dramatized in the first season of the HBO series &lt;em&gt;Halt and Catch Fire&lt;/em&gt;, becoming a key milestone in the history of software copyright law.&lt;/p&gt;
&lt;h3 id=&#34;maluss-ai-version-of-the-process&#34;&gt;Malus&amp;rsquo;s AI version of the process
&lt;/h3&gt;&lt;p&gt;Malus fully automates the traditional clean-room method:&lt;/p&gt;
&lt;p&gt;The concrete steps include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Upload manifest&lt;/strong&gt;: supports formats like &lt;code&gt;package.json&lt;/code&gt;, &lt;code&gt;requirements.txt&lt;/code&gt;, and &lt;code&gt;Cargo.toml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Isolated analysis&lt;/strong&gt;: four AI units separately read the README, analyze the API, study type definitions, and review documentation—&amp;ldquo;never seeing a single line of original source code&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Independent rebuild&lt;/strong&gt;: behind an isolation firewall, a separate set of AIs reimplements the code from the specification&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;License liberation&lt;/strong&gt;: the output code ships with the &lt;code&gt;MalusCorp-0 License&lt;/code&gt;—zero attribution, zero copyleft, zero obligations&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;a-leap-in-speed&#34;&gt;A leap in speed
&lt;/h3&gt;&lt;p&gt;AI&amp;rsquo;s biggest change to clean-room engineering is &lt;strong&gt;time compression&lt;/strong&gt;. Malus claims:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Project&lt;/th&gt;
          &lt;th&gt;Traditional time&lt;/th&gt;
          &lt;th&gt;Malus time&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;IBM BIOS clone (1984)&lt;/td&gt;
          &lt;td&gt;4+ months&lt;/td&gt;
          &lt;td&gt;an entire engineering team&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;left-pad&lt;!-- raw HTML omitted --&gt; (11 lines of code; its 2016 deletion crashed builds worldwide)&lt;/td&gt;
          &lt;td&gt;hours of manual rewrite&lt;/td&gt;
          &lt;td&gt;10 seconds&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;SPACEWAR!&lt;!-- raw HTML omitted --&gt; (the first video game)&lt;/td&gt;
          &lt;td&gt;weeks&lt;/td&gt;
          &lt;td&gt;5 seconds&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Developer Dan Blanchard used Anthropic&amp;rsquo;s Claude Code in early 2026 to do a similar &amp;ldquo;from scratch&amp;rdquo; MIT-licensed rewrite of the popular Python library &lt;code&gt;chardet&lt;/code&gt;. His verdict: &amp;ldquo;What used to take a team months or even years to rewrite, AI can now do in days. This trend is irreversible.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;business-model-and-pricing&#34;&gt;Business model and pricing
&lt;/h2&gt;&lt;p&gt;Malus.sh uses a usage-based pricing model:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Item&lt;/th&gt;
          &lt;th&gt;Details&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Billing method&lt;/td&gt;
          &lt;td&gt;Per-KB, based on uncompressed package size&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Per-package limit&lt;/td&gt;
          &lt;td&gt;10 MB&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Per-run limit&lt;/td&gt;
          &lt;td&gt;50 packages&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Payment methods&lt;/td&gt;
          &lt;td&gt;USD, EUR, BTC, stock options&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Output license&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;MalusCorp-0 License&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Legal protection&lt;/td&gt;
          &lt;td&gt;Claims indemnification via &amp;ldquo;an offshore subsidiary that doesn&amp;rsquo;t recognize software copyright&amp;rdquo;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The &amp;ldquo;customer testimonials&amp;rdquo; on the site are clearly satirical—e.g., &amp;ldquo;guilt doesn&amp;rsquo;t show up on quarterly reports.&amp;rdquo; But the pricing structure and payment functionality are real.&lt;/p&gt;
&lt;h2 id=&#34;the-founders-core-argument&#34;&gt;The founder&amp;rsquo;s core argument
&lt;/h2&gt;&lt;p&gt;Mike Nolan laid out Malus&amp;rsquo;s position systematically in his March 2026 blog post, &amp;ldquo;Thank You for Your Service.&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;three-structural-problems-with-open-source&#34;&gt;Three structural problems with open source
&lt;/h3&gt;&lt;h3 id=&#34;cases-where-open-source-has-already-failed&#34;&gt;Cases where open source has already failed
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Year&lt;/th&gt;
          &lt;th&gt;Event&lt;/th&gt;
          &lt;th&gt;Type&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;2016&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;left-pad&lt;!-- raw HTML omitted --&gt; deleted, thousands of builds crashed worldwide&lt;/td&gt;
          &lt;td&gt;Maintainer sabotage&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2021&lt;/td&gt;
          &lt;td&gt;Log4Shell (CVE-2021-44228)&lt;/td&gt;
          &lt;td&gt;Critical CVE&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2022&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;colors.js&lt;!-- raw HTML omitted --&gt; and &lt;!-- raw HTML omitted --&gt;faker.js&lt;!-- raw HTML omitted --&gt; injected with infinite loops&lt;/td&gt;
          &lt;td&gt;Maintainer protest&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2022&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;node-ipc&lt;!-- raw HTML omitted --&gt; contained a file-deletion payload targeting Russian/Belarusian IPs&lt;/td&gt;
          &lt;td&gt;Geopolitical sabotage&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2025&lt;/td&gt;
          &lt;td&gt;Shai Hulud 2.0 npm worm&lt;/td&gt;
          &lt;td&gt;Supply chain attack&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On Log4Shell, Nolan wrote: &amp;ldquo;Engineers patched it over their Christmas holidays, while the people who actually maintain Log4j are mostly unpaid volunteers who received panicked emails from around the world. This isn&amp;rsquo;t the failure of any individual—it&amp;rsquo;s the natural consequence of building critical global infrastructure on code that nobody is formally responsible for maintaining.&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;enterprise-compliance-cost-comparison&#34;&gt;Enterprise compliance cost comparison
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Expense item&lt;/th&gt;
          &lt;th&gt;Annual cost&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;SCA tools&lt;/td&gt;
          &lt;td&gt;$1.2M&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OSPO team&lt;/td&gt;
          &lt;td&gt;$850K&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Legal review&lt;/td&gt;
          &lt;td&gt;$700K&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Incident response&lt;/td&gt;
          &lt;td&gt;$980K&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CLA management&lt;/td&gt;
          &lt;td&gt;$270K&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Total traditional open source compliance&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;$4M&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Malus full liberation package&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;$50K/year&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Nolan claims savings of 98.75%.&lt;/p&gt;
&lt;h3 id=&#34;response-to-exploitation-accusations&#34;&gt;Response to &amp;ldquo;exploitation&amp;rdquo; accusations
&lt;/h3&gt;&lt;h3 id=&#34;acknowledgment-of-the-tragedy-of-the-commons&#34;&gt;Acknowledgment of the &amp;ldquo;tragedy of the commons&amp;rdquo;
&lt;/h3&gt;&lt;h2 id=&#34;legal-and-ethical-controversy&#34;&gt;Legal and ethical controversy
&lt;/h2&gt;&lt;h3 id=&#34;arguments-supporting-clean-room-validity&#34;&gt;Arguments supporting clean-room validity
&lt;/h3&gt;&lt;p&gt;Copyright law protects &lt;strong&gt;expression&lt;/strong&gt;, not &lt;strong&gt;ideas&lt;/strong&gt;. The 1879 case &lt;em&gt;Baker v. Selden&lt;/em&gt; established this principle. Phoenix Technologies successfully cloned the IBM BIOS using the clean-room method in 1984 and received court recognition. If AI-generated code differs completely from the original at the level of expression and is only functionally equivalent, then in theory it does not infringe copyright.&lt;/p&gt;
&lt;h3 id=&#34;core-arguments-questioning-the-authenticity-of-the-clean-room&#34;&gt;Core arguments questioning the authenticity of the clean room
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Training data exposure&lt;/strong&gt;: AI models have already been exposed to the original open source code during training. If the LLM&amp;rsquo;s weights contain patterns from the original code, can its output truly be considered &amp;ldquo;independent creation&amp;rdquo;?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copyright ownership of AI output&lt;/strong&gt;: The US Copyright Office has made clear that purely AI-generated works are not copyrightable. If Malus&amp;rsquo;s output has no human author, users can&amp;rsquo;t claim copyright protection for it either.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inducement to infringe&lt;/strong&gt;: marketing explicitly aimed at &amp;ldquo;circumventing copyright&amp;rdquo; may constitute inducement liability.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A highly-upvoted Slashdot comment noted: &amp;ldquo;Good luck getting a judge to agree that an AI performed a &amp;lsquo;clean-room&amp;rsquo; implementation—when that very AI was trained on the code it&amp;rsquo;s &amp;lsquo;reinventing.&amp;rsquo;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Another commenter added: &amp;ldquo;The Chinese Wall legal strategy requires Team A to produce the specification and Team B to produce the implementation. If these people can&amp;rsquo;t show the specification, they&amp;rsquo;re done. Arguing that a specification must exist somewhere in the abstract Platonic space of an LLM&amp;rsquo;s black-box network won&amp;rsquo;t convince a courtroom.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;why-this-threatens-the-open-source-sustainability-loop&#34;&gt;Why this threatens the open source sustainability loop
&lt;/h2&gt;&lt;p&gt;The sustainability of the open source ecosystem relies on an implicit social contract:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Contributors publish code and receive reputation, collaboration opportunities, and indirect commercial value&lt;/li&gt;
&lt;li&gt;Users comply with license obligations (attribution, copyleft, feeding improvements back)&lt;/li&gt;
&lt;li&gt;Companies use open source to cut development costs while giving back to the ecosystem through compliance spending&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The capability Malus.sh demonstrates breaks this loop on three levels:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First, the enforceability of license obligations is hollowed out.&lt;/strong&gt; When anyone can obtain a functionally equivalent but legally independent version at near-zero cost, MIT&amp;rsquo;s attribution requirement, GPL&amp;rsquo;s copyleft constraints, and Apache&amp;rsquo;s notice-preservation clauses all lose their practical teeth.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Second, contribution incentives are eroded.&lt;/strong&gt; If developers know their work can be copied by AI with obligations stripped away, why choose open source at all? The reward of reputation presupposes that attribution is respected—and Malus&amp;rsquo;s core selling point is precisely &amp;ldquo;zero attribution.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Third, the motivation for corporate compliance spending disappears.&lt;/strong&gt; Traditionally, companies invest in OSPOs, SCA tools, and legal review both as a compliance need and as an indirect way to support the open source ecosystem. When Malus cuts compliance costs from $4M to $50K, that &amp;ldquo;savings&amp;rdquo; doesn&amp;rsquo;t flow to open source projects—it simply disappears.&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;commons decay&amp;rdquo; scenario Nolan himself acknowledges in his blog describes exactly this gradual unraveling of the loop: not a sudden collapse, but a slow erosion of willingness to contribute, ultimately draining the open source commons dry.&lt;/p&gt;
&lt;h2 id=&#34;an-irreversible-trend&#34;&gt;An irreversible trend
&lt;/h2&gt;&lt;p&gt;Malus.sh itself may be an elaborately designed satire, but &lt;strong&gt;the capability it demonstrates is already being used seriously&lt;/strong&gt;. Dan Blanchard&amp;rsquo;s rewrite of &lt;code&gt;chardet&lt;/code&gt; with Claude Code shows that this technique needs no dedicated Malus platform—anyone with a mainstream AI coding tool can achieve a similar result.&lt;/p&gt;
&lt;p&gt;Blanchard&amp;rsquo;s verdict reflects a broad consensus in the industry: &amp;ldquo;What used to take a team months or years to rewrite, AI can now do in days. I don&amp;rsquo;t think there&amp;rsquo;s any way to put the genie back in the bottle.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The market impact of this trend is already visible. In early 2026, software stocks like Oracle were sold off over concerns that &amp;ldquo;AI can be used to rapidly replicate software functionality.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;references&#34;&gt;References
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://malus.sh/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Malus.sh official website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://malus.sh/blog.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Malus.sh blog: Thank You for Your Service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.404media.co/this-ai-tool-rips-off-open-source-software-without-violating-copyright/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;404 Media: This AI Tool Rips Off Open Source Software Without Violating Copyright&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://futurism.com/artificial-intelligence/malus-clones-software-copyright&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Futurism: Devious New AI Tool &amp;ldquo;Clones&amp;rdquo; Software So That the Original Creator Doesn&amp;rsquo;t Hold a Copyright Over the New Version&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.opensourceforu.com/2026/04/malus-sh-sparks-open-source-copyright-debate/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Open Source For You: Malus.sh Sparks Open Source Copyright Debate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://news.slashdot.org/story/26/04/22/1631212/ai-tool-rips-off-open-source-software-without-violating-copyright&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Slashdot: AI Tool Rips Off Open Source Software Without Violating Copyright&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://the420.in/malus-sh-ai-open-source-copyright-software-licensing-debate/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The420.in: Developers Warn AI Code Cloning Tool Could Put Copyright Risks For Software Companies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.msn.com/en-us/news/technology/this-ai-open-source-cloning-software-shows-the-gaping-hole-in-code-copyright/ar-AA1ZPCfg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MSN: This AI open-source cloning software shows the gaping hole in code copyright&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Claude Cowork vs. Code Mode: The Key Differences</title>
        <link>https://torchtree.com/en/post/claude-cowork-vs-code/</link>
        <pubDate>Wed, 29 Apr 2026 02:54:21 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/claude-cowork-vs-code/</guid>
        <description>&lt;p&gt;In early 2026, Anthropic introduced three parallel work modes to the Claude desktop client: &lt;strong&gt;Chat&lt;/strong&gt;, &lt;strong&gt;Cowork&lt;/strong&gt;, and &lt;strong&gt;Code&lt;/strong&gt;. Chat continues the traditional conversational interaction, while Cowork and Code represent two different directions of Agentic capability expansion. Both share the same Claude model engine, yet differ fundamentally in interaction interface, toolchain, and optimization targets.&lt;/p&gt;
&lt;p&gt;This article focuses on comparing Cowork and Code, systematically covering core positioning, capability boundaries, and real-world use cases.&lt;/p&gt;
&lt;h2 id=&#34;1-core-positioning-the-same-engine-two-different-kits&#34;&gt;1. Core positioning: the same engine, two different kits
&lt;/h2&gt;&lt;p&gt;Cowork and Code aren&amp;rsquo;t two independent products — they&amp;rsquo;re two packaging forms of the same intelligence engine aimed at different user groups.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Dimension&lt;/th&gt;
          &lt;th&gt;Cowork&lt;/th&gt;
          &lt;th&gt;Code&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Design goal&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;General office automation for non-developers&lt;/td&gt;
          &lt;td&gt;Code engineering tool for developers&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Interface form&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;GUI tab inside the Claude Desktop app&lt;/td&gt;
          &lt;td&gt;Terminal CLI / IDE plugin / Desktop Code tab&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Underlying capabilities&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Based on &lt;!-- raw HTML omitted --&gt;Computer Use&lt;!-- raw HTML omitted --&gt; (screenshots + mouse/keyboard control)&lt;/td&gt;
          &lt;td&gt;A full development toolchain based on &lt;!-- raw HTML omitted --&gt;MCP + Shell + Git&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;File access&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Explicitly authorized folders, sandboxed access&lt;/td&gt;
          &lt;td&gt;Full project-level filesystem access&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Code execution&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Executes after showing a plan; visualization-oriented&lt;/td&gt;
          &lt;td&gt;Runs shell commands, tests, and builds directly&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Git integration&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;None&lt;/td&gt;
          &lt;td&gt;Full lifecycle (branches, commits, PRs)&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The relationship can be summarized as: &lt;strong&gt;same engine, different equipment&lt;/strong&gt;. The model-level reasoning capabilities are identical (both use Opus or Sonnet); the differences lie in the tool set the model is allowed to call and how humans interact with it.&lt;/p&gt;
&lt;h2 id=&#34;2-cowork-the-desktop-automation-colleague-for-non-technical-users&#34;&gt;2. Cowork: the &amp;ldquo;desktop automation colleague&amp;rdquo; for non-technical users
&lt;/h2&gt;&lt;p&gt;Cowork launched in January 2026. Anthropic positions it as &amp;ldquo;Claude Code for the rest of your work&amp;rdquo; — extending the Agentic capabilities developers already enjoy to non-technical scenarios.&lt;/p&gt;
&lt;h3 id=&#34;core-capabilities&#34;&gt;Core capabilities
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Local file read/write&lt;/strong&gt;: after the user authorizes specific folders, Cowork can directly read, create, and modify files without manual uploads and downloads&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-app desktop automation&lt;/strong&gt;: built on Computer Use, it identifies UI elements via screenshots and controls mouse and keyboard, operating any desktop program — Excel, PowerPoint, browsers, and more&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Browser automation&lt;/strong&gt;: reads Gmail and backend web data, using the user&amp;rsquo;s already-logged-in sessions to complete web-level tasks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subagent orchestration&lt;/strong&gt;: breaks complex tasks into parallel workflows, automatically merging results from multiple subtasks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheduled tasks&lt;/strong&gt;: supports the &lt;code&gt;/schedule&lt;/code&gt; command to set up daily or weekly recurring automation flows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Professional document generation&lt;/strong&gt;: directly outputs office formats such as PPTX, XLSX (including formulas), and DOCX&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;typical-use-cases&#34;&gt;Typical use cases
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;File organization&lt;/strong&gt;: &amp;ldquo;Sort the 200 screenshots on my desktop by date and generate an index table&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data extraction&lt;/strong&gt;: &amp;ldquo;Read 50 PDF invoices and extract supplier names, dates, and amounts into Excel&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheduled reports&lt;/strong&gt;: &amp;ldquo;Every Monday at 9 AM, automatically summarize Salesforce sales data and generate a weekly report&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Presentations&lt;/strong&gt;: &amp;ldquo;Generate a formatted PowerPoint deck based on the research materials&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cowork&amp;rsquo;s design philosophy is &lt;strong&gt;lowering the barrier to entry&lt;/strong&gt;: the user describes the goal in natural language, and the system executes autonomously after presenting an execution plan, with real-time progress visible in the GUI.&lt;/p&gt;
&lt;h2 id=&#34;3-code-the-developers-terminal-level-engineering-assistant&#34;&gt;3. Code: the developer&amp;rsquo;s &amp;ldquo;terminal-level engineering assistant&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;Code mode (and the earlier-released Claude Code CLI) targets software development, offering deep access to codebases and development toolchains.&lt;/p&gt;
&lt;h3 id=&#34;core-capabilities-1&#34;&gt;Core capabilities
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Codebase-level understanding&lt;/strong&gt;: automatically maps project structure, dependency relationships, and cross-file references to build a complete code context&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-file refactoring&lt;/strong&gt;: modifies code across files in a single session, updates import statements, adjusts test cases, and fixes build errors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Terminal command execution&lt;/strong&gt;: runs shell scripts, test suites, build pipelines, and deployment commands directly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full Git lifecycle&lt;/strong&gt;: a complete loop from reading issues and writing code to running tests and submitting PRs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP tool connections&lt;/strong&gt;: connects to external systems like GitHub, Slack, Jira, and databases via the Model Context Protocol&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Background agents and &lt;code&gt;/loop&lt;/code&gt;&lt;/strong&gt;: supports long-running tasks such as reviewing PRs every 5 minutes or continuously monitoring deployment status (up to a week)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan mode&lt;/strong&gt;: read-only exploration of the codebase without modifying any files, suitable for the understanding and analysis phase&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;typical-use-cases-1&#34;&gt;Typical use cases
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Feature development&lt;/strong&gt;: &amp;ldquo;Add JWT authentication to the Express app, create middleware and routes, and write tests&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code refactoring&lt;/strong&gt;: &amp;ldquo;Refactor the service module across 8 files, run the tests, and submit a PR&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bug hunting&lt;/strong&gt;: &amp;ldquo;Track down the frontend rendering issue, open the browser debugger, and analyze the UI with screenshots&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continuous monitoring&lt;/strong&gt;: &amp;ldquo;Set up a background agent to continuously monitor new PRs in the repo and automatically perform code reviews&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Code&amp;rsquo;s design philosophy is &lt;strong&gt;precise control&lt;/strong&gt;: developers interact with the model via terminal or IDE, can review every intermediate output, and make fine-grained corrections when necessary.&lt;/p&gt;
&lt;h2 id=&#34;4-underlying-technical-differences&#34;&gt;4. Underlying technical differences
&lt;/h2&gt;&lt;h3 id=&#34;computer-use-vs-mcp--shell&#34;&gt;Computer Use vs. MCP + Shell
&lt;/h3&gt;&lt;p&gt;Cowork&amp;rsquo;s core technology stack is &lt;strong&gt;Computer Use&lt;/strong&gt; — Claude captures screen images, identifies UI elements, and then simulates mouse clicks and keyboard input to complete tasks. The advantage is &lt;strong&gt;generality&lt;/strong&gt;: in theory, it can operate any application with a graphical interface. The cost is &lt;strong&gt;lower efficiency&lt;/strong&gt; — every step requires screenshots, analysis, and simulated input, with limited tolerance for UI changes.&lt;/p&gt;
&lt;p&gt;Code&amp;rsquo;s core technology stack is &lt;strong&gt;MCP (Model Context Protocol) + Shell commands&lt;/strong&gt;. MCP gives the model a structured tool-calling interface (reading files, executing commands, querying databases), while Shell grants direct access to system-level tools. The advantage is &lt;strong&gt;precision and efficiency&lt;/strong&gt;: the model can manipulate the filesystem directly, run compilers, and invoke test frameworks without the indirect simulation of a GUI layer.&lt;/p&gt;
&lt;h3 id=&#34;memory-mechanisms&#34;&gt;Memory mechanisms
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cowork&lt;/strong&gt;: persistent memory based on Projects, retaining task history and connector configurations across sessions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code&lt;/strong&gt;: project-level instructions based on &lt;code&gt;CLAUDE.md&lt;/code&gt; files plus automatic memory; finer-grained memory, deeply tied to codebase structure&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;5-choosing-between-them&#34;&gt;5. Choosing between them
&lt;/h2&gt;&lt;p&gt;The following decision table helps you quickly determine which mode to use:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Task characteristics&lt;/th&gt;
          &lt;th&gt;Recommended mode&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Involves codebases, version control, testing, and builds&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Code&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Requires operating multiple office apps, organizing files, generating documents&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Cowork&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Repetitive office tasks that need scheduled execution&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Cowork&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Needs deep code understanding and cross-file refactoring&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Code&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Quick Q&amp;amp;A, brainstorming, mobile interaction&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Chat&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;common-misconceptions&#34;&gt;Common misconceptions
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cowork is not a GUI version of Code&lt;/strong&gt;: the two have completely different interfaces and optimization directions; Cowork lacks Git support, terminal access, and IDE integration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Writing code in Cowork is inefficient&lt;/strong&gt;: without codebase-level context and build toolchains, cross-file refactoring is limited&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuring Code for non-developers is a poor fit&lt;/strong&gt;: the terminal interface and development workflow impose unnecessary learning costs on operations, sales, HR, and similar roles&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;6-summary&#34;&gt;6. Summary
&lt;/h2&gt;&lt;p&gt;Cowork and Code represent Anthropic&amp;rsquo;s two productization paths for Agentic AI: Cowork centers on &lt;strong&gt;generality and ease of use&lt;/strong&gt;, targeting daily office automation for knowledge workers; Code centers on &lt;strong&gt;precision and control&lt;/strong&gt;, targeting engineering needs of software developers. The two aren&amp;rsquo;t in competition — they&amp;rsquo;re complementary. The same user may need both in different scenarios.&lt;/p&gt;
&lt;p&gt;From a broader perspective, the three-layer structure of Chat, Cowork, and Code also reflects an evolution trend in AI products: from &lt;strong&gt;passive response&lt;/strong&gt; (Chat) to &lt;strong&gt;proactive execution&lt;/strong&gt; (Cowork/Code), from &lt;strong&gt;single conversation&lt;/strong&gt; to &lt;strong&gt;tool integration&lt;/strong&gt; and then to &lt;strong&gt;system-level automation&lt;/strong&gt;. For users, understanding each mode&amp;rsquo;s boundaries and strengths is a prerequisite for using the Claude ecosystem effectively.&lt;/p&gt;
&lt;h2 id=&#34;references&#34;&gt;References
&lt;/h2&gt;&lt;p&gt;This article synthesizes information from the following public sources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nocode.mba/articles/claude-desktop-chat-vs-cowork-vs-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Chat vs Cowork vs Code 2026: Which to Use? - No Code MBA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.bswen.com/blog/2026-03-22-claude-code-vs-cowork-difference/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Code vs Cowork: What&amp;rsquo;s the Difference and Which Should You Use? - BSWEN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://amitkoth.com/claude-chat-vs-cowork-vs-code/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Chat vs Cowork vs Code: which mode should you actually use? - Amit Kothari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mltut.com/when-to-use-claude-cowork-vs-claude-code/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;When to Use Claude Cowork vs Claude Code: My Experience - ML TUT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.howdoiuseai.com/blog/2026-04-17-claude-chat-vs-cowork-vs-code-which-mode-should-yo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Chat vs Cowork vs Code — which mode should you actually use? - How Do I Use AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Pi Coding Agent: A Terminal AI Coding Agent Built on 418 Lines of Code</title>
        <link>https://torchtree.com/en/post/pi-coding-agent/</link>
        <pubDate>Wed, 29 Apr 2026 02:07:14 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/pi-coding-agent/</guid>
        <description>&lt;p&gt;Pi (full name &lt;code&gt;pi-coding-agent&lt;/code&gt;) is an open-source terminal AI coding agent (a CLI coding harness). It has accumulated more than 17,500 stars on GitHub, with peak npm weekly downloads of 1.3 million. It was developed by Mario Zechner (author of the well-known game framework libGDX, GitHub @badlogic), and recently ranked first on OpenRouter&amp;rsquo;s trending list.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://getnas.s3.bitiful.net/2026/05/ScreenShot_2026-05-06_110333_054.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;core-philosophy-minimalism-and-extensibility&#34;&gt;Core philosophy: minimalism and extensibility
&lt;/h2&gt;&lt;p&gt;Pi was born out of Zechner&amp;rsquo;s dissatisfaction with existing coding agents. As he wrote on his blog: &amp;ldquo;Claude Code has turned into a spaceship — I don&amp;rsquo;t use 80% of its features. The system prompt and tools change with every release, breaking my workflow.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Pi&amp;rsquo;s philosophy can be summed up as: &lt;strong&gt;&amp;ldquo;If I don&amp;rsquo;t need it, I don&amp;rsquo;t build it.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Compared with similar tools, Pi chooses extreme minimalism on multiple dimensions:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Dimension&lt;/th&gt;
          &lt;th&gt;Mainstream tools like Claude Code&lt;/th&gt;
          &lt;th&gt;Pi&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Core agent loop&lt;/td&gt;
          &lt;td&gt;Thousands of lines of code&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;418 lines of TypeScript&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;System prompt + tool definitions&lt;/td&gt;
          &lt;td&gt;Thousands of tokens&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;&amp;lt; 1,000 tokens&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Default tools&lt;/td&gt;
          &lt;td&gt;A dozen or more&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;4&lt;!-- raw HTML omitted --&gt; (read, write, edit, bash)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Built-in features&lt;/td&gt;
          &lt;td&gt;Big and comprehensive&lt;/td&gt;
          &lt;td&gt;Minimal, filled out with extensions&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Zechner&amp;rsquo;s core assumption: &lt;strong&gt;all frontier models have been heavily trained with RL, so they already understand what a coding agent is.&lt;/strong&gt; Therefore the harness doesn&amp;rsquo;t need to over-instruct the model — the lighter the better.&lt;/p&gt;
&lt;h2 id=&#34;four-layer-architecture&#34;&gt;Four-layer architecture
&lt;/h2&gt;&lt;p&gt;Pi uses a strictly bottom-up layered design, with each layer having zero dependency on the layers above it:&lt;/p&gt;
&lt;h3 id=&#34;pi-ai-cross-provider-context-migration&#34;&gt;pi-ai: cross-provider context migration
&lt;/h3&gt;&lt;p&gt;pi-ai is the low-level unified LLM API, supporting 15+ providers and 300+ models. It normalizes four protocols — OpenAI Completions, OpenAI Responses, Anthropic Messages, and Google Generative AI — into a unified event-stream format.&lt;/p&gt;
&lt;p&gt;Its killer feature is &lt;strong&gt;cross-provider context migration&lt;/strong&gt;: in a single session you can think with Claude first, then switch to GPT-4o to verify, with the context carried over seamlessly. Claude&amp;rsquo;s thinking traces are automatically converted into `` tags for OpenAI models to read.&lt;/p&gt;
&lt;h3 id=&#34;pi-agent-core-the-418-line-dual-loop&#34;&gt;pi-agent-core: the 418-line dual loop
&lt;/h3&gt;&lt;p&gt;This is Pi&amp;rsquo;s core, using a two-layer separation of AgentMessage (application layer) and LLM Message (model layer):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No maximum step limit&lt;/strong&gt;: the loop keeps running until the agent itself declares completion&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Runtime hot-swapping&lt;/strong&gt;: &lt;code&gt;setModel()&lt;/code&gt;, &lt;code&gt;setTools()&lt;/code&gt;, &lt;code&gt;setSystemPrompt()&lt;/code&gt; take effect at any time&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Steering mechanism&lt;/strong&gt;: users can send &amp;ldquo;steering messages&amp;rdquo; while the agent is executing tools; the agent responds as soon as it finishes the current tool, skipping the remaining queued tool calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Three-tier event system&lt;/strong&gt;: full streaming event subscription at the agent / turn / message / tool level&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;pi-coding-agent-the-terminal-application-layer&#34;&gt;pi-coding-agent: the terminal application layer
&lt;/h3&gt;&lt;p&gt;Provides four operating modes:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Mode&lt;/th&gt;
          &lt;th&gt;Use case&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Interactive&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Full TUI interaction experience&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Print&lt;!-- raw HTML omitted --&gt; (&lt;!-- raw HTML omitted --&gt;-p&lt;!-- raw HTML omitted --&gt;)&lt;/td&gt;
          &lt;td&gt;Generate a shell script and print it&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;JSON&lt;!-- raw HTML omitted --&gt; (&lt;!-- raw HTML omitted --&gt;&amp;ndash;mode json&lt;!-- raw HTML omitted --&gt;)&lt;/td&gt;
          &lt;td&gt;Structured event stream, good for pipelining&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;RPC&lt;!-- raw HTML omitted --&gt; (&lt;!-- raw HTML omitted --&gt;&amp;ndash;mode rpc&lt;!-- raw HTML omitted --&gt;)&lt;/td&gt;
          &lt;td&gt;JSON protocol over stdin/stdout, embeddable in other applications&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;SDK&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Embed directly into Node.js applications&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;extensibility-pis-real-killer-feature&#34;&gt;Extensibility: Pi&amp;rsquo;s real killer feature
&lt;/h2&gt;&lt;p&gt;Pi turns &amp;ldquo;features built into other tools&amp;rdquo; into &amp;ldquo;extensions you build or install yourself&amp;rdquo; — this is its most fundamental difference from tools like Claude Code.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Extensions&lt;/strong&gt;: TypeScript modules with access to tools, commands, shortcuts, events, and the full TUI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt;: on-demand capability packages (instructions + tools)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt Templates&lt;/strong&gt;: reusable Markdown prompts expanded quickly with &lt;code&gt;/name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pi Packages&lt;/strong&gt;: extension packages distributed via npm or git&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The official repo offers 50+ extension examples, including subagents, plan mode, permission gating, path protection, SSH execution, sandboxing, and MCP integration.&lt;/p&gt;
&lt;h2 id=&#34;context-engineering-mechanisms&#34;&gt;Context-engineering mechanisms
&lt;/h2&gt;&lt;p&gt;Pi provides multiple mechanisms for precise context control:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Mechanism&lt;/th&gt;
          &lt;th&gt;Use case&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;AGENTS.md&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Project-level instructions, placed in &lt;!-- raw HTML omitted --&gt;~/.pi/agent/&lt;!-- raw HTML omitted --&gt; or the project directory&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;SYSTEM.md&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Replace or append to the default system prompt&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Compaction&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Automatically summarizes near the context limit; customizable&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Dynamic Context&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Inject messages, filter history, RAG, and long-term memory via extensions&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;community-positioning-and-the-harness-effect&#34;&gt;Community positioning and the Harness Effect
&lt;/h2&gt;&lt;p&gt;According to a six-harness comparison released by Pawel Jozefiak in April 2026, Pi&amp;rsquo;s positioning is that of a &lt;strong&gt;moldable, minimal harness&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The review proposed an important &amp;ldquo;Harness Effect&amp;rdquo;: the same model can differ by 5–40 percentage points across different harnesses. For example, Claude Opus scores 77% in Claude Code but reaches 93% in Cursor. Pi&amp;rsquo;s value is that it provides a &lt;strong&gt;highly tunable, fully transparent&lt;/strong&gt; foundation, letting users optimize this effect for themselves.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tool&lt;/th&gt;
          &lt;th&gt;Positioning&lt;/th&gt;
          &lt;th&gt;Characteristics&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Claude Code&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Agent Orchestrator&lt;/td&gt;
          &lt;td&gt;Strongest contextual coherence; suited to complex multi-file tasks and unattended overnight runs&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Codex CLI&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Coding Tool&lt;/td&gt;
          &lt;td&gt;Executes cleanly but lacks contextual coherence&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Aider&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Coding Tool&lt;/td&gt;
          &lt;td&gt;High editing precision, but doesn&amp;rsquo;t aim to be an autonomous agent&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;OpenCode&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Middle ground&lt;/td&gt;
          &lt;td&gt;Built by the SST team; feature-complete&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Pi&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Moldable minimal harness&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Lightweight, transparent, deeply customizable&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;what-can-you-use-it-for&#34;&gt;What can you use it for
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Everyday coding agent&lt;/strong&gt;: a replacement for Claude Code / Codex CLI, handling code generation, refactoring, and debugging in the terminal&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom workflows&lt;/strong&gt;: build your own &amp;ldquo;plan mode&amp;rdquo;, &amp;ldquo;permission gating&amp;rdquo;, and &amp;ldquo;subagent orchestration&amp;rdquo; via extensions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding in other applications&lt;/strong&gt;: use Pi as an engine inside your own tools via the SDK or RPC mode (OpenClaw takes this approach)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-model collaboration&lt;/strong&gt;: switch between different models within a single task, leveraging each one&amp;rsquo;s strengths&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Overnight autonomous runs&lt;/strong&gt;: combine the steering and follow-up mechanisms for long-running autonomous tasks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Team standardization&lt;/strong&gt;: share coding conventions and workflows across a team through AGENTS.md, Skills, and Pi Packages&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;quick-start&#34;&gt;Quick start
&lt;/h2&gt;&lt;p&gt;Pi&amp;rsquo;s install and launch flow is extremely simple.&lt;/p&gt;
&lt;h3 id=&#34;installation&#34;&gt;Installation
&lt;/h3&gt;&lt;p&gt;Launch it after entering your project directory:&lt;/p&gt;
&lt;h3 id=&#34;adding-a-model-authentication&#34;&gt;Adding a model (authentication)
&lt;/h3&gt;&lt;p&gt;Pi supports two authentication methods:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Method 1: subscription login&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Run this inside Pi&amp;rsquo;s interactive interface:&lt;/p&gt;
&lt;p&gt;Then choose a provider. Built-in support includes Claude Pro/Max, ChatGPT Plus/Pro (Codex), GitHub Copilot, and Google Gemini CLI.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Method 2: API key&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Set the environment variable before launching:&lt;/p&gt;
&lt;p&gt;You can also choose an API-key provider via &lt;code&gt;/login&lt;/code&gt;, storing the key in &lt;code&gt;~/.pi/agent/auth.json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;task-conversations&#34;&gt;Task conversations
&lt;/h3&gt;&lt;p&gt;After launching, just type what you need:&lt;/p&gt;
&lt;p&gt;Four tools are provided by default: &lt;code&gt;read&lt;/code&gt; (read files), &lt;code&gt;write&lt;/code&gt; (write files), &lt;code&gt;edit&lt;/code&gt; (edit files), and &lt;code&gt;bash&lt;/code&gt; (run commands). Read-only tools like &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;find&lt;/code&gt;, and &lt;code&gt;ls&lt;/code&gt; can be enabled via options.&lt;/p&gt;
&lt;p&gt;Common operations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reference a file&lt;/strong&gt;: type &lt;code&gt;@&lt;/code&gt; for fuzzy search, or specify directly on the command line: &lt;code&gt;pi @README.md &amp;quot;Summarize this&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Run a command&lt;/strong&gt;: &lt;code&gt;!npm run lint&lt;/code&gt; (send output into the model&amp;rsquo;s context), &lt;code&gt;!!command&lt;/code&gt; (run without sending into context)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Switch models&lt;/strong&gt;: &lt;code&gt;/model&lt;/code&gt; or &lt;code&gt;Ctrl+L&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continue sessions&lt;/strong&gt;: &lt;code&gt;pi -c&lt;/code&gt; (most recent session), &lt;code&gt;pi -r&lt;/code&gt; (browse history), &lt;code&gt;/resume&lt;/code&gt;, &lt;code&gt;/new&lt;/code&gt;, &lt;code&gt;/tree&lt;/code&gt; (session management)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-interactive mode&lt;/strong&gt;: &lt;code&gt;pi -p &amp;quot;Summarize this codebase&amp;quot;&lt;/code&gt; (single-shot output)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;project-instructions&#34;&gt;Project instructions
&lt;/h3&gt;&lt;p&gt;Create an &lt;code&gt;AGENTS.md&lt;/code&gt; in the project root, which Pi loads automatically at startup:&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;/reload&lt;/code&gt; after modifying it for changes to take effect.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;Pi is not &amp;ldquo;yet another Claude Code replacement.&amp;rdquo; It is a &lt;strong&gt;radical minimalist experiment&lt;/strong&gt;, proving that a well-designed lightweight harness can match or even surpass complex frameworks.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s best suited to developers dissatisfied with the &amp;ldquo;black-box behavior&amp;rdquo; of existing agents, and to advanced users who want &lt;strong&gt;full control&lt;/strong&gt; over the system prompt, tools, and context flow. If all you want is an &amp;ldquo;out-of-the-box, feature-complete&amp;rdquo; experience, Claude Code may remain the first choice; but if you want to &lt;strong&gt;understand and control every line of behavior in your agent&lt;/strong&gt;, Pi is one of the most transparent options available today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sources&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi.dev/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi official website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi GitHub repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pi.dev/docs/latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pi official documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://mariozechner.at/posts/2025-11-30-pi-coding-agent/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mario Zechner: What I learned building an opinionated and minimal coding agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://yrzhe.top/project/deep-dive-pi-agent-the-418-line-agent-loop-that-outperforms-thousand-line-frameworks&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;yrzhe: Deep Dive: Pi Agent, The 418-Line Agent Loop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://thoughts.jock.pl/p/ai-coding-harness-agents-2026&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pawel Jozefiak: Claude Code vs Codex vs Aider vs OpenCode vs Pi 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Key Differences Between Q4 and UD-Q4 Quantized Models</title>
        <link>https://torchtree.com/en/post/llm-quantization-q4-vs-ud-q4-guide/</link>
        <pubDate>Thu, 23 Apr 2026 05:32:47 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/llm-quantization-q4-vs-ud-q4-guide/</guid>
        <description>&lt;p&gt;In local deployment and inference optimization for large language models (LLMs), quantization is the key to reducing VRAM usage and improving runtime speed. Among the options, &lt;strong&gt;Q4&lt;/strong&gt; (4-bit quantization) has become the de facto &amp;ldquo;gold standard&amp;rdquo; in the industry thanks to its excellent balance between performance and precision.&lt;/p&gt;
&lt;p&gt;Recently, with the rise of optimization frameworks like &lt;strong&gt;Unsloth&lt;/strong&gt;, a new format called &lt;strong&gt;UD-Q4&lt;/strong&gt; (Unsloth Dynamic Q4) has entered developers&amp;rsquo; view. This article takes a deep dive into the core differences between standard Q4 and UD-Q4, and examines the important position of 4-bit quantization in the model quantization landscape.&lt;/p&gt;
&lt;h2 id=&#34;1-core-definitions-and-technical-differences&#34;&gt;1. Core definitions and technical differences
&lt;/h2&gt;&lt;h3 id=&#34;q4-standard-quantization&#34;&gt;Q4 (Standard Quantization)
&lt;/h3&gt;&lt;p&gt;Standard 4-bit quantization (such as &lt;code&gt;Q4_K_M&lt;/code&gt; in the GGUF format, or the earlier &lt;code&gt;Q4_0&lt;/code&gt;) typically uses a &lt;strong&gt;static quantization strategy&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bit allocation&lt;/strong&gt;: Every layer and every weight block uses a fixed number of bits (4-bit).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technical characteristics&lt;/strong&gt;: Relatively simple to implement, with excellent compatibility across inference backends.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Limitations&lt;/strong&gt;: Treats all weights the same, with no way to give extra protection to the layers that matter most in the model (such as key attention weights).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;ud-q4-unsloth-dynamic-q4&#34;&gt;UD-Q4 (Unsloth Dynamic Q4)
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;UD-Q4&lt;/strong&gt; stands for &lt;strong&gt;Unsloth Dynamic&lt;/strong&gt; quantization. It departs from the &amp;ldquo;uniform allocation&amp;rdquo; approach and introduces finer-grained optimization.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dynamic bit allocation&lt;/strong&gt;: Dynamically adjusts the bit count per layer based on each weight&amp;rsquo;s influence on model output (typically calibrated with &lt;code&gt;imatrix&lt;/code&gt; data). Core layers may get 6-bit, while less important layers drop to 3-bit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Precision advantage&lt;/strong&gt;: While maintaining an average of 4-bit (bpw ≈ 4.5), UD-Q4 uses this &amp;ldquo;rob Peter to pay Paul&amp;rdquo; strategy to significantly reduce quantization loss (perplexity), with precision that often approaches traditional 5-bit models.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Feature&lt;/th&gt;
          &lt;th&gt;Standard Q4 (Q4_K_M)&lt;/th&gt;
          &lt;th&gt;Unsloth UD-Q4&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Quantization strategy&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Static / fixed&lt;/td&gt;
          &lt;td&gt;Dynamic / importance-aware&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Average precision&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Industry baseline&lt;/td&gt;
          &lt;td&gt;Above baseline, approaching Q5&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Compute overhead&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Very low&lt;/td&gt;
          &lt;td&gt;Slightly higher (quantization stage only); inference identical&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Best use case&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;General-purpose, high performance&lt;/td&gt;
          &lt;td&gt;Pursuing the ultimate precision-to-size balance&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;2-q4s-benchmark-status-in-quantization&#34;&gt;2. Q4&amp;rsquo;s benchmark status in quantization
&lt;/h2&gt;&lt;p&gt;In the history of LLMs, the arrival of 4-bit quantization (Q4) was a milestone. It dominates for one reason: a balance across three dimensions.&lt;/p&gt;
&lt;h3 id=&#34;21-the-sweet-spot-between-precision-and-compression-ratio&#34;&gt;2.1 The &amp;ldquo;sweet spot&amp;rdquo; between precision and compression ratio
&lt;/h3&gt;&lt;p&gt;According to a large body of academic research (such as &lt;em&gt;GPTQ&lt;/em&gt; and &lt;em&gt;GGUF/llama.cpp&lt;/em&gt; test data), the precision-vs-bit-count curve typically shows an &amp;ldquo;inflection point&amp;rdquo; at 4-bit. Going above 4-bit (e.g., 5-bit, 8-bit) yields diminishing marginal precision gains, while going below 4-bit (e.g., 3-bit, 2-bit) causes precision to fall off a cliff.&lt;/p&gt;
&lt;h3 id=&#34;22-fits-within-vram-budgets&#34;&gt;2.2 Fits within VRAM budgets
&lt;/h3&gt;&lt;p&gt;4-bit quantization shrinks raw FP16 weights by roughly 4x (about 3.5–3.8x in practice once metadata is accounted for). This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;7B/8B parameter models run smoothly on consumer GPUs with &lt;strong&gt;6GB/8GB&lt;/strong&gt; of VRAM.&lt;/li&gt;
&lt;li&gt;70B parameter models can be deployed with &lt;strong&gt;48GB&lt;/strong&gt; of memory (e.g., dual A6000s or Mac unified memory).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;23-hardware-acceleration-support&#34;&gt;2.3 Hardware acceleration support
&lt;/h3&gt;&lt;p&gt;Current GPUs and NPUs (such as Apple Silicon&amp;rsquo;s Neural Engine) have good native or instruction-set-level optimization for 4-bit computation. Compared with non-standard formats like 3.5-bit, Q4 has a natural advantage in data alignment and compute efficiency.&lt;/p&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Q4 (Q4_K_M)&lt;/strong&gt; is the current &lt;strong&gt;industry standard&lt;/strong&gt; for local LLM inference, representing the broadest compatibility and reliable performance. &lt;strong&gt;UD-Q4&lt;/strong&gt; is the next step in the technique&amp;rsquo;s evolution: through &lt;strong&gt;importance-aware&lt;/strong&gt; dynamic allocation, it squeezes out the model&amp;rsquo;s last drop of precision potential without changing the hardware bar.&lt;/p&gt;
&lt;p&gt;For the average user, &lt;code&gt;Q4_K_M&lt;/code&gt; remains the safe &amp;ldquo;close your eyes and pick it&amp;rdquo; choice; for developers who want smarter responses within a limited VRAM budget, &lt;code&gt;UD-Q4&lt;/code&gt; is clearly the best option available today.&lt;/p&gt;
&lt;h2 id=&#34;references-and-further-reading&#34;&gt;References and further reading
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://medium.com/@paul.ilvez/demystifying-llm-quantization-suffixes-what-q4-k-m-q8-0-and-q6-k-really-mean-0ec2770f17d3&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Demystifying LLM Quantization Suffixes: What Q4_K_M, Q8_0, and Q6_K really mean&lt;/a&gt; - Medium&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.hardware-corner.net/quantization-local-llms-formats/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Quantization for Local LLMs: How It Works and Which Formats Fit Your Setup&lt;/a&gt; - Hardware Corner&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://kaitchup.substack.com/p/choosing-a-gguf-model-k-quants-i&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Choosing a GGUF Model: K-Quants, I-Quants, and Legacy Formats&lt;/a&gt; - Kaitchup Substack&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://willitrunai.com/blog/quantization-guide-gguf-explained&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GGUF Quantization Explained — Q4_K_M vs Q5_K_M vs Q8: VRAM, Quality&lt;/a&gt; - Will It Run AI&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/unsloth&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Unsloth Model Explorer (for UD-Q4 variants)&lt;/a&gt; - Hugging Face&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Guide to Buying China&#39;s Mainstream AI Coding Plans: A Hands-on Speed and Price Comparison of 9 Platforms</title>
        <link>https://torchtree.com/en/post/guonei-ai-coding-plan-xuan-gou-zhi-nan/</link>
        <pubDate>Thu, 16 Apr 2026 09:46:38 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/guonei-ai-coding-plan-xuan-gou-zhi-nan/</guid>
        <description>&lt;p&gt;Since the second half of 2025, Chinese LLM vendors have been rolling out Coding Plan subscriptions aimed at developers, replacing the traditional per-token billing with a fixed monthly fee and significantly lowering the barrier to AI-assisted programming. However, the platforms differ widely in pricing, quotas, response speed, and model support—and some even have hidden clauses like different metering units and strict limits, leaving many developers struggling to choose.&lt;/p&gt;
&lt;p&gt;This article combines a hands-on Xiaohongshu test note, an in-depth cross-review from Cnblogs (博客园), and each platform&amp;rsquo;s official documentation to sort through 9 Chinese Coding Plans from the two core dimensions of &lt;strong&gt;price&lt;/strong&gt; and &lt;strong&gt;speed&lt;/strong&gt;, hoping to inform your purchasing decision.&lt;/p&gt;
&lt;h2 id=&#34;1-coding-plan-billing-models-and-pitfalls-to-avoid&#34;&gt;1. Coding Plan billing models and pitfalls to avoid
&lt;/h2&gt;&lt;p&gt;Before comparing specific plans, it&amp;rsquo;s necessary to clarify the &lt;strong&gt;different metering units&lt;/strong&gt; these vendors use, as this is the easiest place to trip up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;API request count&lt;/strong&gt;: Alibaba Cloud Bailian (百炼), Volcengine Ark (火山方舟), and Infinity (无问芯穹) use this. One user prompt can trigger 5–30 model calls in the backend, and each call counts as 1 API request (per Tencent Cloud&amp;rsquo;s official docs).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt count&lt;/strong&gt;: Zhipu GLM and MiniMax use this. 1 Prompt is roughly equivalent to 1,200–1,600 API requests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Token metering&lt;/strong&gt;: Kimi switched to this mode on January 28 of this year, billing by input/output tokens, and cache hit rate directly affects actual usable quota.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because the metering units differ, comparing raw numbers is meaningless. For example, Bailian Lite&amp;rsquo;s &amp;ldquo;1,200 API requests every 5 hours&amp;rdquo; and Zhipu Lite&amp;rsquo;s &amp;ldquo;80 Prompts every 5 hours&amp;rdquo; may amount to similar real-world usage intensity.&lt;/p&gt;
&lt;h2 id=&#34;2-price-and-quota-comparison&#34;&gt;2. Price and quota comparison
&lt;/h2&gt;&lt;h3 id=&#34;21-the-big-four-platforms&#34;&gt;2.1 The big four platforms
&lt;/h3&gt;&lt;p&gt;According to the screenshots in the Xiaohongshu note and the Cnblogs compilation, the pricing strategies of Alibaba Cloud Bailian, Volcengine Ark, Tencent Cloud, and JD JoyCoder are highly convergent:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Platform&lt;/th&gt;
          &lt;th&gt;Lite Plan&lt;/th&gt;
          &lt;th&gt;Pro Plan&lt;/th&gt;
          &lt;th&gt;Core quota (Lite)&lt;/th&gt;
          &lt;th&gt;Supported models&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Alibaba Cloud Bailian&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥40 (first month ¥7.9)&lt;/td&gt;
          &lt;td&gt;¥200&lt;/td&gt;
          &lt;td&gt;1,200/5h, 9,000/week, 18,000/month&lt;/td&gt;
          &lt;td&gt;Qwen3.5-Plus, Qwen3-Coder-Next, GLM-4.7, Kimi-K2.5&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Volcengine Ark&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥40 (first month ¥8.91)&lt;/td&gt;
          &lt;td&gt;¥200&lt;/td&gt;
          &lt;td&gt;Same as Bailian&lt;/td&gt;
          &lt;td&gt;Doubao-Seed-Code, DeepSeek-V3.2, GLM-4.7, Kimi-K2.5&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Tencent Cloud&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥40 (first month ¥7.9)&lt;/td&gt;
          &lt;td&gt;¥200&lt;/td&gt;
          &lt;td&gt;Same as Bailian&lt;/td&gt;
          &lt;td&gt;Hunyuan series, MiniMax-M2.5, Kimi-K2.5, GLM-5&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;JD JoyCoder&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥40&lt;/td&gt;
          &lt;td&gt;¥200&lt;/td&gt;
          &lt;td&gt;Same as Bailian&lt;/td&gt;
          &lt;td&gt;DeepSeek-V3.2, Kimi-K2.5, MiniMax-M2.7, GLM-5&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;22-emerging-ai-vendors&#34;&gt;2.2 Emerging AI vendors
&lt;/h3&gt;&lt;p&gt;Compared to the big four, emerging vendors&amp;rsquo; pricing is more scattered:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Platform&lt;/th&gt;
          &lt;th&gt;Entry price&lt;/th&gt;
          &lt;th&gt;Core quota&lt;/th&gt;
          &lt;th&gt;Billing&lt;/th&gt;
          &lt;th&gt;Highlights&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Infinity&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥19.9/month&lt;/td&gt;
          &lt;td&gt;1,000/5h, 6,000/week&lt;/td&gt;
          &lt;td&gt;API requests&lt;/td&gt;
          &lt;td&gt;Lowest monthly fee, multi-model aggregation&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;MiniMax&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥29 (first month ¥9.9)&lt;/td&gt;
          &lt;td&gt;40 Prompt/5h, no weekly cap&lt;/td&gt;
          &lt;td&gt;Prompt&lt;/td&gt;
          &lt;td&gt;Lowest entry price, no weekly limit&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Kimi&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥49 (Andante)&lt;/td&gt;
          &lt;td&gt;Per token (3x for a limited time)&lt;/td&gt;
          &lt;td&gt;Token&lt;/td&gt;
          &lt;td&gt;Native multimodal, 256K long context&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Zhipu GLM&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;¥49 (after the 2-month price increase)&lt;/td&gt;
          &lt;td&gt;80 Prompt/5h, 400/week&lt;/td&gt;
          &lt;td&gt;Prompt&lt;/td&gt;
          &lt;td&gt;Pure in-house models, 20+ tool integrations&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;StepFun&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Not tested&lt;/td&gt;
          &lt;td&gt;—&lt;/td&gt;
          &lt;td&gt;—&lt;/td&gt;
          &lt;td&gt;No hands-on data yet&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;From a value-for-money standpoint:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Budget-conscious users&lt;/strong&gt;: Infinity (¥19.9) and MiniMax (¥29) have lower entry barriers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New users trying the waters&lt;/strong&gt;: Alibaba Cloud Bailian&amp;rsquo;s first-month ¥7.9 is currently the lowest known trial price.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;3-hands-on-speed-tests-ttft-and-tps&#34;&gt;3. Hands-on speed tests: TTFT and TPS
&lt;/h2&gt;&lt;p&gt;The following speed data comes from a Xiaohongshu hands-on test note, tested under the conditions of &amp;ldquo;daytime @ 10K tokens,&amp;rdquo; measuring &lt;strong&gt;time to first token (TTFT)&lt;/strong&gt; and &lt;strong&gt;TPS generation speed&lt;/strong&gt; respectively. This data directly reflects the &amp;ldquo;responsiveness&amp;rdquo; of coding and code-generation efficiency.&lt;/p&gt;
&lt;h3 id=&#34;31-time-to-first-token-ttft&#34;&gt;3.1 Time to first token (TTFT)
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Platform&lt;/th&gt;
          &lt;th&gt;Fastest model&lt;/th&gt;
          &lt;th&gt;TTFT&lt;/th&gt;
          &lt;th&gt;Slowest model&lt;/th&gt;
          &lt;th&gt;TTFT&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Zhipu GLM&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;glm-5-turbo&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;1.43s&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;glm-5&lt;/td&gt;
          &lt;td&gt;7.82s&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Tencent&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;hunyuan-2.0-thinking&lt;/td&gt;
          &lt;td&gt;2.51s&lt;/td&gt;
          &lt;td&gt;kimi-k2.5&lt;/td&gt;
          &lt;td&gt;12.38s&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;MiniMax&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;m2.1&lt;/td&gt;
          &lt;td&gt;2.44s&lt;/td&gt;
          &lt;td&gt;m2.5&lt;/td&gt;
          &lt;td&gt;5.54s&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Alibaba&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;glm-4.7&lt;/td&gt;
          &lt;td&gt;2.76s&lt;/td&gt;
          &lt;td&gt;qwen3-coder-next&lt;/td&gt;
          &lt;td&gt;11.58s&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Infinity&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;deepseek-v3.2-thinking&lt;/td&gt;
          &lt;td&gt;3.26s&lt;/td&gt;
          &lt;td&gt;kimi-k2.5&lt;/td&gt;
          &lt;td&gt;7.76s&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Volcengine&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;doubao-seed-2.0-pro&lt;/td&gt;
          &lt;td&gt;3.29s&lt;/td&gt;
          &lt;td&gt;glm-4.7&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;21.52s&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;JD&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;deepseek-v3.2&lt;/td&gt;
          &lt;td&gt;~5s&lt;/td&gt;
          &lt;td&gt;kimi-k2.5&lt;/td&gt;
          &lt;td&gt;~19s&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Kimi&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;kimi-for-coding&lt;/td&gt;
          &lt;td&gt;5.71s&lt;/td&gt;
          &lt;td&gt;—&lt;/td&gt;
          &lt;td&gt;—&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Observations&lt;/strong&gt;: Zhipu GLM&amp;rsquo;s &lt;code&gt;glm-5-turbo&lt;/code&gt; is the fastest of all at 1.43s TTFT; the time-to-first-token for some models on Volcengine and JD is notably higher, hitting 21.52s and 19s respectively, possibly related to platform scheduling policies or model deployment methods.&lt;/p&gt;
&lt;h3 id=&#34;32-tps-generation-speed&#34;&gt;3.2 TPS generation speed
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Platform&lt;/th&gt;
          &lt;th&gt;Fastest model&lt;/th&gt;
          &lt;th&gt;TPS&lt;/th&gt;
          &lt;th&gt;Slowest model&lt;/th&gt;
          &lt;th&gt;TPS&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Zhipu GLM&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;glm-4.5-air&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;103&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;glm-5&lt;/td&gt;
          &lt;td&gt;23&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Volcengine&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;doubao-seed-2.0-pro&lt;/td&gt;
          &lt;td&gt;76&lt;/td&gt;
          &lt;td&gt;kimi-k2.5&lt;/td&gt;
          &lt;td&gt;23&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Tencent&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;hunyuan-2.0-thinking&lt;/td&gt;
          &lt;td&gt;76&lt;/td&gt;
          &lt;td&gt;glm-5&lt;/td&gt;
          &lt;td&gt;30&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Alibaba&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;qwen3-coder-next&lt;/td&gt;
          &lt;td&gt;67&lt;/td&gt;
          &lt;td&gt;glm-4.7&lt;/td&gt;
          &lt;td&gt;41&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Infinity&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;minimax-m2.5&lt;/td&gt;
          &lt;td&gt;51&lt;/td&gt;
          &lt;td&gt;kimi-k2.5&lt;/td&gt;
          &lt;td&gt;25&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;MiniMax&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;m2.5&lt;/td&gt;
          &lt;td&gt;48&lt;/td&gt;
          &lt;td&gt;m2.1&lt;/td&gt;
          &lt;td&gt;45&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;JD&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;deepseek-v3.2&lt;/td&gt;
          &lt;td&gt;35&lt;/td&gt;
          &lt;td&gt;glm-5&lt;/td&gt;
          &lt;td&gt;25&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Kimi&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;kimi-for-coding&lt;/td&gt;
          &lt;td&gt;35&lt;/td&gt;
          &lt;td&gt;—&lt;/td&gt;
          &lt;td&gt;—&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Observations&lt;/strong&gt;: Zhipu&amp;rsquo;s &lt;code&gt;glm-4.5-air&lt;/code&gt; reaches 103 TPS, significantly ahead of other platforms; Volcengine and Tencent&amp;rsquo;s Hunyuan/Doubao models also hit 76 TPS. JD and Kimi are relatively slow at around 35 TPS.&lt;/p&gt;
&lt;p&gt;In addition, MiniMax officially claims its M2.5 model can reach 100+ TPS, which differs from the 48 TPS measured on the MiniMax platform in the Xiaohongshu note, indicating that &lt;strong&gt;the same model may perform differently when deployed on different platforms.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;4-platform-reviews-and-buying-recommendations&#34;&gt;4. Platform reviews and buying recommendations
&lt;/h2&gt;&lt;p&gt;Combining price, quota, and speed data, here are recommendations for different usage scenarios:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New users / those wanting to try it cheap&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First choice: &lt;strong&gt;Alibaba Cloud Bailian Lite&lt;/strong&gt; (first month ¥7.9). Rich model selection, backed by Alibaba Cloud infrastructure, with solid stability. Downsides: only the primary account is supported, and the config documentation isn&amp;rsquo;t beginner-friendly.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Budget-conscious, light use (monthly budget ≤ ¥30)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First choice: &lt;strong&gt;Infinity Lite&lt;/strong&gt; (¥19.9/month). Quota close to Bailian&amp;rsquo;s at half the price, ideal for light developers who code 2–3 times a week.&lt;/li&gt;
&lt;li&gt;Second choice: &lt;strong&gt;MiniMax Starter&lt;/strong&gt; (¥29/month). No weekly cap; quota only refreshes every 5 hours, good for continuous use.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Daily development, moderate use (monthly budget ¥40–50)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First choice: &lt;strong&gt;Alibaba Cloud Bailian Lite&lt;/strong&gt; (regular ¥40) or &lt;strong&gt;Volcengine Ark Lite&lt;/strong&gt; (regular ¥40). Both have transparent quotas and many model choices.&lt;/li&gt;
&lt;li&gt;Not recommended: Zhipu GLM (¥49 after the price increase, worse value) and Kimi (¥49, few tool integrations and quota heavily affected by cache).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Heavy development, full-stack, or multi-model switching&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First choice: &lt;strong&gt;Alibaba Cloud Bailian Pro&lt;/strong&gt; or &lt;strong&gt;Volcengine Ark Pro&lt;/strong&gt; (¥200/month). Around 5x the quota of Lite, with free switching between multiple models. Volcengine also supports Auto smart scheduling.&lt;/li&gt;
&lt;li&gt;If you prefer GLM&amp;rsquo;s in-house models, consider Zhipu GLM, but note its weekly limit and peak-time quota multipliers (3x during peak, 2x off-peak).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Pursuing ultimate response speed&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If time-to-first-token and generation speed are your top priorities, &lt;strong&gt;Zhipu GLM&lt;/strong&gt;&amp;rsquo;s &lt;code&gt;glm-5-turbo&lt;/code&gt; (1.43s TTFT) and &lt;code&gt;glm-4.5-air&lt;/code&gt; (103 TPS) perform best.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;5-summary&#34;&gt;5. Summary
&lt;/h2&gt;&lt;p&gt;The Chinese Coding Plan market is iterating rapidly, with price wars and model wars running in parallel. When choosing, don&amp;rsquo;t fixate on surface prices; instead, focus on three core questions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;What is the metering unit?&lt;/strong&gt; API requests, Prompt counts, or tokens? Different units can&amp;rsquo;t be compared directly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How does the quota mechanism work?&lt;/strong&gt; Refreshed every 5 hours, capped weekly, or capped monthly? This determines whether you can sustain high-intensity use.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is the speed responsive?&lt;/strong&gt; TTFT and TPS directly affect the coding experience, and the same model can perform wildly differently across platforms.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A final reminder: plan policies change frequently across vendors (e.g., Zhipu&amp;rsquo;s price increase, Kimi switching to token billing, Alibaba Cloud discontinuing its Lite tier), so be sure to confirm the latest details on each platform&amp;rsquo;s official website before subscribing.&lt;/p&gt;
&lt;h2 id=&#34;data-sources&#34;&gt;Data sources
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://xhslink.com/o/2MUdNLQ7Uj7&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Xiaohongshu - Speed cross-test and price comparison of 9 China Coding Plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.cnblogs.com/wzxNote/p/19648084&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cnblogs - Full comparison of 2026 mainstream China AI Coding Plans | Developer pitfall guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://cloud.tencent.com/document/product/1823/130092&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Tencent Cloud - Coding Plan overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://zhuanlan.zhihu.com/p/2011769182103021566&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zhihu - Alibaba Cloud Bailian Coding Plan first purchase as low as ¥7.9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.volcengine.com/article/37524&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Volcengine - Ark Coding Plan: AI coding service and pricing details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.bigmodel.cn/glm-coding&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zhipu AI - GLM Coding Plan official site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://zhuanlan.zhihu.com/p/2010413265843422319&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Zhihu - Hands-on MiniMax M2.5: open-source disruptor, value-for-money king?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Why the Harder You Work, the Lower Your Income Ceiling?</title>
        <link>https://torchtree.com/en/post/effort-income-ceiling/</link>
        <pubDate>Thu, 16 Apr 2026 03:01:41 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/effort-income-ceiling/</guid>
        <description>&lt;p&gt;Many working professionals go through a familiar phase: when you first start out, your skills and income rise almost in lockstep—every new technique you master, every certification you earn, pushes your salary higher. But a few years in, an invisible line quietly appears: &lt;strong&gt;your professional ability keeps improving, yet your income growth stalls.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t because you aren&amp;rsquo;t working hard enough. It&amp;rsquo;s because you&amp;rsquo;re applying the logic of &amp;ldquo;honing a craft&amp;rdquo; to a problem that requires &amp;ldquo;running a system&amp;rdquo; to solve.&lt;/p&gt;
&lt;h2 id=&#34;the-essence-of-the-problem-skill-and-moneymaking-are-two-different-operating-systems&#34;&gt;The essence of the problem: skill and moneymaking are two different operating systems
&lt;/h2&gt;&lt;p&gt;We tend to assume that &amp;ldquo;doing things to perfection&amp;rdquo; will naturally bring &amp;ldquo;greater returns.&amp;rdquo; But the two goals actually depend on completely different ability dimensions.&lt;/p&gt;
&lt;p&gt;Think of a chef. He could spend his entire life studying heat control, knife work, and seasoning to become one of the top culinary masters in the industry; but when he wants to open a profitable restaurant, he faces an entirely different set of problems: where do customers come from, how should the menu be designed, how do you pick a location and food-delivery platforms, and why would guests pay for his food instead of a cheaper alternative next door?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Great cooking only solves the &amp;ldquo;making&amp;rdquo; part; a profitable restaurant solves the &amp;ldquo;selling&amp;rdquo; part.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the workplace, most &amp;ldquo;employees&amp;rdquo; spend their careers on the former—optimizing code, designing plans, writing reports, processing data. These tasks make us excellent &amp;ldquo;executors&amp;rdquo; but rarely train us to be &amp;ldquo;closed-loop designers.&amp;rdquo; Once income reaches a certain level, what decides whether you break through the ceiling is no longer &amp;ldquo;how beautifully you do the work,&amp;rdquo; but whether you can build a complete value-monetization system.&lt;/p&gt;
&lt;p&gt;The recent social media discussion around this topic centers on exactly this: many people discover they&amp;rsquo;ve poured all their energy into &amp;ldquo;cooking a better dish&amp;rdquo; without ever lifting their head to look at the restaurant&amp;rsquo;s ledger.&lt;/p&gt;
&lt;h2 id=&#34;self-reflection-why-are-we-bad-at-making-money&#34;&gt;Self-reflection: why are we &amp;ldquo;bad at making money&amp;rdquo;?
&lt;/h2&gt;&lt;p&gt;After realizing this problem, many people&amp;rsquo;s first reaction is self-blame: &amp;ldquo;Am I too comfortable with the status quo?&amp;rdquo; &amp;ldquo;Do I lack business acumen?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;But if you zoom out, you&amp;rsquo;ll find a deeper cause: &lt;strong&gt;the entire environmental system in which we grew up was never designed to raise &amp;ldquo;independent business operators.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;From foundational education to higher education, and then on to on-the-job training after joining a company, the core logic has always been to turn a person into a &amp;ldquo;qualified laborer&amp;rdquo;—mastering a skill that is available to be hired, replaceable, and priced. A company as an organization also doesn&amp;rsquo;t exist to maximize your personal wealth; it exists to embed you in an already-designed value chain through division of labor, so you can produce efficiently.&lt;/p&gt;
&lt;p&gt;This isn&amp;rsquo;t a conspiracy theory; it&amp;rsquo;s an efficient mechanism for social collaboration. The problem is that this mechanism distributes returns linearly: you invest time, you earn a wage; stop investing and the returns stop. Real wealth accumulation, by contrast, usually depends on &lt;strong&gt;non-linear, compounding productive assets&lt;/strong&gt;—such as controllable customer channels, reusable product assets, automated systems, or equity.&lt;/p&gt;
&lt;p&gt;One sentence sums up the divide:&lt;/p&gt;
&lt;p&gt;When you invest 100% of your energy in the former but never deliberately accumulate the latter, an income ceiling is almost inevitable.&lt;/p&gt;
&lt;h2 id=&#34;core-insight-making-money-is-a-tacit-knowledge-that-requires-deliberate-practice&#34;&gt;Core insight: making money is a &amp;ldquo;tacit knowledge&amp;rdquo; that requires deliberate practice
&lt;/h2&gt;&lt;p&gt;Once you understand the structural causes, there&amp;rsquo;s another common trap to avoid: many people assume that since &amp;ldquo;making money&amp;rdquo; is a skill, it must be learnable systematically like programming or design, through tutorials and certificates.&lt;/p&gt;
&lt;p&gt;But the opposite is true. Methodologies for making money do exist, yet a huge share of them falls under &lt;strong&gt;&amp;ldquo;tacit knowledge&amp;rdquo;&lt;/strong&gt;—highly dependent on context, trial and error, networks, and timing, and very hard to standardize and export. You can finish ten business books and still not know how to find your first paying customer in the real market; you can memorize every marketing theory and still not know how to price and close a deal in a specific negotiation.&lt;/p&gt;
&lt;p&gt;This is why so many people feel the frustration of &amp;ldquo;I&amp;rsquo;ve heard all the advice, but I still can&amp;rsquo;t make money.&amp;rdquo; It isn&amp;rsquo;t weak comprehension; it&amp;rsquo;s that &lt;strong&gt;the ability to make money comes primarily from hands-on experience, not from what you read in books.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A chef who studies a recipe book can&amp;rsquo;t open a restaurant; the real ability to run a business can only grow in the process of doing business.&lt;/p&gt;
&lt;h2 id=&#34;a-gradual-path-how-to-shift-from-executor-to-closed-loop-designer&#34;&gt;A gradual path: how to shift from &amp;ldquo;executor&amp;rdquo; to &amp;ldquo;closed-loop designer&amp;rdquo;?
&lt;/h2&gt;&lt;p&gt;Once you realize this, the most critical mindset change is: &lt;strong&gt;don&amp;rsquo;t expect to solve the problem with a single dramatic leap (such as quitting your job to start a business right away).&lt;/strong&gt; That is usually the highest-risk, lowest-success path.&lt;/p&gt;
&lt;p&gt;A more realistic approach is to deliberately cultivate a &amp;ldquo;business perspective&amp;rdquo; within your existing job and life, and build up hands-on moneymaking experience gradually through small closed loops. Here are four incremental entry points:&lt;/p&gt;
&lt;h3 id=&#34;1-cultivate-a-business-perspective-while-working-a-job&#34;&gt;1. Cultivate a &amp;ldquo;business perspective&amp;rdquo; while working a job
&lt;/h3&gt;&lt;p&gt;Even if you don&amp;rsquo;t plan to leave your current position, you can start reorienting yourself from &amp;ldquo;task executor&amp;rdquo; to &amp;ldquo;observer of the value chain.&amp;rdquo; Try answering these questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Where does the revenue for your product or project come from?&lt;/li&gt;
&lt;li&gt;Who are the customers, and why do they choose you over competitors?&lt;/li&gt;
&lt;li&gt;Where in the value chain do you sit? How replaceable are you?&lt;/li&gt;
&lt;li&gt;If you had to independently replicate this business model, what would be missing?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This shift in perspective won&amp;rsquo;t earn you an extra cent right away, but it will gradually change the reference frame you use to make decisions—from &amp;ldquo;how do I do this well&amp;rdquo; to &amp;ldquo;how do I become irreplaceable in this system, or gain the ability to monetize independently.&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;2-try-to-productize-your-skills&#34;&gt;2. Try to &amp;ldquo;productize&amp;rdquo; your skills
&lt;/h3&gt;&lt;p&gt;For many professionals, their biggest asset is years of accumulated expertise and experience. But most are used to &amp;ldquo;selling services by the hour&amp;rdquo; and have never considered turning that into a scalable product.&lt;/p&gt;
&lt;p&gt;Productizing doesn&amp;rsquo;t need to be grand at first. It can be an Excel template you use often, a structured industry-research framework, a 30-minute mini-course, or an automation script. The key is that &lt;strong&gt;this process forces you to think about pricing, user personas, delivery methods, and sales channels&lt;/strong&gt;—and those are exactly the core components of the &amp;ldquo;craft of making money.&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;3-actively-touch-the-real-scenes-of-acquisition-and-conversion&#34;&gt;3. Actively touch the real scenes of &amp;ldquo;acquisition&amp;rdquo; and &amp;ldquo;conversion&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;Many technically-minded people instinctively reject sales, marketing, and negotiation as &amp;ldquo;not their proper job.&amp;rdquo; But the essence of business is exchange, and exchange requires someone to drive acquisition and conversion.&lt;/p&gt;
&lt;p&gt;You don&amp;rsquo;t need to become a star salesperson overnight. You can start very small: help a friend promote a side project, run a social media account sharing your professional expertise, or actively join a business discussion with a client. Every real interaction gives you insight you can&amp;rsquo;t get in a classroom—what kind of customer is willing to pay for value? Where do their pain points really lie? What kind of expression moves them most?&lt;/p&gt;
&lt;h3 id=&#34;4-complete-your-first-full-closed-loop-through-a-side-hustle-or-small-transactions&#34;&gt;4. Complete your first full closed loop through a side hustle or small transactions
&lt;/h3&gt;&lt;p&gt;However much you study theory, nothing beats personally running through the complete &amp;ldquo;acquire customer—quote—deliver—collect payment&amp;rdquo; flow once.&lt;/p&gt;
&lt;p&gt;The scale of this loop can be tiny: take a few-hundred-yuan consulting gig, sell your first template, or help an acquaintance solve a specific problem. Its value isn&amp;rsquo;t in how much money you make, but in letting you experience firsthand: &lt;strong&gt;how a business closed loop operates, and where your blind spots still are.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once you build this feel, your understanding of &amp;ldquo;making money&amp;rdquo; moves from abstract concept to operational experience.&lt;/p&gt;
&lt;h2 id=&#34;conclusion-skills-set-the-floor-business-ability-sets-the-ceiling&#34;&gt;Conclusion: skills set the floor; business ability sets the ceiling
&lt;/h2&gt;&lt;p&gt;The accumulation of skills will never betray you. It gives you a foothold in uncertain environments and forms the &amp;ldquo;floor&amp;rdquo; of your income. But if you want to break through the ceiling, you must accept a reality:&lt;/p&gt;
&lt;p&gt;Change doesn&amp;rsquo;t need to happen all at once, and it doesn&amp;rsquo;t require you to instantly become a completely different person. It only asks that you start, one day, being willing to re-examine everything you do through the eyes of an &amp;ldquo;operator,&amp;rdquo; and then take the first small closed loop.&lt;/p&gt;
&lt;p&gt;When you stop being only the chef buried in the kitchen and also begin thinking about how the restaurant can turn a profit, your ceiling has already quietly begun to rise.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>The Programmer&#39;s Curse: Three Traps of Technical Thinking in Side Projects</title>
        <link>https://torchtree.com/en/post/cheng-xu-yuan-ji-shu-si-wei-xian-jing/</link>
        <pubDate>Thu, 16 Apr 2026 02:15:34 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/cheng-xu-yuan-ji-shu-si-wei-xian-jing/</guid>
        <description>&lt;h2 id=&#34;three-typical-traps&#34;&gt;Three typical traps
&lt;/h2&gt;&lt;h3 id=&#34;1-the-building-in-a-vacuum-trap-substituting-engineering-cycles-for-market-validation&#34;&gt;1. The building-in-a-vacuum trap: substituting engineering cycles for market validation
&lt;/h3&gt;&lt;p&gt;This is the most common path. Programmers are used to treating &amp;ldquo;writing code&amp;rdquo; as the default response to a problem: once requirements are clear, what follows is naturally designing the database, choosing a framework, and setting up CI/CD. But in side-project scenarios, the real risk is often not &amp;ldquo;can&amp;rsquo;t build it&amp;rdquo; but &amp;ldquo;nobody wants it.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;When all your energy goes into technical implementation, market validation gets postponed indefinitely. By the time the product launches, you discover the user pain point doesn&amp;rsquo;t exist, or exists but nobody&amp;rsquo;s willing to pay for it. Two months of engineering effort buys you nothing but a conclusion that validation failed — when a weekend landing page or community interviews could have told you the answer in advance.&lt;/p&gt;
&lt;h3 id=&#34;2-the-blind-clone-trap-mistaking-technically-replicable-for-commercially-replicable&#34;&gt;2. The blind-clone trap: mistaking &amp;ldquo;technically replicable&amp;rdquo; for &amp;ldquo;commercially replicable&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;When a technologist sees a product take off, their first reaction is often: &amp;ldquo;This feature isn&amp;rsquo;t complex, I can build a better one.&amp;rdquo; But commercial success rarely depends only on technical implementation. Channels, brand trust, community accumulation, timing windows, and operational capability — these factors are often far harder to replicate than code quality.&lt;/p&gt;
&lt;p&gt;Cloning a more feature-complete version is not the same as replicating the other party&amp;rsquo;s business model. When sales fall short of expectations, attributing the cause to &amp;ldquo;the market doesn&amp;rsquo;t appreciate it&amp;rdquo; is essentially using technical superiority to mask a failure to understand business logic.&lt;/p&gt;
&lt;h3 id=&#34;3-the-analysis-paralysis-trap-using-technical-decisions-to-escape-business-decisions&#34;&gt;3. The analysis-paralysis trap: using technical decisions to escape business decisions
&lt;/h3&gt;&lt;p&gt;The irony of this path is that it looks &amp;ldquo;rational&amp;rdquo; on the surface while actually using low-risk technology selection discussions to avoid high-risk action decisions. Tech selection certainly matters, but for a project whose demand is unvalidated, the opportunity cost of &amp;ldquo;three months without writing a line of code&amp;rdquo; far outweighs the potential loss of &amp;ldquo;picking the wrong language.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Many successful side projects had sloppy early code. They survived because the founders first focused on &amp;ldquo;finding people willing to pay,&amp;rdquo; not on &amp;ldquo;building a perfect tech stack.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;why-technical-thinking-is-an-asset-at-work-but-a-liability-in-side-projects&#34;&gt;Why technical thinking is an asset at work but a liability in side projects
&lt;/h2&gt;&lt;p&gt;At your job, technical ability is clearly priced: systems must be stable, code maintainable, architecture extensible. The company pays for exactly these engineering qualities. So pursuing technical correctness is a rational strategy.&lt;/p&gt;
&lt;p&gt;But the core variables in side projects and startups are &lt;strong&gt;market validation&lt;/strong&gt; and &lt;strong&gt;cash flow&lt;/strong&gt;. Whether users will sign up, whether they&amp;rsquo;ll pay, whether word-of-mouth spreads — the answers to these questions often become apparent before the code is finished. If you still treat &amp;ldquo;engineering perfection&amp;rdquo; as your top priority, you&amp;rsquo;ll unconsciously delay, avoid, or even replace the business actions that actually determine life or death.&lt;/p&gt;
&lt;p&gt;In other words: &lt;strong&gt;the workplace rewards &amp;ldquo;doing things right&amp;rdquo;; side projects reward &amp;ldquo;doing the right things.&amp;rdquo;&lt;/strong&gt; The scoring criteria differ, so reusing the same mental model produces systematic bias.&lt;/p&gt;
&lt;h2 id=&#34;a-perspective-shift-worth-considering&#34;&gt;A perspective shift worth considering
&lt;/h2&gt;&lt;p&gt;Based on the analysis above, you can try reversing the order of execution in your side project:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Find people willing to pay first, then write code.&lt;/strong&gt; Validate demand with pre-sales, landing pages, surveys, or community interviews. Only once you&amp;rsquo;ve confirmed someone wants to pay for a solution should you start development.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Understand the business loop first, then talk about technical replication.&lt;/strong&gt; Before deciding to follow a direction, map out its customer acquisition channels, pricing strategy, and user lifecycle — not just its feature list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ship first, then iterate.&lt;/strong&gt; Choose a tech stack you know best and can prototype fastest, make &amp;ldquo;launch&amp;rdquo; the first milestone, and defer &amp;ldquo;optimal performance&amp;rdquo; and &amp;ldquo;most elegant architecture&amp;rdquo; until you have real users.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Technical thinking itself isn&amp;rsquo;t wrong; what&amp;rsquo;s wrong is overusing it on the wrong battlefield. For programmers, the truly rare competitive edge may not be writing more elegant code, but knowing &lt;strong&gt;when to set the code aside.&lt;/strong&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Claude Rolls Out Identity Verification: Impact on Users in Unsupported Regions and How to Respond</title>
        <link>https://torchtree.com/en/post/claude-idv-china-impact/</link>
        <pubDate>Wed, 15 Apr 2026 15:22:53 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/claude-idv-china-impact/</guid>
        <description>&lt;p&gt;Anthropic recently rolled out an identity verification mechanism on the Claude platform. Based on the official help center documentation and the list of supported countries and regions, this article summarizes the core points of the mechanism, with a focus on assessing the actual impact on users in unsupported regions (e.g., mainland China) and viable strategies.&lt;/p&gt;
&lt;h2 id=&#34;1-core-points-of-the-identity-verification-mechanism&#34;&gt;1. Core points of the identity verification mechanism
&lt;/h2&gt;&lt;h3 id=&#34;11-purpose&#34;&gt;1.1 Purpose
&lt;/h3&gt;&lt;p&gt;According to the official statement, identity verification aims to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prevent technical abuse&lt;/li&gt;
&lt;li&gt;Enforce platform usage policies&lt;/li&gt;
&lt;li&gt;Fulfill legal and security compliance obligations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When users access certain features, a verification prompt may appear — this is part of routine platform integrity checks.&lt;/p&gt;
&lt;h3 id=&#34;12-verification-methods-and-required-materials&#34;&gt;1.2 Verification methods and required materials
&lt;/h3&gt;&lt;p&gt;The verification service is powered by &lt;strong&gt;Persona Identities&lt;/strong&gt;. Users need to prepare:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A valid government-issued photo ID&lt;/strong&gt; (passport, driver&amp;rsquo;s license/state ID, or national ID)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A device with a camera&lt;/strong&gt;: a live selfie may be required&lt;/li&gt;
&lt;li&gt;The verification process typically takes no more than five minutes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Document types that are NOT accepted include&lt;/strong&gt;: photocopies/screenshots/scans, digital IDs (such as electronic driver&amp;rsquo;s licenses), student/employee/bank cards, and temporary paper IDs.&lt;/p&gt;
&lt;h3 id=&#34;13-data-privacy-statement&#34;&gt;1.3 Data privacy statement
&lt;/h3&gt;&lt;p&gt;The official documentation highlights the following privacy protections:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anthropic is the &lt;strong&gt;data controller&lt;/strong&gt; of verification data; Persona only processes data as instructed&lt;/li&gt;
&lt;li&gt;ID documents and selfies are &lt;strong&gt;not stored directly by Anthropic&lt;/strong&gt; but kept on the Persona platform&lt;/li&gt;
&lt;li&gt;Data is used only for identity confirmation and legal/security obligations, &lt;strong&gt;not for model training&lt;/strong&gt;, and is not shared with third parties for marketing or advertising&lt;/li&gt;
&lt;li&gt;Both transmission and storage are encrypted&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;14-why-accounts-can-still-be-banned-after-verification&#34;&gt;1.4 Why accounts can still be banned after verification
&lt;/h3&gt;&lt;p&gt;The official documentation explicitly lists four situations that can lead to account suspension:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Repeated violations of usage policies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating an account from an unsupported location&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Violating the Terms of Service&lt;/li&gt;
&lt;li&gt;Use by individuals under 18&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This point is especially critical for users in unsupported regions: even if identity verification passes, if the system determines the account originates from an unsupported region, there is still a risk of a ban.&lt;/p&gt;
&lt;h2 id=&#34;2-real-impact-on-chinese-users&#34;&gt;2. Real impact on Chinese users
&lt;/h2&gt;&lt;h3 id=&#34;21-mainland-china-is-not-on-the-official-supported-list&#34;&gt;2.1 Mainland China is not on the official supported list
&lt;/h3&gt;&lt;p&gt;According to Anthropic&amp;rsquo;s &lt;a class=&#34;link&#34; href=&#34;https://www.anthropic.com/supported-countries&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Supported Countries and Regions&lt;/a&gt; page, &lt;strong&gt;mainland China does not appear in the supported list for Claude.ai or the commercial API&lt;/strong&gt;. The list includes Taiwan, but not mainland China, Hong Kong, or Macau.&lt;/p&gt;
&lt;h3 id=&#34;22-core-impact-assessment&#34;&gt;2.2 Core impact assessment
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Impact dimension&lt;/th&gt;
          &lt;th&gt;Details&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Ban risk shifts from implicit to explicit&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Previously, the platform mainly relied on IP, payment methods, and login behavior for risk control; now identity verification is directly tied to regional policy. Even after passing verification with a genuine Chinese passport, users may still be banned for &amp;ldquo;originating from an unsupported region.&amp;rdquo;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Account acquisition threshold rises significantly&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;For users relying on shared accounts or SMS-activation platforms, completing a &amp;ldquo;physical ID + live selfie&amp;rdquo; verification process is nearly impossible.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Cross-border data concerns&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Chinese users must submit ID documents and biometric data to Persona, a US third-party service provider, raising privacy and cross-border data compliance concerns.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Low success rate for appeals&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;If the ban reason is &amp;ldquo;originating from an unsupported region,&amp;rdquo; this is an explicit policy red line for Anthropic rather than a system error, so the likelihood of a successful appeal is low.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;23-behaviors-more-likely-to-trigger-verification&#34;&gt;2.3 Behaviors more likely to trigger verification
&lt;/h3&gt;&lt;p&gt;Although the official trigger conditions are not fully disclosed, based on standard platform risk-control logic, the following behaviors are more likely to trigger identity verification:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;High-frequency API calls or anomalous usage patterns&lt;/li&gt;
&lt;li&gt;Upgrading to Claude Pro / purchasing large API credits&lt;/li&gt;
&lt;li&gt;Frequently switching IP addresses or login devices&lt;/li&gt;
&lt;li&gt;Accounts being reported or generating policy-violating content&lt;/li&gt;
&lt;li&gt;Using unconventional payment methods such as virtual credit cards or gift cards&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;3-response-strategies&#34;&gt;3. Response strategies
&lt;/h2&gt;&lt;h3 id=&#34;31-for-existing-accounts-reduce-the-chance-of-being-triggered&#34;&gt;3.1 For existing accounts: reduce the chance of being triggered
&lt;/h3&gt;&lt;p&gt;If you still hold a usable account, the following measures can help extend its useful life:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Keep a low profile&lt;/strong&gt;: try to avoid triggering high-risk-control features&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stabilize your network environment&lt;/strong&gt;: minimize IP hopping and maintain consistent access patterns&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comply with usage policies&lt;/strong&gt;: avoid generating prohibited content to reduce the chance of being reported&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It should be clear that these measures can only lower the probability of being triggered; they cannot eliminate the structural risk of being in an &amp;ldquo;unsupported region.&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;32-long-term-alternatives&#34;&gt;3.2 Long-term alternatives
&lt;/h3&gt;&lt;p&gt;Given the low compliance ceiling for personal accounts, it&amp;rsquo;s advisable to migrate to more stable, sustainable channels:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Option&lt;/th&gt;
          &lt;th&gt;Details&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Enterprise cloud platforms&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Access the Claude API through enterprise-grade platforms such as &lt;!-- raw HTML omitted --&gt;Amazon Bedrock&lt;!-- raw HTML omitted --&gt;, &lt;!-- raw HTML omitted --&gt;Google Cloud Vertex AI&lt;!-- raw HTML omitted --&gt;, and &lt;!-- raw HTML omitted --&gt;Microsoft Foundry&lt;!-- raw HTML omitted --&gt;. These channels target enterprise users, are more compliant, and are not directly subject to the regional verification restrictions of personal accounts.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Official partners&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Watch whether Anthropic provides services in mainland China through authorized partners.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Local alternative models&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;For daily work and development, migrate to models that operate compliantly in mainland China, such as &lt;!-- raw HTML omitted --&gt;DeepSeek&lt;!-- raw HTML omitted --&gt;, &lt;!-- raw HTML omitted --&gt;Qwen&lt;!-- raw HTML omitted --&gt;, &lt;!-- raw HTML omitted --&gt;ERNIE Bot&lt;!-- raw HTML omitted --&gt;, and &lt;!-- raw HTML omitted --&gt;Zhipu AI (GLM)&lt;!-- raw HTML omitted --&gt;.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;33-if-youve-already-been-banned&#34;&gt;3.3 If you&amp;rsquo;ve already been banned
&lt;/h3&gt;&lt;p&gt;The official &lt;a class=&#34;link&#34; href=&#34;https://docs.google.com/forms/d/e/1FAIpQLSdcTocgFJXSJzFJzVc47nxKmjeVhXDfgRaifH3DUZhYarA8vA/viewform&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;appeal form&lt;/a&gt; lets users submit a review request. However, if the ban reason is &amp;ldquo;originating from an unsupported region,&amp;rdquo; the chance of a successful appeal is very low. It&amp;rsquo;s better to prioritize backing up and migrating your data and session records.&lt;/p&gt;
&lt;h3 id=&#34;34-risks-of-creating-a-new-account&#34;&gt;3.4 Risks of creating a new account
&lt;/h3&gt;&lt;p&gt;Under the current policy, the long-term viability of a new mainland China user registering a personal Claude account and passing identity verification is highly uncertain. If there&amp;rsquo;s a genuine need, it&amp;rsquo;s recommended to apply through &lt;strong&gt;enterprise-grade cloud services&lt;/strong&gt; or a &lt;strong&gt;physical office environment in a supported region&lt;/strong&gt; in a compliant way, rather than relying on SMS-activation codes or virtual payment methods.&lt;/p&gt;
&lt;h2 id=&#34;4-summary&#34;&gt;4. Summary
&lt;/h2&gt;&lt;p&gt;Claude&amp;rsquo;s identity verification mechanism elevates &amp;ldquo;regional restrictions&amp;rdquo; from a background risk-control rule to a front-facing compliance hurdle. This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Technical and payment-based workarounds (VPNs, virtual numbers, shared accounts) largely fail in the face of identity verification&lt;/li&gt;
&lt;li&gt;Even after passing verification, &amp;ldquo;unsupported region&amp;rdquo; remains a red line that can directly trigger a ban&lt;/li&gt;
&lt;li&gt;For long-term, stable business needs, &lt;strong&gt;migrating to enterprise cloud channels or local alternative models&lt;/strong&gt; is the more sustainable strategy&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This change also reflects the trend of leading AI platforms tightening compliance boundaries during global expansion. For users in unsupported regions, accepting this structural constraint and planning alternatives in advance is more rational than continuously investing in circumvention.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Success Is Not a Door but a Wall: Naval&#39;s Takedown of the Overnight-Success Myth</title>
        <link>https://torchtree.com/en/post/naval-myth-overnight-success/</link>
        <pubDate>Wed, 15 Apr 2026 07:38:37 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/naval-myth-overnight-success/</guid>
        <description>&lt;h2 id=&#34;introduction-the-story-selectively-ignored&#34;&gt;Introduction: the story selectively ignored
&lt;/h2&gt;&lt;p&gt;The success narrative the media loves to tell is always the same: a person, a product, a book—suddenly capturing everyone&amp;rsquo;s attention overnight. An app goes viral, a bestseller hits the top, a founder rings the bell. The headline always carries the same word—&lt;strong&gt;overnight success&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;But Naval Ravikant, in this article published on &lt;a class=&#34;link&#34; href=&#34;https://open.substack.com/pub/navalsarchive/p/the-myth-you-were-sold-about-success&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Naval&amp;rsquo;s Archive&lt;/a&gt;, points out that this headline always leaves out the seven years that came before.&lt;/p&gt;
&lt;p&gt;The tweet itself is only a few words, but the newsletter expands it into a full cognitive-recalibration essay. Here&amp;rsquo;s a breakdown and interpretation of its core argument.&lt;/p&gt;
&lt;h2 id=&#34;1-the-invisible-years-the-foundation-beneath-all-visible-success&#34;&gt;1. &amp;ldquo;The Invisible Years&amp;rdquo;: the foundation beneath all visible success
&lt;/h2&gt;&lt;p&gt;The article introduces an easily overlooked concept: &lt;strong&gt;The Invisible Years&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Jeff Bezos sold books in a garage for years, J.K. Rowling&amp;rsquo;s manuscript was rejected twelve times, and Naval himself spent years building companies, writing, and thinking in public—these years, preceding any viral tweet, are what constitute the real foundation.&lt;/p&gt;
&lt;p&gt;This line in the original text pinpoints the exact moment most people quit:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Interpretation:&lt;/strong&gt; The value of this passage is that it redefines &amp;ldquo;giving up&amp;rdquo; as a time-perception bias—not a lack of ability, but a misjudgment of the feedback cycle. Struggle doesn&amp;rsquo;t go viral, process doesn&amp;rsquo;t trend; the only thing that gets shared is the outcome. This filtering mechanism of the information environment systematically inflates the illusion of &amp;ldquo;quick success.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;2-why-this-myth-is-genuinely-destructive&#34;&gt;2. Why this myth is genuinely destructive
&lt;/h2&gt;&lt;p&gt;The article doesn&amp;rsquo;t stop at the cliché that &amp;ldquo;success takes hard work&amp;rdquo;; it goes further: &lt;strong&gt;believing in &amp;ldquo;overnight success&amp;rdquo; not only misleads you, it actively harms you.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you believe success happens suddenly, then every day it doesn&amp;rsquo;t happen becomes evidence that &amp;ldquo;this isn&amp;rsquo;t going to happen.&amp;rdquo; You measure yourself against a timeline that doesn&amp;rsquo;t exist, comparing someone else&amp;rsquo;s chapter thirty to your chapter three.&lt;/p&gt;
&lt;p&gt;Naval uses a set of very concrete, bodily words to describe the process:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grind and sweat&lt;/strong&gt;: the monotonous repetition day after day, with nothing romanticized about it&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Toil and bleed&lt;/strong&gt;: the real cost, the sacrifice, the effort that will never be known&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Face the abyss&lt;/strong&gt;: looking at everything you&amp;rsquo;ve built, genuinely unsure whether any of it will ever amount to anything&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Interpretation:&lt;/strong&gt; This is the sharpest insight. Many people can endure hardship, even sacrifice, but what they cannot endure is &lt;strong&gt;uncertainty itself&lt;/strong&gt;. The abyss isn&amp;rsquo;t failure; it&amp;rsquo;s continuing in the complete absence of any cosmic feedback. This is a discipline that runs against human nature—the human brain is designed to rely on feedback to correct behavior, yet genuine long-termism demands that you hold course inside a feedback vacuum.&lt;/p&gt;
&lt;h2 id=&#34;3-overnight-success-isnt-entirely-fictionits-just-misdefined&#34;&gt;3. &amp;ldquo;Overnight success&amp;rdquo; isn&amp;rsquo;t entirely fiction—it&amp;rsquo;s just misdefined
&lt;/h2&gt;&lt;p&gt;The article concedes that the &amp;ldquo;overnight&amp;rdquo; part of overnight success does exist:&lt;/p&gt;
&lt;p&gt;But that moment isn&amp;rsquo;t success itself. It&amp;rsquo;s the &lt;strong&gt;visibility&lt;/strong&gt; of success. The real success happens in slow, unglamorous, unwatched rooms, accumulating day by day.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Interpretation:&lt;/strong&gt; This is one of the clearest concretizations of the concept of &amp;ldquo;compounding.&amp;rdquo; Compound interest is a mathematical model in economics, but on a personal level it&amp;rsquo;s a psychological test—you have to keep investing before the curve breaks above the horizontal axis. The tipping point is a mathematical certainty, but before it arrives, it looks like a miracle that will never come.&lt;/p&gt;
&lt;h2 id=&#34;4-success-is-a-lagging-indicator&#34;&gt;4. Success is a lagging indicator
&lt;/h2&gt;&lt;p&gt;Strip away the poetic shell, and the article leaves you with a mathematical truth:&lt;/p&gt;
&lt;p&gt;Everything you see today—money, reputation, influence—is the delayed result of decisions made years ago. The person you admire wasn&amp;rsquo;t successful the moment you noticed him; he succeeded on the day he chose to continue when &amp;ldquo;giving up made more sense.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Interpretation:&lt;/strong&gt; This fundamentally reframes the coordinate system of effort. If success is a lagging indicator, then your task isn&amp;rsquo;t to chase results, but to &lt;strong&gt;build the inputs&lt;/strong&gt;. Day after day of inputs—no applause, no feedback, no dopamine reward. Naval has said elsewhere that life&amp;rsquo;s most important skill is the ability to delay gratification; this tweet is the lived experience of that idea.&lt;/p&gt;
&lt;h2 id=&#34;5-the-abyss-is-a-filter&#34;&gt;5. The abyss is a filter
&lt;/h2&gt;&lt;p&gt;The article closes with a powerful metaphor:&lt;/p&gt;
&lt;p&gt;The abyss filters out most people not because it selects for intelligence, talent, or capital, but because it selects for only one thing: &lt;strong&gt;the willingness to keep going when there is no rational reason to continue.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The phrase &amp;ldquo;overnight success&amp;rdquo; itself becomes a punchline—it&amp;rsquo;s the universe&amp;rsquo;s way of erasing all the evidence that came before. And those who have truly been through it will never say the word without a smile, because they remember every sleepless night that preceded it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Interpretation:&lt;/strong&gt; This &amp;ldquo;wall&amp;rdquo; metaphor is colder and more honest than any success-coaching chicken soup. A door implies a key, a shortcut, a moment of unlocking; a wall implies &lt;strong&gt;no technique, only pushing.&lt;/strong&gt; When others on the other side of the wall call you &amp;ldquo;lucky,&amp;rdquo; it&amp;rsquo;s only because they haven&amp;rsquo;t seen the every single day you spent pushing against it.&lt;/p&gt;
&lt;h2 id=&#34;conclusion-to-those-living-in-the-invisible-years&#34;&gt;Conclusion: to those living in the invisible years
&lt;/h2&gt;&lt;p&gt;The most valuable thing about this article isn&amp;rsquo;t telling us to &amp;ldquo;work hard,&amp;rdquo; but providing a &lt;strong&gt;normal narrative framework&lt;/strong&gt; for &amp;ldquo;having not yet seen results.&amp;rdquo; In an era when social media only shows outcomes, realizing that &amp;ldquo;the stage without feedback is itself part of the process&amp;rdquo; is a rare cognitive immunity.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re going through your own invisible years, Naval&amp;rsquo;s line can serve as an anchor:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Original source:&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;https://open.substack.com/pub/navalsarchive/p/the-myth-you-were-sold-about-success&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Myth You Were Sold About Success — Naval&amp;rsquo;s Archive&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This article is a summary of and personal commentary on the Naval&amp;rsquo;s Archive newsletter piece; all quoted passages are attributed to their sources.&lt;/em&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Nous Research Subscription Models: Prepaid vs Pay-as-you-go, Which Is Better Value?</title>
        <link>https://torchtree.com/en/post/nous-research-portal-pricing-guide/</link>
        <pubDate>Tue, 14 Apr 2026 03:57:09 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/nous-research-portal-pricing-guide/</guid>
        <description>&lt;p&gt;Recently, Nous Research&amp;rsquo;s API service, Portal, has gradually drawn the attention of developers. This article systematically maps out its pricing system based on official documentation and public information, clarifies core concepts such as &amp;ldquo;credits,&amp;rdquo; &amp;ldquo;tokens,&amp;rdquo; and &amp;ldquo;rate limits,&amp;rdquo; and compares the use cases for the two consumption modes.&lt;/p&gt;
&lt;h2 id=&#34;1-core-concepts-the-exchange-relationship-between-credits-and-tokens&#34;&gt;1. Core Concepts: The Exchange Relationship Between Credits and Tokens
&lt;/h2&gt;&lt;p&gt;In Nous Portal&amp;rsquo;s billing system, &lt;strong&gt;1 Credit = $1 USD&lt;/strong&gt;. This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &amp;ldquo;$10.00 monthly credits&amp;rdquo; in a subscription plan is equivalent to $10 of API usage credit.&lt;/li&gt;
&lt;li&gt;Model pricing (e.g., Hermes-4-70B at $0.13/1M input tokens) is priced directly in USD.&lt;/li&gt;
&lt;li&gt;The actual amount of tokens a credit converts to depends on the unit price of the chosen model.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Conversion example&lt;/strong&gt; (using Basic plan&amp;rsquo;s $10 credits):&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th&gt;Input price/1M&lt;/th&gt;
          &lt;th&gt;Input tokens purchased with $10&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepHermes 3 (Mistral 24B)&lt;/td&gt;
          &lt;td&gt;$0.02&lt;/td&gt;
          &lt;td&gt;500 million tokens&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hermes-4-70B&lt;/td&gt;
          &lt;td&gt;$0.13&lt;/td&gt;
          &lt;td&gt;~76.9 million tokens&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hermes-4-405B&lt;/td&gt;
          &lt;td&gt;$1.00&lt;/td&gt;
          &lt;td&gt;10 million tokens&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Opus 4.6&lt;/td&gt;
          &lt;td&gt;$5.00&lt;/td&gt;
          &lt;td&gt;2 million tokens&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Source: &lt;a class=&#34;link&#34; href=&#34;https://portal.nousresearch.com/models&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nous Portal Models page&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As shown, when using high-performance models (such as Claude Opus 4.6), the amount of tokens your credits buy can differ by dozens of times.&lt;/p&gt;
&lt;h2 id=&#34;2-the-two-consumption-modes-explained&#34;&gt;2. The Two Consumption Modes Explained
&lt;/h2&gt;&lt;p&gt;According to the official API documentation, Nous Portal offers &lt;strong&gt;two independent consumption modes&lt;/strong&gt;:&lt;/p&gt;
&lt;h3 id=&#34;mode-a-subscription-prepaid&#34;&gt;Mode A: Subscription (prepaid)
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Plan&lt;/th&gt;
          &lt;th&gt;Monthly fee&lt;/th&gt;
          &lt;th&gt;Credits received&lt;/th&gt;
          &lt;th&gt;Rate Limits&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Free&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;$0&lt;/td&gt;
          &lt;td&gt;Trial credits (small amount)&lt;/td&gt;
          &lt;td&gt;50 RPM, 100K TPM&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Basic&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;$10&lt;/td&gt;
          &lt;td&gt;$10.00&lt;/td&gt;
          &lt;td&gt;400 RPM, 2M TPM&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Plus&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;$20&lt;/td&gt;
          &lt;td&gt;$20.00&lt;/td&gt;
          &lt;td&gt;400 RPM, 4M TPM&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Scale&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;$50&lt;/td&gt;
          &lt;td&gt;$50.00&lt;/td&gt;
          &lt;td&gt;600 RPM, 6M TPM&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Max&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;$100&lt;/td&gt;
          &lt;td&gt;$100.00&lt;/td&gt;
          &lt;td&gt;800 RPM, 8M TPM&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Source: &lt;a class=&#34;link&#34; href=&#34;https://portal.nousresearch.com/api-docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nous Portal API Docs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Analysis of characteristics&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A fixed monthly charge that grants equal-value credits.&lt;/li&gt;
&lt;li&gt;Access to rate limits higher than the &amp;ldquo;default paid user&amp;rdquo; tier.&lt;/li&gt;
&lt;li&gt;Credits may reset at the end of the month (confirm the exact policy on the billing page).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;mode-b-pay-as-you-go-direct-top-up&#34;&gt;Mode B: Pay-as-you-go (direct top-up)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No subscription required&lt;/strong&gt;; add API credits directly to your account (any amount).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rate Limits&lt;/strong&gt;: 200 RPM, 800,000 TPM (corresponding to the &amp;ldquo;Default paid users&amp;rdquo; level in the docs).&lt;/li&gt;
&lt;li&gt;Use until depleted, top up at any time.&lt;/li&gt;
&lt;li&gt;Credits may not expire (per the WorldSim Terms of Service: &amp;ldquo;Purchased credits will not expire unless the application(s) is retired&amp;rdquo;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Source: &lt;a class=&#34;link&#34; href=&#34;https://worldsim.nousresearch.com/terms&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;WorldSim Terms of Service&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;3-key-differences-vs-openrouter&#34;&gt;3. Key Differences vs OpenRouter
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Feature&lt;/th&gt;
          &lt;th&gt;&lt;!-- raw HTML omitted --&gt;Nous Portal&lt;!-- raw HTML omitted --&gt;&lt;/th&gt;
          &lt;th&gt;&lt;!-- raw HTML omitted --&gt;OpenRouter&lt;!-- raw HTML omitted --&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Consumption mode&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;① Subscription prepaid ($10-100/month); ② Direct credit top-up (any amount)&lt;/td&gt;
          &lt;td&gt;Pure pay-as-you-go (no monthly barrier)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Rate Limits&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Determined by subscription tier: Free(50) → Basic(400) → Max(800) RPM&lt;/td&gt;
          &lt;td&gt;Dynamically adjusted by usage&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Credits mechanism&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Prepaid credits, may reset monthly&lt;/td&gt;
          &lt;td&gt;Credits never expire&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Anonymous payment&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Not supported&lt;/td&gt;
          &lt;td&gt;Supports x402 protocol (Solana USDC)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Model coverage&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;400+ models, incl. OpenAI/Anthropic/open-source&lt;/td&gt;
          &lt;td&gt;200+ models, aggregates multiple providers&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Source: &lt;a class=&#34;link&#34; href=&#34;https://portal.nousresearch.com/api-docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nous Portal API Docs&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://openrouter.ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenRouter official site&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key difference&lt;/strong&gt;: Nous Portal&amp;rsquo;s subscription model essentially trades &amp;ldquo;monthly fees for higher rate limits + equal-value credits&amp;rdquo;; OpenRouter is pure per-usage billing with no subscription barrier.&lt;/p&gt;
&lt;h2 id=&#34;4-billing-formula-and-cost-estimation&#34;&gt;4. Billing Formula and Cost Estimation
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;API call cost formula&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Model price reference&lt;/strong&gt; (from the official Models page):&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th&gt;Input/1M&lt;/th&gt;
          &lt;th&gt;Output/1M&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepHermes 3 Mistral 24B&lt;/td&gt;
          &lt;td&gt;$0.02&lt;/td&gt;
          &lt;td&gt;$0.10&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hermes-4-70B&lt;/td&gt;
          &lt;td&gt;$0.13&lt;/td&gt;
          &lt;td&gt;$0.40&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hermes-4-405B&lt;/td&gt;
          &lt;td&gt;$1.00&lt;/td&gt;
          &lt;td&gt;$3.00&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.4&lt;/td&gt;
          &lt;td&gt;$2.50&lt;/td&gt;
          &lt;td&gt;$15.00&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Opus 4.6&lt;/td&gt;
          &lt;td&gt;$5.00&lt;/td&gt;
          &lt;td&gt;$25.00&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Source: &lt;a class=&#34;link&#34; href=&#34;https://portal.nousresearch.com/models&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nous Portal Models page&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Real example&lt;/strong&gt;: if you use Hermes-4-70B to process one conversation (2K input tokens, 1K output tokens):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cost = (2000/1M × $0.13) + (1000/1M × $0.40) = $0.00026 + $0.0004 = &lt;strong&gt;~$0.00066&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;$10 in credits can support about &lt;strong&gt;15,000&lt;/strong&gt; such conversations.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;5-selection-advice-and-potential-caveats&#34;&gt;5. Selection Advice and Potential Caveats
&lt;/h2&gt;&lt;h3 id=&#34;recommended-options-for-different-scenarios&#34;&gt;Recommended options for different scenarios
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;User type&lt;/th&gt;
          &lt;th&gt;Recommended approach&lt;/th&gt;
          &lt;th&gt;Reason&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Trial/light use&lt;/td&gt;
          &lt;td&gt;Free tier → top up a small amount of credits&lt;/td&gt;
          &lt;td&gt;No monthly commitment&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Developer/moderate traffic&lt;/td&gt;
          &lt;td&gt;Basic Subscription ($10)&lt;/td&gt;
          &lt;td&gt;400 RPM is enough for daily use; $10 credits are roughly consumed&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;High-traffic production&lt;/td&gt;
          &lt;td&gt;Scale/Max Subscription&lt;/td&gt;
          &lt;td&gt;600-800 RPM avoids 429 throttling&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Agent developers&lt;/td&gt;
          &lt;td&gt;Plus ($20)&lt;/td&gt;
          &lt;td&gt;Balance between rate limit and credit amount&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Uncertain usage&lt;/td&gt;
          &lt;td&gt;Direct credit top-up&lt;/td&gt;
          &lt;td&gt;Avoid wasting subscription credits that reset monthly&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;potential-issues-to-note&#34;&gt;Potential issues to note
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Credit reset risk&lt;/strong&gt;: subscription monthly credits may reset at the end of the month (confirm the exact policy by logging into the portal billing page).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rate limit difference&lt;/strong&gt;: the top-up mode offers only 200 RPM; high-concurrency scenarios can easily trigger throttling.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Huge model price gaps&lt;/strong&gt;: Claude Opus 4.6 costs 38× more than Hermes-4-70B; choosing the wrong model can drain credits quickly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Refund policy&lt;/strong&gt;: per the Terms of Service, &amp;ldquo;All Fees are non-refundable.&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Source: &lt;a class=&#34;link&#34; href=&#34;https://portal.nousresearch.com/terms&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Nous Portal Terms of Service&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;6-summary&#34;&gt;6. Summary
&lt;/h2&gt;&lt;p&gt;Nous Research Portal&amp;rsquo;s pricing system is designed to serve both &amp;ldquo;stable subscription users&amp;rdquo; and &amp;ldquo;flexible on-demand users&amp;rdquo;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Subscription mode&lt;/strong&gt; suits production environments that need a stable, high-concurrency rate limit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Top-up mode&lt;/strong&gt; suits scenarios with fluctuating usage where users want to avoid being bound by a monthly fee.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Developers should choose the most suitable billing method based on their token consumption, concurrency needs, and cost budget. For users who are uncertain, it&amp;rsquo;s recommended to first try the Free tier or a small top-up, then decide whether to upgrade the subscription based on actual usage.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This article is compiled from Nous Research&amp;rsquo;s official documentation and public materials; specific policies are subject to the latest official announcements.&lt;/em&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>The Complete Guide to Hermes Agent Discord Setup and Session Isolation</title>
        <link>https://torchtree.com/en/post/hermes-agent-discord-setup-session-isolation/</link>
        <pubDate>Mon, 13 Apr 2026 10:12:01 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/hermes-agent-discord-setup-session-isolation/</guid>
        <description>&lt;p&gt;Hermes Agent, as a fully-featured AI assistant platform, supports connecting to servers as a Discord Bot. Based on hands-on deployment experience, this article systematically walks through the whole flow from bot creation to session-isolation configuration, and answers the typical problems you may hit during deployment.&lt;/p&gt;
&lt;h2 id=&#34;1-discord-bot-creation-and-basic-configuration&#34;&gt;1. Discord Bot creation and basic configuration
&lt;/h2&gt;&lt;h3 id=&#34;1-create-a-discord-application&#34;&gt;1. Create a Discord Application
&lt;/h3&gt;&lt;p&gt;Go to the &lt;a class=&#34;link&#34; href=&#34;https://discord.com/developers/applications&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discord Developer Portal&lt;/a&gt;, click &lt;strong&gt;New Application&lt;/strong&gt;, fill in the app name, and you&amp;rsquo;ll enter the management interface. On the General Information page, note down the &lt;strong&gt;Application ID&lt;/strong&gt;; you&amp;rsquo;ll need it later to generate the invite link.&lt;/p&gt;
&lt;h3 id=&#34;2-configure-the-bot-and-key-permissions&#34;&gt;2. Configure the Bot and key permissions
&lt;/h3&gt;&lt;p&gt;Open the &lt;strong&gt;Bot&lt;/strong&gt; tab on the left. Here you need to complete three key settings:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bot identity settings&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Public Bot: keep it ON so you can use Discord&amp;rsquo;s standard invite link&lt;/li&gt;
&lt;li&gt;You can upload the bot&amp;rsquo;s avatar and banner on this page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Getting the Token&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click Reset Token to generate the Bot Token&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;This Token is shown only once&lt;/strong&gt;, so save it carefully; you&amp;rsquo;ll write it into Hermes&amp;rsquo; &lt;code&gt;.env&lt;/code&gt; file later&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Privileged Gateway Intents (key step)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At the bottom of the page, find the Privileged Gateway Intents section. You &lt;strong&gt;must enable both of the following&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Intent&lt;/th&gt;
          &lt;th&gt;Purpose&lt;/th&gt;
          &lt;th&gt;Required?&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Server Members Intent&lt;/td&gt;
          &lt;td&gt;Access member list, resolve usernames&lt;/td&gt;
          &lt;td&gt;Yes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Message Content Intent&lt;/td&gt;
          &lt;td&gt;Read message text content&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Yes&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Message Content Intent is a prerequisite for the bot to respond properly. If it isn&amp;rsquo;t enabled, the bot can come online and receive events but can&amp;rsquo;t read the message text—it appears &amp;ldquo;online but unresponsive.&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;3-generate-the-invite-link-and-authorize&#34;&gt;3. Generate the invite link and authorize
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Method 1: Installation tab (recommended)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On the left, go to Installation → enable Guild Install&lt;/li&gt;
&lt;li&gt;For Install Link, select Discord Provided Link&lt;/li&gt;
&lt;li&gt;Under Scopes, check &lt;code&gt;bot&lt;/code&gt; and &lt;code&gt;applications.commands&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Under Permissions, select: View Channels, Send Messages, Read Message History, Embed Links, Attach Files&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Method 2: Build the URL manually&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Replace YOUR_APP_ID with the Application ID, then visit the link and pick a server to authorize.&lt;/p&gt;
&lt;h2 id=&#34;2-hermes-environment-configuration&#34;&gt;2. Hermes environment configuration
&lt;/h2&gt;&lt;p&gt;Add the following to the &lt;code&gt;~/.hermes/.env&lt;/code&gt; file:&lt;/p&gt;
&lt;p&gt;To get your User ID: Discord Settings → Advanced → enable Developer Mode, then right-click your own username and select Copy User ID.&lt;/p&gt;
&lt;p&gt;Start the Gateway:&lt;/p&gt;
&lt;p&gt;Optional environment variables:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Variable&lt;/th&gt;
          &lt;th&gt;Default&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;DISCORD_REQUIRE_MENTION&lt;/td&gt;
          &lt;td&gt;true&lt;/td&gt;
          &lt;td&gt;Whether the bot only responds when @-mentioned in a channel&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DISCORD_AUTO_THREAD&lt;/td&gt;
          &lt;td&gt;true&lt;/td&gt;
          &lt;td&gt;Automatically create a Thread on @mention (recommended to keep on)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DISCORD_FREE_RESPONSE_CHANNELS&lt;/td&gt;
          &lt;td&gt;-&lt;/td&gt;
          &lt;td&gt;Channel IDs where the bot responds without an @mention&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DISCORD_IGNORED_CHANNELS&lt;/td&gt;
          &lt;td&gt;-&lt;/td&gt;
          &lt;td&gt;Blacklist of channels the bot completely ignores&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;3-how-session-isolation-works&#34;&gt;3. How session isolation works
&lt;/h2&gt;&lt;p&gt;Hermes distinguishes sessions with a &lt;code&gt;session_key&lt;/code&gt;. The default behavior in the Discord scenario is as follows:&lt;/p&gt;
&lt;h3 id=&#34;1-dm--naturally-isolated&#34;&gt;1. DM — naturally isolated
&lt;/h3&gt;&lt;p&gt;Every DM conversation has its own independent &lt;code&gt;session_key&lt;/code&gt;, no @mention needed, and all messages automatically fall into the same session.&lt;/p&gt;
&lt;h3 id=&#34;2-server-channels--isolated-per-user-by-default&#34;&gt;2. Server channels — isolated per user by default
&lt;/h3&gt;&lt;p&gt;A global setting in &lt;code&gt;config.yaml&lt;/code&gt; controls this behavior:&lt;/p&gt;
&lt;p&gt;When the value is &lt;code&gt;true&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alice @-mentions the bot in #research; the bot maintains a separate session for her&lt;/li&gt;
&lt;li&gt;Bob @-mentions the bot in the same channel; the bot maintains a &lt;strong&gt;completely different session&lt;/strong&gt; for him&lt;/li&gt;
&lt;li&gt;The two share no context, token usage, or runtime state&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If set to &lt;code&gt;false&lt;/code&gt;, the whole channel shares a single session.&lt;/p&gt;
&lt;h3 id=&#34;3-threads--the-core-isolation-mechanism&#34;&gt;3. Threads — the core isolation mechanism
&lt;/h3&gt;&lt;p&gt;Discord Threads are the key mechanism Hermes uses to isolate sessions:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Threads are isolated from the parent channel&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Thread&amp;rsquo;s &lt;code&gt;session_key&lt;/code&gt; includes the &lt;code&gt;thread_id&lt;/code&gt;, so conversations inside a Thread are completely isolated from the parent channel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Shared by default within a Thread&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;thread_sessions_per_user&lt;/code&gt; defaults to &lt;code&gt;false&lt;/code&gt;, so all users in the same Thread share one session (good for collaborative scenarios)&lt;/li&gt;
&lt;li&gt;If you want per-user isolation within a Thread too, set &lt;code&gt;thread_sessions_per_user: true&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Auto-created Threads (strongly recommended)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;DISCORD_AUTO_THREAD&lt;/code&gt; defaults to &lt;code&gt;true&lt;/code&gt;. Its mechanism:&lt;/p&gt;
&lt;p&gt;Result:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Each @mention = one new Thread = one brand-new isolated session&lt;/li&gt;
&lt;li&gt;Subsequent replies inside the Thread don&amp;rsquo;t need another @mention&lt;/li&gt;
&lt;li&gt;Different tasks naturally live in different sessions, completely avoiding context contamination&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;4-troubleshooting-no-response-to-mention-in-a-channel&#34;&gt;4. Troubleshooting: no response to @mention in a channel
&lt;/h2&gt;&lt;p&gt;If DM works fine but channel @mention gets no response, check in this order:&lt;/p&gt;
&lt;h3 id=&#34;1-check-message-content-intent-the-most-common-cause&#34;&gt;1. Check Message Content Intent (the most common cause)
&lt;/h3&gt;&lt;p&gt;Go to Discord Developer Portal → your Application → Bot → Privileged Gateway Intents, confirm &lt;strong&gt;Message Content Intent is enabled&lt;/strong&gt;, then click Save Changes.&lt;/p&gt;
&lt;h3 id=&#34;2-check-the-bots-channel-permissions&#34;&gt;2. Check the bot&amp;rsquo;s channel permissions
&lt;/h3&gt;&lt;p&gt;In Discord, right-click the channel → Edit Channel → Permissions, and confirm the bot role has:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;View Channels&lt;/li&gt;
&lt;li&gt;Read Message History&lt;/li&gt;
&lt;li&gt;Send Messages&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-check-the-environment-configuration&#34;&gt;3. Check the environment configuration
&lt;/h3&gt;&lt;h3 id=&#34;4-the-ultimate-fix-re-authorize&#34;&gt;4. The ultimate fix: re-authorize
&lt;/h3&gt;&lt;p&gt;If you&amp;rsquo;ve confirmed all the above settings are correct but it still won&amp;rsquo;t respond, try:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Kick the bot from the server&lt;/li&gt;
&lt;li&gt;Re-authorize with a new invite link (make sure the permission integer includes the required permissions)&lt;/li&gt;
&lt;li&gt;Restart the hermes gateway&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Real-world deployment experience shows that re-authorizing often fixes the problem—likely because Discord&amp;rsquo;s side permission cache hasn&amp;rsquo;t refreshed.&lt;/p&gt;
&lt;h2 id=&#34;5-recommended-configuration&#34;&gt;5. Recommended configuration
&lt;/h2&gt;&lt;p&gt;For &lt;strong&gt;maximum isolation&lt;/strong&gt;, here&amp;rsquo;s the recommended configuration:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;~/.hermes/.env&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;~/.hermes/config.yaml&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;The interaction experience under this configuration:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In #general, @Bot &amp;ldquo;help me write a Python script&amp;rdquo; → the bot automatically creates Thread A, and the task runs in an isolated environment&lt;/li&gt;
&lt;li&gt;@Bot again &amp;ldquo;analyze this document&amp;rdquo; → the bot creates Thread B, another brand-new session&lt;/li&gt;
&lt;li&gt;A colleague also @-mentions the bot in #general → gets their own Thread C, no interference&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;6-session-management-commands&#34;&gt;6. Session management commands
&lt;/h2&gt;&lt;p&gt;The following commands are available in any conversation:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Command&lt;/th&gt;
          &lt;th&gt;Effect&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;/reset&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Reset the current session and start a fresh empty session&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;/title task-name&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Name the current session for easier reference later&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;/sethome&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
          &lt;td&gt;Set the current channel as Home Channel, used to receive scheduled task output&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Isolation level&lt;/th&gt;
          &lt;th&gt;Default behavior&lt;/th&gt;
          &lt;th&gt;Control method&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;DM vs channel&lt;/td&gt;
          &lt;td&gt;Fully isolated&lt;/td&gt;
          &lt;td&gt;Natural&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Different users, same channel&lt;/td&gt;
          &lt;td&gt;Isolated per user&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;group_sessions_per_user: true&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Different Threads&lt;/td&gt;
          &lt;td&gt;Fully isolated&lt;/td&gt;
          &lt;td&gt;Natural (&lt;!-- raw HTML omitted --&gt;thread_id&lt;!-- raw HTML omitted --&gt; is part of the session key)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Same Thread, different users&lt;/td&gt;
          &lt;td&gt;Shared session&lt;/td&gt;
          &lt;td&gt;Enable isolation with &lt;!-- raw HTML omitted --&gt;thread_sessions_per_user: true&lt;!-- raw HTML omitted --&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Same user, same channel, different tasks&lt;/td&gt;
          &lt;td&gt;Shared session&lt;/td&gt;
          &lt;td&gt;&lt;!-- raw HTML omitted --&gt;Rely on &lt;!-- raw HTML omitted --&gt;DISCORD_AUTO_THREAD=true&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt; to auto-open a Thread&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Keeping &lt;code&gt;DISCORD_AUTO_THREAD=true&lt;/code&gt; (the default) is the simplest and most effective way to prevent contamination: every @mention lands in a fresh Thread session, fundamentally preventing multiple tasks in the same channel from interfering with one another.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>The 2026 Qiangji Plan Launches: Changes Parents Should Watch and How to Adjust Training Strategies</title>
        <link>https://torchtree.com/en/post/qiangji-2026-parent-guide/</link>
        <pubDate>Sat, 11 Apr 2026 08:13:40 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/qiangji-2026-parent-guide/</guid>
        <description>&lt;p&gt;The 2026 &amp;ldquo;Qiangji Plan&amp;rdquo; (Strong Foundation Plan) admissions work has officially begun, with online applications opening across the board in April. Based on official information released by Xinhua News on WeChat, this article reviews the policy highlights, the changes to admission rules, and the dynamic adjustments to how parents nurture their children&amp;rsquo;s education — from a parent&amp;rsquo;s perspective.&lt;/p&gt;
&lt;h2 id=&#34;1-key-2026-timeline&#34;&gt;1. Key 2026 timeline
&lt;/h2&gt;&lt;p&gt;According to the schedule compiled by Xinhua News:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;April&lt;/strong&gt;: enrollment brochures published, online applications open&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;June&lt;/strong&gt;: students sit the unified gaokao (college entrance exam)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;After the gaokao, before July 4&lt;/strong&gt;: provinces provide gaokao scores; universities determine the shortlisted candidates and organize assessments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Before July 5&lt;/strong&gt;: universities convert weighted composite scores and admit the best candidates on merit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that the Qiangji Plan allows applying to &lt;strong&gt;only one school&lt;/strong&gt;, and if admitted, you no longer participate in the later admission rounds&amp;rsquo; preference filling; if not admitted, it doesn&amp;rsquo;t affect normal-round admission.&lt;/p&gt;
&lt;h2 id=&#34;2-policy-positioning-not-a-ticket-to-a-prestigious-school-but-a-channel-for-national-reserve-talent&#34;&gt;2. Policy positioning: not a &amp;ldquo;ticket to a prestigious school,&amp;rdquo; but a channel for national reserve talent
&lt;/h2&gt;&lt;p&gt;Since the Ministry of Education launched the Qiangji Plan in 2020, its guiding philosophy has always been clear: to serve national strategy, select young students who have ambition, interest, and talent, and channel reserve talent into the nation&amp;rsquo;s major strategic fields.&lt;/p&gt;
&lt;p&gt;According to the direct statements in the Xinhua article:&lt;/p&gt;
&lt;p&gt;This means that when parents help their children evaluate whether to apply, the core question shouldn&amp;rsquo;t be &amp;ldquo;can this give my child an extra chance at a prestigious school&amp;rdquo; but rather &amp;ldquo;is my child willing to commit long-term to a foundational discipline.&amp;rdquo; In principle, students cannot transfer majors after admission, so this is a highly binding academic contract.&lt;/p&gt;
&lt;h2 id=&#34;3-two-major-changes-in-the-2026-admissions&#34;&gt;3. Two major changes in the 2026 admissions
&lt;/h2&gt;&lt;h3 id=&#34;1-expanded-majors-with-new-strategic-shortage-programs&#34;&gt;1. Expanded majors, with new strategic shortage programs
&lt;/h3&gt;&lt;p&gt;While continuing to strengthen foundational disciplines such as mathematics, physics, chemistry, biology, and humanities/literature/history/philosophy, 2026 adds a batch of hard engineering directions urgently needed by the nation. According to the Xinhua report:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shandong University adds &amp;ldquo;Cryptography Science and Technology&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Xi&amp;rsquo;an Jiaotong University adds &amp;ldquo;Energy Storage Science and Engineering&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Beihang University adds &amp;ldquo;Aircraft Airworthiness Technology&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Tianjin University adds &amp;ldquo;Naval Architecture and Ocean Engineering&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These majors all fall under promising fields of national shortage, reflecting that universities&amp;rsquo; cross-disciplinary layouts, supported by foundational disciplines, are accelerating.&lt;/p&gt;
&lt;h3 id=&#34;2-competition-based-exceptional-admission-channels-tighten-gaokao-single-subject-weight-rises&#34;&gt;2. Competition-based exceptional admission channels tighten; gaokao single-subject weight rises
&lt;/h3&gt;&lt;p&gt;The Xinhua article states this clearly:&lt;/p&gt;
&lt;p&gt;In concrete terms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Beijing Normal University, South China University of Technology, Lanzhou University, and others &lt;strong&gt;have explicitly canceled the exceptional admission channel based on competition wins into campus assessment&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Xi&amp;rsquo;an Jiaotong University, Tongji University, and others &lt;strong&gt;retain exceptional admission eligibility only for Olympiad gold medalists or first-prize winners&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;More and more universities are adopting &amp;ldquo;exceptional admission&amp;rdquo; or &amp;ldquo;weighted scoring&amp;rdquo; based on a single gaokao subject, selecting students with outstanding subject potential&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The aim is to &amp;ldquo;de-utilitarianize competition,&amp;rdquo; correcting the deviation of some students going all-in on competition prizes purely for admission, and returning to an assessment of students&amp;rsquo; genuine subject strengths and long-term research interest.&lt;/p&gt;
&lt;h2 id=&#34;4-the-list-of-39-pilot-universities&#34;&gt;4. The list of 39 pilot universities
&lt;/h2&gt;&lt;p&gt;Currently, 39 universities nationwide run Qiangji Plan pilot admissions:&lt;/p&gt;
&lt;p&gt;Peking University, Renmin University of China, Tsinghua University, Beihang University, Beijing Institute of Technology, China Agricultural University, Beijing Normal University, Minzu University of China, Nankai University, Tianjin University, Dalian University of Technology, Northeastern University, Jilin University, Harbin Institute of Technology, Fudan University, Tongji University, Shanghai Jiao Tong University, East China Normal University, Nanjing University, Southeast University, Zhejiang University, University of Science and Technology of China, Xiamen University, Shandong University, Ocean University of China, Wuhan University, Huazhong University of Science and Technology, Hunan University, Central South University, Sun Yat-sen University, South China University of Technology, Sichuan University, Chongqing University, University of Electronic Science and Technology of China, Xi&amp;rsquo;an Jiaotong University, Northwestern Polytechnical University, Northwest A&amp;amp;F University, Lanzhou University, and National University of Defense Technology.&lt;/p&gt;
&lt;h2 id=&#34;5-strategy-adjustments-from-a-parents-perspective&#34;&gt;5. Strategy adjustments from a parent&amp;rsquo;s perspective
&lt;/h2&gt;&lt;p&gt;Based on these policy changes, parents can consider several dynamic adjustments in how they plan their children&amp;rsquo;s education:&lt;/p&gt;
&lt;h3 id=&#34;1-shift-from-universal-tutoring-to-discovering-strengths&#34;&gt;1. Shift from &amp;ldquo;universal tutoring&amp;rdquo; to &amp;ldquo;discovering strengths&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;As exceptional admission channels tighten and the weight of single gaokao subjects rises, the logic of educational resource allocation is shifting from &amp;ldquo;undifferentiated all-subject excellence&amp;rdquo; toward &amp;ldquo;strengthening a single peak subject.&amp;rdquo; Parents should observe earlier whether their children show &lt;strong&gt;sustained self-driven exploration&lt;/strong&gt; in fields such as math, physics, chemistry, biology, history, philosophy, or paleography — rather than deciding about competition investment based solely on exam rankings.&lt;/p&gt;
&lt;h3 id=&#34;2-interest-cultivation-needs-to-start-as-early-as-middle-school-or-even-elementary-school&#34;&gt;2. Interest cultivation needs to start as early as middle school or even elementary school
&lt;/h3&gt;&lt;p&gt;The selection mechanism increasingly emphasizes &amp;ldquo;genuine subject strengths and long-term research interest,&amp;rdquo; which means parents can&amp;rsquo;t wait until high school, or even senior year, to decide whether their child is suited to the Qiangji Plan. The seeds of foundational-discipline interest often sprout much earlier: curiosity about math puzzles in elementary school, fascination with physics experiments in middle school, or a special sensitivity to history or ancient scripts — all are important signals.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dynamics of cultivation emphasis:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;From &amp;ldquo;cramming for exams&amp;rdquo; to &amp;ldquo;problem-driven learning&amp;rdquo;&lt;/strong&gt;: early on, expose children to real foundational-discipline problems through popular-science reading, lab open days, and project-based learning, rather than falling prematurely into a pattern of memorized problem types.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lengthen the observation window&lt;/strong&gt;: give children enough time and space to try different subject directions in middle school, then focus in high school. Interests formed this way better withstand the pressure of senior year and are better able to pass universities&amp;rsquo; in-depth assessments of research potential.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-the-cost-effectiveness-of-competition-investment-needs-re-evaluation&#34;&gt;3. The cost-effectiveness of competition investment needs re-evaluation
&lt;/h3&gt;&lt;p&gt;&amp;ldquo;De-utilitarianizing competition&amp;rdquo; means the value of competitions should return to their essence: testing discipline talent, deepening thinking, and confirming research interest. If a child doesn&amp;rsquo;t have top-level talent in a subject, over-investing time in competitions may crowd out gaokao review, creating opportunity cost. Parents need to evaluate more rationally whether competition investment matches the return.&lt;/p&gt;
&lt;h3 id=&#34;4-watch-subject-selection-and-physical-condition-restrictions-early&#34;&gt;4. Watch subject-selection and physical-condition restrictions early
&lt;/h3&gt;&lt;p&gt;Many Qiangji majors require &lt;strong&gt;physics + chemistry as mandatory choices&lt;/strong&gt;, and some programs have explicit physical-condition requirements (for example, South China University of Technology&amp;rsquo;s chemistry and biotechnology programs do not admit colorblind examinees). Parents should clarify the admission threshold for their target major during the middle-school or high-school subject-selection phase, to avoid discovering only during senior-year applications that they don&amp;rsquo;t qualify.&lt;/p&gt;
&lt;h3 id=&#34;5-build-an-interestabilitycontract-three-in-one-decision-framework&#34;&gt;5. Build an &amp;ldquo;interest–ability–contract&amp;rdquo; three-in-one decision framework
&lt;/h3&gt;&lt;p&gt;The admission and training mechanisms of the Qiangji Plan mean it isn&amp;rsquo;t suited to be a &amp;ldquo;try-it-and-see preference.&amp;rdquo; Parents can help their children establish the following judgment framework:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Interest&lt;/strong&gt;: without the pressure of admission, would the child still take the initiative to read monographs in the discipline or follow relevant frontiers?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ability&lt;/strong&gt;: is the gaokao score (especially the single-subject score in the target discipline) competitive?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contract&lt;/strong&gt;: is the child willing to accept the long-term constraint of &amp;ldquo;in principle, no major transfer after enrollment&amp;rdquo;?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Only when all three reach a certain level is the Qiangji Plan an option worth serious consideration.&lt;/p&gt;
&lt;h2 id=&#34;6-conclusion&#34;&gt;6. Conclusion
&lt;/h2&gt;&lt;p&gt;The 2026 adjustments to the Qiangji Plan send a clear signal: the selection mechanism is further squeezing out speculating, strengthening the examination of genuine subject strengths and long-term research aspiration. For parents, this means understanding their children&amp;rsquo;s subject interests and capability structure earlier and more deeply, and avoiding equating the Qiangji Plan with a &amp;ldquo;fast track to a prestigious school.&amp;rdquo; Against the backdrop of expanded national strategic shortage majors and increasingly mature undergraduate-to-graduate articulation pathways, for children who truly love foundational disciplines, the Qiangji Plan remains an academic path worth pursuing in depth.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>API Keys Don&#39;t Belong in Your Shell Config Files</title>
        <link>https://torchtree.com/en/post/api-key-storage-best-practices/</link>
        <pubDate>Tue, 07 Apr 2026 03:11:16 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/api-key-storage-best-practices/</guid>
        <description>&lt;p&gt;API keys should not live in your shell config files. It&amp;rsquo;s a habit many developers have, chosen for convenience, but the risk has been underestimated for a long time.&lt;/p&gt;
&lt;p&gt;A recent operational mistake brought this home for me: a command couldn&amp;rsquo;t find its target file, so the fallback ran &lt;code&gt;env&lt;/code&gt;, dumping the entire terminal environment variables out. A dozen API keys went straight into an AI conversation&amp;rsquo;s context, and I had to rotate all of them.&lt;/p&gt;
&lt;p&gt;The incident was small, but it revealed a structural problem: keeping keys in shell config files means they are always exposed to every child process and every tool&amp;rsquo;s view.&lt;/p&gt;
&lt;h2 id=&#34;why-shell-config-files-arent-a-good-place-for-api-keys&#34;&gt;Why shell config files aren&amp;rsquo;t a good place for API keys
&lt;/h2&gt;&lt;p&gt;Different shells have different config files, but they all face the same problem:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;zsh&lt;/strong&gt;: &lt;code&gt;~/.zshrc&lt;/code&gt;, &lt;code&gt;~/.zprofile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bash&lt;/strong&gt;: &lt;code&gt;~/.bashrc&lt;/code&gt;, &lt;code&gt;~/.bash_profile&lt;/code&gt;, &lt;code&gt;~/.profile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fish&lt;/strong&gt;: &lt;code&gt;~/.config/fish/config.fish&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Writing &lt;code&gt;export API_KEY=xxx&lt;/code&gt; in these files has these consequences:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Every terminal session loads them automatically at startup, so any child process can read them&lt;/li&gt;
&lt;li&gt;Commands like &lt;code&gt;env&lt;/code&gt; and &lt;code&gt;printenv&lt;/code&gt; can reveal the plaintext at any time&lt;/li&gt;
&lt;li&gt;AI tools, log collectors, and debug output may accidentally capture them&lt;/li&gt;
&lt;li&gt;If the config file gets synced to a dotfiles repo, they become public directly&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The root problem is: &lt;strong&gt;the key&amp;rsquo;s lifetime is far longer than the time it&amp;rsquo;s actually used.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;better-approaches&#34;&gt;Better approaches
&lt;/h2&gt;&lt;h3 id=&#34;option-one-project-level-env--precise-injection&#34;&gt;Option one: project-level &lt;code&gt;.env&lt;/code&gt; + precise injection
&lt;/h3&gt;&lt;p&gt;The lightest improvement. Each project only holds the keys it uses, extracted precisely via a script without polluting the global environment.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run.sh&lt;/code&gt; example:&lt;/p&gt;
&lt;p&gt;Pros: simple, no dependencies, works on every operating system.&lt;/p&gt;
&lt;p&gt;Cons: the key still sits on disk in plaintext.&lt;/p&gt;
&lt;h3 id=&#34;option-two-macos-keychain&#34;&gt;Option two: macOS Keychain
&lt;/h3&gt;&lt;p&gt;System-level encrypted storage. The key is stored encrypted in the Keychain and only decrypted into memory at the moment it&amp;rsquo;s read; &lt;code&gt;cat&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;, and &lt;code&gt;env&lt;/code&gt; can&amp;rsquo;t see it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Storing:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reading in a script:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Experience:&lt;/strong&gt; When you log into your Mac, the system Keychain unlocks automatically, so scripts can read values directly for the whole session without asking for a password. The first time you access an item, the system shows a single authorization dialog; click &amp;ldquo;Always Allow&amp;rdquo; and it never appears again.&lt;/p&gt;
&lt;p&gt;This is the most direct replacement for storing keys in shell config files, and it has almost no impact on your workflow. It&amp;rsquo;s macOS-only; Linux and Windows have their own equivalents (&lt;code&gt;secret-tool&lt;/code&gt;, Windows Credential Manager).&lt;/p&gt;
&lt;h3 id=&#34;option-three-bitwarden-cli-self-hosted&#34;&gt;Option three: Bitwarden CLI (self-hosted)
&lt;/h3&gt;&lt;p&gt;If you have a Bitwarden instance (including a self-hosted Vaultwarden), you can use the official CLI, &lt;code&gt;bw&lt;/code&gt;, to pull keys dynamically within scripts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuring the self-hosted address:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Logging in and getting a session:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The session stays valid within the current terminal session and expires when you close the terminal, so it isn&amp;rsquo;t persistently exposed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reading a specific entry in a script:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;bw get password&lt;/code&gt; looks up an entry by name and returns its password field. You can also use &lt;code&gt;bw get notes&lt;/code&gt; to fetch the notes field, which is handy for keys with complex stored formats.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best fit:&lt;/strong&gt; scenarios where multiple devices share the same set of keys, or where you need cross-platform support (macOS/Linux/Windows are all supported). Keys are centralized in Bitwarden, so switching devices only requires logging in again rather than manually migrating &lt;code&gt;.env&lt;/code&gt; files.&lt;/p&gt;
&lt;h2 id=&#34;migration-suggestions&#34;&gt;Migration suggestions
&lt;/h2&gt;&lt;p&gt;If your shell config files currently hold lots of &lt;code&gt;export KEY=xxx&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Organize by project; give each project its own &lt;code&gt;.env&lt;/code&gt; with only the keys that project uses&lt;/li&gt;
&lt;li&gt;Migrate high-value credentials (database passwords, payment-related) to Keychain or Bitwarden&lt;/li&gt;
&lt;li&gt;Remove all the &lt;code&gt;export KEY=&lt;/code&gt; lines from your shell config files&lt;/li&gt;
&lt;li&gt;Make sure &lt;code&gt;.env&lt;/code&gt; files are added to &lt;code&gt;.gitignore&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You don&amp;rsquo;t have to do everything at once. Migrate the most sensitive ones first, and move the rest as you touch each project.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Approach&lt;/th&gt;
          &lt;th&gt;Plaintext on disk&lt;/th&gt;
          &lt;th&gt;Cross-platform&lt;/th&gt;
          &lt;th&gt;Cross-device&lt;/th&gt;
          &lt;th&gt;Dependency&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Shell config files&lt;/td&gt;
          &lt;td&gt;✓ (dangerous)&lt;/td&gt;
          &lt;td&gt;✓&lt;/td&gt;
          &lt;td&gt;Manual sync needed&lt;/td&gt;
          &lt;td&gt;None&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Project &lt;code&gt;.env&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;✓&lt;/td&gt;
          &lt;td&gt;✓&lt;/td&gt;
          &lt;td&gt;Manual sync needed&lt;/td&gt;
          &lt;td&gt;None&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;macOS Keychain&lt;/td&gt;
          &lt;td&gt;✗&lt;/td&gt;
          &lt;td&gt;✗&lt;/td&gt;
          &lt;td&gt;✗&lt;/td&gt;
          &lt;td&gt;Built into the system&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Bitwarden CLI&lt;/td&gt;
          &lt;td&gt;✗&lt;/td&gt;
          &lt;td&gt;✓&lt;/td&gt;
          &lt;td&gt;✓&lt;/td&gt;
          &lt;td&gt;bw CLI&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;There&amp;rsquo;s no perfect solution, but any of these is better than shell config files. The most pragmatic starting point is: &lt;strong&gt;clear the keys from your config files and switch to project-level &lt;code&gt;.env&lt;/code&gt;, then gradually move high-value credentials to Keychain or Bitwarden.&lt;/strong&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Connecting Kimi Code to OpenClaw: Key Configuration Cheat Sheet</title>
        <link>https://torchtree.com/en/post/kimi-code-openclaw/</link>
        <pubDate>Sun, 05 Apr 2026 07:01:31 +0800</pubDate>
        
        <guid>https://torchtree.com/en/post/kimi-code-openclaw/</guid>
        <description>&lt;p&gt;Kimi Code is the Coding Plan subscription from Moonshot AI that provides an API based on the Anthropic protocol. If you&amp;rsquo;ve already subscribed to Kimi Code, here&amp;rsquo;s how to connect it to OpenClaw.&lt;/p&gt;
&lt;h2 id=&#34;core-information&#34;&gt;Core information
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Endpoint&lt;/strong&gt;: &lt;code&gt;https://api.kimi.com/coding/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Protocol&lt;/strong&gt;: Anthropic Messages API (not OpenAI-compatible)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model name&lt;/strong&gt;: &lt;code&gt;kimi-for-coding&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context window&lt;/strong&gt;: 256K tokens&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Max output&lt;/strong&gt;: 64K tokens&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multimodal&lt;/strong&gt;: Supported (based on K2.5, can handle visual inputs like images)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API Key&lt;/strong&gt;: Generate it in the Coding Plan page of the &lt;a class=&#34;link&#34; href=&#34;https://www.kimi.com/code/console&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kimi Code console&lt;/a&gt;; usage is also tracked on the same page&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;example-openclaw-configuration&#34;&gt;Example OpenClaw configuration
&lt;/h2&gt;&lt;p&gt;Add the following provider to your OpenClaw configuration file:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration notes:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set the API Key as the environment variable &lt;code&gt;KIMI_CODE_API_KEY&lt;/code&gt;, using the key generated on the Coding Plan page&lt;/li&gt;
&lt;li&gt;&lt;code&gt;api&lt;/code&gt; must be &lt;code&gt;anthropic-messages&lt;/code&gt;; going through the OpenAI-compatible path returns 403 or 404 errors&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cost&lt;/code&gt; is set to 0 because the Coding Plan is a subscription, not per-token billing&lt;/li&gt;
&lt;li&gt;&lt;code&gt;input&lt;/code&gt; includes &lt;code&gt;text&lt;/code&gt; and &lt;code&gt;image&lt;/code&gt;, indicating multimodal input support&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;gotchas&#34;&gt;Gotchas
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Some OpenClaw versions may have compatibility issues with tool calls; if your call chain breaks, watch for version updates&lt;/li&gt;
&lt;li&gt;Kimi Code officially permits use in Claude Code and Roo Code; connecting it to OpenClaw is a &amp;ldquo;non-officially-supported product&amp;rdquo; and carries a risk of being flagged as abuse—evaluate this yourself&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;suitable-use-cases&#34;&gt;Suitable use cases
&lt;/h2&gt;&lt;p&gt;This fits users who already have a Kimi Code subscription and want to reuse their quota within OpenClaw. If you don&amp;rsquo;t have a Kimi Code subscription yet, you&amp;rsquo;ll first need to sign up for a membership plan at &lt;a class=&#34;link&#34; href=&#34;https://www.kimi.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;kimi.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update note&lt;/strong&gt;: the provider name changed from &lt;code&gt;kimi-code&lt;/code&gt; to &lt;code&gt;kimi-plan&lt;/code&gt; to avoid colliding with a built-in OpenClaw name.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
