diff --git a/README.md b/README.md index e7928a1..bcd9ed9 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Eleven years, square-root scale. **9,313 in 2026** — after two years that are genuinely zero and one year that is genuinely down. -**2016** — one commit. **2017–2018** — nothing; the gap in the chart is real, and it is two years long. **2019** — 13. **2020** — 129, the year of coming back. **2022** — 676. **2023** — 589, lower than the year before, and the chart does not smooth it. **2024** — 1,181; the first upstream patch merged into [Dify](https://github.com/langgenius/dify/pull/5631) that July. **2025** — 3,193; `negentropy-perceives` in August, `agentic-ai-cognizes` in October. **2026-01-31** — the trunk starts. **2026-05-18** — both of those repositories are archived into it. **2026** — 9,313 so far. +**2016** — one commit. **2017–2018** — nothing; the gap in the chart is real, and it is two years long. **2019** — 13. **2020** — 129, the year of coming back. **2021** — 198. **2022** — 676. **2023** — 589, lower than the year before, and the chart does not smooth it. **2024** — 1,181; the first upstream patch merged into [Dify](https://github.com/langgenius/dify/pull/5631) that July. **2025** — 3,193; `negentropy-perceives` in August, `agentic-ai-cognizes` in October. **2026-01-31** — the trunk starts. **2026-05-18** — both of those repositories are archived into it. **2026** — 9,313 so far. Histogram of 4,349 open-source commits by hour of day, Asia/Shanghai, axis running 04:00 through 03:00 so the night block stays contiguous. Values by hour from 04:00: 0, 0, 0, 11, 44, 232, 338, 319, 186, 184, 265, 285, 262, 292, 242, 206, 214, 348, 460, 329, 91, 36, 3, 2. 04:00 to 06:59 are exactly zero, drawn as open slots below the axis. Peak 22:00 with 460 commits, 10.6 percent of all commits, 2.54 times a flat baseline. Bars below the 2.5-pixel minimum height are drawn at that minimum. @@ -74,7 +74,7 @@ Dot ledger of 6 public pull requests to repositories owned by others, 2024-06-26 to 2025-12-06. langgenius/dify#5631, merged, 2024-06-26; langgenius/dify#8921, merged, 2024-09-30; langgenius/dify-plugin-daemon#389, closed unmerged, 2025-07-07; langgenius/dify-cloud-kit#3, merged, 2025-07-08; langgenius/dify#22646, merged, 2025-07-18; DayuanJiang/next-ai-draw-io#124, merged, 2025-12-06. These are 0.3 percent of 1,849 public pull requests; the rest are to my own repositories. Data: GitHub is:public search. -N = 6, named: 2024-06-26 → 2025-12-06, 5 merged, one closed unmerged — a fraction of a percent of all public PRs. The ratio is the point. +N = 6, named: 2024-06-26 → 2025-12-06, 5 merged, one closed unmerged — a fraction of a percent of all public PRs. --- @@ -83,7 +83,7 @@ **[negentropy](https://github.com/ThreeFish-AI/negentropy)** — a personal knowledge engine: one scheduling core, five wings, each aimed at one form of decay. Perception against information overload. Internalization against amnesia. Contemplation against superficiality. Action against all-talk. Influence against obscurity. Memory fades on an Ebbinghaus curve, because remembering everything is its own kind of noise. The whole stack comes up with one command, five containers, and zero cloud credentials. Python 3.13 · Next.js 16 · Google ADK · Apache-2.0 · 2,048 commits · 1,078 merged PRs · two release candidates and no 1.0 -**[coding-proxy](https://github.com/ThreeFish-AI/coding-proxy)** — N-tier failover for coding agents. When the primary vendor answers `429`, `403` or `503`, the request descends the chain instead of failing: Claude plans, Copilot, Antigravity, GLM, MiniMax, Qwen, Kimi, Doubao. Per-vendor circuit breaker and quota guard; bidirectional Anthropic↔Gemini and Anthropic↔OpenAI translation, streaming included. The client changes one line — `ANTHROPIC_BASE_URL` — and never learns any of this happened. +**[coding-proxy](https://github.com/ThreeFish-AI/coding-proxy)** — N-tier failover for coding agents. When the primary vendor answers `429`, `403` or `503`, the request descends the chain instead of failing: Claude plans, Copilot, Antigravity, GLM, MiniMax, Qwen, Xiaomi, Kimi, Doubao. Per-vendor circuit breaker and quota guard; bidirectional Anthropic↔Gemini and Anthropic↔OpenAI translation, streaming included. The client changes one line — `ANTHROPIC_BASE_URL` — and never learns any of this happened. Python · FastAPI · httpx · SQLite-WAL token dashboard, no Redis, no queue · 12 releases, latest still alpha-tagged **[hyper-git](https://github.com/ThreeFish-AI/hyper-git)** — IntelliJ's commit model, rebuilt inside VS Code: multi-changelist grouping, a hand-rendered commit-graph DAG with swimlanes and seven composable filters, line-level and hunk-level commits, a shelf that owes nothing to `git stash`, a hand-built three-way merge editor. `engine/` is pure logic with zero `vscode` imports — which is the only reason 403 unit tests can exist. @@ -94,16 +94,10 @@ **[agents.md](https://github.com/ThreeFish-AI/agents.md)** — the doctrine the four above are written under, symlinked into every agent on the machine by `./sync.sh --link`. Not a manifesto; a config file that happens to have opinions. -**Written in** Python 3.13 · TypeScript · Swift · Shell, with a C# side build. **Run on** FastAPI · httpx · Next.js 16 · Google ADK · PostgreSQL · SQLite-WAL · MCP · MicroSandbox. **Kept honest by** structlog · OpenTelemetry · Langfuse. **Built with** `uv` · `pnpm` · one command and five containers. **No** Redis, no message queue, no cloud credentials on the default path. +**Written in** Python 3.13 · TypeScript · Swift · Shell, with a C# side build. **Run on** FastAPI · httpx · Next.js 16 · Google ADK · PostgreSQL · SQLite-WAL · MCP · MicroSandbox. **Kept honest by** structlog · OpenTelemetry · Langfuse. **Built with** `uv` · `pnpm`. **No** Redis, no message queue, no cloud credentials on the default path. --- -
-Volume · 4,349 commits across 7 source repositories · 1,849 public pull requests · 29 releases · 51 stars actually mine
-Cadence · peak hour 22:00 at 2.54× a flat baseline · 34.7% on weekends · 88-day longest run · of 802 days, 249 active
-Discipline · 77.1% Conventional Commits · median 6 min open-to-merge, 83% within an hour, self-merged · 5 of 6 upstream PRs merged -
- **Upstream, in code I do not own** — 5 of 6 pull requests merged, 4 of them in the [Dify](https://github.com/langgenius/dify) ecosystem. | Merged | Repository | Change | @@ -117,27 +111,46 @@ Six against 1,849 public PRs is the honest ratio: almost all of my public work is in repositories where I am also the reviewer. -### One input box, three papers +
+Honesty notes — what this page leaves out, and why -`give-me-a-break` shows a small box before each natural break and asks: what did you just finish, and optionally, what is next. It looks like a punch clock. It is the opposite of one. +- `negentropy` is a solo, self-merge repo: the PR is a titled, revertible unit of change, not a review gate. That is what the 6-minute median measures. +- [analysis_claude_code](https://github.com/ThreeFish-AI/analysis_claude_code) (312 stars) is mostly **not** my work — it mirrors [CrazyBoyM](https://github.com/CrazyBoyM) / ShareAI-Lab's Claude Code source analysis; the foundational commits are theirs. Mine in it: the reading notes. +- agentic-ai-cognizes, negentropy-perceives (2 source repos) are archived — they graduated into the negentropy trunk; the dedicated block below is that story. Intended lifecycle, not failure: archives don't move. +- The "Now" line under the tagline is the one thing on this page the automation cannot verify; it is hand-maintained and rots faster than everything else. +- All figures are regenerated monthly from the GitHub API by [one workflow](https://github.com/ThreeFish-AI/threefish-ai/blob/master/.github/workflows/refresh-profile-data.yml) — as of 2026-09-05. Known distortions, the yearly chart's square-root scale among them, are registered in the method block below. -Leroy's work on attention residue is the reason it exists at all: when you switch tasks, part of your attention stays on the previous one, and the effect is worst when the task was interrupted or left unfinished.[^leroy] A break is an interruption by definition. So the box is not there to measure the session — it is there to close it: sixty seconds to write down *done, remaining, first step on return*, which is a ready-to-resume plan and, more importantly, permission to stop thinking about it. +- **3,640 private contributions** (as of 2026-09), against 5,590 that are public and clickable. They are real work and they get no headline, because a number you cannot open is a number you have to take on faith. The split is hand-written here; the generator is not allowed to look. +- **My employer, and the production systems I am paid to build.** "Agentic AI infrastructure at production scale, by day" is as specific as this page gets. That work is the larger half of the private number. +- **Follower and view counters, trophy walls, streak flames, language-percentage rings.** All available as one-line embeds; all measuring the profile rather than the work. The figures on this page were written to answer specific questions and each one prints the data series that produced it. +- **Anything I could not verify at the caliber a visitor can reproduce.** Where a claim needed a wider view than a logged-out reader has, it is either hand-written with a date or absent. +- **Dead links to platforms where I have an account but no output.** A dead link on a page about verifiable claims is worse than no link. -Stubblebine's interstitial journaling supplies the trigger and the dose: fire on the task transition rather than on the clock, two to four sentences, sixty to ninety seconds, and stay light — anything heavier is abandoned in the first week.[^interstitial] Fogg supplies the design constraint: at the moment a prompt fires, motivation is low and variable, so the only lever left is ability.[^fogg] Hence every field optional, Enter submits, the box auto-releases on timeout, and there is no minimum length — a minimum length is a proven completion killer. +The omissions are not modest. They are just the ones I can defend. +
-It is pinned to exactly one boundary, `working → resting`, and it never blocks the break. A rest ritual that can prevent rest is not a rest ritual. +
+The doctrine these repositories are written under — pure cores and 道 / 法 / 术 -An exercise log appears symmetrically at the end of the break; both roll up into native week, month, quarter and year reports. Whether any of this changes behaviour over months, I have not measured — n=1, no baseline, and the literature above is about attention and habit formation in general, not about this app. It is a reasoned design, not a validated one. +- **`give-me-a-break`** — the state machine's `evaluate` has zero time dependency. It takes the clock as an argument, so the entire rest/work/AFK lifecycle is testable against a virtual clock: sleep, crash recovery with fast-forward, a display unplugged mid-break. Three modules, one of which knows nothing about macOS. +- **`hyper-git`** — `engine/` contains no `vscode` import. That single constraint is why 403 unit tests exist: changelist grouping, DAG swimlane layout, and Conventional Commits validation are all testable without an editor host. The architecture note calls it "Path B" — consume the stable `vscode.git` API and hand-render everything above it, rather than fork. +- **`hyper-git`, again** — five AI seams (`ILlmProvider`, `ICommitMessageProvider`, `IPreCommitInspector`, `IChangelistGrouper`, `IConflictResolver`) are wired in as null implementations, modeled on JetBrains' `CheckinHandler` lifecycle. The interfaces ship; the intelligence is deferred to M5. Declaring the seam early is cheap and declaring it late is not. +- **`coding-proxy`** — the failover chain is policy, not plumbing: circuit breaker state and quota accounting are per-vendor and local, in SQLite-WAL. No Redis, no queue, so a single process is the whole deployment and a restart loses nothing that matters. +- **`negentropy`** — the default path runs on the cheapest of its pluggable backends with **no cloud credentials at all**; if the cheapest configuration is not runnable, nobody runs the expensive one either. -
-Honesty notes +Stated as a virtue, this is testability. Stated honestly, it is what a single maintainer has to do to survive his own codebase: nothing here has a second pair of eyes, so the design has to make the mistakes cheap to find. And the null AI seams are still null — the interfaces are a plan, not a feature. -- `negentropy` is a solo, self-merge repo: the PR is a titled, revertible unit of change, not a review gate. That is what the 6-minute median measures. -- [analysis_claude_code](https://github.com/ThreeFish-AI/analysis_claude_code) (312 stars) is mostly **not** my work — it mirrors [CrazyBoyM](https://github.com/CrazyBoyM) / ShareAI-Lab's Claude Code source analysis; the foundational commits are theirs. Mine in it: the reading notes. -- agentic-ai-cognizes, negentropy-perceives (2 source repos, 1,378 commits between them) are archived — they graduated into the negentropy trunk, perceives as its extraction service and cognizes as `apps/cognizes`. Intended lifecycle, not failure. Frozen by definition: archives don't move. -- The "Now" line under the tagline is the one thing on this page the automation cannot verify; it is hand-maintained and rots faster than everything else. -- The yearly figure uses a square-root scale so early years stay visible; it understates recent growth. All figures are regenerated monthly from the GitHub API by [one workflow](https://github.com/ThreeFish-AI/threefish-ai/blob/master/.github/workflows/refresh-profile-data.yml) — as of 2026-09-05. +[agents.md](https://github.com/ThreeFish-AI/agents.md) is three tiers, deliberately: mindset, strategy, tactics. `./sync.sh --link` symlinks it to `~/.codex/AGENTS.md` and `~/.agents/docs/`, so every agent on the machine loads the same file and editing one line changes how the tools behave everywhere. +| Tier | | Holds | +|---|---|---| +| 道 | mindset | context-driven · minimal intervention · evidence-based · systemic integrity · knowledge crystallization · proactive navigation · low-entropy expression | +| 法 | strategy | plan first by default · subagent concurrency · verification before done · reuse-driven · boundary management · orthogonal decomposition · single source of truth · hierarchical expression | +| 术 | tactics | AI-pair pipeline · git, hooks and issue discipline · `uv` + `pnpm` toolchain · database safety rails · documentation and Mermaid norms · UI norms | + +Sub-specifications carry the parts that need to be exact: a structured-expression framework (PREP, Pyramid, SCQA, STAR), a browser-validation protocol with explicit OAuth red lines, and an IEEE reference specification — which is why the footnotes on this page look the way they do. + +One star. It is the least popular thing I have written and the one with the most leverage; those two facts are not in tension. It is also a document that describes intent, not a linter that enforces it — the 77.1% Conventional Commits figure elsewhere on this page is the measured gap between doctrine and practice.
@@ -177,7 +190,7 @@ Each wing exists because of the column on its right. Perception turns pages and Backends are pluggable — in-memory, PostgreSQL, VertexAI, GCS — and the default path needs no cloud credentials at all: `./dev` brings up five containers. Observability is structlog, OpenTelemetry and Langfuse, which is the honest admission that a five-wing system is not debuggable by reading it. -Two release candidates, no 1.0. The five wings are not equally finished — perception and internalization carry the two archived repositories' worth of history; influence is the thinnest. +The five wings are not equally finished — perception and internalization carry the two archived repositories' worth of history; influence is the thinnest.
@@ -202,51 +215,35 @@ sequenceDiagram The client is told nothing. That is the whole product: one line of configuration, and the failure mode changes from *stop working* to *work slower on someone else's model*. Nine vendors are wired — Claude plans, GitHub Copilot, Google Antigravity, Z AI's GLM, MiniMax, Qwen, Xiaomi, Kimi, Doubao — with a per-vendor circuit breaker and quota guard, and a local SQLite-WAL dashboard so the burn is visible before the bill is. -FastAPI and httpx; no Redis, no message queue. 12 releases, the latest still alpha-tagged — translation fidelity across three request shapes is the part that keeps not being finished. Chained failover also means a request can succeed on a model you did not choose; the dashboard exists partly so that is auditable. - -
- -
-The same move, four times: make the core a pure function - -- **`give-me-a-break`** — the state machine's `evaluate` has zero time dependency. It takes the clock as an argument, so the entire rest/work/AFK lifecycle is testable against a virtual clock: sleep, crash recovery with fast-forward, a display unplugged mid-break. Three modules, one of which knows nothing about macOS. -- **`hyper-git`** — `engine/` contains no `vscode` import. That single constraint is why 403 unit tests exist: changelist grouping, DAG swimlane layout, and Conventional Commits validation are all testable without an editor host. The architecture note calls it "Path B" — consume the stable `vscode.git` API and hand-render everything above it, rather than fork. -- **`hyper-git`, again** — five AI seams (`ILlmProvider`, `ICommitMessageProvider`, `IPreCommitInspector`, `IChangelistGrouper`, `IConflictResolver`) are wired in as null implementations, modeled on JetBrains' `CheckinHandler` lifecycle. The interfaces ship; the intelligence is deferred to M5. Declaring the seam early is cheap and declaring it late is not. -- **`coding-proxy`** — the failover chain is policy, not plumbing: circuit breaker state and quota accounting are per-vendor and local, in SQLite-WAL. No Redis, no queue, so a single process is the whole deployment and a restart loses nothing that matters. -- **`negentropy`** — backends are pluggable across in-memory, PostgreSQL, VertexAI and GCS, and the default path boots with **no cloud credentials at all**. If the cheapest configuration is not runnable, nobody runs the expensive one either. - -Stated as a virtue, this is testability. Stated honestly, it is what a single maintainer has to do to survive his own codebase: nothing here has a second pair of eyes, so the design has to make the mistakes cheap to find. And the null AI seams are still null — the interfaces are a plan, not a feature. +FastAPI and httpx. 12 releases, the latest still alpha-tagged — translation fidelity across three request shapes is the part that keeps not being finished. Chained failover also means a request can succeed on a model you did not choose; the dashboard exists partly so that is auditable.
-The doctrine these repositories are written under — 道 / 法 / 术 +give-me-a-break — one input box, three papers -[agents.md](https://github.com/ThreeFish-AI/agents.md) is three tiers, deliberately: mindset, strategy, tactics. `./sync.sh --link` symlinks it to `~/.codex/AGENTS.md` and `~/.agents/docs/`, so every agent on the machine loads the same file and editing one line changes how the tools behave everywhere. +`give-me-a-break` shows a small box before each natural break and asks: what did you just finish, and optionally, what is next. It looks like a punch clock. It is the opposite of one. -| Tier | | Holds | -|---|---|---| -| 道 | mindset | context-driven · minimal intervention · evidence-based · systemic integrity · knowledge crystallization · proactive navigation · low-entropy expression | -| 法 | strategy | plan first by default · subagent concurrency · verification before done · reuse-driven · boundary management · orthogonal decomposition · single source of truth · hierarchical expression | -| 术 | tactics | AI-pair pipeline · git, hooks and issue discipline · `uv` + `pnpm` toolchain · database safety rails · documentation and Mermaid norms · UI norms | +Leroy's work on attention residue is the reason it exists at all: when you switch tasks, part of your attention stays on the previous one, and the effect is worst when the task was interrupted or left unfinished.[^leroy] A break is an interruption by definition. So the box is not there to measure the session — it is there to close it: sixty seconds to write down *done, remaining, first step on return*, which is a ready-to-resume plan and, more importantly, permission to stop thinking about it. -Sub-specifications carry the parts that need to be exact: a structured-expression framework (PREP, Pyramid, SCQA, STAR), a browser-validation protocol with explicit OAuth red lines, and an IEEE reference specification — which is why the footnotes on this page look the way they do. +Stubblebine's interstitial journaling supplies the trigger and the dose: fire on the task transition rather than on the clock, two to four sentences, sixty to ninety seconds, and stay light — anything heavier is abandoned in the first week.[^interstitial] Fogg supplies the design constraint: at the moment a prompt fires, motivation is low and variable, so the only lever left is ability.[^fogg] Hence every field optional, Enter submits, the box auto-releases on timeout, and there is no minimum length — a minimum length is a proven completion killer. -One star. It is the least popular thing I have written and the one with the most leverage; those two facts are not in tension. It is also a document that describes intent, not a linter that enforces it — the 77.1% Conventional Commits figure elsewhere on this page is the measured gap between doctrine and practice. +It is pinned to exactly one boundary, `working → resting`, and it never blocks the break. A rest ritual that can prevent rest is not a rest ritual. +An exercise log appears symmetrically at the end of the break; both roll up into native week, month, quarter and year reports. Whether any of this changes behaviour over months, I have not measured — n=1, no baseline, and the literature above is about attention and habit formation in general, not about this app. It is a reasoned design, not a validated one.
Questions this page invites **"Nine thousand contributions in one year — is that real work or is it a script?"** -It is real, and it is also inflated by working in small units. Of 4,349 public commits, 77.1% are Conventional Commits, and the type mix is roughly a quarter `fix`, a fifth `docs`, a fifth `feat` — documentation commits nearly equal feature commits. Judge the releases (29) and the diffs, not the count. +It is real, and it is also inflated by working in small units. Of 4,349 public commits, 77.1% are Conventional Commits, and the type mix is roughly a fifth `fix`, a fifth `docs`, a fifth `feat` — documentation commits nearly equal feature commits. Judge the releases (29) and the diffs, not the count. **"Why does a solo developer open pull requests to himself?"** Because a PR is a titled, revertible unit with a diff attached, and that is worth having whether or not anyone reviews it. It is not a review gate and this page never calls it one. The 6-minute median measures how long a finished branch waits, not how long anyone looked at it. **"Your most-starred repository is not yours."** -Correct, and it is the first thing in the honesty notes. Of 363 stars, 312 are on a mirror of someone else's Claude Code analysis. The number I would rather be judged on is 51. +Correct — it is flagged in the honesty notes: of 363 stars, 312 sit on that mirror. The number I would rather be judged on is 51. **"Why is everything bilingual?"** Because half of the writing is in Chinese and half of the readers are not, and a machine-translated page would fail the low-entropy-expression rule it claims to follow. Both READMEs are maintained by hand and structurally mirrored; the numbers inside them come from one generator so they cannot disagree. @@ -257,20 +254,7 @@ Because notarization costs a developer account I have not bought for a two-star
-What this page leaves out, and why - -- **3,640 private contributions** (as of 2026-09), against 5,590 that are public and clickable. They are real work and they get no headline, because a number you cannot open is a number you have to take on faith. The split is hand-written here; the generator is not allowed to look. -- **My employer, and the production systems I am paid to build.** "Agentic AI infrastructure at production scale, by day" is as specific as this page gets. That work is the larger half of the private number. -- **Follower and view counters, trophy walls, streak flames, language-percentage rings.** All available as one-line embeds; all measuring the profile rather than the work. The figures on this page were written to answer specific questions and each one prints the data series that produced it. -- **Anything I could not verify at the caliber a visitor can reproduce.** Where a claim needed a wider view than a logged-out reader has, it is either hand-written with a date or absent. -- **Dead links to platforms where I have an account but no output.** A dead link on a page about verifiable claims is worse than no link. - -The omissions are not modest. They are just the ones I can defend. - -
- -
-Method, caliber, and what would make this page wrong +Method, caliber, and the full repository census **Caliber.** Every auto-refreshed number is collected at the anonymous public caliber: the contributions page as a logged-out visitor renders it, GitHub's `is:public` search, and public REST endpoints. `GITHUB_TOKEN` is present for rate limit and nothing else. Draft releases are excluded — invisible anonymously, visible to a push token, so counting them would make a local run and a CI run disagree. Private-limited figures (the public/private split) are hand-written with an as-of date and never touched by the generator. @@ -284,11 +268,6 @@ Because notarization costs a developer account I have not bought for a two-star Recompute the commit figures yourself: for r in $(gh api users/ThreeFish-AI/repos --paginate --jq '.[]|select(.fork==false)|.name'); do gh api "/repos/ThreeFish-AI/$r/commits?author=ThreeFish-AI" --paginate --jq '.[].commit.message|split("\n")[0]'; done — note this omits the ten-commit source-repository threshold, so a raw run returns slightly more repositories than the page counts. Refreshed monthly by [one workflow](https://github.com/ThreeFish-AI/threefish-ai/blob/master/.github/workflows/refresh-profile-data.yml) · as of 2026-09-05. And the honest limit: this only automates what is publicly countable — the prose, the claims, and the Now line are hand-written and can go stale silently. No script catches that. -
- -
-Full repository census - | Repository | Language | Commits | Releases | Stars | State | Aimed at | |---|---|--:|--:|--:|---|---| | [negentropy](https://github.com/ThreeFish-AI/negentropy) | Python · TS | 2,048 | 2 | 10 | active, pre-1.0 | information decay, five ways | @@ -302,7 +281,6 @@ Because notarization costs a developer account I have not bought for a two-star | [analysis_claude_code](https://github.com/ThreeFish-AI/analysis_claude_code) | — | — | — | 312 | mirror | **mostly not my work** — see honesty notes | 7 source repositories · 4,349 authored commits · 29 releases · 51 stars actually mine, of 363 shown on the profile. Two archived rows are graduations, not casualties. Commit counts are authored-by-me at anonymous caliber; body cells are frozen as of first publication — if the caption and the rows ever disagree, believe the caption. -
--- @@ -316,7 +294,7 @@ A Chinese-language knowledge base on AI infrastructure, agent engineering, and i Three long-running threads: **Negentropy** — the design and use of the entropy-reduction engine, written alongside the code · **Harness Engineering** — a survey of agent engineering as a discipline · **Sinestesia of Cognition** — 知见通感, the least practical and the most necessary. -「你我的相识绝非一场零和游戏」 — the site's own line. Written in Chinese; there is no English mirror, and pretending otherwise on an English page would be the wrong kind of tidy. +Written in Chinese; there is no English mirror, and pretending otherwise on an English page would be the wrong kind of tidy. --- diff --git a/docs/i18n/zh-CN/README.md b/docs/i18n/zh-CN/README.md index df3e8cc..44c4772 100644 --- a/docs/i18n/zh-CN/README.md +++ b/docs/i18n/zh-CN/README.md @@ -24,7 +24,7 @@ 十一年,平方根标度。**9,313(2026)**——此前是两个真正的零,和一次真正的回落。 -**2016** —— 一条提交。**2017–2018** —— 空的;图上那个缺口是真的,而且长达两年。**2019** —— 13 条。**2020** —— 129 条,回来的那一年。**2022** —— 676 条。**2023** —— 589 条,低于上一年,图没有把它抹平。**2024** —— 1,181 条;当年 7 月,第一个上游补丁合入 [Dify](https://github.com/langgenius/dify/pull/5631)。**2025** —— 3,193 条;8 月有了 `negentropy-perceives`,10 月有了 `agentic-ai-cognizes`。**2026-01-31** —— 主干开始。**2026-05-18** —— 那两个仓库归档并入主干。**2026** —— 目前 9,313 条。 +**2016** —— 一条提交。**2017–2018** —— 空的;图上那个缺口是真的,而且长达两年。**2019** —— 13 条。**2020** —— 129 条,回来的那一年。**2021** —— 198 条。**2022** —— 676 条。**2023** —— 589 条,低于上一年,图没有把它抹平。**2024** —— 1,181 条;当年 7 月,第一个上游补丁合入 [Dify](https://github.com/langgenius/dify/pull/5631)。**2025** —— 3,193 条;8 月有了 `negentropy-perceives`,10 月有了 `agentic-ai-cognizes`。**2026-01-31** —— 主干开始。**2026-05-18** —— 那两个仓库归档并入主干。**2026** —— 目前 9,313 条。 开源提交按小时分布直方图(共 4,349 条,Asia/Shanghai,横轴自 04:00 起至 03:00,使夜间块连续)。自 04:00 起逐小时数值:0, 0, 0, 11, 44, 232, 338, 319, 186, 184, 265, 285, 262, 292, 242, 206, 214, 348, 460, 329, 91, 36, 3, 2。04:00–06:59 为真实零值(基线下方空槽)。峰值 22:00 共 460 条——占全部提交 10.6%,为平坦基线的 2.54 倍。低于最小可见高度 2.5 像素的柱按最小高度绘制。 @@ -74,7 +74,7 @@ 提交给他人仓库的公开 PR 点账本,2024-06-26 至 2025-12-06。langgenius/dify#5631,已合并,2024-06-26;langgenius/dify#8921,已合并,2024-09-30;langgenius/dify-plugin-daemon#389,关闭未合并,2025-07-07;langgenius/dify-cloud-kit#3,已合并,2025-07-08;langgenius/dify#22646,已合并,2025-07-18;DayuanJiang/next-ai-draw-io#124,已合并,2025-12-06。它们占 1,849 个公开 PR 的 0.3%;其余都提交给我自己的仓库。数据:GitHub is:public 检索。 -N = 6,全部具名:2024-06-26 → 2025-12-06,5 个已合并、一个关闭未合并——占全部公开 PR 的千分之几。比例本身就是重点。 +N = 6,全部具名:2024-06-26 → 2025-12-06,5 个已合并、一个关闭未合并——占全部公开 PR 的千分之几。 --- @@ -83,7 +83,7 @@ **[negentropy](https://github.com/ThreeFish-AI/negentropy)** —— 个人知识引擎:一个调度内核,五片羽翼,每片对准一种衰变。感知对抗信息过载,内化对抗遗忘与碎片,沉思对抗浮浅,行动对抗空谈,影响对抗湮没。记忆按艾宾浩斯曲线衰减——因为「什么都记住」本身就是另一种噪声。整套栈一条命令起五个容器,且不需要任何云凭据。 Python 3.13 · Next.js 16 · Google ADK · Apache-2.0 · 2,048 条提交 · 1,078 个已合并 PR · 两个 rc,尚无 1.0 -**[coding-proxy](https://github.com/ThreeFish-AI/coding-proxy)** —— 编码 Agent 的 N 级链式故障转移。主厂商返回 `429`、`403`、`503` 时,请求顺链下降而不是直接失败:Claude 套餐、Copilot、Antigravity、GLM、MiniMax、Qwen、Kimi、豆包。每厂商独立熔断与配额守卫;Anthropic↔Gemini、Anthropic↔OpenAI 双向请求与 SSE 转译。客户端只改一行 `ANTHROPIC_BASE_URL`,此外什么都不必知道。 +**[coding-proxy](https://github.com/ThreeFish-AI/coding-proxy)** —— 编码 Agent 的 N 级链式故障转移。主厂商返回 `429`、`403`、`503` 时,请求顺链下降而不是直接失败:Claude 套餐、Copilot、Antigravity、GLM、MiniMax、Qwen、小米、Kimi、豆包。每厂商独立熔断与配额守卫;Anthropic↔Gemini、Anthropic↔OpenAI 双向请求与 SSE 转译。客户端只改一行 `ANTHROPIC_BASE_URL`,此外什么都不必知道。 Python · FastAPI · httpx · SQLite-WAL 本地用量看板,无 Redis、无消息队列 · 12 个 release,最新版仍带 alpha 标 **[hyper-git](https://github.com/ThreeFish-AI/hyper-git)** —— 把 IntelliJ 的提交模型重建进 VS Code:多变更列表分组、手绘带泳道的提交图 DAG 与七个可组合筛选器、行级与 hunk 级提交、独立于 `git stash` 的 Shelf、手写三方合并编辑器。`engine/` 是零 `vscode` 依赖的纯逻辑层——403 个单元测试之所以能存在,只因为这一点。 @@ -94,16 +94,10 @@ **[agents.md](https://github.com/ThreeFish-AI/agents.md)** —— 上面四者共同遵循的规约,由 `./sync.sh --link` 软链进本机每一个 Agent。它不是宣言,是一个带主张的配置文件。 -**用什么写** Python 3.13 · TypeScript · Swift · Shell,另有一个 C# 旁支构建。**跑在** FastAPI · httpx · Next.js 16 · Google ADK · PostgreSQL · SQLite-WAL · MCP · MicroSandbox。**靠什么保持诚实** structlog · OpenTelemetry · Langfuse。**怎么构建** `uv` · `pnpm` · 一条命令,五个容器。**没有** Redis,没有消息队列,默认路径上没有云凭据。 +**用什么写** Python 3.13 · TypeScript · Swift · Shell,另有一个 C# 旁支构建。**跑在** FastAPI · httpx · Next.js 16 · Google ADK · PostgreSQL · SQLite-WAL · MCP · MicroSandbox。**靠什么保持诚实** structlog · OpenTelemetry · Langfuse。**怎么构建** `uv` · `pnpm`。**没有** Redis,没有消息队列,默认路径上没有云凭据。 --- -
-体量 · 4,349 条提交,横跨 7 个源仓库 · 1,849 个公开 PR · 29 个 release · 51 颗真正属于我的星
-节律 · 峰值 22:00,为平坦基线的 2.54× · 34.7% 落在周末 · 最长 88 天连续 · 802 天里 249 天活跃
-纪律 · 77.1% Conventional Commits · 开启到合并中位 6 分钟、83% 一小时内,自合并 · 上游 PR 5/6 已合并 -
- **上游,在不属于我的代码里** —— 5/6 个 PR 已合并,其中 4 个在 [Dify](https://github.com/langgenius/dify) 生态。 | 合并日 | 仓库 | 变更 | @@ -117,27 +111,46 @@ 六个对 1,849 个公开 PR,这是诚实的比例:我绝大部分公开工作,都发生在我同时也是评审者的仓库里。 -### 一个输入框,三篇文献 +
+诚实性说明——这一页省略了什么,以及为什么 -`give-me-a-break` 在每次自然休息之前弹出一个小框,问:你刚完成了什么;可选地,下一步是什么。它看起来像打卡机。它恰恰相反。 +- `negentropy` 是单人自合并仓库:PR 是有标题、可回滚的原子变更单元,不是评审门禁。6 分钟中位时长测的就是这件事。 +- [analysis_claude_code](https://github.com/ThreeFish-AI/analysis_claude_code)(312 星)大部分**不是**我的作品——它镜像自 [CrazyBoyM](https://github.com/CrazyBoyM) / ShareAI-Lab 的 Claude Code 源码分析,奠基提交属原作者。属于我的部分:研读笔记。 +- agentic-ai-cognizes, negentropy-perceives(2 个源仓库)已归档——毕业并入 negentropy 主干,下面的专节就是这件事。这是预期的生命周期,不是失败:归档不再变动。 +- 标语下那行「正在做」是全页唯一自动化管不到的东西;手工维护,比其他一切腐化得都快。 +- 所有图表由[一个 workflow](https://github.com/ThreeFish-AI/threefish-ai/blob/master/.github/workflows/refresh-profile-data.yml) 每月自 GitHub API 重新生成——截至 2026-09-05;已知的失真(含年度图的平方根标度)在下方「方法」一节中登记。 -它存在的根本理由是 Leroy 关于「注意力残留」的研究:任务切换时,一部分注意力仍留在上一件事上,而当那件事被打断或未完成时,残留最重。[^leroy] 而休息,按定义就是一次打断。所以这个框不是用来度量刚过去的那一段——它是用来*关闭*那一段:花六十秒写下「已完成、尚未完成、回来后的第一步」,这既是一份可直接续上的计划,更重要的是,一份允许你停止再想它的许可。 +- **3,640 条私有贡献**(截至 2026-09),对应 5,590 条公开可点击的。它们是真实的工作,且不配上标题——因为一个你打不开的数,是一个你只能选择相信的数。这个拆分在这里由手写维护;生成器不被允许去看。 +- **我的雇主,以及我拿薪水在建的生产系统。** 「白天做生产级 Agent 基础设施」已是这一页能给到的全部具体度。那部分工作,占私有数字里更大的一半。 +- **粉丝数、访问计数、奖杯墙、连续打卡火焰、语言占比环。** 全都能用一行嵌入搞定;也全都在度量这个主页,而不是这些工作。本页那些图是为回答具体问题而写的,且每一张都印出生成它的那组数据。 +- **任何我无法以「访客可复现」口径核实的东西。** 若某个论断需要比登出读者更宽的视野,它要么手写并标注日期,要么就不出现。 +- **那些我有账号却没有产出的平台链接。** 在一个谈可核验的页面上,死链比没有链接更糟。 -Stubblebine 的间隙日志提供了触发时机与剂量:触发在任务切换处,而不是在钟点上;两到四句;六十到九十秒;并且必须保持轻——再重一点,第一周就会被放弃。[^interstitial] Fogg 提供了设计约束:提示弹出的那一刻,动机低且不稳定,于是唯一还能拉的杠杆是能力。[^fogg] 因此所有字段可选,回车即提交,超时自动放行,且不设最小字数——最小字数是被验证过的完成率杀手。 +这些省略并不谦逊。它们只是我能辩护的那些。 +
-它只挂在唯一一个边界上:`working → resting`,并且永不阻塞休息本身。一个能阻止休息发生的休息仪式,不是休息仪式。 +
+这些仓库共同遵循的规约——纯函数内核与道 / 法 / 术 -休息结束时对称地出现一个运动记录;两者都汇总进原生的周、月、季、年报表。至于这套东西在数月尺度上是否真的改变了行为,我没有测过——n=1,无基线;上面的文献讲的是注意力与习惯养成的一般机制,不是这个应用。这是一个讲得通的设计,不是一个被验证过的设计。 +- **`give-me-a-break`** —— 状态机的 `evaluate` 零时间依赖。时钟由参数传入,于是整套休息/工作/AFK 生命周期都能在虚拟时钟下测试:睡眠、崩溃后快进恢复、休息中途被拔掉的显示器。三个模块,其中一个对 macOS 一无所知。 +- **`hyper-git`** —— `engine/` 里没有一处 `vscode` import。仅这一条约束,就是 403 个单元测试之所以存在的原因:变更列表分组、DAG 泳道布局、Conventional Commits 校验,全都不需要编辑器宿主即可测试。架构说明称之为「Path B」——消费稳定的 `vscode.git` API,其上一切手绘,而不去 fork。 +- **`hyper-git`,再一次** —— 五个 AI 接缝(`ILlmProvider`、`ICommitMessageProvider`、`IPreCommitInspector`、`IChangelistGrouper`、`IConflictResolver`)以空实现预先接入,形制取自 JetBrains 的 `CheckinHandler` 生命周期。接口先交付,智能延到 M5。早声明接缝很便宜,晚声明就不便宜了。 +- **`coding-proxy`** —— 故障转移链是策略,不是管道:熔断状态与配额记账按厂商分离、且是本地的,落在 SQLite-WAL 里。没有 Redis、没有队列,于是单进程就是整个部署,重启不会丢掉任何要紧的东西。 +- **`negentropy`** —— 默认路径跑在可插拔后端中最便宜的那档上,**完全不需要云凭据**;如果最便宜的配置跑不起来,也就没人会去跑贵的那个。 -
-诚实性说明 +说得好听,这叫可测性。说得诚实,这是一个单人维护者为了在自己的代码库里活下来必须做的事:这里没有第二双眼睛,所以设计必须让错误便宜到能被找出来。而那五个空的 AI 接缝,至今仍然是空的——接口是一份计划,不是一个功能。 -- `negentropy` 是单人自合并仓库:PR 是有标题、可回滚的原子变更单元,不是评审门禁。6 分钟中位时长测的就是这件事。 -- [analysis_claude_code](https://github.com/ThreeFish-AI/analysis_claude_code)(312 星)大部分**不是**我的作品——它镜像自 [CrazyBoyM](https://github.com/CrazyBoyM) / ShareAI-Lab 的 Claude Code 源码分析,奠基提交属原作者。属于我的部分:研读笔记。 -- agentic-ai-cognizes, negentropy-perceives(2 个源仓库,合计 1,378 条提交)已归档——毕业并入 negentropy 主干:perceives 成为它的内容提取服务,cognizes 成为 `apps/cognizes`。这是预期的生命周期,不是失败。且天然冻结:归档不再变动。 -- 标语下那行「正在做」是全页唯一自动化管不到的东西;手工维护,比其他一切腐化得都快。 -- 年度图采用平方根标度以保留早期年份的可见度,因此低估了近年的增长。所有图表由[一个 workflow](https://github.com/ThreeFish-AI/threefish-ai/blob/master/.github/workflows/refresh-profile-data.yml) 每月自 GitHub API 重新生成——截至 2026-09-05。 +[agents.md](https://github.com/ThreeFish-AI/agents.md) 刻意分三层:心法、策略、战术。`./sync.sh --link` 将它软链到 `~/.codex/AGENTS.md` 与 `~/.agents/docs/`,于是本机每一个 Agent 都加载同一份文件——改一行,各处工具的行为一起变。 +| 层 | | 内容 | +|---|---|---| +| 道 | 心法 | 上下文驱动 · 最小干预 · 证据为准 · 系统完整性 · 知识晶化 · 主动导航 · 低熵表达 | +| 法 | 策略 | 默认先计划 · 子代理并发 · 完成前验证 · 复用驱动 · 边界管理 · 正交分解 · 单一事实源 · 分层表达 | +| 术 | 战术 | AI 结对流水线 · git/hooks/issue 纪律 · `uv` + `pnpm` 工具链 · 数据库安全护栏 · 文档与 Mermaid 规范 · UI 规范 | + +需要精确的部分交由子规范承担:结构化表达框架(PREP、金字塔、SCQA、STAR)、含明确 OAuth 红线的浏览器验证协议,以及 IEEE 参考文献规范——这一页的脚注为何是这个样子,答案就在那里。 + +一颗星。它是我写过最不受欢迎、却杠杆最大的东西;这两件事并不矛盾。它也只是一份陈述意图的文档,不是强制执行的 linter——本页别处那个 77.1% 的 Conventional Commits 比例,就是规约与实践之间被量出来的差距。
@@ -177,7 +190,7 @@ flowchart LR 后端可插拔——内存、PostgreSQL、VertexAI、GCS——默认路径完全不需要云凭据:`./dev` 拉起五个容器。可观测性由 structlog、OpenTelemetry 与 Langfuse 承担,这等于承认:五翼系统不是靠读代码就能调试的。 -两个 rc,尚无 1.0。五翼并不同等完成——感知与内化承接了两个已归档仓库的全部历史,影响是最薄的一片。 +五翼并不同等完成——感知与内化承接了两个已归档仓库的全部历史,影响是最薄的一片。
@@ -202,51 +215,35 @@ sequenceDiagram 客户端什么都不知道。这就是产品的全部:一行配置,把失败模式从「停止工作」改成「用别人的模型慢一点工作」。已接入九家——Claude 套餐、GitHub Copilot、Google Antigravity、Z AI 的 GLM、MiniMax、Qwen、小米、Kimi、豆包——每家独立熔断与配额守卫,另有本地 SQLite-WAL 看板,让消耗在账单之前就可见。 -FastAPI 与 httpx;无 Redis,无消息队列。12 个 release,最新仍带 alpha 标——三种请求形状之间的转译保真度,正是那个一直没做完的部分。链式转移也意味着请求可能在你没选的模型上成功;看板的存在,一部分就是为了让这件事可审计。 - -
- -
-同一个动作做了四遍:把内核做成纯函数 - -- **`give-me-a-break`** —— 状态机的 `evaluate` 零时间依赖。时钟由参数传入,于是整套休息/工作/AFK 生命周期都能在虚拟时钟下测试:睡眠、崩溃后快进恢复、休息中途被拔掉的显示器。三个模块,其中一个对 macOS 一无所知。 -- **`hyper-git`** —— `engine/` 里没有一处 `vscode` import。仅这一条约束,就是 403 个单元测试之所以存在的原因:变更列表分组、DAG 泳道布局、Conventional Commits 校验,全都不需要编辑器宿主即可测试。架构说明称之为「Path B」——消费稳定的 `vscode.git` API,其上一切手绘,而不去 fork。 -- **`hyper-git`,再一次** —— 五个 AI 接缝(`ILlmProvider`、`ICommitMessageProvider`、`IPreCommitInspector`、`IChangelistGrouper`、`IConflictResolver`)以空实现预先接入,形制取自 JetBrains 的 `CheckinHandler` 生命周期。接口先交付,智能延到 M5。早声明接缝很便宜,晚声明就不便宜了。 -- **`coding-proxy`** —— 故障转移链是策略,不是管道:熔断状态与配额记账按厂商分离、且是本地的,落在 SQLite-WAL 里。没有 Redis、没有队列,于是单进程就是整个部署,重启不会丢掉任何要紧的东西。 -- **`negentropy`** —— 后端可在内存、PostgreSQL、VertexAI、GCS 之间替换,而默认路径**完全不需要云凭据**就能起。如果最便宜的配置跑不起来,也就没人会去跑贵的那个。 - -说得好听,这叫可测性。说得诚实,这是一个单人维护者为了在自己的代码库里活下来必须做的事:这里没有第二双眼睛,所以设计必须让错误便宜到能被找出来。而那五个空的 AI 接缝,至今仍然是空的——接口是一份计划,不是一个功能。 +FastAPI 与 httpx。12 个 release,最新仍带 alpha 标——三种请求形状之间的转译保真度,正是那个一直没做完的部分。链式转移也意味着请求可能在你没选的模型上成功;看板的存在,一部分就是为了让这件事可审计。
-这些仓库共同遵循的规约 —— 道 / 法 / 术 +give-me-a-break——一个输入框,三篇文献 -[agents.md](https://github.com/ThreeFish-AI/agents.md) 刻意分三层:心法、策略、战术。`./sync.sh --link` 将它软链到 `~/.codex/AGENTS.md` 与 `~/.agents/docs/`,于是本机每一个 Agent 都加载同一份文件——改一行,各处工具的行为一起变。 +`give-me-a-break` 在每次自然休息之前弹出一个小框,问:你刚完成了什么;可选地,下一步是什么。它看起来像打卡机。它恰恰相反。 -| 层 | | 内容 | -|---|---|---| -| 道 | 心法 | 上下文驱动 · 最小干预 · 证据为准 · 系统完整性 · 知识晶化 · 主动导航 · 低熵表达 | -| 法 | 策略 | 默认先计划 · 子代理并发 · 完成前验证 · 复用驱动 · 边界管理 · 正交分解 · 单一事实源 · 分层表达 | -| 术 | 战术 | AI 结对流水线 · git/hooks/issue 纪律 · `uv` + `pnpm` 工具链 · 数据库安全护栏 · 文档与 Mermaid 规范 · UI 规范 | +它存在的根本理由是 Leroy 关于「注意力残留」的研究:任务切换时,一部分注意力仍留在上一件事上,而当那件事被打断或未完成时,残留最重。[^leroy] 而休息,按定义就是一次打断。所以这个框不是用来度量刚过去的那一段——它是用来*关闭*那一段:花六十秒写下「已完成、尚未完成、回来后的第一步」,这既是一份可直接续上的计划,更重要的是,一份允许你停止再想它的许可。 -需要精确的部分交由子规范承担:结构化表达框架(PREP、金字塔、SCQA、STAR)、含明确 OAuth 红线的浏览器验证协议,以及 IEEE 参考文献规范——这一页的脚注为何是这个样子,答案就在那里。 +Stubblebine 的间隙日志提供了触发时机与剂量:触发在任务切换处,而不是在钟点上;两到四句;六十到九十秒;并且必须保持轻——再重一点,第一周就会被放弃。[^interstitial] Fogg 提供了设计约束:提示弹出的那一刻,动机低且不稳定,于是唯一还能拉的杠杆是能力。[^fogg] 因此所有字段可选,回车即提交,超时自动放行,且不设最小字数——最小字数是被验证过的完成率杀手。 -一颗星。它是我写过最不受欢迎、却杠杆最大的东西;这两件事并不矛盾。它也只是一份陈述意图的文档,不是强制执行的 linter——本页别处那个 77.1% 的 Conventional Commits 比例,就是规约与实践之间被量出来的差距。 +它只挂在唯一一个边界上:`working → resting`,并且永不阻塞休息本身。一个能阻止休息发生的休息仪式,不是休息仪式。 +休息结束时对称地出现一个运动记录;两者都汇总进原生的周、月、季、年报表。至于这套东西在数月尺度上是否真的改变了行为,我没有测过——n=1,无基线;上面的文献讲的是注意力与习惯养成的一般机制,不是这个应用。这是一个讲得通的设计,不是一个被验证过的设计。
这一页会招来的问题 **「一年九千多次贡献——那是真活,还是脚本?」** -是真的,同时也确实被「小单位工作法」放大了。4,349 条公开提交里 77.1% 符合 Conventional Commits,类型大致是四分之一 `fix`、五分之一 `docs`、五分之一 `feat`——文档提交几乎与功能提交等量。请据 release(29 个)与 diff 评判,而不是据计数。 +是真的,同时也确实被「小单位工作法」放大了。4,349 条公开提交里 77.1% 符合 Conventional Commits,类型大致是五分之一 `fix`、五分之一 `docs`、五分之一 `feat`——文档提交几乎与功能提交等量。请据 release(29 个)与 diff 评判,而不是据计数。 **「一个人开发,为什么还要给自己开 PR?」** 因为 PR 是一个带标题、可回滚、附着 diff 的单元,无论有没有人评审,这件事本身有价值。它不是评审门禁,本页也从不这样称它。6 分钟中位数测的是一个做完的分支等了多久,不是有人看了多久。 **「你星最多的仓库不是你的。」** -没错,而这是诚实性说明里的第一条。363 颗星里有 312 颗落在一个镜像他人 Claude Code 分析的仓库上。我更愿意被评判的那个数是 51。 +没错——诚实性说明里明说了这件事:363 颗星里有 312 颗落在那个镜像仓库上。我更愿意被评判的那个数是 51。 **「为什么全都要双语?」** 因为写作有一半是中文,读者有一半不是;而一个机翻的页面,会当场违反它自称遵循的「低熵表达」。两份 README 手工维护、结构互为镜像;里面的数字出自同一个生成器,因此不可能互相矛盾。 @@ -257,20 +254,7 @@ sequenceDiagram
-这一页省略了什么,以及为什么 - -- **3,640 条私有贡献**(截至 2026-09),对应 5,590 条公开可点击的。它们是真实的工作,且不配上标题——因为一个你打不开的数,是一个你只能选择相信的数。这个拆分在这里由手写维护;生成器不被允许去看。 -- **我的雇主,以及我拿薪水在建的生产系统。** 「白天做生产级 Agent 基础设施」已是这一页能给到的全部具体度。那部分工作,占私有数字里更大的一半。 -- **粉丝数、访问计数、奖杯墙、连续打卡火焰、语言占比环。** 全都能用一行嵌入搞定;也全都在度量这个主页,而不是这些工作。本页那些图是为回答具体问题而写的,且每一张都印出生成它的那组数据。 -- **任何我无法以「访客可复现」口径核实的东西。** 若某个论断需要比登出读者更宽的视野,它要么手写并标注日期,要么就不出现。 -- **那些我有账号却没有产出的平台链接。** 在一个谈可核验的页面上,死链比没有链接更糟。 - -这些省略并不谦逊。它们只是我能辩护的那些。 - -
- -
-方法、口径,以及什么情况下这一页是错的 +方法、口径,与全量仓库普查 **口径。** 所有自动刷新的数字都以匿名公开口径采集:登出访客看到的贡献页、GitHub 的 `is:public` 检索、公开 REST 端点。`GITHUB_TOKEN` 只为配额而存在。草稿 release 被排除——对匿名访客不可见、对有推送权限的 token 可见,计入就会让本地运行与 CI 运行不一致。受私有限制的数字(公开/私有拆分)由手写并标注截止日期,生成器从不改动。 @@ -284,11 +268,6 @@ sequenceDiagram 自行复算提交类数字:for r in $(gh api users/ThreeFish-AI/repos --paginate --jq '.[]|select(.fork==false)|.name'); do gh api "/repos/ThreeFish-AI/$r/commits?author=ThreeFish-AI" --paginate --jq '.[].commit.message|split("\n")[0]'; done——注意它不含「十条提交」的源仓库阈值,原始运行会比本页多出几个仓库。由[一个 workflow](https://github.com/ThreeFish-AI/threefish-ai/blob/master/.github/workflows/refresh-profile-data.yml) 每月刷新 · 截至 2026-09-05。以及诚实的边界:它只能自动化「公开可数」的部分——文字、论断,以及「正在做」那一行,都是手写的,可以无声地过期。没有脚本抓得住那个。 -
- -
-全量仓库普查 - | 仓库 | 语言 | 提交 | Release | 星 | 状态 | 对准什么 | |---|---|--:|--:|--:|---|---| | [negentropy](https://github.com/ThreeFish-AI/negentropy) | Python · TS | 2,048 | 2 | 10 | 活跃,1.0 之前 | 信息衰变的五种形态 | @@ -302,7 +281,6 @@ sequenceDiagram | [analysis_claude_code](https://github.com/ThreeFish-AI/analysis_claude_code) | — | — | — | 312 | 镜像 | **大部分不是我的作品**——见诚实性说明 | 7 个源仓库 · 4,349 条我署名的提交 · 29 个 release · 51 颗真正属于我的星,主页显示的是 363 颗。两行归档是毕业,不是伤亡。提交数以匿名口径统计我署名的部分;表体数字冻结于首次发布之时——若说明行与表体不一致,以说明行为准。 -
--- @@ -316,7 +294,7 @@ sequenceDiagram 三条长线:**Negentropy** —— 熵减引擎的设计与用法,与代码并行写就 · **Harness Engineering** —— 把 Agent 工程当作一门学科来做的综述 · **Sinestesia of Cognition** —— 知见通感,最不实用,也最必需。 -「你我的相识绝非一场零和游戏」——站点自己的那句话。全站中文写作,没有英文镜像;在英文页上假装有,是错的那种整齐。 +全站中文写作,没有英文镜像;在英文页上假装有,是错的那种整齐。 ---