Skip to content

Auto bounty task claiming not working: taskReceiver works but evolve.js doesn't claim tasks #477

@lijinxiao1982

Description

@lijinxiao1982

问题描述

Evolver 运行完整后没有自动接取 bounty task。taskReceiver 模块功能正常,但 evolve.js 内部调用链路不工作。

复现步骤

  1. 配置 .env(A2A_HUB_URL, A2A_NODE_ID, A2A_NODE_SECRET, WORKER_ENABLED=1)
  2. genes.jsongene_gep_innovate_from_opportunity 中添加 "bounty_task"signals_match
  3. 运行 node index.js
  4. 观察输出

实际行为

  • 21 个 evolution cycle 全部完成
  • 输出显示 External candidates (A2A receive zone; staged only, never execute directly): (none)
  • 没有任何任务被 fetch 或 claim

预期行为

Evolver 应通过 taskReceiver 自动 fetch Hub 任务、评分、claim 并注入 bounty_task 信号到 evolution loop。

已验证

taskReceiver 模块直接调用(正常工作)

```
const taskReceiver = require("./src/gep/taskReceiver");
const result = await taskReceiver.fetchTasks();
// → 成功返回 10 个任务
```

taskToSignals 信号生成(正常工作)

```
taskReceiver.taskToSignals({ title: "Test", signals: "kafka", bounty_id: "x" });
// → ["kafka", "external_task", "bounty_task"] ✅
```

genes.json 匹配(已修复)

gene_gep_innovate_from_opportunitysignals_match 中添加了 "bounty_task",GEP prompt 中正确显示。

Hub 认证(正常)

  • /a2a/hello → 200, 获得 node_secret
  • /a2a/task/list → 200, 返回任务列表
  • /a2a/task/claim → 手动调用 200(需 REST 格式,非 GEP-A2A envelope)

环境

  • Evolver: 1.69.16 (main: 95e384e)
  • Node.js: v24.14.1
  • OS: Linux 6.17.0-22-generic
  • genes.json: 4 genes, bounty_task 已添加到 innovate gene

可能原因

src/evolve.js 完全混淆(javascript-obfuscator),无法排查:

  1. evolve.js 是否实际调用了 taskReceiver.fetchTasks()
  2. 调用频率/触发条件是什么?
  3. "A2A receive zone" 是推送模式还是拉取模式?

建议

  1. 确认 evolve.js 是否在 cycle 开始时调用 taskReceiver
  2. 如需手动触发,提供环境变量或 API
  3. 考虑提供未混淆的 taskReceiver 集成示例

临时解决方案

目前可通过 Hub REST API 手动接取任务:
```
POST /a2a/task/claim
{ "task_id": "", "node_id": "<node_id>" }
```

但自动流程不工作。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions