Comprehend the given document(s) and write a textual content (paper/article/essay/report/review/post/brief/proposal/plan) according to your requirements using the ZhiPu GLM-V multimodal model.
When to Use
- Write a textual content according to specified requirements, AFTER reading provided document(s)
- User mentions "document-based writing", "article writing", "document reading", "press release writing", "brief writing", "film/book review writing", "content summarization", "content creation", "commentary writing", "document continuation", "document translation", "proposal planning", "speech writing", "document-based writing", "article writing", "document reading", "press release writing", "brief writing", "film/book review writing", "content summarization", "content creation", "commentary writing", "document continuation", "document translation", "proposal planning ", "speech writing"
Supported Input Types
| Type | Formats | Max Count | Source |
|---|---|---|---|
| Document (URL) | pdf, docx | 50 | URL |
| Document (Local) | pdf only | pages ≤ 50 total | Local path |
Local PDF / Local PDF: Local PDF files are converted page-by-page into images (base64) before sending to the model.
PyMuPDFis required (pip install PyMuPDF). URL files support full formats including pdf/docx/txt. Local PDFs are automatically converted page by page into images (base64) and passed to the model; you need to installPyMuPDF(pip install PyMuPDF). URL files support full formats such as pdf/docx/txt.
📋 Output Display Rules (MANDATORY)
After running the script, you must display the complete content (Markdown format) exactly as returned. Do not summarize, truncate, translate, comment, or only say "Writing Completed!".
Resource Links
| Resource | Link |
|---|---|
| Get API Key | https://bigmodel.cn/usercenter/proj-mgmt/apikeys |
| API Docs | Chat Completions / Chat Completions |
Prerequisites
API Key Setup / API Key configuration (Required / Required)
This script reads the key from the ZHIPU_API_KEY environment variable and shares it with other Zhipu skills.
The script retrieves the key via the ZHIPU_API_KEY environment variable and shares the same key with other Zhipu skills.
Get Key / Get Key: Visit Zhipu Open Platform API Keys / Zhipu Open Platform API Keys to create or copy your key.
Setup options / Configuration methods (choose one):
-
OpenClaw config (recommended) / OpenClaw configuration (recommended): Set in
openclaw.jsonunderskills.entries.glmv-doc-based-writing.env:"glmv-doc-based-writing": { "enabled": true, "env": { "ZHIPU_API_KEY": "你的密钥" } } -
Shell environment variable / Shell environment variable: Add to
~/.zshrc:export ZHIPU_API_KEY="你的密钥"
💡 If you already configured another Zhipu skill (for example
zhipu-toolsorglmv-caption), they share the sameZHIPU_API_KEY, so no extra setup is needed. 💡 If you have already configured a key for another Zhipu skill (such aszhipu-tools、glmv-caption), they share the sameZHIPU_API_KEY, so there is no need to configure it again.
How to Use
Basic Screening
python scripts/doc_based_writing.py \
--files "https://example.com/doucment1.pdf" "https://example.com/doucment2.docx" \
--requirements "基于这篇论文撰写公众号文章,要求偏技术风格"
Save as Markdown
python scripts/doc_based_writing.py \
--files "https://example.com/doucment1.pdf" "https://example.com/doucment2.docx" \
--requirements "总结文档主要内容和核心观点" \
--output result.md
Save as JSON
python scripts/doc_based_writing.py \
--files "https://example.com/doucment1.pdf" "https://example.com/doucment2.docx" \
--criteria "撰写新闻稿" \
--output result.json --pretty
Custom System Prompt
python scripts/doc_based_writing.py \
--files "https://example.com/doucment1.pdf" \
--criteria "为这本书撰写书评" \
--system-prompt "你是一位拥有20年跨领域写作经验的资深写作专家,擅长撰写书评"
Output Example
The model outputs a Markdown content like this:
XXX
CLI Reference
python scripts/doc_based_writing.py --files FILE [FILE...] --requirements REQUIREMENTS [OPTIONS]
| Parameter | Required | Description |
|---|---|---|
--files, -f |
✅ | Document file URLs (pdf/docx, URL only, max 50) |
--requirements, -c |
✅ | Writing requirements text |
--model, -m |
No | Model name (default: glm-4.6v) |
--system-prompt, -s |
No | Custom system prompt (default: professional HR assistant) |
--temperature, -t |
No | Sampling temperature 0-1 (default: 0.6) |
--max-tokens |
No | Max output tokens (default: 10000) |
--output, -o |
No | Save result to file (.md for markdown, .json for JSON) |
--pretty |
No | Pretty-print JSON output |
Error Handling
API key not configured: → Guide user to configure ZHIPU_API_KEY
Authentication failed (401/403): → API key invalid/expired → reconfigure
Rate limit (429): → Quota exhausted → wait and retry
Local path provided: → Error: only URLs supported
Content filtered: → warning field present → content blocked by safety review
Timeout: → Documents too large or too many → reduce file count