@oharness/server 0.11.0 → 0.14.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.
package/dist/i18n.js CHANGED
@@ -123,7 +123,8 @@ export const STRINGS = {
123
123
  "add.skills": "Skills",
124
124
  "add.back": "Back",
125
125
  "add.browse": "Browse more",
126
- "add.browseAll": "Browse connectors",
126
+ "add.browseAll.connectors": "Browse connectors",
127
+ "add.browseAll.plugins": "Browse plugins",
127
128
  "add.manage": "Manage all",
128
129
  "add.andMore": "{n} more in Manage",
129
130
  "cmd.model": "Switch the model for this session",
@@ -211,9 +212,51 @@ export const STRINGS = {
211
212
  "market.loading": "Loading…",
212
213
  "market.empty": "Nothing here yet.",
213
214
  "market.connectorsNote": "MCP servers. Adding one starts it now and keeps it for next time.",
214
- "market.pluginsNote": "Resource bundles and explicitly configured runtime plugins. Claude Code bundles contribute skills and agents only. Runtime code is trusted, and configuration changes take effect after restarting.",
215
+ "market.pluginsNote": "Bundles of skills, agents and connectors. Installing one downloads it from its publisher's GitHub at a reviewed commit and makes it available right away; its hooks are not run.",
216
+ "market.install": "Install",
217
+ "market.installing": "Installing…",
218
+ "market.confirm": "Install now",
219
+ "market.cancel": "Cancel",
220
+ "market.consent": "Downloads {publisher}'s plugin from GitHub and adds its skills and agents.",
221
+ "market.consentServers": "Downloads {publisher}'s plugin from GitHub and connects {servers}.",
222
+ "market.installedNotice": "Installed {name}.",
223
+ "market.skills": "{n} skills",
224
+ "market.oneSkill": "1 skill",
225
+ "market.agents": "{n} agents",
226
+ "market.oneAgent": "1 agent",
227
+ "market.servers": "{n} connectors",
228
+ "market.oneServer": "1 connector",
229
+ "market.cat.local": "Runs on this machine",
230
+ "market.tab.import": "Import",
231
+ "market.import": "Import",
232
+ "market.importing": "Importing…",
233
+ "market.importsNote": "Their skills, agents and plugins are read as they are and already work here. Connectors start processes and often hold keys, so each one starts only when you import it.",
234
+ "market.fromConfig": "Connectors in their settings",
235
+ "market.fromPlugins": "Connectors inside their plugins",
236
+ "market.allImported": "Everything from Claude Code and Codex has been imported.",
237
+ "market.scope.inPlugin": "In the {name} plugin",
238
+ "market.scope.user": "Everywhere",
239
+ "market.scope.local": "This project, on this machine",
240
+ "market.scope.project": "This project's .mcp.json",
241
+ "market.reason.sse": "Uses the older SSE transport, which OHarness doesn't support",
242
+ "market.reason.user-config": "Needs settings Claude Code asks for when its plugin is turned on",
243
+ "market.reason.placeholder": "Uses a variable OHarness can't fill in",
244
+ "market.reason.malformed": "This entry couldn't be read",
245
+ "market.inlineSecret": "Importing it copies the key written in its config.",
246
+ "market.disable": "Turn off",
247
+ "market.enable": "Turn on",
248
+ "market.off": "off",
249
+ "market.cat.build": "Build & deploy",
250
+ "market.cat.data": "Databases & data",
251
+ "market.cat.monitor": "Analytics & monitoring",
252
+ "market.cat.dev": "Developer tools",
253
+ "market.cat.web": "Search & web data",
254
+ "market.cat.design": "Design & media",
255
+ "market.cat.work": "Work & business",
256
+ "market.cat.other": "More",
215
257
  "market.skillsNote": "Instructions the model loads when a task matches one. Naming a skill with @ in a message is how to ask for it directly, rather than leaving the choice to the description.",
216
258
  "add.noConnectors": "No connectors configured",
259
+ "add.importFrom": "Import from Claude Code and Codex",
217
260
  "add.noPlugins": "No plugins installed",
218
261
  "add.noSkills": "No skills available",
219
262
  "add.more": "Keep typing to narrow this down",
@@ -844,6 +887,10 @@ export const STRINGS = {
844
887
  "turn.copied": "Copied",
845
888
  "work.thinking": "Thinking",
846
889
  "tasks.title": "Background tasks",
890
+ "tasks.expand": "Expand background tasks",
891
+ "tasks.collapse": "Collapse background tasks",
892
+ "tasks.liveCount": "{n} active",
893
+ "tasks.older": "Show {n} earlier",
847
894
  "tasks.cardTitle": "Background tasks ended",
848
895
  "tasks.status.queued": "Queued",
849
896
  "tasks.status.running": "Running",
@@ -1001,6 +1048,7 @@ export const STRINGS = {
1001
1048
  "memory.backupReason.conflict-cloud": "Cloud version set aside in a conflict",
1002
1049
  "memory.backupReason.auto-merge": "Before an automatic merge",
1003
1050
  "memory.backupReason.consolidate": "Before consolidation",
1051
+ "memory.backupReason.dream": "Before a dream changed it",
1004
1052
  "memory.aboutStorage": "Where notes are stored",
1005
1053
  "memory.err.configInvalid": "Memory sync settings are invalid, so sync has stopped.",
1006
1054
  "memory.err.stopped": "Memory sync has stopped.",
@@ -1098,6 +1146,103 @@ export const STRINGS = {
1098
1146
  "memory.mergeApply": "Apply merge",
1099
1147
  "memory.mergeCancel": "Cancel",
1100
1148
  "memory.mergeConfirm": "Apply this merge? The originals are backed up and links to removed notes will point to the kept one. With cloud sync on, notes are synced first and the merge goes to the cloud before this machine.",
1149
+ "memory.dreamed": "While you were away, dreaming updated your notes: {list}",
1150
+ "memory.dream.now": "Dream now",
1151
+ "memory.dream.running": "Dreaming…",
1152
+ "memory.dream.applyOne": "Apply",
1153
+ "memory.dream.dismiss": "Dismiss",
1154
+ "memory.dream.undo": "Undo",
1155
+ "memory.dream.undone": "Undone",
1156
+ "memory.dream.scope.project": "This project",
1157
+ "memory.dream.scope.user": "About you",
1158
+ "memory.dream.op.create": "New note",
1159
+ "memory.dream.op.update": "Revise",
1160
+ "memory.dream.op.merge": "Merge",
1161
+ "memory.dream.op.stale": "May be out of date",
1162
+ "memory.dream.op.conflict": "Contradicted",
1163
+ "memory.dream.why.inferred-once": "Inferred from one conversation",
1164
+ "memory.dream.why.user-scope-inference": "An inference about you, from project work",
1165
+ "memory.dream.why.stale": "Lapsed notes are never rewritten on their own",
1166
+ "memory.dream.why.conflict": "Nobody said which one replaces the other",
1167
+ "memory.dream.why.hand-edited": "You edited this note since a dream last did",
1168
+ "memory.dream.why.one-conversation": "A new note from one conversation, not said to last",
1169
+ "memory.dream.before": "Was",
1170
+ "memory.dream.after": "Now",
1171
+ "memory.dream.proposed": "Proposed",
1172
+ "memory.dream.evidence": "Evidence",
1173
+ "memory.dream.kind.stated": "you said",
1174
+ "memory.dream.kind.confirmed": "you agreed",
1175
+ "memory.dream.kind.inferred": "inferred",
1176
+ "dream.title": "Dreaming",
1177
+ "dream.open": "Open",
1178
+ "dream.auto": "Automatic",
1179
+ "dream.autoDaily": "Automatic · at most once a day",
1180
+ "dream.manual": "Only when you dream now",
1181
+ "dream.waitingCount": "{n} suggestions wait for you",
1182
+ "dream.monthSpend": "This month: {tokens} tokens · {cost}",
1183
+ "dream.settingsHint": "Keeps your notes current from your conversations, in the background. See what it changed, what it suggests, and what it cost.",
1184
+ "dream.off": "Dreaming is switched off, or memory is.",
1185
+ "dream.next.manual": "Runs only when you press Dream now.",
1186
+ "dream.next.doneToday": "dreamed today; next tomorrow",
1187
+ "dream.next.nothing": "nothing waiting",
1188
+ "dream.next.due": "dreams at the next check",
1189
+ "dream.next.gathering": "{n} of {min} gathered, or in {hours} h",
1190
+ "dream.metric.applied": "Applied this month",
1191
+ "dream.metric.undone": "{n} undone",
1192
+ "dream.metric.waiting": "Waiting for you",
1193
+ "dream.metric.suggestions": "suggestions",
1194
+ "dream.metric.spent": "Tokens this month",
1195
+ "dream.metric.cost": "{cost} · all projects",
1196
+ "dream.metric.runs": "Runs this month",
1197
+ "dream.metric.read": "Conversations read: {n}",
1198
+ "dream.budgetToday": "Today: {used} of {limit} tokens",
1199
+ "dream.suggestions": "Waiting for you ({n})",
1200
+ "dream.noSuggestions": "Nothing waiting.",
1201
+ "dream.history": "History",
1202
+ "dream.noHistory": "No dreams yet. Press Dream now to run one.",
1203
+ "dream.trigger.auto": "Automatic",
1204
+ "dream.trigger.manual": "Manual",
1205
+ "dream.run.counts": "read {read} · applied {applied} · suggested {suggested}",
1206
+ "dream.run.noCall": "Nothing new; no model call",
1207
+ "dream.run.refused": "Not written: notes changed meanwhile",
1208
+ "dream.run.failed": "Failed",
1209
+ "dream.run.budget": "Stopped: today's budget is used up",
1210
+ "dream.run.refusedDetail": "The notes changed while this ran, here or on another device, so nothing was written. Its evidence waits for the next dream.",
1211
+ "dream.run.noChanges": "Nothing was applied in this run.",
1212
+ "dream.run.model": "{model} · {seconds} s",
1213
+ "dream.compare": "Compare",
1214
+ "dream.diff.removed": "Removed",
1215
+ "dream.diff.editedSince": "Edited since; open the note to see it",
1216
+ "dream.diff.none": "None",
1217
+ "dream.appliedByYou": "Suggestions you applied",
1218
+ "dream.autoSwitch": "Automatic",
1219
+ "dream.autoOnHint": "Dreams on its own, at most once a day. Click to switch off.",
1220
+ "dream.autoOffHint": "Dreams only when you press Dream now. Click to run it on its own.",
1221
+ "settings.stat.sync": "Cloud sync",
1222
+ "settings.stat.syncState.local": "Local only",
1223
+ "settings.stat.syncState.account": "Account changed",
1224
+ "settings.stat.syncState.off": "Off",
1225
+ "settings.stat.syncState.syncing": "Syncing…",
1226
+ "settings.stat.syncState.error": "Needs attention",
1227
+ "settings.stat.syncState.on": "On",
1228
+ "settings.stat.syncedAgo": "Last synced {when}",
1229
+ "settings.stat.notes": "Notes",
1230
+ "settings.stat.notesSplit": "{project} this project · {user} yours",
1231
+ "settings.stat.tidy": "To tidy",
1232
+ "settings.stat.tidyNone": "Nothing to tidy",
1233
+ "settings.stat.tidySome": "Merges and checks",
1234
+ "dream.stat.mode": "Runs",
1235
+ "dream.stat.modeAuto": "Automatically",
1236
+ "dream.stat.modeManual": "When you ask",
1237
+ "dream.stat.modeAutoSub": "At most once a day",
1238
+ "dream.stat.modeManualSub": "Press Dream now",
1239
+ "dream.stat.last": "Last dream",
1240
+ "dream.stat.never": "Not yet",
1241
+ "dream.stat.lastSub": "applied {applied} · suggested {suggested}",
1242
+ "dream.stat.month": "This month",
1243
+ "dream.stat.waiting": "Waiting for you",
1244
+ "usage.background": "Background",
1245
+ "usage.background.dreaming": "Dreaming",
1101
1246
  },
1102
1247
  zh: {
1103
1248
  "nav.new": "新建会话",
@@ -1213,7 +1358,8 @@ export const STRINGS = {
1213
1358
  "add.skills": "技能",
1214
1359
  "add.back": "返回",
1215
1360
  "add.browse": "浏览更多",
1216
- "add.browseAll": "浏览连接器",
1361
+ "add.browseAll.connectors": "浏览连接器",
1362
+ "add.browseAll.plugins": "浏览插件",
1217
1363
  "add.manage": "管理全部",
1218
1364
  "add.andMore": "还有 {n} 项,在「管理全部」里",
1219
1365
  "cmd.model": "切换本会话使用的模型",
@@ -1301,9 +1447,51 @@ export const STRINGS = {
1301
1447
  "market.loading": "加载中…",
1302
1448
  "market.empty": "这里还没有内容。",
1303
1449
  "market.connectorsNote": "MCP 服务器。添加后立即启动,并在下次继续可用。",
1304
- "market.pluginsNote": "展示资源包和显式配置的运行时插件。Claude Code 资源包只贡献技能与子代理;运行时插件执行可信代码,配置变更在重启后生效。",
1450
+ "market.pluginsNote": "技能、子代理和连接器的组合包。安装时从发布方的 GitHub 下载经过审核的版本,装好立即可用;插件里的钩子不会运行。",
1451
+ "market.install": "安装",
1452
+ "market.installing": "正在安装…",
1453
+ "market.confirm": "确认安装",
1454
+ "market.cancel": "取消",
1455
+ "market.consent": "将从 GitHub 下载 {publisher} 的插件,并添加其中的技能与子代理。",
1456
+ "market.consentServers": "将从 GitHub 下载 {publisher} 的插件,并连接 {servers}。",
1457
+ "market.installedNotice": "已安装 {name}。",
1458
+ "market.skills": "{n} 个技能",
1459
+ "market.oneSkill": "1 个技能",
1460
+ "market.agents": "{n} 个子代理",
1461
+ "market.oneAgent": "1 个子代理",
1462
+ "market.servers": "{n} 个连接器",
1463
+ "market.oneServer": "1 个连接器",
1464
+ "market.cat.local": "在本机运行",
1465
+ "market.tab.import": "导入",
1466
+ "market.import": "导入",
1467
+ "market.importing": "导入中…",
1468
+ "market.importsNote": "它们的 skill、子 agent 和插件会直接读取,已经可以用了。连接器会启动进程,而且经常带着密钥,所以要你点了导入才会启动。",
1469
+ "market.fromConfig": "配置里的连接器",
1470
+ "market.fromPlugins": "插件里带的连接器",
1471
+ "market.allImported": "Claude Code 和 Codex 里的都已经导入了。",
1472
+ "market.scope.inPlugin": "来自插件 {name}",
1473
+ "market.scope.user": "全局",
1474
+ "market.scope.local": "本项目(仅本机)",
1475
+ "market.scope.project": "本项目的 .mcp.json",
1476
+ "market.reason.sse": "使用较旧的 SSE 传输方式,OHarness 不支持",
1477
+ "market.reason.user-config": "需要 Claude Code 在启用插件时询问的设置",
1478
+ "market.reason.placeholder": "用到了 OHarness 无法填入的变量",
1479
+ "market.reason.malformed": "无法读取这条配置",
1480
+ "market.inlineSecret": "导入时会复制配置里写着的密钥。",
1481
+ "market.disable": "停用",
1482
+ "market.enable": "启用",
1483
+ "market.off": "已停用",
1484
+ "market.cat.build": "构建与部署",
1485
+ "market.cat.data": "数据库与数据",
1486
+ "market.cat.monitor": "分析与监控",
1487
+ "market.cat.dev": "开发工具",
1488
+ "market.cat.web": "搜索与网页数据",
1489
+ "market.cat.design": "设计与媒体",
1490
+ "market.cat.work": "办公与业务",
1491
+ "market.cat.other": "更多",
1305
1492
  "market.skillsNote": "模型在任务对得上时自行加载的说明书。想直接指定某一个,在消息里用 @ 点名,而不是把选择权留给描述。",
1306
1493
  "add.noConnectors": "尚未配置连接器",
1494
+ "add.importFrom": "从 Claude Code 和 Codex 导入",
1307
1495
  "add.noPlugins": "尚未安装插件",
1308
1496
  "add.noSkills": "没有可用技能",
1309
1497
  "add.more": "继续输入以缩小范围",
@@ -1914,6 +2102,10 @@ export const STRINGS = {
1914
2102
  "turn.copied": "已复制",
1915
2103
  "work.thinking": "思考中",
1916
2104
  "tasks.title": "后台任务",
2105
+ "tasks.expand": "展开后台任务",
2106
+ "tasks.collapse": "折叠后台任务",
2107
+ "tasks.liveCount": "{n} 进行中",
2108
+ "tasks.older": "显示更早的 {n} 个",
1917
2109
  "tasks.cardTitle": "后台任务已结束",
1918
2110
  "tasks.status.queued": "排队中",
1919
2111
  "tasks.status.running": "运行中",
@@ -2071,6 +2263,7 @@ export const STRINGS = {
2071
2263
  "memory.backupReason.conflict-cloud": "冲突时未采用的云端版本",
2072
2264
  "memory.backupReason.auto-merge": "自动合并前的版本",
2073
2265
  "memory.backupReason.consolidate": "整理前的版本",
2266
+ "memory.backupReason.dream": "Dreaming 修改前的版本",
2074
2267
  "memory.aboutStorage": "存储位置与同步说明",
2075
2268
  "memory.err.configInvalid": "Memory 同步配置无效,已停止同步。",
2076
2269
  "memory.err.stopped": "Memory 同步已停止。",
@@ -2168,6 +2361,103 @@ export const STRINGS = {
2168
2361
  "memory.mergeApply": "应用合并",
2169
2362
  "memory.mergeCancel": "取消",
2170
2363
  "memory.mergeConfirm": "确定应用合并吗?原记忆会先备份,指向被删记忆的链接会改为指向保留的那条。开启云同步时,会先同步,合并先写入云端再写入本机。",
2364
+ "memory.dreamed": "你不在时,Dreaming 更新了记忆:{list}",
2365
+ "memory.dream.now": "立即整理",
2366
+ "memory.dream.running": "整理中…",
2367
+ "memory.dream.applyOne": "应用",
2368
+ "memory.dream.dismiss": "忽略",
2369
+ "memory.dream.undo": "撤销",
2370
+ "memory.dream.undone": "已撤销",
2371
+ "memory.dream.scope.project": "本项目",
2372
+ "memory.dream.scope.user": "关于你",
2373
+ "memory.dream.op.create": "新建",
2374
+ "memory.dream.op.update": "修改",
2375
+ "memory.dream.op.merge": "合并",
2376
+ "memory.dream.op.stale": "可能已过时",
2377
+ "memory.dream.op.conflict": "有矛盾",
2378
+ "memory.dream.why.inferred-once": "只从一段对话推断出来",
2379
+ "memory.dream.why.user-scope-inference": "从项目工作推断出的关于你的结论",
2380
+ "memory.dream.why.stale": "过时的记忆不会被自动改写",
2381
+ "memory.dream.why.conflict": "没有人说明哪个取代哪个",
2382
+ "memory.dream.why.hand-edited": "上次整理后你手动改过这条记忆",
2383
+ "memory.dream.why.one-conversation": "只来自一段对话的新记忆,你也没说要一直这样",
2384
+ "memory.dream.before": "原来",
2385
+ "memory.dream.after": "现在",
2386
+ "memory.dream.proposed": "建议改为",
2387
+ "memory.dream.evidence": "依据",
2388
+ "memory.dream.kind.stated": "你说过",
2389
+ "memory.dream.kind.confirmed": "你同意过",
2390
+ "memory.dream.kind.inferred": "推断",
2391
+ "dream.title": "Dreaming",
2392
+ "dream.open": "打开",
2393
+ "dream.auto": "自动",
2394
+ "dream.autoDaily": "自动 · 每天最多一次",
2395
+ "dream.manual": "仅手动",
2396
+ "dream.waitingCount": "{n} 条建议等你决定",
2397
+ "dream.monthSpend": "本月:{tokens} tokens · {cost}",
2398
+ "dream.settingsHint": "在后台根据你的对话让记忆保持最新。可以查看它改了什么、建议了什么、花了多少。",
2399
+ "dream.off": "Dreaming 或记忆已关闭。",
2400
+ "dream.next.manual": "只在你点「立即整理」时运行。",
2401
+ "dream.next.doneToday": "今天已整理,明天再看",
2402
+ "dream.next.nothing": "没有待整理的内容",
2403
+ "dream.next.due": "下次检查时整理",
2404
+ "dream.next.gathering": "已攒 {n}/{min} 条,或 {hours} 小时后",
2405
+ "dream.metric.applied": "本月应用",
2406
+ "dream.metric.undone": "撤销 {n}",
2407
+ "dream.metric.waiting": "待你决定",
2408
+ "dream.metric.suggestions": "条建议",
2409
+ "dream.metric.spent": "本月 tokens",
2410
+ "dream.metric.cost": "{cost} · 所有项目",
2411
+ "dream.metric.runs": "本月整理",
2412
+ "dream.metric.read": "读了 {n} 段对话",
2413
+ "dream.budgetToday": "今天已用 {used} / {limit} tokens",
2414
+ "dream.suggestions": "待你决定({n})",
2415
+ "dream.noSuggestions": "没有等你决定的建议。",
2416
+ "dream.history": "历史",
2417
+ "dream.noHistory": "还没有整理过。点「立即整理」试一次。",
2418
+ "dream.trigger.auto": "自动",
2419
+ "dream.trigger.manual": "手动",
2420
+ "dream.run.counts": "读 {read} 段 · 应用 {applied} · 建议 {suggested}",
2421
+ "dream.run.noCall": "没有新内容,未调用模型",
2422
+ "dream.run.refused": "未写入:期间笔记被改动",
2423
+ "dream.run.failed": "失败",
2424
+ "dream.run.budget": "已停止:今天的额度用完了",
2425
+ "dream.run.refusedDetail": "运行期间笔记被改动了(在这台或另一台设备上),所以没有写入。它用到的依据留到下次整理。",
2426
+ "dream.run.noChanges": "这次没有直接应用的改动。",
2427
+ "dream.run.model": "{model} · {seconds} 秒",
2428
+ "dream.compare": "对比",
2429
+ "dream.diff.removed": "已删除",
2430
+ "dream.diff.editedSince": "之后又被修改过,请在笔记里查看",
2431
+ "dream.diff.none": "无",
2432
+ "dream.appliedByYou": "你应用的建议",
2433
+ "dream.autoSwitch": "自动整理",
2434
+ "dream.autoOnHint": "自动运行,每天最多一次。点击关闭。",
2435
+ "dream.autoOffHint": "只在你点「立即整理」时运行。点击开启自动整理。",
2436
+ "settings.stat.sync": "云同步",
2437
+ "settings.stat.syncState.local": "仅本机",
2438
+ "settings.stat.syncState.account": "账号已更换",
2439
+ "settings.stat.syncState.off": "已关闭",
2440
+ "settings.stat.syncState.syncing": "同步中…",
2441
+ "settings.stat.syncState.error": "需要处理",
2442
+ "settings.stat.syncState.on": "已开启",
2443
+ "settings.stat.syncedAgo": "上次同步 {when}",
2444
+ "settings.stat.notes": "记忆",
2445
+ "settings.stat.notesSplit": "本项目 {project} · 个人 {user}",
2446
+ "settings.stat.tidy": "待整理",
2447
+ "settings.stat.tidyNone": "没有需要整理的",
2448
+ "settings.stat.tidySome": "可合并或需检查",
2449
+ "dream.stat.mode": "运行方式",
2450
+ "dream.stat.modeAuto": "自动",
2451
+ "dream.stat.modeManual": "仅手动",
2452
+ "dream.stat.modeAutoSub": "每天最多一次",
2453
+ "dream.stat.modeManualSub": "点「立即整理」时运行",
2454
+ "dream.stat.last": "上次整理",
2455
+ "dream.stat.never": "还没有",
2456
+ "dream.stat.lastSub": "应用 {applied} · 建议 {suggested}",
2457
+ "dream.stat.month": "本月",
2458
+ "dream.stat.waiting": "待你决定",
2459
+ "usage.background": "后台",
2460
+ "usage.background.dreaming": "Dreaming",
2171
2461
  },
2172
2462
  };
2173
2463
  /** Locales offered in the UI, in menu order. */