{"id":34627813,"url":"https://github.com/pa001024/dna-builder","last_synced_at":"2026-04-28T06:04:06.780Z","repository":{"id":328519038,"uuid":"1109682549","full_name":"pa001024/dna-builder","owner":"pa001024","description":"二重螺旋构筑模拟器 Duet Night Abyss Builder","archived":false,"fork":false,"pushed_at":"2026-02-14T19:49:23.000Z","size":71126,"stargazers_count":40,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-15T03:56:44.535Z","etag":null,"topics":["desktop-app","rust","web-frontend"],"latest_commit_sha":null,"homepage":"https://xn--chq26veyq.icu/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pa001024.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-04T06:18:57.000Z","updated_at":"2026-02-14T19:46:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"d2efffb0-6c07-4c46-b84c-2a875c4c1d12","html_url":"https://github.com/pa001024/dna-builder","commit_stats":null,"previous_names":["pa001024/dna-builder"],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/pa001024/dna-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa001024%2Fdna-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa001024%2Fdna-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa001024%2Fdna-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa001024%2Fdna-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pa001024","download_url":"https://codeload.github.com/pa001024/dna-builder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pa001024%2Fdna-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29563467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T21:50:49.831Z","status":"ssl_error","status_checked_at":"2026-02-17T21:46:15.313Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-app","rust","web-frontend"],"created_at":"2025-12-24T16:11:37.782Z","updated_at":"2026-04-28T06:04:06.772Z","avatar_url":"https://github.com/pa001024.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# 二重螺旋构筑模拟器 Duet Night Abyss Builder\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://dna-builder.cn/\"\u003e\u003cimg alt=\"Website\" src=\"https://img.shields.io/website/https/dna-builder.cn\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/pa001024/dna-builder/actions/workflows/alpha.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/pa001024/dna-builder/alpha.yml\" alt=\"Build Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/pa001024/dna-builder\"\u003e\u003cimg src=\"https://img.shields.io/github/license/pa001024/dna-builder\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/pa001024/dna-builder\"\u003e\n\u003c/p\u003e\n\n**DNA Builder**（二重螺旋构筑模拟器，简称 DOB）是面向《二重螺旋 Duet Night Abyss》的综合工具，提供资料检索、角色构建、养成分析与伤害计算能力。\n\n## 使用入口\n\n### 网页版（支持 PWA）\n\n可直接在浏览器中安装为应用，支持离线访问。\n\n- **国内服务器**: [https://dna-builder.cn/](https://dna-builder.cn/)\n- **EdgeOne**: [https://dna-builder.edgeone.dev/](https://dna-builder.edgeone.dev/)\n- **Vercel**: [https://dna-builder.vercel.app/](https://dna-builder.vercel.app/)\n\n### 桌面版（推荐）\n\n- **winget**: `winget install pa001024.dna-builder`\n- **微软商店**: [https://apps.microsoft.com/detail/9nk8zw43shb1](https://apps.microsoft.com/detail/9nk8zw43shb1)\n- **GitHub Releases**: [https://github.com/pa001024/dna-builder/releases/latest](https://github.com/pa001024/dna-builder/releases/latest)\n- **运行前置**: 请确保已安装 [Microsoft Edge WebView2](https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/)\n\n微软商店截图\n\n![微软商店截图](./misc/1.png)\n\n## 功能特点\n\n- 🎮 角色构建：角色、武器、MOD、BUFF 的可视化配置\n- 🔨 自动构建：一键搜索当前条件下的高收益组合\n- 📊 伤害计算：技能与武器伤害期望的实时计算\n- ⚙️ 目标函数：支持自定义表达式优化\n- 📦 库存管理：支持武器与 MOD 的库存记录与筛选\n- 🔍 拼音搜索：快速检索角色、武器与 MOD\n- 🎣 钓鱼模拟器：内置鱼类与钓点相关数据\n- 🔒 密函模拟器：内置密函数据与模拟流程\n- 🏆 成就系统：记录与跟踪成就进度\n- 🤖 MCP Server：支持 AI 工具集成\n\n## 技术栈\n\n### 前端\n\n- Vue 3 + TypeScript\n- Vite 7\n- Tailwind CSS v4 + daisyUI v5 + reka-ui\n- Pinia + Vue Router\n- i18next\n- Vitest + Biome\n\n### 桌面应用\n\n- Tauri 2（Rust + WebView2）\n\n### 服务端（可选）\n\n- Bun + Elysia\n- SQLite + Drizzle ORM\n- GraphQL Yoga\n\n## 多语言\n\n目前支持（含部分数据翻译）：\n\n- 中文（简体 / 繁体）\n- English\n- 日本語\n- 한국어\n\n欢迎提交翻译改进。\n\n## 开发说明\n\n### 环境要求\n\n- Node.js（建议 20+）\n- `pnpm`（项目使用 `pnpm`）\n- `bun`（用于 server 与工具脚本）\n- Rust 工具链（开发 Tauri 时需要）\n\n### 前端\n\n```bash\n# 安装依赖\npnpm install\n\n# 本地开发（默认 http://localhost:1420/）\npnpm dev\n\n# 代码检查（Biome + vue-tsc）\npnpm lint\n\n# 单元测试\npnpm test\n\n# 覆盖率\npnpm coverage\n\n# 代码格式化\npnpm format\n```\n\n### 桌面应用（Tauri）\n\n```bash\npnpm tauri dev\npnpm tauri build\n```\n\n### 服务端（Bun + Elysia）\n\n```bash\ncd server\nbun install\n\n# 开发模式（含迁移）\nbun run dev\n\n# 生成迁移\nbun run gen\n\n# 执行迁移\nbun run mig\n```\n\n### 常用工具命令\n\n```bash\n# 生成 API 调用代码\npnpm gen\n\n# 图标管理\nbun tools/icon_tool.ts add|check|clean|list\n\n# i18n 导入导出\nbun tools/i18n_tool.ts export|import\n```\n\n## 项目结构\n\n```text\ndna-builder/\n├── src/                  # 前端主代码\n│   ├── components/       # Vue 组件\n│   ├── data/             # 游戏数据与计算逻辑（含 tests）\n│   ├── store/            # Pinia 状态管理\n│   ├── views/            # 页面视图\n│   ├── api/              # API 调用\n│   ├── utils/            # 工具函数\n│   └── router.ts         # 路由配置\n├── public/               # 静态资源（图片、i18n 等）\n├── src-tauri/            # Tauri Rust 代码\n├── server/               # Bun + Elysia 服务端\n├── mcp_server/           # Rust MCP Server\n├── externals/dna-api/    # 外部 dna-api 包源码\n└── tools/                # 开发工具脚本\n```\n\n## 相关包\n\n### dna-api\n\n[dna-api](https://www.npmjs.com/package/dna-api) 提供游戏数据访问接口。\n\n```bash\nnpm install dna-api\n# or\npnpm install dna-api\n# or\nbun install dna-api\n```\n\n### dna-builder-data\n\n[dna-builder-data](https://www.npmjs.com/package/dna-builder-data) 提供核心计算模型。\n\n```bash\nnpm install dna-builder-data\n```\n\n```typescript\nimport { CharBuild, LeveledBuff, LeveledChar, LeveledMod, LeveledWeapon } from \"dna-builder-data\"\n\nconst options = {\n    char: new LeveledChar(\"黎瑟\", 80),\n    melee: new LeveledWeapon(\"铸铁者\"),\n    ranged: new LeveledWeapon(\"烈焰孤沙\"),\n    charMods: [new LeveledMod(41324)],\n    buffs: [new LeveledBuff(\"黎瑟E\")],\n    hpPercent: 1,\n    resonanceGain: 0,\n    baseName: \"普通攻击\",\n    targetFunction: \"DPS\",\n    enemyId: 130,\n    enemyLevel: 80,\n    skillLevel: 10,\n}\n\nconst cb = new CharBuild(options)\nconst damage = cb.calculate()\n```\n\n### dob-script（CLI，面向 Agent 脚本测试）\n\n`dob-script` 是 DNA Builder 脚本引擎的命令行入口，主要用于让 AI Agent 快速生成、执行、迭代 `.js` 脚本，不需要先打开桌面 UI。\n\n安装（全局）：\n\n```bash\nnpm i -g dob-script\n```\n\n执行脚本：\n\n```bash\ndob-script ./example.js\n```\n\nAI Agent 提示词模板（可直接复用）：\n\n1. 生成脚本（首轮）\n\n```text\n你现在是 DNA Builder 脚本助手，请输出一个可直接运行的完整 JS 脚本（不要解释，只输出代码）。\n目标：\u003c这里写自动化目标，例如“每隔 200ms 检测窗口并点击按钮”\u003e。\n约束：\n- 脚本文件需可通过 `dob-script xxx.js` 直接执行\n- 必须包含必要的日志输出（console.log / console.error）\n- 异常要可见，避免静默失败\n```\n\n2. 迭代修复（拿到运行日志后）\n\n```text\n下面是我通过 `dob-script test.js` 得到的报错日志，请根据日志修复脚本并输出完整可运行代码（不要解释）：\n\u003c粘贴日志\u003e\n```\n\n说明：\n\n- 推荐流程：`Agent 生成脚本 -\u003e dob-script 本地运行 -\u003e 根据日志继续让 Agent 修复`\n- 该 CLI 当前主要面向 Windows 环境\n\n### MCP（npx stdio）\n\n`dna-builder-data` 也提供可通过 `npx` 直接启动的 MCP stdio 服务（参考 Context7 的两步查询流程）。\n\n```bash\nnpx -y dna-builder-data\n```\n\n可选：覆盖在线查询使用的 GraphQL 端点（默认 `https://api.dna-builder.cn/graphql`）：\n\n```bash\nDNA_MCP_GRAPHQL_ENDPOINT=http://127.0.0.1:8887/graphql npx -y dna-builder-data\n# 或\nnpx -y dna-builder-data --graphql-endpoint http://127.0.0.1:8887/graphql\n```\n\n主要工具：\n\n1. `resolve-data-module`：先把关键词解析为本地模块 ID（如 `/local/char`）\n2. `query-data-module`：在本地单模块内查询，支持 `fields`、`exactId`、`threshold` 等参数降噪\n3. `query-missions`：独立查询实时密函，默认请求 `missionsIngame(server: \"cn\")`\n\n能力范围：\n\n- 本地数据查询：查询 `src/data/d/*.data.ts`，并针对 `reward` / `dungeon` / `abyss` 做业务解压\n- 在线数据查询：连接项目 GraphQL 后端，查询实时密函（`missionsIngame`），并转换为 `角色/武器/魔之楔` 结构化字段\n\n## 支持作者\n\n如果这个项目对你有帮助，欢迎支持：\n\n- 爱发电: [https://afdian.com/a/pa001024](https://afdian.com/a/pa001024)\n- 微软商店购买: [https://apps.microsoft.com/detail/9nk8zw43shb1](https://apps.microsoft.com/detail/9nk8zw43shb1)\n\n## 贡献\n\n欢迎提交 Issue 与 Pull Request。\n\n## 许可证\n\nMIT License\n\n## 联系方式\n\n如有问题或建议，请在 GitHub 仓库提交 Issue。\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=pa001024/dna-builder\u0026type=date\u0026legend=top-left)](https://www.star-history.com/#pa001024/dna-builder\u0026type=date\u0026legend=top-left)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpa001024%2Fdna-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpa001024%2Fdna-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpa001024%2Fdna-builder/lists"}