Pinvou/pinvou-agent is an open-source desktop workspace where an AI agent helps with work, visual design, and software development. People use it to work with files and knowledge, create editable visual artifacts, connect coding agents to projects, and extend the workspace with tools, MCP servers, skills, and workflows; the catalogue skills add capabilities to that environment.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Pinvou/pinvou-agent --skill dwsgit clone --depth 1 https://github.com/Pinvou/pinvou-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pinvou/pinvou-agent/dws)<a href="https://agentmods.dev/skills/pinvou/pinvou-agent/dws"><img src="https://agentmods.dev/badge/skills/pinvou/pinvou-agent/dws/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pinvou/pinvou-agent/dws"><img src="https://agentmods.dev/badge/skills/pinvou/pinvou-agent/dws.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00193 | $0.10749 |
| Opus 5.5 | $0.00077 | $0.04300 |
| Sonnet 5.5 | $0.00039 | $0.02150 |
| Haiku 4.5 | $0.00019 | $0.01075 |
Grade A, and why
dws scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- 不要使用 dws 命令以外的方式操作钉钉业务数据(禁止 curl、HTTP API、浏览器)。**例外**:① aitable 导入/导出/附件上传链路返回的预签名 `uploadUrl`/`downloadUrl`(`import upload` 申请的上传凭证、`export data` 返回的下载地址、`attachment upload` 返回的上传地址)允许用 curl 直传/直下(见 [aitable-export-im How it starts
The opening of the file, as written. The whole thing — 347 lines — stays where its author put it; the contents beside it link to each section on GitHub.
钉钉全产品 Skill
通过 dws 命令管理钉钉产品能力。
⚠️ 命令与 flag 以当前 dws 二进制为准:
dws <cmd> --help是 Cobra flags 事实源,Agent 选命令/参数约束/安全确认以 leaf Schema(--compact)为准,与本文档冲突时以二者为准。
🔑 首次使用先认证:命令报
AUTH_TOKEN_EXPIRED/ 未登录时,不要在会话内直接跑dws auth login——它是阻塞式扫码设备流,会一直等待授权直至超时,用户看不到扫码链接。把命令交给用户在其终端自行执行(流程见 global-reference.md 认证章节),完成后再继续;不要因未登录直接断定技能不可用。
严格禁止 (NEVER DO)
- 不要使用 dws 命令以外的方式操作钉钉业务数据(禁止 curl、HTTP API、浏览器)。例外:① aitable 导入/导出/附件上传链路返回的预签名
uploadUrl/downloadUrl(import upload申请的上传凭证、export data返回的下载地址、attachment upload返回的上传地址)允许用 curl 直传/直下(见 aitable-export-import.md 与 aitable-attachment.md);② 按 openapi-explorer.md 读取官方open.dingtalk.com/llms.txt文档并生成受限的dws api调用。除此之外禁止 - 不要编造 UUID、ID 等标识符,必须从命令返回中提取
- 不要猜测字段名/参数值,操作前必须先查询确认
严格要求 (MUST DO)
- 所有命令必须加
--format json(默认输出即 json,显式携带以防默认值变化,确保可解析) - 用户明确要登录钉钉国际版、海外版或
.io区域时,必须执行dws auth login --intl(无头环境再加--device),不得回退到国内.com;--intl只用于登录,后续业务命令按所选 profile 自动路由 - 危险操作必须先向用户确认,用户同意后才加
--yes执行 - 直接调用 dws 批量接口(如
record update)时单次硬上限 100 条(各 record 分册同);Agent 直连建议每批 ≤30 条以便失败重试;使用 scripts/import_records.py 批量导入时按脚本默认 50 条/批(其DEFAULT_BATCH_SIZE=50,上限 100) - 所有命令必须严格遵循对应产品参考文档里面规定的参数格式(参数与参数值之间用空格隔开)
- 脚本只用于明确覆盖的复合任务:scripts/ 下的脚本可封装 AI 表格批量导入导出、钉盘目录树等流程;当公开
+Shortcut 已提供目标唯一解析、分页/部分失败 ledger 和确认语义时,优先 Shortcut。Chat 历史导出与机器人广播已完全下沉 Runtime,不再发布兼容脚本 - 脚本调用约定:统一用
python3调用(多数 macOS/Linux 环境没有裸python命令);文档中的scripts/...是相对本 Skill 根目录(SKILL.md所在目录)的路径,实际执行时应拼成完整路径(如python3 <Skill根目录>/scripts/attendance_report_monthly.py ...),不要假设当前工作目录(CWD)已在 Skill 根目录 - 实时个人事件例外:普通 IM 消息、reaction、已读和撤回默认走
dws event +listen-im ...;OA 审批、VoIP 通话邀请、Todo、互动卡片回调、群生命周期、明确的原始 EventKey、Filter DSL、subscribe_id 或原始 envelope 使用dws event consume ... --flatten。不要写脚本轮询消息历史、审批列表、通话记录或待办列表
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- LICENSE 9.9 KB
- NOTICE 666 B
- references/best_practices/_common/conventions.md 3.4 KB
- references/best_practices/_common/recipe-conventions.md 1.8 KB
- references/best_practices/01-messaging.md 3.2 KB
- references/best_practices/02-task.md 2.8 KB
- references/best_practices/03-meeting.md 12 KB
- references/best_practices/04-document.md 11 KB
- references/best_practices/05-reporting.md 6.2 KB
- references/best_practices/06-data-analytics.md 5.4 KB
- references/best_practices/07-minutes.md 8.3 KB
- references/best_practices/08-directory.md 8.0 KB
- references/best_practices/09-mail.md 5.2 KB
- references/best_practices/10-minutes-speaker-match.md 9.0 KB
- references/best_practices/11-minutes-speaker-correct.md 4.4 KB
- references/best_practices/lite-recipes.md 16 KB
- references/capability-limits.md 2.9 KB
- references/error-codes.md 4.0 KB
- references/field-rules.md 5.4 KB
- references/global-reference.md 5.1 KB
- references/intent-guide.md 48 KB
- references/products/agoal.md 12 KB
- references/products/aisearch.md 14 KB
- references/products/aitable-record-ops.md 4.8 KB
- references/products/aitable.md 30 KB
- references/products/aitable/aitable-advperm.md 10 KB
- references/products/aitable/aitable-api-key.md 1.7 KB
- references/products/aitable/aitable-attachment.md 3.5 KB
- references/products/aitable/aitable-best-practices.md 3.5 KB
- references/products/aitable/aitable-cell-value.md 9.1 KB
- references/products/aitable/aitable-comment.md 2.8 KB
- references/products/aitable/aitable-dashboard-chart.md 4.5 KB
- references/products/aitable/aitable-data-analysis-sop.md 5.6 KB
- references/products/aitable/aitable-error-recovery.md 6.9 KB
- references/products/aitable/aitable-export-import.md 9.8 KB
- references/products/aitable/aitable-field-properties.md 8.5 KB
- references/products/aitable/aitable-field.md 6.6 KB
- references/products/aitable/aitable-filter-sort.md 12 KB
- references/products/aitable/aitable-form.md 15 KB
- references/products/aitable/aitable-formula-guide.md 8.2 KB
- references/products/aitable/aitable-primary-doc.md 2.3 KB
- references/products/aitable/aitable-psql.md 15 KB
- references/products/aitable/aitable-record-create.md 2.2 KB
- references/products/aitable/aitable-record-delete.md 582 B
- references/products/aitable/aitable-record-history.md 4.0 KB
- references/products/aitable/aitable-record-name-key.md 2.4 KB
- references/products/aitable/aitable-record-query.md 15 KB
- references/products/aitable/aitable-record-share.md 1.6 KB
- references/products/aitable/aitable-record-stats.md 3.8 KB
- references/products/aitable/aitable-record-update.md 3.2 KB
- references/products/aitable/aitable-record-upsert.md 3.3 KB
- references/products/aitable/aitable-view-config.md 12 KB
- references/products/aitable/aitable-view-extras.md 8.0 KB
- references/products/aitable/aitable-workflow.md 14 KB
- references/products/attendance-report.md 30 KB
- references/products/attendance-schedule.md 27 KB
- references/products/attendance-vacation.md 9.4 KB
- references/products/attendance.md 102 KB
- references/products/calendar.md 50 KB
- references/products/chat-emoji-list.md 8.4 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +13 lines · +6 tokens per session 7fa7c0852035
- 13d ago Changed · +2 lines f75a7bdf4966
- 1mo ago Changed · +11 lines 06b4f2ee6431
- 1mo ago Changed · +6 lines d33da665f146
- 1mo ago Changed · +1 lines cd0371dd04f7
- 1mo ago First seen · 314 lines · 187 tokens per session scan A 3102390ff32f
dws is a skill published in the GitHub repository Pinvou/pinvou-agent (2,585 stars, last pushed today), licensed MIT. It adds 193 tokens to every session and 10,749 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
schedule
A skill for creating and managing scheduled tasks, including tasks that run automatically at regular times.
gmail-sync
API integration skill that fetches Gmail messages, syncs inbox labels, and processes attachments via the Gmail REST API. Use when fetching new emails, syncing inbox state, triaging unread messages, exporting mail data, or integrating Gmail into automated workflows.
google-calendar
Google Calendar via gws: list events, create, accept, find free time.
google-drive
Google Drive via gws: search, list, upload, download, share.
google-forms
Google Forms via gws: create forms, add items, read responses.
google-meet
Google Meet via gws: create spaces, fetch join links, list recordings.