NETEON // BUILD P0 · Mac mini HUB · IMPLEMENTATION SPEC LOCKED
P0 實作架構 · IMPLEMENTATION SPEC

Mac mini Hub 實作藍圖
agentmemory × DeepSeek V4 Flash × Tailscale

這是把 P0 定案後的實際落地藍圖:一台 Mac mini 跑 agentmemory hub,OpenRouter 上的 DeepSeek V4 Flash 當過濾/加速/routing 引擎,Tailscale 讓全公司異地連入。搭配的 Claude Code build prompt 會照這張藍圖一次把主機 build 完。

主機
Mac mini(launchd 常駐)
LLM 引擎
deepseek/deepseek-v4-flash
連線
Tailscale 私網
建置方式
Claude Code 一次 build
00

怎麼用這份東西

HOW TO USE

你會拿到兩個檔案:這份 HTML(給人看的架構藍圖)+ 一份 claude-code-build-prompt.md(給 Claude Code 執行的建置指令)。

一次 build 完主機

在這台 Mac mini 上打開 Claude Code,把 claude-code-build-prompt.md 裡「PROMPT 開始/結束」之間的內容整段貼進去執行。它會逐步安裝、設定、常駐化、測試,並在需要時互動式向你要 OpenRouter key。

claude-code-build-prompt.md
▍我幫你補齊的項目

你的基本想法之外,這版加了:繁中斷詞(否則中文檢索退化)、DeepSeek V4 Pro 當 fallback每日自動備份launchd KeepAlive(掛掉自動重拉)、治理閘門規則(把「資料過濾」變成可執行規則)、以及 Tailscale ACL 建議(網路層先擋一道)。

01

最終資料流

FINAL DATA FLOW
SRC
知識現場
Email/簡報/會議記錄
HERMES
擷取代理
排程讀入原文
DEEPSEEK V4 FLASH
抽取+分類
結構化事實/PII/信心/分級
GATE
治理閘門
你的政策:擋/降級/寫入
HUB · Mac mini
agentmemory
共享命名空間 :3111
↑ 全公司 agent 經 Tailscale 讀取共享知識 · DeepSeek V4 Flash 同時負責 agentmemory 內部的壓縮/摘要與 routing

同一顆 DeepSeek V4 Flash 身兼三職:擷取代理的事實抽取、治理閘門的分類(PII/信心/機密級)、以及 agentmemory 內部的記憶壓縮與 routing。便宜(約 US$0.09/0.18 每百萬 token)又快,正好扛高量。

02

DeepSeek V4 Flash:過濾與 routing 引擎

THE LLM WORKHORSE
項目設定
主模型 slugdeepseek/deepseek-v4-flash
Fallback slugdeepseek/deepseek-v4-pro
端點https://openrouter.ai/api/v1/chat/completions
Context1M token(可整份會議記錄一次餵)
價格(約)US$0.09 / M 輸入 · US$0.18 / M 輸出
能力tool use、function calling、結構化輸出、thinking/non-thinking
在本系統的三個角色擷取抽取 · 治理分類 · agentmemory 內部壓縮/routing
▍模型變數名要在 build 時確認

agentmemory 為 pre-1.0,指定「OpenRouter 用哪個模型」的環境變數名(OPENROUTER_MODEL 之類)未必固定。build prompt 已指示 Claude Code 先用 agentmemory doctor/README/原始碼確認正確變數名,再把值設為 deepseek/deepseek-v4-flash——不臆測、不寫錯。

03

安裝與 launchd 常駐

INSTALL & KEEPALIVE

核心安裝就三行;關鍵是別漏繁中斷詞,以及用 launchd 讓 hub 開機自啟、掛掉自動重拉。

install(Claude Code 會逐步跑並驗證)
npm install -g @agentmemory/agentmemory \
  @xenova/transformers \          # 本地 embedding(免費/離線)
  @node-rs/jieba tiny-segmenter   # 繁中斷詞(不裝=中文檢索退化)

agentmemory doctor   # 確認 iii-engine v0.11.2、embedding、team 設定
~/Library/LaunchAgents/net.neteon.agentmemory.plist
<dict>
  <key>Label</key><string>net.neteon.agentmemory</string>
  <key>ProgramArguments</key>
  <array><string>AGENTMEMORY_BIN</string></array>
  <key>RunAtLoad</key><true/>
  <key>KeepAlive</key><true/>       # 掛掉自動重拉
  <key>StandardOutPath</key><string>.../logs/hub.log</string>
</dict>
▍你既有的 Mac mini 設定沿用

pmset 關睡眠 + launchd 常駐 = 這台機器 24/7 撐住 hub。tmux 仍可用來手動觀察,但正式服務交給 launchd 比較穩。

04

Tailscale 私網 + 各端接入

NETWORK & ACCESS

全公司裝 Tailscale,hub 只在 tailnet 內可達,公網零曝露。每位同事在自己 agent 的 MCP 設定貼一段、帶自己的 USER_ID 即可。

各 agent 通用 · mcpServers
{
  "mcpServers": {
    "agentmemory": {
      "command": "npx",
      "args": ["-y", "@agentmemory/mcp"],
      "env": {
        "AGENTMEMORY_URL": "http://<hub>.<tailnet>.ts.net:3111",
        "AGENTMEMORY_SECRET": "<hub secret,私下發>",
        "USER_ID": "hubert"
      }
    }
  }
}

Claude Code

  • /plugin install agentmemory 或直接用上面區塊。
  • AGENTMEMORY_URL 指向 hub。

OpenClaw

  • 併入 MCP 設定;或複製 integrations/openclaw 深整合。

Hermes

  • config.yamlmemory.provider: agentmemory
  • 它同時是擷取代理(見 §05)。
▍loopback-only

viewer(:3113)與 iii console(:3114無驗證)永遠留在 127.0.0.1,要看走 SSH tunnel 或 tailnet,別對外。

05

Hermes 擷取代理 + 治理閘門

INGESTION & GOVERNANCE

擷取代理讀入商業文字,交 DeepSeek V4 Flash 抽成結構化事實並分類,再過治理閘門,通過者才寫入 hub。抽取提示與治理規則都會被 build 成實體檔案。

extract.prompt.md · DeepSeek 抽取系統提示
# 角色:Neteon 知識擷取器
只抽「對公司有長期價值」的事實:決策、夥伴關係與層級、報價與條件、
產品規格、負責人、時程里程碑、客戶需求。略過寒暄與行程協調。

# 輸出:只回一個 JSON 陣列,每筆:
{ content: 單一可獨立理解的繁中事實,
  source: 來源出處,
  dept: sales|ops|eng|exec|marketing|support,
  confidentiality: public|internal|restricted,
  confidence: 0.0–1.0,
  contains_pii: true|false }
governance-rules.md · 治理閘門(逐條檢查,不過就擋)
1. 無 source → 丟棄
2. 無 dept 標籤 → 丟棄
3. confidence < 0.6 → 丟棄(寧缺勿濫)
4. contains_pii == true → 丟棄,記「已擋 PII」
5. confidentiality:
     public / internal → 寫入 neteon-shared
     restricted        → 不進共享池,轉待人工覆核佇列
6. content 須單一、可獨立理解 → 否則退回重抽
7. 24h 內同 hash 已寫過 → 略過(去重、省 API)
▍機制 vs 政策

去識別、去重、稽核、來源追溯這些機制由 agentmemory/DeepSeek 做掉;但「什麼能進共享池、誰能寫、機密怎麼分級」這些政策永遠是你定的——就寫在 governance-rules.md 裡,日後直接改這個檔即可調整。

▍先手動、再自動

build 完先手動跑幾份真實文件,確認抽取品質與閘門判斷合理,再把 extract.mjs 交給 Hermes cron 排程。別一開始就全自動。

06

備份與運維

OPS

備份

  • 每日 03:00 launchd 跑 backup.sh:rsync ~/.agentmemorybackups/
  • 保留最近 14 份;建議再加一份異地(NAS/雲)。
  • 每季做一次「還原演練」,確認備份真能救。

健康與治理

  • launchd KeepAlive 自動重拉;hub.log 排錯。
  • SNAPSHOT_ENABLED=true:git 版本化快照,可回滾。
  • 治理工具:memory_auditmemory_verifymemory_governance_delete
  • iii-engine 鎖 v0.11.2,升級走 staging,別盲升。
07

build 完之後的動作

AFTER THE BUILD
  1. 驗收 build 報告:Claude Code 會列出 hub tailnet URL、同事設定區塊、Tailscale ACL 建議、產生的檔案清單。逐項確認。
  2. 加 Tailscale ACL:照建議片段,把 :3111 限定給團隊裝置。
  3. 接第一個知識源:拿幾份真實會議記錄,手動跑 extract.mjs,檢查抽取+閘門判斷。
  4. 找 3–5 人試點:把他們的 Claude Code/OpenClaw/Hermes 指向 hub,觀察多人寫入的隔離與矛盾處理。
  5. 治理政策成文:依部門/機密級調整 governance-rules.md,再放大到全公司。