一个面向 Codex 的开源百度网盘 Skill。它基于
PeterDing/BaiduPCS-Py,支持:
- 搜索自己百度网盘中的文件和文件夹;
- 上传本地文件或目录,并验证远端路径;
- 为网盘文件生成带提取码的分享链接;
- 查看已有分享;
- 从已登录的 Windows 百度网盘客户端安全导入会话。
这是非官方项目,与百度无隶属关系。仅操作你有权访问的账号和内容,并遵守百度网盘服务条款及当地法律。
- Windows 10/11;
- Codex 全局 Skills;
- PowerShell 5.1 或更高版本;
- Git;
- Python 3.9、3.10、3.11 或 3.12;
- 百度网盘 Windows 客户端,或者已登录
pan.baidu.com的浏览器会话。
目前不支持账号密码直接登录。认证需要 BDUSS 和 Cookie;创建分享还需要 STOKEN。
打开 PowerShell:
$skill = "$env:USERPROFILE\.codex\skills\baidu-netdisk-pcs"
git clone https://github.com/kenchikuliu/baidu-netdisk-pcs-skill.git $skill重新启动 Codex,让全局 Skill 列表刷新。
首次运行时,启动脚本会:
- 在
~/.codex/tools/baidupcs-py克隆固定版本的BaiduPCS-Py; - 应用已知的百度接口兼容补丁;
- 自动选择 Python 3.9–3.12;
- 只安装运行所需的最小 Python 依赖。
先检查环境:
& "$skill\scripts\baidu-netdisk.ps1" doctor- 在 Windows 百度网盘客户端登录自己的账号;
- 保持客户端登录;
- 执行:
& "$skill\scripts\baidu-netdisk.ps1" configure-client
& "$skill\scripts\baidu-netdisk.ps1" doctor --online脚本读取当前 Windows 用户自己的
%APPDATA%\baidunetdisk\Network\Cookies,不会在终端打印 Cookie。
部分百度网盘客户端版本会加密 Cookie。若提示缺少 BDUSS 或 STOKEN,使用方法 B。
- 登录 https://pan.baidu.com;
- 按
F12打开开发者工具,选择 Network / 网络; - 在网盘中打开任意文件夹;
- 选择名称类似
list?...的请求; - 在 Request Headers / 请求标头 中找到完整的
Cookie; - 只把
Cookie:后面的值保存到一个临时 UTF-8 文本文件; - 执行:
& "$skill\scripts\baidu-netdisk.ps1" configure-cookie-file "C:\Temp\baidu-cookie.txt"
& "$skill\scripts\baidu-netdisk.ps1" doctor --online配置成功后立即删除临时 Cookie 文件。不要把 Cookie 放进聊天、Issue、截图、Git 提交或命令行参数。
认证信息保存在 ~/.baidupcs-py/accounts.pk,脚本会限制为当前 Windows 用户访问。该文件绝不能提交到 Git。
- “在我的百度网盘搜索录屏软件”;
- “在
/项目资料下搜索预算表”; - “把
C:\Work\report.zip上传到百度网盘/Codex Uploads”; - “上传这个文件并生成 7 天有效的百度网盘链接”;
- “查看我当前有效的百度网盘分享”。
搜索:
& "$skill\scripts\baidu-netdisk.ps1" search "关键词" --remote-dir / --recursive上传文件或目录:
& "$skill\scripts\baidu-netdisk.ps1" upload "C:\local\item" "/Codex Uploads"分享已有网盘文件:
& "$skill\scripts\baidu-netdisk.ps1" share "/Codex Uploads/item" --period-days 7上传、验证并分享:
& "$skill\scripts\baidu-netdisk.ps1" upload-share "C:\local\item" "/Codex Uploads" --period-days 7查看分享:
& "$skill\scripts\baidu-netdisk.ps1" list-shares分享默认有效期为 7 天,并自动生成四位提取码。只有明确指定时才应创建永久或无提取码分享。
git -C "$env:USERPROFILE\.codex\skills\baidu-netdisk-pcs" pull
& "$env:USERPROFILE\.codex\skills\baidu-netdisk-pcs\scripts\bootstrap.ps1"删除 Skill:
Remove-Item "$env:USERPROFILE\.codex\skills\baidu-netdisk-pcs" -Recurse可选:同时删除运行依赖和本地账号配置:
Remove-Item "$env:USERPROFILE\.codex\tools\baidupcs-py" -Recurse
Remove-Item "$env:USERPROFILE\.baidupcs-py" -Recurse第二条会删除本地保存的百度登录会话,执行前请确认路径。
- 搜索、环境检查和查看分享是只读操作;
- 上传前验证本地路径,上传后验证远端路径;
- 只有明确要求时才上传或创建分享;
- 不输出
BDUSS、BDUSS_BFESS、STOKEN或完整 Cookie; - 分享接口必须返回有效的
pan.baidu.comURL 才报告成功; - 已知 API 失败会停止,不会伪报上传或分享成功。
百度网盘的非官方接口可能随时变化。仓库固定了经过验证的上游提交,并修复了 GitHub issue #143 中的 31023 参数问题。上传或分享仍可能受到百度账号风控、配额和服务端变更影响。
This is an unofficial Windows Codex Skill for searching, uploading, and sharing files in the user's own Baidu Netdisk account.
$skill = "$env:USERPROFILE\.codex\skills\baidu-netdisk-pcs"
git clone https://github.com/kenchikuliu/baidu-netdisk-pcs-skill.git $skill
& "$skill\scripts\baidu-netdisk.ps1" doctor
& "$skill\scripts\baidu-netdisk.ps1" configure-client
& "$skill\scripts\baidu-netdisk.ps1" doctor --onlineNever publish the Cookie header or ~/.baidupcs-py/accounts.pk.
本项目使用 MIT License。上游 PeterDing/BaiduPCS-Py 也使用 MIT License。