React目录站

webapp — React 目录站模板

作者 agents-repo

agents-repo 生态的 Web 门户与可视化目录,用于浏览、搜索和下载注册表中的 AI 代理配置、开发者工具与工作流模板。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-01查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

浏览、搜索和下载 agents-repo 注册表中的代理配置、开发者工具与工作流模板

02

注册表源支持运行时覆盖、构建时环境变量和仓库默认值三级解析

03

应用层 24 小时缓存与 Service Worker 运行时缓存协同,提升离线韧性

04

内置浅色、深色、自动三种颜色模式切换

05

提供单元测试、类型检查、Lint、E2E 和无障碍检查等命令

06

采用 semantic-release 自动发布并部署到 GitHub Pages

模板详细介绍

该项目是 agents-repo 注册表的前端应用,基于 Vite + React + TypeScript 构建,使用 Bootstrap 进行样式设计,面向 AI 优先的贡献者工作流。它提供注册表内容的浏览、搜索与下载界面,目录数据来自可配置的注册表源。

注册表源解析采用运行时优先的顺序:浏览器设置中的覆盖值、构建时 VITE_ 环境变量、仓库默认值。默认源指向 registry.agents-repo.org 的 v2.x 主版本线,加载时解析为最新稳定发布标签。用户可在页头设置中修改注册表基础 URL 和 GitHub 仓库 URL,两者用途不同:前者用于目录抓取,后者用于包详情页的“View on GitHub”链接。

目录加载使用两层缓存:应用层对 index.json 和包 detail.json 设 24 小时新鲜窗口,优先使用新鲜缓存,缺失时触发一次强制重载;服务 worker 对 HTML 导航采用 NetworkFirst、对同源静态资源采用 StaleWhileRevalidate。设置中提供清除缓存并重载目录的选项。

项目包含单元测试、类型检查、Lint、Markdown 检查、E2E 测试(本地)以及无障碍检查命令,并配置了 semantic-release 发布流程与 GitHub Pages 部署。仓库还提交了 Cursor、Copilot、Claude Code、Codex 的 IDE 指令镜像,贡献流程要求先创建 issue、再开分支、推送并创建草稿 PR。

React目录站

适合你的项目吗?

适用场景

  • 查找并下载 AI 代理配置或工作流模板
  • 在浏览器中搜索和浏览 agents-repo 注册表内容
  • 为注册表前端配置自定义数据源或 GitHub 仓库链接
  • 在弱网或离线环境下访问已缓存的目录内容

适合人群

  • 需要浏览 agents-repo 注册表内容的开发者
  • 希望基于 React 和 Vite 搭建目录站前端的技术团队
  • 需要为注册表前端配置自定义数据源的贡献者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node.js 24.x 和 npm 12.x,仓库通过 .nvmrc 和 packageManager 固定版本

  2. 2

    安装依赖并启动开发服务器:npm install 后运行 npm run dev

  3. 3

    注册表源可通过 VITE_REGISTRY_REPOSITORY_URL、VITE_REGISTRY_BASE_URL、VITE_REGISTRY_INDEX_PATH 等环境变量配置

  4. 4

    运行 npm run lint:all、npm run test、npm run typecheck 和 npm run build 进行校验与构建

  5. 5

    E2E 与无障碍检查仅在本地运行,不包含在 PR 基线 CI 中

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 应用默认从外部注册表源(registry.agents-repo.org 的 v2.x 主版本线)抓取目录数据,需可访问该外部服务或自行配置兼容的注册表源,否则无法加载目录内容。
  • 使用 GitHub 仓库 URL 作为数据源时依赖 GitHub 的 raw 内容与 tags API,可能受 GitHub 服务可用性与速率限制影响。
  • 贡献流程要求使用 GitHub CLI(gh)进行 issue 与 PR 操作,并需先登录认证,属于开发协作的外部工具依赖。
  • 共享的规划/审查工作流包不在本仓库内,需从 agents-repo/.github 组织仓库安装,单独克隆该仓库才能获得完整协作配置。
  • 部署目标固定为 agents-repo.org 的 GitHub Pages,需相应仓库与 PAT 配置,非通用即插即用部署。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

The app resolves the registry source URL with runtime-first precedence

README 原文

GitHub repository URLs and `/tree/<ref>` or `/blob/<ref>` URLs are normalized

README 原文

This repository prefers GitHub communication through `gh` CLI for issue and

README 原文

This repository does not commit `agents.json`. Shared planning/review packages

README 原文

App-source merges to `main` deploy the built webapp to:

README 原文
https://github.com/agents-repo/webapp/blob/main/LICENSEhttps://github.com/agents-repo/webapp/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 83 / 100
技术栈
React
网站类型
目录站
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-30
截图检查日期
2026-10-01

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 React。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 7632354a1df39de3da244b5796a47381baec6c1a524664441ddb0e68b5f5fe3e

2026-10-01T04:09:54.042Z

来源文件 / 仓库
# Webapp

![License](https://img.shields.io/github/license/agents-repo/webapp) ![PR baseline checks](https://github.com/agents-repo/webapp/actions/workflows/pr-baseline.yml/badge.svg?event=pull_request) [![Quality gate status](https://sonarcloud.io/api/project_badges/measure?project=agents-repo_webapp&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=agents-repo_webapp) ![Release](https://img.shields.io/github/v/release/agents-repo/webapp?sort=semver) ![Stars](https://img.shields.io/github/stars/agents-repo/webapp?style=flat) <!-- markdownlint-disable-line MD013 -->

![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-FE5196?style=flat&logo=conventionalcommits&logoColor=white) ![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa) ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg) ![Top language](https://img.shields.io/github/languages/top/agents-repo/webapp) ![Node.js](https://img.shields.io/badge/Node.js-24-339933?style=flat&logo=nodedotjs&logoColor=white) ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=typescript&logoColor=white) ![React](https://img.shields.io/badge/React-19-61DAFB?style=flat&logo=react&logoColor=black) ![Vite](https://img.shields.io/badge/Vite-646CFF?style=flat&logo=vite&logoColor=white) [![site agents-repo.org](https://img.shields.io/badge/site-agents--repo.org-blue?style=flat)](https://agents-repo.org) <!-- markdownlint-disable-line MD013 -->

---

Web interface for browsing, searching, and downloading agents and flows from
the registry.

## Purpose

This repository contains the frontend application for the agents registry.
It is a Vite + React + TypeScript project with Bootstrap-based styling and an
AI-first contributor workflow.

## Stack

- React 19
- TypeScript
- Vite
- Bootstrap, SCSS, React Bootstrap, and Font Awesome React
- Bootstrap 5.3 color modes with a header dropdown for light, dark, and auto
- PWA service worker runtime caching through `vite-plugin-pwa`
- In-app 24h registry JSON/markdown cache using IndexedDB (`idb`) plus a
  lightweight in-memory LRU; preferences stay in localStorage
- ESLint for code linting
- markdownlint for Markdown quality checks

## Getting Started

Use the pinned toolchain where possible:

- Node.js 24.x, with `.nvmrc` pinned to `24.18.0`
- npm 12.x, with `packageManager` pinned to `[email protected]`

Install dependencies and start the app:

```bash
npm install
npm run dev
```

## Common Commands

```bash
npm run env:check
npm run lint:all
npm run test
npm run test:watch
npm run test:e2e
npm run typecheck
npm run build
npm run build:pages
npm run test:crawl-files
npm run slides:check
```

Accessibility-focused checks (local only, not in PR baseline CI):

```bash
npm run test:a11y
npm run a11y:ci
```

See [docs/accessibility.md](docs/accessibility.md) for patterns and the public
statement at `/accessibility`.

Public privacy notices: `/privacy/` (English default) and localized paths such as
`/pt-br/privacy/`. Legacy `/privacidade` redirects to pt-BR.
See [docs/privacy.md](docs/privacy.md) for consent, GTM, and contributor guidance.
See [docs/i18n.md](docs/i18n.md) for locale routing.

See [docs/seo.md](docs/seo.md) for search and social-preview metadata patterns.

See [docs/testing.md](docs/testing.md) for unit test conventions, coverage map,
and the prioritized test backlog. Playwright E2E (local-only) is documented in
[docs/e2e-testing.md](docs/e2e-testing.md).

## Registry Source Configuration

The app resolves the registry source URL with runtime-first precedence:

1. Browser runtime override saved from Website settings in the header (cog icon)
2. Build-time Vite `VITE_...` environment variables
3. Repository defaults

Build-time variables remain:

- `VITE_REGISTRY_REPOSITORY_URL`: source URL input. This may be a GitHub
  repository URL or a direct source endpoint URL. Default:
  `https://registry.agents-repo.org?ref=v2.x`
- `VITE_REGISTRY_BASE_URL`: optional direct base URL override for fetches.
  If omitted, the source URL is used as the base URL (GitHub URLs are normalized to raw content).
- `VITE_REGISTRY_INDEX_PATH`: relative index path. Default:
  `packages/index.json`
- `VITE_REGISTRY_GITHUB_REPOSITORY_URL`: GitHub repository URL used for
  **View on GitHub** on package detail pages. Default:
  `https://github.com/agents-repo/registry/tree/v2.x`

GitHub repository URLs and `/tree/<ref>` or `/blob/<ref>` URLs are normalized
to `raw.githubusercontent.com`. When a tree/blob URL includes additional
repository path segments (for example `/tree/main/packages`), only the first
ref segment is used for derivation. To use slash refs, provide an explicit ref
form such as `/tree/refs/heads/feature/foo`.

With defaults, the configured source uses the `v2.x` major-version line alias.
At catalog load time this resolves to the latest stable release tag (for example
`v2.0.0`). Before resolution, the index URL is composed as:

`https://registry.agents-repo.org/packages/index.json?ref=v2.x`

Query parameters on the source URL are preserved when composing the index URL,
except when GitHub URLs are normalized to raw content URLs.

Major-version line refs such as `1.x` or `v1.x` can be used in proxy `?ref=`
values or GitHub `/tree/<ref>` URLs. The app resolves these aliases to the latest
stable release tag from the registry repository using registry-proxy `GET /tags`
when the fetch source is a proxy URL, or the GitHub tags API as a fallback for
GitHub-only source URLs. Tag selection uses [`semver`](https://www.npmjs.com/package/semver).
Resolved refs are shown in website settings and catalog status notes as
`v2.x → v2.0.0`.

At runtime, users can set custom registry URLs in the header settings modal:

- **Registry base URL override** — catalog fetching (GitHub URLs auto-normalized,
  raw URLs and other base URLs used as-is). Empty resets to configured defaults.
- **GitHub repository URL** — **View on GitHub** on package detail pages; opens
  `github.com/.../tree/{ref}/packages/{namespace}/{package-id}`. Independent
  from the fetch override. Empty resets to `VITE_REGISTRY_GITHUB_REPOSITORY_URL`.

Fetch defaults (proxy) and browse defaults (GitHub repository) serve different
purposes. A proxy fetch URL cannot be converted into a GitHub tree browse link.

Note: URL format flexibility does not change the expected registry layout. The
resolved base URL must expose a compatible registry structure, including a
valid `packages/index.json` (or the configured `VITE_REGISTRY_INDEX_PATH`)
that matches the app's registry catalog contract.

## Caching and Offline Behavior

Registry catalog loading now uses two coordinated cache layers:

- App-layer cache contract:
  - 24h freshness window for `index.json` and package `detail.json`
  - Fresh cache is used before network fetches
  - A package index or detail URL missing from that fresh cache triggers one
    forced catalog reload (re-resolve `v2.x`, bypass tag cache) before
    **Package not found**
  - Website settings include **Clear cache and reload catalog** to reset the
    IndexedDB registry stores (`catalog`, `package-detail`, `tags`,
    `chat-manifest`, `chat-markdown`) and force a catalog reload (does
    not purge Cloudflare proxy cache or the browser HTTP `max-age=300` cache)
  - If remote refresh fails, stale cached catalog is used when available
  - If refresh fails and no cached catalog exists, the app shows an error alert
- Service worker runtime cache:
  - HTML document navigations use NetworkFirst (1-day offline fallback)
  - Same-origin static assets use StaleWhileRevalidate (7 days)
  - HTTP `Cache-Control` stays GitHub Pages defaults (typically `max-age=600`)

This keeps registry freshness decisions in app logic while still improving
offline resilience for app HTML and assets.

## GitHub CLI

This repository prefers GitHub communication through `gh` CLI for issue and
pull request workflows.

Verify availability and authentication:

```bash
gh --version
gh auth status
```

If `gh auth status` reports no login, run `gh auth login`.

Common commands used in this workflow:

```bash
# inspect issue scope
gh issue view <number> --repo agents-repo/webapp

# open a draft PR with template-aligned content
gh pr create --repo agents-repo/webapp --draft --title "..." --body-file <file>
```

See `.github/CONTRIBUTING.md` **Required Workflow** for the canonical policy
(issue → branch → push → draft PR before implementation).

Issue categories in this repository are:

- bug or inconsistency
- spec change
- feature proposal
- task or chore

Documentation-only work uses the task/chore issue category and a
`docs/<issue-number>-<slug>` branch name.

## Release Workflow

- Release versions follow Semantic Versioning `MAJOR.MINOR.PATCH` sourced from
  <https://semver.org>.
- Pushes to `main` (post-merge integration via pull request, not direct push)
  run release validation checks and then execute `semantic-release`.
- A release is published only when commit history includes releasable changes
  per the commit-to-version mapping below.
- `workflow_dispatch` remains available for operational checks.
- `dry_run` defaults to `true`; set `dry_run=false` only when intentionally
  running a manual publish from `main`.
- Git tags use `v<MAJOR>.<MINOR>.<PATCH>` format.

### Commit-To-Version Mapping

- `type!:` or `BREAKING CHANGE:` => `MAJOR`
- `feat:` => `MINOR`
- `fix:`, `perf:`, and `revert:` => `PATCH`

Commit types not listed above do not trigger an automated release.

### GitHub Pages

App-source merges to `main` deploy the built webapp to:

- <https://agents-repo.org/>

The **Deploy Webapp** workflow publishes production builds. The **Release**
workflow handles SemVer tags and GitHub Releases only. See
[docs/deployment.md](docs/deployment.md) for PAT setup, redeploy, and rollback
instructions.

## IDE Setup

This repository commits IDE instruction mirrors and registry workflow packages
so contributors get agent guidance on clone without manual setup.

### Project guidelines

| Install target | Path |
| --- | --- |
| Cursor | `.cursor/rules/agents-webapp.mdc` (canonical) |
| GitHub Copilot | `.github/copilot-instructions.md` (generated) |
| Claude Code | `CLAUDE.md` |
| OpenAI Codex | `AGENTS.md` |

Regenerate after editing `.cursor/rules/`:

```bash
npm run sync:ide-instructions
```

Do not edit generated mirror files directly.

### Registry workflow packages (org hub)

This repository does not commit `agents.json`. Shared planning/review packages
install in [agents-repo/.github](https://github.com/agents-repo/.github). Open
[agents-repo.code-workspace](https://github.com/agents-repo/.github/blob/main/agents-repo.code-workspace)
from the `.github` sibling clone. See
[org-workspace-and-agents.md](https://github.com/agents-repo/.github/blob/main/docs/org-workspace-and-agents.md)
and [`.github/CONTRIBUTING.md`](.github/CONTRIBUTING.md#registry-workflow-packages-org-hub).

## Organization

This app is the public UI for the agents-repo platform. The catalog lives in
[registry](https://github.com/agents-repo/registry); default fetches go through
[registry-proxy](https://github.com/agents-repo/registry-proxy). Install packages
with [cli](https://github.com/agents-repo/cli). See the organization [Ecosystem
overview](https://github.com/agents-repo/.github/blob/main/docs/ecosystem.md)
for diagrams and contributor flows.

## Docs and repository pages

For user guides and cross-repo documentation, see
[agents-repo.org/docs/](https://agents-repo.org/docs/).
For this repository's overview on the public site, see
[agents-repo.org/repositories/webapp/](https://agents-repo.org/repositories/webapp/).

When you change a user-facing or contributor workflow in this
repository, update the corresponding page(s) in
[agents-repo/webapp](https://github.com/agents-repo/webapp) under
`src/content/docs/` in the same PR or an immediate follow-up.

## Project Docs

- Development workflow: [docs/development.md](docs/development.md)
- Architecture map: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)
- Testing guide: [docs/testing.md](docs/testing.md)
- Deployment and Pages: [docs/deployment.md](docs/deployment.md)
- Presentation slides: [docs/slides/README.md](docs/slides/README.md)
- AI collaboration guidance: [docs/ai-collaboration.md](docs/ai-collaboration.md)
- Styling and technology decisions: [docs/styling-and-technology.md](docs/styling-and-technology.md)
- Architecture and DDD decision: [docs/architecture/ddd-decision.md](docs/architecture/ddd-decision.md)
- Accessibility guide: [docs/accessibility.md](docs/accessibility.md)
- Privacy and analytics guide: [docs/privacy.md](docs/privacy.md)
- SEO guide: [docs/seo.md](docs/seo.md)
- Public accessibility statement: `/accessibility` route in the deployed app
- Public privacy policies: locale-prefixed `/privacy/` routes (see [docs/i18n.md](docs/i18n.md))
- Contributor guide: [.github/CONTRIBUTING.md](.github/CONTRIBUTING.md)
- GitHub Copilot project instructions:
  [.cursor/rules/agents-webapp.mdc](.cursor/rules/agents-webapp.mdc)

## Automation

- **PR Baseline Checks** — lint, typecheck, test, and Pages build on pull requests.
- **Deploy Webapp** — lint, test, build, and publish `dist/` to
  `agents-repo.github.io` on app-source pushes to `main`.
- **Release** — validation plus `semantic-release` on pushes to `main`
  (versioning only; no Pages deploy).
- **Pages Deploy** — manual redeploy or rollback of a specific `v*` release tag.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。