{"id":"f1546bba-6574-4cad-851b-a11cfb3377eb","entityType":"agent","slug":"clawhub-catouse-zentao-cli","name":"禅道CLI","canonicalUrl":"https://www.xpersona.co/agent/clawhub-catouse-zentao-cli","canonicalPath":"/agent/clawhub-catouse-zentao-cli","generatedAt":"2026-10-10T11:50:42.304Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T09:51:48.392Z","emptyReason":null},"description":"由禅道官方（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","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17ad4nk6htsg75vg6pf20bnhx83kh8a:zentao-cli","sourceUrl":"https://clawhub.ai/catouse/zentao-cli","homepage":"https://clawhub.ai/catouse/skills/zentao-cli","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/catouse/zentao-cli","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/catouse/skills/zentao-cli","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"由禅道官方（https://www.zentao.net/）提供的 ZenTao CLI，可查询与维护禅道中的产品、项目、需求、任务和 Bug，支持执行状态流转并汇总进展。适用于操作禅道数据、查询个人待办，以及安装、配置和排查 zentao-cli 问题等场景。 Skill: 禅道CLI Owner: catouse "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:51:48.392Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:51:48.392Z","emptyReason":null},"stars":null,"forks":null,"downloads":1513,"packageName":null,"latestVersion":"0.3.1","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:51:48.392Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T09:51:48.392Z","lastCrawledAt":"2026-10-10T09:51:48.392Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T09:51:48.392Z","lastVerifiedAt":null,"highlights":[{"version":"0.3.1","createdAt":"2026-09-20T05:11:45.218Z","changelog":"- 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.","fileCount":5,"zipByteSize":11658},{"version":"0.1.7","createdAt":"2026-05-25T09:51:08.549Z","changelog":"Version 0.1.7 - 更新 SKILL.md，增加“更新操作自动补全”说明：执行 `update` 时，未显式指定的字段将自动填充为当前值，避免 PUT 操作清空未提交字段。 - 版本号从 0.1.6 升级到 0.1.7。","fileCount":3,"zipByteSize":5500},{"version":"0.1.6","createdAt":"2026-05-18T09:55:35.924Z","changelog":"## zentao-cli 0.1.6 - 明确安全提示，不再在对话中收集账号密码，指导用户在终端使用 `zentao login`。 - 强调禁止读取本地凭证文件及环境变量，所有数据操作均通过 CLI 获取，确保用户凭证安全。 - 其他说明内容无变化，升级版本号至 0.1.6。","fileCount":2,"zipByteSize":3939},{"version":"0.1.3","createdAt":"2026-04-28T07:01:16.534Z","changelog":"Version 0.1.3 → 0.1.4 - 错误码 E2003 的帮助说明补充，建议也可执行 `zentao <module> <action> help` 查询参数。 - “注意事项”部分补充，不确定操作参数时可执行 `zentao <module> <action> help` 查看帮助。 - 删除原“注意事项”中关于 `--silent` 选项表述。 - 更新版本号信息至 0.1.4。","fileCount":2,"zipByteSize":3765},{"version":"0.1.2","createdAt":"2026-04-27T05:59:50.461Z","changelog":"- 正式发布 0.1.2 版，版本号由 beta 变为正式。 - 常用操作示例新增“创建需求并关联计划”指令（增加需求更新并指定计划的用法）。 - 帮助示例增加对单独操作帮助的查询，如 story update help。 - 其余内容未变化，仅为文档和用法优化。","fileCount":2,"zipByteSize":3775},{"version":"0.1.2-beta.5","createdAt":"2026-04-19T10:16:54.697Z","changelog":"- 增加了 skill 元数据，包括 license、author、repository、keywords、version 字段 - 版本号调整为 0.1.2-beta.5 - 其他文档内容保持不变","fileCount":2,"zipByteSize":3749},{"version":"0.1.2-beta.3","createdAt":"2026-04-16T10:46:20.138Z","changelog":"- 首个发布版本，支持通过命令行工具全面查询和操作禅道（ZenTao）各类项目管理数据。 - 覆盖项目集、产品、项目、执行、需求、Bug、任务、测试等主要模块的增删改查及状态流转。 - 自动处理认证与凭证缓存，支持全局安装和多种包管理器（npm、bun、pnpm）。 - 提供丰富的命令格式、过滤、排序、分页、工作区上下文等操作指南与示例。 - 明确约定提示、错误处理、意图识别及常见场景指令，实现高效项目管理。","fileCount":2,"zipByteSize":3711}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17ad4nk6htsg75vg6pf20bnhx83kh8a:zentao-cli","setupComplexity":"low","setupSteps":["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":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T11:50:42.303Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-catouse-zentao-cli/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T09:51:48.392Z","emptyReason":null},"readme":"Skill: 禅道CLI\n\nOwner: catouse\n\nSummary: 由禅道官方（https://www.zentao.net/）提供的 ZenTao CLI，可查询与维护禅道中的产品、项目、需求、任务和 Bug，支持执行状态流转并汇总进展。适用于操作禅道数据、查询个人待办，以及安装、配置和排查 zentao-cli 问题等场景。\n\nTags: latest:0.3.1\n\nVersion history:\n\nv0.3.1 | 2026-09-20T05:11:45.218Z | user\n\n- Major update: Documentation and help system overhauled for clarity, structure, and multilingual support.\n- Added two new reference documents: `references/data-output.md` and `references/writes.md`.\n- Removed the obsolete `skill-card.md`.\n- Enhanced command guidance, error handling, and module descriptions.\n- Updated and expanded installation, authentication, and troubleshooting instructions.\n- Improved coverage of command usage, parameter explanation, and server version compatibility.\n\nv0.1.7 | 2026-05-25T09:51:08.549Z | user\n\nVersion 0.1.7\n\n- 更新 SKILL.md，增加“更新操作自动补全”说明：执行 `update` 时，未显式指定的字段将自动填充为当前值，避免 PUT 操作清空未提交字段。\n- 版本号从 0.1.6 升级到 0.1.7。\n\nv0.1.6 | 2026-05-18T09:55:35.924Z | user\n\n## zentao-cli 0.1.6\n\n- 明确安全提示，不再在对话中收集账号密码，指导用户在终端使用 `zentao login`。\n- 强调禁止读取本地凭证文件及环境变量，所有数据操作均通过 CLI 获取，确保用户凭证安全。\n- 其他说明内容无变化，升级版本号至 0.1.6。\n\nv0.1.3 | 2026-04-28T07:01:16.534Z | user\n\nVersion 0.1.3 → 0.1.4\n\n- 错误码 E2003 的帮助说明补充，建议也可执行 `zentao <module> <action> help` 查询参数。\n- “注意事项”部分补充，不确定操作参数时可执行 `zentao <module> <action> help` 查看帮助。\n- 删除原“注意事项”中关于 `--silent` 选项表述。\n- 更新版本号信息至 0.1.4。\n\nv0.1.2 | 2026-04-27T05:59:50.461Z | user\n\n- 正式发布 0.1.2 版，版本号由 beta 变为正式。\n- 常用操作示例新增“创建需求并关联计划”指令（增加需求更新并指定计划的用法）。\n- 帮助示例增加对单独操作帮助的查询，如 story update help。\n- 其余内容未变化，仅为文档和用法优化。\n\nv0.1.2-beta.5 | 2026-04-19T10:16:54.697Z | user\n\n- 增加了 skill 元数据，包括 license、author、repository、keywords、version 字段  \n- 版本号调整为 0.1.2-beta.5  \n- 其他文档内容保持不变\n\nv0.1.2-beta.3 | 2026-04-16T10:46:20.138Z | user\n\n- 首个发布版本，支持通过命令行工具全面查询和操作禅道（ZenTao）各类项目管理数据。\n- 覆盖项目集、产品、项目、执行、需求、Bug、任务、测试等主要模块的增删改查及状态流转。\n- 自动处理认证与凭证缓存，支持全局安装和多种包管理器（npm、bun、pnpm）。\n- 提供丰富的命令格式、过滤、排序、分页、工作区上下文等操作指南与示例。\n- 明确约定提示、错误处理、意图识别及常见场景指令，实现高效项目管理。\n\nArchive index:\n\nArchive v0.3.1: 5 files, 11658 bytes\n\nFiles: references/data-output.md (3959b), references/writes.md (5174b), skill-card.md (3237b), SKILL.md (8939b), _meta.json (129b)\n\nFile v0.3.1:SKILL.md\n\n---\nname: zentao-cli\ndisplay_name: 禅道CLI\ndisplay_name_en: ZenTao CLI\ndescription: 使用 ZenTao CLI 查询和维护禅道中的产品、项目、需求、任务与 Bug，执行状态流转并汇总进展。当用户要求操作禅道数据、查询禅道中的个人待办，或安装、配置和排查 zentao-cli 问题时使用。\ndescription_zh: 由禅道官方（https://www.zentao.net/）提供的 ZenTao CLI，可查询与维护禅道中的产品、项目、需求、任务和 Bug，支持执行状态流转并汇总进展。适用于操作禅道数据、查询个人待办，以及安装、配置和排查 zentao-cli 问题等场景。\ndescription_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.\nlicense: MIT\nversion: 0.3.1\nauthor: 禅道软件\nmaintainer: Sun Hao <sunhao@chandao.com>\nmetadata:\n  repository: https://github.com/easysoft/zentao-cli.git\n  keywords: [zentao, 禅道, cli, project-management]\n  version: 0.3.1\n---\n\n# 禅道 CLI\n\n通过 `zentao` 操作禅道。以当前安装版本的离线帮助为命令依据；字段、动作和最低服务器版本可能随 CLI / SDK 更新。\n\n## 开始工作\n\n已有可用的 `zentao` 命令时直接复用。先确认用户要访问的站点、对象范围和操作；上下文已明确的内容不用重复询问。\n\n```bash\nzentao --version\nzentao help\nzentao profile --format=json\n```\n\n- `help`、模块/操作 `--help`、`props` 无需登录。先查帮助再准备请求，不必为查看参数连接服务器。\n- `profile` 只列出本地保存的账号和站点，不校验 Token、网络或业务角色。需要验证连接时，在用户要访问的范围内执行一个只读查询。\n- 未配置本地账号时 `profile` 返回 `E1006`；完整环境凭证仍可用于业务命令。不要据此断言服务不可用。\n- 未安装时按用户环境选择 `npm install -g zentao-cli`、`bun install -g zentao-cli` 或 `pnpm install -g zentao-cli`；一次性运行可用 `npx zentao-cli <参数>`。\n\n用户要求安装或更新技能时，使用 `zentao add-skill <agent>`；需要导出到自定义目录时，使用 `zentao add-skill --output ./exported-skills`。两种形式互斥，都会递归包含参考资料。只处理用户指定目标，重跑前保留同名技能中用户需要的定制。\n\n### 认证与账号选择\n\n业务命令缺少凭证会报错，不会自动弹出登录。需要登录时让用户在自己的交互终端执行 `zentao login`，由 CLI 收集凭证。不要在对话里收集密码或 Token，不要读取、打印凭证环境变量或本地凭证文件。\n\n自动化凭证由运行环境提供：`ZENTAO_URL` + `ZENTAO_ACCOUNT` + `ZENTAO_TOKEN` 或 `ZENTAO_PASSWORD`。同源同时提供 Token 和密码时优先 Token。业务命令优先使用完整环境凭证，再回退到当前保存的 Profile。\n\n```bash\nzentao profile 'admin@https://zentao.example.com'\n```\n\n上述命令切换本地默认账号；完整环境凭证仍会优先，不能仅凭切换成功认定后续请求使用了该账号。需由运行环境维护者调整凭证来源。\n\n默认凭证文件为 `~/.config/zentao/zentao.json`；自定义路径可用全局 `--config <路径>` 或 `ZENTAO_CONFIG_FILE`，前者优先。沿用用户选定的配置路径，不通过直接读取文件确认身份。\n\n## 查找命令与参数\n\n| 意图 | 命令形式 |\n|------|----------|\n| 列表（仅支持默认列表的模块） | `zentao <module> [范围参数]` |\n| 详情（仅支持 get 的模块） | `zentao <module> <id>` |\n| 创建 / 更新 / 删除 | `zentao <module> create` / `zentao <module> update <id>` / `zentao <module> delete <id>` |\n| 状态流转或命名操作 | `zentao <module> <action> [参数]` |\n| 操作参数、必填项、最低版本 | `zentao <module> <action> --help` |\n| 返回对象的字段定义 | `zentao <module> props --format=json` |\n\n`props` 不是写入字段清单，也不代表当前站点的动态选项。创建、更新、状态流转都以操作帮助为准；先读懂参数用途，再选值。\n\n- 业务字段优先使用 `--field=value`，保留帮助中的大小写。复杂对象、数组或长文本见 [references/writes.md](references/writes.md)。\n- 不要推断每个模块都有 CRUD。`doc`、`my` 无默认列表，必须选择命名操作。\n- 多个路径参数要分别传入；位置 ID / `--id` 仅代表首个路径 ID，不能代替后续 ID。\n- 不知道 ID 时先按产品、项目或执行查找，出现同名对象再澄清，不能套用示例 ID。\n- `browseType` 是各接口自己的服务端筛选值，例如项目 `doing`、需求 `allstory`；不能在不同模块间照搬。\n\n### 常用入口\n\n先用对应操作的 `--help` 确认安装版本支持，再代入真实 ID：\n\n```bash\nzentao product --pick=id,name\nzentao story --product=1 --pick=id,title,status\nzentao bug --product=1 --pick=id,title,status\nzentao task --executionID=1 --pick=id,name,status\nzentao project --browseType=doing --pick=id,name,status\nzentao execution projectExecutions --projectID=5 --browseType=all\nzentao productplan --productID=1\nzentao release --productID=1\nzentao build --project=5\nzentao my tasks --pick=id,name,status\nzentao my bugs --pick=id,title,status\nzentao my todos\nzentao doc myDocs --spaceID=1 --libID=2\n```\n\n需求分为 `epic`（业务需求）、`requirement`（用户需求）、`story`（研发需求）。问题 `issue`、风险 `risk`、会议 `meeting`、工作流 `workflow`、文档 `doc` 等能力通过模块帮助发现，无需套用任务或 Bug 的字段。\n\n### 服务器版本\n\n帮助离线列出完整注册表，不等于服务器支持全部动作。请求前会检查实际服务器版本；最低版本按同一系列比较，例如 `22.5 / biz13.5 / max8.5 / ipd5.5`。具体门槛以该动作帮助为准，不用统一版本号推断所有新增能力。\n\n遇到 `E2010` 时报告当前版本和该动作要求。可改用已支持且语义等价的查询，例如按执行查任务，或逐页查询全局执行再按项目筛选；不能把替代查询当成全量结果，不能为绕过检查修改版本信息。`zentao version` 中的服务器信息来自本地缓存，不是实时兼容性验证。\n\n## 执行与核实\n\n- 查询默认适合阅读；程序处理显式加 `--format=json`。全量统计、过滤、排序、原始响应及 JSON 结构见 [references/data-output.md](references/data-output.md)。\n- 创建、更新和状态流转按用户已授权的目标与字段执行；明确的请求不再重复确认。缺少目标、状态含义或必要信息时，只补问影响本次操作的内容。\n- 用户只要求查看、分析或建议时，先返回结果。演示不代表授权修改已有业务记录。\n- 更新自动补全仅在存在可用详情操作时生效，并且只补当前动作声明的可写字段；不能假设所有模块都有详情、所有字段都能保留。具体边界与示例见 [references/writes.md](references/writes.md)。\n- 删除和批量操作先落实用户授权的对象集合；自动化删除必须显式传 `--yes`。批量部分失败时分开报告成功、失败和跳过的对象，不能整体重试。\n- 根据返回的 ID 查询详情或在所属列表中核实关键字段，再宣告创建、关联、完成等结果。写入超时或返回不明确时先查询是否已生效，尤其不要盲目重试创建。\n\n## 错误处理\n\n保留错误要点，按原因处理；不要将所有错误都归为重新登录。\n\n| 错误码 | 处理 |\n|--------|------|\n| E1001 / E1006 | 凭证不完整或没有可用配置；请用户交互登录或配置完整环境凭证 |\n| E1003 / E1004 | 账号密码错误或 Token 失效；请用户重新登录 |\n| E1005 / E1007 | 配置不可读或指定 Profile 不存在；核对配置路径，使用 profile 查看可用账号 |\n| E2001 / E2005 | 模块或动作不存在；查本地帮助 |\n| E2002 | 对象或接口未找到；核对 ID、范围和具体错误 URL，不立即断定记录已删除 |\n| E2003 / E2004 / E2007 / E2009 | 缺参数、类型/选项错误或无效 JSON；对照动作帮助修正 |\n| E2006 | 无权限；说明受限操作，交由用户处理授权 |\n| E2008 | 服务端业务或 HTTP 错误；检查具体响应，不以 HTTP 200 或 raw 输出认定成功 |\n| E2010 | 服务器版本不支持；说明要求，选择受支持的等价能力或由用户升级 |\n| E2011 / E2012 | 版本格式或站点配置无法识别；核对站点根地址及其 `?mode=getconfig` 响应 |\n| E1002 / E5001 / E5002 | 地址不可达、超时或证书验证失败；核对网络、地址和证书，写请求先核实结果再决定是否重试 |\n\nFile v0.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.3.1\",\n  \"publishedAt\": 1789881105218\n}\n\nFile v0.3.1:references/data-output.md\n\n# 输出、筛选与全量统计\n\n## 选择输出格式\n\n| 目的 | 选项与结果 |\n|------|------------|\n| 阅读 | 默认 Markdown，受当前 Profile 的 `defaultOutputFormat` 影响；需固定时传 `--format=markdown` |\n| 程序处理 | `--format=json`，执行字段摘取、过滤等本地处理 |\n| 排查响应 | `--format=raw`，返回服务端原始响应，跳过归一化、HTML 转换和本地数据处理 |\n\n`--machine-readable` 只禁用 Markdown ANSI 渲染，不等同于 JSON；需要解析时显式使用 `--format=json`。需要结果时不要加 `--silent`。\n\nCLI JSON 结构随操作类型变化：\n\n- 列表：`{\"status\":\"success\",\"data\":[...],\"pager\":{\"total\":120,\"page\":1,\"recPerPage\":50}}`，无分页信息时省略 `pager`。\n- 详情：直接返回对象，例如 `{\"id\":42,\"title\":\"登录失败\"}`，不要再取 `.data`。\n- 创建、更新、删除和状态操作：`{\"status\":\"success\",\"data\":...}`，没有数据时可能省略 `data`。\n- 错误：stderr 输出 `{\"error\":{\"code\":\"2008\",\"message\":\"...\",\"details\":...}}`，退出码非零；`code` 不含 `E` 前缀，`details` 可省略。\n\n同时检查退出码、stderr 和 JSON 内容。批量请求使用另一种汇总结构，见 [writes.md](writes.md)。\n\n## 当前页的数据处理\n\n范围参数及接口声明的 `browseType` 等控制服务端查询；`--filter`、`--search`、`--sort`、`--limit`、`--pick` 在收到当前页后处理，不能扩大服务器已返回的集合。\n\n```bash\nzentao bug --product=1 --browseType=all --pick=id,title,status\nzentao bug --product=1 --browseType=all --filter='status=active'\nzentao bug --product=1 --browseType=all --filter='severity<=2,pri<=2'\nzentao bug --product=1 --browseType=all --filter='status=active' --filter='status=resolved'\nzentao bug --product=1 --search=登录 --search-fields=title,steps\nzentao bug --product=1 --search=登录,失败 --search=注册,超时\nzentao bug --product=1 --sort=pri:asc,severity:asc\nzentao bug --product=1 --limit=10\n```\n\n- 一条 `--filter` 内逗号连接为 AND；多次 `--filter` 之间为 OR。`--search` 同样是组内 AND、组间 OR。\n- 过滤运算符：`=`（推荐）、`:`（兼容等于）、`!=`、`>`、`<`、`>=`、`<=`、`~`（包含）、`!~`（不包含）。包含比较符的表达式用引号包裹。\n- 排序优先写 `field:asc` / `field:desc`；旧的 `field_asc` / `field_desc` 仍兼容。\n- `--limit` 只截取当前页；当前页优先级最高的 10 条不能称作全产品 Top 10。\n- `--format=raw` 下上述本地选项不生效，不能一边要求原始响应一边期待过滤或脱敏字段。\n\n## 分页与统计\n\n只有列表操作帮助列出 `--page` / `--recPerPage` 时才使用分页选项。CLI 不自动翻页；`--all` 会显式报 `E2009`。\n\n```bash\nzentao bug list --help\nzentao bug --product=1 --browseType=all --page=1 --recPerPage=50 --pick=id,status,severity,pri --format=json\n```\n\n要回答“所有”“总共”“各状态数量”或全局排序：\n\n1. 选择覆盖目标范围的服务端条件，收集用于聚合的字段。\n2. 按返回的 `pager.page` 递增请求；当 `pager.page * pager.recPerPage >= pager.total` 时完成该范围。以返回的页码和页大小为准，服务器可能限制每页数量。\n3. 对收集结果按 ID 去重，再统计或全局排序、取 Top N。期间数据可能变化，说明查询范围和时间。\n\n`pager.total` 是服务端匹配总数，本地过滤后 `data.length` 可能更小甚至为 0，不能据此判断末页；也不能把 `pager.total` 当作本地条件命中数。列表没有 pager 或页码不再推进时，说明完整性限制，不猜测还有多少，也不无限请求。\n\n跨执行统计任务时，先完整取得目标项目的执行列表，再逐个执行分页查任务。旧版本不支持 `projectExecutions` 时，可按全局执行列表每页的 `project` 字段筛选目标项目；仍需遍历该列表所有页。\n\nFile v0.3.1:references/writes.md\n\n# 写入、状态流转与批量操作\n\n先用实际操作帮助核对字段。下面的 ID、账号、日期和内容只是语法示例，执行时替换为用户授权的真实值。\n\n## 请求体\n\n业务字段使用 `--field=value`；CLI 额外 API 参数不支持通用的 `--field value` 写法。少量标量可直接传入，数组字符串按逗号拆分；嵌套对象、数字数组和长文本优先用 JSON。\n\n用引号包裹的 `--field=value` 支持多行文本，换行、末尾换行和值中的 `=` 都会保留。参数格式无效时会报错，不会静默忽略。\n\n```bash\nzentao story create --productID=1 --title=\"需求标题\" --assignedTo=admin --pri=3\nzentao story update 11 --plan=1\nzentao story change 11 --data '{\"title\":\"调整后的需求标题\",\"reviewer\":[\"reviewer1\",\"reviewer2\"]}'\nzentao doc createMyDoc --spaceID=1 --libID=2 --data '{\"title\":\"开发说明\",\"content\":\"# 正文\",\"contentType\":\"doc\"}'\n```\n\n`reviewer` 是否必填及其余要求以当前动作帮助为准。不要机械补审批人或覆盖现有字段。\n\n长文本可以先写入 JSON 文件，再通过 stdin 传入：\n\n```bash\nzentao story create --productID=1 --data @- < /path/to/story.json\n```\n\n也支持无 `--data` 的 JSON 管道输入。`--data @file.json` 不支持；只有 `@-` 表示 stdin。文件内为有效 JSON 请求体，复杂文本交给 JSON 编码器处理，避免手工拼接 shell 字符串。\n\n`--data` 中同名字段优先于平铺业务字段，不要同时给出互相冲突的值。`--params` 可传路径、查询及请求体参数的对象；一般操作优先用具名路径参数和 `--data`，无需另造包装层。\n\n`bug create` 的 `--product=1` 是 `--productID=1` 的别名。平铺参数同时提供两者时必须指定同一个产品，否则报错；归一化后仍以 `--data` 内的 `productID` 为准。JSON 请求体中使用正式字段 `productID`。\n\n## 更新补全的边界\n\nCLI 对 `type=update` 的操作启用补全：当该模块存在同路径的详情操作，且更新声明了对象请求体时，先读取当前对象，仅补上更新 schema 内尚未传入的字段。用户显式给出的值优先；读取失败则中止写入。\n\n- 不能把 GET 返回的所有字段原样回传，返回属性不一定可写。\n- 没有匹配详情接口的更新不会自动补全，例如项目、版本、发布、待办的更新。按帮助准备必要字段；需要现值时从所属列表或其他受支持的查询获取。\n- `change`、`resolve`、`start`、`finish` 等状态动作不使用更新补全；按各自动作的必填项提交。\n\n## 常用状态操作\n\n```bash\nzentao bug create --productID=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42 --resolution=fixed\nzentao bug close 42\nzentao bug activate 42\nzentao story close 11 --closedReason=done\nzentao task create --executionID=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100 --realStarted=\"<YYYY-MM-DD HH:mm:ss>\"\nzentao task finish 100 --currentConsumed=4 --realStarted=\"<YYYY-MM-DD HH:mm:ss>\" --finishedDate=\"<YYYY-MM-DD HH:mm:ss>\"\n```\n\n解决、完成和关闭需要用户给出的实际结果；不要为了演示流程把现有记录改成已完成。若真实意图只是修改负责人或预估，使用更新，不顺带流转状态。\n\n上传附件可用：\n\n```bash\nzentao file create --file=/path/to/screenshot.png --objectType=bug --objectID=42\n```\n\n上传成功不代表附件已经作为图片嵌入对象正文；根据返回结果核实用户要求的关联和展示方式。\n\n## 删除与批量结果\n\n删除前落实对象 ID 和授权范围；用户已明确授权这一组对象时一次执行，不逐条重复询问。非交互、JSON/raw 或 `--machine-readable` 模式均要求显式 `--yes`；这个参数只跳过 CLI 提示，不扩展用户授权。\n\n```bash\nzentao bug delete 42 --yes\nzentao bug get 42,43 --format=json\nzentao bug update 42,43 --assignedTo=admin --batch-fail-fast --format=json\nzentao bug delete 42,43 --yes --format=json\n```\n\n逗号分隔的数字 ID 会逐个请求；这是同一操作作用于多个对象，不能用来传递文档等操作的多个路径 ID。批量也可使用 `--id=42,43`。\n\nJSON 和 raw 模式的批量结果都包在：\n\n```json\n{\n  \"status\": \"failed\",\n  \"result\": {\n    \"success\": [42],\n    \"failed\": [43],\n    \"skipped\": [44],\n    \"errors\": [{\"objectID\": 43, \"error\": {\"code\": \"2006\", \"message\": \"当前用户没有权限执行此操作\"}}],\n    \"data\": [{\"objectID\": 42, \"value\": {\"id\": 42}}]\n  }\n}\n```\n\n`success` / `failed` / `skipped` 是 ID 数组；非删除请求的返回值在 `data` 的 `{objectID,value}` 项中，删除不含 `data`。默认遇错继续，`--batch-fail-fast` 会把后续对象计入 `skipped`；任一失败令退出码为 1。\n\n分别报告三组结果及原因。对超时等结果不明确的失败项，先查询是否已写入，再决定是否重试；`skipped` 是本轮尚未执行的对象，可在原授权范围内继续处理。不要重跑已经成功的对象，也不要把汇总 `status` 当成全批事务的回滚标记。\n\nFile v0.3.1:skill-card.md\n\n## Description:\n\nZenTao CLI helps agents query and maintain ZenTao products, projects, requirements, tasks, and bugs, including status transitions, progress summaries, installation, configuration, and troubleshooting.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[catouse](https://clawhub.ai/user/catouse)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, 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.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can guide write, delete, bulk update, and status-transition operations that change ZenTao business records.\n\nMitigation: 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.\n\nRisk: Credential exposure or unintended account selection could give the agent access beyond the user's intent.\n\nMitigation: 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.\n\nRisk: CLI help, fields, actions, and minimum server versions can differ from the installed CLI or ZenTao server.\n\nMitigation: 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.\n\nRisk: Partial pages, local filters, or batch partial failures can lead to incomplete summaries or incorrect success claims.\n\nMitigation: 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.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/catouse/skills/zentao-cli)\n- [Publisher profile](https://clawhub.ai/user/catouse)\n- [ZenTao CLI repository](https://github.com/easysoft/zentao-cli.git)\n- [ZenTao official site](https://www.zentao.net/)\n- [Output, filtering, and statistics reference](artifact/references/data-output.md)\n- [Writes, status transitions, and batch operations reference](artifact/references/writes.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and optional JSON command output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include ZenTao CLI commands, status summaries, parsed JSON results, error explanations, and verification steps.]\n\n## Skill Version(s):\n\n0.3.1 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.7: 3 files, 5500 bytes\n\nFiles: skill-card.md (2384b), SKILL.md (9233b), _meta.json (129b)\n\nFile v0.1.7:SKILL.md\n\n---\nname: zentao-cli\ndescription: 通过 zentao 命令行工具查询和操作禅道（ZenTao）数据，覆盖项目集、产品、项目、执行、需求、Bug、任务、测试用例、测试单、产品计划、版本、发布、反馈、工单、应用、用户、附件等模块的增删改查及状态流转。当用户提到禅道、zentao、查询项目进展、获取 Bug 列表、创建任务、更新需求状态等项目管理操作时使用本技能。\nlicense: MIT\nmetadata:\n  author: Sun Hao <sunhao@chandao.com>\n  repository: https://github.com/easysoft/zentao-cli.git\n  keywords: [zentao, 禅道, cli, project-management]\n  version: 0.1.7\n---\n\n# 禅道 CLI\n\n通过 `zentao` 命令行工具查询和操作禅道数据。CLI 自动处理认证、分页，支持工作区上下文和数据过滤/排序。\n\n## 前置准备\n\n### 安装\n\n```bash\nnpm install -g zentao-cli\n# 或 bun install -g zentao-cli\n# 或 pnpm install -g zentao-cli\n# 或免安装运行：npx zentao-cli\n```\n\n如果用户没有安装，引导用户进行全局安装使用，如果系统存在 bun 或 pnpm 则优先使用 bun 或 pnpm 进行全局安装。\n\n### 认证\n\n首次执行任意 `zentao` 命令会自动提示登录。也可显式登录：\n\n```bash\nzentao login -s https://zentao.example.com -u admin -p 123456\n```\n\n环境变量（优先级低于命令行参数）：\n\n| 变量 | 说明 |\n|------|------|\n| `ZENTAO_URL` | 禅道服务地址 |\n| `ZENTAO_ACCOUNT` | 用户账号 |\n| `ZENTAO_PASSWORD` | 密码 |\n| `ZENTAO_TOKEN` | 直接指定 Token（有此变量可省略密码） |\n\n登录成功后凭证缓存在 `~/.config/zentao/zentao.json`，后续无需重复登录。\n\n### 凭证安全\n\n- 用户尚未登录时，不要在对话里收集账号密码。让用户直接在终端执行 `zentao login`，或执行任意 `zentao` 命令触发首次自动登录提示，由用户自行输入凭证。\n- 严禁读取本地凭证：`ZENTAO_PASSWORD` / `ZENTAO_TOKEN` 环境变量、`~/.config/zentao/zentao.json` 配置文件。所有禅道数据均通过 `zentao` 命令获取，凭证由 CLI 内部处理。\n\n## 命令格式\n\n使用简写方式（推荐）：\n\n| 操作 | 命令 |\n|------|------|\n| 列表 | `zentao <module>` |\n| 详情 | `zentao <module> <id>` |\n| 创建 | `zentao <module> create --field=value` |\n| 更新 | `zentao <module> update <id> --field=value` |\n| 删除 | `zentao <module> delete <id>` |\n| 动作 | `zentao <module> <action> <id>` |\n| 帮助 | `zentao <module> help` |\n\n也支持 `--data='JSON'` 传入 JSON 数据。\n\n## 模块与操作速查\n\n| 模块名 | 中文 | 支持的操作 |\n|--------|------|-----------|\n| program | 项目集 | CRUD |\n| product | 产品 | CRUD |\n| project | 项目 | CRUD |\n| execution | 执行/迭代 | CRUD |\n| story | 需求 | CRUD + activate / change / close |\n| epic | 业务需求 | CRUD + activate / change / close |\n| requirement | 用户需求 | CRUD + activate / change / close |\n| bug | Bug | CRUD + activate / close / resolve |\n| task | 任务 | CRUD + activate / close / finish / start |\n| testcase | 测试用例 | CRUD |\n| testtask | 测试单 | CUD（按产品/项目/执行查列表） |\n| productplan | 产品计划 | CUD（按产品查列表） |\n| build | 版本 | CUD（按项目/执行查列表） |\n| release | 发布 | CUD（按产品查列表） |\n| feedback | 反馈 | CRUD + activate / close |\n| ticket | 工单 | CRUD + activate / close |\n| system | 应用 | CU（按产品查列表） |\n| user | 用户 | CRUD |\n| file | 附件 | 编辑名称 + 删除 |\n\n> CRUD = 列表 + 详情 + 创建 + 更新 + 删除；CUD = 无独立列表接口，需指定所属范围\n\n### 列表范围参数\n\n部分模块的列表需要指定所属范围：\n\n```bash\nzentao story --product=1                # 产品 #1 的需求\nzentao bug --product=1                  # 产品 #1 的 Bug\nzentao task --execution=1               # 执行 #1 的任务\nzentao execution --project=5            # 项目 #5 的执行\nzentao build --project=5                # 项目 #5 的版本\nzentao testtask --product=1             # 产品 #1 的测试单\nzentao release --product=1              # 产品 #1 的发布\nzentao productplan --product=1          # 产品 #1 的计划\nzentao feedback --product=1             # 产品 #1 的反馈\nzentao ticket --product=1               # 产品 #1 的工单\n```\n\n设置工作区后可省略这些参数（见下方工作区章节）。\n\n## AI 使用策略\n\n### 输出格式\n\n- 展示给用户：不加 `--format` 参数，默认输出 Markdown 表格（列表）或列表（单个对象）\n- 需要程序化处理：加 `--format=json`，返回结构化 JSON\n\n### 交互确认\n\nAI 场景下执行删除操作时加 `--yes` 跳过确认提示：\n\n```bash\nzentao bug delete 1 --yes\n```\n\n### 不知道 ID 时\n\n先查列表获取 ID，再操作具体对象：\n\n```bash\nzentao product --pick=id,name           # 查看产品列表\nzentao bug --product=1 --pick=id,title  # 查看 Bug 列表\nzentao bug 42                           # 查看具体 Bug\n```\n\n### 写操作前确认\n\n执行创建、更新、删除等写操作前，先向用户确认操作内容。用户明确要求不确认时可跳过。\n\n### 更新操作自动补全\n\n执行 `update` 时，CLI 会先 GET 当前对象，把用户未显式传入的字段用现值填充后再 PUT，避免禅道 PUT 覆盖未提交字段导致清空。因此只需传想改的字段即可，无需手动先查再传完整参数。\n\n## 数据处理\n\n### 摘取字段\n\n```bash\nzentao product --pick=id,name,status\n```\n\n### 过滤\n\n```bash\nzentao bug --product=1 --filter='status:active'\nzentao bug --product=1 --filter='severity<=2,pri<=2'    # AND\nzentao bug --product=1 --filter='status:active' --filter='status:resolved'  # OR\n```\n\n支持的运算符：`:` 等于、`!=` 不等于、`>` `<` `>=` `<=`、`~` 包含、`!~` 不包含。\n\n### 模糊搜索\n\n```bash\nzentao bug --product=1 --search=登录 --search-fields=title,steps\n```\n\n### 排序\n\n```bash\nzentao bug --product=1 --sort=pri_asc,severity_asc\n```\n\n### 分页\n\n```bash\nzentao bug --product=1 --page=1 --recPerPage=50\nzentao bug --product=1 --all            # 获取全部\nzentao bug --product=1 --limit=10       # 只取前 10 条\n```\n\n## 常用操作示例\n\n### 查看进行中的项目和执行\n\n```bash\nzentao project --filter='status:doing' --pick=id,name,status\nzentao execution --project=5 --pick=id,name,status\n```\n\n### 创建需求并关联计划\n\n```bash\nzentao story create --product=1 --title=\"需求标题\" --assignedTo=admin --pri=3\nzentao story update 11 --title=\"需求标题\" --plan=1\n```\n\n### 创建并解决 Bug\n\n```bash\nzentao bug create --product=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42\n```\n\n### 创建、启动并完成任务\n\n```bash\nzentao task create --execution=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100\nzentao task finish 100 --consumed=4\n```\n\n### 查看帮助\n\n```bash\nzentao bug help          # 查看 Bug 模块的参数和操作\nzentao story update help # 查看需求更新操作的参数和操作\nzentao help              # 查看所有命令\n```\n\n## 意图识别\n\n| 用户意图 | CLI 命令 |\n|---------|---------|\n| 所有产品/项目/项目集 | `zentao product` / `zentao project` / `zentao program` |\n| 进行中的项目 | `zentao project --filter='status:doing'` |\n| 某产品的 Bug | `zentao bug --product=<id>` |\n| 某执行的任务 | `zentao task --execution=<id>` |\n| 创建/新增 Bug | `zentao bug create ...` |\n| 解决 Bug | `zentao bug resolve <id>` |\n| 关闭 Bug | `zentao bug close <id>` |\n| 激活 Bug | `zentao bug activate <id>` |\n| 创建需求 | `zentao story create ...` |\n| 变更/关闭/激活需求 | `zentao story change/close/activate <id>` |\n| 业务需求 | `zentao epic ...`（同 story） |\n| 用户需求 | `zentao requirement ...`（同 story） |\n| 创建/启动/完成/关闭任务 | `zentao task create/start/finish/close ...` |\n| 测试用例 | `zentao testcase ...` |\n| 测试单 | `zentao testtask ...` |\n| 产品计划 | `zentao productplan ...` |\n| 版本/Build | `zentao build ...` |\n| 发布 | `zentao release ...` |\n| 反馈 | `zentao feedback ...` |\n| 工单 | `zentao ticket ...` |\n| 用户列表 | `zentao user` |\n| 当前用户信息 | `zentao profile` |\n\n## 错误处理\n\n| 错误码 | 含义 | 处理方式 |\n|--------|------|---------|\n| E1001 | 未登录/凭证缺失 | 执行 `zentao login` |\n| E1004 | Token 失效 | 执行 `zentao login` 重新登录 |\n| E2001 | 模块不存在 | 执行 `zentao help` 查看可用模块 |\n| E2002 | 对象不存在 | 检查 ID 是否正确 |\n| E2003 | 缺少必要参数 | 执行 `zentao <module> help` 或 `zentao <module> <action> help` 查看操作参数 |\n| E2006 | 无权限 | 提示用户检查权限 |\n| E5001 | 请求超时 | 检查网络或禅道服务状态 |\n\n## 注意事项\n\n- 不确定模块参数时，先执行 `zentao <module> help` 查看帮助，不确定操作参数时，先执行 `zentao <module> <action> help` 查看帮助\n- `browseType` 常用值：`all`（全部）、`doing`（进行中）、`closed`（已关闭）\n- 多账号切换：`zentao profile` 查看和切换账号\n\nFile v0.1.7:_meta.json\n\n{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.1.7\",\n  \"publishedAt\": 1779702668549\n}\n\nFile v0.1.7:skill-card.md\n\n## Description:\n\n通过 zentao CLI 查询和操作禅道（ZenTao）项目管理数据，包括项目、需求、Bug、任务、测试和用户等模块。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[catouse](https://clawhub.ai/user/catouse)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, project managers, and QA engineers use this skill to ask an agent for ZenTao CLI commands and summaries that inspect or update project-management records. It supports read workflows and confirmed write workflows for ZenTao projects, requirements, bugs, tasks, tests, users, and related modules.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Mutable or unpinned package installation can execute code outside the reviewed release.\n\nMitigation: Install a trusted, version-pinned zentao-cli package matching the reviewed release and avoid unversioned npx execution.\n\nRisk: Password arguments for authenticated ZenTao commands can expose credentials through shell history, process listings, or logs.\n\nMitigation: Use interactive login or a securely managed token flow, and do not collect or place real passwords in agent-visible command arguments.\n\nRisk: Create, update, delete, and status-change commands can mutate ZenTao business records.\n\nMitigation: Confirm the intended ZenTao server, account, object IDs, and payload before write actions, and prefer read/list commands first when IDs are uncertain.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/catouse/skills/zentao-cli)\n- [zentao-cli repository](https://github.com/easysoft/zentao-cli.git)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and optional JSON-oriented command guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May propose ZenTao CLI commands that read or mutate authenticated business data; write actions should be confirmed before execution.]\n\n## Skill Version(s):\n\n0.1.7 (source: server release evidence and SKILL.md metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.6: 2 files, 3939 bytes\n\nFiles: SKILL.md (8957b), _meta.json (129b)\n\nFile v0.1.6:SKILL.md\n\n---\nname: zentao-cli\ndescription: 通过 zentao 命令行工具查询和操作禅道（ZenTao）数据，覆盖项目集、产品、项目、执行、需求、Bug、任务、测试用例、测试单、产品计划、版本、发布、反馈、工单、应用、用户、附件等模块的增删改查及状态流转。当用户提到禅道、zentao、查询项目进展、获取 Bug 列表、创建任务、更新需求状态等项目管理操作时使用本技能。\nlicense: MIT\nmetadata:\n  author: Sun Hao <sunhao@chandao.com>\n  repository: https://github.com/easysoft/zentao-cli.git\n  keywords: [zentao, 禅道, cli, project-management]\n  version: 0.1.6\n---\n\n# 禅道 CLI\n\n通过 `zentao` 命令行工具查询和操作禅道数据。CLI 自动处理认证、分页，支持工作区上下文和数据过滤/排序。\n\n## 前置准备\n\n### 安装\n\n```bash\nnpm install -g zentao-cli\n# 或 bun install -g zentao-cli\n# 或 pnpm install -g zentao-cli\n# 或免安装运行：npx zentao-cli\n```\n\n如果用户没有安装，引导用户进行全局安装使用，如果系统存在 bun 或 pnpm 则优先使用 bun 或 pnpm 进行全局安装。\n\n### 认证\n\n首次执行任意 `zentao` 命令会自动提示登录。也可显式登录：\n\n```bash\nzentao login -s https://zentao.example.com -u admin -p 123456\n```\n\n环境变量（优先级低于命令行参数）：\n\n| 变量 | 说明 |\n|------|------|\n| `ZENTAO_URL` | 禅道服务地址 |\n| `ZENTAO_ACCOUNT` | 用户账号 |\n| `ZENTAO_PASSWORD` | 密码 |\n| `ZENTAO_TOKEN` | 直接指定 Token（有此变量可省略密码） |\n\n登录成功后凭证缓存在 `~/.config/zentao/zentao.json`，后续无需重复登录。\n\n### 凭证安全\n\n- 用户尚未登录时，不要在对话里收集账号密码。让用户直接在终端执行 `zentao login`，或执行任意 `zentao` 命令触发首次自动登录提示，由用户自行输入凭证。\n- 严禁读取本地凭证：`ZENTAO_PASSWORD` / `ZENTAO_TOKEN` 环境变量、`~/.config/zentao/zentao.json` 配置文件。所有禅道数据均通过 `zentao` 命令获取，凭证由 CLI 内部处理。\n\n## 命令格式\n\n使用简写方式（推荐）：\n\n| 操作 | 命令 |\n|------|------|\n| 列表 | `zentao <module>` |\n| 详情 | `zentao <module> <id>` |\n| 创建 | `zentao <module> create --field=value` |\n| 更新 | `zentao <module> update <id> --field=value` |\n| 删除 | `zentao <module> delete <id>` |\n| 动作 | `zentao <module> <action> <id>` |\n| 帮助 | `zentao <module> help` |\n\n也支持 `--data='JSON'` 传入 JSON 数据。\n\n## 模块与操作速查\n\n| 模块名 | 中文 | 支持的操作 |\n|--------|------|-----------|\n| program | 项目集 | CRUD |\n| product | 产品 | CRUD |\n| project | 项目 | CRUD |\n| execution | 执行/迭代 | CRUD |\n| story | 需求 | CRUD + activate / change / close |\n| epic | 业务需求 | CRUD + activate / change / close |\n| requirement | 用户需求 | CRUD + activate / change / close |\n| bug | Bug | CRUD + activate / close / resolve |\n| task | 任务 | CRUD + activate / close / finish / start |\n| testcase | 测试用例 | CRUD |\n| testtask | 测试单 | CUD（按产品/项目/执行查列表） |\n| productplan | 产品计划 | CUD（按产品查列表） |\n| build | 版本 | CUD（按项目/执行查列表） |\n| release | 发布 | CUD（按产品查列表） |\n| feedback | 反馈 | CRUD + activate / close |\n| ticket | 工单 | CRUD + activate / close |\n| system | 应用 | CU（按产品查列表） |\n| user | 用户 | CRUD |\n| file | 附件 | 编辑名称 + 删除 |\n\n> CRUD = 列表 + 详情 + 创建 + 更新 + 删除；CUD = 无独立列表接口，需指定所属范围\n\n### 列表范围参数\n\n部分模块的列表需要指定所属范围：\n\n```bash\nzentao story --product=1                # 产品 #1 的需求\nzentao bug --product=1                  # 产品 #1 的 Bug\nzentao task --execution=1               # 执行 #1 的任务\nzentao execution --project=5            # 项目 #5 的执行\nzentao build --project=5                # 项目 #5 的版本\nzentao testtask --product=1             # 产品 #1 的测试单\nzentao release --product=1              # 产品 #1 的发布\nzentao productplan --product=1          # 产品 #1 的计划\nzentao feedback --product=1             # 产品 #1 的反馈\nzentao ticket --product=1               # 产品 #1 的工单\n```\n\n设置工作区后可省略这些参数（见下方工作区章节）。\n\n## AI 使用策略\n\n### 输出格式\n\n- 展示给用户：不加 `--format` 参数，默认输出 Markdown 表格（列表）或列表（单个对象）\n- 需要程序化处理：加 `--format=json`，返回结构化 JSON\n\n### 交互确认\n\nAI 场景下执行删除操作时加 `--yes` 跳过确认提示：\n\n```bash\nzentao bug delete 1 --yes\n```\n\n### 不知道 ID 时\n\n先查列表获取 ID，再操作具体对象：\n\n```bash\nzentao product --pick=id,name           # 查看产品列表\nzentao bug --product=1 --pick=id,title  # 查看 Bug 列表\nzentao bug 42                           # 查看具体 Bug\n```\n\n### 写操作前确认\n\n执行创建、更新、删除等写操作前，先向用户确认操作内容。用户明确要求不确认时可跳过。\n\n## 数据处理\n\n### 摘取字段\n\n```bash\nzentao product --pick=id,name,status\n```\n\n### 过滤\n\n```bash\nzentao bug --product=1 --filter='status:active'\nzentao bug --product=1 --filter='severity<=2,pri<=2'    # AND\nzentao bug --product=1 --filter='status:active' --filter='status:resolved'  # OR\n```\n\n支持的运算符：`:` 等于、`!=` 不等于、`>` `<` `>=` `<=`、`~` 包含、`!~` 不包含。\n\n### 模糊搜索\n\n```bash\nzentao bug --product=1 --search=登录 --search-fields=title,steps\n```\n\n### 排序\n\n```bash\nzentao bug --product=1 --sort=pri_asc,severity_asc\n```\n\n### 分页\n\n```bash\nzentao bug --product=1 --page=1 --recPerPage=50\nzentao bug --product=1 --all            # 获取全部\nzentao bug --product=1 --limit=10       # 只取前 10 条\n```\n\n## 常用操作示例\n\n### 查看进行中的项目和执行\n\n```bash\nzentao project --filter='status:doing' --pick=id,name,status\nzentao execution --project=5 --pick=id,name,status\n```\n\n### 创建需求并关联计划\n\n```bash\nzentao story create --product=1 --title=\"需求标题\" --assignedTo=admin --pri=3\nzentao story update 11 --title=\"需求标题\" --plan=1\n```\n\n### 创建并解决 Bug\n\n```bash\nzentao bug create --product=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42\n```\n\n### 创建、启动并完成任务\n\n```bash\nzentao task create --execution=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100\nzentao task finish 100 --consumed=4\n```\n\n### 查看帮助\n\n```bash\nzentao bug help          # 查看 Bug 模块的参数和操作\nzentao story update help # 查看需求更新操作的参数和操作\nzentao help              # 查看所有命令\n```\n\n## 意图识别\n\n| 用户意图 | CLI 命令 |\n|---------|---------|\n| 所有产品/项目/项目集 | `zentao product` / `zentao project` / `zentao program` |\n| 进行中的项目 | `zentao project --filter='status:doing'` |\n| 某产品的 Bug | `zentao bug --product=<id>` |\n| 某执行的任务 | `zentao task --execution=<id>` |\n| 创建/新增 Bug | `zentao bug create ...` |\n| 解决 Bug | `zentao bug resolve <id>` |\n| 关闭 Bug | `zentao bug close <id>` |\n| 激活 Bug | `zentao bug activate <id>` |\n| 创建需求 | `zentao story create ...` |\n| 变更/关闭/激活需求 | `zentao story change/close/activate <id>` |\n| 业务需求 | `zentao epic ...`（同 story） |\n| 用户需求 | `zentao requirement ...`（同 story） |\n| 创建/启动/完成/关闭任务 | `zentao task create/start/finish/close ...` |\n| 测试用例 | `zentao testcase ...` |\n| 测试单 | `zentao testtask ...` |\n| 产品计划 | `zentao productplan ...` |\n| 版本/Build | `zentao build ...` |\n| 发布 | `zentao release ...` |\n| 反馈 | `zentao feedback ...` |\n| 工单 | `zentao ticket ...` |\n| 用户列表 | `zentao user` |\n| 当前用户信息 | `zentao profile` |\n\n## 错误处理\n\n| 错误码 | 含义 | 处理方式 |\n|--------|------|---------|\n| E1001 | 未登录/凭证缺失 | 执行 `zentao login` |\n| E1004 | Token 失效 | 执行 `zentao login` 重新登录 |\n| E2001 | 模块不存在 | 执行 `zentao help` 查看可用模块 |\n| E2002 | 对象不存在 | 检查 ID 是否正确 |\n| E2003 | 缺少必要参数 | 执行 `zentao <module> help` 或 `zentao <module> <action> help` 查看操作参数 |\n| E2006 | 无权限 | 提示用户检查权限 |\n| E5001 | 请求超时 | 检查网络或禅道服务状态 |\n\n## 注意事项\n\n- 不确定模块参数时，先执行 `zentao <module> help` 查看帮助，不确定操作参数时，先执行 `zentao <module> <action> help` 查看帮助\n- `browseType` 常用值：`all`（全部）、`doing`（进行中）、`closed`（已关闭）\n- 多账号切换：`zentao profile` 查看和切换账号\n\nFile v0.1.6:_meta.json\n\n{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.1.6\",\n  \"publishedAt\": 1779098135924\n}\n\nArchive v0.1.3: 2 files, 3765 bytes\n\nFiles: SKILL.md (8523b), _meta.json (129b)\n\nFile v0.1.3:SKILL.md\n\n---\nname: zentao-cli\ndescription: 通过 zentao 命令行工具查询和操作禅道（ZenTao）数据，覆盖项目集、产品、项目、执行、需求、Bug、任务、测试用例、测试单、产品计划、版本、发布、反馈、工单、应用、用户、附件等模块的增删改查及状态流转。当用户提到禅道、zentao、查询项目进展、获取 Bug 列表、创建任务、更新需求状态等项目管理操作时使用本技能。\nlicense: MIT\nmetadata:\n  author: Sun Hao <sunhao@chandao.com>\n  repository: https://github.com/easysoft/zentao-cli.git\n  keywords: [zentao, 禅道, cli, project-management]\n  version: 0.1.4\n---\n\n# 禅道 CLI\n\n通过 `zentao` 命令行工具查询和操作禅道数据。CLI 自动处理认证、分页，支持工作区上下文和数据过滤/排序。\n\n## 前置准备\n\n### 安装\n\n```bash\nnpm install -g zentao-cli\n# 或 bun install -g zentao-cli\n# 或 pnpm install -g zentao-cli\n# 或免安装运行：npx zentao-cli\n```\n\n如果用户没有安装，引导用户进行全局安装使用，如果系统存在 bun 或 pnpm 则优先使用 bun 或 pnpm 进行全局安装。\n\n### 认证\n\n首次执行任意 `zentao` 命令会自动提示登录。也可显式登录：\n\n```bash\nzentao login -s https://zentao.example.com -u admin -p 123456\n```\n\n环境变量（优先级低于命令行参数）：\n\n| 变量 | 说明 |\n|------|------|\n| `ZENTAO_URL` | 禅道服务地址 |\n| `ZENTAO_ACCOUNT` | 用户账号 |\n| `ZENTAO_PASSWORD` | 密码 |\n| `ZENTAO_TOKEN` | 直接指定 Token（有此变量可省略密码） |\n\n登录成功后凭证缓存在 `~/.config/zentao/zentao.json`，后续无需重复登录。\n\n## 命令格式\n\n使用简写方式（推荐）：\n\n| 操作 | 命令 |\n|------|------|\n| 列表 | `zentao <module>` |\n| 详情 | `zentao <module> <id>` |\n| 创建 | `zentao <module> create --field=value` |\n| 更新 | `zentao <module> update <id> --field=value` |\n| 删除 | `zentao <module> delete <id>` |\n| 动作 | `zentao <module> <action> <id>` |\n| 帮助 | `zentao <module> help` |\n\n也支持 `--data='JSON'` 传入 JSON 数据。\n\n## 模块与操作速查\n\n| 模块名 | 中文 | 支持的操作 |\n|--------|------|-----------|\n| program | 项目集 | CRUD |\n| product | 产品 | CRUD |\n| project | 项目 | CRUD |\n| execution | 执行/迭代 | CRUD |\n| story | 需求 | CRUD + activate / change / close |\n| epic | 业务需求 | CRUD + activate / change / close |\n| requirement | 用户需求 | CRUD + activate / change / close |\n| bug | Bug | CRUD + activate / close / resolve |\n| task | 任务 | CRUD + activate / close / finish / start |\n| testcase | 测试用例 | CRUD |\n| testtask | 测试单 | CUD（按产品/项目/执行查列表） |\n| productplan | 产品计划 | CUD（按产品查列表） |\n| build | 版本 | CUD（按项目/执行查列表） |\n| release | 发布 | CUD（按产品查列表） |\n| feedback | 反馈 | CRUD + activate / close |\n| ticket | 工单 | CRUD + activate / close |\n| system | 应用 | CU（按产品查列表） |\n| user | 用户 | CRUD |\n| file | 附件 | 编辑名称 + 删除 |\n\n> CRUD = 列表 + 详情 + 创建 + 更新 + 删除；CUD = 无独立列表接口，需指定所属范围\n\n### 列表范围参数\n\n部分模块的列表需要指定所属范围：\n\n```bash\nzentao story --product=1                # 产品 #1 的需求\nzentao bug --product=1                  # 产品 #1 的 Bug\nzentao task --execution=1               # 执行 #1 的任务\nzentao execution --project=5            # 项目 #5 的执行\nzentao build --project=5                # 项目 #5 的版本\nzentao testtask --product=1             # 产品 #1 的测试单\nzentao release --product=1              # 产品 #1 的发布\nzentao productplan --product=1          # 产品 #1 的计划\nzentao feedback --product=1             # 产品 #1 的反馈\nzentao ticket --product=1               # 产品 #1 的工单\n```\n\n设置工作区后可省略这些参数（见下方工作区章节）。\n\n## AI 使用策略\n\n### 输出格式\n\n- 展示给用户：不加 `--format` 参数，默认输出 Markdown 表格（列表）或列表（单个对象）\n- 需要程序化处理：加 `--format=json`，返回结构化 JSON\n\n### 交互确认\n\nAI 场景下执行删除操作时加 `--yes` 跳过确认提示：\n\n```bash\nzentao bug delete 1 --yes\n```\n\n### 不知道 ID 时\n\n先查列表获取 ID，再操作具体对象：\n\n```bash\nzentao product --pick=id,name           # 查看产品列表\nzentao bug --product=1 --pick=id,title  # 查看 Bug 列表\nzentao bug 42                           # 查看具体 Bug\n```\n\n### 写操作前确认\n\n执行创建、更新、删除等写操作前，先向用户确认操作内容。用户明确要求不确认时可跳过。\n\n## 数据处理\n\n### 摘取字段\n\n```bash\nzentao product --pick=id,name,status\n```\n\n### 过滤\n\n```bash\nzentao bug --product=1 --filter='status:active'\nzentao bug --product=1 --filter='severity<=2,pri<=2'    # AND\nzentao bug --product=1 --filter='status:active' --filter='status:resolved'  # OR\n```\n\n支持的运算符：`:` 等于、`!=` 不等于、`>` `<` `>=` `<=`、`~` 包含、`!~` 不包含。\n\n### 模糊搜索\n\n```bash\nzentao bug --product=1 --search=登录 --search-fields=title,steps\n```\n\n### 排序\n\n```bash\nzentao bug --product=1 --sort=pri_asc,severity_asc\n```\n\n### 分页\n\n```bash\nzentao bug --product=1 --page=1 --recPerPage=50\nzentao bug --product=1 --all            # 获取全部\nzentao bug --product=1 --limit=10       # 只取前 10 条\n```\n\n## 常用操作示例\n\n### 查看进行中的项目和执行\n\n```bash\nzentao project --filter='status:doing' --pick=id,name,status\nzentao execution --project=5 --pick=id,name,status\n```\n\n### 创建需求并关联计划\n\n```bash\nzentao story create --product=1 --title=\"需求标题\" --assignedTo=admin --pri=3\nzentao story update 11 --title=\"需求标题\" --plan=1\n```\n\n### 创建并解决 Bug\n\n```bash\nzentao bug create --product=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42\n```\n\n### 创建、启动并完成任务\n\n```bash\nzentao task create --execution=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100\nzentao task finish 100 --consumed=4\n```\n\n### 查看帮助\n\n```bash\nzentao bug help          # 查看 Bug 模块的参数和操作\nzentao story update help # 查看需求更新操作的参数和操作\nzentao help              # 查看所有命令\n```\n\n## 意图识别\n\n| 用户意图 | CLI 命令 |\n|---------|---------|\n| 所有产品/项目/项目集 | `zentao product` / `zentao project` / `zentao program` |\n| 进行中的项目 | `zentao project --filter='status:doing'` |\n| 某产品的 Bug | `zentao bug --product=<id>` |\n| 某执行的任务 | `zentao task --execution=<id>` |\n| 创建/新增 Bug | `zentao bug create ...` |\n| 解决 Bug | `zentao bug resolve <id>` |\n| 关闭 Bug | `zentao bug close <id>` |\n| 激活 Bug | `zentao bug activate <id>` |\n| 创建需求 | `zentao story create ...` |\n| 变更/关闭/激活需求 | `zentao story change/close/activate <id>` |\n| 业务需求 | `zentao epic ...`（同 story） |\n| 用户需求 | `zentao requirement ...`（同 story） |\n| 创建/启动/完成/关闭任务 | `zentao task create/start/finish/close ...` |\n| 测试用例 | `zentao testcase ...` |\n| 测试单 | `zentao testtask ...` |\n| 产品计划 | `zentao productplan ...` |\n| 版本/Build | `zentao build ...` |\n| 发布 | `zentao release ...` |\n| 反馈 | `zentao feedback ...` |\n| 工单 | `zentao ticket ...` |\n| 用户列表 | `zentao user` |\n| 当前用户信息 | `zentao profile` |\n\n## 错误处理\n\n| 错误码 | 含义 | 处理方式 |\n|--------|------|---------|\n| E1001 | 未登录/凭证缺失 | 执行 `zentao login` |\n| E1004 | Token 失效 | 执行 `zentao login` 重新登录 |\n| E2001 | 模块不存在 | 执行 `zentao help` 查看可用模块 |\n| E2002 | 对象不存在 | 检查 ID 是否正确 |\n| E2003 | 缺少必要参数 | 执行 `zentao <module> help` 或 `zentao <module> <action> help` 查看操作参数 |\n| E2006 | 无权限 | 提示用户检查权限 |\n| E5001 | 请求超时 | 检查网络或禅道服务状态 |\n\n## 注意事项\n\n- 不确定模块参数时，先执行 `zentao <module> help` 查看帮助，不确定操作参数时，先执行 `zentao <module> <action> help` 查看帮助\n- `browseType` 常用值：`all`（全部）、`doing`（进行中）、`closed`（已关闭）\n- 多账号切换：`zentao profile` 查看和切换账号\n\nFile v0.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.1.3\",\n  \"publishedAt\": 1777359676534\n}\n\nArchive v0.1.2: 2 files, 3775 bytes\n\nFiles: SKILL.md (8447b), _meta.json (129b)\n\nFile v0.1.2:SKILL.md\n\n---\nname: zentao-cli\ndescription: 通过 zentao 命令行工具查询和操作禅道（ZenTao）数据，覆盖项目集、产品、项目、执行、需求、Bug、任务、测试用例、测试单、产品计划、版本、发布、反馈、工单、应用、用户、附件等模块的增删改查及状态流转。当用户提到禅道、zentao、查询项目进展、获取 Bug 列表、创建任务、更新需求状态等项目管理操作时使用本技能。\nlicense: MIT\nmetadata:\n  author: Sun Hao <sunhao@chandao.com>\n  repository: https://github.com/easysoft/zentao-cli.git\n  keywords: [zentao, 禅道, cli, project-management]\n  version: 0.1.2\n---\n\n# 禅道 CLI\n\n通过 `zentao` 命令行工具查询和操作禅道数据。CLI 自动处理认证、分页，支持工作区上下文和数据过滤/排序。\n\n## 前置准备\n\n### 安装\n\n```bash\nnpm install -g zentao-cli\n# 或 bun install -g zentao-cli\n# 或 pnpm install -g zentao-cli\n# 或免安装运行：npx zentao-cli\n```\n\n如果用户没有安装，引导用户进行全局安装使用，如果系统存在 bun 或 pnpm 则优先使用 bun 或 pnpm 进行全局安装。\n\n### 认证\n\n首次执行任意 `zentao` 命令会自动提示登录。也可显式登录：\n\n```bash\nzentao login -s https://zentao.example.com -u admin -p 123456\n```\n\n环境变量（优先级低于命令行参数）：\n\n| 变量 | 说明 |\n|------|------|\n| `ZENTAO_URL` | 禅道服务地址 |\n| `ZENTAO_ACCOUNT` | 用户账号 |\n| `ZENTAO_PASSWORD` | 密码 |\n| `ZENTAO_TOKEN` | 直接指定 Token（有此变量可省略密码） |\n\n登录成功后凭证缓存在 `~/.config/zentao/zentao.json`，后续无需重复登录。\n\n## 命令格式\n\n使用简写方式（推荐）：\n\n| 操作 | 命令 |\n|------|------|\n| 列表 | `zentao <module>` |\n| 详情 | `zentao <module> <id>` |\n| 创建 | `zentao <module> create --field=value` |\n| 更新 | `zentao <module> update <id> --field=value` |\n| 删除 | `zentao <module> delete <id>` |\n| 动作 | `zentao <module> <action> <id>` |\n| 帮助 | `zentao <module> help` |\n\n也支持 `--data='JSON'` 传入 JSON 数据。\n\n## 模块与操作速查\n\n| 模块名 | 中文 | 支持的操作 |\n|--------|------|-----------|\n| program | 项目集 | CRUD |\n| product | 产品 | CRUD |\n| project | 项目 | CRUD |\n| execution | 执行/迭代 | CRUD |\n| story | 需求 | CRUD + activate / change / close |\n| epic | 业务需求 | CRUD + activate / change / close |\n| requirement | 用户需求 | CRUD + activate / change / close |\n| bug | Bug | CRUD + activate / close / resolve |\n| task | 任务 | CRUD + activate / close / finish / start |\n| testcase | 测试用例 | CRUD |\n| testtask | 测试单 | CUD（按产品/项目/执行查列表） |\n| productplan | 产品计划 | CUD（按产品查列表） |\n| build | 版本 | CUD（按项目/执行查列表） |\n| release | 发布 | CUD（按产品查列表） |\n| feedback | 反馈 | CRUD + activate / close |\n| ticket | 工单 | CRUD + activate / close |\n| system | 应用 | CU（按产品查列表） |\n| user | 用户 | CRUD |\n| file | 附件 | 编辑名称 + 删除 |\n\n> CRUD = 列表 + 详情 + 创建 + 更新 + 删除；CUD = 无独立列表接口，需指定所属范围\n\n### 列表范围参数\n\n部分模块的列表需要指定所属范围：\n\n```bash\nzentao story --product=1                # 产品 #1 的需求\nzentao bug --product=1                  # 产品 #1 的 Bug\nzentao task --execution=1               # 执行 #1 的任务\nzentao execution --project=5            # 项目 #5 的执行\nzentao build --project=5                # 项目 #5 的版本\nzentao testtask --product=1             # 产品 #1 的测试单\nzentao release --product=1              # 产品 #1 的发布\nzentao productplan --product=1          # 产品 #1 的计划\nzentao feedback --product=1             # 产品 #1 的反馈\nzentao ticket --product=1               # 产品 #1 的工单\n```\n\n设置工作区后可省略这些参数（见下方工作区章节）。\n\n## AI 使用策略\n\n### 输出格式\n\n- 展示给用户：不加 `--format` 参数，默认输出 Markdown 表格（列表）或列表（单个对象）\n- 需要程序化处理：加 `--format=json`，返回结构化 JSON\n\n### 交互确认\n\nAI 场景下执行删除操作时加 `--yes` 跳过确认提示：\n\n```bash\nzentao bug delete 1 --yes\n```\n\n### 不知道 ID 时\n\n先查列表获取 ID，再操作具体对象：\n\n```bash\nzentao product --pick=id,name           # 查看产品列表\nzentao bug --product=1 --pick=id,title  # 查看 Bug 列表\nzentao bug 42                           # 查看具体 Bug\n```\n\n### 写操作前确认\n\n执行创建、更新、删除等写操作前，先向用户确认操作内容。用户明确要求不确认时可跳过。\n\n## 数据处理\n\n### 摘取字段\n\n```bash\nzentao product --pick=id,name,status\n```\n\n### 过滤\n\n```bash\nzentao bug --product=1 --filter='status:active'\nzentao bug --product=1 --filter='severity<=2,pri<=2'    # AND\nzentao bug --product=1 --filter='status:active' --filter='status:resolved'  # OR\n```\n\n支持的运算符：`:` 等于、`!=` 不等于、`>` `<` `>=` `<=`、`~` 包含、`!~` 不包含。\n\n### 模糊搜索\n\n```bash\nzentao bug --product=1 --search=登录 --search-fields=title,steps\n```\n\n### 排序\n\n```bash\nzentao bug --product=1 --sort=pri_asc,severity_asc\n```\n\n### 分页\n\n```bash\nzentao bug --product=1 --page=1 --recPerPage=50\nzentao bug --product=1 --all            # 获取全部\nzentao bug --product=1 --limit=10       # 只取前 10 条\n```\n\n## 常用操作示例\n\n### 查看进行中的项目和执行\n\n```bash\nzentao project --filter='status:doing' --pick=id,name,status\nzentao execution --project=5 --pick=id,name,status\n```\n\n### 创建需求并关联计划\n\n```bash\nzentao story create --product=1 --title=\"需求标题\" --assignedTo=admin --pri=3\nzentao story update 11 --title=\"需求标题\" --plan=1\n```\n\n### 创建并解决 Bug\n\n```bash\nzentao bug create --product=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42\n```\n\n### 创建、启动并完成任务\n\n```bash\nzentao task create --execution=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100\nzentao task finish 100 --consumed=4\n```\n\n### 查看帮助\n\n```bash\nzentao bug help          # 查看 Bug 模块的参数和操作\nzentao story update help # 查看需求更新操作的参数和操作\nzentao help              # 查看所有命令\n```\n\n## 意图识别\n\n| 用户意图 | CLI 命令 |\n|---------|---------|\n| 所有产品/项目/项目集 | `zentao product` / `zentao project` / `zentao program` |\n| 进行中的项目 | `zentao project --filter='status:doing'` |\n| 某产品的 Bug | `zentao bug --product=<id>` |\n| 某执行的任务 | `zentao task --execution=<id>` |\n| 创建/新增 Bug | `zentao bug create ...` |\n| 解决 Bug | `zentao bug resolve <id>` |\n| 关闭 Bug | `zentao bug close <id>` |\n| 激活 Bug | `zentao bug activate <id>` |\n| 创建需求 | `zentao story create ...` |\n| 变更/关闭/激活需求 | `zentao story change/close/activate <id>` |\n| 业务需求 | `zentao epic ...`（同 story） |\n| 用户需求 | `zentao requirement ...`（同 story） |\n| 创建/启动/完成/关闭任务 | `zentao task create/start/finish/close ...` |\n| 测试用例 | `zentao testcase ...` |\n| 测试单 | `zentao testtask ...` |\n| 产品计划 | `zentao productplan ...` |\n| 版本/Build | `zentao build ...` |\n| 发布 | `zentao release ...` |\n| 反馈 | `zentao feedback ...` |\n| 工单 | `zentao ticket ...` |\n| 用户列表 | `zentao user` |\n| 当前用户信息 | `zentao profile` |\n\n## 错误处理\n\n| 错误码 | 含义 | 处理方式 |\n|--------|------|---------|\n| E1001 | 未登录/凭证缺失 | 执行 `zentao login` |\n| E1004 | Token 失效 | 执行 `zentao login` 重新登录 |\n| E2001 | 模块不存在 | 执行 `zentao help` 查看可用模块 |\n| E2002 | 对象不存在 | 检查 ID 是否正确 |\n| E2003 | 缺少必要参数 | 执行 `zentao <module> help` 查看参数 |\n| E2006 | 无权限 | 提示用户检查权限 |\n| E5001 | 请求超时 | 检查网络或禅道服务状态 |\n\n## 注意事项\n\n- 不确定模块参数时，先执行 `zentao <module> help` 查看帮助\n- `browseType` 常用值：`all`（全部）、`doing`（进行中）、`closed`（已关闭）\n- 静默模式：`--silent` 只输出错误信息\n- 多账号切换：`zentao profile` 查看和切换账号\n\nFile v0.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.1.2\",\n  \"publishedAt\": 1777269590461\n}\n\nArchive v0.1.2-beta.5: 2 files, 3749 bytes\n\nFiles: SKILL.md (8314b), _meta.json (136b)\n\nFile v0.1.2-beta.5:SKILL.md\n\n---\nname: zentao-cli\ndescription: 通过 zentao 命令行工具查询和操作禅道（ZenTao）数据，覆盖项目集、产品、项目、执行、需求、Bug、任务、测试用例、测试单、产品计划、版本、发布、反馈、工单、应用、用户、附件等模块的增删改查及状态流转。当用户提到禅道、zentao、查询项目进展、获取 Bug 列表、创建任务、更新需求状态等项目管理操作时使用本技能。\nlicense: MIT\nmetadata:\n  author: Sun Hao <sunhao@chandao.com>\n  repository: https://github.com/easysoft/zentao-cli.git\n  keywords: [zentao, 禅道, cli, project-management]\n  version: 0.1.2-beta.5\n---\n\n# 禅道 CLI\n\n通过 `zentao` 命令行工具查询和操作禅道数据。CLI 自动处理认证、分页，支持工作区上下文和数据过滤/排序。\n\n## 前置准备\n\n### 安装\n\n```bash\nnpm install -g zentao-cli\n# 或 bun install -g zentao-cli\n# 或 pnpm install -g zentao-cli\n# 或免安装运行：npx zentao-cli\n```\n\n如果用户没有安装，引导用户进行全局安装使用，如果系统存在 bun 或 pnpm 则优先使用 bun 或 pnpm 进行全局安装。\n\n### 认证\n\n首次执行任意 `zentao` 命令会自动提示登录。也可显式登录：\n\n```bash\nzentao login -s https://zentao.example.com -u admin -p 123456\n```\n\n环境变量（优先级低于命令行参数）：\n\n| 变量 | 说明 |\n|------|------|\n| `ZENTAO_URL` | 禅道服务地址 |\n| `ZENTAO_ACCOUNT` | 用户账号 |\n| `ZENTAO_PASSWORD` | 密码 |\n| `ZENTAO_TOKEN` | 直接指定 Token（有此变量可省略密码） |\n\n登录成功后凭证缓存在 `~/.config/zentao/zentao.json`，后续无需重复登录。\n\n## 命令格式\n\n使用简写方式（推荐）：\n\n| 操作 | 命令 |\n|------|------|\n| 列表 | `zentao <module>` |\n| 详情 | `zentao <module> <id>` |\n| 创建 | `zentao <module> create --field=value` |\n| 更新 | `zentao <module> update <id> --field=value` |\n| 删除 | `zentao <module> delete <id>` |\n| 动作 | `zentao <module> <action> <id>` |\n| 帮助 | `zentao <module> help` |\n\n也支持 `--data='JSON'` 传入 JSON 数据。\n\n## 模块与操作速查\n\n| 模块名 | 中文 | 支持的操作 |\n|--------|------|-----------|\n| program | 项目集 | CRUD |\n| product | 产品 | CRUD |\n| project | 项目 | CRUD |\n| execution | 执行/迭代 | CRUD |\n| story | 需求 | CRUD + activate / change / close |\n| epic | 业务需求 | CRUD + activate / change / close |\n| requirement | 用户需求 | CRUD + activate / change / close |\n| bug | Bug | CRUD + activate / close / resolve |\n| task | 任务 | CRUD + activate / close / finish / start |\n| testcase | 测试用例 | CRUD |\n| testtask | 测试单 | CUD（按产品/项目/执行查列表） |\n| productplan | 产品计划 | CUD（按产品查列表） |\n| build | 版本 | CUD（按项目/执行查列表） |\n| release | 发布 | CUD（按产品查列表） |\n| feedback | 反馈 | CRUD + activate / close |\n| ticket | 工单 | CRUD + activate / close |\n| system | 应用 | CU（按产品查列表） |\n| user | 用户 | CRUD |\n| file | 附件 | 编辑名称 + 删除 |\n\n> CRUD = 列表 + 详情 + 创建 + 更新 + 删除；CUD = 无独立列表接口，需指定所属范围\n\n### 列表范围参数\n\n部分模块的列表需要指定所属范围：\n\n```bash\nzentao story --product=1                # 产品 #1 的需求\nzentao bug --product=1                  # 产品 #1 的 Bug\nzentao task --execution=1               # 执行 #1 的任务\nzentao execution --project=5            # 项目 #5 的执行\nzentao build --project=5                # 项目 #5 的版本\nzentao testtask --product=1             # 产品 #1 的测试单\nzentao release --product=1              # 产品 #1 的发布\nzentao productplan --product=1          # 产品 #1 的计划\nzentao feedback --product=1             # 产品 #1 的反馈\nzentao ticket --product=1               # 产品 #1 的工单\n```\n\n设置工作区后可省略这些参数（见下方工作区章节）。\n\n## AI 使用策略\n\n### 输出格式\n\n- 展示给用户：不加 `--format` 参数，默认输出 Markdown 表格（列表）或列表（单个对象）\n- 需要程序化处理：加 `--format=json`，返回结构化 JSON\n\n### 交互确认\n\nAI 场景下执行删除操作时加 `--yes` 跳过确认提示：\n\n```bash\nzentao bug delete 1 --yes\n```\n\n### 不知道 ID 时\n\n先查列表获取 ID，再操作具体对象：\n\n```bash\nzentao product --pick=id,name           # 查看产品列表\nzentao bug --product=1 --pick=id,title  # 查看 Bug 列表\nzentao bug 42                           # 查看具体 Bug\n```\n\n### 写操作前确认\n\n执行创建、更新、删除等写操作前，先向用户确认操作内容。用户明确要求不确认时可跳过。\n\n## 数据处理\n\n### 摘取字段\n\n```bash\nzentao product --pick=id,name,status\n```\n\n### 过滤\n\n```bash\nzentao bug --product=1 --filter='status:active'\nzentao bug --product=1 --filter='severity<=2,pri<=2'    # AND\nzentao bug --product=1 --filter='status:active' --filter='status:resolved'  # OR\n```\n\n支持的运算符：`:` 等于、`!=` 不等于、`>` `<` `>=` `<=`、`~` 包含、`!~` 不包含。\n\n### 模糊搜索\n\n```bash\nzentao bug --product=1 --search=登录 --search-fields=title,steps\n```\n\n### 排序\n\n```bash\nzentao bug --product=1 --sort=pri_asc,severity_asc\n```\n\n### 分页\n\n```bash\nzentao bug --product=1 --page=1 --recPerPage=50\nzentao bug --product=1 --all            # 获取全部\nzentao bug --product=1 --limit=10       # 只取前 10 条\n```\n\n## 常用操作示例\n\n### 查看进行中的项目和执行\n\n```bash\nzentao project --filter='status:doing' --pick=id,name,status\nzentao execution --project=5 --pick=id,name,status\n```\n\n### 创建需求\n\n```bash\nzentao story create --product=1 --title=\"需求标题\" --assignedTo=admin --pri=3\n```\n\n### 创建并解决 Bug\n\n```bash\nzentao bug create --product=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42\n```\n\n### 创建、启动并完成任务\n\n```bash\nzentao task create --execution=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100\nzentao task finish 100 --consumed=4\n```\n\n### 查看帮助\n\n```bash\nzentao bug help          # 查看 Bug 模块的参数和操作\nzentao help              # 查看所有命令\n```\n\n## 意图识别\n\n| 用户意图 | CLI 命令 |\n|---------|---------|\n| 所有产品/项目/项目集 | `zentao product` / `zentao project` / `zentao program` |\n| 进行中的项目 | `zentao project --filter='status:doing'` |\n| 某产品的 Bug | `zentao bug --product=<id>` |\n| 某执行的任务 | `zentao task --execution=<id>` |\n| 创建/新增 Bug | `zentao bug create ...` |\n| 解决 Bug | `zentao bug resolve <id>` |\n| 关闭 Bug | `zentao bug close <id>` |\n| 激活 Bug | `zentao bug activate <id>` |\n| 创建需求 | `zentao story create ...` |\n| 变更/关闭/激活需求 | `zentao story change/close/activate <id>` |\n| 业务需求 | `zentao epic ...`（同 story） |\n| 用户需求 | `zentao requirement ...`（同 story） |\n| 创建/启动/完成/关闭任务 | `zentao task create/start/finish/close ...` |\n| 测试用例 | `zentao testcase ...` |\n| 测试单 | `zentao testtask ...` |\n| 产品计划 | `zentao productplan ...` |\n| 版本/Build | `zentao build ...` |\n| 发布 | `zentao release ...` |\n| 反馈 | `zentao feedback ...` |\n| 工单 | `zentao ticket ...` |\n| 用户列表 | `zentao user` |\n| 当前用户信息 | `zentao profile` |\n\n## 错误处理\n\n| 错误码 | 含义 | 处理方式 |\n|--------|------|---------|\n| E1001 | 未登录/凭证缺失 | 执行 `zentao login` |\n| E1004 | Token 失效 | 执行 `zentao login` 重新登录 |\n| E2001 | 模块不存在 | 执行 `zentao help` 查看可用模块 |\n| E2002 | 对象不存在 | 检查 ID 是否正确 |\n| E2003 | 缺少必要参数 | 执行 `zentao <module> help` 查看参数 |\n| E2006 | 无权限 | 提示用户检查权限 |\n| E5001 | 请求超时 | 检查网络或禅道服务状态 |\n\n## 注意事项\n\n- 不确定模块参数时，先执行 `zentao <module> help` 查看帮助\n- `browseType` 常用值：`all`（全部）、`doing`（进行中）、`closed`（已关闭）\n- 静默模式：`--silent` 只输出错误信息\n- 多账号切换：`zentao profile` 查看和切换账号\n\nFile v0.1.2-beta.5:_meta.json\n\n{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.1.2-beta.5\",\n  \"publishedAt\": 1776593814697\n}\n\nArchive v0.1.2-beta.3: 2 files, 3711 bytes\n\nFiles: SKILL.md (8543b), _meta.json (136b)\n\nFile v0.1.2-beta.3:SKILL.md\n\n---\nname: zentao-cli\ndescription: 通过 zentao 命令行工具查询和操作禅道（ZenTao）数据，覆盖项目集、产品、项目、执行、需求、Bug、任务、测试用例、测试单、产品计划、版本、发布、反馈、工单、应用、用户、附件等模块的增删改查及状态流转。当用户提到禅道、zentao、查询项目进展、获取 Bug 列表、创建任务、更新需求状态等项目管理操作时使用本技能。\n---\n\n# 禅道 CLI\n\n通过 `zentao` 命令行工具查询和操作禅道数据。CLI 自动处理认证、分页，支持工作区上下文和数据过滤/排序。\n\n## 前置准备\n\n### 安装\n\n```bash\nnpm install -g zentao-cli\n# 或 bun install -g zentao-cli\n# 或 pnpm install -g zentao-cli\n# 或免安装运行：npx zentao-cli\n```\n\n如果用户没有安装，引导用户进行全局安装使用，如果系统存在 bun 或 pnpm 则优先使用 bun 或 pnpm 进行全局安装。\n\n### 认证\n\n首次执行任意 `zentao` 命令会自动提示登录。也可显式登录：\n\n```bash\nzentao login -s https://zentao.example.com -u admin -p 123456\n```\n\n环境变量（优先级低于命令行参数）：\n\n| 变量 | 说明 |\n|------|------|\n| `ZENTAO_URL` | 禅道服务地址 |\n| `ZENTAO_ACCOUNT` | 用户账号 |\n| `ZENTAO_PASSWORD` | 密码 |\n| `ZENTAO_TOKEN` | 直接指定 Token（有此变量可省略密码） |\n\n登录成功后凭证缓存在 `~/.config/zentao/zentao.json`，后续无需重复登录。\n\n## 命令格式\n\n使用简写方式（推荐）：\n\n| 操作 | 命令 |\n|------|------|\n| 列表 | `zentao <module>` |\n| 详情 | `zentao <module> <id>` |\n| 创建 | `zentao <module> create --field=value` |\n| 更新 | `zentao <module> update <id> --field=value` |\n| 删除 | `zentao <module> delete <id>` |\n| 动作 | `zentao <module> <action> <id>` |\n| 帮助 | `zentao <module> help` |\n\n也支持 `--data='JSON'` 传入 JSON 数据。\n\n## 模块与操作速查\n\n| 模块名 | 中文 | 支持的操作 |\n|--------|------|-----------|\n| program | 项目集 | CRUD |\n| product | 产品 | CRUD |\n| project | 项目 | CRUD |\n| execution | 执行/迭代 | CRUD |\n| story | 需求 | CRUD + activate / change / close |\n| epic | 业务需求 | CRUD + activate / change / close |\n| requirement | 用户需求 | CRUD + activate / change / close |\n| bug | Bug | CRUD + activate / close / resolve |\n| task | 任务 | CRUD + activate / close / finish / start |\n| testcase | 测试用例 | CRUD |\n| testtask | 测试单 | CUD（按产品/项目/执行查列表） |\n| productplan | 产品计划 | CUD（按产品查列表） |\n| build | 版本 | CUD（按项目/执行查列表） |\n| release | 发布 | CUD（按产品查列表） |\n| feedback | 反馈 | CRUD + activate / close |\n| ticket | 工单 | CRUD + activate / close |\n| system | 应用 | CU（按产品查列表） |\n| user | 用户 | CRUD |\n| file | 附件 | 编辑名称 + 删除 |\n\n> CRUD = 列表 + 详情 + 创建 + 更新 + 删除；CUD = 无独立列表接口，需指定所属范围\n\n### 列表范围参数\n\n部分模块的列表需要指定所属范围：\n\n```bash\nzentao story --product=1                # 产品 #1 的需求\nzentao bug --product=1                  # 产品 #1 的 Bug\nzentao task --execution=1               # 执行 #1 的任务\nzentao execution --project=5            # 项目 #5 的执行\nzentao build --project=5                # 项目 #5 的版本\nzentao testtask --product=1             # 产品 #1 的测试单\nzentao release --product=1              # 产品 #1 的发布\nzentao productplan --product=1          # 产品 #1 的计划\nzentao feedback --product=1             # 产品 #1 的反馈\nzentao ticket --product=1               # 产品 #1 的工单\n```\n\n设置工作区后可省略这些参数（见下方工作区章节）。\n\n## AI 使用策略\n\n### 输出格式\n\n- 展示给用户：不加 `--format` 参数，默认输出 Markdown 表格（列表）或列表（单个对象）\n- 需要程序化处理：加 `--format=json`，返回结构化 JSON\n\n### 交互确认\n\nAI 场景下执行删除操作时加 `--yes` 跳过确认提示：\n\n```bash\nzentao bug delete 1 --yes\n```\n\n### 不知道 ID 时\n\n先查列表获取 ID，再操作具体对象：\n\n```bash\nzentao product --pick=id,name           # 查看产品列表\nzentao bug --product=1 --pick=id,title  # 查看 Bug 列表\nzentao bug 42                           # 查看具体 Bug\n```\n\n### 写操作前确认\n\n执行创建、更新、删除等写操作前，先向用户确认操作内容。用户明确要求不确认时可跳过。\n\n## 工作区\n\n工作区记住当前产品、项目、执行上下文，后续命令自动关联，无需重复传参：\n\n```bash\nzentao workspace set --execution=4      # 自动设置所属项目和产品\nzentao bug                              # 自动使用工作区中的产品\nzentao task                             # 自动使用工作区中的执行\nzentao workspace                        # 查看当前工作区\n```\n\n## 数据处理\n\n### 摘取字段\n\n```bash\nzentao product --pick=id,name,status\n```\n\n### 过滤\n\n```bash\nzentao bug --product=1 --filter='status:active'\nzentao bug --product=1 --filter='severity<=2,pri<=2'    # AND\nzentao bug --product=1 --filter='status:active' --filter='status:resolved'  # OR\n```\n\n支持的运算符：`:` 等于、`!=` 不等于、`>` `<` `>=` `<=`、`~` 包含、`!~` 不包含。\n\n### 模糊搜索\n\n```bash\nzentao bug --product=1 --search=登录 --search-fields=title,steps\n```\n\n### 排序\n\n```bash\nzentao bug --product=1 --sort=pri_asc,severity_asc\n```\n\n### 分页\n\n```bash\nzentao bug --product=1 --page=1 --recPerPage=50\nzentao bug --product=1 --all            # 获取全部\nzentao bug --product=1 --limit=10       # 只取前 10 条\n```\n\n## 常用操作示例\n\n### 查看进行中的项目和执行\n\n```bash\nzentao project --filter='status:doing' --pick=id,name,status\nzentao execution --project=5 --pick=id,name,status\n```\n\n### 创建需求\n\n```bash\nzentao story create --product=1 --title=\"需求标题\" --assignedTo=admin --pri=3\n```\n\n### 创建并解决 Bug\n\n```bash\nzentao bug create --product=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42\n```\n\n### 创建、启动并完成任务\n\n```bash\nzentao task create --execution=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100\nzentao task finish 100 --consumed=4\n```\n\n### 查看帮助\n\n```bash\nzentao bug help          # 查看 Bug 模块的参数和操作\nzentao help              # 查看所有命令\n```\n\n## 意图识别\n\n| 用户意图 | CLI 命令 |\n|---------|---------|\n| 所有产品/项目/项目集 | `zentao product` / `zentao project` / `zentao program` |\n| 进行中的项目 | `zentao project --filter='status:doing'` |\n| 某产品的 Bug | `zentao bug --product=<id>` |\n| 某执行的任务 | `zentao task --execution=<id>` |\n| 创建/新增 Bug | `zentao bug create ...` |\n| 解决 Bug | `zentao bug resolve <id>` |\n| 关闭 Bug | `zentao bug close <id>` |\n| 激活 Bug | `zentao bug activate <id>` |\n| 创建需求 | `zentao story create ...` |\n| 变更/关闭/激活需求 | `zentao story change/close/activate <id>` |\n| 业务需求 | `zentao epic ...`（同 story） |\n| 用户需求 | `zentao requirement ...`（同 story） |\n| 创建/启动/完成/关闭任务 | `zentao task create/start/finish/close ...` |\n| 测试用例 | `zentao testcase ...` |\n| 测试单 | `zentao testtask ...` |\n| 产品计划 | `zentao productplan ...` |\n| 版本/Build | `zentao build ...` |\n| 发布 | `zentao release ...` |\n| 反馈 | `zentao feedback ...` |\n| 工单 | `zentao ticket ...` |\n| 用户列表 | `zentao user` |\n| 当前用户信息 | `zentao profile` |\n\n## 错误处理\n\n| 错误码 | 含义 | 处理方式 |\n|--------|------|---------|\n| E1001 | 未登录/凭证缺失 | 执行 `zentao login` |\n| E1004 | Token 失效 | 执行 `zentao login` 重新登录 |\n| E2001 | 模块不存在 | 执行 `zentao help` 查看可用模块 |\n| E2002 | 对象不存在 | 检查 ID 是否正确 |\n| E2003 | 缺少必要参数 | 执行 `zentao <module> help` 查看参数 |\n| E2006 | 无权限 | 提示用户检查权限 |\n| E5001 | 请求超时 | 检查网络或禅道服务状态 |\n\n## 注意事项\n\n- 不确定模块参数时，先执行 `zentao <module> help` 查看帮助\n- `browseType` 常用值：`all`（全部）、`doing`（进行中）、`closed`（已关闭）\n- 静默模式：`--silent` 只输出错误信息\n- 多账号切换：`zentao profile` 查看和切换账号\n\nFile v0.1.2-beta.3:_meta.json\n\n{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.1.2-beta.3\",\n  \"publishedAt\": 1776336380138\n}","readmeExcerpt":"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 ","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"zentao --version\nzentao help\nzentao profile --format=json"},{"language":"bash","snippet":"zentao profile 'admin@https://zentao.example.com'"},{"language":"bash","snippet":"zentao product --pick=id,name\nzentao story --product=1 --pick=id,title,status\nzentao bug --product=1 --pick=id,title,status\nzentao task --executionID=1 --pick=id,name,status\nzentao project --browseType=doing --pick=id,name,status\nzentao execution projectExecutions --projectID=5 --browseType=all\nzentao productplan --productID=1\nzentao release --productID=1\nzentao build --project=5\nzentao my tasks --pick=id,name,status\nzentao my bugs --pick=id,title,status\nzentao my todos\nzentao doc myDocs --spaceID=1 --libID=2"},{"language":"bash","snippet":"zentao bug --product=1 --browseType=all --pick=id,title,status\nzentao bug --product=1 --browseType=all --filter='status=active'\nzentao bug --product=1 --browseType=all --filter='severity<=2,pri<=2'\nzentao bug --product=1 --browseType=all --filter='status=active' --filter='status=resolved'\nzentao bug --product=1 --search=登录 --search-fields=title,steps\nzentao bug --product=1 --search=登录,失败 --search=注册,超时\nzentao bug --product=1 --sort=pri:asc,severity:asc\nzentao bug --product=1 --limit=10"},{"language":"bash","snippet":"zentao bug list --help\nzentao bug --product=1 --browseType=all --page=1 --recPerPage=50 --pick=id,status,severity,pri --format=json"},{"language":"bash","snippet":"zentao story create --productID=1 --title=\"需求标题\" --assignedTo=admin --pri=3\nzentao story update 11 --plan=1\nzentao story change 11 --data '{\"title\":\"调整后的需求标题\",\"reviewer\":[\"reviewer1\",\"reviewer2\"]}'\nzentao doc createMyDoc --spaceID=1 --libID=2 --data '{\"title\":\"开发说明\",\"content\":\"# 正文\",\"contentType\":\"doc\"}'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: zentao-cli\ndisplay_name: 禅道CLI\ndisplay_name_en: ZenTao CLI\ndescription: 使用 ZenTao CLI 查询和维护禅道中的产品、项目、需求、任务与 Bug，执行状态流转并汇总进展。当用户要求操作禅道数据、查询禅道中的个人待办，或安装、配置和排查 zentao-cli 问题时使用。\ndescription_zh: 由禅道官方（https://www.zentao.net/）提供的 ZenTao CLI，可查询与维护禅道中的产品、项目、需求、任务和 Bug，支持执行状态流转并汇总进展。适用于操作禅道数据、查询个人待办，以及安装、配置和排查 zentao-cli 问题等场景。\ndescription_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.\nlicense: MIT\nversion: 0.3.1\nauthor: 禅道软件\nmaintainer: Sun Hao <sunhao@chandao.com>\nmetadata:\n  repository: https://github.com/easysoft/zentao-cli.git\n  keywords: [zentao, 禅道, cli, project-management]\n  version: 0.3.1\n---\n\n# 禅道 CLI\n\n通过 `zentao` 操作禅道。以当前安装版本的离线帮助为命令依据；字段、动作和最低服务器版本可能随 CLI / SDK 更新。\n\n## 开始工作\n\n已有可用的 `zentao` 命令时直接复用。先确认用户要访问的站点、对象范围和操作；上下文已明确的内容不用重复询问。\n\n```bash\nzentao --version\nzentao help\nzentao profile --format=json\n```\n\n- `help`、模块/操作 `--help`、`props` 无需登录。先查帮助再准备请求，不必为查看参数连接服务器。\n- `profile` 只列出本地保存的账号和站点，不校验 Token、网络或业务角色。需要验证连接时，在用户要访问的范围内执行一个只读查询。\n- 未配置本地账号时 `profile` 返回 `E1006`；完整环境凭证仍可用于业务命令。不要据此断言服务不可用。\n- 未安装时按用户环境选择 `npm install -g zentao-cli`、`bun install -g zentao-cli` 或 `pnpm install -g zentao-cli`；一次性运行可用 `npx zentao-cli <参数>`。\n\n用户要求安装或更新技能时，使用 `zentao add-skill <agent>`；需要导出到自定义目录时，使用 `zentao add-skill --output ./exported-skills`。两种形式互斥，都会递归包含参考资料。只处理用户指定目标，重跑前保留同名技能中用户需要的定制。\n\n### 认证与账号选择\n\n业务命令缺少凭证会报错，不会自动弹出登录。需要登录时让用户在自己的交互终端执行 `zentao login`，由 CLI 收集凭证。不要在对话里收集密码或 Token，不要读取、打印凭证环境变量或本地凭证文件。\n\n自动化凭证由运行环境提供：`ZENTAO_URL` + `ZENTAO_ACCOUNT` + `ZENTAO_TOKEN` 或 `ZENTAO_PASSWORD`。同源同时提供 Token 和密码时优先 Token。业务命令优先使用完整环境凭证，再回退到当前保存的 Profile。\n\n```bash\nzentao profile 'admin@https://zentao.example.com'\n```\n\n上述命令切换本地默认账号；完整环境凭证仍会优先，不能仅凭切换成功认定后续请求使用了该账号。需由运行环境维护者调整凭证来源。\n\n默认凭证文件为 `~/.config/zentao/zentao.json`；自定义路径可用全局 `--config <路径>` 或 `ZENTAO_CONFIG_FILE`，前者优先。沿用用户选定的配置路径，不通过直接读取文件确认身份。\n\n## 查找命令与参数\n\n| 意图 | 命令形式 |\n|------|----------|\n| 列表（仅支持默认列表的模块） | `zentao <module> [范围参数]` |\n| 详情（仅支持 get 的模块） | `zentao <module> <id>` |\n| 创建 / 更新 / 删除 | `zentao <module> create` / `zentao <module> update <id>` / `zentao <module> delete <id>` |\n| 状态流转或命名操作 | `zentao <module> <action> [参数]` |\n| 操作参数、必填项、最低版本 | `zentao <module> <action> --help` |\n| 返回对象的字段定义 | `zentao <module> props --format=json` |\n\n`props` 不是写入字段清单，也不代表当前站点的动态选项。创建、更新、状态流转都以操作帮助为准；先读懂参数用途，再选值。\n\n- 业务字段优先使用 `--field=value`，保留帮助中的大小写。复杂对象、数组或长文本见 [references/writes.md](references/writes.md)。\n- 不要推断每个模块都有 CRUD。`doc`、`my` 无默认列表，必须选择命名操作。\n- 多个路径参数要分别传入；位置 ID / `--id` 仅代表首个路径 ID，不能代替后续 ID。\n- 不知道 ID 时先按产品、项目或执行查找，出现同名对象再澄清，不能套用示例 ID。\n- `browseType` 是各接口自己的服务端筛选值，例如项目 `doing`、需求 `allstory`；不能在不同模块间照搬。\n\n### 常用入口\n\n先用对应操作的 `--help` 确认安装版本支持，再代入真实 ID：\n\n```bash\nzentao product --pick=id,name\nzentao story --product=1 --pick=id,title,status\nzentao "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn79cz87b6vfpvp7n15tbhqm0n832717\",\n  \"slug\": \"zentao-cli\",\n  \"version\": \"0.3.1\",\n  \"publishedAt\": 1789881105218\n}"},{"path":"references/data-output.md","content":"# 输出、筛选与全量统计\n\n## 选择输出格式\n\n| 目的 | 选项与结果 |\n|------|------------|\n| 阅读 | 默认 Markdown，受当前 Profile 的 `defaultOutputFormat` 影响；需固定时传 `--format=markdown` |\n| 程序处理 | `--format=json`，执行字段摘取、过滤等本地处理 |\n| 排查响应 | `--format=raw`，返回服务端原始响应，跳过归一化、HTML 转换和本地数据处理 |\n\n`--machine-readable` 只禁用 Markdown ANSI 渲染，不等同于 JSON；需要解析时显式使用 `--format=json`。需要结果时不要加 `--silent`。\n\nCLI JSON 结构随操作类型变化：\n\n- 列表：`{\"status\":\"success\",\"data\":[...],\"pager\":{\"total\":120,\"page\":1,\"recPerPage\":50}}`，无分页信息时省略 `pager`。\n- 详情：直接返回对象，例如 `{\"id\":42,\"title\":\"登录失败\"}`，不要再取 `.data`。\n- 创建、更新、删除和状态操作：`{\"status\":\"success\",\"data\":...}`，没有数据时可能省略 `data`。\n- 错误：stderr 输出 `{\"error\":{\"code\":\"2008\",\"message\":\"...\",\"details\":...}}`，退出码非零；`code` 不含 `E` 前缀，`details` 可省略。\n\n同时检查退出码、stderr 和 JSON 内容。批量请求使用另一种汇总结构，见 [writes.md](writes.md)。\n\n## 当前页的数据处理\n\n范围参数及接口声明的 `browseType` 等控制服务端查询；`--filter`、`--search`、`--sort`、`--limit`、`--pick` 在收到当前页后处理，不能扩大服务器已返回的集合。\n\n```bash\nzentao bug --product=1 --browseType=all --pick=id,title,status\nzentao bug --product=1 --browseType=all --filter='status=active'\nzentao bug --product=1 --browseType=all --filter='severity<=2,pri<=2'\nzentao bug --product=1 --browseType=all --filter='status=active' --filter='status=resolved'\nzentao bug --product=1 --search=登录 --search-fields=title,steps\nzentao bug --product=1 --search=登录,失败 --search=注册,超时\nzentao bug --product=1 --sort=pri:asc,severity:asc\nzentao bug --product=1 --limit=10\n```\n\n- 一条 `--filter` 内逗号连接为 AND；多次 `--filter` 之间为 OR。`--search` 同样是组内 AND、组间 OR。\n- 过滤运算符：`=`（推荐）、`:`（兼容等于）、`!=`、`>`、`<`、`>=`、`<=`、`~`（包含）、`!~`（不包含）。包含比较符的表达式用引号包裹。\n- 排序优先写 `field:asc` / `field:desc`；旧的 `field_asc` / `field_desc` 仍兼容。\n- `--limit` 只截取当前页；当前页优先级最高的 10 条不能称作全产品 Top 10。\n- `--format=raw` 下上述本地选项不生效，不能一边要求原始响应一边期待过滤或脱敏字段。\n\n## 分页与统计\n\n只有列表操作帮助列出 `--page` / `--recPerPage` 时才使用分页选项。CLI 不自动翻页；`--all` 会显式报 `E2009`。\n\n```bash\nzentao bug list --help\nzentao bug --product=1 --browseType=all --page=1 --recPerPage=50 --pick=id,status,severity,pri --format=json\n```\n\n要回答“所有”“总共”“各状态数量”或全局排序：\n\n1. 选择覆盖目标范围的服务端条件，收集用于聚合的字段。\n2. 按返回的 `pager.page` 递增请求；当 `pager.page * pager.recPerPage >= pager.total` 时完成该范围。以返回的页码和页大小为准，服务器可能限制每页数量。\n3. 对收集结果按 ID 去重，再统计或全局排序、取 Top N。期间数据可能变化，说明查询范围和时间。\n\n`pager.total` 是服务端匹配总数，本地过滤后 `data.length` 可能更小甚至为 0，不能据此判断末页；也不能把 `pager.total` 当作本地条件命中数。列表没有 pager 或页码不再推进时，说明完整性限制，不猜测还有多少，也不无限请求。\n\n跨执行统计任务时，先完整取得目标项目的执行列表，再逐个执行分页查任务。旧版本不支持 `projectExecutions` 时，可按全局执行列表每页的 `project` 字段筛选目标项目；仍需遍历该列表所有页。"},{"path":"references/writes.md","content":"# 写入、状态流转与批量操作\n\n先用实际操作帮助核对字段。下面的 ID、账号、日期和内容只是语法示例，执行时替换为用户授权的真实值。\n\n## 请求体\n\n业务字段使用 `--field=value`；CLI 额外 API 参数不支持通用的 `--field value` 写法。少量标量可直接传入，数组字符串按逗号拆分；嵌套对象、数字数组和长文本优先用 JSON。\n\n用引号包裹的 `--field=value` 支持多行文本，换行、末尾换行和值中的 `=` 都会保留。参数格式无效时会报错，不会静默忽略。\n\n```bash\nzentao story create --productID=1 --title=\"需求标题\" --assignedTo=admin --pri=3\nzentao story update 11 --plan=1\nzentao story change 11 --data '{\"title\":\"调整后的需求标题\",\"reviewer\":[\"reviewer1\",\"reviewer2\"]}'\nzentao doc createMyDoc --spaceID=1 --libID=2 --data '{\"title\":\"开发说明\",\"content\":\"# 正文\",\"contentType\":\"doc\"}'\n```\n\n`reviewer` 是否必填及其余要求以当前动作帮助为准。不要机械补审批人或覆盖现有字段。\n\n长文本可以先写入 JSON 文件，再通过 stdin 传入：\n\n```bash\nzentao story create --productID=1 --data @- < /path/to/story.json\n```\n\n也支持无 `--data` 的 JSON 管道输入。`--data @file.json` 不支持；只有 `@-` 表示 stdin。文件内为有效 JSON 请求体，复杂文本交给 JSON 编码器处理，避免手工拼接 shell 字符串。\n\n`--data` 中同名字段优先于平铺业务字段，不要同时给出互相冲突的值。`--params` 可传路径、查询及请求体参数的对象；一般操作优先用具名路径参数和 `--data`，无需另造包装层。\n\n`bug create` 的 `--product=1` 是 `--productID=1` 的别名。平铺参数同时提供两者时必须指定同一个产品，否则报错；归一化后仍以 `--data` 内的 `productID` 为准。JSON 请求体中使用正式字段 `productID`。\n\n## 更新补全的边界\n\nCLI 对 `type=update` 的操作启用补全：当该模块存在同路径的详情操作，且更新声明了对象请求体时，先读取当前对象，仅补上更新 schema 内尚未传入的字段。用户显式给出的值优先；读取失败则中止写入。\n\n- 不能把 GET 返回的所有字段原样回传，返回属性不一定可写。\n- 没有匹配详情接口的更新不会自动补全，例如项目、版本、发布、待办的更新。按帮助准备必要字段；需要现值时从所属列表或其他受支持的查询获取。\n- `change`、`resolve`、`start`、`finish` 等状态动作不使用更新补全；按各自动作的必填项提交。\n\n## 常用状态操作\n\n```bash\nzentao bug create --productID=1 --title=\"Bug标题\" --severity=2 --pri=2 --type=codeerror --openedBuild=trunk\nzentao bug resolve 42 --resolution=fixed\nzentao bug close 42\nzentao bug activate 42\nzentao story close 11 --closedReason=done\nzentao task create --executionID=1 --name=\"任务名\" --type=devel --assignedTo=admin --estimate=4\nzentao task start 100 --realStarted=\"<YYYY-MM-DD HH:mm:ss>\"\nzentao task finish 100 --currentConsumed=4 --realStarted=\"<YYYY-MM-DD HH:mm:ss>\" --finishedDate=\"<YYYY-MM-DD HH:mm:ss>\"\n```\n\n解决、完成和关闭需要用户给出的实际结果；不要为了演示流程把现有记录改成已完成。若真实意图只是修改负责人或预估，使用更新，不顺带流转状态。\n\n上传附件可用：\n\n```bash\nzentao file create --file=/path/to/screenshot.png --objectType=bug --objectID=42\n```\n\n上传成功不代表附件已经作为图片嵌入对象正文；根据返回结果核实用户要求的关联和展示方式。\n\n## 删除与批量结果\n\n删除前落实对象 ID 和授权范围；用户已明确授权这一组对象时一次执行，不逐条重复询问。非交互、JSON/raw 或 `--machine-readable` 模式均要求显式 `--yes`；这个参数只跳过 CLI 提示，不扩展用户授权。\n\n```bash\nzentao bug delete 42 --yes\nzentao bug get 42,43 --format=json\nzentao bug update 42,43 --assignedTo=admin --batch-fail-fast --format=json\nzentao bug delete 42,43 --yes --format=json\n```\n\n逗号分隔的数字 ID 会逐个请求；这是同一操作作用于多个对象，不能用来传递文档等操作的多个路径 ID。批量也可使用 `--id=42,43`。\n\nJSON 和 raw 模式的批量结果都包在：\n\n```json\n{\n  \"status\": \"failed\",\n  \"result\": {\n    \"success\": [42],\n    \"failed\": [43],\n    \"skipped\": [44],\n    \"errors\": [{\"objectID\": 43, \"error\": {\"code\": \"2006\", \"message\": \"当前用户没有权限执行此操作\"}}],\n    \"data\": [{\"objectID\": 42, \"value\": {\"id\": 42}}]\n  }\n}\n```\n\n`success` / `failed` / `skipped` 是 ID 数组；非删除请求的返回值在 `data` 的 `{objectID,value}` 项中，删除不含 `data`。默认遇错继续，`--batch-fail-fast` 会把后续对象计入 `skipped`；任一失败令退出码为 1。\n\n分别报告三组结果及原因。对超时等结果不明确的失败项，先查询是否已写入"},{"path":"skill-card.md","content":"## Description:\n\nZenTao CLI helps agents query and maintain ZenTao products, projects, requirements, tasks, and bugs, including status transitions, progress summaries, installation, configuration, and troubleshooting.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[catouse](https://clawhub.ai/user/catouse)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, 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.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can guide write, delete, bulk update, and status-transition operations that change ZenTao business records.\n\nMitigation: 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.\n\nRisk: Credential exposure or unintended account selection could give the agent access beyond the user's intent.\n\nMitigation: 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.\n\nRisk: CLI help, fields, actions, and minimum server versions can differ from the installed CLI or ZenTao server.\n\nMitigation: 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.\n\nRisk: Partial pages, local filters, or batch partial failures can lead to incomplete summaries or incorrect success claims.\n\nMitigation: 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.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/catouse/skills/zentao-cli)\n- [Publisher profile](https://clawhub.ai/user/catouse)\n- [ZenTao CLI repository](https://github.com/easysoft/zentao-cli.git)\n- [ZenTao official site](https://www.zentao.net/)\n- [Output, filtering, and statistics reference](artifact/references/data-output.md)\n- [Writes, status transitions, and batch operations reference](artifact/references/writes.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and optional JSON command output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include ZenTao CLI commands, status summaries, parsed JSON results, error explanations, and verification steps.]\n\n## Skill Version(s):\n\n0.3.1 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nU"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"由禅道官方（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","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1305,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T09:51:48.392Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T09:51:48.392Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:50:42.304Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"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!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"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","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}