🧪 EXPERIMENTAL · Experimental / Preview — multi mode currently does not meet the stable standard. All dingtalk-* skills have passed the dispatch verifier, but the interface, naming, and cross-skill references may be adjusted later; for production / shared environments, please prefer mono mode (
dws skill setup --mode mono). For issues, please file an issue.
PREREQUISITE: Read the
dws-sharedskill first for auth, global flags, product routing, URL preflight, error codes, and safety rules. Thedwsbinary must be on PATH.
⚠️ Command availability is subject to the current dws binary. Service discovery has been taken offline; this document is released with the built-in skill; if
dws <cmd> --helpdoes not exist, it means the current version does not expose that command. If the command exists but the call fails, please confirm the static endpoint catalog and backend tool registration according to the endpoint or tool hint in the error. Before the actual call, you can usedws <cmd> --helpor--dry-runto verify.
Command reference:report.md; recipes:05-reporting.md。
Shortcuts (preferred when there is no dedicated script/recipe)
The following shortcuts come from a public catalog independent of the Runtime Schema. First route by this skill's intent table, scripts, and recipes: when a dedicated script/recipe exactly covering the scenario exists, execute according to it; otherwise, when the user intent matches, shortcuts take precedence over handwritten atomic commands. Use dws shortcut list --service report --format json to read parameters, constraints, risks, and examples, and use dws report <shortcut> --help to check the current Cobra flags; do not call + on the dws schema。
| Shortcut | Risk | Applicable scenarios |
|---|---|---|
dws report +inbox-list |
read | List the daily reports I received (paginated by time range) |
dws report +outbox-list |
read | List the daily reports I sent (optional time/template name filter) |
Intent table
| User says | Command |
|---|---|
| "logs received today" | python scripts/report_received_today.py |
| "view log templates" | dws report template list → dws report template get --name "<模版名>" |
| "submit a daily report / weekly report (by template)" | dws report entry submit --template-id <id> --contents-file <CWD 下的 .json> |
| "logs I received" | dws report inbox list --start <ISO> --end <ISO> --cursor 0 --size 20 |
| "logs I have sent" | dws report outbox list --cursor 0 --size 20 |
| "view the body of a certain log" | dws report entry get --report-id <id> |
| "log read statistics" | dws report entry stats --report-id <id> |
| "generate a daily report / weekly report / monthly report / topic report" | See 05-reporting.md recipe |
The deprecated old commands
report list/report detail/report sent/report stats/report create/report template detailare all marked [deprecated], please switch to the above table'sinbox list/outbox list/entry get/entry stats/entry submit/template get。
Log query hard constraints
- To query "logs received", you must use
dws report inbox list --start "<ISO>" --end "<ISO>" --cursor 0 --size 20 --format json, and first expand time words such as "today / last 30 days" into complete ISO start and end times; to query "logs I sent", usedws report outbox list --cursor 0 --size 20 --format json。 - After the list is returned, subsequent
entry get/entry statsmust reuse the samereportId(in the returned_internalDetailCommands[].command); do not re-select, guess, or switch to the title. - When the user wants the body, use
dws report entry get --report-id <reportId>; when the user wants read status/statistics, usedws report entry stats --report-id <reportId>。
Cross-product collaboration
- Daily report content sources (to-dos / minutes / OA / email / group messages) → multi-source collection, execute in parallel according to dws-shared's conventions.md
- To write the summary into a document → switch to
dingtalk-doc(dws doc create+dws doc update --mode append) - Note:
submit-reportsubmits via the report template,do notwrite a document via doc