Token导航 LogoToken导航TokenDH.com
开发敏感数据clawhub未标认证来源可访问clear审计提醒

canvas-study-helper画布学习好帮手

Agent Skill

canvas-study-helper 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中需要把零散信息整理成结构清晰的文档时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

14,659

周安装

593

GitHub Stars

公开资料未说明

下载量

4,602
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:canvas-study-helper(画布学习好帮手)
来源仓库:https://github.com/huaruoji/canvas-study-helper
安装命令:
openclaw skills install canvas-study-helper
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install canvas-study-helper

简介

监控Canvas课程公告和作业,下载课程文件,并生成支持中文与数学公式的Markdown学习笔记和PDF。

SKILL.md

Canvas Study Helper Skill

Version: 1.1.0 Author: CanvasClaw Description: Canvas LMS 课程监控与学习笔记生成工具,支持公告检查、作业跟踪、PDF 学习笔记生成(CJK 支持)


🎯 功能

  1. Canvas 课程监控

- 检查课程公告(Announcements) - 跟踪作业截止日期(Assignments) - 下载课程文件(Files)

  1. 学习笔记生成

- Markdown 格式学习笔记 - PDF 导出(支持中文、LaTeX 数学公式) - Mock Test 生成(证明题专项)

  1. 文件管理

- OneDrive 课程目录自动整理 - 学习笔记分类存储 - 临时文件清理


📁 目录结构

canvas-study-helper/
├── SKILL.md              # 本文件
├── scripts/
│   ├── check_canvas.sh   # Canvas 检查脚本
│   ├── md2pdf.sh         # Markdown 转 PDF
│   └── organize_files.sh # 文件整理脚本
├── templates/
│   ├── cjk_header.tex    # LaTeX CJK 配置
│   ├── lecture_notes.md  # 学习笔记模板
│   └── mock_test.md      # Mock Test 模板
└── examples/
    ├── check_canvas_example.sh
    └── generate_notes_example.sh

🔧 安装

# 使用 clawhub 安装
clawhub install canvas-study-helper

# 或手动克隆
git clone <repo_url> ~/.openclaw/workspace/skills/canvas-study-helper

📖 使用方法

1. Canvas 课程检查

# 配置 Cookie(从浏览器 DevTools 获取)
cat > ~/.canvas_cookie << 'EOF'
canvas_session=YOUR_SESSION_COOKIE
log_session_id=YOUR_LOG_SESSION_ID
EOF

# 运行检查脚本
./scripts/check_canvas.sh

Cookie 获取方法(方案 1:浏览器 DevTools):

  1. 登录 Canvas
  2. 按 F12 打开 DevTools
  3. Application → Cookies → 复制 canvas_sessionlog_session_id

Cookie 获取方法(方案 2:WSLg Chromium - 推荐):

由于学校禁用 API Token,且 WSL2 无法解密 Windows DPAPI 加密的 Edge cookie,使用 WSLg 启动 Linux Chromium:

# 创建 canvas_browser.sh 脚本
cat > canvas_browser.sh << 'SCRIPT'
#!/bin/bash
# WSLg Chromium 浏览器控制脚本

CHROME_PORT=9222
COOKIE_FILE="${HOME}/.canvas_cookie"
CANVAS_DOMAIN="your-institution.instructure.com"

case "$1" in
    start)
        echo "🚀 启动 Chromium..."
        chromium-browser \
            --remote-debugging-port=$CHROME_PORT \
            --user-data-dir=/tmp/chrome_dev_profile \
            --no-first-run \
            --no-default-browser-check \
            "https://${CANVAS_DOMAIN}" &
        sleep 3
        echo "✅ 浏览器已启动,请在窗口中登录 SSO"
        ;;
    cookies)
        echo "🍪 提取 Cookie..."
        # 使用 CDP 获取 Cookie
        curl -s http://localhost:${CHROME_PORT}/json | jq -r '.[0].id' > /tmp/chrome_tab_id
        TAB_ID=$(cat /tmp/chrome_tab_id)
        
        # 执行 JavaScript 获取 document.cookie
        COOKIES=$(curl -s "http://localhost:${CHROME_PORT}/json/activate/${TAB_ID}")
        echo "Cookie 已提取到 ${COOKIE_FILE}"
        echo "请手动从浏览器 DevTools 复制 cookie 到 ${COOKIE_FILE}"
        ;;
    read)
        URL="$2"
        echo "📖 读取页面: $URL"
        lynx -dump "$URL" 2>/dev/null || curl -sL "$URL" | html2text
        ;;
    stop)
        echo "🛑 关闭浏览器..."
        pkill -f "chromium-browser.*remote-debugging-port=${CHROME_PORT}"
        rm -rf /tmp/chrome_dev_profile
        echo "✅ 浏览器已关闭"
        ;;
    *)
        echo "用法: $0 {start|cookies|read <url>|stop}"
        exit 1
        ;;
esac
SCRIPT
chmod +x canvas_browser.sh

# 使用方法
./canvas_browser.sh start   # 启动浏览器并登录
./canvas_browser.sh cookies # 提取 Cookie
./canvas_browser.sh stop    # 关闭浏览器

WSLg 方案优势:

  • ✅ 绕过 Windows DPAPI 加密限制
  • ✅ 直接在 WSL 环境中操作
  • ✅ 可使用 Chrome DevTools Protocol (CDP) 自动化

注意事项:

  • 需要在 WSLg 窗口中手动登录 SSO
  • Cookie 会过期,需定期重新获取
  • 确保安装了 chromium-browserjq

2. 生成学习笔记

# 创建学习笔记
cat > lecture_notes.md << 'EOF'
# Course Lecture X - Topic Name

## 核心概念

### 定义
...

### 性质
...

## 例题
...
EOF

# 转换为 PDF
./scripts/md2pdf.sh lecture_notes.md lecture_notes.pdf

3. 生成 Mock Test

# 使用模板创建 Mock Test
cp templates/mock_test.md course_mock_test.md

# 编辑题目...

# 生成 PDF
./scripts/md2pdf.sh course_mock_test.md course_mock_test.pdf

🔑 Canvas API 端点

公告

curl -b "$CANVAS_COOKIE" \
  "https://<your-institution>.instructure.com/api/v1/announcements?context_codes[]=course_<COURSE_ID>"

作业

curl -b "$CANVAS_COOKIE" \
  "https://<your-institution>.instructure.com/api/v1/courses/<COURSE_ID>/assignments?per_page=50"

文件

curl -b "$CANVAS_COOKIE" \
  "https://<your-institution>.instructure.com/api/v1/courses/<COURSE_ID>/files?per_page=100"

注意:

  • RSS Feed 可能已失效,建议使用 API
  • Cookie 认证(学校通常禁用 API Token)
  • Cookie 会过期,需定期更新

📄 PDF 生成配置

中文字体支持

使用 cjk_header.tex 配置:

\usepackage{xeCJK}
\setCJKmainfont{Droid Sans Fallback}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{enumitem}

数学公式

  • 行内公式:$...$
  • 显示公式:$$...$$

Emoji 处理

Linux 系统 emoji 可能乱码,建议替换为文本:

  • ✅ → [Correct]
  • ❌ → [Wrong]
  • 📚 → Book

🗂️ 文件管理策略

OneDrive 课程目录

/mnt/c/Users/<USER>/OneDrive - <INSTITUTION>/Classes/
├── <COURSE_CODE> <COURSE_NAME>/
│   ├── materials/        # Canvas 下载的资料
│   ├── study_notes/      # 生成的学习笔记
│   └── submissions/      # 已提交作业

工作流程

  1. 生成 → 在 workspace 创建编辑
  2. 保存 → 复制到 OneDrive study_notes/
  3. 发送 → 需要时复制发送
  4. 清理 → 删除临时文件

🛠️ 脚本说明

check_canvas.sh

检查 Canvas 课程更新:

  • 公告(过去 14 天)
  • 作业(未来 14 天 + 过去 5 天)
  • 文件同步

依赖: curl, python3, jq


md2pdf.sh

Markdown 转 PDF(CJK 支持):

  • 自动处理 emoji
  • 粗体后添加空行(修复列表渲染)
  • 中文字体配置

依赖: pandoc, texlive-xetex, texlive-xecjk

用法:

./md2pdf.sh input.md output.pdf

organize_files.sh

整理课程文件:

  • 合并重复目录
  • 清理临时文件
  • 验证文件完整性

📝 模板

学习笔记模板

# Course Lecture X - Topic Name

**Course:** Course Name  
**Instructor:** Instructor Name  
**Date:** YYYY-MM-DD

---

## 🎯 核心问题

这节课要解决什么问题?

---

## 📖 主要内容

### 定义

...

### 性质

| 性质 | 公式 | 含义 |
|------|------|------|
| ... | ... | ... |

---

## 📝 例题

...

---

## 🔑 知识总结

...

Mock Test 模板

# Course Lecture X - In-Class Test

**Course:** Course Name  
**Time limit:** 25 minutes  
**Total points:** 100 points

---

## Instructions

- This test consists of **6 proof-based questions**
- Show **all steps** of your proofs
- Full credit requires **complete justification**

---

## Question 1: Topic (XX points)

...

---

# Solutions & Grading Rubric

...

⚠️ 注意事项

隐私保护

  • 不要 在 skill 中存储 Cookie、Token
  • 不要 提交学生姓名、学号
  • 不要 泄露成绩、个人信息

Cookie 安全

  • Cookie 存储在 ~/.canvas_cookie(gitignore)
  • 定期更新 Cookie(过期后手动复制)
  • 不要分享 Cookie 文件

PDF 渲染

  • 中文需要 xeCJK + Droid Sans Fallback
  • Emoji 在 Linux 可能乱码,建议替换
  • 数学公式用 $...$$$...$$

🔄 更新日志

v1.0.0 (2026-03-02)

  • 初始版本
  • Canvas API 检查脚本
  • Markdown 转 PDF(CJK 支持)
  • 学习笔记和 Mock Test 模板
  • 文件管理策略

📞 支持

Issues: https://github.com/<repo>/issues Discussions: https://github.com/<repo>/discussions


📄 License

MIT License

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

85.04%
按下载量换算3,914

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills