週報 2026-W30¶
本週覆蓋 07-20 到 07-26。特殊背景:7/22 到 7/26 是 catch-up 補齊系列(routine sandbox 擋 egress,5 天連續無自動 ingest,於 07-26 一次性補齊)。所以本週報等於「首週產品化 dry-run 後五天補齊 + 週報首發」,之後週報應該就是常規節奏。
本週主題¶
「local-first」與「AST-graph 取代 vector RAG」兩條線的第一波共振。7 個新專案裡有 6 個明確走 local-first,2 個共同抽出 code-AST-knowledge-graph 這條非 RAG 的 code 導覽路徑。這反映一個大趨勢:AI 工具生態在 2026 中已經從「都推雲端 SaaS」轉向「local 執行 + optional cloud」的默認 shape。
本週專案卡片¶
synthetic-sciences/openscience (07-21)¶
TypeScript 科學研究 workbench,把整個「讀 paper → 假設 → 寫 code → 跑 exp → 分析 → 寫報告」loop 打包成一個 agent session。localhost only + Host/Origin allowlist;BYOK 路徑完全不需接雲。雙層 prompt 讓「換 model」和「換 agent 角色」正交。
agentlas-ai/Agentlas-OS (07-21)¶
Python agent OS,連 memory / skill 都 local-first。JSON contract file 明言「no implied hosted Agent Cloud VM」。skill 有 curator gate,credentials 只落 gitignored local file。
tirth8205/code-review-graph (07-22 catch-up)¶
tree-sitter + SQLite 建 codebase graph,經 MCP 給 AI agent 主動 pull sub-graph。實測 38–528x token reduction。「幫 AI 不要讀」比「幫 AI 讀」更省 token。
AlexsJones/llmfit (07-23 catch-up)¶
Rust TUI,model×hardware 4 維打分(quality/speed/fit/context)。內建「量測完直接開 PR」的社群 benchmark 回流閉環。runtime abstraction 支援 Ollama / llama.cpp / MLX / Docker Model Runner / LM Studio。
MemPalace/mempalace (07-24 catch-up)¶
Python local-first AI memory。verbatim 存原文不 LLM 濃縮,用 wing/room/drawer 空間隱喻做 scope 過濾 + ChromaDB embedding recall。LongMemEval R@5 = 96.6%。
Panniantong/Agent-Reach (07-25 catch-up)¶
Python 多平台網頁抓取(Twitter/Reddit/YT/Bilibili/小紅書),CLI + MCP 雙介面。primary/fallback backend 用 success_rate_last_100_calls rolling window 軟切換。產品承諾「平台封了我們修」。
Graphify-Labs/graphify (07-26)¶
Python 通用 knowledge graph,code 走 tree-sitter deterministic,非 code(docs/PDF/image/video)走 LLM semantic pass。每條 edge 顯性標記 EXTRACTED / INFERRED,信任成為 first-class dimension。Leiden community detection 揭露「真實引用結構」vs「宣稱資料夾結構」。
橫向比較¶
Concept:local-first-agent-workbench(6 個專案觸及)¶
| Repo | 存哪 | 對外通訊限制 | 「同步」的解 |
|---|---|---|---|
| openscience | XDG 目錄 + provider API | localhost only + Host allowlist | share link |
| agentlas-os | .agentlas/ JSON |
credentials 只 gitignored | gitops-style 復原 |
| code-review-graph | 本機 SQLite | 無網路依賴 | 無(假設單機) |
| mempalace | ChromaDB 本機 | opt-in 才對外 | 無(假設單機) |
| agent-reach | ~/.agent-reach/cookies/ |
cookie 只本地讀 | 無(假設單機) |
| graphify | graph.json / .html | tree-sitter 完全 offline | portable graph.json 可 diff |
觀察:6 個 repo 有 4 個沒直接處理跨機同步。這說明 local-first 社群把「多裝置同步」外部化——你要嘛用 iCloud/Syncthing 自己同步檔案,要嘛不同步。這是刻意的簡化,避免變成 SaaS。
Concept:code-ast-knowledge-graph(2 個專案觸及)¶
| Repo | Extractor | Graph store | Query 介面 |
|---|---|---|---|
| code-review-graph | 純 tree-sitter(無 LLM) | SQLite | MCP tool + CLI + GHA |
| graphify | tree-sitter + LLM semantic pass(混合) | JSON | /graphify skill + CLI |
觀察:兩者都不用專用 graph DB。code-review-graph 走「純可預測」(CI-friendly),graphify 走「更廣範疇」(探索友善)。「有 LLM 就一定要標 EXTRACTED/INFERRED」是可抽出來的守則。
Concept:multi-provider-llm-routing(2 個專案觸及)¶
| Repo | 涵蓋 provider | Routing 決策 |
|---|---|---|
| openscience | cloud(Anthropic / OpenAI / Google / 75+) | 不下判斷,讓 user 選 |
| llmfit | local runtime(Ollama / llama.cpp / MLX / ...) | 4 維打分輔助 user 選 |
觀察:兩者都選「不自動路由」。這是 power-user tool 的通性——自動路由讓 debug 變不可能。若未來收到 SaaS 場景 repo,會需要補「cost 為第一維度」的做法。
開放問題(跨 repo)¶
- Local + AI 的 tension:越 local 越難用 LLM inference。graphify 的解法「code 走 offline、docs 走 LLM」是漂亮的分層取捨——deterministic core + LLM edge。
- Provenance depth:graphify 走 edge-level
EXTRACTED/INFERRED;code-review-graph 走 edge 帶source_line + extractor_version。前者是「信任是分類問題」,後者是「信任是可追溯性問題」,兩者可以共存。 - Contribute-back loop 內建於工具內部:llmfit 的 TUI-PR flow 是很極致的例子——把「貢獻資料」的摩擦降到「按鍵」層級。未來 AI 工具生態可能會複製這個模式(memory tool 內建 preset 分享、graph tool 內建 pattern 分享等)。
下週想追的線¶
- Concept 促進成頁的候選:
mcp-context-provider已 pending 一個(code-review-graph),下週看有沒有第二個 MCP 導向的專案能促進成頁。 - AI infra 中「橫切關切點」的抽象(memory、tool discovery、context routing)——這波 repo 都各自處理一部分,看下週有沒有更 holistic 的統整框架。
- 從 catch-up 學到的:一週補 5 天實際上是把「深度」壓到接近底線。之後若要維持每日 1-2 個 repo,需要每天 30 分鐘紀律;或設計「輕量 catch-up 模式」(更短的分析)。詳見
catch-up-backlogskill 未來 revision。