文档

腾讯文档Markdown

试用

腾讯文档 Markdown 技能,支持新建 Markdown 并写入内容、下载、删除、读取、更新、重命名等操作。

它能做什么

**名称:** **许可证:** MIT **简介:** 腾讯文档 Markdown 技能,支持新建 Markdown 并写入内容、下载、删除、读取、更新、重命名等操作。

技能文档

腾讯文档 Markdown 技能

名称: tencent-docs-markdown 许可证: MIT 简介: 腾讯文档 Markdown 技能,支持新建 Markdown 并写入内容、下载、删除、读取、更新、重命名等操作。


Agent 如何使用此技能

触发短语

当用户表达以下意图时,Agent 应激活此技能:

意图示例短语
新建并写入"新建一个Markdown到腾讯文档并写入内容[xxx]" / "帮我新建腾讯文档md,写入以下内容" / "上传xxx.md到腾讯文档" / "上传xxx.md文档" / "同步xxx.md文档" / "提交xxx.md文档" / "把本地文件同步到腾讯文档"
新建空文档"帮我创建名为xxx.md" / "新建一个Markdown文档"
下载"把https://docs.qq.com/markdown/[xxx]文档保存到本地"
读取"读取https://docs.qq.com/markdown/[xxx]文档内容"
更新"更新[xxx]到https://docs.qq.com/markdown/[xxx]"
删除"删除https://docs.qq.com/markdown/[xxx]"
重命名"重命名https://docs.qq.com/markdown/[xxx]文档为xxx"
查看信息"获取https://docs.qq.com/markdown/[xxx]文档的详情"
登录"登录腾讯文档" / "重新登录" / "Cookie过期了"

Agent 工作流程

flowchart TD
    A[用户请求] --> B{Cookies 有效?}
    B -->|是| C[执行操作]
    B -->|否| D[通过扫码登录]
    D --> E[保存 Cookies]
    E --> C
    C --> F[返回结果 + 文档链接]

快速开始

# 1. 安装依赖
pip install -r requirements.txt
playwright install chromium

# 2. 登录(使用微信/QQ 扫描二维码)
python -m src.main login

# 3. 新建文档并写入内容
python -m src.main write "我的文档" "# Hello World"

功能操作

1. 新建并写入文档

新建一个腾讯文档 Markdown,写入内容后返回文档链接。

命令行:

python -m src.main write "我的文档" "# Hello World\n这是我的文档内容。"

编程接口:

from src.main import handle_create_and_write
result = handle_create_and_write('我的文档', '# Hello World\n这是内容。')
# result: {'docUrl': ..., 'padId': ..., 'globalPadId': ..., 'title': ...}
# → 将 result['docUrl'] 分享给用户

2. 新建空文档

创建一个新的空 Markdown 文档。

命令行:

python -m src.main create "我的新文档"

编程接口:

from src.main import handle_create
result = handle_create('我的文档')
# result: {'docUrl': ..., 'padId': ..., 'globalPadId': ..., 'title': ...}

3. 下载文档

将腾讯文档 Markdown 下载为本地 .md 文件。

注意: 系统会自动从文档页面解析真实的 padId(URL 中的标识符与 API 所需的真实 padId 不同)。

命令行:

python -m src.main download https://docs.qq.com/markdown/DQxxxxxxxx
python -m src.main download https://docs.qq.com/markdown/DQxxxxxxxx -o ./output.md

编程接口:

from src.main import handle_download
result = handle_download('https://docs.qq.com/markdown/DQxxxxxxxx', './output.md')
# result: {'path': ..., 'content': ...}

4. 读取文档

读取并返回文档内容。

命令行:

python -m src.main read https://docs.qq.com/markdown/DQxxxxxxxx

编程接口:

from src.main import handle_read
content = handle_read('https://docs.qq.com/markdown/DQxxxxxxxx')

5. 更新文档

覆盖已有文档的内容(支持直接传入文本或 .md 文件路径)。

⚠️ 安全提示: 这是破坏性操作。交互模式下会显示目标文档标题与 URL 并要求确认 (y/N)。程序化调用须显式传入 confirm=True,否则操作会被拒绝。CLI 也可加 -y/--yes 跳过提示。

命令行:

python -m src.main update https://docs.qq.com/markdown/DQxxxxxxxx "# 新内容"
python -m src.main update https://docs.qq.com/markdown/DQxxxxxxxx ./updated.md
python -m src.main update https://docs.qq.com/markdown/DQxxxxxxxx ./updated.md -y   # 跳过确认

编程接口:

from src.main import handle_update
handle_update('https://docs.qq.com/markdown/DQxxxxxxxx', '# 更新后的内容', confirm=True)

6. 删除文档

将文档移入回收站。

⚠️ 安全提示: 交互模式下会展示目标文档标题与 URL 并要求确认 (y/N)。程序化调用须显式传入 confirm=True,否则操作会被拒绝。CLI 也可加 -y/--yes 跳过提示。

命令行:

python -m src.main delete https://docs.qq.com/markdown/DQxxxxxxxx
python -m src.main delete https://docs.qq.com/markdown/DQxxxxxxxx -y        # 跳过确认

编程接口:

from src.main import handle_delete
result = handle_delete('https://docs.qq.com/markdown/DQxxxxxxxx', confirm=True)
# result: {'padId': ..., 'title': ..., 'deleted': True}

7. 重命名文档

⚠️ 安全提示: 交互模式下会展示原标题、新标题与 URL 并要求确认 (y/N)。程序化调用须显式传入 confirm=True。

命令行:

python -m src.main rename https://docs.qq.com/markdown/DQxxxxxxxx "新标题"
python -m src.main rename https://docs.qq.com/markdown/DQxxxxxxxx "新标题" -y  # 跳过确认

编程接口:

from src.main import handle_rename
handle_rename('https://docs.qq.com/markdown/DQxxxxxxxx', '新标题', confirm=True)

8. 获取文档信息

命令行:

python -m src.main info https://docs.qq.com/markdown/DQxxxxxxxx

编程接口:

from src.main import handle_info
info = handle_info('https://docs.qq.com/markdown/DQxxxxxxxx')

9. 登录

命令行:

python -m src.main login          # 使用缓存的 Cookies(如有效)
python -m src.main login --force  # 强制重新登录

10. 登出 / 清除 Cookies

删除本地 .cookies.json 凭证文件,在不再需要该会话时使用。

命令行:

python -m src.main logout

编程接口:

from src.auth import clear_cookies
clear_cookies()

认证机制

首次使用需扫码登录,之后 Cookie 会缓存在 .cookies.json 中自动复用。

🔐 凭证管理: .cookies.json 被明确声明为 账户级凭证。保存时会自动应用 POSIX 0600 权限(仅当前用户可读写),并在终端提示用户其敏感性。切勿将此文件提交到版本控制或共享给他人;不再使用时请运行 python -m src.main logout 或手动删除。推荐使用专用的自动化账号,而非个人主账号。

支持两种登录方式:

  1. 扫码登录 — 使用微信/QQ 扫描二维码
  2. 微信快捷登录 — 如果之前在当前浏览器已有微信登录记录,系统会自动检测并点击"微信快捷登录"按钮,页面显示"登录中..."后自动完成登录
flowchart TD
    A[开始] --> B{.cookies.json 存在?}
    B -->|是| C{Cookies 有效?}
    B -->|否| D[启动浏览器]
    C -->|是| E[就绪]
    C -->|否| D
    D --> F{微信快捷登录可用?}
    F -->|是| G[点击'微信快捷登录'按钮]
    G --> H[页面显示'登录中...']
    H --> I[每10秒轮询检测页面变化]
    F -->|否| J[展示二维码供扫描]
    J --> I
    I --> K{检测到登录成功?}
    K -->|是| L[获取并验证 Cookies]
    K -->|否 / 超时| I
    L --> M[保存 Cookies 到 .cookies.json]
    M --> E

API 参考

接口方法路径关键参数
创建文档GET/cgi-bin/online_docs/createdoc_newdoc_type=14, create_type=1, folder_id=/, title, xsrf
删除文档POST/cgi-bin/online_docs/doc_deletepad_id, domain_id, xsrf
读取内容POST/api/markdown/read/datafile_id(globalPadId)
写入内容POST/api/markdown/write/datafile_id, mark_down
文档信息POST/cgi-bin/online_docs/doc_infofile_id
重命名POST/cgi-bin/online_docs/doc_changetitlepad_id, title, xsrf
解析真实 padIdGET文档页面 HTML从 basicClientVars 中提取 padId

项目结构

tencent-docs-markdown/
├── requirements.txt      # Python 依赖
├── SKILL.md              # 技能定义文件(本文件)
├── publish.sh            # 版本发布脚本
├── .cookies.json         # 保存的登录 Cookies(自动生成,已加入 .gitignore)
└── src/
    ├── __init__.py       # Python 包初始化
    ├── main.py           # 主入口 & CLI 命令
    ├── auth.py           # 扫码登录 & Cookie 管理
    ├── api.py            # 腾讯文档 Markdown API 客户端
    └── login_with_polling.py  # 轮询登录脚本

核心概念

URL 标识符与真实 padId

腾讯文档 Markdown 的 URL 格式为 https://docs.qq.com/markdown/DSxxxxxxxx,其中 DSxxxxxxxx 是 URL 标识符,并非 API 所需的真实 padId。

系统通过 resolve_real_pad_id() 函数访问文档页面,从嵌入的 basicClientVars JSON 中提取真实的 padId,然后拼接为 globalPadId(格式:{domainId}${padId})用于 API 调用。

此机制对 下载(download)、读取(read)、更新(update) 操作自动生效,用户无需关注。


错误处理

错误原因解决方案
Cookie 过期会话超时自动通过扫码重新登录
retcode !== 0API 返回错误显示详细错误信息
无效 URL腾讯文档 URL 格式不正确确保格式为:https://docs.qq.com/markdown/xxxxx
资源不存在URL 标识符无法解析为真实 padId检查文档是否存在或是否有访问权限

备注

  • Markdown 文档类型编号为 14(doc_type=14)
  • 默认 domain_id 为 300000000
  • XSRF Token 从 TOK Cookie 中提取
  • Cookies 存储在 .cookies.json 中(已加入 .gitignore),保存时自动设置 0600 权限
  • 安全提示: .cookies.json 包含敏感的会话 Cookie,其作用等同于账户凭证。请勿提交到版本控制或分享给他人;文件自动设置 0600 权限,如需手动重置:chmod 600 .cookies.json。不再使用时请运行 python -m src.main logout 清除。
  • 破坏性操作保护: update / delete / rename 均为不可撤销或影响用户文档的操作;它们在执行前会解析并展示目标文档的标题与 URL,交互模式下要求 y/N 确认;程序化调用必须显式传入 confirm=True,否则操作会被拒绝。
  • 隐私提示: download / read 会将文档内容暴露给当前 agent 会话、终端输出或本地文件;请避免对高敏感文档使用这些操作。
  • 依赖版本锁定: requirements.txt 中所有运行时依赖都被锁定到确定版本以减少供应链风险;请在可信任的环境中安装并审查任何依赖更新。
  • 删除操作会将文档移至回收站(可恢复)
  • 下载/读取/更新操作会自动解析 URL 中的标识符为真实 padId
  • 建议在受控或受信环境中运行此工具,因为 Playwright 会下载 Chromium 并使用浏览器自动化权限
  • Python 版本要求: Python >= 3.10

所需配置

配置项路径说明
Cookie 存储(凭证).cookies.json(项目根目录,自动生成)存储腾讯文档会话 Cookie 的账户级凭证文件。首次登录后自动创建,保存时自动应用 0600 权限。此文件包含敏感信息,请勿泄露;不再使用时请运行 python -m src.main logout 或手动删除。

相关技能

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván559 次安装18 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai22 次安装8 星标

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván855 次安装69 星标

执行 Git 操作(提交、分支、合并、变基、冲突解决与恢复)时强制套用安全规则。

作者 Iván535 次安装31 星标

wscats 的更多技能

浏览全部技能

A comprehensive Bilibili toolkit that integrates hot trending monitoring, video downloading, video watching/playback, subtitle downloading, and video publish...

作者 enoyao844 次安装33 星标

百度网盘(Baidu Drive, pan.baidu.com)文件管理 — 上传、下载、转存、分享、搜索、移动、复制、重命名、创建文件夹、删除(高风险,需用户确认)。 同时支持 Agent 记忆备份/恢复(kimiclaw/maxclaw/qclaw/openclaw)。 TRIGGER: 用户消息明确提及"百...

作者 enoyao751 次安装19 星标

This skill produces a DESCRIPTIVE Git-history reflection report. It is intended ONLY for: (a) a developer running it on their own repository for self-reflect...

作者 enoyao761 次安装16 星标

掘金技术社区一站式操作技能,支持热门文章排行榜查询、Markdown 文章发布(默认草稿)和文章下载保存为 Markdown。

作者 enoyao781 次安装13 星标

Simulates mock interviews for any role and experience level with tailored technical, behavioral, and case questions plus detailed feedback and scoring.

作者 enoyao819 次安装23 星标

全体系命理大师 — 八字四柱、紫微斗数、奇门遁甲、六爻、梅花易数、塔罗、星盘、 数字命理、九宫飞星风水、掌纹面相、起名命名、穿衣搭配、合婚择吉一站式解读。本地档案、可选每日推送(默认关闭)、 浏览器六爻界面与 HTML 报告。仅作文化参考,不替代医疗、法律、心理、财务、婚姻等 专业建议;遇重大决策请咨询专业人士。

作者 wscats771 次安装26 星标