ai_co_discuss 0.2.80 → 0.2.82

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.
package/web/modern.js CHANGED
@@ -48148,7 +48148,10 @@ var hU = /*#__PURE__*/ XH({
48148
48148
  ]);
48149
48149
  };
48150
48150
  }
48151
- }, _J = 4e3, vJ = { antigravity_cli: "多步任务中,在关键转折处用一句话写出进展再继续。" }, yJ = ["data-identity", "data-face"], bJ = ["inert", "aria-hidden"], xJ = { class: "expert-card-identity" }, SJ = { class: "expert-card-names" }, CJ = {
48151
+ }, _J = 4e3, vJ = {
48152
+ antigravity_cli: "多步任务中,在关键转折处用一句话写出进展再继续。",
48153
+ api: "你读不到本地文件,相关内容以其他成员贴出的为准,不凭文件名猜测。缺信息时在回答里写明缺什么。"
48154
+ }, yJ = ["data-identity", "data-face"], bJ = ["inert", "aria-hidden"], xJ = { class: "expert-card-identity" }, SJ = { class: "expert-card-names" }, CJ = {
48152
48155
  key: 0,
48153
48156
  class: "expert-card-badge"
48154
48157
  }, wJ = ["title"], TJ = { class: "expert-card-facts" }, EJ = ["title"], DJ = {
@@ -48271,23 +48274,23 @@ var hU = /*#__PURE__*/ XH({
48271
48274
  Codex: "已实测:消息实时显示在已开窗口。",
48272
48275
  Gemini: "已实测:已开窗口需重启才显示后台发言。",
48273
48276
  Claude: "已实测:后台接管会分叉,原窗口看不到。"
48274
- }, T = Z(() => w[a.platform_of(n.name)] || ""), E = Z(() => g.value && n.session !== null && a.launch_can_bind_session(n.name, i.value.launch)), D = Z(() => !!(p.value.session_id || n.session?.trim())), O = Z(() => g.value && m.value.length > 0 && !(i.value.launch.relay && !i.value.launch.available)), ee = Z(() => n.mode === "online" ? `设置 ${n.name} 的参与方式` : `配置 ${n.name} 的启动方式`), k = Z(() => a.launch_model_state(n.name, i.value.launch)), te = Z(() => !!(g.value && k.value.supported)), ne = Z(() => te.value && me.value.length ? "补齐上方连接后,可在这里选择模型与思考强度。" : p.value.adapter ? "模型与思考强度在 App 原聊天中选择,本页不覆盖 App 设置。" : "先选择软件入口。支持启动参数的 CLI 可在这里设置模型与强度。"), re = Z(() => {
48275
- let e = k.value.efforts, t = {
48276
- low: "Low",
48277
- medium: "Medium",
48278
- high: "High",
48279
- xhigh: "Extra High",
48280
- max: "Max",
48281
- ultra: "Ultra"
48282
- };
48277
+ }, T = Z(() => w[a.platform_of(n.name)] || ""), E = Z(() => g.value && n.session !== null && a.launch_can_bind_session(n.name, i.value.launch)), D = Z(() => !!(p.value.session_id || n.session?.trim())), O = Z(() => g.value && m.value.length > 0 && !(i.value.launch.relay && !i.value.launch.available)), ee = Z(() => n.mode === "online" ? `设置 ${n.name} 的参与方式` : `配置 ${n.name} 的启动方式`), k = Z(() => a.launch_model_state(n.name, i.value.launch)), te = Z(() => !!(g.value && k.value.supported)), ne = Z(() => te.value && ge.value.length ? "补齐上方连接后,可在这里选择模型与思考强度。" : p.value.adapter ? "模型与思考强度在 App 原聊天中选择,本页不覆盖 App 设置。" : "先选择软件入口。支持启动参数的 CLI 可在这里设置模型与强度。"), re = {
48278
+ low: "Low",
48279
+ medium: "Medium",
48280
+ high: "High",
48281
+ xhigh: "Extra High",
48282
+ max: "Max",
48283
+ ultra: "Ultra"
48284
+ }, ie = Z(() => {
48285
+ let e = k.value.efforts;
48283
48286
  return e?.length ? [{
48284
48287
  label: "默认强度",
48285
48288
  value: ""
48286
48289
  }, ...e.map((e) => ({
48287
- label: t[e] || e,
48290
+ label: re[e] || e,
48288
48291
  value: e
48289
48292
  }))] : null;
48290
- }), ie = Z(() => re.value?.find((e) => e.value === (p.value.effort || ""))?.label || p.value.effort || (p.value.adapter === "antigravity_cli" ? "模型默认强度" : "默认强度")), A = Z(() => g.value && a.launch_can_set_access(n.name, i.value.launch)), j = Z(() => n.mode === "online" || g.value && p.value.adapter === "api"), ae = Z(() => g.value && p.value.adapter !== "api"), oe = Z(() => p.value.project_access || i.value.launch.workspace?.project_access || "read"), se = Z(() => n.mode === "online" ? "你转发回答 · 网页聊天" : n.mode === "manual" ? "你来启动 · 自主发言" : `程序启动 · ${D.value ? "续接会话" : p.value.adapter === "api" ? "调用 API" : "新会话"}`), ce = Z(() => n.mode === "online" ? "不可(网页只读)" : "不可(须本机唤醒)"), le = Z(() => [
48293
+ }), A = Z(() => p.value.adapter === "antigravity_cli" && p.value.model ? "" : k.value.defaults?.effort), j = Z(() => p.value.effort ? re[p.value.effort] || p.value.effort : A.value ? re[A.value] || A.value : p.value.adapter === "antigravity_cli" ? "模型默认强度" : "软件默认强度"), ae = Z(() => g.value && a.launch_can_set_access(n.name, i.value.launch)), oe = Z(() => n.mode === "online" || g.value && p.value.adapter === "api"), se = Z(() => g.value && p.value.adapter !== "api"), ce = Z(() => p.value.project_access || i.value.launch.workspace?.project_access || "read"), le = Z(() => n.mode === "online" ? "你转发回答 · 网页聊天" : n.mode === "manual" ? "你来启动 · 自主发言" : `程序启动 · ${D.value ? "续接会话" : p.value.adapter === "api" ? "调用 API" : "新会话"}`), ue = Z(() => n.mode === "online" ? "不可(网页只读)" : "不可(须本机唤醒)"), de = Z(() => [
48291
48294
  ...g.value ? [{
48292
48295
  label: "状态",
48293
48296
  value: n.status.text,
@@ -48295,7 +48298,7 @@ var hU = /*#__PURE__*/ XH({
48295
48298
  }] : [],
48296
48299
  {
48297
48300
  label: "启动",
48298
- value: se.value
48301
+ value: le.value
48299
48302
  },
48300
48303
  ...g.value ? [{
48301
48304
  label: "软件",
@@ -48303,24 +48306,24 @@ var hU = /*#__PURE__*/ XH({
48303
48306
  }] : [],
48304
48307
  ...te.value ? [{
48305
48308
  label: "模型",
48306
- value: p.value.model || "默认模型"
48309
+ value: p.value.model || k.value.defaults?.model || "软件默认模型"
48307
48310
  }] : [],
48308
48311
  ...te.value && p.value.adapter !== "api" ? [{
48309
48312
  label: "强度",
48310
- value: ie.value
48313
+ value: j.value
48311
48314
  }] : [],
48312
- ...A.value ? [{
48315
+ ...ae.value ? [{
48313
48316
  label: "项目",
48314
- value: oe.value === "write" ? "可写" : "只读"
48315
- }] : j.value ? [{
48317
+ value: ce.value === "write" ? "可写" : "只读"
48318
+ }] : oe.value ? [{
48316
48319
  label: "项目",
48317
48320
  value: "不访问"
48318
48321
  }] : [],
48319
48322
  ...n.hosting && !n.host && !n.hostable ? [{
48320
48323
  label: "主持",
48321
- value: ce.value
48324
+ value: ue.value
48322
48325
  }] : []
48323
- ]), ue = {
48326
+ ]), pe = {
48324
48327
  executable: {
48325
48328
  label: "路径",
48326
48329
  placeholder: "可执行文件完整路径"
@@ -48333,55 +48336,55 @@ var hU = /*#__PURE__*/ XH({
48333
48336
  label: "聊天",
48334
48337
  placeholder: "Codex App 来源聊天 ID"
48335
48338
  }
48336
- }, de = /* @__PURE__ */ F([]), pe = () => {
48339
+ }, me = /* @__PURE__ */ F([]), he = () => {
48337
48340
  let e = p.value.adapter;
48338
- return !ae.value || !e ? [] : (e === "antigravity" ? ["ipc_directory"] : e === "codex" ? ["executable", "source_thread_id"] : ["executable"]).filter((e) => !p.value[e]);
48339
- }, me = Z(() => ae.value ? [.../* @__PURE__ */ new Set([...de.value, ...pe()])].map((e) => ({
48341
+ return !se.value || !e ? [] : (e === "antigravity" ? ["ipc_directory"] : e === "codex" ? ["executable", "source_thread_id"] : ["executable"]).filter((e) => !p.value[e]);
48342
+ }, ge = Z(() => se.value ? [.../* @__PURE__ */ new Set([...me.value, ...he()])].map((e) => ({
48340
48343
  field: e,
48341
- ...ue[e]
48344
+ ...pe[e]
48342
48345
  })) : []);
48343
- function he() {
48346
+ function N() {
48344
48347
  Qn(() => {
48345
48348
  document.activeElement === c.value && (f.value ? u : l).value?.focus({ preventScroll: !0 });
48346
48349
  });
48347
48350
  }
48348
- function ge(e) {
48351
+ function _e(e) {
48349
48352
  let t = e >= aY / 2;
48350
- f.value !== t && (f.value = t, he());
48353
+ f.value !== t && (f.value = t, N());
48351
48354
  }
48352
- let N = o.on("change", ge), _e = o.on("animationComplete", he), ve = null, ye = "";
48353
- function be(e) {
48354
- (!e || O.value) && (c.value?.focus({ preventScroll: !0 }), de.value = e ? pe() : [], e && !d.value && (ve = {
48355
+ let ve = o.on("change", _e), ye = o.on("animationComplete", N), be = null, xe = "";
48356
+ function Se(e) {
48357
+ (!e || O.value) && (c.value?.focus({ preventScroll: !0 }), me.value = e ? he() : [], e && !d.value && (be = {
48355
48358
  profile: JSON.parse(JSON.stringify(p.value)),
48356
48359
  mode: n.mode
48357
- }, ye = n.session ?? ""), d.value = e);
48360
+ }, xe = n.session ?? ""), d.value = e);
48358
48361
  }
48359
- function xe() {
48360
- ve &&= (a.restore_launch_profile(n.name, ve.profile), ve.mode !== n.mode && r("mode", ve.mode), n.session !== null && n.session !== ye && r("session", ye), null), be(!1);
48362
+ function Ce() {
48363
+ be &&= (a.restore_launch_profile(n.name, be.profile), be.mode !== n.mode && r("mode", be.mode), n.session !== null && n.session !== xe && r("session", xe), null), Se(!1);
48361
48364
  }
48362
- let Se = Z(() => i.value && a.description_draft(n.name).trim()), Ce = /* @__PURE__ */ F(!1), we = Z(() => Se.value ? `描述:${Se.value}` : "添加描述:擅长什么、适合分到什么工作");
48363
- function Te({ text: e, as_template: t }) {
48364
- a.write_description_draft(n.name, e), t && a.save_description_template(n.name, e), Ce.value = !1;
48365
+ let we = Z(() => i.value && a.description_draft(n.name).trim()), Te = /* @__PURE__ */ F(!1), Ee = Z(() => we.value ? `描述:${we.value}` : "添加描述:擅长什么、适合分到什么工作");
48366
+ function De({ text: e, as_template: t }) {
48367
+ a.write_description_draft(n.name, e), t && a.save_description_template(n.name, e), Te.value = !1;
48365
48368
  }
48366
- let Ee = Z(() => vJ[p.value.adapter] || ""), De = Z(() => Object.hasOwn(p.value, "system_prompt")), Oe = Z(() => (De.value ? p.value.system_prompt : Ee.value).trim()), ke = Z(() => Oe.value ? `专属提示词(${De.value ? "自定义" : "软件预设"}):${Oe.value.split("\n")[0]}` : "专属提示词:未设置,点击添加"), Ae = /* @__PURE__ */ F(!1), je = /* @__PURE__ */ F(""), Me = Z(() => je.value.trim() !== Oe.value), Ne = Z(() => {
48367
- let e = je.value.trim();
48368
- return e ? e === Ee.value.trim() ? "与软件预设一致,预设更新时自动跟随" : Ee.value ? "已改写,不再跟随软件预设" : "只发给这位专家,Ctrl + Enter 保存" : Ee.value ? "留空:这位专家不使用预设,也没有专属提示词" : "留空表示不使用";
48369
- }), Pe = Z(() => Ee.value && je.value.trim() !== Ee.value.trim() ? {
48369
+ let Oe = Z(() => vJ[p.value.adapter] || ""), ke = Z(() => Object.hasOwn(p.value, "system_prompt")), Ae = Z(() => (ke.value ? p.value.system_prompt : Oe.value).trim()), je = Z(() => Ae.value ? `专属提示词(${ke.value ? "自定义" : "软件预设"}):${Ae.value.split("\n")[0]}` : "专属提示词:未设置,点击添加"), Me = /* @__PURE__ */ F(!1), Ne = /* @__PURE__ */ F(""), Pe = Z(() => Ne.value.trim() !== Ae.value), Fe = Z(() => {
48370
+ let e = Ne.value.trim();
48371
+ return e ? e === Oe.value.trim() ? "与软件预设一致,预设更新时自动跟随" : Oe.value ? "已改写,不再跟随软件预设" : "只发给这位专家,Ctrl + Enter 保存" : Oe.value ? "留空:这位专家不使用预设,也没有专属提示词" : "留空表示不使用";
48372
+ }), Ie = Z(() => Oe.value && Ne.value.trim() !== Oe.value.trim() ? {
48370
48373
  tag: "软件预设",
48371
- text: Ee.value,
48374
+ text: Oe.value,
48372
48375
  action: "恢复预设"
48373
48376
  } : null);
48374
- function Fe() {
48375
- je.value = Oe.value, Ae.value = !0;
48377
+ function Le() {
48378
+ Ne.value = Ae.value, Me.value = !0;
48376
48379
  }
48377
- function Ie() {
48378
- let e = je.value.trim();
48379
- a.write_launch(n.name, "system_prompt", e === Ee.value.trim() ? null : e), Ae.value = !1;
48380
+ function Re() {
48381
+ let e = Ne.value.trim();
48382
+ a.write_launch(n.name, "system_prompt", e === Oe.value.trim() ? null : e), Me.value = !1;
48380
48383
  }
48381
- function Le() {
48384
+ function ze() {
48382
48385
  a.write_launch(n.name, "model", ""), a.write_launch(n.name, "effort", "");
48383
48386
  }
48384
- function Re(e) {
48387
+ function Be(e) {
48385
48388
  let t = {
48386
48389
  ArrowLeft: -1,
48387
48390
  ArrowUp: -1,
@@ -48393,17 +48396,17 @@ var hU = /*#__PURE__*/ XH({
48393
48396
  let i = h.value, a = i.indexOf(n.mode), o = e.key === "Home" ? i[0] : e.key === "End" ? i.at(-1) : i[(a + t[e.key] + i.length) % i.length];
48394
48397
  r("mode", o), e.currentTarget.querySelector(`[data-mode="${o}"]`)?.focus();
48395
48398
  }
48396
- function ze(e) {
48397
- d.value && (e.stopPropagation(), e.preventDefault(), xe());
48399
+ function Ve(e) {
48400
+ d.value && (e.stopPropagation(), e.preventDefault(), Ce());
48398
48401
  }
48399
- function Be(e) {
48400
- Ae.value || Ce.value || c.value?.contains(e.target) || e.target.closest?.(oY) || be(!1);
48402
+ function He(e) {
48403
+ Me.value || Te.value || c.value?.contains(e.target) || e.target.closest?.(oY) || Se(!1);
48401
48404
  }
48402
48405
  return R(d, (e) => {
48403
- e ? document.addEventListener("pointerdown", Be, !0) : document.removeEventListener("pointerdown", Be, !0);
48406
+ e ? document.addEventListener("pointerdown", He, !0) : document.removeEventListener("pointerdown", He, !0);
48404
48407
  }), R([d, s], ([e, t]) => {
48405
48408
  let n = e ? aY : 0;
48406
- t ? (o.jump(n), he()) : o.set(n);
48409
+ t ? (o.jump(n), N()) : o.set(n);
48407
48410
  }), R(() => [
48408
48411
  te.value,
48409
48412
  i.value.launch.available,
@@ -48411,7 +48414,7 @@ var hU = /*#__PURE__*/ XH({
48411
48414
  ], ([e, t]) => {
48412
48415
  e && t && a.load_launch_models(n.name);
48413
48416
  }, { immediate: !0 }), ta(() => {
48414
- document.removeEventListener("pointerdown", Be, !0), N(), _e(), o.stop();
48417
+ document.removeEventListener("pointerdown", He, !0), ve(), ye(), o.stop();
48415
48418
  }), (t, n) => {
48416
48419
  let s = pA, d = sA, x = MA, S = bH, w = YV;
48417
48420
  return U(), W("div", {
@@ -48425,7 +48428,7 @@ var hU = /*#__PURE__*/ XH({
48425
48428
  "data-identity": I(a).identities[e.name]?.style,
48426
48429
  "data-face": f.value ? "back" : "front",
48427
48430
  tabindex: "-1",
48428
- onKeydown: fu(ze, ["esc"])
48431
+ onKeydown: fu(Ve, ["esc"])
48429
48432
  }, [
48430
48433
  q(I(bV).div, {
48431
48434
  class: "expert-card-turn",
@@ -48446,7 +48449,7 @@ var hU = /*#__PURE__*/ XH({
48446
48449
  }]),
48447
48450
  "aria-label": O.value ? ee.value : void 0,
48448
48451
  title: O.value ? "点击翻面设置" : void 0,
48449
- onClick: n[0] ||= (e) => be(!0)
48452
+ onClick: n[0] ||= (e) => Se(!0)
48450
48453
  }, {
48451
48454
  default: L(() => [
48452
48455
  K("span", xJ, [q(s, {
@@ -48460,11 +48463,11 @@ var hU = /*#__PURE__*/ XH({
48460
48463
  "text",
48461
48464
  "alt",
48462
48465
  "class"
48463
- ]), K("span", SJ, [K("span", null, [K("strong", null, P(e.name), 1), e.host ? (U(), W("span", CJ, "主持")) : Y("", !0)]), Se.value ? (U(), W("small", {
48466
+ ]), K("span", SJ, [K("span", null, [K("strong", null, P(e.name), 1), e.host ? (U(), W("span", CJ, "主持")) : Y("", !0)]), we.value ? (U(), W("small", {
48464
48467
  key: 0,
48465
- title: Se.value
48466
- }, P(Se.value), 9, wJ)) : Y("", !0)])]),
48467
- K("dl", TJ, [(U(!0), W(H, null, B(le.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", {
48468
+ title: we.value
48469
+ }, P(we.value), 9, wJ)) : Y("", !0)])]),
48470
+ K("dl", TJ, [(U(!0), W(H, null, B(de.value, (e) => (U(), W("div", { key: e.label }, [K("dt", null, P(e.label), 1), K("dd", {
48468
48471
  class: M(e.tone ? ["expert-card-status", `is-${e.tone}`] : ""),
48469
48472
  title: e.value
48470
48473
  }, [e.tone ? (U(), W("i", DJ)) : Y("", !0), J(P(e.value), 1)], 10, EJ)]))), 128))]),
@@ -48483,7 +48486,7 @@ var hU = /*#__PURE__*/ XH({
48483
48486
  class: "expert-card-modes expert-card-front-modes",
48484
48487
  role: "radiogroup",
48485
48488
  "aria-label": `${e.name} 启动方式`,
48486
- onKeydown: Re
48489
+ onKeydown: Be
48487
48490
  }, [(U(!0), W(H, null, B(h.value, (t) => (U(), W("button", {
48488
48491
  key: t,
48489
48492
  type: "button",
@@ -48497,10 +48500,10 @@ var hU = /*#__PURE__*/ XH({
48497
48500
  O.value ? Y("", !0) : (U(), W("button", {
48498
48501
  key: 0,
48499
48502
  type: "button",
48500
- class: M({ "is-set": Se.value }),
48503
+ class: M({ "is-set": we.value }),
48501
48504
  "aria-label": `编辑 ${e.name} 的描述`,
48502
- title: we.value,
48503
- onClick: n[1] ||= (e) => Ce.value = !0
48505
+ title: Ee.value,
48506
+ onClick: n[1] ||= (e) => Te.value = !0
48504
48507
  }, [q(d, { name: "i-lucide-user-pen" })], 10, PJ)),
48505
48508
  e.hostable ? (U(), W("button", {
48506
48509
  key: 1,
@@ -48524,24 +48527,24 @@ var hU = /*#__PURE__*/ XH({
48524
48527
  inert: !f.value,
48525
48528
  "aria-hidden": !f.value
48526
48529
  }, [K("div", RJ, [
48527
- K("div", zJ, [K("strong", null, [J(P(e.name), 1), K("span", null, "设置" + P(j.value ? " · 不访问项目" : ""), 1)]), K("span", BJ, [
48530
+ K("div", zJ, [K("strong", null, [J(P(e.name), 1), K("span", null, "设置" + P(oe.value ? " · 不访问项目" : ""), 1)]), K("span", BJ, [
48528
48531
  K("button", {
48529
48532
  type: "button",
48530
- class: M(["expert-card-back-tool", { "is-set": Se.value }]),
48533
+ class: M(["expert-card-back-tool", { "is-set": we.value }]),
48531
48534
  "aria-label": `编辑 ${e.name} 的描述`,
48532
- title: we.value,
48533
- onClick: n[4] ||= (e) => Ce.value = !0
48535
+ title: Ee.value,
48536
+ onClick: n[4] ||= (e) => Te.value = !0
48534
48537
  }, [q(d, { name: "i-lucide-user-pen" })], 10, VJ),
48535
48538
  p.value.adapter ? (U(), W("button", {
48536
48539
  key: 0,
48537
48540
  type: "button",
48538
48541
  class: M(["expert-card-back-tool", {
48539
- "is-set": Oe.value,
48540
- "is-own": De.value && Oe.value
48542
+ "is-set": Ae.value,
48543
+ "is-own": ke.value && Ae.value
48541
48544
  }]),
48542
- title: ke.value,
48545
+ title: je.value,
48543
48546
  "aria-label": `编辑 ${e.name} 的专属提示词`,
48544
- onClick: Fe
48547
+ onClick: Le
48545
48548
  }, [q(d, { name: "i-lucide-scroll-text" })], 10, HJ)) : Y("", !0),
48546
48549
  v.value ? (U(), G(x, {
48547
48550
  key: 1,
@@ -48579,7 +48582,7 @@ var hU = /*#__PURE__*/ XH({
48579
48582
  "items",
48580
48583
  "aria-label"
48581
48584
  ])])) : Y("", !0),
48582
- (U(!0), W(H, null, B(me.value, (t) => (U(), W("div", {
48585
+ (U(!0), W(H, null, B(ge.value, (t) => (U(), W("div", {
48583
48586
  key: t.field,
48584
48587
  class: "expert-card-field"
48585
48588
  }, [K("span", null, P(t.label), 1), q(w, {
@@ -48604,7 +48607,7 @@ var hU = /*#__PURE__*/ XH({
48604
48607
  "onUpdate:modelValue": n[6] ||= (e) => r("session", e)
48605
48608
  }, null, 8, ["model-value", "aria-label"])])) : Y("", !0),
48606
48609
  E.value && e.session.trim() && T.value ? (U(), W("p", KJ, P(T.value), 1)) : Y("", !0),
48607
- A.value ? (U(), W("div", qJ, [n[18] ||= K("span", null, "项目", -1), K("div", {
48610
+ ae.value ? (U(), W("div", qJ, [n[18] ||= K("span", null, "项目", -1), K("div", {
48608
48611
  class: "expert-card-modes",
48609
48612
  role: "radiogroup",
48610
48613
  "aria-label": `${e.name} 的项目文件权限`
@@ -48618,13 +48621,13 @@ var hU = /*#__PURE__*/ XH({
48618
48621
  key: t.value,
48619
48622
  type: "button",
48620
48623
  role: "radio",
48621
- "aria-checked": oe.value === t.value,
48624
+ "aria-checked": ce.value === t.value,
48622
48625
  onClick: (n) => I(a).write_launch(e.name, "project_access", t.value)
48623
48626
  }, P(t.label), 9, YJ)), 64))], 8, JJ)])) : Y("", !0),
48624
48627
  v.value ? (U(), G(yK, {
48625
48628
  key: 5,
48626
48629
  name: e.name
48627
- }, null, 8, ["name"])) : te.value && !me.value.length ? (U(), W(H, { key: 6 }, [
48630
+ }, null, 8, ["name"])) : te.value && !ge.value.length ? (U(), W(H, { key: 6 }, [
48628
48631
  K("div", XJ, [n[19] ||= K("span", null, "模型", -1), q(S, {
48629
48632
  "model-value": p.value.model || "__default__",
48630
48633
  items: k.value.items,
@@ -48644,9 +48647,9 @@ var hU = /*#__PURE__*/ XH({
48644
48647
  type: "button",
48645
48648
  onClick: n[8] ||= (t) => I(a).load_launch_models(e.name, !0)
48646
48649
  }, "重试")) : Y("", !0)])) : Y("", !0),
48647
- re.value ? (U(), W("div", QJ, [q(uJ, {
48650
+ ie.value ? (U(), W("div", QJ, [q(uJ, {
48648
48651
  caption: "强度",
48649
- items: re.value,
48652
+ items: ie.value,
48650
48653
  "model-value": p.value.effort || "",
48651
48654
  label: `${e.name} 的思考强度`,
48652
48655
  "onUpdate:modelValue": n[9] ||= (t) => I(a).write_launch(e.name, "effort", t)
@@ -48661,32 +48664,32 @@ var hU = /*#__PURE__*/ XH({
48661
48664
  title: "留空使用 CLI 默认值",
48662
48665
  "aria-label": `恢复 ${e.name} 的默认模型与强度`,
48663
48666
  disabled: !p.value.model && !p.value.effort,
48664
- onClick: Le
48667
+ onClick: ze
48665
48668
  }, "恢复默认", 8, eY)
48666
48669
  ], 64)) : (U(), W("p", tY, [q(d, { name: e.mode === "online" ? "i-lucide-globe" : "i-lucide-monitor" }, null, 8, ["name"]), J(P(ne.value), 1)]))
48667
48670
  ]), K("span", nY, [K("button", {
48668
48671
  type: "button",
48669
48672
  class: "expert-card-flip is-cancel",
48670
48673
  "aria-label": `放弃 ${e.name} 的修改`,
48671
- onClick: xe
48674
+ onClick: Ce
48672
48675
  }, "取消", 8, rY), K("button", {
48673
48676
  ref_key: "back_button",
48674
48677
  ref: u,
48675
48678
  type: "button",
48676
48679
  class: "expert-card-flip is-done",
48677
48680
  "aria-label": `保存并返回 ${e.name} 角色卡片`,
48678
- onClick: n[10] ||= (e) => be(!1)
48681
+ onClick: n[10] ||= (e) => Se(!1)
48679
48682
  }, [q(d, { name: "i-lucide-check" }), n[20] ||= J("完成", -1)], 8, iY)])], 8, LJ)) : Y("", !0)]),
48680
48683
  _: 1
48681
48684
  }, 8, ["style"]),
48682
48685
  q(gJ, {
48683
- open: Ce.value,
48684
- "onUpdate:open": n[11] ||= (e) => Ce.value = e,
48686
+ open: Te.value,
48687
+ "onUpdate:open": n[11] ||= (e) => Te.value = e,
48685
48688
  name: e.name,
48686
48689
  platform: I(a).platform_of(e.name),
48687
- text: Se.value,
48690
+ text: we.value,
48688
48691
  template: I(a).description_template(e.name),
48689
- onSave: Te
48692
+ onSave: De
48690
48693
  }, null, 8, [
48691
48694
  "open",
48692
48695
  "name",
@@ -48695,20 +48698,20 @@ var hU = /*#__PURE__*/ XH({
48695
48698
  "template"
48696
48699
  ]),
48697
48700
  q(mJ, {
48698
- open: Ae.value,
48699
- "onUpdate:open": n[12] ||= (e) => Ae.value = e,
48700
- draft: je.value,
48701
- "onUpdate:draft": n[13] ||= (e) => je.value = e,
48701
+ open: Me.value,
48702
+ "onUpdate:open": n[12] ||= (e) => Me.value = e,
48703
+ draft: Ne.value,
48704
+ "onUpdate:draft": n[13] ||= (e) => Ne.value = e,
48702
48705
  title: `${e.name} 的专属提示词`,
48703
48706
  description: "只发给这位专家,补充它的做法与偏好;不改变权限和技能规则。",
48704
48707
  label: `${e.name} 的专属提示词`,
48705
48708
  placeholder: "例如:回答先给结论,控制在三段以内。",
48706
48709
  max: I(_J),
48707
48710
  rows: 8,
48708
- note: Ne.value,
48709
- source: Pe.value,
48710
- changed: Me.value,
48711
- onSave: Ie
48711
+ note: Fe.value,
48712
+ source: Ie.value,
48713
+ changed: Pe.value,
48714
+ onSave: Re
48712
48715
  }, null, 8, [
48713
48716
  "open",
48714
48717
  "draft",
@@ -48722,7 +48725,7 @@ var hU = /*#__PURE__*/ XH({
48722
48725
  ], 42, yJ);
48723
48726
  };
48724
48727
  }
48725
- }, [["__scopeId", "data-v-18d3f253"]]), cY = ["aria-label"], lY = [
48728
+ }, [["__scopeId", "data-v-00e9d8df"]]), cY = ["aria-label"], lY = [
48726
48729
  "disabled",
48727
48730
  "title",
48728
48731
  "aria-label",
@@ -51142,10 +51145,10 @@ var hU = /*#__PURE__*/ XH({
51142
51145
  "aria-expanded",
51143
51146
  "onKeydown",
51144
51147
  "onClick"
51145
- ], hZ = { class: "channel-folder-name" }, gZ = { class: "channel-folder-actions" }, _Z = {
51148
+ ], hZ = { class: "channel-folder-name" }, gZ = {
51146
51149
  class: "channel-directory-count",
51147
51150
  "aria-hidden": "true"
51148
- }, vZ = ["data-drop-folder"], yZ = {
51151
+ }, _Z = { class: "channel-folder-actions" }, vZ = ["data-drop-folder"], yZ = {
51149
51152
  key: 0,
51150
51153
  class: "channel-directory-empty",
51151
51154
  role: "status"
@@ -51386,7 +51389,7 @@ var hU = /*#__PURE__*/ XH({
51386
51389
  ];
51387
51390
  }
51388
51391
  return (e, t) => {
51389
- let u = MA, _ = sA, v = CH, x = $V, S = sZ;
51392
+ let u = MA, _ = sA, v = $V, x = CH, S = sZ;
51390
51393
  return U(), W("div", cZ, [
51391
51394
  q(u, {
51392
51395
  label: "新建对话",
@@ -51402,7 +51405,19 @@ var hU = /*#__PURE__*/ XH({
51402
51405
  "aria-expanded": m.value,
51403
51406
  onClick: t[1] ||= (e) => m.value = !m.value
51404
51407
  }, [q(_, { name: m.value ? "i-lucide-chevron-down" : "i-lucide-chevron-right" }, null, 8, ["name"]), t[7] ||= J("协作房间", -1)], 8, uZ), K("div", dZ, [
51405
- q(v, {
51408
+ q(v, { text: "新建文件夹" }, {
51409
+ default: L(() => [q(u, {
51410
+ icon: "i-lucide-plus",
51411
+ color: "neutral",
51412
+ variant: "ghost",
51413
+ size: "xs",
51414
+ "aria-label": "新建文件夹",
51415
+ disabled: I(r).directory_pending.includes("create-folder"),
51416
+ onClick: t[2] ||= (e) => n("create-folder")
51417
+ }, null, 8, ["disabled"])]),
51418
+ _: 1
51419
+ }),
51420
+ q(x, {
51406
51421
  items: d.value,
51407
51422
  content: {
51408
51423
  align: "end",
@@ -51420,18 +51435,6 @@ var hU = /*#__PURE__*/ XH({
51420
51435
  })]),
51421
51436
  _: 1
51422
51437
  }, 8, ["items"]),
51423
- q(x, { text: "新建文件夹" }, {
51424
- default: L(() => [q(u, {
51425
- icon: "i-lucide-plus",
51426
- color: "neutral",
51427
- variant: "ghost",
51428
- size: "xs",
51429
- "aria-label": "新建文件夹",
51430
- disabled: I(r).directory_pending.includes("create-folder"),
51431
- onClick: t[2] ||= (e) => n("create-folder")
51432
- }, null, 8, ["disabled"])]),
51433
- _: 1
51434
- }),
51435
51438
  K("input", {
51436
51439
  ref_key: "import_input",
51437
51440
  ref: f,
@@ -51451,66 +51454,63 @@ var hU = /*#__PURE__*/ XH({
51451
51454
  }, [e.id ? (U(), W("div", {
51452
51455
  key: 0,
51453
51456
  class: M(["channel-folder-row", { active: h.value.has(e.id) && I(r).room?.folder_id === e.id }])
51457
+ }, [K("button", {
51458
+ class: "channel-folder-heading",
51459
+ "data-drop-folder": "",
51460
+ "data-drag-handle": "",
51461
+ type: "button",
51462
+ disabled: e.pending,
51463
+ "aria-label": `${e.name} ${e.rooms.length}`,
51464
+ "aria-expanded": !h.value.has(e.id),
51465
+ title: "拖动文件夹排序;上下方向键移动",
51466
+ onPointerdown: t[3] ||= (e) => !I(o) && I(i).start_drag(e),
51467
+ onKeydown: [fu(uu((t) => I(a)("move_folder", {
51468
+ id: e.order_id,
51469
+ direction: -1
51470
+ }), ["prevent"]), ["up"]), fu(uu((t) => I(a)("move_folder", {
51471
+ id: e.order_id,
51472
+ direction: 1
51473
+ }), ["prevent"]), ["down"])],
51474
+ onClick: (t) => y(e.id)
51454
51475
  }, [
51455
- K("button", {
51456
- class: "channel-folder-heading",
51457
- "data-drop-folder": "",
51458
- "data-drag-handle": "",
51459
- type: "button",
51460
- disabled: e.pending,
51461
- "aria-label": `${e.name} ${e.rooms.length}`,
51462
- "aria-expanded": !h.value.has(e.id),
51463
- title: "拖动文件夹排序;上下方向键移动",
51464
- onPointerdown: t[3] ||= (e) => !I(o) && I(i).start_drag(e),
51465
- onKeydown: [fu(uu((t) => I(a)("move_folder", {
51466
- id: e.order_id,
51467
- direction: -1
51468
- }), ["prevent"]), ["up"]), fu(uu((t) => I(a)("move_folder", {
51469
- id: e.order_id,
51470
- direction: 1
51471
- }), ["prevent"]), ["down"])],
51472
- onClick: (t) => y(e.id)
51473
- }, [
51474
- q(_, { name: h.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
51475
- q(_, { name: "i-lucide-folder" }),
51476
- K("span", hZ, P(e.name), 1)
51477
- ], 40, mZ),
51478
- K("div", gZ, [q(v, {
51479
- items: g(e, s),
51480
- content: {
51481
- align: "start",
51482
- side: "bottom",
51483
- sideOffset: 6
51484
- },
51485
- ui: { content: "channel-menu channel-topic-menu" }
51486
- }, {
51487
- default: L(() => [q(u, {
51488
- icon: "i-lucide-ellipsis",
51489
- "aria-label": `管理文件夹 ${e.name}`,
51490
- title: "文件夹选项",
51491
- size: "xs",
51492
- color: "neutral",
51493
- variant: "ghost"
51494
- }, null, 8, ["aria-label"])]),
51495
- _: 2
51496
- }, 1032, ["items"]), q(x, { text: `在${e.name}中新建对话` }, {
51497
- default: L(() => [q(u, {
51498
- icon: "i-lucide-square-pen",
51499
- "aria-label": `在${e.name}中新建对话`,
51500
- disabled: e.pending || I(r).directory_pending.includes("create-room"),
51501
- size: "xs",
51502
- color: "neutral",
51503
- variant: "ghost",
51504
- onClick: (t) => n("create", e.id ? e : null)
51505
- }, null, 8, [
51506
- "aria-label",
51507
- "disabled",
51508
- "onClick"
51509
- ])]),
51510
- _: 2
51511
- }, 1032, ["text"])]),
51512
- K("small", _Z, P(e.pending ? "保存中" : e.rooms.length), 1)
51513
- ], 2)) : Y("", !0), !e.id || !h.value.has(e.id) ? (U(), W("div", {
51476
+ q(_, { name: h.value.has(e.id) ? "i-lucide-chevron-right" : "i-lucide-chevron-down" }, null, 8, ["name"]),
51477
+ q(_, { name: "i-lucide-folder" }),
51478
+ K("span", hZ, P(e.name), 1),
51479
+ K("small", gZ, P(e.pending ? "保存中" : e.rooms.length), 1)
51480
+ ], 40, mZ), K("div", _Z, [q(v, { text: `在${e.name}中新建对话` }, {
51481
+ default: L(() => [q(u, {
51482
+ icon: "i-lucide-square-pen",
51483
+ "aria-label": `在${e.name}中新建对话`,
51484
+ disabled: e.pending || I(r).directory_pending.includes("create-room"),
51485
+ size: "xs",
51486
+ color: "neutral",
51487
+ variant: "ghost",
51488
+ onClick: (t) => n("create", e.id ? e : null)
51489
+ }, null, 8, [
51490
+ "aria-label",
51491
+ "disabled",
51492
+ "onClick"
51493
+ ])]),
51494
+ _: 2
51495
+ }, 1032, ["text"]), q(x, {
51496
+ items: g(e, s),
51497
+ content: {
51498
+ align: "start",
51499
+ side: "bottom",
51500
+ sideOffset: 6
51501
+ },
51502
+ ui: { content: "channel-menu channel-topic-menu" }
51503
+ }, {
51504
+ default: L(() => [q(u, {
51505
+ icon: "i-lucide-ellipsis",
51506
+ "aria-label": `管理文件夹 ${e.name}`,
51507
+ title: "文件夹选项",
51508
+ size: "xs",
51509
+ color: "neutral",
51510
+ variant: "ghost"
51511
+ }, null, 8, ["aria-label"])]),
51512
+ _: 2
51513
+ }, 1032, ["items"])])], 2)) : Y("", !0), !e.id || !h.value.has(e.id) ? (U(), W("div", {
51514
51514
  key: 1,
51515
51515
  class: M(e.id ? "channel-folder-rooms" : "channel-root-rooms"),
51516
51516
  "data-drop-folder": e.id ? void 0 : ""
@@ -51549,7 +51549,7 @@ var hU = /*#__PURE__*/ XH({
51549
51549
  onPointerdown: t[5] ||= (e) => !I(o) && I(i).start_drag(e),
51550
51550
  onClick: (e) => n("select", s.id)
51551
51551
  }, [K("span", null, P(s.title), 1)], 40, SZ),
51552
- K("div", CZ, [q(x, {
51552
+ K("div", CZ, [q(v, {
51553
51553
  text: s.archived ? "恢复房间" : "存档房间",
51554
51554
  ui: { content: "channel-topic-tooltip" }
51555
51555
  }, {
@@ -51571,7 +51571,7 @@ var hU = /*#__PURE__*/ XH({
51571
51571
  "onClick"
51572
51572
  ])]),
51573
51573
  _: 2
51574
- }, 1032, ["text"]), q(v, {
51574
+ }, 1032, ["text"]), q(x, {
51575
51575
  items: b(s, c, s.folder_id || null, e.rooms.length),
51576
51576
  content: {
51577
51577
  align: "start",
@@ -52065,16 +52065,12 @@ var hU = /*#__PURE__*/ XH({
52065
52065
  }, vQ = { class: "pb-heading" }, yQ = {
52066
52066
  key: 0,
52067
52067
  class: "pb-status-detail pb-held"
52068
- }, bQ = { class: "pb-member-body" }, xQ = { class: "pb-member-name" }, SQ = { class: "pb-member-body" }, CQ = { class: "pb-member-name" }, wQ = {
52068
+ }, bQ = { class: "pb-member-body" }, xQ = { class: "pb-member-name" }, SQ = { class: "pb-member-body" }, CQ = { class: "pb-member-name" }, wQ = ["title"], TQ = {
52069
52069
  key: 0,
52070
52070
  class: "pb-member-model",
52071
- title: "本场启动配置;默认模型与默认强度由对应软件决定"
52072
- }, TQ = {
52073
- key: 1,
52074
- class: "pb-member-model",
52075
52071
  title: "续接你已有的会话;它工作时请不要在原窗口继续操作"
52076
52072
  }, EQ = { key: 0 }, DQ = {
52077
- key: 3,
52073
+ key: 2,
52078
52074
  class: "pb-member-manual"
52079
52075
  }, OQ = { key: 0 }, kQ = ["onClick"], AQ = {
52080
52076
  key: 1,
@@ -52441,12 +52437,11 @@ var hU = /*#__PURE__*/ XH({
52441
52437
  name: "i-lucide-crown",
52442
52438
  title: "主持人"
52443
52439
  })) : Y("", !0),
52444
- K("small", null, P(e.is_host ? `主持 · ${e.mode}` : e.mode), 1)
52440
+ K("small", { title: e.model ? `${e.model}:卡片指定的模型与强度;未指定时读取软件自己的设置,读不到则写“软件默认”` : void 0 }, P([e.is_host ? `主持 · ${e.mode}` : e.mode, e.model].filter(Boolean).join(" · ")), 9, wQ)
52445
52441
  ]),
52446
- e.model ? (U(), W("div", wQ, P(e.model), 1)) : Y("", !0),
52447
52442
  pe(e.name)?.session_mode === "borrowed" ? (U(), W("div", TQ, "借用已有会话")) : Y("", !0),
52448
52443
  w.value ? Y("", !0) : (U(), W("div", {
52449
- key: 2,
52444
+ key: 1,
52450
52445
  class: M(["pb-member-status", `is-${e.tone}`])
52451
52446
  }, [
52452
52447
  c[27] ||= K("span", { class: "pb-dot" }, null, -1),
@@ -52732,7 +52727,7 @@ var hU = /*#__PURE__*/ XH({
52732
52727
  ], 2);
52733
52728
  };
52734
52729
  }
52735
- }, [["__scopeId", "data-v-a01e3534"]]), t$ = { class: "progress-panel-anchor" }, n$ = ["aria-expanded", "aria-label"], r$ = { class: "progress-chip-text" }, i$ = { class: "progress-chip-rounds" }, a$ = {
52730
+ }, [["__scopeId", "data-v-983f5b06"]]), t$ = { class: "progress-panel-anchor" }, n$ = ["aria-expanded", "aria-label"], r$ = { class: "progress-chip-text" }, i$ = { class: "progress-chip-rounds" }, a$ = {
52736
52731
  __name: "ProgressPanel",
52737
52732
  setup(e) {
52738
52733
  let { view: t, bridge: n } = xr("discussion"), r = /* @__PURE__ */ F(!1), i = Z(() => t.value.room), a = Z(() => i.value.limits || {}), o = Z(() => {
@@ -52897,11 +52892,8 @@ var hU = /*#__PURE__*/ XH({
52897
52892
  }, y$ = {
52898
52893
  class: "pb-section",
52899
52894
  "aria-label": "发言顺序"
52900
- }, b$ = { class: "pb-member-body" }, x$ = ["title"], S$ = {
52895
+ }, b$ = { class: "pb-member-body" }, x$ = ["title"], S$ = ["title"], C$ = {
52901
52896
  key: 0,
52902
- class: "pb-member-model"
52903
- }, C$ = {
52904
- key: 1,
52905
52897
  class: "pb-member-model",
52906
52898
  title: "它工作时请不要在原窗口继续操作"
52907
52899
  }, w$ = ["title"], T$ = {
@@ -53157,9 +53149,8 @@ var hU = /*#__PURE__*/ XH({
53157
53149
  name: "i-lucide-crown",
53158
53150
  title: "主持人"
53159
53151
  })) : Y("", !0),
53160
- K("small", null, P(t.role === "host" ? `主持 · ${s[t.access]}` : s[t.access]), 1)
53152
+ K("small", { title: v(t) || void 0 }, P([t.role === "host" ? `主持 · ${s[t.access]}` : s[t.access], v(t)].filter(Boolean).join(" · ")), 9, S$)
53161
53153
  ], 8, x$),
53162
- v(t) ? (U(), W("div", S$, P(v(t)), 1)) : Y("", !0),
53163
53154
  t.session_mode === "borrowed" ? (U(), W("div", C$, "借用已有会话")) : Y("", !0),
53164
53155
  K("div", { class: M(["pb-member-status", `is-${g(t)}`]) }, [i[9] ||= K("span", { class: "pb-dot" }, null, -1), K("span", {
53165
53156
  class: "pb-member-status-text",
@@ -53250,7 +53241,7 @@ var hU = /*#__PURE__*/ XH({
53250
53241
  ]);
53251
53242
  };
53252
53243
  }
53253
- }, [["__scopeId", "data-v-776a1930"]]), B$ = {
53244
+ }, [["__scopeId", "data-v-9ad0ee84"]]), B$ = {
53254
53245
  id: "channel-sidebar",
53255
53246
  class: "channel-sidebar",
53256
53247
  "aria-label": "房间导航"