🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

三週前,我寫了一篇關於知識崩潰的文章——我們最好的技術見解是如何在私人 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」——但要去中心化、隱私優先、開發者所有。


我實際建造的

1. HTML導入系統

工作流程極為簡單:

  1. 與克勞德進行一次有價值的對話

  2. Ctrl+S (另存為HTML)

  3. 導入: node dist/cli/import-html.js chat.html

  4. 完成——現在可以搜尋了。

已在本文的建置會話中測試:

  • 文件大小:4.6MB

  • 已解析訊息:136 條

  • 已建立程式碼區塊:91

  • 時間:< 2 秒

無需複雜設置,無需API密鑰,只需儲存並導入即可。

2. 安全掃描器(關鍵功能)

任何聊天記錄在公開之前都會經過自動偵測:

🔴 嚴重(自動屏蔽):

  • 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天)

這比大多數公司決定生產什麼產品的速度都要快。

3. 語義搜尋

不是關鍵字匹配,而是實際理解。

問題: “如何處理向量化嵌入”

找到:關於“降維”和“優化”的內容

相關性得分: 0.78

系統理解了我的意思,而不僅僅是我輸入的內容。

技術棧:

  • Workers AI( @cf/baai/bge-base-en-v1.5 )- 產生嵌入

  • 向量化 - 儲存 768 維向量

  • D1 - 元資料與聊天結構

  • 對所有導入的對話進行餘弦相似度搜尋

4. 聯合協議(ActivityPub)

這不僅僅是個人知識管理,它的設計目的是為了實現共同協作。

即時端點:

  • 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

資料庫模式(12 個表)

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)

  • 與其他開發者進行的首次聯邦測試

長期(3-6個月)

  • 10 個以上的聯邦實例

  • 收藏集功能(依主題整理知識)

  • 分析(哪些洞察最有價值)

  • 跨實例搜尋


這就是基金會的行動

兩週前,我們建立了@the-foundation,旨在公開保存開發者知識。

Richard Pascoe 發表了我們第一篇關於基礎知識的合作文章。

這是我們的第二個目標:運作良好的基礎設施。

基金會不只是在探討問題,我們還在提供解決方案。


加入基金會

這不是一個人的專案,而是一個基礎設施專案。

面向開發者

致作家

  • 導入您最優秀的 AI 對話- 建立您的知識庫

  • 安全分享- 安全掃描器保護您

  • 讓您的資訊被發現—聯合搜尋讓您的見解更容易被找到

好奇者們

  • 給倉庫加星號⭐ - 表示你關心知識保存

  • 分享這篇文章-幫助傳播訊息

  • 加入討論—請在下方留言區留下您的想法。

知識共享平台不會自行重建,但我們可以共同建構它。


安裝(5分鐘)

# 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,該你出招了。 👊


相關文章

  1. 我的 Chrome 標籤頁講述了一個故事——一切的起源

  2. 我們正在造成知識崩潰──問題陳述(瀏覽量超過1.2萬次)

  3. API之上:當AI能夠編碼時,開發者需要貢獻什麼-哪些技能真正重要

  4. 您在這裡- 解決方案


讓我們攜手共建。

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


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝21   💬3  
560
🥈
我愛JS
📝1   💬5   ❤️2
66
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付