iflytek/astron-agent · error · HTTPException

{e}

Error message

{e}

What it means

The catch-all branch of exec_fun: any exception other than JSONDecodeError during request execution (upstream errors, websocket/network failures, unexpected task states) is converted to HTTP 500 with detail=str(e). The message is just the stringified exception, so the underlying cause must be read from the detail.

Solutions

  1. Read the HTTP 500 detail string to identify the underlying exception
  2. Check that the RPA backend service is running and reachable from the plugin
  3. Verify the Authorization token is valid and not expired
  4. Inspect service logs around the request for the full traceback (detail is truncated to str(e))
Defensive patterns

Strategy: try-catch

Try / catch

try:
    resp = client.execute(params, headers=headers)
except http.HTTPStatusError as e:
    detail = e.response.json().get("detail")
    logger.error("RPA exec failed: %s", detail)
    # retry or alert based on detail content

Prevention

When it happens

Trigger: Any failure while establishing or using the RPA execution channel after params parsed OK — connection refused to the RPA backend, auth failures, timeouts, unexpected None/attribute errors inside exec_fun.

Common situations: RPA backend service down or unreachable; invalid/expired bearer token causing upstream rejection; network partitions in the cluster; bugs inside exec_fun raising TypeError/KeyError.

Related errors


AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12). Data as JSON: /api/errors/5746b8cd3f44415e. Report an issue: GitHub.

Appendix: source

Thrown at core/plugin/rpa/api/v1/execution.py:59

        return EventSourceResponse(
            task_monitoring(
                sid=request.sid,
                access_token=acctss_token,
                project_id=request.project_id,
                version=request.version,
                phone_number=request.phone_number,
                exec_position=request.exec_position,
                params=request.params,
            ),
            headers=headers,
            ping=ping_interval,
        )
    except json.JSONDecodeError as e:
        raise HTTPException(
            status_code=400, detail=f"Invalid JSON format for 'params':" f" {e}"
        ) from e
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e)) from e

View on GitHub (pinned to 5e758547a8)