Skip to content

JS:新增「角色一键养成」0.9.0 - #3496

Open
yunxi001 wants to merge 7 commits into
babalae:mainfrom
yunxi001:codex/genshin-cultivation-planner-0.9.0
Open

JS:新增「角色一键养成」0.9.0#3496
yunxi001 wants to merge 7 commits into
babalae:mainfrom
yunxi001:codex/genshin-cultivation-planner-0.9.0

Conversation

@yunxi001

@yunxi001 yunxi001 commented Aug 9, 2026

Copy link
Copy Markdown

这份脚本做什么

「角色一键养成」把材料计算、每周规划、任务调度和结果统计放进一次运行。用户只需选择角色、目标等级、三项天赋,以及是否培养武器;脚本会自动推导材料需求、扣除背包库存,并匹配对应的世界 Boss、培养秘境和已订阅路线。

它与现有养成脚本的主要区别,是输入“培养目标”,而不是让用户先整理一份材料清单。用户不必到养成计算器抄写各级材料数量,也不必自己查某项材料由哪个 Boss 掉落、在哪个秘境获取或星期几开放。队伍与路线完成一次基础配置后,后续更换培养目标即可重新计算和调度。

主要功能

  • 角色、武器、等级和三项天赋提供下拉选择;多目标与特殊区间保留高级自定义输入。
  • 读取运行前后的背包,沿合成链计算天赋书、武器突破材料和怪物材料,并按高、中、低阶分别显示缺口。
  • 根据开放日生成从今天开始的七天计划;周日自动选择对应材料系列。
  • 根据突破材料自动匹配世界 Boss,不要求用户输入 Boss 名称;三个专属配置槽可覆盖队伍、策略或单独禁用。
  • 执行当天可用的培养秘境、世界 Boss 和已订阅 AutoPathing 路线。
  • 没有可执行的培养树脂任务时,可用圣遗物秘境填充树脂。
  • 日志与通知列出确认收益、剩余缺口和预计领取次数。

树脂任务顺序固定为:世界 Boss → 当天开放的限时培养秘境 → 普通培养秘境 → 圣遗物填充。一次运行只执行第一个符合条件的树脂任务,结束后再执行已开启的地方特产和怪物路线。

合成与统计

材料折算只采用确定的基础配方,例如 3 个低阶材料合成 1 个高一阶材料。行秋、优菈等角色天赋带来的返还或额外产出属于概率收益,不会被提前计入库存,避免未触发时少算缺口;实际额外产出会在下一次背包读取时计入。

培养秘境、世界 Boss 和圣遗物秘境启用 BetterGI 的任务级奖励识别。背包仍只在整次运行开始前和全部任务结束后各读取一次:背包差值可信时优先采用;结束背包漏识别时使用任务奖励兜底,两者不会重复累计。双方都没有确认到目标材料时,通知会写成“未确认”,不会把任务调用当成成功领奖。

安全与使用边界

  • 未勾选“我已确认配置并允许实际执行”时,不读取背包、不写记录、不通知,也不操作游戏。
  • 推荐使用 BetterGI OCR V6;数量文字异常时会给出对应排查提示。
  • 不在游戏中升级角色或武器,不自动刷摩拉、经验书、元素突破玉,也不执行材料合成或制作浓缩树脂。
  • 周本材料只计算和提醒,0.9.0 不自动打周本。
  • Boss、路线和圣遗物填充默认关闭;自动档案、复杂树脂调度和周本自动执行不在本次提交中。
  • 本 PR 只添加脚本运行目录,不修改 BetterGI 主程序或自动生成的 bettergi.d.ts

验证情况

已实测无光的深都、昏识塔、忘却之峡和月童的库藏,世界 Boss 已覆盖急冻树、隐山猊兽、霜夜巡天灵主。月莲、蕈兽等订阅路线,错误队伍重试、背包差值统计和邮件摘要也经过实际运行。周日领奖已验证。

个人账号情况和树脂有限,尚未逐项测试全部秘境和世界 Boss。其余计算与调度逻辑均有本地测试。2026-08-16 至 08-18 的连续运行中,材料已满足时均正确跳过树脂任务并成功发送摘要,没有出现本脚本异常。

ItemV2 背包识别、任务奖励兜底、ClearScript 奖励字典兼容及 Boss 结束后的安全退场已完成代码回归;由于最近三次运行没有触发树脂任务,这部分仍待下一次正常树脂运行复核。

本地检查结果:

  • pnpm test:74 项全部通过
  • 全部 JavaScript 通过 node --check
  • 全部 JSON 可以解析
  • 官方发布目录只包含 36 个运行文件,并与对应源码逐字节一致
  • git diff --check 通过

源码与反馈

反馈 Bug 时,请附上 BetterGI 版本、脚本版本、复现步骤和完整日志;发送前请检查日志中是否有不想公开的信息。

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0cd4e3ec-b5c9-4a25-85e5-bd87222ae7b7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@yunxi001
yunxi001 marked this pull request as ready for review August 13, 2026 04:52
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@A-Little-AnQi A-Little-AnQi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

说明此脚本与现有的角色养成脚本的区别与优势,天赋等材料3合1需考虑角色天赋带来的干扰

Comment thread repo/js/GenshinCultivationPlanner/settings.json

yunxi001 commented Aug 18, 2026

Copy link
Copy Markdown
Author

@A-Little-AnQi 感谢审查,已按意见完成调整:

  1. README 和 PR 说明已补充与现有养成脚本的区别:本脚本输入的是角色、天赋和武器的“培养目标”,会自动推导材料清单、扣除背包库存,并匹配 Boss、秘境、开放日和已订阅路线,不要求用户事先抄写各级材料数量。
  2. 3:1 合成只按确定的基础配方计算,不提前计入行秋、优菈等角色天赋的概率返还或额外产出;实际额外收益由下一次背包读取反映。已增加“2 个不足、3 个刚好合成”的回归测试。
  3. 官方脚本目录中的重复许可证文件已经移除,完整许可证继续保留在独立源码仓库。
  4. 同步补充了 ClearScript 奖励字典兼容和 Boss 结束后的安全退场;当前 74 项测试全部通过,JavaScript、JSON 与发布子集校验正常。

相关说明和代码已推送,麻烦重新审查。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants