三週前,我寫了一篇關於知識崩潰的文章——我們最好的技術見解是如何在私人 AI 聊天中消亡的,而 Stack Overflow 的流量卻流失了 78%。
數百名開發者一致認為我們需要一個解決方案。
所以我搭建了一個。現在它已經在生產環境中運作了。
這是線上演示: https://chat-knowledge-api.fpl-test.workers.dev
原始碼在這裡: https://github.com/dannwaneri/chat-knowledge
以下是您正在閱讀的完整建置工作階段: 107 個程式碼區塊,174 個訊息,透過 HTML 匯入。
讓我來給你示範一下它是如何運作的。
知識崩塌正在發生:
你最好的除錯方案都藏在克勞德的私人聊天記錄裡。
沒有署名,就沒有發現,就沒有共享。
自 ChatGPT 上線以來,Stack Overflow 的流量下降了 78%。
我們正在自我優化,最終陷入知識的死胡同。
我們需要「人工智慧對話版的 Stack Overflow」——但要去中心化、隱私優先、開發者所有。
工作流程極為簡單:
與克勞德進行一次有價值的對話
按Ctrl+S (另存為HTML)
導入: node dist/cli/import-html.js chat.html
完成——現在可以搜尋了。
已在本文的建置會話中測試:
文件大小:4.6MB
已解析訊息:136 條
已建立程式碼區塊:91
時間:< 2 秒
無需複雜設置,無需API密鑰,只需儲存並導入即可。
任何聊天記錄在公開之前都會經過自動偵測:
🔴 嚴重(自動屏蔽):
API金鑰、Bearer令牌
私人 URL(localhost、.internal 網域)
憑證、密碼
我的建置會話掃描的實際結果:
Total issues detected: 599
Critical blocks: 3 (2 Bearer tokens, 1 API key)
High severity: Multiple localhost URLs
Safe to share: FALSE ✅ (exactly as designed)
這就是「完全共享」和「安全共享」的區別。一個洩漏的API金鑰造成的損失比整個系統還要大。
本次建構會話:
開始:問題已發現(1月15日)
建構:107 個對話片段
訊息總數:174 條
文件大小:4.6MB HTML
分析時間:< 2 秒
安全掃描:偵測到 599 個問題(3 個嚴重自動封鎖問題)
出貨日期:2月8日(從出現問題到生產需要24天)
這比大多數公司決定生產什麼產品的速度都要快。
不是關鍵字匹配,而是實際理解。
問題: “如何處理向量化嵌入”
找到:關於“降維”和“優化”的內容
相關性得分: 0.78
系統理解了我的意思,而不僅僅是我輸入的內容。
技術棧:
Workers AI( @cf/baai/bge-base-en-v1.5 )- 產生嵌入
向量化 - 儲存 768 維向量
D1 - 元資料與聊天結構
對所有導入的對話進行餘弦相似度搜尋
這不僅僅是個人知識管理,它的設計目的是為了實現共同協作。
即時端點:
NodeInfo: /api/federation/nodeinfo (200 OK ✅)
WebFinger: /api/federation/.well-known/webfinger
收件匣/寄件匣:ActivityPub 標準
聯邦制的涵義:
您執行您的實例
我執行我的實例
我們搜尋了所有這些
沒有單一的控制點
沒有企業霸主
和 Mastodon 完全一樣,但面向開發者知識庫。
Frontend: HTML → Parser → Chunks
Backend: Cloudflare Workers (edge-native)
Database: D1 (SQLite at the edge)
Vector Store: Vectorize (768-dim embeddings)
AI: Workers AI (BGE-base-en-v1.5)
Protocol: ActivityPub (federation standard)
1. IMPORT
HTML file → Parse messages → Chunk content → Generate embeddings
2. SECURITY
Scan for secrets → Flag risks → Require review → Safe by default
3. STORAGE
Chunks → D1 (metadata)
Embeddings → Vectorize (semantic search)
4. SEARCH
Query → Generate embedding → Cosine similarity → Ranked results
5. FEDERATION (coming)
Public chats → ActivityPub → Federated timeline → Cross-instance search
1. HTML 解析
Claude 的 HTML 匯出格式沒有文件說明,只能透過逆向工程摸索出來。
訊息邊界
程式碼區塊保存
工件處理
嵌套內容結構
2. 安全掃描器
不能只用正規表示式來匹配「API金鑰」-需要理解上下文:
這是程式碼範例還是真實的憑證?
文件中提到的 localhost URL 還是實際的端點?
平衡點:過於嚴格會導致誤報,過於寬鬆會導致漏洞。
3. 聯邦協議
ActivityPub 是為社交貼文設計的,而不是問答:
如何表示「問題」和「答案」?
跨實例的投票聯合?
如何在不依賴集中審核的情況下防止垃圾郵件?
4. 邊緣原生架構
Cloudflare Workers 有一些限制:
每次請求的 CPU 限制為 10 毫秒
沒有檔案系統
僅異步資料庫存取
在限制條件下設計出更好的架構。
// Real security detection from the codebase
const patterns = {
bearerToken: /Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi,
apiKey: /['\"]?api[_-]?key['\"]?\s*[:=]\s*['\"]?[A-Za-z0-9-_]{20,}['\"]?/gi,
localhost: /https?:\/\/(localhost|127\.0\.0\.1|::1)/gi,
internalDomain: /https?:\/\/[a-z0-9.-]+\.(local|internal|corp|dev)/gi
}
// Scan returns: { safe: boolean, issues: Issue[] }
// Auto-blocks if critical issues found
chats -- Core chat storage
chunks -- Content chunks for search
pre_share_scans -- Security scanner results
chunk_redactions -- Auto-redaction tracking
share_approvals -- Sharing workflow
federated_instances -- Federation network
federated_knowledge -- Cross-instance content
federation_activities -- ActivityPub events
knowledge_analytics -- Usage tracking
collections -- Knowledge curation
collection_items -- Collection membership
這是生產級基礎設施,而不是概念驗證。
時機很重要。
Stack Overflow 的流量下降了 78%,而且還在持續下滑。每天,成千上萬次的寶貴除錯會話在私密的 AI 聊天中發生,然後永遠消失。
我們不僅在失去知識,還在失去分享知識的習慣。
現在開始建設意味著:
早期採用者塑造了協議
聯邦標準是自然形成的
我們避免被企業俘獲(不接受創投,也不「轉型付費」)。
從一開始,開發人員就擁有基礎設施的所有權。
重建知識共享平台的最佳時機是在 Stack Overflow 崩潰之前。
第二好的時機就是現在。
✅洞察資訊始終易於發現- 語意搜尋可找到相關內容
✅保留署名- 內建來源追蹤
✅尊重隱私- 安全掃描器可偵測洩漏訊息
✅無平台風險- 自託管,資料完全由您掌控
ActivityPub = 成熟的聯邦協議(為 Mastodon 的 1000 多萬用戶提供支援)
開發者自建實例- 執行您自己的實例,並與其他實例連接
無「突然撤回」風險- 開源,MIT 許可
Cloudflare Workers 可處理大規模資料:
邊緣原生架構
邊緣的D1資料庫
矢量化用於語義搜尋
用於嵌入的工人人工智慧
我使用的技術堆疊與服務數千用戶的生產應用程式相同。
三週前,Richard Pascoe 在評論中問道:“像 Fosstodon 這樣的 Mastodon 伺服器能否幫助建立知識共享平台?”
我答應了,然後就把它建好了。
這並非理論上的基礎設施。它與 ActivityPub 相容,這意味著它可以與 Mastodon、Fosstodon 以及整個 Fediverse 網路進行聯合。
理查德的問題成為了診斷和解決方案之間的橋樑。
@richardpascoe - 您的實例已準備就緒,隨時恭候。 🚀
問題解決案例集錦- 您最精彩的除錯過程,可搜尋
公開學習-分享解決方案、獲得回饋、建立聲譽
後續參考——“我之前解決過這個問題,聊天記錄在哪裡?”
機構知識-團隊的集體除錯歷史
入職培訓- 新開發人員尋找團隊以往的解決方案
模式辨識-發現對話中反覆出現的問題
細分領域專業知識-Rust 專家、Cloudflare 開發人員等共享領域知識
聯合發現- 跨實例尋找專家
歸屬-功勞歸於真正解決問題的人。
Stack Overflow 的替代方案——但去中心化且由社區擁有
AI訓練資料-高品質、可歸因的對話
知識考古學-洞見不會隨著平台的消亡而消失
✅ 在 GitHub 上開源(MIT 授權)
✅ 自託管文件
✅ 生產環境部署上線
匯入 50 多筆 Claude 歷史聊天記錄(建構語料庫)
MCP 擴充功能(“公開分享此聊天記錄”,來自 Claude Code)
與其他開發者進行的首次聯邦測試
10 個以上的聯邦實例
收藏集功能(依主題整理知識)
分析(哪些洞察最有價值)
跨實例搜尋
兩週前,我們建立了@the-foundation,旨在公開保存開發者知識。
Richard Pascoe 發表了我們第一篇關於基礎知識的合作文章。
這是我們的第二個目標:運作良好的基礎設施。
基金會不只是在探討問題,我們還在提供解決方案。
這不是一個人的專案,而是一個基礎設施專案。
執行您自己的實例- 完整設定指南請參閱 README 文件。
歡迎為協議做出貢獻——提交問題和 PR
導入您最優秀的 AI 對話- 建立您的知識庫
安全分享- 安全掃描器保護您
讓您的資訊被發現—聯合搜尋讓您的見解更容易被找到
給倉庫加星號⭐ - 表示你關心知識保存
分享這篇文章-幫助傳播訊息
加入討論—請在下方留言區留下您的想法。
知識共享平台不會自行重建,但我們可以共同建構它。
# Clone the repo
git clone https://github.com/dannwaneri/chat-knowledge.git
cd chat-knowledge
# Install dependencies
npm install
# Login to Cloudflare (free tier works)
wrangler login
# Create infrastructure
wrangler d1 create chat-knowledge-db
wrangler vectorize create chat-knowledge-embeddings --dimensions=768 --metric=cosine
# Run migrations
wrangler d1 execute chat-knowledge-db --remote --file=migrations/migration-federation.sql
wrangler d1 execute chat-knowledge-db --remote --file=migrations/migration-sanitizer.sql
# Deploy
npm run deploy
就這樣,你現在擁有了自己的聯邦知識實例。
匯入聊天記錄:
# Save any Claude conversation as HTML (Ctrl+S)
npm run build
node dist/cli/import-html.js path/to/chat.html "My First Import"
搜尋一下:
curl -X POST https://your-worker.workers.dev/search \
-H "Content-Type: application/json" \
-d '{"query": "debugging tips", "maxResults": 5}'
掃描秘密:
node dist/cli/safe-share.js <chat-id>
# Shows what would leak before you share
我三週前就寫過這個問題。
現在該方案已在生產環境中運作。
從觀察到產品出貨,共耗時21天。
這就是以下方面的力量:
Cloudflare Workers(秒部署)
AI嵌入(開箱即用的語意搜尋)
ActivityPub(成熟的聯邦協議)
公共領域的建構(問責制+回饋)
Stack Overflow,該你出招了。 👊
我的 Chrome 標籤頁講述了一個故事——一切的起源
我們正在造成知識崩潰──問題陳述(瀏覽量超過1.2萬次)
API之上:當AI能夠編碼時,開發者需要貢獻什麼-哪些技能真正重要
您在這裡- 解決方案
GitHub: https://github.com/dannwaneri/chat-knowledge
線上示範: https://chat-knowledge-api.fpl-test.workers.dev
推特: @dannwaneri
如果你相信應該保護開發者的知識,請給這個倉庫點個星⭐,讓我們一起把它變成現實。
基礎已經打好,現在我們需要的是建設者。
你參加嗎?
原文出處:https://dev.to/the-foundation/i-built-federated-ai-knowledge-commons-heres-how-56oj