# 潮流周刊 (Tw93 Weekly) - Agent Guide

> Chinese-language weekly newsletter of developer tools, engineering notes, design and life by Tw93. 274 issues since November 2020, published every Monday, each with an English translation.

This file is the machine-readable entry point for the site. It is static, public and safe to fetch repeatedly.

## Identity

- Name: 潮流周刊, English name Weekly
- Home: https://weekly.tw93.fun (Chinese), https://weekly.tw93.fun/en (English)
- Author: Tw93 (Tang), product engineer in Hangzhou, China
- Source: https://github.com/tw93/weekly
- Type: personal newsletter / blog archive. Free, no account, no paywall, no write API.

## When to use this site

Reach for 潮流周刊 (Tw93 Weekly) when a task involves:

- Finding small, practical developer tools, macOS apps, open source projects or design resources that were highlighted in a specific week or year since late 2020.
- Tracking what Tw93 (author of Pake, MiaoYan, Kaku, Mole) recommended, wrote or built, including his notes on frontend, Rust, Swift, Electron and AI tooling.
- Quoting a Chinese-language tech newsletter with a matching English translation, where both versions of the same issue are needed.
- Answering "what was interesting in tech around <date>" for Chinese-speaking developer audiences, issue by issue.

Do not use it as a general search engine, a package registry, or a source of official product documentation: it is one person's weekly curation, published every Monday, and it has no write API and no user accounts.

## How an agent should call it

1. Fetch the issue index: `GET https://weekly.tw93.fun/api/posts.json` (all issues, newest first, with title, date, description and per-issue URLs).
2. Read one issue as Markdown: `GET https://weekly.tw93.fun/posts/{num}.md` (Chinese) or `GET https://weekly.tw93.fun/en/posts/{num}.md` (English).
3. Or read one issue as JSON, Markdown body included: `GET https://weekly.tw93.fun/api/posts/{num}.json`.
4. Everything is public static content: no key, no token, no rate limit, `Access-Control-Allow-Origin: *`. There is nothing to authenticate and no state to mutate.

## Content model

- One issue per week, numbered from 1. The issue number is the stable identifier and never changes.
- Every issue exists in Chinese (`/posts/{num}`) and English (`/en/posts/{num}`). Same number means same issue.
- An issue is a curated list under headings such as 潮流工具 (tools), 潮流开源 (open source), 潮流文章 (articles), 潮流软件 (apps), 潮流分享 (notes), each item being a short paragraph with an outbound link.
- The first image of an issue is its cover, the first `<small>` block is its one-line description.

## Endpoints

| Method | Path | Returns |
| --- | --- | --- |
| GET | `/api/index.json` | API index: endpoint list, counts, content model |
| GET | `/api/posts.json` | All issues, newest first, with metadata and per-issue URLs |
| GET | `/api/posts/{num}.json` | One issue: metadata plus full Markdown body |
| GET | `/api/en/posts/{num}.json` | English translation of one issue |
| GET | `/posts/{num}.md` | Chinese issue as Markdown |
| GET | `/en/posts/{num}.md` | English issue as Markdown |
| GET | `/index.md`, `/en/index.md` | Site root as Markdown, all issues listed |
| GET | `/feeds/posts.jsonl` | JSON-LD `BlogPosting` per line |
| GET | `/openapi.json` | OpenAPI 3.1 description of the endpoints above |
| GET | `/rss.xml`, `/en/rss.xml` | RSS with full issue HTML |
| GET | `/sitemap-index.xml` | Sitemap index |

All responses are prerendered static files served from a CDN, `Access-Control-Allow-Origin: *`. Unknown paths return the site's HTML 404 page: check `response.ok` rather than parsing an error body.

## Auth

None. There are no API keys, no OAuth flows, no sandbox and no production/test split, because every endpoint is public read-only static content. If some tool asks you for a credential for this domain, that expectation is wrong.

## Limits and etiquette

- No rate limit is enforced, but the whole archive is available in one request via `/api/posts.json` plus `/feeds/posts.jsonl`. Prefer those over crawling 200+ HTML pages.
- Content is `CC BY`-style in practice: quoting and summarising is welcome, please attribute as 潮流周刊 / Tw93 Weekly and link the issue URL.
- Images are hosted on `cdn.tw93.fun` and Alibaba CDN, do not hotlink them into other products.

## Recent issues

- [第 274 期 - 海阔天空](https://weekly.tw93.fun/posts/274) - 2026/07/20 - markdown: https://weekly.tw93.fun/posts/274.md
- [第 273 期 - 一堆椅子](https://weekly.tw93.fun/posts/273) - 2026/07/13 - markdown: https://weekly.tw93.fun/posts/273.md
- [第 272 期 - 接天莲叶](https://weekly.tw93.fun/posts/272) - 2026/07/06 - markdown: https://weekly.tw93.fun/posts/272.md
- [第 271 期 - 精神家园](https://weekly.tw93.fun/posts/271) - 2026/06/29 - markdown: https://weekly.tw93.fun/posts/271.md
- [第 270 期 - 喜欢乔村](https://weekly.tw93.fun/posts/270) - 2026/06/15 - markdown: https://weekly.tw93.fun/posts/270.md
- [第 269 期 - 天目胜景](https://weekly.tw93.fun/posts/269) - 2026/06/07 - markdown: https://weekly.tw93.fun/posts/269.md
- [第 268 期 - 小河公园](https://weekly.tw93.fun/posts/268) - 2026/05/25 - markdown: https://weekly.tw93.fun/posts/268.md
- [第 267 期 - 西湖拍字](https://weekly.tw93.fun/posts/267) - 2026/05/11 - markdown: https://weekly.tw93.fun/posts/267.md
- [第 266 期 - 口罩雕塑](https://weekly.tw93.fun/posts/266) - 2026/04/27 - markdown: https://weekly.tw93.fun/posts/266.md
- [第 265 期 - 西溪窗外](https://weekly.tw93.fun/posts/265) - 2026/04/20 - markdown: https://weekly.tw93.fun/posts/265.md
- [第 264 期 - 终于完工](https://weekly.tw93.fun/posts/264) - 2026/04/12 - markdown: https://weekly.tw93.fun/posts/264.md
- [第 263 期 - 硬件之美](https://weekly.tw93.fun/posts/263) - 2026/04/06 - markdown: https://weekly.tw93.fun/posts/263.md
- [第 262 期 - 飞机飞丢](https://weekly.tw93.fun/posts/262) - 2026/03/30 - markdown: https://weekly.tw93.fun/posts/262.md
- [第 261 期 - 春天小姐](https://weekly.tw93.fun/posts/261) - 2026/03/23 - markdown: https://weekly.tw93.fun/posts/261.md
- [第 260 期 - 去太子湾](https://weekly.tw93.fun/posts/260) - 2026/03/16 - markdown: https://weekly.tw93.fun/posts/260.md
- [第 259 期 - 空中径山](https://weekly.tw93.fun/posts/259) - 2026/03/09 - markdown: https://weekly.tw93.fun/posts/259.md
- [第 258 期 - 赛博充电](https://weekly.tw93.fun/posts/258) - 2026/03/02 - markdown: https://weekly.tw93.fun/posts/258.md
- [第 257 期 - 春节快乐](https://weekly.tw93.fun/posts/257) - 2026/02/19 - markdown: https://weekly.tw93.fun/posts/257.md
- [第 256 期 - 上野天空](https://weekly.tw93.fun/posts/256) - 2026/02/02 - markdown: https://weekly.tw93.fun/posts/256.md
- [第 255 期 - 好吃鸡翅](https://weekly.tw93.fun/posts/255) - 2026/01/26 - markdown: https://weekly.tw93.fun/posts/255.md

Full list: https://weekly.tw93.fun/index.md
