made-bridge 0.0.0-stage → 0.2.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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +45 -2
  3. package/builtin/plugins/README.md +22 -0
  4. package/builtin/themes/README.md +64 -0
  5. package/builtin/themes/sunset/theme.json +19 -0
  6. package/config.example.json +20 -0
  7. package/demo-project/README.md +5 -0
  8. package/demo-project/index.mjs +14 -0
  9. package/package.json +48 -4
  10. package/public/app.js +1028 -0
  11. package/public/assistants.html +67 -0
  12. package/public/bean-icon.png +0 -0
  13. package/public/i18n-messages.js +967 -0
  14. package/public/i18n-static.js +615 -0
  15. package/public/i18n.js +50 -0
  16. package/public/index.html +149 -0
  17. package/public/made-icon.png +0 -0
  18. package/public/plugins.html +64 -0
  19. package/public/plugins.js +335 -0
  20. package/public/provider-icon.js +77 -0
  21. package/public/styles.css +445 -0
  22. package/public/tasks.html +85 -0
  23. package/src/agent-icons.mjs +138 -0
  24. package/src/agents/codex.mjs +94 -0
  25. package/src/agents/cursor.mjs +31 -0
  26. package/src/agents/events.mjs +92 -0
  27. package/src/agents/index.mjs +7 -0
  28. package/src/agents/qoder.mjs +34 -0
  29. package/src/agents/shared.mjs +191 -0
  30. package/src/agents/workbuddy.mjs +121 -0
  31. package/src/board-link.mjs +266 -0
  32. package/src/config.mjs +196 -0
  33. package/src/doctor.mjs +146 -0
  34. package/src/i18n.mjs +257 -0
  35. package/src/installed.mjs +291 -0
  36. package/src/jobs.mjs +369 -0
  37. package/src/language-settings.mjs +38 -0
  38. package/src/model-settings.mjs +63 -0
  39. package/src/openai-key.mjs +47 -0
  40. package/src/oray.mjs +243 -0
  41. package/src/pairing.mjs +203 -0
  42. package/src/plugin-package.mjs +132 -0
  43. package/src/plugin-runtime.mjs +169 -0
  44. package/src/plugins/contracts.d.ts +184 -0
  45. package/src/plugins/enhance.mjs +156 -0
  46. package/src/plugins/registry.mjs +146 -0
  47. package/src/providers.mjs +75 -0
  48. package/src/server.mjs +939 -0
  49. package/src/sessions.mjs +134 -0
  50. package/src/speech/index.mjs +10 -0
  51. package/src/speech/openai.mjs +48 -0
  52. package/src/speech/whisper.mjs +59 -0
  53. package/src/speech-settings.mjs +209 -0
  54. package/src/transcribe.mjs +85 -0
  55. package/src/tunnel.mjs +531 -0
  56. package/src/usb-receiver.mjs +664 -0
  57. package/src/voice-settings.mjs +69 -0
@@ -0,0 +1,67 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <meta name="theme-color" content="#faf3e7">
7
+ <title data-i18n="static.092">助手 · 码得</title>
8
+ <link rel="icon" type="image/png" sizes="112x112" href="/made-icon.png">
9
+ <link rel="stylesheet" href="/styles.css">
10
+ </head>
11
+ <body data-page="assistants">
12
+ <div class="page-glow" aria-hidden="true"></div>
13
+ <div class="app">
14
+ <header class="topbar">
15
+ <a class="brand" href="/" aria-label="码得大盘" data-i18n-aria-label="static.002">
16
+ <span class="brand-mark" aria-hidden="true"><img src="/made-icon.png" alt="" width="112" height="112"></span>
17
+ <span><span class="brand-name"><span data-i18n="static.003">码得</span></span><span class="brand-sub"><span data-i18n="static.004">made · CODING COMPANION</span></span></span>
18
+ </a>
19
+ <nav class="topnav" aria-label="页面导航" data-i18n-aria-label="static.005"><a href="/"><span data-i18n="static.006">大盘</span></a><a class="active" aria-current="page" href="/assistants.html"><span data-i18n="static.007">助手</span></a><a href="/tasks.html"><span data-i18n="static.008">任务</span></a><a href="/plugins.html"><span data-i18n="static.140">插件</span></a></nav>
20
+ <div class="language-picker"><label for="languageSelect" data-i18n="language.label">语言</label><select id="languageSelect" aria-label="界面语言" data-i18n-aria-label="language.label"><option value="zh-CN">简体中文</option><option value="en">English</option></select></div>
21
+ <div class="top-actions">
22
+ <span id="headerConnection" class="connection-pill"><span class="dot"></span><span><span data-i18n="static.009">正在连接</span></span></span>
23
+ <button id="refreshButton" class="icon-button" type="button" title="刷新状态" aria-label="刷新状态" data-i18n-title="static.010" data-i18n-aria-label="static.010"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M20 11a8 8 0 1 0-2.3 6.1"/><path d="M20 5v6h-6"/></svg></button>
24
+ </div>
25
+ </header>
26
+
27
+ <main id="top">
28
+ <section class="hero" aria-labelledby="hero-title">
29
+ <div><span class="eyebrow"><span data-i18n="static.093">DESKTOP AGENTS · MODEL SETTINGS</span></span><h1 id="hero-title"><span data-i18n="static.094">你的助手,</span><em><span data-i18n="static.095">各司其职。</span></em></h1><p class="hero-desc"><span data-i18n="static.096">查看已安装的编程助手,并为支持模型配置的助手分别选择模型。安装插件并重启桥接器后,它会自动出现在这里。</span></p></div>
30
+ </section>
31
+ <div class="dashboard-layout assistants-layout">
32
+ <div class="stack">
33
+ <section class="panel info-panel providers-panel" aria-labelledby="providers-title"><h2 id="providers-title"><span data-i18n="static.097">编程助手</span></h2><p class="panel-intro"><span data-i18n="static.098">当前电脑上可用的执行入口。</span></p><div id="providerGrid" class="provider-grid"></div></section>
34
+ </div>
35
+ <div class="stack">
36
+ <section id="modelSettings" class="panel info-panel" aria-labelledby="model-settings-title">
37
+ <h2 id="model-settings-title"><span data-i18n="static.099">编程助手模型</span></h2>
38
+ <p class="panel-intro"><span data-i18n="static.100">为支持此功能的助手分别选择模型;保存后从下一条指令开始生效。语音识别模型在“大盘”中设置。</span></p>
39
+ <form id="modelSettingsForm" class="voice-settings-form" autocomplete="off">
40
+ <div id="modelPluginFields" class="voice-settings-form">
41
+ <div><label class="field-label" for="codexModel"><span data-i18n="static.101">Codex</span></label><input id="codexModel" class="secret-input" type="text" spellcheck="false" autocapitalize="off" placeholder="gpt-6-astra" required><p class="panel-intro"><span data-i18n="static.102">当前电脑账号已验证 gpt-6-astra 可用。</span></p></div>
42
+ <div><label class="field-label" for="cursorModel"><span data-i18n="static.103">Cursor</span></label><input id="cursorModel" class="secret-input" type="text" spellcheck="false" autocapitalize="off" placeholder="留空则使用 Cursor 当前默认模型" data-i18n-placeholder="static.104"></div>
43
+ <div><label class="field-label" for="qoderModel"><span data-i18n="static.105">Qoder</span></label><input id="qoderModel" class="secret-input" type="text" spellcheck="false" autocapitalize="off" placeholder="留空则使用 Qoder 当前默认模型" data-i18n-placeholder="static.106"></div>
44
+ </div>
45
+ <div class="voice-settings-actions"><button id="saveModels" class="primary-button" type="submit"><span data-i18n="static.107">保存模型选择</span></button></div>
46
+ <p id="modelSettingsMessage" class="voice-settings-message" role="status" aria-live="polite"></p>
47
+ </form>
48
+ <p id="modelPluginHelp" class="panel-intro"><span data-i18n="static.108">模型名称需由对应助手账号支持。</span></p>
49
+ </section>
50
+ </div>
51
+ </div>
52
+ </main>
53
+ <footer class="footer"><span><span data-i18n="static.082">码得 · 多助手桥接</span></span><span id="lastUpdated"><span data-i18n="static.083">等待首次同步</span></span></footer>
54
+ </div>
55
+ <div id="toast" class="toast" role="status" aria-live="polite"></div>
56
+ <div id="pairingOverlay" class="pairing-overlay" hidden>
57
+ <section class="pairing-dialog" role="dialog" aria-modal="true" aria-labelledby="pairingDialogTitle" aria-describedby="pairingDialogDescription">
58
+ <div class="pairing-dialog-top"><div><span class="section-kicker"><span data-i18n="static.084">设备请求连接</span></span><h2 id="pairingDialogTitle"><span data-i18n="static.085">确认码得配对</span></h2></div><button id="pairingDismissButton" class="icon-button" type="button" title="稍后处理" aria-label="稍后处理" data-i18n-title="static.086" data-i18n-aria-label="static.086">×</button></div>
59
+ <p id="pairingDialogDescription"><span data-i18n="static.087">请核对下方数字是否与码得显示的一致。只有你确认后,这台设备才能控制电脑上的编程助手。</span></p>
60
+ <strong id="pairingCode" class="pairing-code" aria-label="配对验证码" data-i18n-aria-label="static.088"><span data-i18n="static.089">000000</span></strong>
61
+ <span id="pairingRemaining" class="pairing-remaining"></span>
62
+ <div class="pairing-dialog-actions"><button id="pairingRejectButton" class="small-button" type="button"><span data-i18n="static.090">拒绝连接</span></button><button id="pairingConfirmButton" class="primary-button" type="button"><span data-i18n="static.091">数字一致,确认连接</span></button></div>
63
+ </section>
64
+ </div>
65
+ <script type="module" src="/app.js"></script>
66
+ </body>
67
+ </html>
Binary file