@agentsky/desktop-ui 0.4.235 → 0.4.237
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/app.js +1148 -1147
- package/dist/editors/editors.mjs +19 -1
- package/dist/messages/zh.json +29 -13
- package/dist/quick-ask.js +1 -1
- package/package.json +1 -1
package/dist/editors/editors.mjs
CHANGED
|
@@ -1568,6 +1568,18 @@ ${mXe}`:mXe,e.head.append(n),t.push(n.outerHTML),t}function mv(e){let t=e.body;f
|
|
|
1568
1568
|
event.preventDefault();
|
|
1569
1569
|
document.execCommand('insertText', false, event.clipboardData.getData('text/plain'));
|
|
1570
1570
|
}, true);
|
|
1571
|
+
const caretAtPointer = (event, host) => {
|
|
1572
|
+
const selection = document.getSelection();
|
|
1573
|
+
if (!selection || event.detail > 1) return;
|
|
1574
|
+
let point = null;
|
|
1575
|
+
if (document.caretPositionFromPoint) {
|
|
1576
|
+
const position = document.caretPositionFromPoint(event.clientX, event.clientY);
|
|
1577
|
+
if (position) { point = document.createRange(); point.setStart(position.offsetNode, position.offset); point.collapse(true); }
|
|
1578
|
+
} else if (document.caretRangeFromPoint) point = document.caretRangeFromPoint(event.clientX, event.clientY);
|
|
1579
|
+
if (!point || !host.contains(point.startContainer)) return;
|
|
1580
|
+
selection.removeAllRanges();
|
|
1581
|
+
selection.addRange(point);
|
|
1582
|
+
};
|
|
1571
1583
|
document.addEventListener('click', (event) => {
|
|
1572
1584
|
if (commenting || event.target.closest('[data-artifact-chrome]')) return;
|
|
1573
1585
|
const box = event.target.closest('input[type=checkbox][data-todo-id]');
|
|
@@ -1582,15 +1594,21 @@ ${mXe}`:mXe,e.head.append(n),t.push(n.outerHTML),t}function mv(e){let t=e.body;f
|
|
|
1582
1594
|
if (element.closest('a,button,label,summary,details,input,select,textarea,option,video,audio')) event.preventDefault();
|
|
1583
1595
|
const root = element.hasAttribute('data-artifact-text-node') ? null : richRoot(element);
|
|
1584
1596
|
if (enabled && root) {
|
|
1597
|
+
const opening = document.activeElement !== root;
|
|
1585
1598
|
activate(root);
|
|
1586
|
-
if (
|
|
1599
|
+
if (opening) { root.focus(); caretAtPointer(event, root); }
|
|
1587
1600
|
select(root, root);
|
|
1588
1601
|
return;
|
|
1589
1602
|
}
|
|
1590
1603
|
if (enabled && editable(element)) {
|
|
1604
|
+
// The press landed before the text was editable, so the browser placed
|
|
1605
|
+
// no caret; focus() alone would put it at the start. Put it where the
|
|
1606
|
+
// person clicked, as a second click would.
|
|
1607
|
+
const opening = document.activeElement !== element;
|
|
1591
1608
|
element.setAttribute('data-artifact-inline', '');
|
|
1592
1609
|
element.contentEditable = 'plaintext-only';
|
|
1593
1610
|
element.focus();
|
|
1611
|
+
if (opening) caretAtPointer(event, element);
|
|
1594
1612
|
} else event.preventDefault();
|
|
1595
1613
|
const target = element.hasAttribute('data-artifact-text-node') ? element.parentElement : element;
|
|
1596
1614
|
select(element, target);
|
package/dist/messages/zh.json
CHANGED
|
@@ -761,9 +761,11 @@
|
|
|
761
761
|
"Bring your setup": "导入你的设置",
|
|
762
762
|
"Bring your setup from this Mac": "从这台 Mac 导入你的设置",
|
|
763
763
|
"Bring your subscriptions.": "带上你的订阅。",
|
|
764
|
+
"Bring {app} to the front?": "把{app}切到前面?",
|
|
764
765
|
"Bringing in your skills and instructions…": "正在导入你的技能和指令…",
|
|
765
766
|
"Brought an app forward": "把应用切到前台",
|
|
766
767
|
"Brought {app} forward": "把 {app} 切到前台",
|
|
768
|
+
"Browse by type": "按类型浏览",
|
|
767
769
|
"Browse": "浏览",
|
|
768
770
|
"Browse all agents and plugins": "查看全部 Agent 和插件",
|
|
769
771
|
"Browser": "浏览器",
|
|
@@ -1044,7 +1046,7 @@
|
|
|
1044
1046
|
"Claude Code plugins": "Claude Code 插件",
|
|
1045
1047
|
"Claude Code stopped before finishing. Try again.": "Claude Code 没有完成就停止了,请重试。",
|
|
1046
1048
|
"Claude Code · Your Claude plan": "Claude Code · 你的 Claude 套餐",
|
|
1047
|
-
"Claude Code, Codex and
|
|
1049
|
+
"Claude Code, Codex and every other agent, in one workspace your team shares. Bring the plans you already pay for.": "Claude Code、Codex 和其他所有 Agent,都在团队共享的一个工作区里。直接用你们已经在付的套餐。",
|
|
1048
1050
|
"Claude Code, Codex, Cursor or any agent that can run commands. It asks for your key, connects your tools and runs a test call.": "Claude Code、Codex、Cursor 或任何能跑命令的 agent 都行。它会问你要 Key,帮你配好工具,再跑一次测试调用。",
|
|
1049
1051
|
"Claude Code, Codex, Hermes and every other agent behind one API. Paste this message into your own agent and it takes it from there.": "Claude Code、Codex、Hermes 和其他所有 Agent,都在同一个 API 后面。把这段话粘贴给你自己的 Agent,剩下的交给它。",
|
|
1050
1052
|
"Claude Code, Codex, Hermes, OpenClaw, Kimi Code, opencode, Cline, Goose and Qwen Code.": "Claude Code、Codex、Hermes、OpenClaw、Kimi Code、opencode、Cline、Goose 和 Qwen Code。",
|
|
@@ -1606,6 +1608,7 @@
|
|
|
1606
1608
|
"Cuts": "成片",
|
|
1607
1609
|
"Daily": "每天",
|
|
1608
1610
|
"Daily AI summary limit": "每日 AI 摘要上限",
|
|
1611
|
+
"Daily at": "每天",
|
|
1609
1612
|
"Daily limit": "每日上限",
|
|
1610
1613
|
"Danger zone": "危险操作",
|
|
1611
1614
|
"Dark": "深色",
|
|
@@ -1708,6 +1711,7 @@
|
|
|
1708
1711
|
"Didn't follow my instructions": "没有遵循我的指示",
|
|
1709
1712
|
"Didn't recover": "没能恢复",
|
|
1710
1713
|
"Diff view": "差异视图",
|
|
1714
|
+
"Digest": "汇总",
|
|
1711
1715
|
"Dimensions": "尺寸",
|
|
1712
1716
|
"Direction": "方向",
|
|
1713
1717
|
"Disable": "停用",
|
|
@@ -1932,6 +1936,7 @@
|
|
|
1932
1936
|
"Every day at {time}": "每天 {time}",
|
|
1933
1937
|
"Every day, in your time zone": "每天,按你的时区",
|
|
1934
1938
|
"Every device": "所有设备",
|
|
1939
|
+
"Every hour": "每小时",
|
|
1935
1940
|
"Every hour at :{minute}": "每小时第 {minute} 分",
|
|
1936
1941
|
"Every judged match, task by task — blind runs, human calls.": "每场已评判的对局,逐个任务:盲跑,人来判。",
|
|
1937
1942
|
"Every member's chats can use these logins. Nobody sees your passwords or cookies.": "每位成员的对话都能使用这些登录,没有人能看到你的密码或 Cookie。",
|
|
@@ -2174,6 +2179,7 @@
|
|
|
2174
2179
|
"Full result": "完整结果",
|
|
2175
2180
|
"Future runs will stop. Previous runs remain available.": "之后的运行将停止,之前的运行仍可查看。",
|
|
2176
2181
|
"Gap": "间距",
|
|
2182
|
+
"Gather news of finished tasks into one message.": "把任务完成的消息汇总成一条发送。",
|
|
2177
2183
|
"General": "通用",
|
|
2178
2184
|
"General access": "常规访问权限",
|
|
2179
2185
|
"Get API key": "获取 API 密钥",
|
|
@@ -2181,6 +2187,7 @@
|
|
|
2181
2187
|
"Get a key in the Agent API section, then paste the message into Claude Code, Codex or your code. It links the API and its docs.": "在 Agent API 部分获取密钥,再把这段消息粘贴到 Claude Code、Codex 或你的代码里。消息中附有 API 和文档的链接。",
|
|
2182
2188
|
"Get an API key": "获取 API 密钥",
|
|
2183
2189
|
"Get it on the App Store": "前往 App Store 下载",
|
|
2190
|
+
"Get it running": "开始使用",
|
|
2184
2191
|
"Get notified when your agents finish a task or need your answer, so you don't have to keep checking back.": "智能体完成任务或需要你回答时通知你,不用一直回来查看。",
|
|
2185
2192
|
"Get replies like this in {names} or {last}": "在 {names} 或 {last} 中接收这样的回复",
|
|
2186
2193
|
"Get the Mac app": "获取 Mac 应用",
|
|
@@ -2637,6 +2644,7 @@
|
|
|
2637
2644
|
"Loading files…": "正在加载文件…",
|
|
2638
2645
|
"Loading file…": "正在加载文件…",
|
|
2639
2646
|
"Loading from GitHub…": "正在从 GitHub 加载…",
|
|
2647
|
+
"Loading page…": "正在加载页面…",
|
|
2640
2648
|
"Loading goal…": "正在加载目标…",
|
|
2641
2649
|
"Loading image…": "正在加载图片…",
|
|
2642
2650
|
"Loading members…": "正在加载成员…",
|
|
@@ -2992,6 +3000,7 @@
|
|
|
2992
3000
|
"New value": "新值",
|
|
2993
3001
|
"New workspace": "新建工作区",
|
|
2994
3002
|
"New workspace store…": "新建工作空间记忆库…",
|
|
3003
|
+
"News that a task finished waits until these end, or comes gathered into one message. Anything that needs you always comes.": "任务完成的消息会等到这些时段结束,或汇总成一条发送。需要你处理的事总会立即通知。",
|
|
2995
3004
|
"News that a task finished waits until these end. Anything that needs you always comes.": "任务完成的消息会等到这些时段结束再通知你。需要你处理的事情总会立刻通知。",
|
|
2996
3005
|
"Next": "下一页",
|
|
2997
3006
|
"Next at {time}": "下次 {time}",
|
|
@@ -3337,6 +3346,7 @@
|
|
|
3337
3346
|
"One key": "一个密钥",
|
|
3338
3347
|
"One key calls every model below.": "一个密钥可调用下面所有模型。",
|
|
3339
3348
|
"One key. Every agent.": "一个密钥,所有 Agent。",
|
|
3349
|
+
"One message a day, in your time zone": "每天一条,按你的时区",
|
|
3340
3350
|
"One name or term per line": "每行一个名字或术语",
|
|
3341
3351
|
"One plan runs out, the next takes over.": "一个套餐用完,下一个自动接上。",
|
|
3342
3352
|
"One-time": "一次性",
|
|
@@ -3784,6 +3794,7 @@
|
|
|
3784
3794
|
"Quiet hours and snooze": "免打扰与暂停通知",
|
|
3785
3795
|
"Quiet hours end": "免打扰结束时间",
|
|
3786
3796
|
"Quiet hours start": "免打扰开始时间",
|
|
3797
|
+
"Quiet hours, snooze and digest": "免打扰、暂停通知与汇总",
|
|
3787
3798
|
"Quit app": "退出应用",
|
|
3788
3799
|
"Quote": "引用",
|
|
3789
3800
|
"Quoted passage": "引用的段落",
|
|
@@ -4128,7 +4139,6 @@
|
|
|
4128
4139
|
"Running": "运行中",
|
|
4129
4140
|
"Running Checks…": "正在运行检查…",
|
|
4130
4141
|
"Running checks…": "正在运行检查…",
|
|
4131
|
-
"Get it running": "开始使用",
|
|
4132
4142
|
"Running on this Mac": "正在这台 Mac 上运行",
|
|
4133
4143
|
"Running on this Mac on your {plan} plan. Cloud agents use credit.": "在这台 Mac 上运行,使用你的 {plan} 套餐。云端智能体使用额度。",
|
|
4134
4144
|
"Running on this Mac, no credits": "正在这台 Mac 上运行,不消耗额度",
|
|
@@ -4943,10 +4953,12 @@
|
|
|
4943
4953
|
"The agent loads pages in a browser that runs outside the chat's computer, so localhost:{port} will be open to anyone who has its address until you stop sharing. The address is long and random, but it is not a sign-in. The agent is then asked to load the page; that load is billed like any other use of its tools.": "智能体在对话计算机之外的浏览器中加载页面,所以在你停止分享前,localhost:{port} 对所有知道地址的人开放。地址很长且随机,但它不是登录凭证。随后智能体会被要求加载页面,这次加载与使用其他工具一样计费。",
|
|
4944
4954
|
"The agent loads pages in a browser that runs outside the sandbox, so localhost:{port} will be open to anyone who has its address until you stop sharing. The address is long and random, but it is not a sign-in. The agent is then asked to load the page; that load is billed like any other use of its tools.": "智能体在沙盒之外的浏览器中加载页面,所以在你停止共享之前,任何拥有地址的人都能访问 localhost:{port}。地址很长且随机,但并不是登录验证。之后智能体会被要求加载页面,费用与其他工具使用相同。",
|
|
4945
4955
|
"The agent loads pages in a browser that runs outside the sandbox, so {address} will be open to anyone who has its address until you stop sharing. The address is long and random, but it is not a sign-in. The agent is then asked to load the page; that load is billed like any other use of its tools.": "智能体在沙盒之外的浏览器里加载页面,所以在你停止共享之前,任何拿到地址的人都能打开 {address}。地址又长又随机,但它不是登录凭证。随后会请智能体加载该页面,这次加载和使用其他工具一样计费。",
|
|
4956
|
+
"The agent needs {app} in front to use the menus on its document. It works where you can see it. Stop in the chat or Esc ends it at any time.": "agent 需要把{app}放到最前面,才能用它文档上的菜单。它会在你看得到的地方操作,在对话里点 Stop 或按 Esc 可随时停止。",
|
|
4957
|
+
"The agent ran into an error and stopped. Send a message to try again.": "智能体出错,已停止。发送一条消息即可重试。",
|
|
4946
4958
|
"The agent says: “{reason}”": "智能体说:“{reason}”",
|
|
4947
4959
|
"The agent starts from {base} on GitHub.": "智能体从 GitHub 上的 {base} 开始。",
|
|
4948
4960
|
"The agent starts from {base} on GitHub. Your {left} stay on this Mac.": "智能体从 GitHub 上的 {base} 开始。你的{left}留在这台 Mac 上。",
|
|
4949
|
-
"The agent stopped
|
|
4961
|
+
"The agent stopped": "智能体已停止",
|
|
4950
4962
|
"The agent stopped because the account ran out of credit.": "账户余额不足,智能体已停止。",
|
|
4951
4963
|
"The agent stops pursuing its current goal and starts on this one.": "智能体将停止当前目标,转而执行这个目标。",
|
|
4952
4964
|
"The agent uses its tools without asking, unless the agent itself is set to ask.": "智能体直接使用工具、不再询问,除非智能体本身设为询问。",
|
|
@@ -4958,7 +4970,9 @@
|
|
|
4958
4970
|
"The agent's browser": "智能体的浏览器",
|
|
4959
4971
|
"The agent's browser could not be reached.": "无法连接智能体的浏览器。",
|
|
4960
4972
|
"The agent's browser is not open any more. Hand it back and the agent will open it again.": "智能体的浏览器已关闭。交还后,智能体会重新打开。",
|
|
4973
|
+
"The agent's computer couldn't start. Try again in a moment.": "智能体的运行环境没能启动,请稍后重试。",
|
|
4961
4974
|
"The agent's machine was lost. Send a message to continue.": "智能体的机器已丢失。发送消息继续。",
|
|
4975
|
+
"The agent's process stopped unexpectedly. Try again to restart it.": "智能体的进程意外退出。重试即可重新启动。",
|
|
4962
4976
|
"The agents have no charge of their own. In the cloud you pay for the tokens and compute they use, from prepaid credits. On your Mac, Claude Code and Codex run on your own Claude or ChatGPT plan.": "智能体本身不单独收费。在云端,你用预付额度支付它们用掉的 token 和算力。在 Mac 上,Claude Code 和 Codex 使用你自己的 Claude 或 ChatGPT 套餐运行。",
|
|
4963
4977
|
"The agents this message goes to": "这条消息会发给的智能体",
|
|
4964
4978
|
"The agent’s browser is not open. Its page will appear here when it is running.": "智能体的浏览器尚未打开。运行时,页面会显示在这里。",
|
|
@@ -6279,6 +6293,8 @@
|
|
|
6279
6293
|
"chart": "图表",
|
|
6280
6294
|
"chat": "对话",
|
|
6281
6295
|
"chats": "聊天",
|
|
6296
|
+
"clicked or typed on a page": "在页面上点击或输入了 1 次",
|
|
6297
|
+
"clicked or typed {count} times": "在页面上点击或输入了 {count} 次",
|
|
6282
6298
|
"clip": "视频",
|
|
6283
6299
|
"closed a pull request": "关闭了一个拉取请求",
|
|
6284
6300
|
"commented": "发表了评论",
|
|
@@ -6384,10 +6400,12 @@
|
|
|
6384
6400
|
"reached its turn limit": "已达到轮次上限",
|
|
6385
6401
|
"reached its usage limit": "已达到用量上限",
|
|
6386
6402
|
"read a file": "读取了 1 个文件",
|
|
6403
|
+
"read a page": "读了 1 个页面",
|
|
6387
6404
|
"read from the workspace": "读取了工作空间",
|
|
6388
6405
|
"read or change the passwords in your keychain": "读取或修改你钥匙串中的密码",
|
|
6389
6406
|
"read or change your clipboard": "读取或修改你的剪贴板",
|
|
6390
6407
|
"read {count} files": "读取了 {count} 个文件",
|
|
6408
|
+
"read {count} pages": "读了 {count} 个页面",
|
|
6391
6409
|
"recorded a meeting": "记录了一场会议",
|
|
6392
6410
|
"recorded an outcome: {outcome}": "记录了结果:{outcome}",
|
|
6393
6411
|
"reopened a pull request": "重新打开了一个拉取请求",
|
|
@@ -6425,6 +6443,7 @@
|
|
|
6425
6443
|
"the owner": "创建者",
|
|
6426
6444
|
"the person who asked": "提出请求的人",
|
|
6427
6445
|
"the person who invited you": "邀请你的人",
|
|
6446
|
+
"the workspace": "工作区",
|
|
6428
6447
|
"thinks a little · fastest": "稍微想一想 · 最快",
|
|
6429
6448
|
"thinks harder still": "想得更深",
|
|
6430
6449
|
"thinks harder · slower": "想得更多 · 更慢",
|
|
@@ -6438,6 +6457,8 @@
|
|
|
6438
6457
|
"this site": "此网站",
|
|
6439
6458
|
"to": "至",
|
|
6440
6459
|
"to receive this secret.": "接收这个密钥。",
|
|
6460
|
+
"took a screenshot": "截了 1 张图",
|
|
6461
|
+
"took {count} screenshots": "截了 {count} 张图",
|
|
6441
6462
|
"tool call": "次工具调用",
|
|
6442
6463
|
"tool calls": "次工具调用",
|
|
6443
6464
|
"trace library": "历史记录库",
|
|
@@ -6445,6 +6466,8 @@
|
|
|
6445
6466
|
"up to 70% off": "最高 3 折",
|
|
6446
6467
|
"up to {percent}% off": "最高优惠 {percent}%",
|
|
6447
6468
|
"used a tool": "使用了 1 个工具",
|
|
6469
|
+
"used this Mac": "操作了 1 次这台 Mac",
|
|
6470
|
+
"used this Mac {count} times": "操作了 {count} 次这台 Mac",
|
|
6448
6471
|
"used {app}": "使用了 {app}",
|
|
6449
6472
|
"used {count} tools": "使用了 {count} 个工具",
|
|
6450
6473
|
"used {used} of {total} events": "使用了 {total} 条事件中的 {used} 条",
|
|
@@ -6875,14 +6898,7 @@
|
|
|
6875
6898
|
"… [{count} chars elided] …": "… [已省略 {count} 个字符] …",
|
|
6876
6899
|
"● Notes": "● 笔记",
|
|
6877
6900
|
"● Using this Mac": "● 正在使用本机",
|
|
6878
|
-
"
|
|
6879
|
-
"
|
|
6880
|
-
"
|
|
6881
|
-
"clicked or typed {count} times": "在页面上点击或输入了 {count} 次",
|
|
6882
|
-
"took a screenshot": "截了 1 张图",
|
|
6883
|
-
"took {count} screenshots": "截了 {count} 张图",
|
|
6884
|
-
"used this Mac": "操作了 1 次这台 Mac",
|
|
6885
|
-
"used this Mac {count} times": "操作了 {count} 次这台 Mac",
|
|
6886
|
-
"Bring {app} to the front?": "把{app}切到前面?",
|
|
6887
|
-
"The agent needs {app} in front to use the menus on its document. It works where you can see it. Stop in the chat or Esc ends it at any time.": "agent 需要把{app}放到最前面,才能用它文档上的菜单。它会在你看得到的地方操作,在对话里点 Stop 或按 Esc 可随时停止。"
|
|
6901
|
+
"Confirm in the chat": "在聊天中确认",
|
|
6902
|
+
"Go back to the chat and send {command} as {who} within 10 minutes. Nothing runs on this account until you do.": "请在 10 分钟内回到聊天,以 {who} 的身份发送 {command}。在此之前,不会有任何任务以这个账户运行。",
|
|
6903
|
+
"This link was posted in a group, so {person} must also confirm it in the chat.": "这个链接是在群聊中发出的,因此 {person} 还需要在聊天中确认。"
|
|
6888
6904
|
}
|