D121: update homepage - clean module listing
This commit is contained in:
parent
c8fc63d2b2
commit
5d1527a38e
@ -3,398 +3,115 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>bingshuo / open-modules · 光湖开源模块仓库</title>
|
<title>bingshuo / open-modules</title>
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root{--bg:#0d1117;--s:#161b22;--b:#30363d;--t:#c9d1d9;--d:#8b949e;--a:#58a6ff;--g:#3fb950}
|
||||||
--bg: #0d1117;
|
|
||||||
--surface: #161b22;
|
|
||||||
--border: #30363d;
|
|
||||||
--border-h: #58a6ff;
|
|
||||||
--text: #c9d1d9;
|
|
||||||
--dim: #8b949e;
|
|
||||||
--accent: #58a6ff;
|
|
||||||
--green: #3fb950;
|
|
||||||
--gold: #d2991d;
|
|
||||||
}
|
|
||||||
*{margin:0;padding:0;box-sizing:border-box}
|
*{margin:0;padding:0;box-sizing:border-box}
|
||||||
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;min-height:100vh;font-size:14px;line-height:1.6}
|
body{background:var(--bg);color:var(--t);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;min-height:100vh}
|
||||||
|
.hdr{background:var(--s);border-bottom:1px solid var(--b);padding:24px 32px}
|
||||||
/* Repo Header */
|
.hdr h1{font-size:22px;display:flex;align-items:center;gap:10px}
|
||||||
.repo-hdr {
|
.hdr .badge{border:1px solid var(--b);border-radius:12px;padding:2px 10px;font-size:11px;color:var(--d)}
|
||||||
background:var(--surface);
|
.hdr .desc{font-size:13px;color:var(--d);margin-top:8px;max-width:600px}
|
||||||
border-bottom:1px solid var(--border);
|
.main{padding:32px;max-width:900px;margin:0 auto}
|
||||||
padding:20px 28px;
|
.card{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:28px;margin-bottom:20px}
|
||||||
}
|
.card h2{font-size:18px;margin-bottom:12px}
|
||||||
.repo-hdr .breadcrumb {font-size:13px;color:var(--dim);margin-bottom:8px}
|
.card .info{font-size:13px;color:var(--d);line-height:1.8}
|
||||||
.repo-hdr .breadcrumb a {color:var(--accent);text-decoration:none}
|
.card .info code{background:#0d1117;padding:2px 6px;border-radius:4px;font-size:12px;color:var(--a)}
|
||||||
.repo-hdr .breadcrumb a:hover {text-decoration:underline}
|
.module{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:24px;margin-bottom:16px;display:flex;gap:20px;align-items:flex-start;cursor:pointer;transition:border-color .2s}
|
||||||
.repo-hdr h1 {font-size:22px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:10px}
|
.module:hover{border-color:var(--a)}
|
||||||
.repo-hdr h1 .badge {display:inline-block;padding:2px 8px;border:1px solid var(--border);border-radius:12px;font-size:11px;font-weight:400;color:var(--dim)}
|
.module .icon{font-size:36px;flex-shrink:0}
|
||||||
.repo-hdr .desc {font-size:13px;color:var(--dim);max-width:700px}
|
.module .body{flex:1}
|
||||||
|
.module .name{font-size:16px;font-weight:600;margin-bottom:4px}
|
||||||
/* Tab Bar */
|
.module .id{font-size:11px;color:var(--d);font-family:monospace;margin-bottom:6px}
|
||||||
.tabs {display:flex;border-bottom:1px solid var(--border);padding:0 28px;background:var(--surface);overflow-x:auto}
|
.module .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
|
||||||
.tab {padding:11px 18px;font-size:13px;color:var(--dim);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all 0.15s;display:flex;align-items:center;gap:6px}
|
.module .tag{padding:2px 8px;border:1px solid var(--b);border-radius:8px;font-size:10px;color:var(--d)}
|
||||||
.tab:hover {color:var(--text)}
|
.module .tag.g{border-color:var(--g);color:var(--g)}
|
||||||
.tab.active {color:var(--text);border-bottom-color:var(--accent)}
|
.step{display:flex;gap:12px;padding:12px;background:#0d1117;border-radius:8px;align-items:flex-start;margin-bottom:10px}
|
||||||
.tab .count {background:rgba(88,166,255,0.1);padding:1px 7px;border-radius:10px;font-size:11px}
|
.step .n{width:24px;height:24px;border-radius:50%;background:var(--a);color:#0d1117;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
|
||||||
|
.step .b{font-size:13px;line-height:1.6}
|
||||||
/* Layout */
|
.step .b .t{font-weight:600;margin-bottom:2px}
|
||||||
.layout {display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 140px)}
|
.step .b .d{color:var(--d)}
|
||||||
@media(max-width:800px){.layout{grid-template-columns:1fr}}
|
pre{background:#0d1117;border:1px solid var(--b);border-radius:8px;padding:16px;font-size:12px;line-height:1.6;overflow-x:auto;color:var(--t)}
|
||||||
|
pre .c{color:#6e7681}
|
||||||
/* Sidebar File Tree */
|
.ft{text-align:center;padding:24px;font-size:12px;color:var(--d);border-top:1px solid var(--b)}
|
||||||
.sidebar {background:var(--surface);border-right:1px solid var(--border);padding:12px 0;position:sticky;top:0;max-height:calc(100vh - 140px);overflow-y:auto}
|
|
||||||
.sidebar .sect {padding:6px 18px;font-size:11px;color:var(--dim);font-weight:600;letter-spacing:1px;text-transform:uppercase}
|
|
||||||
.sidebar .file {padding:5px 18px 5px 28px;font-size:12px;color:var(--dim);cursor:pointer;display:flex;align-items:center;gap:7px;transition:all 0.1s}
|
|
||||||
.sidebar .file:hover {color:var(--text);background:rgba(88,166,255,0.04)}
|
|
||||||
.sidebar .file .fi {font-size:13px;width:16px;text-align:center;flex-shrink:0}
|
|
||||||
|
|
||||||
/* Content */
|
|
||||||
.content {padding:28px}
|
|
||||||
|
|
||||||
/* Module Grid - Square Cards */
|
|
||||||
.module-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px}
|
|
||||||
.module-card {
|
|
||||||
background:var(--surface);
|
|
||||||
border:1px solid var(--border);
|
|
||||||
border-radius:12px;
|
|
||||||
padding:24px 20px;
|
|
||||||
cursor:pointer;
|
|
||||||
transition:all 0.2s;
|
|
||||||
display:flex;
|
|
||||||
flex-direction:column;
|
|
||||||
align-items:center;
|
|
||||||
text-align:center;
|
|
||||||
aspect-ratio:1;
|
|
||||||
position:relative;
|
|
||||||
}
|
|
||||||
.module-card:hover {border-color:var(--border-h);transform:translateY(-2px);box-shadow:0 8px 24px rgba(88,166,255,0.08)}
|
|
||||||
.module-card .icon {font-size:40px;margin-bottom:12px}
|
|
||||||
.module-card .name {font-size:15px;font-weight:600;margin-bottom:6px}
|
|
||||||
.module-card .modid {font-size:11px;color:var(--dim);font-family:monospace;margin-bottom:8px}
|
|
||||||
.module-card .tags {display:flex;gap:5px;flex-wrap:wrap;justify-content:center}
|
|
||||||
.module-card .tag {padding:2px 8px;border:1px solid var(--border);border-radius:8px;font-size:10px;color:var(--dim)}
|
|
||||||
.module-card .tag.green {border-color:var(--green);color:var(--green)}
|
|
||||||
|
|
||||||
/* Module Detail Panel */
|
|
||||||
.module-detail {
|
|
||||||
display:none;
|
|
||||||
background:var(--surface);
|
|
||||||
border:1px solid var(--border);
|
|
||||||
border-radius:12px;
|
|
||||||
padding:28px;
|
|
||||||
margin-top:16px;
|
|
||||||
animation:fadeIn 0.2s ease;
|
|
||||||
}
|
|
||||||
.module-detail.show {display:block}
|
|
||||||
@keyframes fadeIn {from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
|
|
||||||
|
|
||||||
.module-detail h2 {font-size:18px;margin-bottom:12px}
|
|
||||||
.module-detail .meta {display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
|
|
||||||
.module-detail .meta span{font-size:12px;color:var(--dim);border:1px solid var(--border);padding:4px 10px;border-radius:8px}
|
|
||||||
.module-detail .desc {font-size:13px;color:var(--dim);line-height:1.8;margin-bottom:20px}
|
|
||||||
.module-detail .section {margin-bottom:20px}
|
|
||||||
.module-detail .section h3 {font-size:13px;font-weight:600;margin-bottom:8px;color:var(--dim);text-transform:uppercase;letter-spacing:1px}
|
|
||||||
.module-detail .code-block {
|
|
||||||
background:#0d1117;border:1px solid var(--border);border-radius:8px;
|
|
||||||
padding:14px 18px;font-family:'SF Mono','Fira Code',monospace;
|
|
||||||
font-size:12px;line-height:1.7;color:var(--text);overflow-x:auto;white-space:pre-wrap
|
|
||||||
}
|
|
||||||
.code-block .c {color:#636e7b}
|
|
||||||
.code-block .s {color:#a5d6ff}
|
|
||||||
.code-block .k {color:#ff7b72}
|
|
||||||
|
|
||||||
/* Steps */
|
|
||||||
.steps {display:flex;flex-direction:column;gap:12px}
|
|
||||||
.step {display:flex;gap:14px;padding:14px;background:#0d1117;border:1px solid var(--border);border-radius:8px;align-items:flex-start}
|
|
||||||
.step .n {width:28px;height:28px;border-radius:50%;background:var(--accent);color:#0d1117;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
|
|
||||||
.step .b {flex:1}
|
|
||||||
.step .b .t {font-size:13px;font-weight:600;margin-bottom:2px}
|
|
||||||
.step .b .d {font-size:12px;color:var(--dim);line-height:1.5}
|
|
||||||
|
|
||||||
/* Footer */
|
|
||||||
.footer {text-align:center;padding:32px;font-size:12px;color:var(--dim);border-top:1px solid var(--border);letter-spacing:1px}
|
|
||||||
|
|
||||||
/* Toast */
|
|
||||||
.toast {position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:#0d1117;padding:10px 20px;border-radius:20px;font-size:13px;font-weight:600;display:none;z-index:999}
|
|
||||||
.toast.show {display:block;animation:toastAnim 2s ease}
|
|
||||||
@keyframes toastAnim{0%{opacity:0;transform:translateX(-50%) translateY(8px)}20%{opacity:1;transform:translateX(-50%) translateY(0)}80%{opacity:1}100%{opacity:0}}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<header class="repo-hdr">
|
<header class="hdr">
|
||||||
<div class="breadcrumb">
|
<h1>open-modules <span class="badge">public</span></h1>
|
||||||
<a href="https://guanghulab.com">guanghulab</a> /
|
<p class="desc">光湖公开模块仓库 · 任何 AI 学完 HLDP 字典即可使用 · 模块热插拔</p>
|
||||||
<a href="https://guanghulab.com/code/bingshuo">bingshuo</a> /
|
|
||||||
<strong>open-modules</strong>
|
|
||||||
</div>
|
|
||||||
<h1>
|
|
||||||
📦 open-modules
|
|
||||||
<span class="badge">public</span>
|
|
||||||
</h1>
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="tabs">
|
<div class="main">
|
||||||
<div class="tab active" onclick="switchTab(this,'modules')">
|
|
||||||
<span>📦</span> 模块
|
|
||||||
<span class="count">1</span>
|
|
||||||
</div>
|
|
||||||
<div class="tab" onclick="switchTab(this,'guide')">
|
|
||||||
<span>📖</span> 接入指南
|
|
||||||
</div>
|
|
||||||
<div class="tab" onclick="switchTab(this,'files')">
|
|
||||||
<span>📁</span> 文件
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layout">
|
<div class="card">
|
||||||
|
<h2>外部 AI 接入流程</h2>
|
||||||
<!-- Sidebar -->
|
<div class="step">
|
||||||
<div class="sidebar">
|
<div class="n">1</div>
|
||||||
<div class="sect">仓库根目录</div>
|
<div class="b"><div class="t">学 HLDP 字典</div><div class="d">读 <code>HLDP-SPEC-v2.0.md</code>,理解 @trigger / @emergence / @lock / @why</div></div>
|
||||||
<div class="file"><span class="fi">📄</span> README.md</div>
|
</div>
|
||||||
<div class="file"><span class="fi">📄</span> WELCOME.md</div>
|
<div class="step">
|
||||||
<div class="sect">agent/</div>
|
<div class="n">2</div>
|
||||||
<div class="file"><span class="fi">📄</span> HLDP-PROTOCOL.md</div>
|
<div class="b"><div class="t">看注册表</div><div class="d">读 <code>module-registry.json</code>,获取可用模块列表</div></div>
|
||||||
<div class="file"><span class="fi">📄</span> module-registry.json</div>
|
</div>
|
||||||
<div class="sect">modules/</div>
|
<div class="step">
|
||||||
<div class="file"><span class="fi">📦</span> MODULE-COVER-001</div>
|
<div class="n">3</div>
|
||||||
<div class="file" style="color:var(--dim);opacity:0.5"><span class="fi">📦</span> MODULE-XXX-002</div>
|
<div class="b"><div class="t">读模块 README</div><div class="d">进入模块目录读 <code>README.md</code>,了解参数和用法</div></div>
|
||||||
<div class="sect">image-studio/</div>
|
</div>
|
||||||
<div class="file"><span class="fi">📄</span> server.js</div>
|
<div class="step">
|
||||||
<div class="file"><span class="fi">📄</span> generate.js</div>
|
<div class="n">4</div>
|
||||||
<div class="file"><span class="fi">📄</span> renderer.js</div>
|
<div class="b"><div class="t">clone + 部署</div><div class="d"><code>git clone https://guanghulab.com/code/bingshuo/open-modules.git && npm install && PORT=3913 node server.js</code></div></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Content -->
|
<h2 style="font-size:16px;margin-bottom:12px;color:var(--d)">可用模块</h2>
|
||||||
<div class="content">
|
|
||||||
|
|
||||||
<!-- Modules Panel -->
|
|
||||||
<div id="panel-modules">
|
|
||||||
<div class="module-grid">
|
|
||||||
|
|
||||||
<!-- Module Card: COVER-001 -->
|
|
||||||
<div class="module-card" onclick="showDetail('cover')">
|
|
||||||
<div class="icon">🎨</div>
|
|
||||||
<div class="name">图片模块</div>
|
|
||||||
<div class="modid">MODULE-COVER-001</div>
|
|
||||||
<div class="tags">
|
|
||||||
<span class="tag green">active</span>
|
|
||||||
<span class="tag">MIT</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Placeholder for future modules -->
|
|
||||||
<div class="module-card" style="opacity:0.35;cursor:not-allowed">
|
|
||||||
<div class="icon">📋</div>
|
|
||||||
<div class="name">即将上线</div>
|
|
||||||
<div class="modid">MODULE-XXX-002</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="module">
|
||||||
|
<div class="icon">📕</div>
|
||||||
|
<div class="body">
|
||||||
|
<div class="name">小红书封面生成器</div>
|
||||||
|
<div class="id">MODULE-COVER-001</div>
|
||||||
|
<div class="tags">
|
||||||
|
<span class="tag g">active</span>
|
||||||
|
<span class="tag">MIT</span>
|
||||||
|
<span class="tag">Puppeteer</span>
|
||||||
|
<span class="tag">Express</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="info">
|
||||||
|
输入标题+描述 → 生成 1080×1440 小红书封面图。<br>
|
||||||
|
纯 HTML/CSS 排版渲染 · 零 GPU · 零 AI 生图 · 全免费。<br>
|
||||||
|
淯径: <code>image-generator/xiaohongshu-cover/</code>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Module Detail -->
|
<div class="card">
|
||||||
<div class="module-detail" id="detail-cover">
|
<h2>API 快速参考</h2>
|
||||||
<h2>🎨 图片模块 · 语言驱动封面生成器</h2>
|
<pre>
|
||||||
<div class="meta">
|
<span class="c"># 获取模板列表</span>
|
||||||
<span>MODULE-COVER-001</span>
|
GET https://guanghulab.com/cover/api/templates
|
||||||
<span>MIT License</span>
|
|
||||||
<span>Puppeteer + Express</span>
|
|
||||||
</div>
|
|
||||||
<p class="desc">
|
|
||||||
输入自然语言描述,系统翻译为设计逻辑,生成独一无二的封面图片。
|
|
||||||
纯 HTML/CSS 排版渲染,不依赖任何 AI 绘画模型。<br><br>
|
|
||||||
<strong style="color:var(--text)">封面底部带有此仓库域名水印。设计编号唯一,证明归属。</strong>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="section">
|
<span class="c"># 生成封面
|
||||||
<h3>技术栈 · 全免费</h3>
|
</span>
|
||||||
<div class="code-block">
|
POST https://guanghulab.com/cover/api/generate
|
||||||
<span class="c">// 全部开源 · 全部免费 · 不花一分钱</span>
|
Body: {
|
||||||
<span class="k">渲染</span> Puppeteer + Chrome Headless <span class="c">免费</span>
|
"templateId": "xiaohongshu",
|
||||||
<span class="k">Web</span> Express.js <span class="c">免费</span>
|
"presetId": "warm",
|
||||||
<span class="k">排版</span> 纯 HTML/CSS(不调用AI模型) <span class="c">免费</span>
|
"title": "标题",
|
||||||
<span class="k">分析</span> 自研文本分析引擎 <span class="c">免费</span>
|
"subtitle": "副标题|副标题",
|
||||||
|
"tag": "Puppeteer,Node.js"
|
||||||
<span class="c">// 不需要 GPU · 不需要 API 密钥</span></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section">
|
|
||||||
<h3>AI 如何调用此模块</h3>
|
|
||||||
<div class="steps">
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">0</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">确认环境</div>
|
|
||||||
<div class="d">你的 AI 已连接到此仓库,可读取文件,可发送 HTTP 请求</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">1</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">读取 WELCOME.md</div>
|
|
||||||
<div class="d">仓库入口文件,包含完整的唤醒协议和规则</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">2</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">装载 HLDP 协议</div>
|
|
||||||
<div class="d">读取 agent/HLDP-PROTOCOL.md,理解模块编号格式</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">3</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">读取模块注册表</div>
|
|
||||||
<div class="d">读取 agent/module-registry.json,获取所有可用模块</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">4</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">调用模块</div>
|
|
||||||
<div class="d">POST guanghulab.com/cover/api/generate 传入参数,获取生成结果</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="section">
|
|
||||||
<h3>API 参考</h3>
|
|
||||||
<div class="code-block">
|
|
||||||
<span class="c">// 获取模板列表</span>
|
|
||||||
<span class="k">GET</span> <span class="s">https://guanghulab.com/cover/api/templates</span>
|
|
||||||
|
|
||||||
<span class="c">// 生成封面</span>
|
|
||||||
<span class="k">POST</span> <span class="s">https://guanghulab.com/cover/api/generate</span>
|
|
||||||
Body: {
|
|
||||||
<span class="s">"templateId"</span>: <span class="s">"xiaohongshu"</span>,
|
|
||||||
<span class="s">"presetId"</span>: <span class="s">"tech"</span>,
|
|
||||||
<span class="s">"title"</span>: <span class="s">"标题"</span>,
|
|
||||||
<span class="s">"body"</span>: <span class="s">"正文"</span>,
|
|
||||||
<span class="s">"layout"</span>: <span class="s">"hero"</span>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
<span class="c">// 返回</span>
|
<span class="c"># 返回
|
||||||
{ <span class="s">"url"</span>: <span class="s">"/output/xxx.png"</span>,
|
</span>
|
||||||
<span class="s">"intent_chain"</span>: [ <span class="c">/* 7步推理 */</span> ] }</div>
|
{ "success":true, "url":"/output/cover_xxx.png" }</pre>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Guide Panel -->
|
|
||||||
<div id="panel-guide" style="display:none">
|
|
||||||
<div style="background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px">
|
|
||||||
<h2 style="font-size:18px;margin-bottom:16px">📖 AI 接入指南</h2>
|
|
||||||
|
|
||||||
<p style="font-size:13px;color:var(--dim);line-height:1.8;margin-bottom:24px">
|
|
||||||
本仓库设计为<strong style="color:var(--text)">任何编程AI都可接入</strong>。
|
|
||||||
仓库不提供模型API——你使用你自己的AI软件模型能力。
|
|
||||||
以下是完整的接入流程。
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="steps">
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">1</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">连接仓库</div>
|
|
||||||
<div class="d">将仓库地址 guanghulab.com/code/bingshuo/guanghulab 配置到你的AI工具中</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">2</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">AI读取 WELCOME.md</div>
|
|
||||||
<div class="d">AI进入仓库后,第一步读取此文件。它包含唤醒协议和规则。</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">3</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">AI装载 HLDP 协议</div>
|
|
||||||
<div class="d">读取 agent/HLDP-PROTOCOL.md。理解模块编号、母语格式。</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">4</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">AI读取模块注册表</div>
|
|
||||||
<div class="d">读取 agent/module-registry.json。获取可用模块列表和API。</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="step">
|
|
||||||
<div class="n">5</div>
|
|
||||||
<div class="b">
|
|
||||||
<div class="t">调用模块</div>
|
|
||||||
<div class="d">AI按模块编号和API文档调用。生成结果返回给用户。</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="margin-top:24px;padding:16px;background:#0d1117;border:1px solid var(--border);border-radius:8px">
|
|
||||||
<div style="font-size:12px;color:var(--dim);margin-bottom:8px;letter-spacing:1px">📋 规则摘要</div>
|
|
||||||
<div style="font-size:12px;color:var(--dim);line-height:2">
|
|
||||||
✦ 仓库不提供模型API<br>
|
|
||||||
✦ 模块热插拔,新增零改动核心<br>
|
|
||||||
✦ HLDP协议是通用接口<br>
|
|
||||||
✦ 设计编号唯一可追溯<br>
|
|
||||||
✦ 署名可选<br>
|
|
||||||
✦ 全免费 · MIT协议
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Files Panel -->
|
|
||||||
<div id="panel-files" style="display:none">
|
|
||||||
<div style="background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px">
|
|
||||||
<div class="code-block" style="white-space:pre;line-height:2">
|
|
||||||
<span style="color:var(--dim)">📁 open-modules/</span>
|
|
||||||
<span style="color:var(--dim)">├── 📄</span> README.md <span style="color:#636e7b">仓库说明</span>
|
|
||||||
<span style="color:var(--dim)">├── 📄</span> WELCOME.md <span style="color:#636e7b">AI 入口引导 · 唤醒协议</span>
|
|
||||||
<span style="color:var(--dim)">├── 📁</span> agent/
|
|
||||||
<span style="color:var(--dim)">│ ├── 📄</span> HLDP-PROTOCOL.md <span style="color:#636e7b">光湖语言协议</span>
|
|
||||||
<span style="color:var(--dim)">│ └── 📄</span> module-registry.json <span style="color:#636e7b">模块注册表</span>
|
|
||||||
<span style="color:var(--dim)">├── 📁</span> modules/
|
|
||||||
<span style="color:var(--dim)">│ └── 📦</span> MODULE-COVER-001 <span style="color:#636e7b">图片模块(已上线)</span>
|
|
||||||
<span style="color:var(--dim)">└── 📁</span> image-studio/
|
|
||||||
<span style="color:var(--dim)"> ├── 📄</span> server.js <span style="color:#636e7b">Express 服务</span>
|
|
||||||
<span style="color:var(--dim)"> ├── 📄</span> generate.js <span style="color:#636e7b">生成引擎</span>
|
|
||||||
<span style="color:var(--dim)"> ├── 📄</span> renderer.js <span style="color:#636e7b">Puppeteer 渲染</span>
|
|
||||||
<span style="color:var(--dim)"> └── 📁</span> templates/ <span style="color:#636e7b">模板目录</span></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="footer">
|
<footer class="ft">
|
||||||
guanghulab.com/code/bingshuo/open-modules · 通感语言核系统编程语言
|
guanghulab.com/code/bingshuo/open-modules · 国作登字-2026-A-00037559
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<div class="toast" id="toast"></div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function switchTab(el, panel) {
|
|
||||||
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
|
|
||||||
el.classList.add('active');
|
|
||||||
document.getElementById('panel-modules').style.display = panel === 'modules' ? 'block' : 'none';
|
|
||||||
document.getElementById('panel-guide').style.display = panel === 'guide' ? 'block' : 'none';
|
|
||||||
document.getElementById('panel-files').style.display = panel === 'files' ? 'block' : 'none';
|
|
||||||
// Hide module detail when switching tabs
|
|
||||||
document.querySelectorAll('.module-detail').forEach(d => d.classList.remove('show'));
|
|
||||||
}
|
|
||||||
|
|
||||||
function showDetail(id) {
|
|
||||||
const el = document.getElementById('detail-' + id);
|
|
||||||
const isOpen = el.classList.contains('show');
|
|
||||||
document.querySelectorAll('.module-detail').forEach(d => d.classList.remove('show'));
|
|
||||||
if (!isOpen) el.classList.add('show');
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user