{
  "version": "1",
  "lang": "en",
  "count": 12,
  "items": [
    {
      "slug": "openworker-zh",
      "title": "Localisation isn't translation: shipping a Chinese build of an agent runtime",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/openworker-zh",
      "date": "2026-08-04",
      "summary": "The hard part wasn't the strings — before 0.1.7 one auto-update turned it back into English. Plus two designs worth stealing from OpenWorker's source: concurrent reads with sequential writes, and four permission levels.",
      "tags": [
        "agent",
        "localisation",
        "source analysis",
        "desktop"
      ],
      "featured": false
    },
    {
      "slug": "free-model-port-design",
      "title": "A list of free models is the wrong abstraction",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/free-model-port",
      "date": "2026-08-04",
      "summary": "A list records claims, not evidence. FreeModel Port splits candidates from runnable models, with one real request drawing the line — plus why a unified router is inherently a high-privilege centre.",
      "tags": [
        "LLM",
        "architecture",
        "local-first",
        "trade-offs"
      ],
      "featured": false
    },
    {
      "slug": "free-model-port",
      "title": "Free LLMs should not depend on luck",
      "source": "blog",
      "url": "https://oaf.asia/stories/free-model-port/",
      "date": "2026-08-02",
      "summary": "A feature story on FreeModel Port: continuously discovering free LLMs, verifying them with real requests, and connecting them safely to Codex and AI CLIs through a local endpoint.",
      "tags": [
        "LLM",
        "AI CLI",
        "free models",
        "local-first"
      ],
      "featured": false
    },
    {
      "slug": "ai-interview",
      "title": "Making the people who do not present well visible",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/ai-interview",
      "date": "2026-08-01",
      "summary": "Achievement reviews fail two ways: the smooth talker wins, and plans get counted as results. This method removes both with a 1–2 minute voice interview, adaptive follow-ups and one scoring ruler.",
      "tags": [
        "AI review",
        "voice",
        "achievement scoring",
        "method"
      ],
      "featured": false
    },
    {
      "slug": "brain-radar",
      "title": "The opportunities are not hard to find — they are scattered and time-boxed",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/brain-radar",
      "date": "2026-08-01",
      "summary": "A brain-science × AI opportunity radar for the class of 2027. The scarce thing is not a list of opportunities but the ordering — what you have to do first for the next thing to be possible.",
      "tags": [
        "brain science",
        "job hunting",
        "aggregation",
        "radar"
      ],
      "featured": false
    },
    {
      "slug": "excel-ai-analyst",
      "title": "A spreadsheet that has been running for years is a legacy codebase with no docs",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/excel-ai-analyst",
      "date": "2026-08-01",
      "summary": "The first obstacle to putting a manual Excel process on AI rails is not compute, it is trust — you will not upload your real cost sheet to a website. So step 0 is pure front-end and works offline.",
      "tags": [
        "Excel",
        "reverse engineering",
        "in-browser",
        "data safety"
      ],
      "featured": false
    },
    {
      "slug": "siliconforge",
      "title": "Requirements in, software out — putting a software line on the homepage",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/siliconforge",
      "date": "2026-08-01",
      "summary": "Most \"AI writes your code\" products assume the user is a developer. SiliconForge drops the entry cost to nine multiple-choice questions, and pays for it by splitting \"the AI says it is done\" from \"the tests actually ran\".",
      "tags": [
        "AI-native",
        "software factory",
        "Cloudflare",
        "PRD"
      ],
      "featured": false
    },
    {
      "slug": "weekly-2026-w29",
      "title": "Weekly · 2026-W29 (07-13 → 07-19)",
      "source": "blog",
      "url": "https://zhanglu.net/en/weekly/2026-w29",
      "date": "2026-07-19",
      "summary": "Three decision-agent products each shipped a major release (MBA v0.6 / Boss v1.18 / OAF v0.43), and the personal site established its main narrative, \"designed for the AI-native organization.\" A redacted, public weekly.",
      "tags": [
        "weekly",
        "agent",
        "decision"
      ],
      "featured": false
    },
    {
      "slug": "c-suite-design",
      "title": "What kind of decision agents does an AI-native organization's C-suite need",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/c-suite-design",
      "date": "2026-07-18",
      "summary": "Boss / MBA Brand / OAF look unrelated, but they share one skeleton: research → deliberate → score → attribute. Here's that skeleton, and why an AI-native organization's C-suite needs it.",
      "tags": [
        "c-suite",
        "agent",
        "decision",
        "claude"
      ],
      "featured": false
    },
    {
      "slug": "qcc-agent-origin",
      "title": "Origin · Putting Qcc inside an AI Agent",
      "source": "blog",
      "url": "https://qcc-agent.pages.dev/article",
      "date": "2026-06-10",
      "summary": "Wrapped Qcc's 146 APIs into 6 MCP servers plus 8 due-diligence Skills, so the Agent can call them directly without handling signing, pagination, or field semantics itself.",
      "tags": [
        "mcp",
        "agent",
        "qcc",
        "claude"
      ],
      "featured": false
    },
    {
      "slug": "agent-cli",
      "title": "Wrote a CLI for agents: one npx zhanglu-net instead of scraping HTML",
      "source": "blog",
      "url": "https://zhanglu.net/en/posts/agent-cli",
      "date": "2026-06-09",
      "summary": "Added 9 JSON endpoints plus a zero-dependency CLI to zhanglu.net, so an agent can just run npx zhanglu-net list skills. No MCP, no SDK, shipped in 1.5 hours.",
      "tags": [
        "skill",
        "agent",
        "claude",
        "infra"
      ],
      "featured": true
    },
    {
      "slug": "qiji-56-projects-one-night",
      "title": "56 roadshow projects, one person, one night: how I ran an investment-grade DD with Skill + 7 parallel AIs",
      "source": "blog",
      "url": "https://qiji-roadshow-2026.pages.dev/story",
      "date": "2026-06-08",
      "summary": "Used /demo-day-dossier plus 7 parallel research agents to turn all 56 projects from the MiraclePlus 2026 roadshow into a publishable, investment-grade DD overview page in one night.",
      "tags": [
        "skill",
        "claude"
      ],
      "featured": false
    }
  ]
}