跳至主要內容

VRHandsFrame Mod 與使用者擴充規範 (1.0.1)

簡介

透過在 Steam 創意工坊安裝官方 Mod,可以使用部分外部 API。 請自行取得 API 金鑰等認證資訊。


安裝 Mod 後,設定畫面側邊欄底部會顯示相應項目。 將滑動條設為 ON,即可使用 Mod 取代內建功能。 如果未顯示 Mods 項目,請重新啟動 VRHandsFrame 或 Steam 用戶端。

Mods Item


關於使用者擴充

如果想使用官方 Mod 不支援的 API,有以下兩種方法:

  • 新增描述 Extension Object 的新 json 檔案 (推薦)
  • 編輯官方的 user_extension.json 檔案

Extension Object 是用於定義使用者擴充的 API URL 端點、請求/回應參數等資訊的物件。 user_extension.json 是包含若干 Extension Object 範例的檔案。


檔案位置

從 Steam 創意工坊安裝 Mod 後,應用程式啟動時會在以下目錄產生所需的 user_extension.jsonmanifest.json 檔案:

  • 影像辨識用
../SteamLibrary/steamapp/common/VRHandsFrame/Mods/VisionBaseMod/
  • 翻譯用
../SteamLibrary/steamapp/common/VRHandsFrame/Mods/TranslationBaseMod/

請在此位置新增描述 Extension Object 的 json 檔案。 檔案名稱可以任意指定,但 Extension Object 中 "name" 鍵的值在每個 Mod 內必須唯一。

** 請勿刪除原有的 user_extension.jsonmanifest.json 檔案! 這些檔案是必需的。 **


Mod 使用準則

  • 請遵守 VRHandsFrame 軟體授權合約。 https://store.steampowered.com//eula/2324090_eula_0
  • 請勿以竊取其他使用者資料的方式使用。
  • 請勿用於任何託管服務的商業宣傳(如銷售 API 金鑰或訂閱)。
  • 使用他人建立的使用者擴充時,請注意確認其中沒有設定可疑的 URL。
  • VRHandsFrame 應用程式開發者(Eureka Works)在影像辨識和翻譯兩種 Mod 的使用過程中,均不會保存或檢視使用者的任何資料。
  • 關於資料處理,請留意各 API 服務的使用條款和隱私權政策。

Extension Object

name
required
string

擴充名稱

  • 會顯示在 VRHandsFrame 的設定選單中。
  • 名稱在每個 Mod 內必須唯一。 不得與其他 Extension Object 的名稱重複。
url
required
string

API 請求的目標 URL

required
Key (object)

作為 API 請求金鑰的認證資訊。

  • 可以在 VRHandsFrame 的設定選單中貼上或刪除。
  • 公開您的擴充設定時,請注意不要直接包含金鑰。
object

API 請求的可選 HTTP 標頭

required
Array of APIRequestObject (object) non-empty

API 請求所需的參數

  • 請求使用 HTTP POST 方法傳送。
  • 請注意這是包含多種參數元素的陣列物件。
required
APIResponseObject (object)

API 回應期望的參數

Example
{
  • "name": "OpenAI Vision Sample (gpt-4o-mini)",
  • "key": {
    • "type": "bearer",
    • "value": ""
    },
  • "headers": {
    • "Content-Type": "application/json"
    },
  • "request": [
    • {
      }
    ],
  • "response": {
    • "type": "json",
    • "jsonKey": "choices[0].message.content"
    }
}

API Request Object

type
required
string
Enum: "json" "form" "query"

參數類型

  • json : JSON 格式
  • form : HTTP POST 表單格式
  • query : HTTP URL 查詢參數格式

query 參數物件可與 JSON 或表單資料組合使用。 此時請作為陣列元素分別定義。

params
required
object

API 請求參數

請根據要使用的 API 的規格設定參數。 以下字串用作佔位符:

  • $image_png : 待辨識的 PNG 影像資料(Base64 編碼)
  • $image_jpg : 待辨識的 JPEG 影像資料(Base64 編碼)
  • $image_data : 與 $image_png 相同(為向後相容而保留)
Example
{
  • "type": "json",
  • "params": {
    • "image": "$image_png"
    }
}

API Response Object

type
required
string
Value: "json"
jsonKey
required
string

存放要接收的文字資訊的 Json 鍵

Example
{
  • "type": "json",
  • "jsonKey": "choices[0].message.content"
}

user_extension.json

description
required
string

Mod 名稱

version
required
string

Mod 版本

required
Array of ExtensionObject (object) >= 0 items

使用者擴充定義

Example
{
  • "description": "Vision User Extension",
  • "version": "1.0.1",
  • "extensions": [
    • {
      }
    ]
}