Skip to content

Latest commit

 

History

History
80 lines (59 loc) · 4.48 KB

File metadata and controls

80 lines (59 loc) · 4.48 KB

Chatmery 專案進度

供快速掌握現況與後續可做項目;可隨開發更新。


專案概述

  • 定位:對話外殼(Web)+ 記憶系統(背版 + archival),Go 實作,預設為小模型(約 4B)設計。
  • 優先級:① 上網檢索 ② 寫文檔/紀錄討論。

已完成

項目 說明
背版 SOUL.md、MEMORY.md 載入與注入;靈魂置於 prompt 最前
四池一魂 短期(200)→濃縮 50 進長期;長期(100)→濃縮 5 進核心;核心(20)→濃縮 1 進靈魂;靈魂 SOUL.md 融合重寫;答覆注入 當前1+靈魂1+核心2+長期3+短期5
近期對話上下文 最近 10 輪「使用者→助手」一併送入模型,避免雞同鴨講
網搜 Brave / Tavily、關鍵字萃取、結果注入;上網開關(每則都搜)
讀檔 「讀/讀取 路徑」、路徑不鎖工作區、~ 與引號支援
讀檔格式 PDF、.txt、.md、.docx、.xlsx、.odt、.ods(單檔約 28000 字上限)
讀取網頁 訊息含 URL +「讀取網頁」等關鍵字或幾乎只有網址時,抓取頁面正文並注入附檔內容
寫檔 「寫/寫入 路徑 內容」、限工作區內、自動建目錄
設定 .env、chatmery.tuning(可調模型、記憶條數、提煉門檻等)
聊天後端 預設 Ollama;可設 CHATMERY_PROVIDER=openaigemini + 對應 API key 改用雲端 API(按量計費、可省 context)
Web 殼 cmd/chatmery-web:GET /chatmery/、POST /chatmery/api/chat(SSE)、GET api/model,web/ 靜態檔,CHATMERY_WEB_PORT(預設 1721)

與奇點對接(sw.ygggt.com/chatmery)

  • 奇點專案/home/tanger/Projects/singularity_world(Go + web/ 靜態檔、WebSocket、port 1721 → https://sw.ygggt.com)
  • Chatmery Web 路徑sw.ygggt.com/chatmery — 同域下掛 Chatmery 的 Web 殼(Go 提供 API + 單頁,手機可用),為之後接回奇點的第一步靠攏。
  • 接回方式(擇一):① Reverse proxy 將 /chatmery 轉發至 Chatmery 獨立 process;② 奇點 main 掛 http.Handle("/chatmery/", chatmeryHandler),Chatmery 以 library 或子服務提供 handler。
  • 架構對齊:與奇點相同 — Go 後端 + 靜態前端(embed 或 web/),無 Node/React;Chatmery 提供 POST /chatmery/api/chat(SSE 串流)與 GET /chatmery/(單頁)。

未完成/可擴充

項目 說明
讀圖 圖片(.jpg、.png 等)目前不支援;可選:OCR(如 Tesseract)或視覺模型(Ollama 多模態/外部 API)
搜尋後端 已支援 Brave、Tavily(需 API key)。DuckDuckGo 未實作,可選擴充(通常需 scraper)
記憶服務化 internal/memory 可抽出為獨立 HTTP API,供遊戲或 OpenClaw 呼叫

模組一覽

路徑 職責
cmd/chatmery-web Web 殼:/chatmery 靜態檔、/chatmery/api/chat(SSE),同 config/memory/llm/search
web/ Chatmery Web UI:index.html、style.css、main.js(沿用奇點配色與 viewport,手機可用)
internal/config 環境變數與路徑(WORKSPACE、搜尋、embed 等)
internal/memory 背版、四池(tiers:short_term / long_term / core / current)、靈魂 SOUL.md、關鍵字檢索
internal/search 關鍵字萃取、Brave / Tavily API
internal/llm 聊天 Provider 抽象(Ollama / OpenAI 相容 / Gemini)、ChatStream、Generate
internal/embedding 向量 embed Web API(OpenAI 相容 / Gemini);實作 memory.Embedder
internal/ollama Ollama API 實作、本機 embedding
internal/document 讀檔擷取(PDF、txt、md、docx、xlsx、odt、ods)

文檔索引


專案進度 — 可隨開發更新此檔