yunti-browser-runtime 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ const bridgeUrlEl = document.querySelector("#bridgeUrl")
3
3
  const bridgeTokenEl = document.querySelector("#bridgeToken")
4
4
  const platformMatchesEl = document.querySelector("#platformMatches")
5
5
  const advancedSettingsEl = document.querySelector("#advancedSettings")
6
+ const defaultBridgeUrl = "http://127.0.0.1:48887"
6
7
  document.querySelector("#save").addEventListener("click", save)
7
8
  document.querySelector("#refresh").addEventListener("click", refresh)
8
9
 
@@ -15,11 +16,7 @@ async function refresh() {
15
16
  return
16
17
  }
17
18
  renderSettings(state.settings || {})
18
- setStatus(
19
- state.activeSession
20
- ? `页面已连接\n${state.activeSession.title || state.activeSession.url}`
21
- : "默认无需设置。请打开或刷新任意 http/https 页面。"
22
- )
19
+ setStatus(statusText(state))
23
20
  }
24
21
 
25
22
  async function save() {
@@ -40,12 +37,26 @@ async function save() {
40
37
  }
41
38
 
42
39
  function renderSettings(settings) {
43
- bridgeUrlEl.value = settings.bridgeUrl || "http://127.0.0.1:48887"
40
+ bridgeUrlEl.value = settings.bridgeUrl || defaultBridgeUrl
44
41
  bridgeTokenEl.value = settings.bridgeToken || ""
45
- advancedSettingsEl.open = Boolean(settings.bridgeToken)
46
- platformMatchesEl.value = Array.isArray(settings.platformMatches)
47
- ? settings.platformMatches.join("\n")
48
- : "*"
42
+ const platformMatches = Array.isArray(settings.platformMatches)
43
+ ? settings.platformMatches
44
+ : ["*"]
45
+ advancedSettingsEl.open =
46
+ Boolean(settings.bridgeToken) ||
47
+ (settings.bridgeUrl && settings.bridgeUrl !== defaultBridgeUrl) ||
48
+ platformMatches.some((pattern) => pattern !== "*")
49
+ platformMatchesEl.value = platformMatches.join("\n")
50
+ }
51
+
52
+ function statusText(state) {
53
+ if (state.activeSession) {
54
+ return `页面已连接\n${state.activeSession.title || state.activeSession.url}`
55
+ }
56
+ if (!state.bridge?.ok) {
57
+ return "Bridge 未连接。请确认 Agent MCP 已启动,或运行 yunti-browser-runtime bridge。"
58
+ }
59
+ return "默认无需设置。打开或刷新任意 http/https 页面即可连接。"
49
60
  }
50
61
 
51
62
  function setStatus(text) {
@@ -300,6 +300,7 @@ function normalizeClientInfo(client) {
300
300
  const value = client && typeof client === "object" ? client : {}
301
301
  return {
302
302
  family: normalizeBrowserFamily(value.family || value.userAgent),
303
+ extensionVersion: String(value.extensionVersion || "").slice(0, 80),
303
304
  userAgent: String(value.userAgent || "").slice(0, 500),
304
305
  platform: String(value.platform || "").slice(0, 120),
305
306
  language: String(value.language || "").slice(0, 80),
@@ -308,6 +309,7 @@ function normalizeClientInfo(client) {
308
309
 
309
310
  function getBackgroundClientInfo() {
310
311
  return {
312
+ extensionVersion: chrome.runtime?.getManifest?.().version || "",
311
313
  userAgent: String(globalThis.navigator?.userAgent || ""),
312
314
  platform: String(globalThis.navigator?.platform || ""),
313
315
  language: String(globalThis.navigator?.language || ""),