说个暴论,现在还在说蒸馏的,说明他们的大模型没有护城河,随便蒸蒸就能赶上。其次,从这种蒸馏指责成性的行为来看,闭源公司在道德、专业性上,水平低的令人发指。最后,即使是事实,他们也不该有动力去指责开源蒸馏,蒸馏完给你开源,你闭源不也能蒸?除非 ipo 的事搞不定了
LiteLLM's GitHub bio says "Rust core with Python SDK." I pulled main and counted: 143,267 lines of Rust against 921,180 lines of production Python.
I'm not here to dunk on it. I didn't run its benchmark, I just counted files.
01. Rust is 13.5% of the production code. 773 Rust source files across 66 crates, against 2,760 Python files. The biggest production file in the repo is still one Python module — 20,582 lines of proxy server. GitHub's own language label on the repo reads Python.
02. 21,614 of those Rust lines, 15% of all of it, exist only to talk to Python. python-bridge is 11,666. host-python is 6,498 and it owns the GIL plus a fork gate. Legacy Python callbacks, 3,450. After the LLM type layer, the largest single Rust crate in the workspace is the bridge, not the gateway.
03. The rollout table is what stopped me. Ten rules ship with chat_completions set to PYTHON_ONLY — and so do embeddings, responses, token counter, tokenizer. Rust is required on exactly two routes: OCR, and transcription on Bedrock. Opt-in exists only for messages on anthropic / deepseek / vertex_ai.
04. PYTHON_ONLY is unconditional. That branch returns Python before it ever reads the LITELLM_RUST env override, so the switch people would reach for cannot open the chat route. All three console entries are Python too, and the gateway entry says in its own docstring that it reuses the existing FastAPI app.
Good part: not a fake repo. 66 crates of real work, OCR is genuinely Rust-required, and the loader degrades cleanly — if the native extension doesn't import, Python carries on.
My read: this is a mid-migration caught on a Tuesday, not an architecture. 60,668 stars, a README claiming 8ms P95 at 1k RPS, and an architecture doc that never says the word Rust once.
Counted locally on main, 2026-10-10. One snapshot, not a benchmark, and not a prediction about where it lands in six months.
我本地 macOS:`sed -i 's/foo/baz/' a.txt` 报 `command a expects \ followed by text`。BSD sed 后缀紧贴 `-i`,`'s/foo/baz/'` 被吃成后缀,文件名成脚本。
`sed -i -e` 更阴:exit 0,`-e` 成后缀,多出 `a.txt-e`。
正解 `sed -i ''`。Linux 绿,Mac 当场炸。
async 服务 p99 从 40ms 涨到 2.3s,CPU 只用了 12%。一个 handler 里混了同步 `requests.get`,把事件循环整条卡死,后面的协程全在排队。换 `httpx.AsyncClient` 后 p99 回 47ms。异步框架里只要剩一个同步调用,并发就是假的。
`requests.get(url, timeout=5)` 实测等了 128 秒才失败。
timeout 不是总时长,是分阶段各算:DNS、握手、读响应各一份。连不上时内核按 `tcp_syn_retries=6` 重传 SYN,最坏 127 秒,我设的 5 秒只管读。
总闸得在调用外层另包 deadline,或用 `curl --max-time`。
An 11-line diff just cost 27,841 tokens to review — and that's the cheap option.
First, I'm not on Alibaba's payroll, I just saw "battle-tested at Alibaba's scale" on the trending list and installed it the same evening. npm i -g @alibaba-group/open-code-review, v1.12.13, built 2026-10-08, 56MB on my Mac — 53MB of that is a single arm64 binary.
I planted bugs in a throwaway Python repo and ran ocr review --commit against it.
01. First commit, +11 lines: 8 seconds, 27,841 tokens. It caught the `except Exception: pass` silently swallowing every retry failure, plus an unused loop variable. Zero false alarms.
02. Second commit, a fresh 12-line file: 7 seconds. average() divides by len(nums) with no empty guard; load_config opens a file without `with`. Both would bite in production.
03. Same commit, run three: a finding the first two runs missed — my `pct` clamp only guards >100, so apply_discount(price, -50) inflates the price. Same diff, 2 findings then 3. LLM sampling means review output is a distribution, not a verdict — which is exactly what the deterministic file-selection + rule-matching layer is papering over.
The counterintuitive part: the README claims ~1/9 the tokens of a general-purpose agent, backed by a benchmark of 200 real PRs and 1,505 engineer-annotated issues. I believe the ratio — but the absolute bill is front-loaded. Every run ships ~18K tokens of rule pack + system prompt before your diff is even read. An 11-line change still invoices 26,729 input tokens. On small PRs, the fixed cost IS the cost.
What I liked:
- Delegation mode needs zero LLM config. ocr delegate rule calc.py printed 84 lines of resolved, path-matched rules to stdout — hand that to your own agent and let it do the judging.
- The rule text states its own tradeoff up front: "a false alarm costs more reviewer trust than a missed minor issue." Recall is deliberately lower. That's honest.
The pitfalls:
- ocr rules list doesn't exist — only rules check . Cost me two tries.
- ocr config set custom_providers.deepseek ... bounces with "conflicts with a preset provider" — big vendors are presets, you want providers.deepseek.* instead.
- Hard requirement: git >= 2.41.
Conclusion: it's a rules engine wearing an agent costume. Deterministic file selection and rule matching do the boring half, the LLM only does judgment. That's the right split for CI line-level comments — but on a tiny diff you're still paying 27K tokens for the privilege.
I cloned iPhone-use and ran its whole test suite: 397 tests, all green, 175s. Zero of them touch a real iPhone. The device in every test is FakeWDA, a fake class defined in test_controller.py.
The pitch: let Codex drive your actual iPhone over USB. The reality check starts before any prompt runs:
01. Full Xcode — Command Line Tools explicitly not enough
02. Your own Apple dev account to sign WebDriverAgentRunner (pinned to WDA 16.14.0)
03. USB + trust dialog + Developer Mode + phone unlocked the whole session
The skill files tell on it. Usage skill: 100 lines + 7 references. Setup skill: 57 lines + 2 references — named troubleshooting.md and recovery.md.
17 model tools ship in the plugin. My favorite is the fallback doc: when element targeting fails, it tells the model to stop re-querying the tree, take a screenshot, tap by coordinates. A lot of phone-agent magic is vision + XY taps.
Two things to know before installing:
- Telemetry is ON by default — anonymous PostHog stats (starts, tool calls, durations). IPHONE_USE_ANALYTICS=0 or DO_NOT_TRACK=1 turns it off.
- The README still says "the repository is currently private" — while the repo sits on GitHub trending at 1,127 stars.
My read: solid engineering for v0.3.6 (12,100 lines, 397 tests), but the tests prove the protocol, not the phone. Budget an evening for signing before your first prompt. Source reading only — no spare iPhone on my desk.
#AIagents #DevTools
Repo: github.com/zhongerxin/iPhone… — the two files worth reading before you install: the setup skill and tests/test_controller.py.
Three file searchers, one Mac, one query — and the gap between them is 4,300x.
I'm not affiliated with any of these. I compiled the thing myself and timed all three 15 times, same machine (Apple M5), same query.
01. fsearch (Rust, indexes the whole disk)
- name query: 3.4-6.9 ms end-to-end
- index: 3,846,191 entries / 1,110,886 dirs / 135 MB
- daemon footprint: 45 MB, full_disk_access: True
02. Spotlight (mdfind) — also indexed, also built into macOS
- 282-300 ms on the same query. 40-85x slower than fsearch.
03. plain find over ~home
- 29,506 ms. That's the 4,300x.
The part I didn't expect: the index is not the expensive part.
In-process, a name lookup runs in 28 µs. The CLI takes 3.4-6.9 ms.
So >99% of the wall time is fork + socket roundtrip, not search.
Content search is where it gets rude:
grep:mainpost_guard -> 9.5 ms, 109 files, whole disk
grep -r on ONE project dir -> 3,855 ms, 71 files.
It's 406x faster AND finds more, because Spotlight-style whole-disk
coverage doesn't survive grep -r at all.
Three pits I hit:
- no prebuilt release. cargo build --release took 2m14s, 12 deps,
4,987 lines of Rust for a 2.9 MB binary.
- first crawl was 59 s, not the ~20 s the README claims (3.8M entries).
- the content index is async: right after the crawl it said ok:true
while content_pending was still 89,620. My first grep: returned 0 hits
and I nearly wrote "it's broken". fsearch status shows the real state.
Typo check: setp_chrome resolves to setup_chrome.sh as the first hit.
Verdict: install it if you grep across a big disk. The search itself stopped
being the bottleneck years ago — the whole game now is who avoids the fork.
#Rust #CLI #macOS
254 个并发,不复用要 254 个 fd;加 keep-alive 后降到 24 个,同机跑满 3000 并发。
EMFILE 的教训不是调大 ulimit -n,是别让每个连接各占一个 fd。
macOS 上 ulimit -n 只管 shell,GUI 进程读 launchctl limit maxfiles。
调上限是挪墙,复用连接才是拆墙。








