AlistGo/alist · error
wukong list failed: code=%d message=%s
Error message
wukong list failed: code=%d message=%s
What it means
The Wukong (Datavol) driver's List method posts to /netdisk/user_file/filter_file and expects business code 0 in the JSON envelope. A non-zero resp.Code with resp.Message is surfaced verbatim, indicating the wukong API refused the listing (auth expiry, invalid father_id, permission or rate issues).
Source
Thrown at drivers/wukong/driver.go:115
"offset": strconv.Itoa(offset),
"limit": strconv.Itoa(limit),
"aid": d.Aid,
"device_platform": "web",
"language": d.Language,
}).
SetBody(map[string]any{
"father_id": asIDValue(fatherID),
"filter_type": 2,
"is_desc": 1,
"file_type": 0,
}).
SetResult(&resp).
Post("/netdisk/user_file/filter_file")
if err != nil {
return nil, err
}
if resp.Code != 0 {
return nil, fmt.Errorf("wukong list failed: code=%d message=%s", resp.Code, resp.Message)
}
for _, item := range resp.Data.FileList {
objs = append(objs, &model.Object{
ID: strconv.FormatInt(item.FileID, 10),
Path: strconv.FormatInt(item.FatherID, 10),
Name: item.FileName,
Size: item.Size,
Modified: parseUnix(item.UpdatedAt),
Ctime: parseUnix(item.CreatedAt),
IsFolder: item.IsDirectory == 1,
})
}
if !hasMore(resp.Data.HasMore) || len(resp.Data.FileList) == 0 {
break
}
offset += len(resp.Data.FileList)View on GitHub (pinned to 843d9dc814)
Solutions
- Refresh credentials: re-run the driver login so a fresh token is used.
- Verify the father_id/folder exists on the official wukong client; re-list the parent to resync IDs.
- Slow down listing/copy jobs to avoid rate-limit codes, and retry after a pause.
Defensive patterns
Strategy: retry
Try / catch
objs, err := d.listDir(fatherID)
if err != nil && strings.Contains(err.Error(), "wukong list failed") {
time.Sleep(3 * time.Second)
objs, err = d.listDir(fatherID) // one retry for rate/auth blips
if err != nil { relogin(); objs, err = d.listDir(fatherID) }
} Prevention
- Refresh tokens proactively before expiry
- Cache listings briefly to cut API calls
- Verify folder IDs after moves/deletes on the official client
When it happens
Trigger: Listing any directory where the HTTP call succeeds but resp.Code != 0 — expired token re-login failure, father_id pointing to a deleted/foreign folder, or server-side limits.
Common situations: Long-running mounts with stale tokens, moving/renaming the listed folder elsewhere, or hitting request-frequency caps on the wukong API.
Related errors
AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15).
Data as JSON: /api/errors/803ba0628a1d1d5d.
Report an issue: GitHub.