🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

主题工坊 daeshawnballard/dexthemes

MCP
daeshawnballard26 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

浏览、预览并安全应用开发者工具主题,走 Codex 和 DeepSeek Harness 支持的路径。

37/100
综合分
7
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/daeshawnballard/dexthemes.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
暂无时间戳·判据 →
装得上吗[实装验证]—
该类项目不使用 dsh plugin add 安装,静态安装检查不适用
L4 · 真实安装等级说明 →
数据截至 2026/09/29·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 26 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dexthemes(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 04:49:26

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 75 处,展示前 67 条)
  • 读取密钥环境变量
    api/config.js:16
    statsigClientKey: process.env.STATSIG_CLIENT_KEY || '',
  • 读取本地文件
    api/content-page.js:15
    readFileSync(join(process.cwd(), "api", "theme-map.json"), "utf-8"),
  • 读取密钥环境变量
    api/generate-theme.js:197
    secret = process.env.DEXTHEMES_LUNA_RATE_LIMIT_SECRET,
  • 读取密钥环境变量
    api/generate-theme.js:365
    apiKey: process.env.OPENAI_API_KEY,
  • 读取本地文件
    api/og.js:18
    readFileSync(join(process.cwd(), 'api', 'theme-map.json'), 'utf-8')
  • 读取本地文件
    api/og.js:21
    readFileSync(join(process.cwd(), 'public', 'favicon.svg'), 'utf-8')
  • 请求外部主机acrobatic-corgi-867.convex.site
    api/og.js:121
    const likesRes = await fetch('https://acrobatic-corgi-867.convex.site/themes/likes/counts');
  • 发起网络请求
    api/og.js:121
    const likesRes = await fetch('https://acrobatic-corgi-867.convex.site/themes/likes/counts');
  • 发起网络请求
    api/session.js:47
    const verifyRes = await fetch(`${DIRECT_CONVEX_SITE_URL}/auth/me`, {
  • 读取本地文件
    api/share.js:9
    readFileSync(join(process.cwd(), "api", "theme-map.json"), "utf-8"),
  • 读取本地文件
    api/sitemap.js:7
    readFileSync(join(process.cwd(), "api", "theme-map.json"), "utf-8"),
  • 发起网络请求
    api/themes.js:14
    const res = await fetch(COMMUNITY_THEMES_URL, {
  • 读取本地文件
    api/warm-cache.js:11
    readFileSync(join(process.cwd(), 'api', 'theme-map.json'), 'utf-8')
  • 读取密钥环境变量
    api/warm-cache.js:15
    const secret = process.env.WARM_CACHE_SECRET;
  • 发起网络请求
    api/warm-cache.js:52
    const r = await fetch(url, { signal: AbortSignal.timeout(12000) });
  • 读取密钥环境变量
    convex/admin.ts:6
    const configured = process.env.ADMIN_SECRET;
  • 读取密钥环境变量
    convex/http_auth_routes.ts:137
    const clientSecret = process.env.GITHUB_CLIENT_SECRET;
  • 请求外部主机github.com
    convex/http_auth_routes.ts:141
    const tokenRes = await fetch("https://github.com/login/oauth/access_token", {
  • 发起网络请求
    convex/http_auth_routes.ts:141
    const tokenRes = await fetch("https://github.com/login/oauth/access_token", {
  • 请求外部主机api.github.com
    convex/http_auth_routes.ts:167
    fetch("https://api.github.com/user", { headers: githubHeaders }),
  • 发起网络请求
    convex/http_auth_routes.ts:167
    fetch("https://api.github.com/user", { headers: githubHeaders }),
  • 请求外部主机api.github.com
    convex/http_auth_routes.ts:169
    ? fetch("https://api.github.com/user/emails", { headers: githubHeaders })
  • 发起网络请求
    convex/http_auth_routes.ts:169
    ? fetch("https://api.github.com/user/emails", { headers: githubHeaders })
  • 读取密钥环境变量
    convex/http_luna_rate_limit_routes.ts:80
    const configuredSecret = process.env.DEXTHEMES_LUNA_RATE_LIMIT_SECRET;
  • 读取密钥环境变量
    convex/http_plugin_routes.ts:45
    const clientSecret = String(process.env.DEXTHEMES_DEEPSEEK_GITHUB_CLIENT_SECRET || "").trim();
  • 发起网络请求
    convex/http_plugin_routes.ts:223
    const upstream = await fetch(GITHUB_DEVICE_CODE_URL, {
  • 发起网络请求
    convex/http_plugin_routes.ts:267
    const upstream = await fetch(GITHUB_ACCESS_TOKEN_URL, {
  • 发起网络请求
    convex/http_plugin_routes.ts:289
    profileResponse = await fetch(GITHUB_PROFILE_URL, {
  • 发起网络请求
    convex/http_plugin_routes.ts:299
    const revokeResponse = await fetch(`${GITHUB_TOKEN_API_BASE}/${encodeURIComponent(clientId)}/token`, {
  • 读取密钥环境变量
    convex/http_unlock_routes.ts:342
    const secret = process.env.BMC_WEBHOOK_SECRET;
  • 发起网络请求
    convex/indexNow.ts:26
    const response = await fetch(INDEXNOW_ENDPOINT, {
  • 写入剪贴板
    mcp-app/src/theme-studio.js:514
    await navigator.clipboard.writeText(value);
  • 写入剪贴板
    packages/deepseek-harness-plugin/src/device-code-handoff.js:16
    await clipboard.writeText(code);
  • 写入本地文件
    packages/t3-theme-bridge/src/bridge-server.mjs:130
    await chmod(directory, 0o700);
  • 写入本地文件
    packages/t3-theme-bridge/src/bridge-server.mjs:132
    await writeFile(inputPath, body.themeJson, { flag: 'wx', mode: 0o600 });
  • 写入本地文件
    packages/t3-theme-bridge/src/bridge-server.mjs:164
    await writeFile(options['--pairing-file'], JSON.stringify({ pairingCode: bridge.pairingCode, expiresAt: bridge.pairingExpiresAt }), { flag: 'wx', mode
  • 读取本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:58
    const pathInfo = await lstat(filePath);
  • 写入本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:126
    await chmod(stageDirectory, 0o700);
  • 读取本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:127
    const stageInfo = await lstat(stageDirectory);
  • 读取本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:194
    const info = await lstat(directoryPath);
  • 读取本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:223
    const canonicalHome = await realpath(homeDirectory);
  • 读取本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:227
    const info = await lstat(homeDirectory);
  • 写入本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:254
    await mkdir(directoryPath, { mode: 0o700 });
  • 读取本地文件
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:258
    const info = await lstat(directoryPath);
  • 执行外部命令来自配置/变量
    packages/t3-theme-bridge/src/t3-theme-apply.mjs:463
    child = spawn(app.electronExecutable, [cliEntry, ...args], {
  • 发起网络请求
    server/dexthemes-mcp.js:331
    const response = await fetch(`${CONVEX_SITE_URL}${path}`, {
  • 读取密钥环境变量
    server/luna-theme-generation.js:315
    apiKey = process.env.OPENAI_API_KEY,
  • 读取密钥环境变量
    server/submission-confirmation.js:24
    const secret = explicitSecret || process.env.DEXTHEMES_CONFIRMATION_SECRET || "";
  • 发起网络请求
    server/theme-tools.js:103
    const response = await fetch(url, {
  • 发起网络请求
    server/theme-tools.js:154
    const response = await fetch(url, {
  • 发起网络请求
    src/analytics.js:34
    const res = await fetch('/api/config');
  • 写入剪贴板
    src/builder.js:798
    navigator.clipboard.writeText(str)
  • 写入剪贴板
    src/builder.js:833
    navigator.clipboard.writeText(str).then(() => {
  • 发起网络请求
    src/community-themes-api.js:21
    const res = await fetch(CONVEX_SITE_URL + '/themes/community');
  • 写入剪贴板
    src/locked-themes.js:27
    await navigator.clipboard.writeText(token);
  • 发起网络请求
    src/luna-theme-api.js:52
    response = await fetch(ENDPOINT, {
  • 写入剪贴板
    src/preview-actions.js:276
    await navigator.clipboard.writeText(apiKey);
  • 发起网络请求
    src/preview-chat.js:103
    const res = await fetch(state.CONVEX_SITE_URL + '/supporters');
  • 写入剪贴板
    src/preview-shell.js:449
    navigator.clipboard.writeText(importString)
  • 写入剪贴板
    src/preview-shell.js:586
    await navigator.clipboard.writeText(shareUrl);
  • 发起网络请求
    src/session-auth.js:55
    return fetch(url, {
  • 发起网络请求
    src/unlock-api.js:77
    const res = await fetch(CONVEX_SITE_URL + '/leaderboard');
  • 发起网络请求
    src/unlock-api.js:92
    const res = await fetch(CONVEX_SITE_URL + '/supporters');
  • 发起网络请求
    sw.js:94
    const networkFetch = fetch(request)
  • 发起网络请求
    sw.js:106
    const response = await fetch(request);
  • 发起网络请求
    templates/sw.template.js:42
    const networkFetch = fetch(request)
  • 发起网络请求
    templates/sw.template.js:54
    const response = await fetch(request);
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:acrobatic-corgi-867.convex.site、github.com、api.github.com

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 发现并预览主题
  • 创建并应用主题
  • 覆盖社区主题目录

发现、预览、创建并应用主题,覆盖 Codex、DeepSeek Harness 和社区目录。

README

由 DeepSeek 最新模型翻译生成
DexThemes 浏览、预览并安全应用开发者工具主题,走 Codex 和 DeepSeek Harness 支持的路径。 dexthemes.com · 主题合集 · 指南 · @DexThemes 能做什么 - 浏览 100+ 主题,涵盖动漫、电子游戏、电影、漫画、星座等 - 实时预览 —— 用真实代码看每个主题的效果,深色和浅色变体并排对比 - 主题详情 —— 把中间工作区从模拟聊天切换到完整调色板、来源和导入视图 - 可被索引的公开页面 —— 每个有效主题变体都有规范详情页,带渲染预览和相关主题 - Codex 交接 —— 复制导入字符串,并为你打开 Codex 设置 - DeepSeek Harness 插件 —— 通过 Harness 受保护的主题服务浏览并一键应用成对调色板,或通过受限的公开 MCP 工具配置档创建、搜索、校验它们 - 自己动手做 —— 内置主题构建器让你设计和分享自定义主题 - 用描述创建 —— 服务端 DexThemes AI 草稿有边界限制,生成可编辑的浅色/深色主题,未经单独用户操作绝不应用 - Harness 上下文 —— 为 Codex、DeepSeek Harness 和文档中提到的未来适配器预览,无需 fork 规范主题库 - Color Me Lucky —— 随机主题生成器,6 种色彩和谐方案,约 5000+ 名称组合
展开完整文档(README 剩余 1 节)
DexThemes

浏览、预览并安全应用开发者工具主题,走 Codex 和 DeepSeek Harness 支持的路径。

dexthemes.com · 主题合集 · 指南 · @DexThemes

能做什么

- 浏览 100+ 主题,涵盖动漫、电子游戏、电影、漫画、星座等
- 实时预览 —— 用真实代码看每个主题的效果,深色和浅色变体并排对比
- 主题详情 —— 把中间工作区从模拟聊天切换到完整调色板、来源和导入视图
- 可被索引的公开页面 —— 每个有效主题变体都有规范详情页,带渲染预览和相关主题
- Codex 交接 —— 复制导入字符串,并为你打开 Codex 设置
- DeepSeek Harness 插件 —— 通过 Harness 受保护的主题服务浏览并一键应用成对调色板,或通过受限的公开 MCP 工具配置档创建、搜索、校验它们
- 自己动手做 —— 内置主题构建器让你设计和分享自定义主题
- 用描述创建 —— 服务端 DexThemes AI 草稿有边界限制,生成可编辑的浅色/深色主题,未经单独用户操作绝不应用
- Harness 上下文 —— 为 Codex、DeepSeek Harness 和文档中提到的未来适配器预览,无需 fork 规范主题库
- Color Me Lucky —— 随机主题生成器,6 种色彩和谐方案,约 5000+ 名称组合
- 社区主题 —— 用 GitHub 登录并提交你的作品
- 排行榜 —— 日榜、周榜、月榜和历史创作者排名
- Codex 插件 —— 不用离开对话就能发现、创建、预览、应用、发布和收藏主题
- 语音友好创建 —— 把口述的想法、同人圈、事件或性格提示词变成命名的深色/浅色主题
- GitHub 反馈 —— 准备一份尽力脱敏的 GitHub Issue 供精确审查,不会悄悄发布

快速开始

静态站点前端,带生成的哈希应用外壳。

git clone https://github.com/daeshawnballard/dexthemes.git
cd dexthemes
npm install
npm run build
python3 -m http.server 4173

DeepSeek Harness 插件

把当前已发布的包安装到 Harness 的 web 配置档,然后打开 Settings → Plugins → DexThemes:

pnpm dsh plugin --profile web add @dexthemes/deepseek-harness-plugin@0.6.4
pnpm dsh web
npm 包是官方支持的发布分发渠道。0.6.4 版本已发布,并且已在真实的 DeepSeek Harness 0.1.0-rc.5 中,用其精确的 registry 产物完整跑通,包括 Apply/Revert、重启恢复、离线回退、GitHub Device Flow、连接活动确认、有界 Statsig 投递,以及 Creator 模式聊天 Apply/Stop。参见兼容性、重启、升级与卸载指南、0.6.4 发布回执、更新日志、GitHub releases 和支持渠道。

打开 http://127.0.0.1:4173/,你就进来了。

dist/ 由 npm run build 生成,故意不提交到仓库。根路径提供的静态文件,如 manifest.json、robots.txt、sitemap.xml、llms*.txt 和应用图标,都来自 public/,在构建时输出到部署根目录。

先读这些

- 架构指南
- 贡献指南
- 开源就绪计划
- API 指南
- DeepSeek Harness 集成
- 跨环境主题同步设计
- 多 harness 架构与兼容性
- Harness 效果证据矩阵
- Codex 插件指南
- 内容创作指南
- 可索引页面设计概念
- 可复用设计提示词
- 实现提示词
- OpenAI Build Week 2026 笔记

项目结构

index.html → App shell
templates/ → Source templates for the generated shell and service worker
index.template.html → Source template for the generated shell
sw.template.js → Source template for the generated service worker
styles/ → CSS split by domain (tokens, layout, sidebar, preview, builder, mobile, overlays)
index.css → Manifest entry for domain-scoped stylesheets
public/ → Source-of-truth static files emitted to the deploy root during build
manifest.json → PWA manifest source
robots.txt → Search crawler directives
sitemap.xml → Generated static sitemap fallback; /sitemap.xml is live at runtime
public-pages.css → Server-rendered theme, guide, and collection page styles
llms.txt → Agent-facing summary docs source
llms-full.txt → Full agent-facing docs source
favicon.svg → Root favicon source
apple-touch-icon.png → iOS 主屏图标源文件 icon-192.png → PWA 图标源文件 content/ → 公开指南、功能、文章和参考文档的 Markdown 源文件 guides/ → 任务与故障排查指南 features/ → 已上线产品能力页面 articles/ → 对比与编辑方法论 reference/ → 稳定的技术契约 src/ → 前端源码模块 main.js → 应用入口 preview-shell.js → 预览渲染、外壳与窗口控制 preview-actions.js → 预览侧效果、解锁操作与外部交接 preview-chat.js → 预览亮点、交接卡片、系统提示词 preview-attribution.js → 主题归属与举报 UI theme-details.js → 应用内 Chat 预览 / 主题详情工作区切换 theme-contracts.js → 纯主题结构辅助函数与导入字符串构建器 theme-attribution-model.js → 纯作者归属规则 api.js → 前端 API 客户端兼容聚合入口 dist/assets/ → 生产环境提供的生成式哈希前端构建产物(不提交) scripts/build.mjs → 哈希资源 + 外壳生成的构建流水线 scripts/generate-content.mjs → 校验 Markdown 并构建共享内容目录 theme-data/dexthemes/ → 按分类组织的主题包 helpers.js → createDexTheme() 和 registerDexThemesPack() anime.js → 动漫主题(Bleach、Naruto、JJK 等) games.js → 电子游戏主题 movies.js → 电影主题 comics.js → 漫画主题 zodiacs.js → 星座主题 lunar.js → 生肖主题 originals.js → DexThemes 原创设计 liger-zero.js → Liger Zero 主题包(Zoids) supporter.js → 可解锁主题 convex/ → 后端(Convex)—— 认证、点赞、社区主题、IndexNow schema.ts → 数据库 schema users.ts → 用户管理与会话 likes.ts → 点赞/取消点赞系统 themes.ts → 社区主题提交与发布排期 indexNow.ts → IndexNow 发布通知 action http.ts → HTTP 路由组合入口 api/ → Vercel 边缘/无服务器端点(目录、公开页面、OG、站点地图) share.js → 服务端渲染的规范主题页面,带真实 404 处理 content-page.js → 答案优先的编辑、参考与合集页面 sitemap.js → 实时静态 + 社区目录站点地图 mcp.js → DexThemes 插件的无状态 MCP 端点 deepseek-mcp.js → DeepSeek Harness 的受限匿名 MCP 配置档 server/ → MCP 工具、主题创建/校验、生成的应用资源 mcp-app/ → 交互式 Apps SDK 主题卡片与预览 plugins/dexthemes/ → 可安装的 Codex 插件清单、MCP 配置、资源与技能 packages/deepseek-harness-plugin/ → 已安装的 Harness 包与 Settings → Plugins → DexThemes UI docs/themes.schema.json → 主题提交的 JSON schema docs/theme-submission-example.json → 贡献载荷示例

主题格式

Codex 主题使用这种导入字符串格式:

codex-theme-v1:{"codeThemeId":"codex","theme":{"accent":"#0169cc","contrast":60,"fonts":{"code":null,"ui":null},"ink":"#fcfcfc","opaqueWindows":true,"semanticColors":{"diffAdded":"#00a240","diffRemoved":"#e02e2a","skill":"#b06dff"},"surface":"#111111"},"variant":"dark"}

贡献

如何提交主题、报告 bug、在本地搭起后端,见 CONTRIBUTING.md。

想找个小的切入点,优先看带 good first issue 或 help wanted 标签的 issue。适合早期贡献者的范围是主题包、文档、纯辅助函数,以及局部的 UI 打磨,而不是认证或部署这类底层管线。

后端

后端跑在 Convex 上,负责:

- GitHub OAuth,带一次性、绑定浏览器的 state 与 PKCE S256
- 签发经 GitHub 认证的智能体/API key,落库时只存 SHA-256 哈希
- 为插件提供 OAuth 2.1 资源服务器支持,上游登录走 GitHub
- 可选的已安装集成账号授权,走 DexThemes Connect GitHub Device Flow,由 Convex 代理;GitHub token 留在服务端,短时效的 DexThemes 会话留在插件内存里
- 浏览器会话管理(生产环境用 HttpOnly 同站 cookie,token 交接只用于 localhost/dev)
- 社区主题提交与审核
- 社区主题发布后发送 IndexNow 通知
- 点赞/取消点赞,带规范主题解析与乐观 UI
- 应用追踪
- Color Me Lucky API 端点
- 插件维度的统计、解锁,以及已确认的社区提交

把 .env.example 复制成 .env.local 就能开始。所有密钥都放在 Convex 环境变量里——仓库里不提交任何密钥。

依赖说明

DexThemes 建立在 Codex 主题导入与设置行为之上,而这两者不受本仓库控制。这是项目有意做出的取舍:代码库可以按自己的节奏维护,但 Codex 兼容性仍可能独立于 DexThemes 发生变化。

安全

- OAuth state 值由密码学随机数生成,一次性使用、有时限、绑定发起浏览器,并绑定 PKCE S256 verifier
- 会话 token 是 256 位密码学随机十六进制字符串
- 新的智能体/API key 只以 SHA-256 摘要存储,且只展示一次
- MCP 身份来自校验过的 JWT;工具从不接受用户 ID 或所有者 ID
- MCP JWT 需要有效的签名、签发者、受众、scope 和有效期;身份配额与网络配额各自独立执行
- 主题 ID 和调色板会对照权威静态目录校验,每种颜色在存储、预览或应用之前都会先验证
- 月度排名成就要求有唯一的已登录非作者采用记录;仅凭原始复制分析数据无法解锁
- 每日和每周的 #1 结果在已结束的 UTC 周期内最终确定。重复获胜者会在统计中保留每一次获胜,而 Golden Hour 和 Headliner 奖励主题每个账号只能解锁一次。
- 支持者墙展示是显式选择加入的,与 Patron 访问权限相互独立
- 公开成就声明仅限于客户端可观察的操作;账号、主题、排行榜、插件和员工解锁均在服务端推导
- 基于 Cookie 的账号 CORS 受来源限制;仅限 bearer 的已安装插件路由使用免凭据的通配符 CORS,并且仍然要求验证签发者、受众、签名、scope、有效期和身份
- HTML 模板中用户可控的字符串会被转义,而 MCP 应用通过 DOM textContent 渲染工具数据
- 代码库中不含任何密钥——只使用环境变量

验证

在提交 PR 之前,请使用贡献者安全的验证路径: sh
DEXTHEMES_SKIP_CLEAN=1 npm run validate

它会运行轻量级契约测试、文档检查和生产构建。

插件安装请参阅 Codex 插件指南。

仓库网站和 MCP 源码的依赖预检: sh
npm audit

MCP 契约测试会验证每个对外暴露的工具都有 outputSchema,以及显式的 readOnlyHint、openWorldHint 和 destructiveHint 值。

如需覆盖可见流程的浏览器测试,请运行: sh
npm run smoke:browser

应用会将主题页推荐、Theme 详情页浏览、权威分享和导入交接分别记录为独立的分析事件,这样就能把发现与转化分开衡量。

支持

如需产品帮助、缺陷报告、DeepSeek Harness 插件问题、功能请求以及账号/隐私相关分流,请使用 DexThemes 支持 或 提交 GitHub issue。切勿包含凭据、token、提示词、工作区内容、Cookie 或私有账号数据。

资助

DexThemes 免费且开源。如果它对你有用:

- 请我喝杯咖啡 —— 支持者可获得专属主题和徽章
- 在 GitHub 上赞助
- 给仓库点个 Star —— 这能帮更多人发现它
- 在 X 上分享主题 —— 每次分享都能帮助社区成长

许可证

MIT —— 由 @Daeshawn 用爱打造。

社区构建。与 OpenAI 无关联。
预览分享卡片长什么样 ↓daeshawnballard/dexthemes
分享 · DeepSeek Harness Hub
daeshawnballard/dexthemes

浏览、预览并安全应用开发者工具主题,走 Codex 和 DeepSeek Harness 支持的路径。

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部