@agent-link/server 0.1.402 → 0.1.404

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.
Files changed (29) hide show
  1. package/dist/session-manager.d.ts +1 -0
  2. package/dist/session-manager.js.map +1 -1
  3. package/dist/ws-agent.js +2 -0
  4. package/dist/ws-agent.js.map +1 -1
  5. package/dist/ws-client.js +2 -0
  6. package/dist/ws-client.js.map +1 -1
  7. package/package.json +1 -1
  8. package/web/dist/assets/{cssMode-CvEmwnY6.js → cssMode-52REqxyt.js} +1 -1
  9. package/web/dist/assets/{editor.main-DhwGDfZ7.js → editor.main-DY-_LnNQ.js} +3 -3
  10. package/web/dist/assets/{freemarker2-D-T_g6VA.js → freemarker2-DtnpQ0rD.js} +1 -1
  11. package/web/dist/assets/{handlebars-CSjaV8XX.js → handlebars-B3dEWvHB.js} +1 -1
  12. package/web/dist/assets/{html-C-PfS9GW.js → html-DFrbWbly.js} +1 -1
  13. package/web/dist/assets/{htmlMode-gx1G-kl4.js → htmlMode-COb6cUQs.js} +1 -1
  14. package/web/dist/assets/{index-Du6VaLKO.css → index-ChjdY8ch.css} +1 -1
  15. package/web/dist/assets/{index-Eu3E2TT8.js → index-DQoaSLb6.js} +3 -3
  16. package/web/dist/assets/{javascript-aJoqI3A6.js → javascript-B-jLmlrg.js} +1 -1
  17. package/web/dist/assets/{jsonMode-xuULxs19.js → jsonMode-BCpseYqF.js} +1 -1
  18. package/web/dist/assets/{liquid-BVrfVj60.js → liquid-DnFrwFbK.js} +1 -1
  19. package/web/dist/assets/{lspLanguageFeatures-BZiIP0oN.js → lspLanguageFeatures-B2voLWzQ.js} +1 -1
  20. package/web/dist/assets/{mdx-BKn2B9fm.js → mdx-CVrywF4v.js} +1 -1
  21. package/web/dist/assets/{python-C2zV6nEh.js → python-DzmBxjO9.js} +1 -1
  22. package/web/dist/assets/{razor-Bw4q6KhN.js → razor-DVwpkXja.js} +1 -1
  23. package/web/dist/assets/{tsMode-DhlDyYM6.js → tsMode-DppHWq4-.js} +1 -1
  24. package/web/dist/assets/{typescript-BoEgrba8.js → typescript-Cr_Gs-FJ.js} +1 -1
  25. package/web/dist/assets/{xml-Bd1h-iib.js → xml-CqEu7Gdk.js} +1 -1
  26. package/web/dist/assets/{yaml-Dqzf7OM3.js → yaml-D0ETZ9_C.js} +1 -1
  27. package/web/dist/index.html +2 -2
  28. package/web/dist/landing.html +0 -131
  29. package/web/dist/landing.zh.html +0 -131
@@ -1 +1 @@
1
- import{l as e}from"./editor.main-DhwGDfZ7.js";import"./index-Eu3E2TT8.js";const n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},t={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{n as conf,t as language};
1
+ import{l as e}from"./editor.main-DY-_LnNQ.js";import"./index-DQoaSLb6.js";const n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},t={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}};export{n as conf,t as language};
@@ -57,8 +57,8 @@
57
57
  : './vendor/github-dark.min.css';
58
58
  })();
59
59
  </script>
60
- <script type="module" crossorigin src="./assets/index-Eu3E2TT8.js"></script>
61
- <link rel="stylesheet" crossorigin href="./assets/index-Du6VaLKO.css">
60
+ <script type="module" crossorigin src="./assets/index-DQoaSLb6.js"></script>
61
+ <link rel="stylesheet" crossorigin href="./assets/index-ChjdY8ch.css">
62
62
  </head>
63
63
  <body>
64
64
  <div id="app"></div>
@@ -571,12 +571,7 @@
571
571
  <span>AgenticWorker</span>
572
572
  </div>
573
573
  <div class="nav-links">
574
- <a href="#features">Features</a>
575
574
  <a href="/zh" class="nav-lang">中文</a>
576
- <a href="https://github.com/kailunshi_microsoft/AgenticWorker" target="_blank" rel="noopener" class="nav-gh">
577
- <svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
578
- GitHub
579
- </a>
580
575
  </div>
581
576
  </nav>
582
577
  </header>
@@ -585,20 +580,12 @@
585
580
 
586
581
  <!-- Hero -->
587
582
  <section class="hero">
588
- <div class="hero-badge">
589
- <div class="hero-badge-dot"></div>
590
- Open Source &middot; End-to-End Encrypted
591
- </div>
592
583
  <h1>Remote Control<br><em>for Claude Code.</em></h1>
593
584
  <div class="cta-group">
594
585
  <button class="cta-primary" onclick="copyInstall()">
595
586
  <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line></svg>
596
587
  Quick Install
597
588
  </button>
598
- <a href="https://github.com/kailunshi_microsoft/AgenticWorker" target="_blank" rel="noopener" class="cta-secondary">
599
- <svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
600
- View on GitHub
601
- </a>
602
589
  </div>
603
590
 
604
591
  <div class="terminal">
@@ -617,9 +604,6 @@
617
604
  <span class="terminal-prompt">$</span>
618
605
  <span class="terminal-cmd">agentlink-client start -D</span>
619
606
  </div>
620
- <div class="terminal-output" style="opacity:0.6;font-style:italic;">
621
- # Microsoft employees: use <button type="button" style="font-family:monospace;cursor:pointer;background:none;border:none;padding:0;color:inherit;font:inherit;" onclick="copyCmd('agentlink-client start -D --entra')">agentlink-client start -D --entra</button>
622
- </div>
623
607
  <div class="terminal-output">
624
608
  Session ready &rarr; <a>https://msclaude.ai/s/abc123</a>
625
609
  </div>
@@ -627,129 +611,14 @@
627
611
  </div>
628
612
  </section>
629
613
 
630
- <!-- Device Showcase -->
631
- <section class="showcase">
632
- <div class="device device-ipad">
633
- <div class="ipad-carousel">
634
- <div class="carousel-track">
635
- <div class="carousel-slide active">
636
- <img src="/images/chat-iPad.webp" alt="AgenticWorker Chat mode on iPad" loading="eager">
637
- <div class="carousel-label">
638
- <span class="carousel-label-title">Chat</span>
639
- <span class="carousel-label-desc">Remote pair-programming with Claude Code</span>
640
- </div>
641
- </div>
642
- <div class="carousel-slide">
643
- <img src="/images/team-iPad.webp" alt="AgenticWorker Team mode on iPad" loading="eager">
644
- <div class="carousel-label">
645
- <span class="carousel-label-title">Teams</span>
646
- <span class="carousel-label-desc">Orchestrate multiple agents in parallel</span>
647
- </div>
648
- </div>
649
- <div class="carousel-slide">
650
- <img src="/images/loop-iPad.webp" alt="AgenticWorker Loop mode on iPad" loading="eager">
651
- <div class="carousel-label">
652
- <span class="carousel-label-title">Loop</span>
653
- <span class="carousel-label-desc">Scheduled tasks with cron automation</span>
654
- </div>
655
- </div>
656
- </div>
657
- <div class="carousel-dots">
658
- <button class="carousel-dot active" data-index="0" aria-label="Chat mode"></button>
659
- <button class="carousel-dot" data-index="1" aria-label="Team mode"></button>
660
- <button class="carousel-dot" data-index="2" aria-label="Loop mode"></button>
661
- </div>
662
- </div>
663
- </div>
664
- <div class="device device-iphone">
665
- <img src="/images/chat-iPhone.webp" alt="AgenticWorker mobile interface on iPhone" loading="eager">
666
- </div>
667
- </section>
668
614
 
669
615
  <div class="divider"></div>
670
616
 
671
- <!-- Features -->
672
- <section class="features" id="features">
673
- <h2 class="sr-only">Features</h2>
674
-
675
- <div class="feature-card wide">
676
- <div class="mode-pills">
677
- <span class="mode-pill active">
678
- <svg viewBox="0 0 24 24"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>
679
- Chat
680
- </span>
681
- <span class="mode-pill">
682
- <svg viewBox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
683
- Team
684
- </span>
685
- <span class="mode-pill">
686
- <svg viewBox="0 0 24 24"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>
687
- Loop
688
- </span>
689
- </div>
690
- <h3>Three Modes, One Interface</h3>
691
- <p>Chat with Claude interactively, spawn agent teams for complex tasks, or schedule recurring Loop jobs with cron &mdash; all from the same browser tab.</p>
692
- </div>
693
-
694
- <div class="feature-card">
695
- <div class="feature-icon cyan">
696
- <svg viewBox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg>
697
- </div>
698
- <h3>Any Device</h3>
699
- <p>Phone, tablet, laptop &mdash; any browser becomes your Claude Code terminal.</p>
700
- </div>
701
-
702
- <div class="feature-card wide">
703
- <div class="encrypt-visual">
704
- <div class="encrypt-block">hello world</div>
705
- <div class="encrypt-arrow">&rarr;</div>
706
- <div class="encrypt-block locked">x9f#k2$mQ...</div>
707
- <div class="encrypt-arrow">&rarr;</div>
708
- <div class="encrypt-block">hello world</div>
709
- </div>
710
- <h3>End-to-End Encrypted</h3>
711
- <p>XSalsa20-Poly1305 encryption. The relay server is a blind forwarder &mdash; it never sees your code, prompts, or data.</p>
712
- </div>
713
-
714
- <div class="feature-card">
715
- <div class="feature-icon green">
716
- <svg viewBox="0 0 24 24"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg>
717
- </div>
718
- <h3>Self-Hostable</h3>
719
- <p>Run your own relay server. Your infrastructure, your rules, your data.</p>
720
- </div>
721
-
722
- <div class="feature-card">
723
- <div class="feature-icon">
724
- <svg viewBox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
725
- </div>
726
- <h3>Multi-Agent Teams</h3>
727
- <p>Spawn parallel Claude subagents to tackle complex tasks. Live kanban board, activity feed, and team history.</p>
728
- </div>
729
-
730
- <div class="feature-card">
731
- <div class="feature-icon">
732
- <svg viewBox="0 0 24 24"><rect x="2" y="3" width="8" height="8" rx="1.5"></rect><rect x="14" y="3" width="8" height="8" rx="1.5"></rect><rect x="2" y="13" width="8" height="8" rx="1.5"></rect><rect x="14" y="13" width="8" height="8" rx="1.5"></rect></svg>
733
- </div>
734
- <h3>Multi Session</h3>
735
- <p>Run multiple conversations in parallel. Switch between tasks without losing context.</p>
736
- </div>
737
-
738
- <div class="feature-card">
739
- <div class="feature-icon amber">
740
- <svg viewBox="0 0 24 24"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
741
- </div>
742
- <h3>Zero Config</h3>
743
- <p>No accounts. No registration. Install, start, open &mdash; done.</p>
744
- </div>
745
- </section>
746
-
747
617
  </main>
748
618
 
749
619
  <footer>
750
620
  <div class="footer-links">
751
621
  <span class="footer-brand">AgenticWorker</span>
752
- <a href="https://github.com/kailunshi_microsoft/AgenticWorker" rel="noopener">GitHub</a>
753
622
  <a href="https://www.linkedin.com/in/shikailun/" rel="noopener">LinkedIn</a>
754
623
  </div>
755
624
  </footer>
@@ -573,12 +573,7 @@
573
573
  <span>AgenticWorker</span>
574
574
  </div>
575
575
  <div class="nav-links">
576
- <a href="#features">功能</a>
577
576
  <a href="/" class="nav-lang">EN</a>
578
- <a href="https://github.com/kailunshi_microsoft/AgenticWorker" target="_blank" rel="noopener" class="nav-gh">
579
- <svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
580
- GitHub
581
- </a>
582
577
  </div>
583
578
  </nav>
584
579
  </header>
@@ -587,20 +582,12 @@
587
582
 
588
583
  <!-- Hero -->
589
584
  <section class="hero">
590
- <div class="hero-badge">
591
- <div class="hero-badge-dot"></div>
592
- 开源免费 &middot; 端到端加密
593
- </div>
594
585
  <h1>Claude Code<br><em>随时随地操控。</em></h1>
595
586
  <div class="cta-group">
596
587
  <button class="cta-primary" onclick="copyInstall()">
597
588
  <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line></svg>
598
589
  一键安装
599
590
  </button>
600
- <a href="https://github.com/kailunshi_microsoft/AgenticWorker" target="_blank" rel="noopener" class="cta-secondary">
601
- <svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
602
- 查看源码
603
- </a>
604
591
  </div>
605
592
 
606
593
  <div class="terminal">
@@ -619,9 +606,6 @@
619
606
  <span class="terminal-prompt">$</span>
620
607
  <span class="terminal-cmd">agentlink-client start -D</span>
621
608
  </div>
622
- <div class="terminal-output" style="opacity:0.6;font-style:italic;">
623
- # 微软员工请使用 <button type="button" style="font-family:monospace;cursor:pointer;background:none;border:none;padding:0;color:inherit;font-size:inherit;" onclick="copyCmd('agentlink-client start -D --entra')">agentlink-client start -D --entra</button>
624
- </div>
625
609
  <div class="terminal-output">
626
610
  会话就绪 &rarr; <a>https://msclaude.ai/s/abc123</a>
627
611
  </div>
@@ -629,129 +613,14 @@
629
613
  </div>
630
614
  </section>
631
615
 
632
- <!-- Device Showcase -->
633
- <section class="showcase">
634
- <div class="device device-ipad">
635
- <div class="ipad-carousel">
636
- <div class="carousel-track">
637
- <div class="carousel-slide active">
638
- <img src="/images/chat-iPad.webp" alt="AgenticWorker 聊天模式 iPad 界面" loading="eager">
639
- <div class="carousel-label">
640
- <span class="carousel-label-title">Chat</span>
641
- <span class="carousel-label-desc">远程与 Claude Code 结对编程</span>
642
- </div>
643
- </div>
644
- <div class="carousel-slide">
645
- <img src="/images/team-iPad.webp" alt="AgenticWorker 团队模式 iPad 界面" loading="eager">
646
- <div class="carousel-label">
647
- <span class="carousel-label-title">Teams</span>
648
- <span class="carousel-label-desc">并行编排多个 Agent 协同工作</span>
649
- </div>
650
- </div>
651
- <div class="carousel-slide">
652
- <img src="/images/loop-iPad.webp" alt="AgenticWorker 循环模式 iPad 界面" loading="eager">
653
- <div class="carousel-label">
654
- <span class="carousel-label-title">Loop</span>
655
- <span class="carousel-label-desc">通过 Cron 定时调度自动化任务</span>
656
- </div>
657
- </div>
658
- </div>
659
- <div class="carousel-dots">
660
- <button class="carousel-dot active" data-index="0" aria-label="聊天模式"></button>
661
- <button class="carousel-dot" data-index="1" aria-label="团队模式"></button>
662
- <button class="carousel-dot" data-index="2" aria-label="循环模式"></button>
663
- </div>
664
- </div>
665
- </div>
666
- <div class="device device-iphone">
667
- <img src="/images/chat-iPhone.webp" alt="AgenticWorker 手机端界面" loading="eager">
668
- </div>
669
- </section>
670
616
 
671
617
  <div class="divider"></div>
672
618
 
673
- <!-- Features -->
674
- <section class="features" id="features">
675
- <h2 class="sr-only">功能</h2>
676
-
677
- <div class="feature-card wide">
678
- <div class="mode-pills">
679
- <span class="mode-pill active">
680
- <svg viewBox="0 0 24 24"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>
681
- Chat
682
- </span>
683
- <span class="mode-pill">
684
- <svg viewBox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
685
- Team
686
- </span>
687
- <span class="mode-pill">
688
- <svg viewBox="0 0 24 24"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>
689
- Loop
690
- </span>
691
- </div>
692
- <h3>三大模式,一个界面</h3>
693
- <p>和 Claude 交互对话、启动 Agent 团队处理复杂任务、或用 Cron 调度定时 Loop 任务 &mdash; 全在同一个浏览器标签页里。</p>
694
- </div>
695
-
696
- <div class="feature-card">
697
- <div class="feature-icon cyan">
698
- <svg viewBox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg>
699
- </div>
700
- <h3>任何设备</h3>
701
- <p>手机、平板、笔记本 &mdash; 有浏览器就行,随时切到你的 Claude。</p>
702
- </div>
703
-
704
- <div class="feature-card wide">
705
- <div class="encrypt-visual">
706
- <div class="encrypt-block">你的代码</div>
707
- <div class="encrypt-arrow">&rarr;</div>
708
- <div class="encrypt-block locked">x9f#k2$mQ...</div>
709
- <div class="encrypt-arrow">&rarr;</div>
710
- <div class="encrypt-block">你的代码</div>
711
- </div>
712
- <h3>端到端加密</h3>
713
- <p>XSalsa20-Poly1305 加密。中继服务器只是个盲转发器 &mdash; 看不到你的代码、提示词或任何数据。</p>
714
- </div>
715
-
716
- <div class="feature-card">
717
- <div class="feature-icon green">
718
- <svg viewBox="0 0 24 24"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg>
719
- </div>
720
- <h3>可自建部署</h3>
721
- <p>一条命令启动你自己的中继服务器。你的基础设施,你的规则。</p>
722
- </div>
723
-
724
- <div class="feature-card">
725
- <div class="feature-icon">
726
- <svg viewBox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
727
- </div>
728
- <h3>多 Agent 协作</h3>
729
- <p>启动多个 Claude 子 Agent 并行处理复杂任务,实时看板面板、活动动态、团队历史记录。</p>
730
- </div>
731
-
732
- <div class="feature-card">
733
- <div class="feature-icon">
734
- <svg viewBox="0 0 24 24"><rect x="2" y="3" width="8" height="8" rx="1.5"></rect><rect x="14" y="3" width="8" height="8" rx="1.5"></rect><rect x="2" y="13" width="8" height="8" rx="1.5"></rect><rect x="14" y="13" width="8" height="8" rx="1.5"></rect></svg>
735
- </div>
736
- <h3>多会话并行</h3>
737
- <p>同时跑多个对话,自由切换,互不干扰。</p>
738
- </div>
739
-
740
- <div class="feature-card">
741
- <div class="feature-icon amber">
742
- <svg viewBox="0 0 24 24"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
743
- </div>
744
- <h3>开箱即用</h3>
745
- <p>不用注册账号,不用配置环境。安装、启动、打开链接,三步搞定。</p>
746
- </div>
747
- </section>
748
-
749
619
  </main>
750
620
 
751
621
  <footer>
752
622
  <div class="footer-links">
753
623
  <span class="footer-brand">AgenticWorker</span>
754
- <a href="https://github.com/kailunshi_microsoft/AgenticWorker" rel="noopener">GitHub</a>
755
624
  <a href="https://www.linkedin.com/in/shikailun/" rel="noopener">LinkedIn</a>
756
625
  </div>
757
626
  </footer>