agent-modpack / index.html
LucioLiu's picture
Landing page: what it is, how to get it, and what it is not
3e6ee73 verified
Raw History Blame Contribute Delete
19.2 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>agent-modpack — a ready-to-run AI employee team</title>
<meta
name="description"
content="Download a fully assembled AI agent team — orchestrator, specialist roles, an agent-forger and 7 collaboration skills. Open it with Claude Code, Cursor or Codex and it runs. English and Chinese editions."
/>
<meta property="og:title" content="agent-modpack — a ready-to-run AI employee team" />
<meta
property="og:description"
content="A fully assembled AI agent team you download and open. No build step, no hosted service, no lock-in."
/>
<style>
:root {
color-scheme: light dark;
--bg: #fbfaf8;
--bg-raised: #ffffff;
--bg-code: #f2f0ec;
--fg: #1c1b19;
--fg-muted: #5f5c56;
--fg-faint: #8b8781;
--line: #e2ded7;
--accent: #9a3412;
--accent-soft: #fdf3ee;
--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #16151a;
--bg-raised: #1e1d23;
--bg-code: #23222a;
--fg: #ececf1;
--fg-muted: #a9a6b3;
--fg-faint: #78757f;
--line: #302e38;
--accent: #f0906a;
--accent-soft: #2a1f1c;
}
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--fg);
font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC",
"PingFang SC", "Microsoft YaHei", Roboto, sans-serif;
-webkit-font-smoothing: antialiased;
}
.wrap { max-width: 46rem; margin: 0 auto; padding: 0 1.25rem 5rem; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 2px; }
/* --- language toggle --- */
.topbar {
display: flex; justify-content: flex-end; align-items: center;
gap: .5rem; padding: 1.25rem 0 0;
}
.langbtn {
font: inherit; font-size: .8rem; cursor: pointer;
background: var(--bg-raised); color: var(--fg-muted);
border: 1px solid var(--line); border-radius: 999px;
padding: .3rem .85rem;
}
.langbtn[aria-pressed="true"] { color: var(--fg); border-color: var(--fg-faint); }
[data-lang] { display: none; }
html[lang="en"] [data-lang="en"], html[lang="zh"] [data-lang="zh"] { display: block; }
html[lang="en"] li[data-lang="en"], html[lang="zh"] li[data-lang="zh"] { display: list-item; }
html[lang="en"] span[data-lang="en"], html[lang="zh"] span[data-lang="zh"] { display: inline; }
/* --- hero --- */
header.hero { padding: 2.5rem 0 1rem; }
h1 {
font-family: var(--mono);
font-size: clamp(1.9rem, 6vw, 2.6rem);
margin: 0 0 .6rem; letter-spacing: -0.02em;
}
.tagline { font-size: 1.15rem; margin: 0 0 .5rem; }
.sub { color: var(--fg-muted); margin: 0; }
h2 {
font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase;
color: var(--fg-faint); margin: 3rem 0 1rem;
padding-bottom: .5rem; border-bottom: 1px solid var(--line);
}
h3 { font-size: 1rem; margin: 1.75rem 0 .5rem; }
p { margin: 0 0 1rem; }
.muted { color: var(--fg-muted); }
.small { font-size: .9rem; }
/* --- code blocks --- */
.cmd { position: relative; margin: .5rem 0 1.25rem; }
.cmd pre {
margin: 0; padding: .85rem 3.5rem .85rem 1rem;
background: var(--bg-code); border: 1px solid var(--line); border-radius: 8px;
font-family: var(--mono); font-size: .85rem; line-height: 1.6;
overflow-x: auto; white-space: pre;
}
.cmd button {
position: absolute; top: .5rem; right: .5rem;
font: inherit; font-size: .72rem; cursor: pointer;
background: var(--bg-raised); color: var(--fg-muted);
border: 1px solid var(--line); border-radius: 5px; padding: .25rem .55rem;
}
.cmd button:hover { color: var(--fg); }
.cmd button.done { color: var(--accent); border-color: var(--accent); }
code:not(pre code) {
font-family: var(--mono); font-size: .88em;
background: var(--bg-code); border-radius: 4px; padding: .1em .35em;
}
.route { border-left: 2px solid var(--line); padding-left: 1rem; margin-bottom: 1.5rem; }
.route-name { font-weight: 600; margin: 0 0 .15rem; }
.route-why { color: var(--fg-muted); font-size: .9rem; margin: 0 0 .5rem; }
/* --- facts / lists --- */
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1px;
background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.fact { background: var(--bg-raised); padding: .9rem 1rem; }
.fact b { display: block; font-family: var(--mono); font-size: 1.35rem; }
.fact span { color: var(--fg-muted); font-size: .82rem; }
ul.plain { list-style: none; padding: 0; margin: 0; }
ul.plain li { padding: .55rem 0; border-bottom: 1px solid var(--line); }
ul.plain li:last-child { border-bottom: 0; }
ul.plain code { color: var(--fg); }
.notlist li { margin-bottom: .75rem; }
.notlist b { color: var(--fg); }
footer {
margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line);
color: var(--fg-muted); font-size: .88rem;
}
footer a { margin-right: 1.1rem; white-space: nowrap; }
</style>
</head>
<body>
<div class="wrap">
<div class="topbar">
<button class="langbtn" data-set-lang="en" aria-pressed="true">English</button>
<button class="langbtn" data-set-lang="zh" aria-pressed="false">简体中文</button>
</div>
<header class="hero">
<h1>agent-modpack</h1>
<div data-lang="en">
<p class="tagline">A ready-to-run AI employee team. Download it, open it, it works.</p>
<p class="sub">
An orchestrator, two specialist roles, an agent-forger that keeps hatching new
teammates, and 7 collaboration skills — already assembled into one folder. No build
step, nothing to configure. English and 简体中文 editions, fully localized.
</p>
</div>
<div data-lang="zh">
<p class="tagline">一支拿来就能跑的 AI 数字员工团队。下载、打开,就能用。</p>
<p class="sub">
一个编排者、两个专业岗、一个能继续孵化新员工的造人者,外加 7 块协作纪律
skill——已经装配成一个文件夹。不用编译、不用配置。中英双版本,目录和文案全本地化。
</p>
</div>
</header>
<section>
<h2><span data-lang="en">Get it</span><span data-lang="zh">怎么拿到</span></h2>
<div data-lang="en">
<p class="muted small">
Three routes, same contents. Each one hands you the repository; inside it are two
already-assembled team folders — copy out the one whose language you read.
</p>
</div>
<div data-lang="zh">
<p class="muted small">
三条路,拿到的内容完全一样。每条给你的都是整个仓库,里面有两个已经装配好的
成品团队目录——把你看得懂的那个复制出来就行。
</p>
</div>
<div class="route">
<p class="route-name">
<span data-lang="en">Download a zip</span><span data-lang="zh">直接下载压缩包</span>
</p>
<p class="route-why">
<span data-lang="en">Nothing to install. Works from a browser.</span>
<span data-lang="zh">什么都不用装,浏览器点开就行。</span>
</p>
<div class="cmd">
<pre id="c1">https://gitlab.com/LucioLiu/agent-modpack/-/archive/main/agent-modpack-main.zip</pre>
<button data-copy="c1">copy</button>
</div>
</div>
<div class="route">
<p class="route-name"><span data-lang="en">Clone it</span><span data-lang="zh">clone</span></p>
<p class="route-why">
<span data-lang="en">If you have git.</span><span data-lang="zh">如果你装了 git。</span>
</p>
<div class="cmd">
<pre id="c2">git clone https://gitlab.com/LucioLiu/agent-modpack.git</pre>
<button data-copy="c2">copy</button>
</div>
</div>
<div class="route">
<p class="route-name">
<span data-lang="en">Pull the Hugging Face mirror</span><span data-lang="zh">从 Hugging Face 镜像拉</span>
</p>
<p class="route-why">
<span data-lang="en">Same version, mirrored.</span><span data-lang="zh">同一个版本,镜像同步。</span>
</p>
<div class="cmd">
<pre id="c3">hf download LucioLiu/agent-modpack --repo-type dataset --local-dir ./agent-modpack</pre>
<button data-copy="c3">copy</button>
</div>
</div>
<div data-lang="en">
<h3>Then open it</h3>
<p>
Point your AI coding tool — Claude Code, Cursor, Codex, anything that reads local
files — at the orchestrator folder inside your team folder:
<code>01-agents/orchestrator/</code> in the English edition,
<code>01_数字员工/编排者/</code> in the Chinese one. It loads itself and takes it
from there. Each team folder also ships an <code>OPEN_ME.md</code> at its root that
repeats this in both languages.
</p>
<p class="muted small">
On Windows, keep the team folder near the drive root (<code>D:\my-team\</code>).
The package nests deep and the Chinese edition uses non-ASCII path segments, so a
very long parent path can hit the 260-character limit mid-copy.
</p>
</div>
<div data-lang="zh">
<h3>然后打开它</h3>
<p>
用你的 AI 编程工具——Claude Code、Cursor、Codex,任何能读本地文件的都行——打开团队
文件夹里的编排者目录:中文版是 <code>01_数字员工/编排者/</code>,英文版是
<code>01-agents/orchestrator/</code>。它会自己加载并接手。每个团队文件夹根目录还有一份
<code>打开我_OPEN_ME.md</code>,双语再确认一遍入口。
</p>
<p class="muted small">
Windows 上请把团队文件夹放在靠近盘符根的位置(如 <code>D:\我的团队\</code>)。这个包
层级深、中文版路径段多,父目录太长可能在复制途中撞上 260 字符上限。
</p>
</div>
</section>
<section>
<h2><span data-lang="en">What's in the folder</span><span data-lang="zh">文件夹里有什么</span></h2>
<div class="facts">
<div class="fact">
<b>233</b>
<span data-lang="en">files per edition</span><span data-lang="zh">个文件(每个版本)</span>
</div>
<div class="fact">
<b>2</b>
<span data-lang="en">editions, EN &amp; 中文</span><span data-lang="zh">个语言版本</span>
</div>
<div class="fact">
<b>7</b>
<span data-lang="en">collaboration skills</span><span data-lang="zh">块协作 skill</span>
</div>
<div class="fact">
<b>0</b>
<span data-lang="en">build steps</span><span data-lang="zh">个编译步骤</span>
</div>
</div>
<div data-lang="en">
<p style="margin-top: 1.25rem">
An orchestration layer, two specialist roles (marked "(sample)" — delete, rename or
re-forge them freely), and <b>Nuwa</b>, the prompt-architect that forges new agents,
living in the team as a colleague rather than off to the side. That last part is why
the team keeps working after you take it: it can hatch its own new employees without
coming back here.
</p>
<p>Plus these 7 skills, each published as its own standalone repo:</p>
</div>
<div data-lang="zh">
<p style="margin-top: 1.25rem">
一个编排层、两个专业岗(带"(预设示例)"标注——可以随便删、改名、或让女娲重新
锻造),外加<b>女娲</b>——那位造 agent 的提示词架构师,作为团队一员住在里面,而不是
摆在一边。这一点决定了团队拿走之后还能长:它自己就能孵化新员工,不必回头找这里。
</p>
<p>再加下面 7 块 skill,每一块都是独立发布的仓:</p>
</div>
<ul class="plain">
<li>
<code>dont-reinvent</code> —
<span data-lang="en">find an existing wheel before forging one</span>
<span data-lang="zh">先找轮子再造轮子</span>
</li>
<li>
<code>handoff-protocol</code> —
<span data-lang="en">multi-agent handoff and persistence discipline</span>
<span data-lang="zh">多 agent 交接与持久化纪律</span>
</li>
<li>
<code>knock-knock</code> —
<span data-lang="en">how an agent calls a human</span>
<span data-lang="zh">agent 怎么「叫人」</span>
</li>
<li>
<code>sharpen-first</code> —
<span data-lang="en">grind a vague request into a one-page brief</span>
<span data-lang="zh">把模糊需求磨成一页共识单</span>
</li>
<li>
<code>token-saver</code> —
<span data-lang="en">route subagents by capability tier, not by habit</span>
<span data-lang="zh">子代理按能力档路由,不按惯性</span>
</li>
<li>
<code>track-record</code> —
<span data-lang="en">a judgment ledger that settles its own predictions</span>
<span data-lang="zh">会自己结算预测的判断台账</span>
</li>
<li>
<code>user-md</code> —
<span data-lang="en">a user profile that grows, with machine-local facts kept apart</span>
<span data-lang="zh">会长大的用户画像,机器本地事实隔离</span>
</li>
</ul>
</section>
<section>
<h2><span data-lang="en">What it is not</span><span data-lang="zh">它不是什么</span></h2>
<ul class="notlist" data-lang="en">
<li>
<b>Not a hosted service.</b> There is no account, no API key and no server. The files
land on your disk and your own AI tool reads them. Nothing calls home.
</li>
<li>
<b>Not open source in the OSI sense.</b> The license is PolyForm Noncommercial 1.0.0
— free to use, modify and share for any noncommercial purpose; commercial use needs a
separate agreement. The <code>LICENSE</code> file in the repo is authoritative.
</li>
<li>
<b>Not a marketplace plugin.</b> Nothing goes through
<code>/plugin marketplace add</code>. You end up with a self-contained folder that
depends on no online shelf staying up.
</li>
<li>
<b>Not a framework you write code against.</b> It is markdown and a little JavaScript
for hooks. If you can read the files, you can change anything in them.
</li>
</ul>
<ul class="notlist" data-lang="zh">
<li>
<b>不是在线服务。</b>没有账号、没有 API key、没有服务器。文件落在你自己的磁盘上,
由你自己的 AI 工具读取,不回传任何东西。
</li>
<li>
<b>不是 OSI 意义上的开源。</b>许可证是 PolyForm Noncommercial 1.0.0——任何非商业
用途下自由使用、修改、分发;商业使用需要另行约定。以仓库里的 <code>LICENSE</code>
文件为准。
</li>
<li>
<b>不是 marketplace 插件。</b>不走 <code>/plugin marketplace add</code>。你拿到的是
一个自包含的文件夹,不依赖任何在线货架一直活着。
</li>
<li>
<b>不是要你写代码对接的框架。</b>它就是 markdown,加上 hooks 用的一点
JavaScript。你能读懂文件,就能改里面任何东西。
</li>
</ul>
</section>
<footer>
<p>
<a href="https://gitlab.com/LucioLiu/agent-modpack">GitLab</a>
<a href="https://huggingface.co/datasets/LucioLiu/agent-modpack">Hugging Face</a>
<a href="https://polyformproject.org/licenses/noncommercial/1.0.0/">License</a>
</p>
<p class="small">
<span data-lang="en"
>PolyForm Noncommercial 1.0.0 · Both mirrors carry the same version.</span
>
<span data-lang="zh">PolyForm Noncommercial 1.0.0 · 两处镜像同一个版本。</span>
</p>
</footer>
</div>
<script>
(function () {
var root = document.documentElement;
function setLang(lang) {
root.lang = lang;
document.querySelectorAll("[data-set-lang]").forEach(function (b) {
b.setAttribute("aria-pressed", String(b.dataset.setLang === lang));
});
try { localStorage.setItem("amp-lang", lang); } catch (e) {}
}
document.querySelectorAll("[data-set-lang]").forEach(function (b) {
b.addEventListener("click", function () { setLang(b.dataset.setLang); });
});
var saved = null;
try { saved = localStorage.getItem("amp-lang"); } catch (e) {}
var browserPrefersZh = (navigator.language || "en").toLowerCase().indexOf("zh") === 0;
setLang(saved || (browserPrefersZh ? "zh" : "en"));
document.querySelectorAll("[data-copy]").forEach(function (btn) {
btn.addEventListener("click", function () {
var text = document.getElementById(btn.dataset.copy).textContent.trim();
var done = function () {
btn.textContent = "copied";
btn.classList.add("done");
setTimeout(function () {
btn.textContent = "copy";
btn.classList.remove("done");
}, 1600);
};
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(done, function () {});
}
});
});
})();
</script>
</body>
</html>