@agent-link/server 0.1.216 → 0.1.217

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/README.md CHANGED
@@ -1,11 +1,11 @@
1
- # AgentLink Server
1
+ # AgenticWorker Server
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@agent-link/server)](https://www.npmjs.com/package/@agent-link/server)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
- Relay server for [AgentLink](https://github.com/yilee/agentlink) — use Claude Code from any browser.
6
+ Relay server for [AgenticWorker](https://github.com/yilee/agentlink) — use Claude Code from any browser.
7
7
 
8
- AgentLink lets you run Claude Code on your local machine and access it through a web interface. The server acts as an encrypted WebSocket relay between your browser and the local agent. No data is stored on the server.
8
+ AgenticWorker lets you run Claude Code on your local machine and access it through a web interface. The server acts as an encrypted WebSocket relay between your browser and the local agent. No data is stored on the server.
9
9
 
10
10
  ## Install
11
11
 
@@ -39,8 +39,8 @@ agentlink-server service uninstall
39
39
  ## How it works
40
40
 
41
41
  ```
42
- Browser ↔ AgentLink Server ↔ AgentLink Client ↔ Claude Code
43
- (web) (relay) (your machine) (CLI)
42
+ Browser ↔ AgenticWorker Server ↔ AgenticWorker Client ↔ Claude Code
43
+ (web) (relay) (your machine) (CLI)
44
44
  ```
45
45
 
46
46
  The server is a lightweight Express + WebSocket relay. It serves the web UI, assigns unique session URLs, and forwards encrypted messages between the browser and the agent.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-link/server",
3
- "version": "0.1.216",
3
+ "version": "0.1.217",
4
4
  "description": "AgentLink relay server",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,10 +1,17 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
2
  <defs>
3
- <linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
4
- <stop offset="0%" stop-color="#3b82f6"/>
5
- <stop offset="100%" stop-color="#f59e0b"/>
3
+ <linearGradient id="g" x1="0" y1="0" x2="0" y2="1">
4
+ <stop offset="0%" stop-color="#06b6d4"/>
5
+ <stop offset="100%" stop-color="#6366f1"/>
6
6
  </linearGradient>
7
7
  </defs>
8
- <rect width="32" height="32" rx="6" fill="url(#g)"/>
9
- <text x="16" y="23" text-anchor="middle" font-family="-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif" font-size="22" font-weight="800" fill="#fff">A</text>
8
+ <rect width="32" height="32" rx="7" fill="url(#g)"/>
9
+ <!-- Cloud with terminal cursor: cloud-based CLI agent -->
10
+ <g fill="#fff">
11
+ <!-- Cloud shape -->
12
+ <path d="M8,19 Q5,19 5,16 Q5,13 8,13 Q8,10 12,9 Q16,8 18,10 Q19,8 22,9 Q26,10 26,14 Q28,14 28,17 Q28,19 25,19 Z" opacity="0.9"/>
13
+ <!-- Terminal cursor inside cloud -->
14
+ <polygon points="11,22 14,25 11,28" fill="#fff" opacity="0.8"/>
15
+ <rect x="15" y="26" width="6" height="2" rx="1" fill="#fff" opacity="0.8"/>
16
+ </g>
10
17
  </svg>
@@ -40,6 +40,9 @@
40
40
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
41
41
  <title>AgenticWorker</title>
42
42
  <link rel="icon" type="image/svg+xml" href="/favicon.svg">
43
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
44
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
45
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
43
46
  <link id="hljs-theme" rel="stylesheet" href="/vendor/github.min.css">
44
47
  <script>
45
48
  // Apply saved theme immediately to prevent flash
@@ -23,6 +23,9 @@
23
23
  <meta name="twitter:description" content="Remote control for Claude Code. Chat, spawn agent teams, or schedule recurring tasks — from your phone or any browser. Multi-session, end-to-end encrypted.">
24
24
  <meta name="twitter:image" content="https://msclaude.ai/iPad.png">
25
25
  <link rel="icon" type="image/svg+xml" href="/favicon.svg">
26
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
27
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
28
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
26
29
  <script type="application/ld+json">
27
30
  {
28
31
  "@context": "https://schema.org",
@@ -41,6 +44,11 @@
41
44
 
42
45
  * { margin: 0; padding: 0; box-sizing: border-box; }
43
46
 
47
+ html {
48
+ overflow-x: hidden;
49
+ overscroll-behavior-x: none;
50
+ }
51
+
44
52
  :root {
45
53
  --bg: #06080f;
46
54
  --surface: rgba(255,255,255,0.03);
@@ -67,6 +75,9 @@
67
75
  line-height: 1.6;
68
76
  min-height: 100vh;
69
77
  overflow-x: hidden;
78
+ overscroll-behavior-x: none;
79
+ position: relative;
80
+ width: 100%;
70
81
  }
71
82
 
72
83
  /* ── Ambient Background ── */
@@ -79,6 +90,8 @@
79
90
  pointer-events: none;
80
91
  z-index: 0;
81
92
  overflow: hidden;
93
+ contain: strict;
94
+ will-change: transform;
82
95
  }
83
96
 
84
97
  .ambient-orb {
@@ -87,6 +100,8 @@
87
100
  filter: blur(120px);
88
101
  opacity: 0.35;
89
102
  animation: float 20s ease-in-out infinite;
103
+ will-change: transform;
104
+ contain: layout style;
90
105
  }
91
106
 
92
107
  .ambient-orb:nth-child(1) {
@@ -131,12 +146,15 @@
131
146
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
132
147
  background-repeat: repeat;
133
148
  background-size: 256px 256px;
149
+ will-change: transform;
150
+ contain: strict;
134
151
  }
135
152
 
136
153
  /* ── Content wrapper ── */
137
154
  .content {
138
155
  position: relative;
139
156
  z-index: 2;
157
+ overflow-x: hidden;
140
158
  }
141
159
 
142
160
  /* ── Nav ── */
@@ -161,13 +179,6 @@
161
179
  .logo-mark {
162
180
  width: 28px; height: 28px;
163
181
  border-radius: 8px;
164
- background: linear-gradient(135deg, var(--accent), var(--rose));
165
- display: flex;
166
- align-items: center;
167
- justify-content: center;
168
- font-size: 0.75rem;
169
- font-weight: 800;
170
- color: #fff;
171
182
  box-shadow: 0 0 20px var(--accent-glow);
172
183
  }
173
184
 
@@ -376,9 +387,7 @@
376
387
  .terminal {
377
388
  max-width: 520px;
378
389
  margin: 0 auto;
379
- background: rgba(10,10,20,0.7);
380
- backdrop-filter: blur(20px);
381
- -webkit-backdrop-filter: blur(20px);
390
+ background: rgba(10,10,20,0.92);
382
391
  border: 1px solid var(--border);
383
392
  border-radius: 14px;
384
393
  overflow: hidden;
@@ -482,6 +491,7 @@
482
491
  align-items: end;
483
492
  gap: 2rem;
484
493
  animation: fadeInUp 1s ease-out 0.6s both;
494
+ overflow: hidden;
485
495
  }
486
496
 
487
497
  .showcase::before {
@@ -490,14 +500,15 @@
490
500
  top: 50%;
491
501
  left: 50%;
492
502
  transform: translate(-50%, -50%);
493
- width: 120%;
494
- height: 120%;
503
+ width: 100%;
504
+ height: 100%;
495
505
  background:
496
506
  radial-gradient(ellipse at 35% 50%, rgba(59,130,246,0.12) 0%, transparent 55%),
497
507
  radial-gradient(ellipse at 65% 50%, rgba(245,158,11,0.08) 0%, transparent 55%);
498
508
  pointer-events: none;
499
509
  z-index: 0;
500
510
  filter: blur(60px);
511
+ will-change: transform;
501
512
  }
502
513
 
503
514
  /* Subtle connecting line between devices */
@@ -638,9 +649,7 @@
638
649
  display: flex;
639
650
  flex-direction: column;
640
651
  gap: 2px;
641
- background: rgba(0,0,0,0.55);
642
- backdrop-filter: blur(12px);
643
- -webkit-backdrop-filter: blur(12px);
652
+ background: rgba(0,0,0,0.75);
644
653
  padding: 8px 14px;
645
654
  border-radius: 10px;
646
655
  z-index: 4;
@@ -1087,8 +1096,8 @@
1087
1096
  <header>
1088
1097
  <nav>
1089
1098
  <div class="logo">
1090
- <div class="logo-mark">A</div>
1091
- <div class="logo-text">Agent<span>Link</span></div>
1099
+ <img class="logo-mark" src="/favicon.svg" alt="AgenticWorker">
1100
+ <div class="logo-text">Agentic<span>Worker</span></div>
1092
1101
  </div>
1093
1102
  <div class="nav-links">
1094
1103
  <a href="#features">Features</a>
@@ -25,6 +25,9 @@
25
25
  <meta name="twitter:description" content="Claude Code 开源版远程控制。对话、多 Agent 协作、定时任务三大模式,手机或任何浏览器即可操控,端到端加密,无需注册。">
26
26
  <meta name="twitter:image" content="https://msclaude.ai/iPad.png">
27
27
  <link rel="icon" type="image/svg+xml" href="/favicon.svg">
28
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
29
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
30
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
28
31
  <script type="application/ld+json">
29
32
  {
30
33
  "@context": "https://schema.org",
@@ -43,6 +46,11 @@
43
46
 
44
47
  * { margin: 0; padding: 0; box-sizing: border-box; }
45
48
 
49
+ html {
50
+ overflow-x: hidden;
51
+ overscroll-behavior-x: none;
52
+ }
53
+
46
54
  :root {
47
55
  --bg: #06080f;
48
56
  --surface: rgba(255,255,255,0.03);
@@ -69,6 +77,9 @@
69
77
  line-height: 1.6;
70
78
  min-height: 100vh;
71
79
  overflow-x: hidden;
80
+ overscroll-behavior-x: none;
81
+ position: relative;
82
+ width: 100%;
72
83
  }
73
84
 
74
85
  /* ── Ambient Background ── */
@@ -81,6 +92,8 @@
81
92
  pointer-events: none;
82
93
  z-index: 0;
83
94
  overflow: hidden;
95
+ contain: strict;
96
+ will-change: transform;
84
97
  }
85
98
 
86
99
  .ambient-orb {
@@ -89,6 +102,8 @@
89
102
  filter: blur(120px);
90
103
  opacity: 0.35;
91
104
  animation: float 20s ease-in-out infinite;
105
+ will-change: transform;
106
+ contain: layout style;
92
107
  }
93
108
 
94
109
  .ambient-orb:nth-child(1) {
@@ -133,12 +148,15 @@
133
148
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
134
149
  background-repeat: repeat;
135
150
  background-size: 256px 256px;
151
+ will-change: transform;
152
+ contain: strict;
136
153
  }
137
154
 
138
155
  /* ── Content wrapper ── */
139
156
  .content {
140
157
  position: relative;
141
158
  z-index: 2;
159
+ overflow-x: hidden;
142
160
  }
143
161
 
144
162
  /* ── Nav ── */
@@ -163,13 +181,6 @@
163
181
  .logo-mark {
164
182
  width: 28px; height: 28px;
165
183
  border-radius: 8px;
166
- background: linear-gradient(135deg, var(--accent), var(--rose));
167
- display: flex;
168
- align-items: center;
169
- justify-content: center;
170
- font-size: 0.75rem;
171
- font-weight: 800;
172
- color: #fff;
173
184
  box-shadow: 0 0 20px var(--accent-glow);
174
185
  }
175
186
 
@@ -378,9 +389,7 @@
378
389
  .terminal {
379
390
  max-width: 520px;
380
391
  margin: 0 auto;
381
- background: rgba(10,10,20,0.7);
382
- backdrop-filter: blur(20px);
383
- -webkit-backdrop-filter: blur(20px);
392
+ background: rgba(10,10,20,0.92);
384
393
  border: 1px solid var(--border);
385
394
  border-radius: 14px;
386
395
  overflow: hidden;
@@ -484,6 +493,7 @@
484
493
  align-items: end;
485
494
  gap: 2rem;
486
495
  animation: fadeInUp 1s ease-out 0.6s both;
496
+ overflow: hidden;
487
497
  }
488
498
 
489
499
  .showcase::before {
@@ -492,14 +502,15 @@
492
502
  top: 50%;
493
503
  left: 50%;
494
504
  transform: translate(-50%, -50%);
495
- width: 120%;
496
- height: 120%;
505
+ width: 100%;
506
+ height: 100%;
497
507
  background:
498
508
  radial-gradient(ellipse at 35% 50%, rgba(59,130,246,0.12) 0%, transparent 55%),
499
509
  radial-gradient(ellipse at 65% 50%, rgba(245,158,11,0.08) 0%, transparent 55%);
500
510
  pointer-events: none;
501
511
  z-index: 0;
502
512
  filter: blur(60px);
513
+ will-change: transform;
503
514
  }
504
515
 
505
516
  .showcase::after {
@@ -639,9 +650,7 @@
639
650
  display: flex;
640
651
  flex-direction: column;
641
652
  gap: 2px;
642
- background: rgba(0,0,0,0.55);
643
- backdrop-filter: blur(12px);
644
- -webkit-backdrop-filter: blur(12px);
653
+ background: rgba(0,0,0,0.75);
645
654
  padding: 8px 14px;
646
655
  border-radius: 10px;
647
656
  z-index: 4;
@@ -1088,8 +1097,8 @@
1088
1097
  <header>
1089
1098
  <nav>
1090
1099
  <div class="logo">
1091
- <div class="logo-mark">A</div>
1092
- <div class="logo-text">Agent<span>Link</span></div>
1100
+ <img class="logo-mark" src="/favicon.svg" alt="AgenticWorker">
1101
+ <div class="logo-text">Agentic<span>Worker</span></div>
1093
1102
  </div>
1094
1103
  <div class="nav-links">
1095
1104
  <a href="#features">功能</a>