deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DeepSeek Harness 社区插件目录主页。 整理全网可浏览、可搜索、可一键复制安装命令的静态商店页面。
支持中英文双语(右上角切换,自动记忆偏好;按浏览器语言默认显示),附带插件总数与 Stars 走势图、精选区、分类浏览与详情弹窗。
# 方案一:Python 静态服务器
python3 -m http.server 8080
# 方案二:Node 静态服务器(本项目自带,自动监听,无需参数)
node server.js
打开 http://localhost:8080 即可浏览。
生产推荐用 Docker 部署:nginx 直接托管静态站点、终结 TLS,并把所有 HTTP 流量转发到 HTTPS(支持反向代理到后端服务)。
# 1. 配置域名(可选,默认 localhost)
cp .env.example .env && 编辑 DOMAIN=你的域名
# 2. 准备证书
# 开发/本地测试:生成自签名证书
./scripts/gen-certs.sh localhost # 或 ./scripts/gen-certs.sh store.example.com
# 生产:用 Let's Encrypt 或已有证书,把 fullchain.pem + privkey.pem 放到 ./certs/
# 3. 构建并启动
docker compose up -d --build
# 若构建后端(buildx)在受限目录环境报 "operation not permitted",
# 可改用传统构建器:DOCKER_BUILDKIT=0 docker compose build && docker compose up -d
# 4. 验证
curl -k https://localhost/ # 应返回商店首页
curl -I http://localhost/ # 301 跳转到 https
docker compose ps # 容器健康检查状态
浏览器 ── 80 ──▶ nginx (HTTP → 301 HTTPS)
── 443 ─▶ nginx (TLS 终结 + 静态站点 + 可选反向代理)
│ 静态: /usr/share/nginx/html (index.html, assets/, data/)
└─ 可选: location /api/ → 后端容器 (反向代理)
| 配置项 | 环境变量 | 默认值 |
|---|---|---|
| 域名(server_name / 证书 CN) | DOMAIN |
localhost |
| 证书链路径(容器内) | SSL_CERT |
/etc/nginx/certs/fullchain.pem |
| 私钥路径(容器内) | SSL_KEY |
/etc/nginx/certs/privkey.pem |
./certs 以只读卷挂载进容器,已被 .gitignore / .dockerignore 排除,不会进入镜像或提交到仓库。nginx/templates/default.conf.template),容器启动时按环境变量自动替换 DOMAIN / SSL_CERT / SSL_KEY,nginx 自身的 $host / $uri 等运行时变量不受影响。data/plugins.json 始终 no-store(数据每次抓取后立即生效)。模板里预留了 location /api/ 反向代理块(HTTP 与 HTTPS 两处,均已注释)。启用步骤:
nginx/templates/default.conf.template,取消 location /api/ 注释,把 http://backend:8080/ 改成你的后端服务名;docker-compose.yml 里添加后端服务(或把 nginx 加入外部网络),与 store 处于同一 Docker 网络;docker compose up -d --build 重建。之后 https://<DOMAIN>/api/... 就会转发到后端容器。
docker compose logs -f store # 查看日志
docker compose restart store # 重启
docker compose down # 停止并移除容器(保留 certs/ 数据)
docker exec dsh-store nginx -t # 容器内校验 nginx 配置
/ 快捷键聚焦搜索框#cat=vision、#search=ocr、#p=liustack/modlens 可分享 / 可返回| 文件 | 说明 |
|---|---|
data/plugins.json |
插件目录(1080 个仓库的整理结果) |
data/stats_history.json |
走势图数据:每次爬取的真实快照(时间/插件数/Stars),历史由 git 提交记录重建 |
scripts/build_data.py |
数据构建脚本:抓取、分类、安装命令、README 摘要、精选标记、走势数据 |
.github/workflows/update-plugins.yml |
每小时自动抓取并提交新数据 |
assets/css/ assets/js/ |
页面样式与应用脚本(含 SVG 走势图渲染) |
assets/fonts/ |
自托管字体(Space Grotesk + JetBrains Mono) |
assets/img/ |
品牌素材:Token Bank logo(SVG)、Wink 品牌图(PNG)、DeepSeek logo |
仓库已配置定时工作流,每小时(0 * * * *,UTC)自动执行:
topic:dsh-plugin 仓库(自动分页,GITHUB_TOKEN 自动提供、提高速率限制);data/plugins.json,有变化则自动提交推送([skip ci],不会触发递归)。手动触发:GitHub 仓库 Actions 页 → Update plugin data → Run workflow。
部署在自有服务器时,可用 crontab 定时拉取最新数据并重启服务生效(Docker Compose 部署下会自动重建镜像并重建容器):
# 1. 服务器首次部署
git clone https://github.com/wink-run/dsh-plugin-store.git /opt/ds-plugin-store
cd /opt/ds-plugin-store
cp .env.example .env # 设置 DOMAIN
./scripts/gen-certs.sh your.domain # 或把正式证书放入 ./certs
docker compose up -d --build
# 2. 配置 crontab(每小时,日志写入文件)
crontab -e
# 加入一行:
# 0 * * * * /opt/ds-plugin-store/scripts/cron-refresh.sh >> /var/log/dsh-store-refresh.log 2>&1
# 3. 手动跑一次验证
/opt/ds-plugin-store/scripts/cron-refresh.sh
脚本行为:git pull --ff-only origin main 拉取最新数据 → docker compose down 停止服务 → docker compose up -d --build 重建镜像并启动,使新数据生效。
脚本在干净环境(无本地缓存)会自动走完整抓取流程,与 CI 行为一致;本地存在缓存时增量复用(可用环境变量覆盖):
python3 scripts/build_data.py
# 或强制全新抓取:
REPO_CACHE=/tmp/fresh_repos.json README_DIR=/tmp/fresh_readmes python3 scripts/build_data.py
默认统计(当前快照):
topic:dsh-plugin)本商店只做索引与发现,不托管也不审查插件代码。 安装第三方插件会运行其源码,请先阅读仓库、检查许可证,并在隔离环境中试用。 本页抓取的描述与命令来自各仓库 README,可能与最新版本有出入。
无构建步骤、无运行时依赖的纯静态站点:原生 HTML + CSS(设计令牌 / 深浅主题 / 响应式)+ 原生 JS(fetch 数据、hash 路由、IntersectionObserver 入场动画)。字体自托管,数据单文件 JSON。
给仓库打上 dsh-plugin 话题,下次抓取时自动出现;也可以提交到社区精选列表 awesome-dsh-plugin。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。