Skip to content

feat(maa): 计划表模式下不再强制关闭库存保持 - #585

Merged
HarcoChen merged 2 commits into
AUTO-MAS-Project:devfrom
jinghero:feat/maa-depot-maintain-plan
Sep 9, 2026
Merged

feat(maa): 计划表模式下不再强制关闭库存保持#585
HarcoChen merged 2 commits into
AUTO-MAS-Project:devfrom
jinghero:feat/maa-depot-maintain-plan

Conversation

@jinghero

@jinghero jinghero commented Sep 6, 2026

Copy link
Copy Markdown

Closes #584

  • MAA 计划表模式下不再强制关闭「库存保持」:开启后每天先按库存目标消耗当日自然回复理智(不吃药不碎石),再按计划表刷图
  • 固定关卡模式行为不变;库存保持的物品与目标清单仍在用户编辑页配置

Sourcery 摘要

让 MAA 计划表模式支持库存保持,同时保留固定关卡模式的既有行为。

新功能:

  • 允许 MAA 计划表模式启用库存保持,并在每日计划作战前执行库存目标消耗自然回复理智。

改进:

  • 统一固定关卡与计划表模式的库存保持配置和用户编辑体验。

文档:

  • 更新变更日志,说明计划表模式库存保持行为及升级后的配置影响。

测试:

  • 更新库存保持摘要测试,以覆盖固定关卡与计划表模式下的统一行为。

杂项:

  • 更新项目版本信息。
Original summary in English

Sourcery 摘要

允许 MAA 调度模式使用库存维护,同时不改变固定关卡模式的行为。

新功能:

  • 在 MAA 调度模式中启用库存维护,在执行计划任务前运行已配置的库存目标,同时保留现有的固定关卡模式行为。

增强:

  • 统一 MAA 固定关卡模式和调度模式下的库存维护配置与摘要。

文档:

  • 在更新日志中记录 MAA 调度模式库存维护行为的变更及升级影响。

测试:

  • 更新库存维护摘要测试,以验证所有支持模式下的统一行为。

杂项:

  • 更新项目版本信息。
Original summary in English

Sourcery 摘要

允许 MAA 排程模式保留库存维护功能,同时保持固定阶段模式的行为不变。

新功能:

  • 在每日计划作战前,为 MAA 排程模式启用库存维护。

改进:

  • 统一 MAA 固定阶段模式和排程模式下的库存维护配置与摘要。

文档:

  • 在更新日志中记录 MAA 排程模式库存维护行为的变更及升级影响。

测试:

  • 更新库存维护摘要测试,以适配统一后的模式行为。

杂项:

  • 更新项目版本信息。
Original summary in English

Summary by Sourcery

Allow MAA schedule mode to retain inventory maintenance while preserving fixed-stage mode behavior.

New Features:

  • Enable inventory maintenance in MAA schedule mode before daily planned operations.

Enhancements:

  • Unify inventory maintenance configuration and summaries across MAA fixed-stage and schedule modes.

Documentation:

  • Document the changed MAA schedule-mode inventory maintenance behavior and upgrade impact in the changelog.

Tests:

  • Update inventory maintenance summary tests for the unified mode behavior.

Chores:

  • Update project version information.

@sourcery-ai

sourcery-ai Bot commented Sep 6, 2026

Copy link
Copy Markdown

审查者指南

该 PR 为 MAA 计划表的每个星期槽位增加库存保持按天开关,贯通配置模型、执行逻辑和前端编辑界面;计划模式按当天槽位先执行库存保持,固定关卡模式与库存计划配置行为保持不变,并补充了兼容性与持久化测试。

每日计划库存保持执行时序图

sequenceDiagram
    participant Scheduler as MAA计划调度
    participant AutoProxy
    participant PlanConfig
    participant DepotMaintain as 库存保持
    participant Sanity as 理智作战

    Scheduler->>AutoProxy: main_task()
    AutoProxy->>PlanConfig: get_current_info(IfDepotMaintain)
    PlanConfig-->>AutoProxy: IfDepotMaintain
    alt IfDepotMaintain is true
        AutoProxy->>DepotMaintain: execute inventory maintenance
        AutoProxy->>Sanity: execute sanity battle
    else IfDepotMaintain is false
        AutoProxy->>Sanity: execute sanity battle
    end
Loading

配置每日计划库存保持流程图

flowchart LR
    ConfigView[计划表配置视图]
    Checkbox[库存保持按天复选框]
    Coordinator[usePlanDataCoordinator]
    Model[MaaPlanConfig_Item.IfDepotMaintain]
    Runtime[当天计划执行]

    ConfigView --> Checkbox
    Checkbox --> Coordinator
    Coordinator --> Model
    Model --> Runtime
Loading

文件级变更

变更 详情 文件
为计划表槽位增加按天库存保持配置,并保持旧计划兼容。
  • 为每个计划槽位注册布尔配置项并加入后端、前端模型。
  • 新增默认值、旧数据回退和周槽位独立保存的测试覆盖。
app/models/config.py
app/models/schema.py
frontend/src/api/models/MaaPlanConfig_Item.ts
tests/task/test_maa_plan_depot_maintain.py
让计划模式按当前槽位在库存保持与理智作战前执行库存保持。
  • 计划模式从当前计划槽位读取 IfDepotMaintain,固定关卡模式逻辑保持不变。
app/task/MAA/AutoProxy.py
在计划表配置界面提供库存保持按天勾选,并同步用户编辑页状态。
  • 扩展计划数据读写适配和配置视图,新增库存保持行及复选框。
  • 计划模式用户编辑页改为只读展示当天槽位开关,同时保留全局库存计划的查看与编辑能力。
  • 更新库存保持摘要文案及相关测试。
frontend/src/composables/usePlanDataCoordinator.ts
frontend/src/views/plan/tables/MaaPlanTable.vue
frontend/src/views/EditView/User/MAAUserEdit.vue
frontend/src/views/MAAUserEdit/TaskPipelineSection.vue
frontend/src/views/MAAUserEdit/taskSummaries.ts
frontend/src/views/MAAUserEdit/taskSummaries.test.ts
更新应用版本信息。
  • 递增版本号。
res/version.json

可能关联的 issue


提示与命令

与 Sourcery 交互

  • 触发新的审查: 在 pull request 中评论 @sourcery-ai review
  • 继续讨论: 直接回复 Sourcery 的审查评论。
  • 从审查评论生成 GitHub issue: 回复审查评论,请 Sourcery 根据该评论创建 issue。你也可以回复 @sourcery-ai issue,从该评论创建 issue。
  • 生成 pull request 标题: 在 pull request 标题的任意位置写入 @sourcery-ai,即可随时生成标题。你也可以在 pull request 中评论 @sourcery-ai title,随时重新生成标题。
  • 生成 pull request 摘要: 在 pull request 正文中任意位置写入 @sourcery-ai summary,即可在指定位置生成 PR 摘要。你也可以在 pull request 中评论 @sourcery-ai summary,随时重新生成摘要。
  • 生成审查者指南: 在 pull request 中评论 @sourcery-ai guide,即可随时重新生成审查者指南。
  • 解决所有 Sourcery 评论: 在 pull request 中评论 @sourcery-ai resolve,即可解决所有 Sourcery 评论。如果你已经处理完所有评论且不想再看到它们,这会很有用。
  • 关闭所有 Sourcery 审查: 在 pull request 中评论 @sourcery-ai dismiss,即可关闭所有现有的 Sourcery 审查。如果你想从头开始新的审查,这尤其有用——别忘了评论 @sourcery-ai review 以触发新的审查!

自定义你的使用体验

访问你的控制面板以:

  • 启用或禁用审查功能,例如 Sourcery 生成的 pull request 摘要、审查者指南等。
  • 更改审查语言。
  • 添加、删除或编辑自定义审查说明。
  • 调整其他审查设置。

获取帮助

Original review guide in English

Reviewer's Guide

该 PR 为 MAA 计划表的每个星期槽位增加库存保持按天开关,贯通配置模型、执行逻辑和前端编辑界面;计划模式按当天槽位先执行库存保持,固定关卡模式与库存计划配置行为保持不变,并补充了兼容性与持久化测试。

Sequence diagram for daily plan inventory maintenance execution

sequenceDiagram
    participant Scheduler as MAA计划调度
    participant AutoProxy
    participant PlanConfig
    participant DepotMaintain as 库存保持
    participant Sanity as 理智作战

    Scheduler->>AutoProxy: main_task()
    AutoProxy->>PlanConfig: get_current_info(IfDepotMaintain)
    PlanConfig-->>AutoProxy: IfDepotMaintain
    alt IfDepotMaintain is true
        AutoProxy->>DepotMaintain: execute inventory maintenance
        AutoProxy->>Sanity: execute sanity battle
    else IfDepotMaintain is false
        AutoProxy->>Sanity: execute sanity battle
    end
Loading

Flow diagram for configuring daily plan inventory maintenance

flowchart LR
    ConfigView[计划表配置视图]
    Checkbox[库存保持按天复选框]
    Coordinator[usePlanDataCoordinator]
    Model[MaaPlanConfig_Item.IfDepotMaintain]
    Runtime[当天计划执行]

    ConfigView --> Checkbox
    Checkbox --> Coordinator
    Coordinator --> Model
    Model --> Runtime
Loading

File-Level Changes

Change Details Files
为计划表槽位增加按天库存保持配置,并保持旧计划兼容。
  • 为每个计划槽位注册布尔配置项并加入后端、前端模型。
  • 新增默认值、旧数据回退和周槽位独立保存的测试覆盖。
app/models/config.py
app/models/schema.py
frontend/src/api/models/MaaPlanConfig_Item.ts
tests/task/test_maa_plan_depot_maintain.py
让计划模式按当前槽位在库存保持与理智作战前执行库存保持。
  • 计划模式从当前计划槽位读取 IfDepotMaintain,固定关卡模式逻辑保持不变。
app/task/MAA/AutoProxy.py
在计划表配置界面提供库存保持按天勾选,并同步用户编辑页状态。
  • 扩展计划数据读写适配和配置视图,新增库存保持行及复选框。
  • 计划模式用户编辑页改为只读展示当天槽位开关,同时保留全局库存计划的查看与编辑能力。
  • 更新库存保持摘要文案及相关测试。
frontend/src/composables/usePlanDataCoordinator.ts
frontend/src/views/plan/tables/MaaPlanTable.vue
frontend/src/views/EditView/User/MAAUserEdit.vue
frontend/src/views/MAAUserEdit/TaskPipelineSection.vue
frontend/src/views/MAAUserEdit/taskSummaries.ts
frontend/src/views/MAAUserEdit/taskSummaries.test.ts
更新应用版本信息。
  • 递增版本号。
res/version.json

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

您好——我发现了 1 个问题

面向 AI Agent 的提示
请处理此次代码审查中的评论:

## 单独评论

### 评论 1
<location path="tests/task/test_maa_plan_depot_maintain.py" line_range="17-18" />
<code_context>
+    return plan
+
+
+def test_all_mode_slot_defaults_to_false_and_round_trips() -> None:
+    plan = _load_plan({"Info": {"Name": "计划", "Mode": "ALL"}})
+
+    assert plan.get_current_info("IfDepotMaintain").getValue() is False
+
+    plan.get_current_info("IfDepotMaintain").setValue(True)
+    assert plan.get_current_info("IfDepotMaintain").getValue() is True
+
+
</code_context>
<issue_to_address>
**问题(测试):** 名为 `round_trips` 的测试从未调用 `toDict()`,因此无法验证 `IfDepotMaintain` 是否被序列化并恢复。即使某个实现会在导出过程中静默丢弃这一新字段,该测试仍然会通过。

**建议修复:** 使用 `toDict()` 导出计划,并断言 `exported["ALL"]["IfDepotMaintain"] is True````suggestion
    plan.get_current_info("IfDepotMaintain").setValue(True)
    assert plan.get_current_info("IfDepotMaintain").getValue() is True

    exported = asyncio.run(plan.toDict())
    assert exported["ALL"]["IfDepotMaintain"] is True
```
</issue_to_address>

Sourcery 评估

等待批准。 请先处理 1 个发现的问题。

阻塞性发现:tests/task/test_maa_plan_depot_maintain.py:18


Sourcery 对开源项目免费——如果您喜欢我们的审查,请考虑分享它们 ✨
Original comment in English

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="tests/task/test_maa_plan_depot_maintain.py" line_range="17-18" />
<code_context>
+    return plan
+
+
+def test_all_mode_slot_defaults_to_false_and_round_trips() -> None:
+    plan = _load_plan({"Info": {"Name": "计划", "Mode": "ALL"}})
+
+    assert plan.get_current_info("IfDepotMaintain").getValue() is False
+
+    plan.get_current_info("IfDepotMaintain").setValue(True)
+    assert plan.get_current_info("IfDepotMaintain").getValue() is True
+
+
</code_context>
<issue_to_address>
**issue (testing):** The test named `round_trips` never calls `toDict()` and therefore does not verify that `IfDepotMaintain` is serialized and restored. An implementation that silently drops the new field during export still passes this test.

**Suggested fix:** Export the plan with `toDict()` and assert that `exported["ALL"]["IfDepotMaintain"] is True`.

```suggestion
    plan.get_current_info("IfDepotMaintain").setValue(True)
    assert plan.get_current_info("IfDepotMaintain").getValue() is True

    exported = asyncio.run(plan.toDict())
    assert exported["ALL"]["IfDepotMaintain"] is True
```
</issue_to_address>

Sourcery assessment

Approval pending. 1 finding to address first.

Blocking findings: tests/task/test_maa_plan_depot_maintain.py:18


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

Comment thread tests/task/test_maa_plan_depot_maintain.py Outdated
@HarcoChen

Copy link
Copy Markdown
Contributor

您好,十分感谢您对 MAS 开发的支持!目前 MAS 的开发人力确实比较紧张,对于新feat需要对应专项维护者的支持~

想请您进一步解释一下,为什么需要将「库存保持」纳入计划表?从我们目前的理解来看,这类功能与计划表这种周期性的任务场景不太一致,有点像“三天打鱼,两天晒网”。

当前的设计应该是活动关-库存保持-固定关/计划表,理论上这覆盖了您的情况?

另外,您在 Issue 中提到的理由也有一些我们不太理解的地方:

维持物品库存的需求(赤金、招聘许可等)

据我们了解,「库存保持」本身应该并不会直接产出赤金,因此这里将赤金作为该功能的使用场景似乎不太合适。

如果您有更具体的实际使用场景,或者能够说明它与现有计划表机制之间的关系,也欢迎进一步补充,这样我们可以更准确地评估这个需求。

@jinghero

jinghero commented Sep 6, 2026

Copy link
Copy Markdown
Author

感谢详细反馈,几点分别回应:

  1. 赤金的例子举错了,感谢指正 赤金产自基建制造站而非关卡掉落,不适合作为库存保持的示例(MAS 的库存保持物品列表本来就会排除非可刷取物品)。更合适的例子是红票、芯片这类有稳定关卡掉落的物品。

  2. 实际使用场景:三个朋友的号一起托管,长期使用计划表模式 因为需要多账号托管,我一直在用计划表模式统一设置关卡。自从 MAA 上线库存保持后,要用它就只能进每个用户的配置界面、切回固定模式排关——计划表和库存保持成了二选一,需要库存保持+刷关时,只能进用户配置界面逐一修改理智关卡。MAS新适配库存保持功能时,因为使用计划表模式,找不到入口,后面是翻了用户配置界面才找到具体功能设置

  3. 真实痛点:计划表模式下库存保持是被强制关闭的 目前「关卡配置」一旦选择计划表,库存保持开关就会被强制关闭——「活动关 → 库存保持 → 固定关/计划表」这条流水线对计划表用户来说,中间一环实际不可用。我的期望是:每天先维持红票、芯片等到目标库存,再按计划刷图。(活动开放期间跳过库存保持,基本大家都这么设置的吧)

  4. 与现有机制的关系:共存没有障碍,剩下只是控制粒度 库存保持在队列中先于理智作战、只消耗当日自然回复体力(不吃理智药),与计划表的理智药/关卡编排天然不冲突。剩下的问题是粒度:

粒度 A(最小改动):解除计划表模式下的强制关闭,用户编辑页的库存保持开关直接生效——常驻目标,每天开启就先补库存,再按计划刷图,不新增任何界面;
粒度 B(当前 PR 的做法):「当天是否执行」放进计划表按天勾选,适配“某些天想把全部免费体力留给特定关卡(自定义关卡或1-7)”的情况。
两种粒度都能覆盖需求。

@HarcoChen

Copy link
Copy Markdown
Contributor

明白了,我觉得粒度A是比较合理的方案,以及什么是免费的体力?你挂MAA要碎石头吗?

@jinghero

jinghero commented Sep 6, 2026

Copy link
Copy Markdown
Author

oh 我丢给ai润色了一波(直接翻了相关代码来润色的)。那我改改

@jinghero
jinghero force-pushed the feat/maa-depot-maintain-plan branch from 66c188c to e2d4743 Compare September 6, 2026 14:30
@HarcoChen
HarcoChen requested a review from 1w1w11w1 September 6, 2026 16:21
@AUTO-MAS-Project AUTO-MAS-Project deleted a comment from qiyinxi Sep 8, 2026
@qiyinxi

qiyinxi commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

静态审。代码本身(后端去掉强制关闭 + 前端解禁)没发现会出错的地方,问题集中在「PR 过期」这一层。

必修

  1. 更新日志写错地方了:PR 停在 refactor(changelog): 更新日志与版本号收敛到 CHANGELOG.md,并重做应用内展示 #622 之前的 dev 上。refactor(changelog): 更新日志与版本号收敛到 CHANGELOG.md,并重做应用内展示 #622 之后 CHANGELOG.md 是唯一手写来源、res/version.json 是生成物,check-changelog.yml 会跑 changelog.py check 比对生成物,并要求 PR 文件列表里含 CHANGELOG.md。需要:条目挪进 CHANGELOG.md### 新增新增功能 这个分类名已不存在)、去掉手写的 by [@jinghero](合并后由机器人补)、撤掉 res/version.json:6 的手改、跑 python scripts/changelog.py sync。冲突只在 version.json 一个文件,5 个代码文件都能干净合并。另:dev 当前基线自己 check 就不过(version.json 有两条署名 CHANGELOG.md 没有),sync 会顺带删掉那两处,不是你改坏的。

  2. 标题和正文还停在改版前的粒度 B。正文写着「计划表每个星期槽位新增按天开关」「计划表配置视图新增按天勾选行」,但 force-push 后的实现是粒度 A(commit message 是准的)。仓库设置 squash_merge_commit_title=PR_TITLE + squash_merge_commit_message=PR_BODY,合并会把过期标题和整段正文原样写进 dev;正文里的 Closes #584 还会关掉一个「按天控制当天是否执行」的 issue,而这次没做那件事。

建议修

  1. 存量用户升级后会静默开启。库存保持与「计划表下强制关闭」是同一个提交 5ac75d6b 引入、已随 v5.4.0 发布。用户若在固定关卡模式下开过开关、之后切到计划表,存储值仍是 true——切模式的 watcher 和配置迁移都不重置它,旧前端只是把开关显示成关并禁用。改动后这部分用户什么都不动,升级后计划表模式下库存保持就会跑:它排在理智作战之前(app/task/MAA/AutoProxy.py:255),先把当日自然回复的理智花在库存目标关卡上(不吃药不碎石,:306),计划表关卡拿剩余。建议条目归到「破坏性变更」,或在条目里写明「之前被隐藏的开关会重新生效」。DepotMaintainPlans 为空的用户不受影响,只会扫一遍仓库。

以上为静态审 + 单独跑了 taskSummaries.test.ts(vitest,19 用例通过);未跑 pytest、typecheck 与真机。

@jinghero jinghero changed the title feat(maa): 计划表支持按天勾选库存保持 feat(maa): 计划表模式下不再强制关闭库存保持 Sep 9, 2026
@jinghero
jinghero force-pushed the feat/maa-depot-maintain-plan branch from e2d4743 to 8e769fd Compare September 9, 2026 01:41
@jinghero

jinghero commented Sep 9, 2026

Copy link
Copy Markdown
Author

三点都处理了(8e769fdf,基于 97335f0a):

  1. changelog:条目已挪进 CHANGELOG.md 未发布段的「破坏性变更」,res/version.jsonsync 重新生成、check 通过;version.json 冲突按你说的取 dev 侧。顺带按 chore(community): 合并 dev 并把更新日志条目搬进 CHANGELOG.md #628 里的做法,把森空岛、BetterGI/ZZZ-OD 那两条会被 sync 抹掉的署名补回了 CHANGELOG.md——生成结果相对 dev 恰好只多我们这一条。
  2. 标题/正文:已更新为粒度 A 的描述。
  3. 静默开启:对照 dev 代码确认属实——现前端对计划表模式只做显示层置假+禁用,切模式走字段级保存,存储值不会被重置;条目已归「破坏性变更」并写明会重新生效。Closes #584 保留,issue MAA 计划表支持库存保持 #584 标题已去掉「按天控制」括号,与本次实现一致。

5 个代码文件零改动;本地跑了 changelog.py checktests/tools/test_changelog_script.py(25 passed)。

@qiyinxi

qiyinxi commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

第二轮(8e769fdf)。上轮三条都改到位了:把六个输入文件导出来跑 scripts/changelog.py check 退出码 0(v5.5.0-beta.3),dev 基线自己跑是红的,这条修复随本 PR 一起进来;标题与正文已经是粒度 A;条目也归到破坏性变更并写明了升级后会自动生效。代码改动本身没找到新问题(hasDetail 默认 true,详情面板不会消失;summarizeDepot 没有漏改的三参调用点;剿灭 / 绿票商店两个模式不受影响)。

建议修

CHANGELOG.md:35 森空岛那条的署名给错人了,应该是 by [@Lance0174](https://github.com/Lance0174)。这条来自 #6275d5e3818,Lance0174),机器人在 99b961ec 已经签对;我的 #615sync 时把署名抹掉了,机器人在 97335f0a 又按 #615 的作者重签成 @qiyinxi,你补的是这个误签结果。BetterGI / ZZZ-OD 那条署 @qiyinxi 是对的。改完重跑一次 sync。这是我那边引进来的。

提醒(流程层面,不是本 PR 的问题)

append-version-contributor.ymlpull_request_target,跑的是 main 上的副本,那份还是只写 res/version.json 的旧版(97335f0a 那次机器人提交就只动了一个文件)。合并后它给新条目补 by [@jinghero] 时不会同步 CHANGELOG.md,dev 会立刻退回本 PR 刚修好的那个红状态。

静态审 + 本地跑了 scripts/changelog.py checktaskSummaries.test.ts(vitest,19 passed);未跑 typecheck / lint / pytest 与真机。

@jinghero
jinghero force-pushed the feat/maa-depot-maintain-plan branch from 8e769fd to e0f484d Compare September 9, 2026 03:31
@qiyinxi

qiyinxi commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

第三轮(e0f484d3)。与上轮 8e769fdf 的差异只有森空岛那条的署名(qiyinxi → Lance0174),代码一字未变,上轮结论继续有效。没有要改的地方。

这轮核过的:

  • scripts/changelog.py check 在本 head 上退出码 0(v5.5.0-beta.3);dev 基线单跑是 1(res/version.jsonCHANGELOG.md 不一致),这条修复随本 PR 一起进来。
  • 删掉的两行是安全的:计划表模式在 app/task/MAA/AutoProxy.py:970 只决定 plan_data 从用户配置还是 PlanConfig 取,只覆盖关卡相关键,不碰任务启用;全仓 StageMode 其余命中都在配置项定义与旧版导入迁移里。AutoProxy.py:848 那个「开关关闭就不写入任务」的旧 MAA 兼容分支原样保留。
  • MAA_TASKS 顺序是 StartUp, DepotMaintain, Fight, …app/utils/constants.py:107),所以更新日志里「库存保持会先于理智作战执行」是准确的。
  • 前端去掉 has-detail 后走 PipelineRow.vue:43withDefaults 默认 true,计划编辑器详情区不会消失;TaskPipelineSection.vueisPlanMode 已无残留,MAAUserEdit.vue:81 那处是传给 StageConfigSection 的,不受影响。

另有一条给维护者的提醒,与本 PR 无关,作者不用动

实际跑的 append-version-contributor.ymlmain 上那份pull_request_target 不读 base 分支),它比对并只写回 res/version.json。所以本 PR 合并后,森空岛那条会被再补一个 by [@jinghero](BetterGI 那条不受影响,PR 没改它在 version.json 里的文本),而 CHANGELOG.md 不会被同步 —— dev 的 changelog 闸门会立刻再次变红。dev 上 #622 那份改好的新工作流(写 CHANGELOG.md 再跑 sync)要等 main 更新后才生效,这也是 dev 基线现在是红的原因。

以上为静态审查,外加实跑 scripts/changelog.py check(系统 Python 3.12,文件导出到临时目录跑);前后端测试与真机未跑。

@HarcoChen HarcoChen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

签名那个最好还是别加,Workflow可能会意料之外的重复签名,不过也问题不大,后续修一下就OK

@HarcoChen
HarcoChen merged commit bf12e3a into AUTO-MAS-Project:dev Sep 9, 2026
1 check passed
@jinghero
jinghero deleted the feat/maa-depot-maintain-plan branch September 9, 2026 05:44
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.

4 participants