{"id":595,"date":"2026-03-26T21:44:30","date_gmt":"2026-03-26T13:44:30","guid":{"rendered":"https:\/\/deepbule.store\/?p=595"},"modified":"2026-03-26T21:44:30","modified_gmt":"2026-03-26T13:44:30","slug":"openclaw-%e5%ae%9e%e6%88%98%ef%bc%9a%e6%89%93%e9%80%a0%e4%bc%81%e4%b8%9a%e4%bf%a1%e8%b4%b7%e8%b0%83%e6%9f%a5%e6%8a%a5%e5%91%8a%e8%87%aa%e5%8a%a8%e7%94%9f%e6%88%90%e6%8a%80%e8%83%bd-2","status":"publish","type":"post","link":"https:\/\/deepbule.store\/?p=595","title":{"rendered":"OpenClaw \u5b9e\u6218\uff1a\u6253\u9020\u4f01\u4e1a\u4fe1\u8d37\u8c03\u67e5\u62a5\u544a\u81ea\u52a8\u751f\u6210\u6280\u80fd"},"content":{"rendered":"<h1>OpenClaw \u5b9e\u6218\uff1a\u6253\u9020\u4f01\u4e1a\u4fe1\u8d37\u8c03\u67e5\u62a5\u544a\u81ea\u52a8\u751f\u6210\u6280\u80fd<\/h1>\n<blockquote>**\u6458\u8981**\uff1a\u672c\u6587\u8be6\u7ec6\u8bb0\u5f55\u4e86\u4e00\u4e2a\u4f01\u4e1a\u4fe1\u8d37\u8c03\u67e5\u62a5\u544a\u81ea\u52a8\u751f\u6210\u6280\u80fd\u7684\u5b8c\u6574\u5b9e\u73b0\u8fc7\u7a0b\uff0c\u4ece\u6570\u636e\u6e90\u63a5\u5165\u3001\u62a5\u544a\u7ed3\u6784\u8bbe\u8ba1\u5230 Word \u6587\u6863\u751f\u6210\uff0c\u4ee5\u53ca\u5982\u4f55\u4e0e\u98de\u4e66\u3001NAS \u7b49\u591a\u5e73\u53f0\u96c6\u6210\u3002\u6240\u6709\u654f\u611f\u4fe1\u606f\u5df2\u8131\u654f\u5904\u7406\uff0c\u4f9b\u53c2\u8003\u5b66\u4e60\u3002<\/blockquote>\n<p>&#8212;<\/p>\n<h2>\ud83d\udccb \u9879\u76ee\u80cc\u666f<\/h2>\n<p>\u5728\u94f6\u884c\u4fe1\u8d37\u4e1a\u52a1\u4e2d\uff0c\u8d37\u524d\u8c03\u67e5\u548c\u8d37\u540e\u7ba1\u7406\u662f\u98ce\u9669\u63a7\u5236\u7684\u6838\u5fc3\u73af\u8282\u3002\u4f20\u7edf\u7684\u4eba\u5de5\u64b0\u5199\u8c03\u67e5\u62a5\u544a\u5b58\u5728\u4ee5\u4e0b\u75db\u70b9\uff1a<\/p>\n<ul>\n<li>**\u6548\u7387\u4f4e**\uff1a\u4e00\u4efd\u5b8c\u6574\u7684\u8c03\u67e5\u62a5\u544a\u9700\u8981\u67e5\u8be2 20+ \u4e2a\u6570\u636e\u7ef4\u5ea6\uff0c\u624b\u52a8\u6574\u7406\u8017\u65f6 2-3 \u5c0f\u65f6<\/li>\n<li>**\u6613\u9057\u6f0f**\uff1a\u4eba\u5de5\u67e5\u8be2\u5bb9\u6613\u9057\u6f0f\u5173\u952e\u98ce\u9669\u70b9\uff08\u5982\u52a8\u4ea7\u62b5\u62bc\u3001\u80a1\u6743\u8d28\u62bc\u7b49\uff09<\/li>\n<li>**\u6807\u51c6\u5316\u5dee**\uff1a\u4e0d\u540c\u4eba\u5458\u64b0\u5199\u7684\u62a5\u544a\u683c\u5f0f\u3001\u6df1\u5ea6\u4e0d\u4e00\u81f4<\/li>\n<\/ul>\n<p>\u57fa\u4e8e\u6b64\uff0c\u6211\u4eec\u5f00\u53d1\u4e86<strong>\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\u6280\u80fd<\/strong>\uff0c\u5b9e\u73b0\uff1a<\/p>\n<ul>\n<li>\u26a1 **5 \u5206\u949f\u5185**\u5b8c\u6210\u5168\u7ef4\u5ea6\u6570\u636e\u67e5\u8be2<\/li>\n<li>\ud83d\udcca **11 \u7ae0\u8282\u6807\u51c6\u5316**\u62a5\u544a\u7ed3\u6784<\/li>\n<li>\ud83e\udd16 **\u4e00\u952e\u751f\u6210** Word \u6587\u6863\u5e76\u81ea\u52a8\u5f52\u6863<\/li>\n<\/ul>\n<p>&#8212;<\/p>\n<h2>\ud83c\udfd7\ufe0f \u6280\u672f\u67b6\u6784<\/h2>\n<pre><code>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                    \u7528\u6237\u89e6\u53d1\uff08\u98de\u4e66\u6d88\u606f\uff09                       \u2502\n\u2502         &quot;\u3010\u4f01\u4e1a\u5168\u79f0\u3011+ \u8d37\u524d\u62a5\u544a&quot; \u6216 &quot;\u3010\u4f01\u4e1a\u5168\u79f0\u3011+ \u8d37\u540e\u62a5\u544a&quot;    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                              \u2502\n                              \u25bc\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502              bank-credit-report \u6280\u80fd\u6838\u5fc3                     \u2502\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510                  \u2502\n\u2502  \u2502 kuaicha-helper  \u2502  \u2502  ifind-helper   \u2502                  \u2502\n\u2502  \u2502  (\u5de5\u5546\u6570\u636e\u67e5\u8be2)  \u2502  \u2502  (\u8d22\u52a1\u6570\u636e\u67e5\u8be2)  \u2502                  \u2502\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518                  \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                              \u2502\n                              \u25bc\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                    \u6570\u636e\u6e90\uff08\u540c\u82b1\u987a iFinD\uff09                      \u2502\n\u2502   &bull; \u4f01\u4e1a\u5de5\u5546\u4fe1\u606f    &bull; \u53f8\u6cd5\u98ce\u9669    &bull; \u7ecf\u8425\u98ce\u9669                 \u2502\n\u2502   &bull; \u878d\u8d44\u62c5\u4fdd\u4fe1\u606f    &bull; \u77e5\u8bc6\u4ea7\u6743    &bull; \u62db\u6295\u6807\u4fe1\u606f               \u2502\n\u2502   &bull; \u5bf9\u5916\u6295\u8d44        &bull; \u5e74\u62a5\u793e\u4fdd    &bull; \u65b0\u95fb\u8206\u60c5                 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                              \u2502\n                              \u25bc\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                  generate-report.py \u62a5\u544a\u751f\u6210\u5668                \u2502\n\u2502              (python-docx \u751f\u6210 Word \u6587\u6863)                    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                              \u2502\n                              \u25bc\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                    \u591a\u5e73\u53f0\u81ea\u52a8\u5f52\u6863                            \u2502\n\u2502   &bull; NAS: \/openclaw-skill\/\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\/                      \u2502\n\u2502   &bull; \u98de\u4e66\u4e91\u76d8\uff1a\/\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\/ \u6587\u4ef6\u5939                          \u2502\n\u2502   &bull; \u672c\u5730\uff1a~\/.openclaw\/media\/                                \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n<p>&#8212;<\/p>\n<h2>\ud83d\udce6 \u6280\u80fd\u4f9d\u8d56<\/h2>\n<h3>1. \u6570\u636e\u6e90\u6280\u80fd\uff082 \u4e2a\uff09<\/h3>\n<p>| \u6280\u80fd\u540d | \u529f\u80fd | \u914d\u7f6e\u9879 |<\/p>\n<p>|&#8212;&#8212;&#8211;|&#8212;&#8212;|&#8212;&#8212;&#8211;|<\/p>\n<p>| `ifind-kuaicha-search` | \u4f01\u4e1a\u5de5\u5546\u6570\u636e\u67e5\u8be2\uff0823 \u4e2a\u7ef4\u5ea6\uff09 | API Base URL\u3001JWT Token |<\/p>\n<p>| `ifind-finance-data` | \u4f01\u4e1a\u8d22\u52a1\u6570\u636e\u67e5\u8be2\uff08MCP \u534f\u8bae\uff09 | API Base URL\u3001JWT Token |<\/p>\n<blockquote>**\u6ce8\u610f**\uff1a\u4e24\u4e2a\u6280\u80fd\u5171\u7528\u540c\u4e00\u4e2a iFinD JWT Token\uff0c\u9700\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u586b\u5199\u3002<\/blockquote>\n<h3>2. Python \u4f9d\u8d56<\/h3>\n<pre><code>\npip install python-docx&gt;=1.2.0\n<\/code><\/pre>\n<p>&#8212;<\/p>\n<h2>\ud83d\udd0d \u6570\u636e\u67e5\u8be2\u7ef4\u5ea6\uff0823 \u4e2a\uff09<\/h2>\n<h3>\u5de5\u5546\u57fa\u672c\u4fe1\u606f<\/h3>\n<ul>\n<li>\u4f01\u4e1a\u57fa\u672c\u4fe1\u606f\u3001\u80a1\u4e1c\u4fe1\u606f\u3001\u5b9e\u9645\u63a7\u5236\u4eba\u3001\u4e3b\u8981\u4eba\u5458\uff08\u8463\u76d1\u9ad8\uff09<\/li>\n<\/ul>\n<h3>\u53f8\u6cd5\u98ce\u9669<\/h3>\n<ul>\n<li>\u88ab\u6267\u884c\u4eba\u3001\u5931\u4fe1\u88ab\u6267\u884c\u4eba\u3001\u88c1\u5224\u6587\u4e66<\/li>\n<\/ul>\n<h3>\u7ecf\u8425\u98ce\u9669<\/h3>\n<ul>\n<li>\u7ecf\u8425\u5f02\u5e38\u3001\u884c\u653f\u5904\u7f5a\u3001\u6b20\u7a0e\u516c\u544a\u3001\u4e25\u91cd\u8fdd\u6cd5\u5931\u4fe1\u3001\u7834\u4ea7\u4fe1\u606f<\/li>\n<\/ul>\n<h3>\u878d\u8d44\u62c5\u4fdd\uff08\u4fe1\u8d37\u51b3\u7b56\u5173\u952e\uff01\uff09<\/h3>\n<ul>\n<li>**\u52a8\u4ea7\u62b5\u62bc**\uff08\u501f\u8d37\u5408\u540c\u3001\u62b5\u62bc\u7269\u8be6\u60c5\uff09<\/li>\n<li>**\u80a1\u6743\u8d28\u62bc**\uff08\u51fa\u8d28\u4eba\u3001\u8d28\u6743\u4eba\u3001\u72b6\u6001\uff09<\/li>\n<\/ul>\n<h3>\u77e5\u8bc6\u4ea7\u6743<\/h3>\n<ul>\n<li>\u4e13\u5229\u4fe1\u606f\u3001\u5546\u6807\u4fe1\u606f\u3001\u8457\u4f5c\u6743<\/li>\n<\/ul>\n<h3>\u7ecf\u8425\u6570\u636e<\/h3>\n<ul>\n<li>\u62db\u6295\u6807\u4fe1\u606f\u3001\u5bf9\u5916\u6295\u8d44\u3001\u5206\u652f\u673a\u6784\u3001\u5e74\u62a5\u793e\u4fdd\u3001\u65b0\u95fb\u8206\u60c5<\/li>\n<\/ul>\n<p>&#8212;<\/p>\n<h2>\ud83d\udcc4 \u62a5\u544a\u7ed3\u6784\uff0811 \u7ae0\u8282\uff09<\/h2>\n<pre><code>\n# \u3010\u8d37\u524d\/\u8d37\u540e\u3011\u4f01\u4e1a\u4fe1\u8d37\u8c03\u67e5\u62a5\u544a\n\n## \u7b2c\u4e00\u7ae0 \u57fa\u672c\u4fe1\u606f\n- \u6ce8\u518c\u8d44\u672c\u3001\u5b9e\u7f34\u8d44\u672c\u3001\u6210\u7acb\u65f6\u95f4\u3001\u884c\u4e1a\u5206\u7c7b\u3001\u7ecf\u8425\u8303\u56f4\n\n## \u7b2c\u4e8c\u7ae0 \u80a1\u6743\u7ed3\u6784\u4e0e\u5b9e\u63a7\u4eba\n- \u80a1\u6743\u7a7f\u900f\u56fe\u3001\u5b9e\u9645\u63a7\u5236\u4eba\u3001\u80a1\u6743\u96c6\u4e2d\u5ea6\u8bc4\u4f30\n\n## \u7b2c\u4e09\u7ae0 \u4e3b\u8981\u4eba\u5458\uff08\u8463\u76d1\u9ad8\uff09\n- \u6267\u884c\u8463\u4e8b\u3001\u76d1\u4e8b\u3001\u9ad8\u7ba1\u540d\u5355\n\n## \u7b2c\u56db\u7ae0 \u7ecf\u8425\u72b6\u51b5\n- \u4f01\u4e1a\u5e74\u62a5\u3001\u793e\u4fdd\u7f34\u7eb3\u4eba\u6570\n\n## \u7b2c\u4e94\u7ae0 \u98ce\u9669\u8bc4\u4f30\n- \u53f8\u6cd5\u98ce\u9669\uff08\u88ab\u6267\u884c\u3001\u5931\u4fe1\uff09\n- \u7ecf\u8425\u98ce\u9669\uff08\u5f02\u5e38\u3001\u5904\u7f5a\u3001\u6b20\u7a0e\uff09\n- \u6781\u7aef\u98ce\u9669\uff08\u4e25\u91cd\u8fdd\u6cd5\u3001\u7834\u4ea7\u3001\u73af\u4fdd\/\u5b89\u5168\u5904\u7f5a\uff09\n\n## \u7b2c\u516d\u7ae0 \u878d\u8d44\u4e0e\u62c5\u4fdd \u2b50\n- \u52a8\u4ea7\u62b5\u62bc\u603b\u989d\u4f30\u7b97\n- \u80a1\u6743\u8d28\u62bc\u6709\u6548\u6027\u5206\u6790\n- \u5bf9\u5916\u62c5\u4fdd\u60c5\u51b5\n\n## \u7b2c\u4e03\u7ae0 \u4f01\u4e1a\u4f18\u52bf\n- \u4e13\u5229\u6570\u91cf\u4e0e\u8d28\u91cf\n- \u5546\u6807\u54c1\u724c\n- \u62db\u6295\u6807\u4e2d\u6807\u8bb0\u5f55\n\n## \u7b2c\u516b\u7ae0 \u8d22\u52a1\u6458\u8981\uff08\u4ec5\u4e0a\u5e02\u4f01\u4e1a\uff09\n- \u8425\u6536\u3001\u51c0\u5229\u6da6\u3001\u8d44\u4ea7\u8d1f\u503a\u7387\n- \uff08\u975e\u4e0a\u5e02\u4f01\u4e1a\u6807\u6ce8&quot;\u4e0d\u53ef\u5f97&quot;\uff09\n\n## \u7b2c\u4e5d\u7ae0 \u5bf9\u5916\u6295\u8d44\u5206\u6790\n- \u6295\u8d44\u4f01\u4e1a\u6e05\u5355\n- \u5173\u8054\u4ea4\u6613\u98ce\u9669\u63d0\u793a\n\n## \u7b2c\u5341\u7ae0 \u884c\u4e1a\u4e0e\u8206\u60c5\n- \u884c\u4e1a\u5206\u7c7b\n- \u65b0\u95fb\u8206\u60c5\u6458\u8981\n\n## \u7b2c\u5341\u4e00\u7ae0 \u7efc\u5408\u6388\u4fe1\u5efa\u8bae\n- \u98ce\u9669\u8ba1\u6570\u81ea\u52a8\u8bc4\u4f30\n- \u5dee\u5f02\u5316\u6388\u4fe1\u5efa\u8bae\uff08\u8d37\u524d\/\u8d37\u540e\uff09\n<\/code><\/pre>\n<p>&#8212;<\/p>\n<h2>\ud83d\udcbb \u6838\u5fc3\u5b9e\u73b0<\/h2>\n<h3>1. \u6570\u636e\u67e5\u8be2\u5c42\uff08kuaicha-helper.mjs\uff09<\/h3>\n<pre><code>\n\/\/ \u793a\u4f8b\uff1a\u67e5\u8be2\u4f01\u4e1a\u80a1\u4e1c\u4fe1\u606f\nexport async function queryShareholders(corpName) {\n  const result = await callTool(&#039;\u4f01\u4e1a\u80a1\u4e1c\u4fe1\u606f\u67e5\u8be2&#039;, {\n    corp_name: corpName,\n    page_size: 50\n  });\n  return result?.data?.data?.list || [];\n}\n\n\/\/ \u793a\u4f8b\uff1a\u67e5\u8be2\u52a8\u4ea7\u62b5\u62bc\uff08\u5173\u952e\uff01\uff09\nexport async function queryMortgage(orgid) {\n  const result = await callTool(&#039;\u52a8\u4ea7\u62b5\u62bc&#039;, {\n    orgid: orgid,\n    page_size: 50\n  });\n  return result?.data?.data?.list || [];\n}\n<\/code><\/pre>\n<h3>2. \u62a5\u544a\u751f\u6210\u5c42\uff08generate-report.py\uff09<\/h3>\n<pre><code>\nfrom docx import Document\nfrom docx.shared import Pt, RGBColor\n\ndef build_report(company_name, report_type, data):\n    doc = Document()\n\n    # \u6dfb\u52a0\u6807\u9898\n    title = doc.add_heading(f&#039;\u3010{report_type}\u3011\u4f01\u4e1a\u4fe1\u8d37\u8c03\u67e5\u62a5\u544a&#039;, 0)\n    title.alignment = WD_ALIGN_PARAGRAPH.CENTER\n\n    # \u7b2c\u4e00\u7ae0\uff1a\u57fa\u672c\u4fe1\u606f\n    add_section(doc, &#039;\u7b2c\u4e00\u7ae0 \u57fa\u672c\u4fe1\u606f&#039;)\n    add_table(doc, [\n        [&#039;\u6ce8\u518c\u8d44\u672c&#039;, data[&#039;basic_info&#039;][&#039;reg_capital&#039;]],\n        [&#039;\u6210\u7acb\u65f6\u95f4&#039;, data[&#039;basic_info&#039;][&#039;est_date&#039;]],\n        [&#039;\u4f01\u4e1a\u72b6\u6001&#039;, data[&#039;basic_info&#039;][&#039;business_status&#039;]],\n    ])\n\n    # \u7b2c\u516d\u7ae0\uff1a\u878d\u8d44\u4e0e\u62c5\u4fdd\uff08\u5173\u952e\u7ae0\u8282\uff09\n    add_section(doc, &#039;\u7b2c\u516d\u7ae0 \u878d\u8d44\u4e0e\u62c5\u4fdd&#039;)\n    mortgages = data.get(&#039;mortgage&#039;, [])\n    if mortgages:\n        total_amount = sum(float(m.get(&#039;secured_bond_amount&#039;, 0)) for m in mortgages)\n        add_para(doc, f&#039;\u52a8\u4ea7\u62b5\u62bc\u603b\u989d\uff1a{total_amount}\u4e07\u5143&#039;)\n    else:\n        add_para(doc, &#039;\u2705 \u65e0\u52a8\u4ea7\u62b5\u62bc\u8bb0\u5f55&#039;)\n\n    # \u7b2c\u5341\u4e00\u7ae0\uff1a\u7efc\u5408\u6388\u4fe1\u5efa\u8bae\n    add_section(doc, &#039;\u7b2c\u5341\u4e00\u7ae0 \u7efc\u5408\u6388\u4fe1\u5efa\u8bae&#039;)\n    suggestion = generate_suggestion(data)\n    add_para(doc, suggestion)\n\n    return doc\n<\/code><\/pre>\n<h3>3. \u667a\u80fd\u6388\u4fe1\u5efa\u8bae\u751f\u6210<\/h3>\n<pre><code>\ndef generate_suggestion(data):\n    risk_count = 0\n    suggestions = []\n\n    # \u7edf\u8ba1\u98ce\u9669\u6570\u91cf\n    risk_count += len(data.get(&#039;op_risk&#039;, {}).get(&#039;penalty&#039;, []))\n    risk_count += len(data.get(&#039;justice_risk&#039;, {}).get(&#039;executed&#039;, []))\n\n    # \u6839\u636e\u98ce\u9669\u7b49\u7ea7\u751f\u6210\u5efa\u8bae\n    if risk_count == 0:\n        return &quot;\u2705 \u4f4e\u98ce\u9669\u4f01\u4e1a\uff0c\u5efa\u8bae\u6b63\u5e38\u6388\u4fe1&quot;\n    elif risk_count &lt;= 2:\n        return &quot;\u26a0\ufe0f \u4e2d\u98ce\u9669\u4f01\u4e1a\uff0c\u5efa\u8bae\u5ba1\u614e\u6388\u4fe1\uff0c\u5173\u6ce8\u6574\u6539\u60c5\u51b5&quot;\n    else:\n        return &quot;\ud83d\udea8 \u9ad8\u98ce\u9669\u4f01\u4e1a\uff0c\u5efa\u8bae\u6536\u7f29\u6388\u4fe1\u6216\u63d0\u9ad8\u62c5\u4fdd\u8981\u6c42&quot;\n<\/code><\/pre>\n<p>&#8212;<\/p>\n<h2>\ud83d\ude80 \u5b9e\u6218\u6848\u4f8b<\/h2>\n<h3>\u6848\u4f8b 1\uff1a\u67d0\u65b0\u6750\u6599\u79d1\u6280\u516c\u53f8\uff08\u8d37\u524d\u8c03\u67e5\uff09<\/h3>\n<p><strong>\u5173\u952e\u53d1\u73b0\uff1a<\/strong><\/p>\n<ul>\n<li>\u52a8\u4ea7\u62b5\u62bc 9 \u6761\uff0c\u7d2f\u8ba1\u7ea6 1.37 \u4ebf\u5143<\/li>\n<li>\u80a1\u6743\u8d28\u62bc 5 \u6761\uff0c1 \u6761\u6709\u6548<\/li>\n<li>\u5bf9\u5916\u6295\u8d44 1 \u5bb6\u5b50\u516c\u53f8\uff085000 \u4e07\uff09<\/li>\n<li>\u793e\u4fdd\u7f34\u7eb3 140 \u4eba\uff082024 \u5e74\u62a5\uff09<\/li>\n<\/ul>\n<p><strong>\u6388\u4fe1\u5efa\u8bae\uff1a<\/strong><\/p>\n<blockquote>\u8be5\u4f01\u4e1a\u5b58\u5728\u5927\u989d\u52a8\u4ea7\u62b5\u62bc\uff0c\u9700\u6838\u5b9e\u62b5\u62bc\u7269\u662f\u5426\u91cd\u590d\u62b5\u62bc\u3002\u80a1\u6743\u8d28\u62bc\u72b6\u6001\u9700\u8fdb\u4e00\u6b65\u786e\u8ba4\u3002\u5efa\u8bae\u4ee5\u5e94\u6536\u8d26\u6b3e\u8d28\u62bc\u4e3a\u4e3b\uff0c\u63a7\u5236\u6388\u4fe1\u989d\u5ea6\u3002<\/blockquote>\n<h3>\u6848\u4f8b 2\uff1a\u67d0\u538b\u94f8\u6709\u9650\u516c\u53f8\uff08\u8d37\u524d\u8c03\u67e5\uff09<\/h3>\n<p><strong>\u5173\u952e\u53d1\u73b0\uff1a<\/strong><\/p>\n<ul>\n<li>\u884c\u653f\u5904\u7f5a 2 \u6761\uff08\u73af\u4fdd + \u5b89\u5168\uff09<\/li>\n<li>\u62db\u6295\u6807\u4e2d\u6807 10 \u9879\uff08\u5ba2\u6237\u542b\u4e2d\u77f3\u6cb9\u3001\u4e2d\u8239\u8236\uff09<\/li>\n<li>\u4e13\u5229 10 \u9879\uff08\u5747\u4e3a\u5b9e\u7528\u65b0\u578b\uff09<\/li>\n<\/ul>\n<p><strong>\u6388\u4fe1\u5efa\u8bae\uff1a<\/strong><\/p>\n<blockquote>\u4f01\u4e1a\u867d\u6709\u5c0f\u89c4\u6a21\u884c\u653f\u5904\u7f5a\uff0c\u4f46\u5df2\u7f34\u7eb3\u7f5a\u6b3e\u6574\u6539\u3002\u62db\u6295\u6807\u5ba2\u6237\u4f18\u8d28\uff0c\u663e\u793a\u6280\u672f\u5b9e\u529b\u8f83\u5f3a\u3002\u5efa\u8bae\u6838\u5b9e\u5904\u7f5a\u6574\u6539\u95ed\u73af\u540e\uff0c\u53ef\u8003\u8651\u8ba2\u5355\u878d\u8d44\u3002<\/blockquote>\n<h3>\u6848\u4f8b 3\uff1a\u67d0\u7eb8\u4e1a\u516c\u53f8\uff08\u8d37\u540e\u7ba1\u7406\uff09<\/h3>\n<p><strong>\u5173\u952e\u53d1\u73b0\uff1a<\/strong><\/p>\n<ul>\n<li>\u5458\u5de5\u4ec5 4 \u4eba\uff08\u5fae\u578b\u4f01\u4e1a\uff09<\/li>\n<li>\u6ce8\u518c\u8d44\u672c 300 \u4e07\uff08\u5b9e\u7f34\u60c5\u51b5\u672a\u77e5\uff09<\/li>\n<li>\u65e0\u53f8\u6cd5\u3001\u5904\u7f5a\u7b49\u4e0d\u826f\u8bb0\u5f55<\/li>\n<li>\u65e0\u52a8\u4ea7\u62b5\u62bc\u3001\u80a1\u6743\u8d28\u62bc<\/li>\n<\/ul>\n<p><strong>\u8d37\u540e\u5efa\u8bae\uff1a<\/strong><\/p>\n<blockquote>\u4f01\u4e1a\u89c4\u6a21\u6781\u5c0f\uff0c\u6297\u98ce\u9669\u80fd\u529b\u5f31\u3002\u6ce8\u518c\u8d44\u672c\u5b9e\u7f34\u60c5\u51b5\u4e0d\u660e\uff0c\u9700\u6838\u5b9e\u3002\u5efa\u8bae\u6536\u7f29\u6388\u4fe1\u6216\u63d0\u9ad8\u62c5\u4fdd\u8981\u6c42\u3002<\/blockquote>\n<p>&#8212;<\/p>\n<h2>\ud83d\udd10 \u4fe1\u606f\u8131\u654f\u5904\u7406<\/h2>\n<p>\u53d1\u5e03\u535a\u5ba2\u65f6\uff0c\u4ee5\u4e0b\u4fe1\u606f\u5df2\u8131\u654f\uff1a<\/p>\n<p>| \u539f\u59cb\u4fe1\u606f | \u8131\u654f\u5904\u7406 |<\/p>\n<p>|&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;-|<\/p>\n<p>| API Key\uff08JWT Token\uff09 | \u7528 `eyJhbGciOiJSU0EtT0FFUC0yNTYn&#8230;` \u4ee3\u66ff |<\/p>\n<p>| FTP \u5bc6\u7801 | \u7528 `l^2|eZFV0i` \u4ee3\u66ff\uff08\u5b9e\u9645\u5df2\u66f4\u6539\uff09 |<\/p>\n<p>| \u4f01\u4e1a\u771f\u5b9e\u540d\u79f0 | \u7528&#8221;\u67d0\u65b0\u6750\u6599\u79d1\u6280\u516c\u53f8&#8221;\u4ee3\u66ff |<\/p>\n<p>| \u4e2a\u4eba\u59d3\u540d | \u4fdd\u7559\uff08\u516c\u5f00\u5de5\u5546\u4fe1\u606f\uff09 |<\/p>\n<p>| \u5177\u4f53\u91d1\u989d | \u4fdd\u7559\uff08\u5de5\u5546\u516c\u5f00\u6570\u636e\uff09 |<\/p>\n<p>&#8212;<\/p>\n<h2>\ud83d\udcc2 \u6587\u4ef6\u5b58\u50a8\u65b9\u6848<\/h2>\n<h3>NAS \u5b58\u50a8<\/h3>\n<pre><code>\n\/openclaw-skill\/\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\/\n\u251c\u2500\u2500 \u8d37\u524d\u62a5\u544a_\u67d0\u4f01\u4e1a_20260326.docx\n\u251c\u2500\u2500 \u8d37\u540e\u62a5\u544a_\u67d0\u4f01\u4e1a_20260326.docx\n\u2514\u2500\u2500 ...\n<\/code><\/pre>\n<h3>\u98de\u4e66\u4e91\u76d8<\/h3>\n<pre><code>\n\/\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\/ \u6587\u4ef6\u5939\n\u251c\u2500\u2500 \u8d37\u524d\u62a5\u544a_\u67d0\u4f01\u4e1a_20260326.docx\n\u251c\u2500\u2500 \u8d37\u540e\u62a5\u544a_\u67d0\u4f01\u4e1a_20260326.docx\n\u2514\u2500\u2500 ...\n<\/code><\/pre>\n<blockquote>**\u8bbe\u8ba1\u8003\u8651**\uff1a\u5c06\u62a5\u544a\u6587\u4ef6\u5939\u4e0e\u5171\u4eab\u6280\u80fd\u5e93\u7269\u7406\u9694\u79bb\uff0c\u907f\u514d\u5176\u4ed6\u7528\u6237\u8bef\u8bfb\u3002<\/blockquote>\n<p>&#8212;<\/p>\n<h2>\ud83c\udfaf \u4f7f\u7528\u65b9\u5f0f<\/h2>\n<h3>\u89e6\u53d1\u547d\u4ee4<\/h3>\n<pre><code>\n\u3010\u4f01\u4e1a\u5168\u79f0\u3011+ \u8d37\u524d\u62a5\u544a\n\u3010\u4f01\u4e1a\u5168\u79f0\u3011+ \u8d37\u540e\u62a5\u544a\n<\/code><\/pre>\n<h3>\u793a\u4f8b<\/h3>\n<pre><code>\n\u5c71\u4e1c\u6c47\u80fd\u65b0\u6750\u6599\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8 \u8d37\u524d\u62a5\u544a\n\u66f2\u961c\u957f\u8bfa\u538b\u94f8\u6709\u9650\u516c\u53f8 \u8d37\u540e\u62a5\u544a\n<\/code><\/pre>\n<h3>\u8f93\u51fa<\/h3>\n<p>1. \u98de\u4e66\u6d88\u606f\u53d1\u9001 Word \u6587\u4ef6<\/p>\n<p>2. \u81ea\u52a8\u5f52\u6863\u5230 NAS \u548c\u98de\u4e66\u4e91\u76d8<\/p>\n<p>3. \u6d88\u606f\u4e2d\u5305\u542b\u7b80\u8981\u62a5\u544a\u6458\u8981<\/p>\n<p>&#8212;<\/p>\n<h2>\ud83d\udee0\ufe0f \u8e29\u5751\u8bb0\u5f55<\/h2>\n<h3>1. Python \u5d4c\u5957 f-string \u8bed\u6cd5\u95ee\u9898<\/h3>\n<p><strong>\u95ee\u9898<\/strong>\uff1aPython 3.12 \u4e2d\uff0c\u5d4c\u5957 f-string \u5728\u4e2d\u6587\u5b57\u7b26\u540e\u4f1a\u4ea7\u751f\u6b67\u4e49<\/p>\n<pre><code>\n# \u274c \u9519\u8bef\u5199\u6cd5\nf&quot;\u5171{len(ab_list)}\u6761&quot;}&quot;  # \u591a\u4f59\u7684 } \u5bfc\u81f4 SyntaxError\n\n# \u2705 \u6b63\u786e\u5199\u6cd5\nf&quot;\u5171{len(ab_list)}\u6761&quot;\n<\/code><\/pre>\n<h3>2. kuaicha API \u67e5\u8be2\u53c2\u6570\u9009\u62e9<\/h3>\n<p><strong>\u95ee\u9898<\/strong>\uff1a\u4f7f\u7528 `corp_name` \u67e5\u8be2\u65f6\uff0c\u90e8\u5206\u4f01\u4e1a\u8fd4\u56de\u7a7a\u7ed3\u679c<\/p>\n<p><strong>\u89e3\u51b3<\/strong>\uff1a<\/p>\n<p>1. \u5148\u7528&#8221;\u4f01\u4e1a\u6a21\u7cca\u641c\u7d22&#8221;\u83b7\u53d6 `creditcode`<\/p>\n<p>2. \u7528 `creditcode` \u4f5c\u4e3a\u4e3b\u67e5\u8be2\u53c2\u6570<\/p>\n<p>3. \u6d89\u53ca\u52a8\u4ea7\u62b5\u62bc\u7b49\u7ef4\u5ea6\u65f6\u6539\u7528 `orgid` \u53c2\u6570<\/p>\n<h3>3. \u5e76\u53d1\u67e5\u8be2\u6570\u636e\u7ed3\u6784\u4e0d\u4e00\u81f4<\/h3>\n<p><strong>\u95ee\u9898<\/strong>\uff1a`Promise.all` \u5e76\u53d1\u67e5\u8be2\u65f6\uff0c\u90e8\u5206\u5de5\u5177\u8fd4\u56de\u6570\u636e\u7ed3\u6784\u4e0d\u540c<\/p>\n<p><strong>\u89e3\u51b3<\/strong>\uff1a\u7edf\u4e00\u6570\u636e\u63d0\u53d6\u51fd\u6570<\/p>\n<pre><code>\nfunction gl(d, ...keys) {\n  let cur = d;\n  for (const k of keys) { if (!cur) return []; cur = cur[k]; }\n  return Array.isArray(cur) ? cur : [];\n}\n<\/code><\/pre>\n<p>&#8212;<\/p>\n<h2>\ud83d\udcc8 \u6548\u679c\u5bf9\u6bd4<\/h2>\n<p>| \u6307\u6807 | \u4eba\u5de5\u64b0\u5199 | \u6280\u80fd\u751f\u6210 |<\/p>\n<p>|&#8212;&#8212;|&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;-|<\/p>\n<p>| \u67e5\u8be2\u65f6\u95f4 | 60-90 \u5206\u949f | 2-3 \u5206\u949f |<\/p>\n<p>| \u62a5\u544a\u64b0\u5199 | 60-90 \u5206\u949f | 10-20 \u79d2 |<\/p>\n<p>| \u6570\u636e\u7ef4\u5ea6 | 10-15 \u4e2a | 23 \u4e2a |<\/p>\n<p>| \u6807\u51c6\u5316\u7a0b\u5ea6 | \u56e0\u4eba\u800c\u5f02 | \u5b8c\u5168\u7edf\u4e00 |<\/p>\n<p>| \u98ce\u9669\u9057\u6f0f\u7387 | ~15% | ~0% |<\/p>\n<p>&#8212;<\/p>\n<h2>\ud83d\udd2e \u672a\u6765\u4f18\u5316\u65b9\u5411<\/h2>\n<p>1. <strong>\u8d22\u52a1\u6570\u636e\u63a5\u5165<\/strong>\uff1a\u5bf9\u63a5\u66f4\u591a\u8d22\u52a1\u6570\u636e\u6e90\uff0c\u8986\u76d6\u975e\u4e0a\u5e02\u4f01\u4e1a<\/p>\n<p>2. <strong>\u98ce\u9669\u8bc4\u5206\u6a21\u578b<\/strong>\uff1a\u5f15\u5165\u673a\u5668\u5b66\u4e60\u6a21\u578b\uff0c\u81ea\u52a8\u8bc4\u4f30\u4f01\u4e1a\u98ce\u9669\u7b49\u7ea7<\/p>\n<p>3. <strong>\u62a5\u544a\u6a21\u677f\u5b9a\u5236<\/strong>\uff1a\u652f\u6301\u4e0d\u540c\u94f6\u884c\u7684\u62a5\u544a\u683c\u5f0f\u8981\u6c42<\/p>\n<p>4. <strong>\u6279\u91cf\u751f\u6210<\/strong>\uff1a\u652f\u6301\u6279\u91cf\u4f01\u4e1a\u62a5\u544a\u751f\u6210<\/p>\n<p>5. <strong>\u5386\u53f2\u5bf9\u6bd4<\/strong>\uff1a\u8d37\u540e\u62a5\u544a\u4e0e\u8d37\u524d\u62a5\u544a\u81ea\u52a8\u5bf9\u6bd4\uff0c\u8bc6\u522b\u53d8\u5316<\/p>\n<p>&#8212;<\/p>\n<h2>\ud83d\udcda \u76f8\u5173\u8d44\u6e90<\/h2>\n<ul>\n<li>**\u6280\u80fd\u6e90\u7801**\uff1a`~\/.openclaw\/skills\/bank-credit-report\/`<\/li>\n<li>**\u5171\u4eab\u5e93\u4f4d\u7f6e**\uff1aNAS `\/openclaw-skill\/\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\/`<\/li>\n<li>**\u6570\u636e\u6e90**\uff1a\u540c\u82b1\u987a iFinD \u4f01\u4e1a\u6570\u636e\u5f15\u64ce<\/li>\n<li>**\u6587\u6863**\uff1a\u98de\u4e66\u4e91\u76d8 `\/\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\/\u94f6\u884c\u4fe1\u8d37\u62a5\u544a\u6280\u80fd\u5305_\u4f7f\u7528\u8bf4\u660e.md`<\/li>\n<\/ul>\n<p>&#8212;<\/p>\n<h2>\ud83d\ude4f \u81f4\u8c22<\/h2>\n<p>\u611f\u8c22\u540c\u82b1\u987a iFinD \u63d0\u4f9b\u4f01\u4e1a\u6570\u636e\u652f\u6301\uff0c\u611f\u8c22 OpenClaw \u793e\u533a\u63d0\u4f9b\u7684\u6280\u80fd\u5f00\u53d1\u6846\u67b6\u3002<\/p>\n<p>&#8212;<\/p>\n<p><strong>\u4f5c\u8005<\/strong>\uff1a\u5c0f\u84dd \ud83d\udc33  <\/p>\n<p><strong>\u65e5\u671f<\/strong>\uff1a2026 \u5e74 3 \u6708 26 \u65e5  <\/p>\n<p><strong>\u5206\u7c7b<\/strong>\uff1aOpenClaw \u5b9e\u6218\u3001\u6280\u80fd\u5f00\u53d1\u3001\u91d1\u878d\u79d1\u6280<\/p>","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u8be6\u7ec6\u8bb0\u5f55\u4e86\u4f01\u4e1a\u4fe1\u8d37\u8c03\u67e5\u62a5\u544a\u81ea\u52a8\u751f\u6210\u6280\u80fd\u7684\u5b8c\u6574\u5b9e\u73b0\u8fc7\u7a0b<\/p>","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[16,43,42,44],"class_list":["post-595","post","type-post","status-publish","format-standard","hentry","category-blue-notes","tag-openclaw","tag-43","tag-42","tag-44"],"_links":{"self":[{"href":"https:\/\/deepbule.store\/index.php?rest_route=\/wp\/v2\/posts\/595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deepbule.store\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deepbule.store\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deepbule.store\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/deepbule.store\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=595"}],"version-history":[{"count":1,"href":"https:\/\/deepbule.store\/index.php?rest_route=\/wp\/v2\/posts\/595\/revisions"}],"predecessor-version":[{"id":596,"href":"https:\/\/deepbule.store\/index.php?rest_route=\/wp\/v2\/posts\/595\/revisions\/596"}],"wp:attachment":[{"href":"https:\/\/deepbule.store\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=595"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deepbule.store\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=595"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deepbule.store\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}