{"_id":"tianshu-mcp","_rev":"45-9fc829d54d01cc87874f3eb670ff9df5","name":"tianshu-mcp","dist-tags":{"latest":"0.7.8"},"versions":{"0.1.1":{"name":"tianshu-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"MIT","_id":"tianshu-mcp@0.1.1","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"b6dd746876ecf94ee6f94e4c3d638eb779ba9128","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.1.tgz","fileCount":96,"integrity":"sha512-4roerxKmH18EDWv431K/TvrWgiX78DGHPPjEoaBg8JDj1gHlQT8SsTzjKcXeVQ1QzDcx1U0/krLfCDd+MDiiAA==","signatures":[{"sig":"MEUCIQDs+OBtR5dQN8xDR4WoxOq4SgNAfgOYoCuXQHyaVKT2WgIgM/q79qygRzwHgciWfGBKALOMZVeR6UePBcJrLwSI4jY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377162},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"e92c05afa946900c3a20775054ef73b148ac9940","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent CLI（Codex/Zcode/TraeWork）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^8.57.1","vitest":"^2.1.8","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.1_1788796143329_0.5065945345241587","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"tianshu-mcp","version":"0.1.2","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"MIT","_id":"tianshu-mcp@0.1.2","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"1e7a08a4c622e09a0779f676c9dd048f56eac40c","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.2.tgz","fileCount":66,"integrity":"sha512-Z2hWxerFxNmgI5gel28zNoJQrqt0OytjCIo/V2sVM6f1wjwModGP6TiMcdqoNrd5/9JsvB43vzXtawd9sxleeg==","signatures":[{"sig":"MEYCIQDkSVAAoTr5qDXbY4t+lRByXguLu817MDFwy7wAn4b2iQIhAL3B3ysLwg7APRtHk6V5GcF1md/SNCFKZfYaN7xVV3Jd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235186},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"24de49b1a4072f4ef3d1975f84a6b58ccc1f1fb9","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent CLI（Codex/Zcode/TraeWork）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^8.57.1","vitest":"^2.1.8","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.2_1788796989288_0.5656810971872173","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"tianshu-mcp","version":"0.1.3","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"MIT","_id":"tianshu-mcp@0.1.3","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"bc4585ffa810a8cbdf9195e5cb6ac68b481e1c41","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.3.tgz","fileCount":68,"integrity":"sha512-lDwzzPLNWNhtrheoi+H8rUfXqiih5GDgbPg1EWu+NbJPRfStuiEqQFPWPWdKyT/r1TyRHHaP6+0cMjLgtf98fg==","signatures":[{"sig":"MEUCIA2SuPe7ROq4cVTU39piYGDVAjRY3SsUA5dF63SwRuXIAiEA+bF01MOHb/sZnGbLTQnJLbsJLtkNOMVpImfTsukroTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249145},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"7b39b9bdb9b8ae68901904acc2563f97b19fb37f","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","sync-version":"node scripts/sync-version.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent CLI（Codex/Zcode/TraeWork）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.3_1788830767768_0.5354134689597141","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"tianshu-mcp","version":"0.1.4","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"MIT","_id":"tianshu-mcp@0.1.4","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"745d4193520021aad664dbdf1ede9e0d9a27d66c","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.4.tgz","fileCount":68,"integrity":"sha512-wb3KEC2ZT+nndkv3Ine/ok8OWvKX3kgbFCTsycAsvlKtdwV9ueIgwyPIY+G6A0hHR9nxZLZhKdvA64MungVZYQ==","signatures":[{"sig":"MEYCIQDZ2Ygv+XB/75qvKFvpzG/RZPWSSkRPg1ykxDQzsWk5+AIhAJAzlfC4deQDVJt7wcOkcEarMI/IrXtOykx8MAjmLrPH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249293},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"cf16277e7a093d94908ee5a0b503d69f052ffcaf","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","sync-version":"node scripts/sync-version.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent CLI（Codex/Zcode/TraeWork）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.4_1788831894454_0.8699881296088179","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"tianshu-mcp","version":"0.1.5","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.1.5","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"a495818225d7b6585f3221d00fa96bcdce2b85c2","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.5.tgz","fileCount":94,"integrity":"sha512-C/N0UbdSe9qPx96+vG2536+oW4lDmTTtzxxvOGYE00GcNxSINytepzQT3DHGpoZQWWqfvCtrbCpxOKOgHfgShw==","signatures":[{"sig":"MEYCIQDsI5qSJWAtsEWvGjrqqUYIAv3LSnh2tWeq8GQlzuUn2AIhANP4YT95Z0gHgn8kKocDHAK6rECXIwBqg/JRZJNG6qJm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391154},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"bdac27da78cdda13f0d9b19d02a9d8e2092f99ff","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","sync-version":"node scripts/sync-version.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent（Codex CLI、TraeWork GUI）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.5_1788871210696_0.22332284735277086","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"tianshu-mcp","version":"0.1.6","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.1.6","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"a35deb1dd0d599f24130ff20307dc852f892e560","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.6.tgz","fileCount":96,"integrity":"sha512-gowb9IgzemwcvXByEwlJjCERd5Pyd02tXShyJ4wsuMjOpxB97Xbgz3A2DTMAeam8t95piPJta2bv5tgIKy4pcQ==","signatures":[{"sig":"MEUCICqarNQSHhIVtrZneD9CSvXHe7noA8Gf5ha8sUXOit/8AiEAoEuzrUn0mefhrHuCu1zHrw1paevl+CrmzNsbE6SdH68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":426939},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"3d7ce22cbb0e43486d79a3f89cac0ee251c5d681","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","sync-version":"node scripts/sync-version.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent（Codex CLI、TraeWork GUI）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.6_1788881010123_0.026338722981882556","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"tianshu-mcp","version":"0.1.7","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.1.7","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"1da4d3952c3e331b509c89db0d30e1665d3c96fe","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.7.tgz","fileCount":96,"integrity":"sha512-q3AG1BEXR0kGbAtJk1EF4+XvK9C0rkpIBIKzfPiQUep21xqX9YIjbpLvz29bF2TxYt93rxaMsqmGaoNxfmIv7w==","signatures":[{"sig":"MEUCIAJpgKhule3LuRT0mBm3u5uVcru8hcjMFzcTMpxRNHw5AiEA40VDfZ8QK/r65Z0BOadWt9sr/td3xzTqlg0U8ksSux8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":436686},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"d27555a790ecf7e4f2b4d2cdf4e8c52b6aa2c3cf","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","sync-version":"node scripts/sync-version.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent（Codex CLI、TraeWork GUI）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.7_1788886912763_0.6046306014415084","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"tianshu-mcp","version":"0.1.8","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.1.8","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"7951465c12ac6468e9601a353ba40fe62e375c38","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.8.tgz","fileCount":96,"integrity":"sha512-cLVl6ghIlY/pccJ0zJPlBRHYxjImMPGJmi1Pk8DDqtp1WMxlZFHBVazAEVcxR7V/cnNdJEkoFDDs242DQEqnfQ==","signatures":[{"sig":"MEUCIDT8GqNjxBVy8GxmTMkL+fmwKibrcOnhSP+X/UiQyjCyAiEA4XkFw9t83CCA0c/ix+jckamj2gWGxyL4qaYup8dZA9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439717},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"8d6e64bd9c86d94eb2e4d7a1b72d3956e106d7ae","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","sync-version":"node scripts/sync-version.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent（Codex CLI、TraeWork GUI）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.8_1788889207649_0.916472162539093","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"tianshu-mcp","version":"0.1.9","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.1.9","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"ab2db578d90111a7d00f2f10bc4c6df36a96c14d","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.9.tgz","fileCount":96,"integrity":"sha512-XOJzjIKXrxsHD78CXmHLeS+1cvwXi9KwO0EP59QTTOnfIgpyLnH9JEy0gIa6tOGNAVCKH8bzsBqqmFn4t9FCpA==","signatures":[{"sig":"MEQCIFZkXfyftQoFsXh1BKMMqkbe4IGh3g69P9L1k4D+Q0KrAiBsilQO6oqziSMeNq7o6/v65KFBD10omnYPDBpgzjjHAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":459451},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"dc471d26d017c759a2e86a4a28a5b7332dbd5585","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","sync-version":"node scripts/sync-version.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent（Codex CLI、TraeWork GUI）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.9_1788911973753_0.3505529043717852","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"tianshu-mcp","version":"0.1.10","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.1.10","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"cdefe58de9a62102bf43dd457b5c1134d1ebbec7","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.1.10.tgz","fileCount":96,"integrity":"sha512-3I3fftSGa0tm1F6gKoDZ/rdfNzg/sR1dK/B5I41SUb3hfRlGDUxZMfUERO/vJRouZj7Y5uy3vVfnqEd7QWZraw==","signatures":[{"sig":"MEUCIERCCv/pdDkoU7Zhd8m7cVUO/3Ugl3whF55EHzESBM47AiEA8PPwcv8Q45iIDVQ71LUwewkhLDq9JL8RiePmD048EKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":480155},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"e91fc47f8920ecec3c34b64f46b09498d8947303","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","sync-version":"node scripts/sync-version.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 由天枢调度本 server 去驱动外部 AI-Agent（Codex CLI、TraeWork GUI）完成 项目开发 → 验收 → 失败返修 → 再验收 的闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^3.2.7","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.1.10_1789013927014_0.27111765313521063","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"tianshu-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.2.0","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"70186c573a8d3231d9a1071fd36410dc85cbc2b0","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.2.0.tgz","fileCount":121,"integrity":"sha512-P4gzjwWyuaOuazepxpoPuv0JfPmc+nuO8s6L2bP9viUyn9vhxUoJpuo++H4Y+YQjZRYDEBn+LaaHjkoX9UwsZg==","signatures":[{"sig":"MEUCIQCBJSaKn1BE8H0fWwLcrp6osVMXEA+RqbLp0klKJe8w/QIgEGdy5ps4XSYadN+6g2/y2TcjTF9TGrOUr7DXOkmzF2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDaxnZRUU85Gj+LkyOQhO8km6E6Qf7Qs5Q2bXpM6FVWBQIgDVxkF6L9+7GoFx8rLdfOn+pE2rAlKzgSGvFI46qqtDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":629470},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"981d9ddee659475c2898cf26e9cea2b62df41399","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.2.0_1789126543743_0.7317177777349788","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"tianshu-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.3.0","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"f758ab043465e091a128236914285bcf241ebc11","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.3.0.tgz","fileCount":152,"integrity":"sha512-0GgkdZuVeulkIJn+S5YiwlHWShf+IdtGWye7XAZtU+MudKjih5xM8oyBq4FNGVzAP6Ea60ceYUPLORAEuhYikg==","signatures":[{"sig":"MEUCIQCF4mjofHFIFbkYZqRQkT+oMUKVarllhVo4oRLkt6HXoAIgUbJrgu3gXNik1pakXUHrxnT8LJBdm9o5kVMhQc2jD5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDKXi+nKWLnrkPSJb6vW+wmTFN6eNZj5YHI7H4KHyXYkAiEAlimLn0orwU9mbAEBelRuakf9mTIl4kX9PNRtHCgkINg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":831897},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"0eb72b851b3d95c23b14eb1a75fda6a521657e60","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.3.0_1789173242964_0.9836590820433653","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"tianshu-mcp","version":"0.3.1","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.3.1","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"0aae8ae583737c0fea58aa8f0022b3a800373ac8","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.3.1.tgz","fileCount":154,"integrity":"sha512-JWDcQeLX5pGn/JQ+JGF3fMFt7R8V/GnExCtRbGp+/zjTQyFKWTYkgk+y7JAqujMXgpc6wAVmxqEqJmUBGumIYw==","signatures":[{"sig":"MEQCIE/MgNDJbhIAlht7MRc7u5PJYuRwKWfj+cr5puAUvxuLAiBa2wvoD7kV83z/ADlyIsWpTbzW4CsnEs5NSNAvQccZ8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIClKN531o2t29YXlo/ynAG4ZxVfOOeA+8Gt6s/6kWW8XAiBW1S7yxHGYKB2HwE49G8wP9SnB/Iwguf6xySVm3Ztfcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":854372},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"ab8cdcc3318bc81102b6ffc90fa08731c8caf4ab","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.3.1_1789191671731_0.6806937852675954","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"tianshu-mcp","version":"0.3.2","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.3.2","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"913b1bdd2313728c96967808be6777797516aec3","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.3.2.tgz","fileCount":154,"integrity":"sha512-Wdj+Kz6T0KgNv6XTejjRahtYDvWlQUQu6Kjxtr7tP7JgdyoT5qnLM/2yuanGPS/kXRbGH914x7nFL3SiXgtv3Q==","signatures":[{"sig":"MEUCIBHSKw1fAfp+MQXS9NA7J4V4WOPR/4yt7Smkrx/ckXfGAiEAoMBBG0J2ts88xyLQArpevZ9QeNjx1POea4tNZM/Q8sU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCo8AcHabahwHFrnkYqSctSQU8mPB2QTXxOvD0/0rpydwIgBjkWlVbVtAtEz5MjaSB2Tf7khT0jrXGU+UttAGgf0A8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":883241},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"e576d0c1c66f82c05d89aca26a308ecab1d2c7b2","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.3.2_1789211570363_0.9172884511283912","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"tianshu-mcp","version":"0.3.3","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.3.3","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"f3c17ad614c7afde8756563a093c59c24a99861f","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.3.3.tgz","fileCount":154,"integrity":"sha512-WEWptBy2dt4MakVfwoZ0R/ib/Cce6ib7bbHecFzlgDD9vLHw+jOohoKR2gRxfT7vgzJcs7G6g1r8+hFtQy3Xyw==","signatures":[{"sig":"MEYCIQD3SKaE32rbe2nTpHlRZ9dG1GTKPdBRcUMWhjzPww+/bwIhAPHO9cAeetJUjjufWDUDzxkU7jY7NRCezsAupjFXXhc+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCR77p1zT6TjcWHc1AuofHwX+gWVt9ybFXZr6qIkbfxWQIhAKfpCosHYMMfzdDf5C7hXEccmK5JA9ghBySLtsuWd6IE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":895745},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"38fb47d73b6a89716d6fda1773b359ec95cfddf9","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.3.3_1789218928948_0.9636171790250023","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"tianshu-mcp","version":"0.3.4","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.3.4","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"73c749e476b48122d576922e49d5fdf073d4175c","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.3.4.tgz","fileCount":158,"integrity":"sha512-dLKYRAYgoH8iy5pjIwtPyS6Z29VKwx6DLHDIyhVJhGVU+6rSAfkrnf6qEIey3Att3K42ryYE469pyafIQsidGA==","signatures":[{"sig":"MEYCIQDahdK28bid49vy+RwtToMA6Vxs00jtXP6SKB22XTdCEwIhAICi7WsG++zcMivij+S45F6HyjPb8WTMSwWI1zymwFTj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDL2eMmu3Im3t4eJI+3qXUhxnBay0jRjkIF69CGmFqDFAiEA368AtKN94BsP6jlDocnOc9CzsyQJCPcRg9kpE1gU7LQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":935288},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"1a11ebd4e4b2b9d66c79fb203b31fc67a4994cc4","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.3.4_1789268365868_0.7860199116453019","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"tianshu-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.4.0","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"87309e7345a20b7145b8fabfe93c99a2b9d9a179","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.4.0.tgz","fileCount":159,"integrity":"sha512-x+tPvrHjFmaCKto+IPMCTxdvYkECz3JpbXtsj2PKEbdi5ZxX8CgjzSJRfC9enHYmKy0OFl31L/P3hoP9W7aLbw==","signatures":[{"sig":"MEUCIFfsrNg5MQFSxQekQAkU3pjzzS/pb0+HAg6R+LZYyD4xAiEAsfUr1N4FdDNgmqBuz5TvD7kcOkNF/K5Ia+xLEOH4Iow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDA7vgV4+FK0EbRUrbwVCrYi6FM5rXyzWul8AAM+jkTXAiEA4871sXq4jwxpdkMn+T2z4z6P4fsIZ1HPb0bJ/N2CXu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":991900},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"190297e18980d33084a8543b5a6c1dade8942738","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.4.0_1789310691452_0.3721573786725636","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"tianshu-mcp","version":"0.4.1","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.4.1","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"b104a571979f99232bd7d16fa4b96aaf15193a3b","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.4.1.tgz","fileCount":159,"integrity":"sha512-l1wOULXA0IOCH6CJ9HFn40gc2fjoSM1wSmAdwNfemUxH9Z5fd6lr5Z0EqS8k6VfiWOPkra6c2LTjoqdotb+z0Q==","signatures":[{"sig":"MEYCIQDTi1ok4mRbLp6J97C7koV34JlTlJl0NMKDIHaSBqMzigIhAKtOLK9hcdwYVyAmxh5wMH5fR5fOBnCG9P2bSLOgawY7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIERKitiE7qsCrlNKFl6ydB/Cc8+uEXgt5zlJnMBGGBNrAiEAjIshBI3znXE/8i2k2kQbJsVHEwHd/muokV7QNmSPAMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1015158},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"14b62f8a78543a3923566e8668cf6fdb5092a616","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","cross-spawn":"^7.0.6","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.4.1_1789315315103_0.5516063785912655","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"tianshu-mcp","version":"0.5.0","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.0","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"85c397561651005798bd9b398c894cd14f0ee1eb","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.0.tgz","fileCount":192,"integrity":"sha512-osKA+wZjaslsVlpGodT4UEMrEhB65DumbREZRsNynS2j8JZO51tvNniC+QrntdUDfDw2meHSTd7L6ZSGy6HQ9A==","signatures":[{"sig":"MEQCIGGEQXoI3X8rqUxSm8FAXQP9jE8bgJGnWpIcJgDuT6HwAiBJWRXONVPpYzOfgu9bM2j10wrSsTykuWDQnWK3zfPNFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBxOHKCZdFLXriVppnXEe7raqR6oarmxI8ttpZpMiUiLAiASCBWw2tnw/cHaJUCW/fVm8zjAqPm2HOZJiwx/8gqN0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1193438},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"252656d9749483624eb14fe84a34b201b065f515","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.0_1789388496082_0.9836084043016493","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"tianshu-mcp","version":"0.5.1","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.1","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"529efba6f90c9a8c724f61905af62e14361ff404","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.1.tgz","fileCount":192,"integrity":"sha512-e3NAQlETEPLOatYH2fiP5ANifLvIDmmQspbXKQllgSs1NkSHgz3zERT+Mv9/JmnE0bfjtAmWYL6lUcm2M2/Bfg==","signatures":[{"sig":"MEUCIQDYLWk+6oXx+ysyludg6tiCSa+NObbrivRocYIDo2r+lQIgYLC1npb5lMq06hoKS12+4YVVQwRGUgvfccMw6K62D7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAQiyce2lJYB9CAGnuvpFlDWFbGBaI7GqMHMdaCmhN56AiA/aJn+nUNlLl1HGzdbm7zMMUPVACdFao1N1fEGyc2kLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1204626},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"c24fc67912c8792384474f420b3056079046a144","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.1_1789392276014_0.5056873368438595","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"tianshu-mcp","version":"0.5.2","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.2","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"c143919e0723a806ab038fd0c52b872c59463c75","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.2.tgz","fileCount":192,"integrity":"sha512-SkFrNxU+fq2wMhhsRqX8VvKNAOlvYiZxe0UOQdey029k+wR3riOggMKmRYlFGlfLDHS6RHJW1jNJcxuyIeFcog==","signatures":[{"sig":"MEUCIQDNxa/eaClmO6dQLIz7SnOP9xHvxmN09J2zbookjV82iAIgU+gSCLV4jNuSwrcjrvYkxsZ2NBtgul1srnqkF+v4Ap4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC1jT9e3cAUIyQgJdLJVULA1uOta/ktvXBXXcx17VQ6xgIhAMms8v2mKEDwIAAs9mmS+Iy1R761uBk7pIeU1xYXbC5+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1246245},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"a47dd4ddd7d09df3f2b53df4ec759a1b3147cf3e","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.2_1789402541589_0.8743241473826266","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"tianshu-mcp","version":"0.5.3","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.3","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"15b9862f407184b201b77e76b01d519b97794f1a","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.3.tgz","fileCount":193,"integrity":"sha512-0mKvnaWp80S9c0zBZ4p+PfRmeA4zdQD9Tty2N437yjorDdGr/Qu8Y26RQuA2rkRKFVgWtBc4v6+twZ4awQNajA==","signatures":[{"sig":"MEYCIQCgACB4Ntsn4mqrorRpn5jCBwrKZtzcejAOPe44HUSJjwIhALsyoyC4rl9jYgl8vEyt9LNMaLN54XDakxf9/sX5zRUr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDTDTBkL2ZFTDvG2x8+/W4HrsFGetIjHbTmJiMUqcFyYAIhAJpS13gi15L7MXO3Y3E77BaZKPRjyNNFHDJtto3zGblg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1261816},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"d77c288c11d20c8eb4aad161cf830ebb074b4136","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.3_1789429483042_0.10053182260788884","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"tianshu-mcp","version":"0.5.4","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.4","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"eb405680f74718ca8fb21b73c94dcc34a31ca47e","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.4.tgz","fileCount":197,"integrity":"sha512-NBlVMYhGc7K0oZ0r9H0RjtGn768CBokKSmGKnr8M0WZe35TFkqK2ytnmtjC2tFy32AxvY7LfvbarvqCJTgN7pw==","signatures":[{"sig":"MEQCIBZtq0phBleV5BzCJp+lvzVaZRON+q6vpCDfKULzgLH7AiA8nL3lhYXzkAdKQLe2vpLFzf2H4rQGpKHdMid4ruDiBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEKzV/vU7covYkvEJg/uiO5xxFnTKOHmfhN53CGaA1bMAiA3Kf1ZVEw04IPoBbzz7xI9oJJ4JO1E6F86EuWgYjfoAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1368428},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"ea797d14a7c5d1ca9761e385ee9b1de18fa80d56","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.4_1789561674913_0.964970908056495","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"tianshu-mcp","version":"0.5.5","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.5","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"ae020f311c63516e90189a4a972ebcdf0ac68284","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.5.tgz","fileCount":211,"integrity":"sha512-djh6NgdrKmy8uCUG36p5WaNRCerk7xjisrVX8iUlTAIy9YykqJB2Cwi1g0xDNJ3sBlGJfbh8/xTzHlplaU1clA==","signatures":[{"sig":"MEYCIQDx+5VTL4C6DVvGSSKlgKrNOkGxFsITzAhZZdB/IP8LmgIhAIB1hmXtiduRAILafqIeFo1uMbHKCXlXETgwlaF89k/J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHtr2O/3uwMUV3rCKEz4y4IIOMFSlDQYXZbS0RwDHfgxAiEAoPpYTjOZBPlTOzmP/JazhE7jKFpy4Rjq7+vQnEER248=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1611179},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"9f160fee9c495348b37a07ae249e0cc524c0259a","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex CLI、TraeWork GUI 与 ZCode GUI 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.5_1789856798191_0.16530506442184034","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"tianshu-mcp","version":"0.5.6","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.6","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"67d6babc0e46655cdc4c699f3f8fced9679de38c","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.6.tgz","fileCount":230,"integrity":"sha512-o1f1eI3Nsqp0yM8xjSvaUHSnG1yG3t6HqeC75of5lpayUc5s098eU5KEQirh3nkTy/YzXjldzsHcoPv5K99bBw==","signatures":[{"sig":"MEQCIDvzYUpBvZF6G1A3G5YOUxe578RlEv3AfAdJIrTcNtTwAiAhe/KsSHpEVu5GIkrP87HuoUH3P0hk8aK7K1LFdWu19g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD2DzWMQfGbJ+vz6M+ATYyqX4j4hNdEo11z8QowwJ6+xgIgdhh8kOyEqC4+0rervb7cZncJtCIHz5+aduF159O1bj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1794356},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"9ee03da4726d0da7e919b07b72df964b46a72fd1","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:qoder":"node scripts/probe-qoder.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.6_1790088462321_0.7414990548196809","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"tianshu-mcp","version":"0.5.7","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.7","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"48def1cfecdfc749d69044585fe52ee688609a03","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.7.tgz","fileCount":230,"integrity":"sha512-QcrW+kMPaoS68ej4PcujTMJh7Wj+v4FV/YNc3srmI7fRMXcBuD1ukx3x7Swrpld0t4XicT4NsK8aobgCPaBhOQ==","signatures":[{"sig":"MEYCIQDjwav9VoQzmwfEkMxUX0lIWfqOOpgVMrVn1EFZiMJEfAIhAPpUBzRFNehmVxvscqaxOdO3Tpz/sK98s6vMdHmUaVEW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCQmnZxlj4jbvD9iJXwrp4/yg+KRu+NoD1uy52d1GMgpwIgBsfEex8XZv/jZIo7JR1Bap2pKicWCWWqOGoCmV83tZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1820698},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"71af40c95f7487e9f730a5fcc49b2a4f135371e7","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:qoder":"node scripts/probe-qoder.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.7_1790092250366_0.7058484500604625","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"tianshu-mcp","version":"0.5.8","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.8","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"5bfc28037814309034a498c8e4107f0d52ed415d","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.8.tgz","fileCount":231,"integrity":"sha512-ufGfiUclntg93oQZbsxj7VoShKMK8AFx29fGReesoY0trVSEcn8O86zS9F/7yPemM9ESZ0gi1h7Pe0Hoshupkw==","signatures":[{"sig":"MEQCICW31Mq5wnRFTVXg7U4Aymxew2s2y1RV4xGIlPrj3XyVAiAies5F6Fxckm657OuSuVKtk7m+9kSXxpgZACgqD3rMyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGnXln5ogr4LRsKno/LjaaL8SSry8EsagiaPZI33wLPNAiAw80kNPxa2med4xf6MaTvbYLbFMBv/MM6JuVODtYOjKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1839971},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"454b23c75797f1c3ac0cb45a0f93dd6f2c1a0723","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.8_1790097627989_0.9152740862423434","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"tianshu-mcp","version":"0.5.9","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.9","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"48778ca33b7b648c93e0eeff0b93c1b4c524027c","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.9.tgz","fileCount":231,"integrity":"sha512-melZRfxXRd0jNyqX2WXZA1YoLzCkl49PRHNPCBwvTEgZGYOvyQhk/F5DWjhyCTwmX5mmFd13wlo+PnQe6glMbQ==","signatures":[{"sig":"MEYCIQC8sQtyi+9sKpQSGBIeb86JefcUFP5aTvub0S5e23yapgIhANEF/PvfGPtcLdRfjiXO8JU92Q1Hjbf8nAPo1LWSMBWo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDDQZgGlEByL5v+TwJ5fA0VM6WKVgPSHmTPeVu9wbfBbAiEA8h6n07nF3YKvGzTWrtU88lydPzeJBj9Qqm5102SdAaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1864421},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"fa926af71fb02f3022ff735f3ea06ac00e2ff940","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.9_1790112661969_0.6320830409553042","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"tianshu-mcp","version":"0.5.10","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.5.10","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"674294f88b21830090fff4ce81229b73dc599173","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.5.10.tgz","fileCount":232,"integrity":"sha512-A3bYZQOA7B7p9E7NRbMyis2fWi48PEAq2HrK7bOqMxcyqqjeN0U+inT5iM7jD2btLil4WiNqPWHErEpAEB7v4Q==","signatures":[{"sig":"MEYCIQCEm6kCJOH9XwFShP+u73hNL2d1ms7UF+CVH2ATMDTfDAIhAKiIpK/cjGNc+5zp9lDWCXq0wJXiAnAz0e8sXk8JnrSu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCCIgi37R2qQbrqy8FQEbYI2eRL8ohHJ0LD1GhnWzve3gIgZLG6sgtf23ADxB9XK3iC1R1mT7XJU8m4TvEht22Nk/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1919514},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"44e9180ec49754fdf35bba609263c8515b985ed5","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.5.10_1790118355524_0.28732276426977266","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"tianshu-mcp","version":"0.6.0","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.0","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"f655356cd30ca0f543ba8194186cc0629ea4d2bf","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.0.tgz","fileCount":232,"integrity":"sha512-QX70SgLYJz4mUXtOFWsyiF1XlYilvv10hxd+gAeJ4LtctfMGMfST1qY9+NUbDfonQZtiPunyn5raWxFSMoZyHA==","signatures":[{"sig":"MEQCIAVszvvI0pBqCVxMAbyY4G7FdgEq36WRDtaQaZLT8UJ6AiA7AR1parJzuEicxw69hsTUgjXAzWtV9a/VM9R3wNlLjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHnC/6Umfd1H9ZPTPDBGUNvtxGc9Y9NNlY8QNK+R/PfeAiEAoGCta5Oa8+NrJf8AnZmSzpbnmEB4rOf1l2LCWBpMyRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1956158},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"db85349a4091e3c328b691978eb7e8f8729a7754","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.0_1790167335191_0.1011546416790019","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"tianshu-mcp","version":"0.6.1","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.1","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"c35efd26ca7b6a69b84b28d477bce81db5dfa2f1","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.1.tgz","fileCount":232,"integrity":"sha512-zSI+TvFMSBCdYt9DSdFwJ7oerICWuclivpYBREdffy+WIne1FJNfTsnC2LxSlZ/3C+B73VzKmyKDr3I4TLq9TQ==","signatures":[{"sig":"MEUCIQDeig9v7xUDNLpWVctr/5tr5jroIPCqKxRTJIXVlKu83AIgJ6L7U8GRBWWSzrNPgjYQ0CzZC8G07gxH+8XNqbBFGnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDYLHm5IfBfaDSkO/Ufgd7CMVGaplGrWb5s8qyAzmcQIQIgVc4FeMiNBMxyKE40tkZy/PL4XRCSjNT2LjIaX5Q3TOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1973065},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"a1fe7cdb0dd8d999b5bcbd16f1a8da4e8623d5c1","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.1_1790171750839_0.05362516585881427","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"tianshu-mcp","version":"0.6.2","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.2","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"868ef08941ddd99f1c9a6e601c1ccf74302a97b2","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.2.tgz","fileCount":234,"integrity":"sha512-swnLECpvKsESWWNmjw1aVOoFECDRThJrbeeNRS656ktQiRfeJvrtzdNz29no6dPE7jlhdbFv5FaKBKZI2Dtjfw==","signatures":[{"sig":"MEYCIQDzg8uueHBDw3bKriQtVlER86OJzvdTfrHaC8kUZlAqiAIhAKCTfO2bNZlCLkXPdW7a2XU2L6KjYFH5w8kS71Mj5n4m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDFO7/OJuCWooVUTlTHJraKqFAiX9O4t+xCkZ/ScGgxbQIhAKf/IMZsVJm+tGGi6Y9hE6LJvzxoVBZp8WDnnq+FWCiJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2019997},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"ecf5aad2d7b3e311b3777dae4a191a775a7e17ce","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.2_1790179513148_0.4568565283600119","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"tianshu-mcp","version":"0.6.3","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.3","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"b4f3c8dd1bbc322767fa5881ce2cca04be6bdfaa","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.3.tgz","fileCount":237,"integrity":"sha512-buUzNsZOPinLbo4gGNvtESUBFfQf8Sai8pMwB0VRIUzDlvHmm1yhMlu4KYZhIVRtPle8qvHhPoDnv9DyWbdfuw==","signatures":[{"sig":"MEYCIQD6X8eGVJ/XSoNNeaSLAz0OWIE/Ihsj7w3h1P6579FfcwIhAKpKrlo1uq9vm4SVT17hpFas652E6tq5XEVIyIvrAQhz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDUtJR/2YfBcI0pAofcpYAxGi4k31roW3LcIVaz+R26sQIgTFUgPZlMCiNqjYe5uGf+5HnLJeSqmAn5tiZNY54l7xA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2049451},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"a54a34fad604828d329e9cf4bbcbcac381e60747","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.3_1790250815820_0.15921884103920192","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"tianshu-mcp","version":"0.6.4","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.4","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"d62c56022c3124e78cd2e8bc83e2c4baff3ad8ff","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.4.tgz","fileCount":240,"integrity":"sha512-kjQgWUOaQ72GH36GmYM+qEu28IGNWS6KS5d8uBkWfFjIq478qHO6TBCi35GF6j1CEXMuauBLjiVT7/YLqJzTaA==","signatures":[{"sig":"MEUCIQCa6N7mL13Psq69LRSZhZfFSihhkDRfPdUAqzKyD4mfyAIgf2snalpb485xS2Iqe8VissNSCM3y30ebf7r3dx6VHPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDtISluUKkhNWSY3RRlmiuJP15ncOWxYHmfLBUwA0yXFAIhAKQIcWFLSa6JcOPUMODcFbFyNqtdgH8Oc3fQMrgZfsKg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2080315},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"a977a669ce0df03491f4a3c576d6b5f1af19ef7b","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.4_1790253285235_0.27568217794349925","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"tianshu-mcp","version":"0.6.5","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.5","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"f54fa76ee2d1ff245a1148513ec62ea516a993ea","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.5.tgz","fileCount":242,"integrity":"sha512-H+zpcvX0uD3A6+ML9h56JXWvrDkvYHS9HV9ZTUqyWxsGJZetiZ3/MgabZdu6xg1ZolztPDwUYn5amXUEs1+hcQ==","signatures":[{"sig":"MEUCIQDsiVcy74LnjabO99+4UeUcbCeP4EFh3vzipxW2VMKXXgIgfdPpEHNxUC+bXqSzLTO2Epm9bw2VREuTqti3gX0wR9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGj6szBUiJPVsS77XCFLrz0sbaK9pztAM7NWfD12gCHBAiAmAFjT/pRhHUSBdpUB5BoVmR5+kFSAHVElL7qoBuGLsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2102481},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"6a150f55f81bb2658822b6c5ff3f860e417ae2cd","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.5_1790257107304_0.34157137274219784","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"tianshu-mcp","version":"0.6.6","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.6","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"9e2f8ac1de4146f9b81fdba808a5b307c738af67","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.6.tgz","fileCount":245,"integrity":"sha512-nGDBL54/+BaW3PNALIoKWQ8YZqRywgGTco3ag2E/G1NPNytH0Wbv25IS/cpEjAVwEjoYqngOderdb2saRIOapQ==","signatures":[{"sig":"MEQCICO9D+YViOeENqEaF5QEOm5KQz3N5lmnA6rAOdYpqgzDAiBWWY93jHlKKIb4AtaBqxowl0TyPY0YXz5UMu5UUCEiaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCqp9Eg6w47e4KbnMkjDuz8f2wrYsCBZNgAZOCXjVNGmAIhAPg5mcfVAL7P9iBIGc3csIYL+I9ywEdeLDX0Q6hWFbCW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2146868},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"939ef15603e8f1f4fdc14d0a606f62ab71535af3","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.6_1790259082122_0.9597435003529242","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"tianshu-mcp","version":"0.6.7","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.6.7","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"a7c5d93519203eea0dc09009437f1f70b85743eb","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.6.7.tgz","fileCount":248,"integrity":"sha512-hoF2kVTcShf9l1kQO8sIWeQcUUotxXK3vEJWrGtbuFsCCeIVsB2YH+vsXYiNIWxVoypJ8+spnigu3J3K37SErA==","signatures":[{"sig":"MEYCIQCwCGGpvExGinvTfb1HKIG6J3Zyo8FnVwHp2FHI6KdvEwIhAIna9UjBAp3F8GG6BSrhNhu6EISodvlYTiP5lMOfsoNE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC8mTB5vwVHQhuFaC4uMDzU/mVVgXXJkyCstwVMWJz6eAiEA7uObdwhhkcnyOEPZe1NlPBK4EFzBVq1eU6Szz4jjP7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2176414},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"ca987974df867aaddbde02f34cec5a77001ba544","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code 与 Qoder CN 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.6.7_1790261151092_0.054301038265071044","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"tianshu-mcp","version":"0.7.1","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.7.1","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"0c2b257618d7c8ac75e5d20c44e098444c372d11","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.1.tgz","fileCount":272,"integrity":"sha512-+Ru2LKOkG4HqjiOKsdEdtftbLOCovJf/rJLPPyOX0Q5mcENSwdE2GsYuCL29PHIGjowSx1LNL2Cbk7SZMXGzEQ==","signatures":[{"sig":"MEYCIQDa+WvikVPAHHSx1P8qucVtjLNZhkXA1ZXvWLPtzZvf9AIhALrCg8VduKDk5lhirD2VHJgb4EgPdrsteICEWQf58M9P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAqVfSXqtFiKgmOWvMedFMYqF+GU8733MO/rrUf7LkLHAiAitM+WI3QMUDbhmHfrWkj9elC5rUN1eHMnvQgslGEnjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2703074},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"1174df77493d596f8d49df6579b4894c78d8fcb0","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.7.1_1790609993555_0.8767051737817959","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"tianshu-mcp","version":"0.7.2","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.7.2","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"cd568105e4565fa969a59f1d7ff15e750cbd6396","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.2.tgz","fileCount":272,"integrity":"sha512-39yX0/KO78XIPjmwHgrKOVuAYHxZYpzh4LBE8aP2Kio6CEqJqHb76CqcsAXYFyuJ61QhGC0RsY8CC9dba9XjcA==","signatures":[{"sig":"MEUCIDwn9YgXz3DND1LqEzHnRUpphXEsSns8IIt4+0sxLMZjAiEA2oOksunMjM7n2c9dIQZwN3wAD9mF9NpRVWL25N/5J4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHiFL5G76Sxy7ah5Y5fwnXmb11Zeoqs7lE8+xs3vLz7CAiAnDFJxSPjnd0S7FmJ2kJOUKWTdMbjz5dM5TE2c3ciaAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2705323},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"f4a212daf7ce2b18611e42a9e416a63edb50d3c8","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.7.2_1790612213452_0.3993068484857838","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"tianshu-mcp","version":"0.7.3","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.7.3","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"c22abc66f3130855be998872483025a1e3af3b58","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.3.tgz","fileCount":272,"integrity":"sha512-Iwy3XDtoewrQuPyfJd8GEPkdEoWjKtQldHPzq1dlD2qqX7AEXU8n+CTbRAkn8q/iwlAJM/Fz0LY+1j5Poq1HJQ==","signatures":[{"sig":"MEUCIGPz67RLvNwqUktVB8Yq/Qv5uDL1Mtz6QAI7OW7pTfNSAiEA/92f0D8/u392ahMJyPK3JeS1hOn5pn6yu9LfU3xX4MU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF7XpMqXyYgoLgIg7YQuYXMP94HeR886lk8/3L1U9xLKAiEA8ctK3Znvm5VOymSP2U6W3nmbboa4XzyLI5tkRM46zfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2710635},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"dec4cfc9f50e3c4437a493e34cf58e682701ad64","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.7.3_1790614190158_0.0715511072718007","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"tianshu-mcp","version":"0.7.4","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.7.4","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"e7c2538ef6a8c0537e6392117dabce1aa91eb598","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.4.tgz","fileCount":272,"integrity":"sha512-zVFQjhYCUYL7yDiX5Rj7jVmb1G/NVYFgyMe9AaCthL7vas5IgiBR+bpnvz73z6s+p993DjveJh4reGMm7Nx+EQ==","signatures":[{"sig":"MEUCIG9PyboRAd4zItOwXoS3mRHOeEsf5XwiLyAUACE/4y3HAiEA2jcWUgjcbeLCKKq2OrzJoaQrQs8tLgqWtwLRJj7kPbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHgVQ0JWlWlo3ysVgElmVssy9+Xphl19JHEZeFyvlWECAiBXF8Nl7p5LXSecYx779sfWTtBaAH94lmo/BuoHHw/l+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2730804},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"5e0d256c4959d3f9f36ce98dfceb1ed673cb0217","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.7.4_1790618968498_0.9264595486111431","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"tianshu-mcp","version":"0.7.5","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.7.5","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"18d885e322157757b4839b1f3b7fb37f76a3974a","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.5.tgz","fileCount":276,"integrity":"sha512-hS5CjZ9D5GTSSPf+4GVSDP6B+3cbKbIXxlKXpmUUgsTG5RorxmL6MSWBRAohlA2XhFQUYu3oJa4voNted0Bz3g==","signatures":[{"sig":"MEUCIGMqAP1mjnr2z3fP/zeMDB+e0aCJiiKyPDMBVhCAFeN/AiEA0z4mwKlKXOy3JUYIMVo6as4Dnn3g4VHj2RDfPc9kclk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCPQYJ3SAJOV2oVc+MsIP0qYPLnzW2PN097MvVYEus6wAIhAIIjuciBEj1S7zZTfAdx0JzaAC2HPYTXgrqpxfYjD8B5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4113092},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"e0df6c2428a7d3f02989f81f86f30c1871c18b92","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.7.5_1790693107604_0.9785408082757199","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"tianshu-mcp","version":"0.7.6","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.7.6","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"70b40f942d0c2652f3fff71fddae4ceb7ac90e2b","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.6.tgz","fileCount":276,"integrity":"sha512-ZFss6+JU+Vy1Elr2a6peqzSJP7krXSfYCpjmfdI2S6jy6SidN+X+Ro3MqX5twav3Ac7N19GpIAmOUd5xzHLVuw==","signatures":[{"sig":"MEUCIQD/rXJLdEKsq2Eo9a+wvGXNMX/Urvr6J0VWCTWCqEMhUAIgAjPHFrouoXY5xUee4AuyigIgWXYyXWAPCspig3UttX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDHbWiH2hP1XCqlSPswfANPjCMFW043GxIU1XTqR/pzKAIgQQL1P95bUD3Da1Yii0qV15jJiEp8fS3yRMy4hH4o0lQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4151258},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"25e3641c487971018667a84069d6ed9f5cd6ae51","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.7.6_1790778262024_0.9943339244358722","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"tianshu-mcp","version":"0.7.7","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"license":"Apache-2.0","_id":"tianshu-mcp@0.7.7","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"bin":{"tianshu-mcp":"dist/index.js"},"dist":{"shasum":"ec80a9ea4eac9f6f2d00f08c878cb63170fee42f","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.7.tgz","fileCount":279,"integrity":"sha512-cCQnCKey1DZvV6Y/mPd2cfJEIMg2w+YRMOyAN24DT3h/GTrqo3Qm9No6jPKSDQaaUwMY5yD4m4/RUCzq3u1wsA==","signatures":[{"sig":"MEUCIQC5dQg9xjpvvNihqi2kTv2WOtfn43UAyEU+BdqsLrCQAQIgNGjtIrlR4qy/za2gvFZV8HaxZyGpLHbzmeou5SQXX4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA4jSHwxMvUms2+sMn/xFDDrOifJ3JnWgbl6uBRek+AsAiEA+sP5h9Rhsq10fxeTSTHiHe+TaNRq0vIdpUUkLAnvpLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4193864},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"89a2b9f74cb8d5b0061351412c25d53f186d3131","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-mcp_0.7.7_1790857762699_0.6336823365414674","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"_id":"tianshu-mcp@0.7.8","bin":{"tianshu-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"dist":{"shasum":"05aadc89ddcd53925e745ca597416336bbf8212f","tarball":"https://registry.npmjs.org/tianshu-mcp/-/tianshu-mcp-0.7.8.tgz","fileCount":304,"integrity":"sha512-MeLDeE/dozfnTKYlBX4Hj/nChuwWMU5gfEkY0NlI6oE0FlQMUL4f7P5Eqe9RJHNgFlUnDYGkBpk/JgpSXRAyHA==","signatures":[{"sig":"MEQCIAdMGbxqTB4p7yNJHfooTr83DLggta+3hrO89HnQgyu+AiAk3HDbPAfVXdyNQcMBEkolWFd4ZVwzYmQzIM/vNN2OSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGzo/RRYyqaMUheae6chkcogKA6GFFoaYV6vvZM1osf6AiEAk1NSvxSBujKN2mj4ZPwqZm3Oent6BhYUGdZ+lkTzl2o="}],"unpackedSize":4527189},"main":"dist/index.js","name":"tianshu-mcp","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js"},"gitHead":"e23f2bb54e7d815536d7f931bdfe8b7f5aaf2aad","license":"Apache-2.0","scripts":{"dev":"tsx src/index.ts","lint":"eslint . --max-warnings 0","test":"vitest run","build":"npm run sync-version && tsc -p tsconfig.build.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","typecheck":"tsc --noEmit -p tsconfig.json","pack:check":"npm pack --dry-run","test:watch":"vitest","check:stdio":"node scripts/check-stdio.mjs --entry dist/index.js","probe:codex":"node scripts/probe-codex.mjs","probe:qoder":"node scripts/probe-qoder.mjs","probe:zcode":"node scripts/probe-zcode.mjs","smoke:zcode":"node scripts/smoke-zcode.mjs","sync-version":"node scripts/sync-version.mjs","fixture:zcode":"node scripts/prepare-zcode-fixture.mjs","probe:minimax":"node scripts/probe-minimax.mjs","probe:kimicode":"node scripts/probe-kimicode.mjs","probe:traework":"node scripts/probe-traework.mjs","check:stdio:src":"node scripts/check-stdio.mjs --entry src/index.ts --tsx","probe:opendesign":"node scripts/probe-opendesign.mjs","seed:skill-state":"node scripts/seed-skill-state.mjs","evidence:visual:windows":"node scripts/evidence-visual-windows.mjs"},"version":"0.7.8","_npmUser":{"name":"lotteai","email":"lanaiw2025@163.com"},"homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"_npmVersion":"11.16.0","description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","directories":{},"maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.24.1","pixelmatch":"7.2.0","cross-spawn":"^7.0.6","puppeteer-core":"24.43.1","@puppeteer/browsers":"2.13.2","@modelcontextprotocol/sdk":"^1.15.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vite":"^6.4.3","eslint":"^8.57.1","vitest":"^4.1.11","linkedom":"^0.18.13","prettier":"^3.4.2","typescript":"^5.7.2","@types/node":"^22.10.2","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^9.1.0","@typescript-eslint/parser":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.18.1"},"optionalDependencies":{"sharp":"0.34.5"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tianshu-mcp_0.7.8_1791226991058_0.5887332856415073"}}},"time":{"created":"2026-09-07T15:49:03.272Z","modified":"2026-10-05T19:03:11.389Z","0.1.1":"2026-09-07T15:49:03.493Z","0.1.2":"2026-09-07T16:03:09.448Z","0.1.3":"2026-09-08T01:26:07.914Z","0.1.4":"2026-09-08T01:44:54.635Z","0.1.5":"2026-09-08T12:40:10.828Z","0.1.6":"2026-09-08T15:23:30.265Z","0.1.7":"2026-09-08T17:01:52.904Z","0.1.8":"2026-09-08T17:40:07.800Z","0.1.9":"2026-09-08T23:59:33.898Z","0.1.10":"2026-09-10T04:18:47.166Z","0.2.0":"2026-09-11T11:35:43.847Z","0.3.0":"2026-09-12T00:34:03.054Z","0.3.1":"2026-09-12T05:41:11.816Z","0.3.2":"2026-09-12T11:12:50.459Z","0.3.3":"2026-09-12T13:15:29.039Z","0.3.4":"2026-09-13T02:59:26.008Z","0.4.0":"2026-09-13T14:44:51.561Z","0.4.1":"2026-09-13T16:01:55.331Z","0.5.0":"2026-09-14T12:21:36.249Z","0.5.1":"2026-09-14T13:24:36.135Z","0.5.2":"2026-09-14T16:15:41.767Z","0.5.3":"2026-09-14T23:44:43.145Z","0.5.4":"2026-09-16T12:27:55.016Z","0.5.5":"2026-09-19T22:26:38.294Z","0.5.6":"2026-09-22T14:47:42.444Z","0.5.7":"2026-09-22T15:50:50.464Z","0.5.8":"2026-09-22T17:20:28.102Z","0.5.9":"2026-09-22T21:31:02.067Z","0.5.10":"2026-09-22T23:05:55.670Z","0.6.0":"2026-09-23T12:42:15.288Z","0.6.1":"2026-09-23T13:55:50.966Z","0.6.2":"2026-09-23T16:05:13.294Z","0.6.3":"2026-09-24T11:53:35.970Z","0.6.4":"2026-09-24T12:34:45.351Z","0.6.5":"2026-09-24T13:38:27.440Z","0.6.6":"2026-09-24T14:11:22.249Z","0.6.7":"2026-09-24T14:45:51.257Z","0.7.1":"2026-09-28T15:39:53.681Z","0.7.2":"2026-09-28T16:16:53.561Z","0.7.3":"2026-09-28T16:49:50.301Z","0.7.4":"2026-09-28T18:09:28.655Z","0.7.5":"2026-09-29T14:45:07.744Z","0.7.6":"2026-09-30T14:24:22.149Z","0.7.7":"2026-10-01T12:29:22.858Z","0.7.8":"2026-10-05T19:03:11.218Z"},"bugs":{"url":"https://github.com/lanlan0811/tianshu-mcp/issues"},"license":"Apache-2.0","homepage":"https://github.com/lanlan0811/tianshu-mcp#readme","keywords":["mcp","model-context-protocol","ai-agent","orchestration","codex","zcode","traework","kimicode","tianshu"],"repository":{"url":"git+https://github.com/lanlan0811/tianshu-mcp.git","type":"git"},"description":"天枢 × AI-Agent 编排 MCP server —— 驱动 Codex、TraeWork、ZCode、Kimi Code、Qoder CN 与 Open Design 完成项目开发、验收、失败返修与再验收闭环。","maintainers":[{"name":"lotteai","email":"lanaiw2025@163.com"}],"readme":"<p align=\"center\">\n  <img src=\"./assets/tianshu-mcp-banner.svg\" alt=\"天枢编排 MCP tianshu-mcp\" width=\"100%\">\n</p>\n\n<h1 align=\"center\">天枢编排 MCP tianshu-mcp</h1>\n\n<p align=\"center\">\n  <b>把开发交给 AI-Agent，把验收交给运行时 · Dispatch with agents, verify with evidence.</b>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://lanaiw.top\"><b>官网</b></a> ·\n  <a href=\"https://github.com/lanlan0811/tianshu-mcp\"><b>GitHub 主仓</b></a> ·\n  <a href=\"https://gitee.com/lan0811/tianshu-mcp\"><b>Gitee 镜像</b></a> ·\n  <a href=\"https://github.com/huiliyi37/Tianshu-harness\"><b>天枢 Tianshu</b></a> ·\n  简体中文 ·\n  <a href=\"README.en.md\">English</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"ARCHITECTURE.md\"><b>架构说明</b></a> ·\n  <a href=\"docs/agent-profiles.md\"><b>Agent 配置</b></a> ·\n  <a href=\"docs/acceptance-config.md\"><b>验收配置</b></a> ·\n  <a href=\"docs/visual-acceptance.md\"><b>视觉验收</b></a> ·\n  <a href=\"docs/event-stream.md\"><b>事件流</b></a> ·\n  <a href=\"docs/gui-log-viewer.md\"><b>日志台 GUI</b></a> ·\n  <a href=\"HANDOFF.md\"><b>交接文档</b></a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/github/actions/workflow/status/lanlan0811/tianshu-mcp/ci.yml?branch=master&style=for-the-badge&logo=github&label=CI\" alt=\"CI\">\n  <img src=\"https://img.shields.io/npm/v/tianshu-mcp?style=for-the-badge&logo=npm&logoColor=white&label=npm&color=cb3837\" alt=\"npm version\">\n  <img src=\"https://img.shields.io/github/stars/lanlan0811/tianshu-mcp?style=for-the-badge&logo=github&label=stars&color=24292e\" alt=\"GitHub stars\">\n  <img src=\"https://img.shields.io/badge/License-Apache%202.0-3B5BDB?style=for-the-badge&logo=apache\" alt=\"License\">\n  <img src=\"https://img.shields.io/badge/TypeScript-5.7-3178c6?style=for-the-badge&logo=typescript&logoColor=white\" alt=\"TypeScript\">\n  <img src=\"https://img.shields.io/badge/node-%E2%89%A520-339933?style=for-the-badge&logo=node.js&logoColor=white\" alt=\"Node\">\n  <img src=\"https://img.shields.io/badge/MCP%20SDK-1.x-6f42c1?style=for-the-badge\" alt=\"MCP SDK\">\n  <img src=\"https://img.shields.io/badge/Tests-1383%20Passed-green?style=for-the-badge\" alt=\"Tests\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/tianshu-mcp\"><img src=\"https://img.shields.io/npm/d18m/tianshu-mcp?style=for-the-badge&logo=npm&logoColor=white&label=MCP%20%E4%B8%8B%E8%BD%BD%E6%AC%A1%E6%95%B0&color=cb3837\" alt=\"MCP 下载次数（npm）\"></a>\n  <a href=\"https://github.com/lanlan0811/tianshu-mcp/releases?q=v&expanded=true\"><img src=\"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Flanlan0811%2Ftianshu-mcp%2Fmaster%2Fupdate%2Fstats.json&query=%24.mcpDownloads&style=for-the-badge&logo=github&logoColor=white&label=MCP%20%E5%8E%8B%E7%BC%A9%E5%8C%85%E4%B8%8B%E8%BD%BD%E6%AC%A1%E6%95%B0&color=2ea44f\" alt=\"MCP 压缩包下载次数（GitHub 发行）\"></a>\n  <a href=\"https://github.com/lanlan0811/tianshu-mcp/releases?q=gui-v&expanded=true\"><img src=\"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Flanlan0811%2Ftianshu-mcp%2Fmaster%2Fupdate%2Fstats.json&query=%24.guiDownloads&style=for-the-badge&logo=github&logoColor=white&label=GUI%20%E4%B8%8B%E8%BD%BD%E6%AC%A1%E6%95%B0&color=1f6feb\" alt=\"日志台 GUI 下载次数（GitHub 发行）\"></a>\n</p>\n\n---\n\n<p align=\"center\">\n  <img src=\"./assets/mcp-running.png\" alt=\"天枢 harness 桌面端通过 tianshu-mcp 调用 ZCode 完成开发\" width=\"100%\">\n  <br>\n  天枢 harness 桌面端实况 —— <b>天枢</b>经 MCP 调用 <b>tianshu-mcp</b> 编排 <b>ZCode</b> 完成一次开发任务：左侧派发与跟踪任务，中间是 tianshu-mcp 的工具调用与事件流（<code>mcp__tianshu-mcp__query_task</code> 轮询运行中的任务），右侧 ZCode 正在执行实际开发\n</p>\n\n### 面向 AI-Agent 的编排层与客观验收仪\n\n> **tianshu-mcp** 是被 **天枢（Tianshu）** 当作标准 MCP server 接入的编排层。天枢是总指挥与用户交互面，本 server 承担三件事：**调度**（队列 / 并发闸 / 状态机 / 取消）、**执行面**（把任务书送达外部 AI-Agent）、**客观验收仪**（相对 git 基线做命令检查、代码分析与可选视觉比对）。\n>\n> 它要回答的核心问题是：**Agent 说「做完了」，谁来证明真的做完了。** 为此「完成」必须有运行时证据，验收不合格自动生成修复计划并返修，轮次耗尽则交由天枢裁决。\n\n```\n天枢 Tianshu（TUI × GUI）        ← 总指挥 / 交互面 / 裁决\n              ↓  MCP over stdio（stdout 仅承载 JSON-RPC）\n        tianshu-mcp              ← 调度 · 执行面 · 验收仪\n              ↓\nCodex · TraeWork · ZCode · Kimi Code · Qoder CN · Open Design\n              ↓（GUI 经 CDP 驱动桌面 UI；CLI 走子进程）\n        目标项目工作区            ← git 仓库 + 测试 + .tianshu-mcp/\n```\n\n- **13 个 MCP 工具** —— `run_task / continue_task / query_task / list_tasks / get_task_report / cancel_task / verify_task / rework_task / get_profiles / wait_task / wait_any`，外加视觉验收的 `prepare_visual_baseline / approve_visual_baseline`。\n- **异步契约，长任务不卡 `tools/call`** —— `run_task` 秒回 `taskId`，用 `wait_task` 阻塞等到停点（终态或 `needs_user`）、或用 `query_task` 轮询；进度只落盘、不推送，调用方看到的始终是「最后一次落盘的事实」。\n- **等待原语（issue #28）** —— `wait_task(taskId)` / `wait_any(taskIds)` 一次调用即等到任务到达**停点**（终态或 `needs_user`），专为回合驱动调用方设计：`run_task` 后在本回合内直接等结果，无需自行轮询；纯只读、超时/中断对任务本体零影响。\n- **客观验收，fail-closed** —— 自动命令检查 + 程序化代码分析，全部相对动工前的 **git 基线**，**绝不自动 commit / stash / 回滚**；「测试退出码 0 但零用例」「git 项目零净变更」都判失败，杜绝假绿。\n- **失败返修闭环** —— 自动返修（`autoFixRounds`）+ 手动 `rework_task`；失败原因被解析为**可直接执行的动作**随计划喂回 agent，轮次耗尽转 `needs_attention` 等天枢裁决。\n- **六个 GUI 执行面（CDP）** —— 各 agent 使用隔离的 CDP 流程驱动桌面 UI，并在关键节点上报细粒度事件，`query_task` 因此能区分「agent 正在干活」与「卡在弹窗等人工介入」。\n- **可扩展** —— 新 agent = 一个 profile（数据）+（如需）一个 adapter 文件，零改编排核心。\n\n> [!NOTE]\n> 本 server 是标准 MCP **stdio server**：**stdout 只承载 MCP JSON-RPC 消息**，所有级别诊断日志（DEBUG/INFO/WARN/ERROR）写入 **stderr** 并同源追加到 `<数据目录>/logs/server.log`。因此 stderr 里出现 `INFO` / `WARN` **不代表服务器出错**。数据目录默认 `~/.tianshu-mcp`，可用环境变量 `TIANSHU_MCP_HOME` 覆盖。\n\n## 目录\n\n- [为什么需要编排层与验收仪](#为什么需要编排层与验收仪)\n- [核心特性](#核心特性)\n- [快速开始](#快速开始)\n- [工具面](#工具面)\n- [支持的 Agent](#支持的-agent)\n- [权限与安全边界](#权限与安全边界)\n- [运行时契约](#运行时契约)\n- [里程碑](#里程碑)\n- [日志台 GUI](#日志台-gui)\n- [文档导航](#文档导航)\n- [面向开发者](#面向开发者)\n- [安全](#安全)\n- [社区与支持](#社区与支持)\n\n## 为什么需要编排层与验收仪\n\n### 问题：Agent 说「做完了」，谁来证明\n\n把开发任务交给 AI-Agent 之后，真正的困难不在「它能不能干活」，而在**怎么确认它真的干完了、干对了**：\n\n- **自述不可信** —— agent 的「已完成」是自然语言结论，不是证据。没有独立验收时，半成品与真交付长得一模一样。\n- **环境是黑盒** —— 桌面 agent 的请求在传输层加密（如 TraeWork 的 TTNet 层 TDE），无法在客户端外构造，唯一可行路径是驱动 UI 取结果。\n- **宿主工具面很窄** —— 天枢的 MCP 工具**只回文本**（`content[].text` 被拼成字符串、`isError` 透传），且**按次同步**调用，长任务必须自己异步化，也不能依赖服务端推送。\n- **失败后没人接手** —— 验收不通过时，如果没有人把「哪一行错了、该改什么」喂回去，agent 只会重复同一次错误。\n\n本项目的形态不是自由设计的结果，而是这几条**实测硬约束**逼出来的：\n\n| # | 实测约束 | 架构后果 |\n|---|---|---|\n| C1 | 天枢的 MCP 工具**只回文本** | 所有结果统一为「人类可读文本 + `---tianshu-mcp-meta---` JSON 块」，便于宿主正则抽取 |\n| C2 | 天枢**按次同步**调用 `tools/call` | 长任务异步化：`run_task` 秒回 `taskId`，用 `query_task` 轮询 |\n| C3 | 桌面 agent 请求在传输层加密，无法在客户端外构造 | 只能 **CDP 驱动桌面 UI**，从 DOM 提取结果 |\n| C4 | Codex 桌面端是 **MSIX 商店包**，无法直接 `CreateProcess` | 必须经 COM 激活并注入专属 `--user-data-dir` 才能开 CDP 端口 |\n\n### 解法：把「谁来干活」与「怎么算干得好」拆开\n\n- **调度层**负责纪律 —— 每项目串行队列 + 全局并发闸（默认 2）、显式状态机、超时与取消语义。\n- **执行面**负责投递 —— 一份 `AgentAdapter` 契约：GUI agent 走 CDP 驱动，CLI agent 走子进程；新增 agent 通常只是一个 profile。\n- **验收仪**负责证据 —— 相对动工前 git 基线做命令检查、代码分析、可选视觉比对，并以 fail-closed 拦住「假绿」；报告分人读 `.md` 与机读 `.json`。\n- **返修闭环**负责收敛 —— 失败轮次把原因解析成可执行动作喂回同一 agent，轮次耗尽转人工裁决。\n\n> 两条边界是硬性的：**agent 的「完成」不是验收结论**（只有 `verdict.passed` 才算）；**环境 / 认证类错误不进验收与返修**（`hardFailure` 直接终态失败，避免把基础设施问题当成代码问题烧掉返修轮次）。\n\n## 核心特性\n\n- **异步派单与等待** —— `run_task` 秒回 `taskId`；`wait_task` 阻塞等到任务到达停点（终态或 `needs_user`），`wait_any` 等一组任务的先到者；需要进度细节时用 `query_task` 看状态 / 进度 / 日志尾 / 最近细粒度事件（`eventLimit`，1..50，默认 10）。详见 [等待原语](docs/wait-task.md)。\n- **客观验收引擎** —— 自动命令检查（typecheck/lint/test/build，缺则跳过 + 技术栈推导）+ 程序化代码分析（变更清单 / diffstat / TODO·debugger·密钥形态等可疑标记），全部相对 **git 基线**；命令默认**有界并行**（`verifyConcurrency`，默认 2，范围 1–4，`1` 即完全串行）。\n- **三项 fail-closed 保护** —— 测试退出码为 0 但零用例判失败；git 项目默认要求相对基线产生变更（纯分析任务可在 `.tianshu-mcp/acceptance.json` 设 `\"requireChanges\": false` 显式关闭）；本轮被取消即 `passed=false`。\n- **验收配置三级继承**（issue #20）—— `<数据目录>/acceptance.default.json`（全局兜底）→ `<项目>/.tianshu-mcp/acceptance.json`（项目覆盖）→ `acceptanceOverride` 参数（任务级临时覆盖，不落盘）。用 `tianshu-mcp config acceptance <projectPath> [--task <id>]` 查看最终生效配置。详见 [验收配置规范](docs/acceptance-config.md)。\n- **结构化修复指令**（issue #19）—— 失败轮次把原因解析为**可直接执行的动作**（`文件:行 / 问题 / 做什么`），随返修计划与返修消息一起喂给 agent；提取不到时**显式回退**到完整报告（不静默留空）。`rework_task` 另可选 `repairHint`。详见 [结构化修复指令](docs/repair-directives.md)。\n- **dryRun 干跑模式**（issue #21）—— `run_task(dryRun=true)` 让 agent **只分析规划、输出将要修改的文件清单与方案、不动源码**；验收只做静态分析（引用文件是否存在、拟改位置是否存在、明显逻辑冲突），跳过 typecheck/test/build；方案有问题 → `needs_attention`（人工裁决），不进入自动返修、**不消耗验收轮次**。详见 [dryRun 干跑模式](docs/dry-run.md)。\n- **幂等重试**（issue #15）—— `run_task` / `verify_task` 接受可选 `idempotencyKey`：同一 key 在 TTL（默认 24h）内重试**不重复派单**（恒返回原 `taskId`）或**不重跑验收**；同键异参 fail-closed 报错。映射落盘于 `<数据目录>/idempotency.json`，跨 server 重启仍生效。详见 [v0.5.10 发布说明](<docs/release-v0.5.10.md>)。\n- **无项目派发**（ZCode 专用，issue #12）—— `run_task` 的 `projectPath` 可省略，任务在 ZCode 的 `default` 工作区运行，不登记 / 导入项目、不采集 Git 基线、不执行项目验收（结果以 `verificationNotApplicable: \"no_project\"` 结构化标注）。配套 `allowCreateProject: false` 可在目标目录未登记时于任何导入副作用之前停止派发。详见 [ZCode CDP 适配器](docs/zcode-cdp.md)。\n- **细粒度事件流**（issue #18）—— 适配器在关键节点上报语义事件（`task_dispatched` / `confirmation_dialog_detected` / `awaiting_user_authorization` / `file_modification_started` / `rework_triggered`），`query_task` 经 `eventLimit` 回传最近 N 条。事件上报是**可选能力**：未实现的适配器行为不变。详见 [事件流](docs/event-stream.md)。\n- **终态通知 webhook**（issue #22）—— 可选 `notifications.webhook`（全局 `config.json`）：任务完成 / 失败 / 进入 `needs_attention` 时向指定 URL **异步 POST** 一条 JSON（含 `taskId` / `event` / `status` / 时间戳 / 报告路径），可选 HMAC-SHA256 签名。**默认关闭**，发送失败只记日志、**绝不影响状态机**。详见 [任务终态通知](docs/notifications.md)。\n- **视觉验收（可选模块，v0.5.0 起）** —— 页面截图对比、静态图片规格校验、基准两阶段批准与规则冻结；缺基准不得判通过，自动返修禁止调用批准入口。另有**可选 AI 内容校验**（v0.5.4，默认关闭）：判定完全**委托给你自备的本地命令**，MCP 不读取 / 不存储 / 不转发任何密钥、不内置模型客户端，默认**仅告警**。详见 [视觉验收](docs/visual-acceptance.md)。\n- **技能自检安装**（issue #16）—— 启动时把**包内** `skills/tianshu-mcp/` 幂等同步到 `~/.rivet/skills/tianshu-mcp/`；仅在**可证未被改动**时自动升级，**检出本地修改或来源不明一律保留 + 告警**。详见 [运行时契约](#运行时契约)。\n- **独立交付面：日志台 GUI** —— `mcp-gui/` 提供**本地只读**的桌面应用，把四类日志与任务产物统一到一个界面（Tauri 2.x + Vue 3，独立版本与 tag，不随 MCP 主包发布）；详见 [日志台 GUI](#日志台-gui)。\n- **不碰密钥** —— 各 agent 使用自己的登录态，本 server 不保存 / 转发任何 API key（详见 [SECURITY.md](SECURITY.md)）。\n- **想理解内部结构** —— 见 [ARCHITECTURE.md](ARCHITECTURE.md)（分层模型、模块边界、状态机、验收流水线、扩展点与已知缺口）。\n\n## 快速开始\n\n### 前置条件\n\n| 项 | 要求 |\n|---|---|\n| Node.js | ≥ 20（CI 覆盖 20 / 22 / 24） |\n| 包管理器 | npm（仓库含 `package-lock.json`） |\n| 操作系统 | Windows / macOS / Linux（CI 三平台矩阵验证） |\n| Git | 可选；验收的基线分析在 git 仓库内更完整 |\n\n数据目录默认 `~/.tianshu-mcp`，可用环境变量 `TIANSHU_MCP_HOME` 覆盖；首次启动自动创建。\n\n### 从源码构建\n\n```bash\ngit clone https://github.com/lanlan0811/tianshu-mcp.git\ncd tianshu-mcp\nnpm ci\nnpm run build        # sync-version + tsc → dist/\nnpm test             # 1383 passed / 12 skipped（1395 项，115 个测试文件）\n```\n\n### 安装 npm 包\n\n```bash\nnpx -y tianshu-mcp            # 免安装直接拉起\n# 或\nnpm install -g tianshu-mcp\n```\n\n### 在天枢里添加（推荐）\n\n天枢「设置 → MCP 服务器 → 添加」，按下面填写即可（传输方式选 `stdio（本地进程）`）：\n\n| 字段 | npm 分发（推荐） | 本地开发 |\n|---|---|---|\n| 服务器 ID | `tianshu-mcp` | `tianshu-mcp` |\n| 传输方式 | `stdio（本地进程）` | `stdio（本地进程）` |\n| 命令 | `npx` | `node` |\n| 参数（空格分隔） | `-y tianshu-mcp` | `<仓库绝对路径>/dist/index.js` |\n\n> - 服务器 ID 即工具前缀：填 `tianshu-mcp` 后工具名为 `mcp__tianshu-mcp__run_task` 等 13 个。\n> - 参数按空格分隔填写，**不要加引号**；本地开发模式请把 `<仓库绝对路径>` 换成真实绝对路径。\n> - 界面未提供环境变量输入框；如需自定义数据目录，改用下面的 `config.json` 方式设置 `TIANSHU_MCP_HOME`。\n> - 添加后连接成功即完成；新开会话即可看到 13 个工具。\n\n### 或改 config.json（可配环境变量）\n\n```jsonc\n{\n  \"mcp\": {\n    \"servers\": {\n      \"tianshu-mcp\": {\n        \"command\": \"node\",\n        \"args\": [\"<仓库绝对路径>/dist/index.js\"],\n        \"env\": { \"TIANSHU_MCP_HOME\": \"<仓库绝对路径>/.tianshu-mcp\" }\n      }\n    }\n  }\n}\n```\n\n新开会话后，工具面出现 `mcp__tianshu-mcp__run_task` 等 13 个工具。一次典型闭环：\n\n```text\nrun_task(projectPath=D:/xxx/my-app, task=\"…任务书…\", agentId=codex,\n         model=\"GPT-5.6 Sol\", reasoningLevel=\"高\", autoVerify=true, autoFixRounds=5)\n  → taskId → wait_task(taskId) 阻塞等到停点 → succeeded / failed / needs_attention → get_task_report 读报告\n  （回合驱动调用方：wait_task 一次调用即等到停点；超时返回后再次调用本工具继续等待，或用 query_task 看进度细节）\n```\n\n### 给天枢的提示语（推荐用法）\n\n> 「在项目 `D:\\xxx` 用 codex 实现『任务』。先跑 `run_task(autoVerify:true, autoFixRounds:2)`，完成后用 `wait_task` 等到停点再看结果；若报告显示 `needs_attention`，把 `get_task_report` 的失败项摘要作为 `feedback` 调 `rework_task` 再验一轮；全部通过后向我汇报 `changedFiles` 与 `diffstat`。」\n\n> 「在项目 `D:\\xxx` 用 traework、`mode=Code` 实现『任务』；它会先切到 Code 模式再绑定项目，然后发任务、自动验收，失败自动生成修复计划并返修。」\n\n## 工具面\n\n13 个工具，按能力分为三族：`read`（读 / 查询，无副作用）、`write`（有副作用，全部需审批）、`execute`（执行项目侧命令但不改源码，当前仅 `verify_task`，仍免审批）。\n\n| 工具 | 能力 / 审批 | 作用 |\n|---|---|---|\n| `run_task` | write + 审批 | 派活（可带自动验收 / 自动返修），异步返回 `taskId`；可选 `idempotencyKey`、`acceptanceOverride` 与 `dryRun` |\n| `continue_task` | write + 审批 | 恢复 `needs_user` 的原会话（ZCode / Codex / Kimi Code / Qoder CN 各有恢复语义） |\n| `query_task` | read | 轮询状态 / 进度 / 日志尾 / 最近细粒度事件（可选 `eventLimit`） |\n| `list_tasks` | read | 历史任务过滤列表 |\n| `get_task_report` | read | 某轮验收报告全文（`report.md`） |\n| `cancel_task` | write + 审批 | 取消运行中任务：CLI agent kill 进程树；GUI agent 经 CDP 尽力点停止并在 `gui.cancelWaitMs`（默认 15s）内有界等待；对已终态 GUI 任务兼任人工确认入口 |\n| `verify_task` | execute（不改源码，免审批） | 对任务 / 项目路径做一次验收。会跑项目配置命令、可能产生构建产物，故 MCP `readOnlyHint` 为 `false`，但**不改源码、仍免审批**；可选 `idempotencyKey` |\n| `wait_task` | read | 阻塞等待单任务到达停点（终态或 `needs_user`）或超时；`timeoutMs` 缺省 50000、上限 600000，超时返回后再调一次继续等。纯只读、无害 |\n| `wait_any` | read | 阻塞等待一组任务（1..20）中数组顺序首个到达停点者；返回该任务快照 + 全部任务当前状态。校验全部 id 存在，缺一即报错 |\n| `rework_task` | write + 审批 | 手动返修（把失败报告喂回同一 agent）；可选 `repairHint`（≤4000 字符） |\n| `get_profiles` | read | 查看 agent 适配与可执行探测结果 |\n| `prepare_visual_baseline` | write + 审批 | 截图或导入参考图，生成待审阅候选和摘要 |\n| `approve_visual_baseline` | write + 审批 | 用户审阅后校验摘要并写入基准与审批记录 |\n\n> 返回统一为「人类可读文本 + `---tianshu-mcp-meta---` JSON 块」，便于宿主正则抽取。\n>\n> **路径安全闸门**（v0.4.0 起）：`projectPath` 在提交时校验——必须绝对路径、目录必须存在、符号链接经 realpath 归一；主目录本身与系统 / 根级目录直接拒绝，防止 worker 写权限覆盖整棵系统子树；git 仓库有未提交变更时回执附带共处警示。\n\n## 支持的 Agent\n\n`driver: \"gui\"` 由显式 adapter 驱动桌面 UI（各自使用隔离的 CDP 流程）；`driver: \"spawn\"` 走外部 CLI 子进程。\n\n| agentId | driver / adapter | status | 说明 |\n|---|---|---|---|\n| `codex` | `gui` / `codex-gui` | **ready**（macOS 为 `research`） | Codex 桌面端 GUI（Windows：MSIX COM 激活 + CDP；macOS：spawn .app + CDP）；支持 `model` / `reasoningLevel` / `planDoc` / `designSystem`；等待用户确认、取消与重派护栏均已真机验证 |\n| `zcode` | `gui` / `zcode-gui` | **ready**（Windows 真机闭环；macOS 未验证） | CDP GUI adapter；支持无项目派发、`allowCreateProject` 与 `reasoningLevel`（档位集合**随模型变化**，越权在**发送前**报错）；**v0.7.4 适配 3.14.x 的路径契约缺席**（绑定判据改为「路径优先、无路径渠道时按显示名 + 全局同名消歧」，同名即 fail-closed）；**v0.7.6 修掉绑定死锁**（侧边栏 `workspace-item-*` 滚出视口仍被采集 → 唯一可信的菜单渠道被短路）、**运行期 CDP 断连的恢复入口**（重连观察一次、绝不重发，失败落 `needs_user(setup_recovery)`）与**两级模型菜单**（provider 分组须 hover 才渲染子项） |\n| `traework` | `gui` / `traework-gui` | **ready** | CDP 驱动 TRAE SOLO CN 桌面 UI；支持 `mode`（Work / Code / Design，三种模式各自维护独立项目绑定）；三种面板模式真机验证通过 |\n| `kimicode` | `gui` / `kimicode-gui` | **ready**（macOS 为 `research`） | Kimi Code 桌面端（Electron）；**双渲染进程**（主窗口 + `Kimi Browser Overlay` 浮层承载模型 / 档位 / 模式菜单）；工作区以完整路径绑定；支持 `model` / `reasoningLevel`，**不支持 `mode`**，且**不支持无项目派发** |\n| `qoder` | `gui` / `qoder-gui` | Windows 真机闭环通过；macOS **research** | 仅 Qoder CN；必须提供已有 `projectPath` 与可读 `planDoc`；`modelSource=default\\|custom` 消除同名模型歧义，思考等级经「模型管理」保存为全局偏好并回读 |\n| `opendesign` | `gui` / `opendesign-gui` | **ready**（macOS 为 `research`） | Open Design 桌面端 GUI；选择器取自产品自身 Web 前端的 `data-testid` 钩子，12 步执行链全部接线，并接入验收 → 自动返修 → 再验收闭环；它是唯一带「产物信号」（文件 mtime / 大小指纹）的 driver |\n| `stub` | `spawn` | 仅测试 | `test/stub-agent/stub-agent.mjs` 三剧本（good / fix-on-first / never） |\n\n> `mode` 支持 `Work` / `Code` / `Design`（仅 TraeWork），不传时从任务书文本识别。Kimi Code 的 `reasoningLevel` 按**界面实际渲染的档位集合**校验（官方模型 `低` / `高` / `max`，非官方模型仅 `on` / `off`）。新增 agent 通常只需加一个 profile，详见 [docs/agent-profiles.md](docs/agent-profiles.md) 与 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n### macOS 无头路径：codex-cli（用户 profile）\n\n内置 `codex` 走桌面端 GUI 驱动；若不想依赖 GUI 自动化，**codex CLI 无头模式在 macOS 全程可用**——无需改 server 代码，在数据目录加一个 `driver=spawn` 的用户 profile 即可：\n\n```json\n{\n  \"profiles\": {\n    \"codex-cli\": {\n      \"displayName\": \"Codex CLI (OpenAI 无头)\",\n      \"type\": \"cli\",\n      \"driver\": \"spawn\",\n      \"status\": \"ready\",\n      \"command\": null,\n      \"argsTemplate\": [\"exec\", \"<prompt:arg>\", \"--skip-git-repo-check\", \"--sandbox\", \"workspace-write\"],\n      \"promptMode\": \"arg\",\n      \"cwd\": \"task\",\n      \"env\": {},\n      \"timeoutMs\": 1800000,\n      \"killTree\": \"taskkill\",\n      \"authNote\": \"复用 ~/.codex 登录态；勿与 --approve-for-me 同用（实测互斥）\",\n      \"executableDiscovery\": {\n        \"dirs\": [\"/opt/homebrew/bin\", \"/usr/local/bin\"],\n        \"fileNames\": [\"codex\"],\n        \"fallbackCommand\": \"codex\"\n      }\n    }\n  }\n}\n```\n\n- 前置：`npm i -g @openai/codex`（⚠️ **请保持最新**，≤0.130.0 签名证书已被吊销，macOS Gatekeeper 会直接 `Killed: 9`）并已 `codex login`。\n- 用法与内置 agent 一致：`run_task(projectPath=/path/to/项目, agentId=codex-cli, task=\"任务书\", autoVerify=true, autoFixRounds=2)`。\n- `model` 参数对 spawn agent 不生效——CLI 使用 `~/.codex/config.toml` 的默认模型；要锁模型可在 `argsTemplate` 追加 `\"-m\", \"<模型名>\"`。\n\n## 权限与安全边界\n\n### 能力三族\n\n| 能力 | 含义 | 审批 | 工具 |\n|---|---|---|---|\n| `read` | 只读 / 查询，无副作用 | 免审批 | `query_task` / `list_tasks` / `get_task_report` / `get_profiles` / `wait_task` / `wait_any` |\n| `write` | 有副作用 | 需审批 | `run_task` / `continue_task` / `cancel_task` / `rework_task` / 两个视觉基准工具 |\n| `execute` | 执行项目侧命令，不改源码 | 免审批 | `verify_task` |\n\n> `readOnlyHint` 由 `capability === \"read\"` 推导，因此 `verify_task` 的该注解为 **false**；它**不是审批信号**——审批与否由 `_meta.requireApproval` 单独承载。\n\n### 硬性红线\n\n1. **绝不按进程树盲杀 GUI 实例** —— 只终止本模块创建、且命令行核对通过的 PID。\n2. **默认复用用户实例** —— 绝不新起第二个；受管实例也不触碰用户手动打开的实例。\n3. **computer-use 白名单** —— 仅允许 TraeWork 文件夹选择对话框（窗口标题 + 宿主进程双校验）。\n4. **凭证零管理** —— 不读取 / 解密 / 转发任何 agent 凭证；GUI adapter 只驱动 UI。\n5. **命令不拼 shell** —— 验收命令是结构化 argv，`shell:false`。\n6. **不自动 commit / stash / 回滚** —— 动工前采集 git 基线，报告相对基线计算。\n7. **路径不硬编码** —— 机器路径 / 用户名 / 端口走 profile 或占位符。\n8. **stdout 只承载 JSON-RPC** —— 所有诊断日志走 stderr（并同源追加到 `logs/server.log`）。\n9. **技能内容只来自包自身** —— 待安装技能经 `import.meta.url` 相对包定位，**不从 `process.cwd()` 发现内容**。\n\n## 运行时契约\n\n### stdio 与日志\n\n本 server 严格遵守 MCP stdio 传输契约：**stdout 只承载 JSON-RPC 消息**，任何诊断日志都写入 **stderr** 并同源追加到 `<数据目录>/logs/server.log`（UTF-8，ISO 时间戳，含级别标签）。排查连接问题时以 `server.log` 为准；**不要因为 stderr 有输出就判定 server 异常**。只有启动失败（`tianshu-mcp 启动失败:`）才是致命错误，并会以非 0 退出码结束。\n\n### 数据目录\n\n```text\n<数据目录>/                       默认 ~/.tianshu-mcp（可用 TIANSHU_MCP_HOME 覆盖）\n├── config.json                  server 配置（并发、超时、技能开关、通知）\n├── agent-profiles.json          用户自定义 / 覆盖的 agent profile\n├── projects.json                项目登记表（含每项目验收配置）\n├── idempotency.json             幂等键映射（TTL + 容量裁剪）\n├── logs/server.log              全级别诊断日志（与 stderr 同源）\n└── tasks/<taskId>/              单任务隔离目录（事件流 / 报告 / 日志 / 视觉证据）\n```\n\n### 技能自检安装\n\n启动时把**包内** `skills/tianshu-mcp/` 幂等同步到 `~/.rivet/skills/tianshu-mcp/`，让宿主在新会话里读到编排技能。三个要点：\n\n- **技能内容只来自包自身** —— 源目录由 `import.meta.url` 相对定位（dev 直跑与 dist 运行都指向包内 `skills/`），**不**从当前工作目录发现内容。找不到源时跳过安装并告警。\n- **不一致时不静默覆盖** —— 安装目录内维护清单 `<目标>/.tianshu-mcp-install.json`（版本 + 内容 hash），据此仅在**可证未被改动**时自动升级；**检出你改过文件或来源不明 → 默认保留你的版本并告警**。\n- **覆盖是原子的** —— 先装到 `.incoming-*`，再备份旧目录为 `.bak-<时间戳>`，最后换入；失败回滚，不留半成品。\n\n```jsonc\n// <数据目录>/config.json\n{\n  \"skills\": {\n    \"autoInstall\": true,   // true（默认）| \"prompt\" | false\n    \"backupKeep\": 3        // 覆盖后保留的历史备份个数；0 = 不清理\n  }\n}\n```\n\n放行与关闭（命令行参数或等价环境变量；`--no-skill-install` / `autoInstall:false` 的否决权最高）：\n\n- `--approve-skill-update`（或 `TIANSHU_MCP_APPROVE_SKILL_UPDATE=1`）：本次启动允许「需变更」的技能目录由包内版本覆盖（先备份）。**对已确证含用户本地修改的目录不生效**。\n- `--no-skill-install`（或 `TIANSHU_MCP_NO_SKILL_INSTALL=1`）：本次启动不做任何技能安装与检查。\n\n## 里程碑\n\n| 阶段 | 版本 | 交付概要 |\n|---|---|---|\n| 编排骨架 | 0.1.x | 8 工具、状态机 / 队列 / 并发闸 / 取消（kill tree）、验收引擎、自动返修；TraeWork CDP 驱动接入与模式切换 |\n| ZCode GUI | 0.2.0 | ZCode 统一闭环（开发 → 受控失败 → 同会话返修 → `continue_task`） |\n| Codex 桌面端 | 0.3.x | Codex MSIX COM 激活 + CDP（**破坏性**：`codex` 由无头改为 GUI）；等待用户检测、取消真停 GUI、验收引擎 fail-closed |\n| macOS 与闸门 | 0.4.x | macOS 双驱动（spawn .app + CDP）、`projectPath` 安全闸门、验收命令有界并行（测试套件 267s → 51s） |\n| 视觉与幂等 | 0.5.x | 视觉验收（0.5.0）+ 可选 AI 内容校验（0.5.4）、ZCode 无项目派发、Kimi Code / Qoder CN 适配、幂等键（0.5.10） |\n| 加固与可观测 | 0.6.x | 技能自装加固（0.6.0）、GUI 选择器漂移修复（0.6.2）、细粒度事件流、结构化修复指令、dryRun、验收配置三级继承、终态通知 |\n| Open Design | 0.7.x | Open Design 桌面端适配（0.7.1）、ZCode 3.14.x 绑定契约修复（0.7.4） |\n| 日志台 GUI | `gui-v*`（独立线） | `mcp-gui/` 本地只读日志台（Tauri 2.x + Vue 3），独立版本与 tag，**不随 MCP 主包发布** |\n\n> 完整逐版记录见 [CHANGELOG.md](CHANGELOG.md)，交接状态与排障手册见 [HANDOFF.md](HANDOFF.md)，工程质量口径见 [ARCHITECTURE.md](ARCHITECTURE.md)。\n\n## 日志台 GUI\n\n`mcp-gui/` 是本仓库的**第二个交付面**（issue #25）：一个**本地只读**的桌面应用（Tauri 2.x + Vue 3 + Vite + TypeScript），把 MCP 落盘的日志与任务产物统一到一个界面里查看。它与 MCP server 的关系只有一条——**共享同一批落盘事实，不产生第二个事实来源**：\n\n- **不依赖 server 在运行** —— 纯读文件系统，数据目录按与 server **完全相同的规则**解析（`TIANSHU_MCP_HOME` → `~/.tianshu-mcp`），并可在多个数据目录之间切换 / 追加 / 移除。\n- **只读消费方** —— 全程不改动任何业务数据（唯一写入是应用自身偏好，落在系统应用配置目录），也不替代面向机器的 `query_task` / `get_task_report`。\n- **四类日志与产物** —— 全局运行日志、任务事件流、原始执行日志、验收报告；视觉离线 HTML 在 **sandbox iframe** 中渲染（禁用脚本、阻断外部资源）。\n\n| 数据源 | 路径（相对数据目录） | 界面位置 |\n|---|---|---|\n| 全局运行日志 | `logs/server.log` | 工作区 · 运行日志 |\n| 任务事件流 | `tasks/<taskId>/task.jsonl` | 工作区 · 事件流 |\n| 原始执行日志 | `tasks/<taskId>/agent-<轮次>.log`、`verify-<轮次>.log` | 工作区 · Agent 日志 / 验收日志 |\n| 验收报告 | `tasks/<taskId>/report-<轮次>.{md,json,html}`、`dry-run-report-<轮次>.{md,json}` | 工作区 · 验收报告 |\n\n主要能力：\n\n- **大日志与实时跟随** —— 首屏只读尾部 64 KiB 窗口、向前按块加载并显示「已加载 N / 共 M」；文件被追加时增量刷新，**上翻自动暂停跟随**，可一键「跳到最新」。\n- **洞察（效能 / 归因 / 趋势）** —— 只读聚合：按 Agent 与按项目的**效能看板**（任务数 / 成功率 / 平均轮次 / 一次通过率 / 平均验收耗时 / 报告缺失）、四类**失败归因** TOP 列表（`errorType` / 失败检查项 / 阻塞问题 / 代码信号）、按天 / 按周的**任务量与成功率、返修率趋势**（纯内联 SVG，不引图表库）。口径显式标注（UTC 日期、周一为周始、「一次通过」= 成功且仅 1 轮、只统计每个任务的**最新一轮**报告），**只读统计、不提供删除 / 清理**。\n- **结构化筛选 / 多任务对比 / 命令面板** —— 概览页筛选新增**错误类型 / 干跑 / 返修 / 视觉验收**四项（口径与任务快照字段一一对应，前后端同口径）；洞察页新增「**任务对比**」子分区，勾选 **2–4 个** 任务并排看状态 / 轮次 / 验收耗时 / 改动行数 / 最新报告判定等指标（报告**按需读取**并缓存，缺失一律显示 `—`，**不编造**）；`Ctrl/Cmd + K` 打开**命令面板**（子序列模糊匹配，跳页面 / 切数据目录 / 直接打开任务），`Ctrl/Cmd + R` 刷新，**全部为只读交互**。\n- **基线与复盘 / 阶段甘特 / 磁盘占用 / 深链** —— 工作区新增**「基线」**分区（动工前 `baseline.json` 摘要并与最新报告改动对照，缺失如实提示）；事件流新增**「阶段」视图**（状态跃迁甘特，按需读一次全量，最后一段标「进行中」不编造时长）；洞察页新增**「磁盘占用」**（总量 / logs 占比 / 体积 TOP 20 / **只提示不删除**的「可清理」相对判据）；支持 **`tianshu://task/<任务ID>` 深链**（冷启动 + 热启动、单实例唤出已有窗口，Rust 侧处理故不给 webview 多余权限）。\n- **报告与多轮对比** —— `.md` 渲染、`.json` 结构化卡片、视觉 `.html` 沙箱预览；`dry-run-report-*` 与 `report-*` **分开展示**（静态分析 vs 真实命令验收，结论口径不同），多轮报告可并排对比。\n- **界面与主题** —— 中英双语、**跟随系统 / 浅色 / 深色**三选一；自研「黑曜石终端」设计系统，**零 UI 库、零外链、零字体文件**，图标一律内联 SVG。\n- **系统托盘与关闭行为** —— 常驻托盘（「显示日志台 / 退出日志台」，文案随界面语言即时切换），默认 **关闭窗口 = 缩小到托盘**，可在设置面板改为「关闭应用」。\n- **更新日志窗口与双源自动更新** —— 启动静默检查更新，命中即弹「更新日志」（下载并安装 / 忽略此版本 / 稍后），正文即该版本的双语发行说明，**与发行页同源同一份**（正文缺失即拒绝发版，不产出空正文 / 单行标题）；更新源由 **Gitee / GitHub 并发实测择优**（不依赖系统区域）决定并如实展示，包体经 **minisign 验签**，**验签不通过一律拒绝安装**。\n\n<p align=\"center\">\n  <a href=\"./assets/tianshu-mcp-gui-overview.png\"><img src=\"./assets/tianshu-mcp-gui-overview.png\" alt=\"日志台 · 任务概览页\" width=\"32%\"></a>\n  <a href=\"./assets/tianshu-mcp-gui-event-stream.png\"><img src=\"./assets/tianshu-mcp-gui-event-stream.png\" alt=\"日志台 · 任务事件流工作区\" width=\"32%\"></a>\n  <a href=\"./assets/tianshu-mcp-gui-agent-log.png\"><img src=\"./assets/tianshu-mcp-gui-agent-log.png\" alt=\"日志台 · Agent 原始日志工作区\" width=\"32%\"></a>\n  <br>\n  <b>任务概览页</b> —— 常驻左侧栏 · 五格指标仪（任务总数 / 进行中 / 已结束 / 已成功 / 已失败）· 状态圆片 · 任务卡网格\n  <br>\n  <b>全屏工作区 · 事件流</b> —— 行 / 时间 / 事件 / 详情四列，状态跃迁与进度记录分色标注\n  <br>\n  <b>全屏工作区 · Agent 日志</b> —— 级别过滤 · 行号与自动换行 · 「已加载 N / 共 M」与「跳到最新」\n</p>\n\n解耦与发布边界（改这里之前先读）：\n\n| 边界 | 约定 |\n|---|---|\n| 数据 | GUI **只读**业务目录；唯一写入是应用自身偏好与用户显式选择的导出 / 更新文件 |\n| 代码 | `mcp-gui/` 有自己的 `package.json` / `tsconfig` / eslint / vitest，**不参与根工程门禁** |\n| 打包 | 根 `package.json` 的 `files` 白名单不含 `mcp-gui`，**不被打入 MCP 主包 npm 产物** |\n| 发版 | GUI 独立版本号与独立 tag（`gui-v*`），**不随 MCP 主包发布**（`release.yml` 只认 `v*`） |\n| 构建 | 本机**不执行** Rust 侧构建与检查（`cargo fmt` / `clippy` / `tauri build` 全在 `GUI` workflow），本地只做前端预览与前端门禁 |\n\n> **双份 schema 的防漂移**：事件分类在 Rust 侧与前端各有一份镜像，真源始终是 `src/tasks/task.ts` 与 `src/agents/agent-events.ts`；`mcp-gui/scripts/check-schema-parity.mjs` 在 CI 中做三方集合比对，**任一不一致即 fail**。使用与开发说明见 [日志台文档](docs/gui-log-viewer.md)，真机记录见 [issue-25 记录](docs/issue-25-gui-real-machine-record.md)。\n\n## 文档导航\n\n**使用与集成**\n\n| 文档 | 说明 |\n|---|---|\n| [ARCHITECTURE.md](<ARCHITECTURE.md>) | 架构说明：分层模型与模块边界、状态机、验收流水线、驱动层契约、扩展点与已知缺口 |\n| [docs/core-principles.md](<docs/core-principles.md>) | 核心原理分析：四条硬约束如何逼出当前架构、核心机制逐条拆解与自洽性总结 |\n| [docs/tianshu-integration.md](docs/tianshu-integration.md) | 天枢 config.json 两种接入模式、UI / API 操作、冒烟步骤、FAQ |\n| [docs/agent-profiles.md](docs/agent-profiles.md) | agent profile 字段说明 + 真实机器样例 |\n| [docs/adapter-matrix.md](docs/adapter-matrix.md) | 各 Agent 能力调研矩阵 |\n| [docs/npm-publish-guide.md](docs/npm-publish-guide.md) | npm 发布步骤与凭证说明 |\n| [skills/tianshu-mcp/SKILL.md](skills/tianshu-mcp/SKILL.md) | 教天枢编排本 MCP 的技能（含使用示例） |\n\n**Agent 适配（CDP 驱动）**\n\n| 文档 | 说明 |\n|---|---|\n| [docs/codex-gui-cdp.md](docs/codex-gui-cdp.md) | Codex 桌面端：MSIX COM 激活、CDP 接管、选择器、运行检测、验收返修 |\n| [docs/traework-cdp.md](docs/traework-cdp.md) | TraeWork：原理、配置、模式切换、选择器、安全红线、踩坑记录 |\n| [docs/zcode-cdp.md](docs/zcode-cdp.md) | ZCode：安装探测、精确项目 / 模型、完全访问、暂停继续、无项目派发与双平台状态 |\n| [docs/kimi-cdp.md](docs/kimi-cdp.md) | Kimi Code：双渲染进程、工作区完整路径绑定与原生导入、模型三级选择与思考档位 |\n| [docs/qoder-cdp.md](docs/qoder-cdp.md) | Qoder CN：安装发现与实例复用、工作区原生导入、`modelSource` 与全局思考等级、原会话返修 |\n| [docs/opendesign-cdp.md](docs/opendesign-cdp.md) | Open Design：数据目录推导、sidecar 根进程判定、选择器取证表与 12 步执行链、传输层双路径、失败码表 |\n| docs/minimax-cdp.md | MiniMax Code：双渲染进程、模型二级子菜单（推理等级 / 上下文窗口）与逐模型候选、完整路径项目绑定、`Select Directory` 原生对话框 |\n\n**验收与可观测**\n\n| 文档 | 说明 |\n|---|---|\n| [docs/acceptance-config.md](docs/acceptance-config.md) | 项目级与三级继承的验收配置规范 |\n| [docs/repair-directives.md](docs/repair-directives.md) | 结构化修复指令：来源、回退语义与已知限制 |\n| [docs/dry-run.md](docs/dry-run.md) | dryRun 干跑模式：只读约束、零改动门禁、方案文档 |\n| [docs/event-stream.md](docs/event-stream.md) | 细粒度事件流：词表、落盘与读取侧有界窗口 |\n| docs/notifications.md | 任务终态通知：webhook 契约、去重与签名 |\n| docs/wait-task.md | 等待原语：`wait_task` / `wait_any` 契约、停点定义、超时矩阵与循环模式 |\n| [docs/visual-acceptance.md](docs/visual-acceptance.md) | 视觉验收入门与完整配置（含可选 AI 内容校验） |\n| [docs/visual-validation.md](docs/visual-validation.md) | 视觉验收验证进度与平台证据 |\n| [docs/visual-validation-evidence/](docs/visual-validation-evidence/) | 上述验证的原始机器可读记录 |\n| [docs/gui-log-viewer.md](docs/gui-log-viewer.md) | 日志台 GUI（`mcp-gui/`）：四类日志与任务产物、双源自动更新、开发与 CI 边界 |\n\n**真机验收记录**\n\n| 文档 | 说明 |\n|---|---|\n| [docs/m2-smoke-record.md](docs/m2-smoke-record.md) · [docs/m2-rework-record.md](docs/m2-rework-record.md) | M2 真实 codex 冒烟与 rework 闭环记录 |\n| [docs/zcode-windows-smoke.md](docs/zcode-windows-smoke.md) · [docs/zcode-issue-8-10-validation.md](docs/zcode-issue-8-10-validation.md) · [docs/zcode-issue-12-windows-evidence.md](docs/zcode-issue-12-windows-evidence.md) | ZCode Windows 真机验收记录 |\n| [docs/codex-windows-smoke.md](docs/codex-windows-smoke.md) | Codex Windows 真机验收记录（含失败 → 自动生成计划 → 返修通过） |\n| [docs/host-integration-record.md](docs/host-integration-record.md) · [docs/issue-1-host-reconnect-record.md](docs/issue-1-host-reconnect-record.md) | 天枢宿主真实接入与重连验收 |\n| [docs/dod7-release-record.md](docs/dod7-release-record.md) · [docs/dod8-session-record.md](docs/dod8-session-record.md) · [docs/s7-session-recheck.md](docs/s7-session-recheck.md) | npm 发布、真实会话实测与二次整改复测 |\n| [docs/issue-16-skill-install-hardening-record.md](docs/issue-16-skill-install-hardening-record.md) · [docs/issue-17-small-fixes-record.md](docs/issue-17-small-fixes-record.md) · [docs/issue-23-selector-drift-record.md](docs/issue-23-selector-drift-record.md) | 技能自装加固、小项扫尾、选择器漂移记录 |\n| [docs/issue-18-21-real-machine-record.md](docs/issue-18-21-real-machine-record.md) · [docs/issue-19-22-real-machine-record.md](docs/issue-19-22-real-machine-record.md) | 事件流 / 修复指令 / dryRun / 验收继承 / 通知的真机记录 |\n| [docs/issue-25-gui-real-machine-record.md](docs/issue-25-gui-real-machine-record.md) · [docs/gui-0.1.0-release-record.md](docs/gui-0.1.0-release-record.md) | 日志台 GUI 真机验收与正式版发布记录 |\n\n## 面向开发者\n\nNode.js ≥ 20 · TypeScript 5.7 · Vitest · tsup-free（`tsc` 直出 `dist/`）+ tsx 开发。\n\n```bash\nnpm ci\nnpm run build        # sync-version + tsc → dist/\nnpm test             # 全量用例\nnpm run typecheck    # 类型检查（tsc --noEmit）\nnpm run lint         # ESLint（--max-warnings 0）\nnpm run check:stdio  # 严格 stdio 冒烟（真实进程字节流校验）\n```\n\n- **新增 CLI agent** —— 通常只需在 `<数据目录>/agent-profiles.json` 加一个 `driver: \"spawn\"` 的 profile，零改代码。\n- **新增 GUI agent** —— 新写一个 adapter 目录（`adapter.ts` / `discovery.ts` / `cdp.ts` / `selectors.ts` / `project.ts` / `liveness.ts` / `run.ts`），并在 `agents/registry.ts` 与 `agents/builtin.ts` 注册。\n- **新增 MCP 工具** —— `src/mcp/tools.ts` 增元数据 + `src/mcp/handlers.ts` 增实现 + `src/config/schema.ts` 增入参 schema。\n- **调 UI 选择器** —— profile `gui.selectors` 覆盖（客户端升级导致选择器漂移时，先用 `npm run probe:*` 诊断）。\n- 版本号三处必须同步：`package.json`、`package-lock.json`、`src/version.generated.ts`（后者由 `scripts/sync-version.mjs` 在 build 前生成，**勿手改**）。\n\n## 安全\n\n- **路径边界强制** —— `projectPath` 经 realpath 归一；主目录与系统 / 根级目录子树拒绝；glob/grep/diff 拒绝 `..` 穿越。\n- **不自动改动仓库历史** —— 动工前采集 git 基线，报告相对基线计算；MCP 从不自动 commit / stash / checkout。\n- **凭证零管理** —— 不读取 / 解密 / 转发任何 agent 凭证；AI 内容校验同样不引入凭证管理——判定命令自己管密钥。\n- **命令不拼 shell** —— 验收命令是结构化 argv，`shell:false`，无 shell 注入面。\n- **桌面自动化边界** —— 默认复用用户实例、computer-use 白名单、归属核对后才终止进程。\n\n安全漏洞请按 [SECURITY.md](SECURITY.md) 私密报告，**不要**开公开 Issue。\n\n## 社区与支持\n\n- **使用问题 / 讨论** → [GitHub Issues](https://github.com/lanlan0811/tianshu-mcp/issues)（附 `logs/server.log` 输出可加速定位）\n- **主仓库** → <https://github.com/lanlan0811/tianshu-mcp>（GitHub）\n- **镜像仓库** → <https://gitee.com/lan0811/tianshu-mcp>（Gitee）\n- **贡献代码** → [CONTRIBUTING.md](CONTRIBUTING.md) · **安全模型** → [SECURITY.md](SECURITY.md) · **行为准则** → [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)\n- **交接状态 / 排障手册** → [HANDOFF.md](HANDOFF.md) · **版本变更** → [CHANGELOG.md](CHANGELOG.md) · **依赖清单** → [DEPENDENCIES.md](DEPENDENCIES.md)\n\n## 贡献者\n\n感谢以下通过 Issue 与 PR 为本项目做出贡献的社区成员（按首次参与顺序排列）：\n\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/liuchsong\"><img src=\"https://github.com/liuchsong.png\" width=\"50\" height=\"50\" alt=\"liuchsong\" /><br /><sub>liuchsong</sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/a13612745638\"><img src=\"https://github.com/a13612745638.png\" width=\"50\" height=\"50\" alt=\"a13612745638\" /><br /><sub>a13612745638</sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/king195547\"><img src=\"https://github.com/king195547.png\" width=\"50\" height=\"50\" alt=\"king195547\" /><br /><sub>king195547</sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/zhaoxc857\"><img src=\"https://github.com/zhaoxc857.png\" width=\"50\" height=\"50\" alt=\"zhaoxc857\" /><br /><sub>zhaoxc857</sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/jian-in\"><img src=\"https://github.com/jian-in.png\" width=\"50\" height=\"50\" alt=\"jian-in\" /><br /><sub>jian-in</sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/huiliyi37\"><img src=\"https://github.com/huiliyi37.png\" width=\"50\" height=\"50\" alt=\"huiliyi37\" /><br /><sub>huiliyi37</sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/MToF0214\"><img src=\"https://github.com/MToF0214.png\" width=\"50\" height=\"50\" alt=\"MToF0214\" /><br /><sub>MToF0214</sub></a></td>\n  </tr>\n</table>\n\n## Star History\n\n<a href=\"https://star-history.com/#lanlan0811/tianshu-mcp&Date\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=lanlan0811/tianshu-mcp&type=Date&theme=dark\" />\n    <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=lanlan0811/tianshu-mcp&type=Date\" />\n    <img alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=lanlan0811/tianshu-mcp&type=Date\" width=\"700\" />\n  </picture>\n</a>\n\n## 许可证\n\n本项目以 **Apache License 2.0** 发布，完整法律文本见 [LICENSE](LICENSE)。版权归 tianshu-mcp 贡献者所有（Copyright 2026 tianshu-mcp contributors）。简言之：你可以商业使用、修改、分发与私用，并获授贡献者专利许可；分发时须随附 LICENSE 全文并标注修改；本许可**不授予**商标使用权，对贡献者发起专利诉讼将导致专利授权自动终止；软件按「现状」提供，不附带任何担保。\n\n### 第三方依赖许可\n\n运行时依赖的许可如下（**完整依赖清单**——逐项版本、开发依赖、桌面端 Rust 依赖、间接依赖许可证分布与 SBOM 复现命令——见 [DEPENDENCIES.md](DEPENDENCIES.md)）：\n\n| 依赖 | 许可 | 用途 |\n|---|---|---|\n| [`@modelcontextprotocol/sdk`](https://github.com/modelcontextprotocol/sdk) | MIT | MCP 协议实现 |\n| [`zod`](https://github.com/colinhacks/zod) | MIT | 外部输入校验 |\n| [`cross-spawn`](https://github.com/moxystudio/node-cross-spawn) | MIT | 跨平台子进程 |\n| [`puppeteer-core`](https://github.com/puppeteer/puppeteer) | Apache-2.0 | 视觉验收驱动无头浏览器 |\n| [`@puppeteer/browsers`](https://github.com/puppeteer/puppeteer) | Apache-2.0 | 托管 Chrome/Edge 的安装与版本锁定 |\n| [`pixelmatch`](https://github.com/mapbox/pixelmatch) | ISC | 页面截图像素比对 |\n| [`sharp`](https://github.com/lovell/sharp)（optional） | Apache-2.0 | 图片解码与规格校验；缺失时视觉模块明确阻塞 |\n\n> `sharp` 本体为 Apache-2.0，但其**可选**平台二进制（`@img/sharp-*`）声明为 **LGPL-3.0-or-later**，以未修改的预编译动态库使用——不安装 `sharp` 时依赖树中不含任何 LGPL 组件。\n\n开发依赖（TypeScript、ESLint、Prettier、Vitest、Vite、tsx 等）各自遵循其开源许可，且不随 npm 发布产物分发。\n\n### 与安全边界的关系\n\n本 MCP **不保存、不读取、不转发**任何 AI-Agent 的 API key 或登录态（详见 [SECURITY.md](SECURITY.md)）。许可条款不改变这一设计边界。\n\n---\n\n> 英文文档见 [README.en.md](README.en.md) 与 [ARCHITECTURE.en.md](ARCHITECTURE.en.md)；完整文档地图与状态快照见 [HANDOFF.md](HANDOFF.md)。","readmeFilename":"README.md"}