Prompt Gen Desktop

Prompt Gen Desktop 是一款專為內容創作者打造的桌面提示詞管家。從靈感梳理、關鍵詞治理到版本發佈,全流程都能在幾分鐘內完成;就算離線也能繼續整理 Prompt 資產,並隨時導出備份與日誌。

GitHub:Prompt-Gen GitHub

核心亮點

  • 5 分鐘產出 Prompt:輸入場景後即可獲得結構化 Prompt,歷史記錄會自動追蹤,方便隨時複用。
  • 關鍵詞隨手調音:正向/負向關鍵詞支持拖拽排序、權重調整與模型推薦,調優過程完全可視化。
  • 版本管理不迷路:草稿自動保存,發佈後可回看最近版本並一鍵回滾,適合迭代式創作。
  • 離線也能信任:本地 SQLite 存儲與 JSON 備份讓數據牢牢掌握在自己手裏,導入導出只需一鍵。
  • 公共 Prompt 透明:公共 Prompt 的發佈與審核記錄都會同步展示,結合操作日誌與導入導出明細,團隊協作更放心。
  • 開箱體驗額度:在線模式內置 DeepSeek 免費體驗模型,為未配置憑據的新用户提供每日有限的解析/生成次數,超出後可隨時添加自有模型繼續創作。

界面預覽

深入解析:Prompt Gen Desktop 管理和迭代你的 Prompt!_JSON


深入解析:Prompt Gen Desktop 管理和迭代你的 Prompt!_離線_02


深入解析:Prompt Gen Desktop 管理和迭代你的 Prompt!_JSON_03


深入解析:Prompt Gen Desktop 管理和迭代你的 Prompt!_安裝包_04


深入解析:Prompt Gen Desktop 管理和迭代你的 Prompt!_安裝包_05

深入解析:Prompt Gen Desktop 管理和迭代你的 Prompt!_JSON_06

發佈形態

形態

説明

離線版本

已發佈的 Windows / macOS 安裝包存放於倉庫的 release/,內置後端服務與前端資源,安裝後即可在本地離線使用。推薦在環境變量中將 LOCAL_SQLITE_PATH 指向用户目錄,確保卸載時數據不會被清除。

在線版本

訪問 https://prompt.ab-in.cn/ 可進行輕度在線體驗;雲端部署計劃中的網絡版接口與控制枱仍在內部籌備階段,正式上線時間會在項目公告中另行通知。

發行包的默認配置面向離線體驗,在線部署請等待官方發佈的託管環境;若需自行體驗在線形態,可參照下文的開發者指引自行搭建服務端與前端。
如需將本項目用於二次開發或商業化,請先閲讀並遵守倉庫內的 LICENSE。所有衍生工作需保留版權聲明並遵守協議要求。

項目結構

.
├── backend/                  # Go HTTP 服務(cmd、internal、tests)
├── frontend/                 # Vite/React 前端源碼與構建腳本
├── main.js / preload.js      # Electron 主進程及預加載腳本
├── release/                  # 離線安裝包輸出目錄
├── docs/ · design/           # 設計與文檔資料
├── .env.example              # 統一環境變量模板
└── README.md                 # 當前文件

快速體驗(離線安裝包)

  1. 打開倉庫的 “Releases” 頁面,下載對應平台的最新安裝程序。
  2. 按安裝嚮導操作,默認會安裝到 %LOCALAPPDATA%\Programs\PromptGen(Windows)或 /Applications(macOS)。
  3. 安裝完成後即可直接啓動客户端。若需要長期保留數據,建議將 LOCAL_SQLITE_PATH 配置到個人目錄(如 ~/.promptgen/),避免因卸載而丟失數據庫和頭像。

托盤與關閉行為

  • 窗口關閉策略可自定義:在 Windows 等桌面系統中,首次點擊關閉按鈕會彈出自定義毛玻璃小窗,詢問“最小化到托盤”或“直接退出”,並支持“記住我的選擇”。該偏好會寫入用户數據目錄下的 promptgen-preferences.json,後續按所選策略執行。
  • 系統托盤入口:應用默認常駐托盤(任務欄右下角/菜單欄),雙擊或左鍵單擊托盤圖標即可重新喚起主窗口。
  • 托盤菜單快捷操作:右鍵托盤圖標可查看當前版本號、切換關閉策略、快速打開主界面或直接退出應用,方便在後台運行時管理實例狀態。
  • 後台提醒:首次最小化到托盤後會通過通知氣泡提示“應用已在後台運行”,防止用户誤以為程序退出。

開發者指南

下述步驟適用於希望克隆本倉庫並繼續迭代功能的開發者。請務必先閲讀 LICENSE 與 AGENTS.md 中的協作約定,確保貢獻方式與使用範圍符合協議。Prompt Gen Desktop 採用 Electron + Go + Vite/React 的一體化架構,下面提供給開發者的安裝調試指引。

⭐ 建議同時閲讀《開發與發佈流程指引》,其中涵蓋離線數據導出、版本號管理、scripts/deploy-online.sh 服務器部署等完整流程。

前提依賴

  • Node.js ≥ 18(建議使用與 .nvmrc 對齊的版本)
  • Go ≥ 1.24
  • pnpm / npm(任選其一,用於安裝前端依賴)
  • 可選:MySQL、Redis、Nacos,僅在在線模式或完整功能調試時需要

克隆與安裝

git clone https://github.com/AB-IN-lsy/Prompt-Gen
cd Prompt-Gen
# 安裝 Electron 主程與腳本依賴
npm install
# 安裝前端依賴
npm --prefix frontend install
# 同步 Go 依賴
go mod tidy

環境配置

  1. 複製 .env.example.env.local(可根據需要提交 .env)。
  2. 基本字段包括:APP_MODELOCAL_SQLITE_PATHJWT_SECRETMODEL_CREDENTIAL_MASTER_KEY(用於 AES-256-GCM 加密模型憑據,需填入 Base64 編碼的 32 字節密鑰)等。
  3. 若需調試在線模式,可補充 MySQL、Redis、Nacos 等連接參數;否則將 APP_MODE=local 即可在完全離線的 SQLite 環境中啓動。
  4. 前端同樣讀取根目錄 .env(.local) 中的 VITE_ 字段,例如 VITE_API_BASE_URLVITE_API_REQUEST_TIMEOUT_MS 等。
  5. 若需要部署到純 Web 環境,可在 .env 中設置 VITE_PUBLIC_BASE_PATH=/;打包桌面殼保持默認的 ./ 即可兼容 file:// 協議。
  6. 當前版本僅提供本地存儲加手動的 JSON 導入/導出備份能力,不再包含任何遠程同步功能。

詳細參數説明與約束請參考 backend/backend_README.mdfrontend/frontend_README.md

本地運行

# 啓動後端 HTTP 服務(默認 9090)
go run ./backend/cmd/server
# 啓動前端 Vite 開發服務器(默認 5173)
npm run dev:frontend
# 啓動 Electron 桌面殼(加載 Vite Dev URL)
npm start

提示:npm start 通過 scripts/start-electron.cjs 調用本地安裝的 Electron,可避免 Windows 上 'electron' 不是內部命令' 的報錯;首次運行請確保已執行 npm install

構建生產資源:

npm run build:frontend:web   # 生成部署 Web 的前端靜態文件(base=/)
npm run build:frontend       # 生成 Electron 殼使用的前端資產(保留相對路徑 base=./)
npm run prepare:offline      # 同時構建前端與後端二進制
npm run dist:win             # 生成 Windows 安裝包(macOS 對應 dist:mac)

質量檢查

# 前端靜態檢查
npm --prefix frontend run lint
npm --prefix frontend run build
# 後端測試套件
go test ./...
go test -tags=integration ./backend/tests/integration   # 需要真實依賴
go test -tags=e2e ./backend/tests/e2e                   # 命中線上接口時再運行

數據導出 / 導入

  • POST /api/prompts/export:導出當前用户的 Prompt,Electron 客户端會在“我的 Prompt”頁面提供按鈕並顯示導出路徑。
  • POST /api/prompts/import:上傳導出的 JSON 文件,可合併或覆蓋現有 Prompt;前端會展示導入統計以及失敗條目列表,便於逐項修復。

離線預置數據更新

  • 安裝包會隨帶 backend/data/bootstrap/ 下的 public_prompts.jsonchangelog_entries.json,空表啓動時後端子進程會自動導入這些預置數據。
  • 發佈前請執行:
go run ./backend/cmd/export-offline-data -output-dir backend/data/bootstrap

命令會使用 .env(.local) 中的線上數據庫配置導出最新公共 Prompt 與 changelog,並覆蓋目錄內 JSON。

  • 如需確認導入效果,可運行:
go run ./backend/cmd/offline-bootstrap -output ./release/assets/promptgen-offline.db

CLI 會根據 JSON 生成一個 SQLite 文件並打印條目統計;將 LOCAL_SQLITE_PATH 指向該文件或清空現有數據庫後重啓客户端即可驗證頁面展示。

  • 更新 JSON 後記得納入提交(.gitignore 已放行該目錄),再執行 npm run dist:win / npm run dist:mac 檢查安裝包內 resources/app/backend/data/bootstrap/ 是否包含最新文件。

常用腳本速查

命令

作用

npm run dev:frontend

啓動前端開發服務器

npm start

打開 Electron 客户端(開發模式)

npm run prepare:offline

構建離線包所需的前後端資源

npm run dist:win / npm run dist:mac

打包發佈版安裝程序

go run ./backend/cmd/server

啓動 Go API 服務

go test ./...

運行後端單元測試

貢獻與支持

  • 如有功能建議或缺陷反饋,請通過 Issue 進行描述,並附帶復現步驟或日誌。
  • Pull Request 應遵循倉庫現有的提交規範與編碼風格,重要改動需附上相應的測試或截圖。
  • 若計劃將本項目用於商業用途或深度定製,請提前閲讀許可證條款,必要時聯繫維護者獲取授權或協助。

許可證

本項目依據倉庫中的 LICENSE 發佈。使用、分發或再次開發時請遵守相關條款,並在文檔、產品頁面及二次發行包中保留原始版權聲明。