禅道CLI
由禅道官方(https://www.zentao.net/)提供的 ZenTao CLI,可查询与维护禅道中的产品、项目、需求、任务和 Bug,支持执行状态流转并汇总进展。适用于操作禅道数据、查询个人待办,以及安装、配置和排查 zentao-cli 问题等场景。 Skill: 禅道CLI Owner: catouse Summary: 由禅道官方(https://www.zentao.net/)提供的 ZenTao CLI,可查询与维护禅道中的产品、项目、需求、任务和 Bug,支持执行状态流转并汇总进展。适用于操作禅道数据、查询个人待办,以及安装、配置和排查 zentao-cli 问题等场景。 Tags: latest:0.3.1 Version history: v0.3.1 | 2026-09-20T05:11:45.218Z | user - Major update: Documentation and help system overhauled for clarity, structure, and multilingual support. - Added two new reference documents: references/data-output.md and
Rank
62
Safety
84
Downloads
1.5k
Updated
Oct 10, 2026
Version
0.3.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.5K downloadsadoption · observed Oct 10, 2026
- Latest release
- 0.3.1release · observed Sep 20, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17ad4nk6htsg75vg6pf20bnhx83kh8a:zentao-cli- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/snapshot"
Documentation
CLAWHUB
57,372 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
--- name: zentao-cli display_name: 禅道CLI display_name_en: ZenTao CLI description: 使用 ZenTao CLI 查询和维护禅道中的产品、项目、需求、任务与 Bug,执行状态流转并汇总进展。当用户要求操作禅道数据、查询禅道中的个人待办,或安装、配置和排查 zentao-cli 问题时使用。 description_zh: 由禅道官方(https://www.zentao.net/)提供的 ZenTao CLI,可查询与维护禅道中的产品、项目、需求、任务和 Bug,支持执行状态流转并汇总进展。适用于操作禅道数据、查询个人待办,以及安装、配置和排查 zentao-cli 问题等场景。 description_en: Official ZenTao CLI from ZenTao (https://www.zentao.net/). Query and maintain products, projects, requirements, tasks, and bugs in ZenTao; perform status transitions and summarize progress. For operating on ZenTao data, querying personal to-dos, and installing, configuring, or troubleshooting zentao-cli issues. license: MIT version: 0.3.1 author: 禅道软件 maintainer: Sun Hao <[email protected]> metadata: repository: https://github.com/easysoft/zentao-cli.git keywords: [zentao, 禅道, cli, project-management] version: 0.3.1 --- # 禅道 CLI 通过 `zentao` 操作禅道。以当前安装版本的离线帮助为命令依据;字段、动作和最低服务器版本可能随 CLI / SDK 更新。 ## 开始工作 已有可用的 `zentao` 命令时直接复用。先确认用户要访问的站点、对象范围和操作;上下文已明确的内容不用重复询问。 ```bash zentao --version zentao help zentao profile --format=json ``` - `help`、模块/操作 `--help`、`props` 无需登录。先查帮助再准备请求,不必为查看参数连接服务器。 - `profile` 只列出本地保存的账号和站点,不校验 Token、网络或业务角色。需要验证连接时,在用户要访问的范围内执行一个只读查询。 - 未配置本地账号时 `profile` 返回 `E1006`;完整环境凭证仍可用于业务命令。不要据此断言服务不可用。 - 未安装时按用户环境选择 `npm install -g zentao-cli`、`bun install -g zentao-cli` 或 `pnpm install -g zentao-cli`;一次性运行可用 `npx zentao-cli <参数>`。 用户要求安装或更新技能时,使用 `zentao add-skill <agent>`;需要导出到自定义目录时,使用 `zentao add-skill --output ./exported-skills`。两种形式互斥,都会递归包含参考资料。只处理用户指定目标,重跑前保留同名技能中用户需要的定制。 ### 认证与账号选择 业务命令缺少凭证会报错,不会自动弹出登录。需要登录时让用户在自己的交互终端执行 `zentao login`,由 CLI 收集凭证。不要在对话里收集密码或 Token,不要读取、打印凭证环境变量或本地凭证文件。 自动化凭证由运行环境提供:`ZENTAO_URL` + `ZENTAO_ACCOUNT` + `ZENTAO_TOKEN` 或 `ZENTAO_PASSWORD`。同源同时提供 Token 和密码时优先 Token。业务命令优先使用完整环境凭证,再回退到当前保存的 Profile。 ```bash zentao profile 'admin@https://zentao.example.com' ``` 上述命令切换本地默认账号;完整环境凭证仍会优先,不能仅凭切换成功认定后续请求使用了该账号。需由运行环境维护者调整凭证来源。 默认凭证文件为 `~/.config/zentao/zentao.json`;自定义路径可用全局 `--config <路径>` 或 `ZENTAO_CONFIG_FILE`,前者优先。沿用用户选定的配置路径,不通过直接读取文件确认身份。 ## 查找命令与参数 | 意图 | 命令形式 | |------|----------| | 列表(仅支持默认列表的模块) | `zentao <module> [范围参数]` | | 详情(仅支持 get 的模块) | `zentao <module> <id>` | | 创建 / 更新 / 删除 | `zentao <module> create` / `zentao <module> update <id>` / `zentao <module> delete <id>` | | 状态流转或命名操作 | `zentao <module> <action> [参数]` | | 操作参数、必填项、最低版本 | `zentao <module> <action> --help` | | 返回对象的字段定义 | `zentao <module> props --format=json` | `props` 不是写入字段清单,也不代表当前站点的动态选项。创建、更新、状态流转都以操作帮助为准;先读懂参数用途,再选值。 - 业务字段优先使用 `--field=value`,保留帮助中的大小写。复杂对象、数组或长文本见 [references/writes.md](references/writes.md)。 - 不要推断每个模块都有 CRUD。`doc`、`my` 无默认列表,必须选择命名操作。 - 多个路径参数要分别传入;位置 ID / `--id` 仅代表首个路径 ID,不能代替后续 ID。 - 不知道 ID 时先按产品、项目或执行查找,出现同名对象再澄清,不能套用示例 ID。 - `browseType` 是各接口自己的服务端筛选值,例如项目 `doing`、需求 `allstory`;不能在不同模块间照搬。 ### 常用入口 先用对应操作的 `--help` 确认安装版本支持,再代入真实 ID: ```bash zentao product --pick=id,name zentao story --product=1 --pick=id,title,status zentao
_meta.json
{
"ownerId": "kn79cz87b6vfpvp7n15tbhqm0n832717",
"slug": "zentao-cli",
"version": "0.3.1",
"publishedAt": 1789881105218
}references/data-output.md
# 输出、筛选与全量统计
## 选择输出格式
| 目的 | 选项与结果 |
|------|------------|
| 阅读 | 默认 Markdown,受当前 Profile 的 `defaultOutputFormat` 影响;需固定时传 `--format=markdown` |
| 程序处理 | `--format=json`,执行字段摘取、过滤等本地处理 |
| 排查响应 | `--format=raw`,返回服务端原始响应,跳过归一化、HTML 转换和本地数据处理 |
`--machine-readable` 只禁用 Markdown ANSI 渲染,不等同于 JSON;需要解析时显式使用 `--format=json`。需要结果时不要加 `--silent`。
CLI JSON 结构随操作类型变化:
- 列表:`{"status":"success","data":[...],"pager":{"total":120,"page":1,"recPerPage":50}}`,无分页信息时省略 `pager`。
- 详情:直接返回对象,例如 `{"id":42,"title":"登录失败"}`,不要再取 `.data`。
- 创建、更新、删除和状态操作:`{"status":"success","data":...}`,没有数据时可能省略 `data`。
- 错误:stderr 输出 `{"error":{"code":"2008","message":"...","details":...}}`,退出码非零;`code` 不含 `E` 前缀,`details` 可省略。
同时检查退出码、stderr 和 JSON 内容。批量请求使用另一种汇总结构,见 [writes.md](writes.md)。
## 当前页的数据处理
范围参数及接口声明的 `browseType` 等控制服务端查询;`--filter`、`--search`、`--sort`、`--limit`、`--pick` 在收到当前页后处理,不能扩大服务器已返回的集合。
```bash
zentao bug --product=1 --browseType=all --pick=id,title,status
zentao bug --product=1 --browseType=all --filter='status=active'
zentao bug --product=1 --browseType=all --filter='severity<=2,pri<=2'
zentao bug --product=1 --browseType=all --filter='status=active' --filter='status=resolved'
zentao bug --product=1 --search=登录 --search-fields=title,steps
zentao bug --product=1 --search=登录,失败 --search=注册,超时
zentao bug --product=1 --sort=pri:asc,severity:asc
zentao bug --product=1 --limit=10
```
- 一条 `--filter` 内逗号连接为 AND;多次 `--filter` 之间为 OR。`--search` 同样是组内 AND、组间 OR。
- 过滤运算符:`=`(推荐)、`:`(兼容等于)、`!=`、`>`、`<`、`>=`、`<=`、`~`(包含)、`!~`(不包含)。包含比较符的表达式用引号包裹。
- 排序优先写 `field:asc` / `field:desc`;旧的 `field_asc` / `field_desc` 仍兼容。
- `--limit` 只截取当前页;当前页优先级最高的 10 条不能称作全产品 Top 10。
- `--format=raw` 下上述本地选项不生效,不能一边要求原始响应一边期待过滤或脱敏字段。
## 分页与统计
只有列表操作帮助列出 `--page` / `--recPerPage` 时才使用分页选项。CLI 不自动翻页;`--all` 会显式报 `E2009`。
```bash
zentao bug list --help
zentao bug --product=1 --browseType=all --page=1 --recPerPage=50 --pick=id,status,severity,pri --format=json
```
要回答“所有”“总共”“各状态数量”或全局排序:
1. 选择覆盖目标范围的服务端条件,收集用于聚合的字段。
2. 按返回的 `pager.page` 递增请求;当 `pager.page * pager.recPerPage >= pager.total` 时完成该范围。以返回的页码和页大小为准,服务器可能限制每页数量。
3. 对收集结果按 ID 去重,再统计或全局排序、取 Top N。期间数据可能变化,说明查询范围和时间。
`pager.total` 是服务端匹配总数,本地过滤后 `data.length` 可能更小甚至为 0,不能据此判断末页;也不能把 `pager.total` 当作本地条件命中数。列表没有 pager 或页码不再推进时,说明完整性限制,不猜测还有多少,也不无限请求。
跨执行统计任务时,先完整取得目标项目的执行列表,再逐个执行分页查任务。旧版本不支持 `projectExecutions` 时,可按全局执行列表每页的 `project` 字段筛选目标项目;仍需遍历该列表所有页。references/writes.md
# 写入、状态流转与批量操作
先用实际操作帮助核对字段。下面的 ID、账号、日期和内容只是语法示例,执行时替换为用户授权的真实值。
## 请求体
业务字段使用 `--field=value`;CLI 额外 API 参数不支持通用的 `--field value` 写法。少量标量可直接传入,数组字符串按逗号拆分;嵌套对象、数字数组和长文本优先用 JSON。
用引号包裹的 `--field=value` 支持多行文本,换行、末尾换行和值中的 `=` 都会保留。参数格式无效时会报错,不会静默忽略。
```bash
zentao story create --productID=1 --title="需求标题" --assignedTo=admin --pri=3
zentao story update 11 --plan=1
zentao story change 11 --data '{"title":"调整后的需求标题","reviewer":["reviewer1","reviewer2"]}'
zentao doc createMyDoc --spaceID=1 --libID=2 --data '{"title":"开发说明","content":"# 正文","contentType":"doc"}'
```
`reviewer` 是否必填及其余要求以当前动作帮助为准。不要机械补审批人或覆盖现有字段。
长文本可以先写入 JSON 文件,再通过 stdin 传入:
```bash
zentao story create --productID=1 --data @- < /path/to/story.json
```
也支持无 `--data` 的 JSON 管道输入。`--data @file.json` 不支持;只有 `@-` 表示 stdin。文件内为有效 JSON 请求体,复杂文本交给 JSON 编码器处理,避免手工拼接 shell 字符串。
`--data` 中同名字段优先于平铺业务字段,不要同时给出互相冲突的值。`--params` 可传路径、查询及请求体参数的对象;一般操作优先用具名路径参数和 `--data`,无需另造包装层。
`bug create` 的 `--product=1` 是 `--productID=1` 的别名。平铺参数同时提供两者时必须指定同一个产品,否则报错;归一化后仍以 `--data` 内的 `productID` 为准。JSON 请求体中使用正式字段 `productID`。
## 更新补全的边界
CLI 对 `type=update` 的操作启用补全:当该模块存在同路径的详情操作,且更新声明了对象请求体时,先读取当前对象,仅补上更新 schema 内尚未传入的字段。用户显式给出的值优先;读取失败则中止写入。
- 不能把 GET 返回的所有字段原样回传,返回属性不一定可写。
- 没有匹配详情接口的更新不会自动补全,例如项目、版本、发布、待办的更新。按帮助准备必要字段;需要现值时从所属列表或其他受支持的查询获取。
- `change`、`resolve`、`start`、`finish` 等状态动作不使用更新补全;按各自动作的必填项提交。
## 常用状态操作
```bash
zentao bug create --productID=1 --title="Bug标题" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk
zentao bug resolve 42 --resolution=fixed
zentao bug close 42
zentao bug activate 42
zentao story close 11 --closedReason=done
zentao task create --executionID=1 --name="任务名" --type=devel --assignedTo=admin --estimate=4
zentao task start 100 --realStarted="<YYYY-MM-DD HH:mm:ss>"
zentao task finish 100 --currentConsumed=4 --realStarted="<YYYY-MM-DD HH:mm:ss>" --finishedDate="<YYYY-MM-DD HH:mm:ss>"
```
解决、完成和关闭需要用户给出的实际结果;不要为了演示流程把现有记录改成已完成。若真实意图只是修改负责人或预估,使用更新,不顺带流转状态。
上传附件可用:
```bash
zentao file create --file=/path/to/screenshot.png --objectType=bug --objectID=42
```
上传成功不代表附件已经作为图片嵌入对象正文;根据返回结果核实用户要求的关联和展示方式。
## 删除与批量结果
删除前落实对象 ID 和授权范围;用户已明确授权这一组对象时一次执行,不逐条重复询问。非交互、JSON/raw 或 `--machine-readable` 模式均要求显式 `--yes`;这个参数只跳过 CLI 提示,不扩展用户授权。
```bash
zentao bug delete 42 --yes
zentao bug get 42,43 --format=json
zentao bug update 42,43 --assignedTo=admin --batch-fail-fast --format=json
zentao bug delete 42,43 --yes --format=json
```
逗号分隔的数字 ID 会逐个请求;这是同一操作作用于多个对象,不能用来传递文档等操作的多个路径 ID。批量也可使用 `--id=42,43`。
JSON 和 raw 模式的批量结果都包在:
```json
{
"status": "failed",
"result": {
"success": [42],
"failed": [43],
"skipped": [44],
"errors": [{"objectID": 43, "error": {"code": "2006", "message": "当前用户没有权限执行此操作"}}],
"data": [{"objectID": 42, "value": {"id": 42}}]
}
}
```
`success` / `failed` / `skipped` 是 ID 数组;非删除请求的返回值在 `data` 的 `{objectID,value}` 项中,删除不含 `data`。默认遇错继续,`--batch-fail-fast` 会把后续对象计入 `skipped`;任一失败令退出码为 1。
分别报告三组结果及原因。对超时等结果不明确的失败项,先查询是否已写入skill-card.md
## Description: ZenTao CLI helps agents query and maintain ZenTao products, projects, requirements, tasks, and bugs, including status transitions, progress summaries, installation, configuration, and troubleshooting. This skill is ready for commercial/non-commercial use. ## Publisher: [catouse](https://clawhub.ai/user/catouse) ### License/Terms of Use: MIT-0 ## Use Case: Developers, engineers, and project-management operators use this skill to run ZenTao CLI commands for reading, updating, and summarizing ZenTao work items and related project records. It is also used to install, configure, authenticate, and troubleshoot the CLI in agent workflows. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: The skill can guide write, delete, bulk update, and status-transition operations that change ZenTao business records. Mitigation: Use it only with intended ZenTao sites and accounts, confirm the authorized object set before destructive or bulk changes, require explicit delete confirmation such as --yes where applicable, and verify results after writes. Risk: Credential exposure or unintended account selection could give the agent access beyond the user's intent. Mitigation: Do not collect passwords or tokens in chat, avoid reading or printing credential files or environment variables, and verify the selected site and account with a scoped read-only query when needed. Risk: CLI help, fields, actions, and minimum server versions can differ from the installed CLI or ZenTao server. Mitigation: Check local command help and server compatibility before requests, report unsupported-version errors clearly, and use only supported equivalent queries when a direct action is unavailable. Risk: Partial pages, local filters, or batch partial failures can lead to incomplete summaries or incorrect success claims. Mitigation: Use JSON output for programmatic work, paginate when complete counts are required, separate success, failed, and skipped batch results, and query uncertain write outcomes before retrying. ## Reference(s): - [ClawHub skill page](https://clawhub.ai/catouse/skills/zentao-cli) - [Publisher profile](https://clawhub.ai/user/catouse) - [ZenTao CLI repository](https://github.com/easysoft/zentao-cli.git) - [ZenTao official site](https://www.zentao.net/) - [Output, filtering, and statistics reference](artifact/references/data-output.md) - [Writes, status transitions, and batch operations reference](artifact/references/writes.md) ## Skill Output: **Output Type(s):** [text, markdown, shell commands, configuration, guidance] **Output Format:** [Markdown with inline shell commands and optional JSON command output] **Output Parameters:** [1D] **Other Properties Related to Output:** [May include ZenTao CLI commands, status summaries, parsed JSON results, error explanations, and verification steps.] ## Skill Version(s): 0.3.1 (source: server release metadata and skill frontmatter) ## Ethical Considerations: U
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/catouse/skills/zentao-cli",
"sourceUrl": "https://clawhub.ai/catouse/skills/zentao-cli",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T09:51:48.392Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T09:51:48.392Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.5K downloads",
"href": "https://clawhub.ai/catouse/zentao-cli",
"sourceUrl": "https://clawhub.ai/catouse/zentao-cli",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T09:51:48.392Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.3.1",
"href": "https://clawhub.ai/catouse/zentao-cli",
"sourceUrl": "https://clawhub.ai/catouse/zentao-cli",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-20T05:11:45.218Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.3.1",
"description": "- Major update: Documentation and help system overhauled for clarity, structure, and multilingual support. - Added two new reference documents: `references/data-output.md` and `references/writes.md`. - Removed the obsolete `skill-card.md`. - Enhanced command guidance, error handling, and module descriptions. - Updated and expanded installation, authentication, and troubleshooting instructions. - Improved coverage of command usage, parameter explanation, and server version compatibility.",
"href": "https://clawhub.ai/catouse/zentao-cli",
"sourceUrl": "https://clawhub.ai/catouse/zentao-cli",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-20T05:11:45.218Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
