Skip to content

控制面板

控制面板是一個 React 網頁應用程式,與機器人一同運行在 http://localhost:3000。它提供即時監控、群組管理、記憶體編輯器、知識庫和任務排程——無需碰觸任何命令列。

前置條件

控制面板的靜態資源必須在後端能夠提供服務之前先行建置。如果你看到空白頁面,請先執行 npm run build:dashboard。詳見建置與執行

首次登入

在瀏覽器導覽至 http://localhost:3000。你會看到登入畫面。輸入你在 .env 檔案中設定的 DASHBOARD_ACCESS_CODE 值。這會設定一個跨頁面重載持續存在的 Session Cookie。

如果 DASHBOARD_ACCESS_CODE 未設定,控制面板可在無需密碼的情況下存取。在 localhost 上尚可接受,但在公開可存取的部署環境中不得這樣使用。

新增群組

機器人在回應群組訊息之前,必須先完成群組註冊。有兩種方式可以註冊群組。

透過控制面板

  1. 前往概覽頁面。
  2. 點擊新增群組
  3. 貼上 Telegram 群組聊天 ID(一個負數,如 -1001234567890)。
如何取得群組聊天 ID

@userinfobot@getmyid_bot 加入你的群組並發送任意訊息。機器人會回覆聊天 ID。

  1. 為群組輸入一個顯示名稱。
  2. 點擊註冊

透過 Telegram

如果機器人已在群組中,你可以在群組內發送註冊指令來自動完成註冊。確切的指令語法請查看機器人的說明訊息。

TIP

當機器人已在群組中時,Telegram 方式較為快速。控制面板方式則適合在將機器人加入群組之前預先完成群組註冊。

設定群組

概覽頁面點擊任何已註冊的群組,即可開啟群組詳情檢視。在此你可以設定:

人設 (Persona)

從內建人設中選擇,或輸入自訂系統提示詞:

人設說明
專業 (Professional)正式、精確的回應,適合工作環境
創意 (Creative)富表達力且充滿想像力,非常適合腦力激盪
簡潔 (Concise)只給簡短回答——適合忙碌的群組
自訂 (Custom)輸入任何你想要的系統提示詞

自訂人設會寫入群組的 GEMINI.md 檔案(你也可以在記憶體工作室中直接編輯它)。

模型

為此特定群組覆寫預設的 Gemini 模型。當你希望某個群組使用較快的模型,另一個群組使用能力更強的模型時非常有用。

觸發名稱

為此群組覆寫 @名稱 的觸發詞。預設使用 .env 中全域設定的 ASSISTANT_NAME。這讓不同群組可以用不同的名稱呼叫機器人。

網路搜尋

切換此群組是否可使用網路搜尋工具。啟用後,機器人可以搜尋網路來回答有關時事的問題。

快速路徑 (Fast Path)

按群組切換直接 API 模式。啟用時,簡單的文字查詢會繞過容器,在毫秒內回應,而非需要等待幾秒。

WARNING

停用某個群組的快速路徑意味著所有查詢都會經過容器,每次回應需要 5–15 秒。只在群組確實需要基於容器的程式碼執行時才這樣做。

記憶體工作室 (Memory Studio)

記憶體工作室頁面提供一個 Monaco 編輯器(與 VS Code 中使用的同款編輯器),可直接編輯每個群組的 AI 情境檔案:

  • 系統提示詞(GEMINI.md — 塑造每次回應的指令和人設。編輯此檔案可賦予機器人專業知識或自訂個性。
  • 對話摘要 — 過去對話的壓縮摘要,作為情境傳入以減少 Token 使用量。

編輯方式:

  1. 點擊資料夾圖示以選擇群組。
  2. 選擇要編輯的檔案(系統提示詞或摘要)。
  3. 在編輯器中進行修改。
  4. 按下儲存

變更將在機器人收到該群組的下一則訊息時生效。

TIP

你可以在 GEMINI.md 中撰寫豐富的 Markdown 語法。加入標題、項目符號清單和程式碼區塊——Gemini 會將它們視為結構化指令來讀取。

知識庫 (Knowledge Base)

知識庫頁面讓你上傳文件到每個群組專屬的全文搜尋索引(由 SQLite FTS5 驅動)。

新增文件:

  1. 從下拉選單選擇群組。
  2. 點擊上傳文件並選擇 .txt.md.pdf 檔案。
  3. 文件會自動被切分並建立索引到資料庫中。

建立索引後,該群組的使用者可以查詢知識庫:

@Andy search the knowledge base for refund policy

機器人會取得最相關的文字片段,並使用它們來回答問題。

支援的檔案格式
格式說明
.txt純文字,直接建立索引
.mdMarkdown,以純文字方式建立索引
.pdf建立索引前先提取文字內容

TIP

為獲得最佳效果,請使用主題集中的文件,而非龐大的通用文件。一份 10 頁的產品手冊會比一份 500 頁的公司規範手冊產生更準確的結果。

排程任務 (Scheduled Tasks)

任務頁面讓你建立任務,依照排程執行 Gemini 提示詞,並將回應作為訊息傳送到指定群組。

建立任務

  1. 點擊新增任務
  2. 選擇目標群組。
  3. 撰寫提示詞(例如 Summarize the top tech news today and share it in a friendly tone.)。
  4. 使用自然語言或 cron 表達式設定排程。
  5. 點擊儲存

排程格式

text
every day at 8am
every Monday at 9:00
every weekday at 7:30am
every hour
text
0 8 * * *        # 每天早上 8:00
0 9 * * 1        # 每週一早上 9:00
*/30 * * * *     # 每 30 分鐘
text
in 30 minutes
tomorrow at noon
in 2 hours

時區很重要

排程任務依照 .env 檔案中 TZ 所設定的時區執行。請確認它與你的本地時間相符。詳見設定

監控任務

任務頁面顯示:

  • 每個執行中任務的下次執行時間
  • 上次執行時間和狀態(成功或錯誤)
  • 執行日誌 — 點擊任何任務即可查看其執行歷史記錄和機器人的輸出內容

任務可以隨時暫停、恢復或刪除,無需重啟機器人。

Released under the MIT License.