{
  "version": "https://jsonfeed.org/version/1", 
  "title": "\u6280\u672f\u6808", 
  "description": "\u4e00\u4e2a\u6280\u80fd\u3001\u4e00\u4e2a\u7ecf\u9a8c\u3001\u4e00\u4e2a\u5957\u8def | \u4eba\u4eba\u90fd\u662f\u8d85\u7ea7\u4e2a\u4f53", 
  "home_page_url": "https://www.v2ex.com/go/skills", 
  "feed_url": "https://www.v2ex.com/feed/skills.json", 
  "icon": "https://cdn.v2ex.com/navatar/7022/2949/1290_large.png?m=1772417478", 
  "favicon": "https://cdn.v2ex.com/navatar/7022/2949/1290_normal.png?m=1772417478", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/catyun88", 
        "name": "catyun88", 
        "avatar": "https://cdn.v2ex.com/avatar/6465/e524/700896_large.png?m=1759637564"
      }, 
      "url": "https://www.v2ex.com/t/1215430", 
      "title": "\u5199\u7f51\u9875\uff0c\u7528\u4e0a\u6211\u8bf4\u7684\u8fd9\u51e0\u4e2a skills\uff0c\u754c\u9762 ui \u597d\u770b\u4e00\u500d\uff0c\u4e0d\u597d\u770b\u4f60\u6765\u6253\u6211", 
      "id": "https://www.v2ex.com/t/1215430", 
      "date_published": "2026-05-25T18:35:11+00:00", 
      "content_html": "<p>\u542f\u7528 skills\uff1a\nui-ux-pro-max\nweb-design-guidelines\nfrontend-design-pro\nsuperpowers-brainstorming</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/chenchunhan8888", 
        "name": "chenchunhan8888", 
        "avatar": "https://cdn.v2ex.com/gravatar/cb4d73fbb2c70093f6700cc9285bf1e7?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1214354", 
      "title": "\u4f7f\u7528 agent \u63a7\u5236\u6d4f\u89c8\u5668\u8c03\u8bd5\u9875\u9762\u7684\u6b63\u786e\u59ff\u52bf\u662f\u4ec0\u4e48\uff1f", 
      "id": "https://www.v2ex.com/t/1214354", 
      "date_published": "2026-05-21T03:21:29+00:00", 
      "content_html": "<p>\u6211\u7684\u9700\u6c42\u662f\u8c03\u8bd5\u524d\u7aef\u9875\u9762\uff1aagent \u5728\u5199\u5b8c vue \u4ee3\u7801\u540e\uff0c\u80fd\u81ea\u5df1\u9a8c\u8bc1\u903b\u8f91\u662f\u5426\u6b63\u5e38\uff0cUI \u663e\u793a\u662f\u5426\u6b63\u5e38\u3002</p>\n<p>\u76ee\u524d\u6211\u662f\u7528 codex +  playwriter \u6765\u8fde\u63a5\u5230\u672c\u5730\u6d4f\u89c8\u8fdb\u884c\u9a8c\u8bc1\uff0c\u4e4b\u524d\u8fd8\u7528\u8fc7 dev-browser \uff08\u4e0d\u597d\u7528\uff09\uff0c\u4e0d\u77e5\u9053\u5927\u5bb6\u6709\u6ca1\u6709\u66f4\u597d\u7684\u65b9\u6cd5\uff1f</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Chengyunlai", 
        "name": "Chengyunlai", 
        "avatar": "https://cdn.v2ex.com/avatar/50c7/6dc2/647464_large.png?m=1773890457"
      }, 
      "url": "https://www.v2ex.com/t/1214079", 
      "date_modified": "2026-05-20T04:52:49+00:00", 
      "content_html": "<p>3.5 \u548c pro \u5c45\u7136\u5728\u4e00\u4e2a\u989d\u5ea6\u6c60\u4e2d\uff1f\u7528\u51e0\u4e2a\u95ee\u9898\u5c31\u82b1\u5b8c\u4e86\uff0c\u539f\u5148\u7684 3 flash \u7528\u7684\u591a\u723d\u77e5\u9053\u5417\uff1f\u8fd8\u6709\u66f4\u65b0\u7684\u6837\u5b50\u8d8b\u5411\u4e8e codex \uff0c\u4f46\u662f\u4f60\u8fd9\u4e2a\u5bf9\u8bdd\u8f6c\u9879\u76ee\u65b9\u5f0f\uff0c\u597d\u6b79\u4f18\u5316\u4e00\u4e0b\u554a\u6839\u636e local path \uff0c\u7ed9\u6211\u6574\u51fa\u8fd9\u4e48\u591a -1 ,-2...</p>\n", 
      "date_published": "2026-05-20T04:45:45+00:00", 
      "title": "Antigravity \u66f4\u65b0\u4e86\u4e00\u4e0b\uff0c\u5fc3\u788e\u4e86", 
      "id": "https://www.v2ex.com/t/1214079"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/loganovo", 
        "name": "loganovo", 
        "avatar": "https://cdn.v2ex.com/avatar/23d5/c262/572769_large.png?m=1746526781"
      }, 
      "url": "https://www.v2ex.com/t/1212773", 
      "title": "\u7528\u8d26\u5bc6\u6a21\u5f0f\u7684 socks5 \u4f5c\u4e3a\u843d\u5730 \u4f1a\u4e0d\u4f1a\u88ab\"\u5077\"?", 
      "id": "https://www.v2ex.com/t/1212773", 
      "date_published": "2026-05-14T10:40:37+00:00", 
      "content_html": "<ul>\n<li>\u5148\u53e0\u4e2a\u7532, \"\u5077\"\u6253\u5f15\u53f7, \u53ea\u8ba8\u8bba\u6280\u672f\u662f\u5426\u53ef\u5b9e\u73b0, \u6216\u8005\u66f4\u4f18\u65b9\u6848, \u6ca1\u771f\u7684\u88ab\u5077\u8fc7; \u4f17\u6240\u5468\u77e5 socks5 \u9ed8\u8ba4\u4e3a\u660e\u6587, \u76f4\u8fde\u4f1a\u88ab\u8bc6\u522b, \u6545\u53ea\u8ba8\u8bba\u4f5c\u4e3a\u843d\u5730\u7684\u65f6\u5019</li>\n<li>\u5728\u4f7f\u7528\u6307\u7eb9\u6d4f\u89c8\u5668\u7684\u65f6\u5019, \u4f7f\u7528 socks5 \u5bb6\u5bbd, \u76f4\u8fde\u4e0d\u901a, \u6545\u4e00\u76f4\u8ba9\u673a\u573a\u4f5c\u4e3a\u524d\u7f6e\u8282\u70b9</li>\n<li>\u4f7f\u7528\u7f8e\u56fd\u843d\u5730\u9e21\u7684\u65f6\u5019, \u4e5f\u662f\u673a\u573a\u8282\u70b9\u4f5c\u4e3a\u524d\u7f6e\u4ee3\u7406\u53bb\u8bbf\u95ee\u843d\u5730\u9e21\u7684 socks5</li>\n<li>\u6709\u70b9\u7591\u95ee \u6211\u89c9\u5f97 \u673a\u573a\u8282\u70b9 \u662f \u53ef\u4ee5\u6536\u96c6\u5230 socks5 \u7684\u660e\u6587\u8d26\u5bc6 \u7684, \u4f46\u662f\u4e0d\u786e\u5b9a</li>\n<li>\u5728\u6ca1\u6709\u81ea\u5df1\u7684\u4e2d\u8f6c\u9e21\u7684\u60c5\u51b5\u4e0b, \u4f7f\u7528 socks5 \u4f5c\u4e3a\u673a\u573a\u7684\u843d\u5730, \u6709\u6ca1\u6709\u66f4\u5b89\u5168\u7684\u5b9e\u73b0? \u53ea\u8bf4 socks5, \u5176\u4ed6\u534f\u8bae\u4e0d\u8c08</li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/jiuqiu", 
        "name": "jiuqiu", 
        "avatar": "https://cdn.v2ex.com/avatar/38cb/78e5/809464_large.png?m=1778414266"
      }, 
      "url": "https://www.v2ex.com/t/1212737", 
      "title": "\u642d\u5efa\u81ea\u5df1\u4e2d\u8f6c\u6559\u5b66 \u53ef\u4ee5\u81ea\u5df1\u5bf9\u63a5\u4e0b\u6e38", 
      "id": "https://www.v2ex.com/t/1212737", 
      "date_published": "2026-05-14T08:44:52+00:00", 
      "content_html": "<p>\u73b0\u5728\u8d8a\u6765\u8d8a\u591a\u7684\u4e2d\u8f6c\u7ad9\u51fa\u73b0\u4e86\uff0c\u6211\u7ed9\u5404\u4f4d\u4f6c\u5206\u4eab\u4e00\u4e2a\u53ef\u89c6\u5316\u642d\u5efa\u81ea\u5df1\u4e2d\u8f6c\u7684\u6559\u5b66\n\u652f\u6301 b \u7aef\u7528\u6237\u5bf9\u63a5 \u5c0f\u767d\u642d\u5efa\u6559\u5b66 <a href=\"https://teach.jiuqiuai.top\" rel=\"nofollow\">https://teach.jiuqiuai.top</a>\n\u5148\u53d1\u4e00\u6ce2\u798f\u5229\uff1a\ngpt-5.5 1000 \u5200\uff0cPro \u53f7\u6c60\nURL\uff1a <a href=\"https://www.jiuqiuai.top\" rel=\"nofollow\">https://www.jiuqiuai.top</a>\nkey=sk-egPDPiWWZ4EtTcM8U0oIid8wCHanIj8DDCwPd9vnZixceXsM\n\u5bf9\u63a5\u6559\u7a0b=https://md.jiuqiuai.top/#intro\n\u8fd8\u6709\u7eaf\u8840 max \u8d26\u53f7 \u53ef\u4ee5\u53bb URL \u5b98\u7f51\u770b\nClaude Max \u53f7\u6c60\u662f\u81ea\u5efa\u7684 \u72b6\u6001\u7ad9 <a href=\"https://status.jiuqiuai.top\" rel=\"nofollow\">https://status.jiuqiuai.top</a>\n\u611f\u5174\u8da3\u7684\u53ef\u4ee5\u63a5\u89e6\u4e00\u4e0b</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/Cycle0079", 
        "name": "Cycle0079", 
        "avatar": "https://cdn.v2ex.com/gravatar/2ccc1d1b0f6aee5dc87386cd9fe7cb5f?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1212471", 
      "title": "[\u5f00\u6e90] \u5199\u4e86\u4e00\u4e2a cdp \u7528\u6765\u65b9\u4fbf\u5728 Codex \u4e2d\u4f7f\u7528 deepseek \u7f51\u9875\u7aef", 
      "id": "https://www.v2ex.com/t/1212471", 
      "date_published": "2026-05-13T09:03:26+00:00", 
      "content_html": "<p>deepseek-cdp-cli \u662f\u57fa\u4e8e CDP \u590d\u7528\u771f\u5b9e Chrome \u6d4f\u89c8\u5668\u4f1a\u8bdd\uff0c\u4e0e\u771f\u5b9e\u7684 deepseek \u5b98\u7f51\u8fdb\u884c\u4ea4\u4e92.</p>\n<p>\u9002\u7528\u573a\u666f\u5305\u62ec\u7ee7\u7eed \u4f7f\u7528\u7f51\u9875\u767b\u5f55\u6001\u3001\u53d1\u9001\u5bf9\u8bdd\u3001\u4e0a\u4f20\u6587\u4ef6\u3001\u641c\u7d22\u548c\u5bfc\u51fa\u4f1a\u8bdd\u3002</p>\n<p>\u5f00\u6e90\u5730\u5740: <a href=\"https://github.com/meomeo-dev/deepseek-cdp-cli\" rel=\"nofollow\">https://github.com/meomeo-dev/deepseek-cdp-cli</a></p>\n<p>\u4e3b\u8981\u662f\u4e3a\u4e86\u65b9\u4fbf Claude Code \u548c codex \u5728\u8c03\u7814\u6280\u672f\u95ee\u9898\u65f6, \u80fd\u975e\u5e38\u65b9\u4fbf\u7684\u8ba9 Agent \u8c03\u7528 deepseek \u8fdb\u884c\u6df1\u5ea6\u7814\u7a76, \u80fd\u6781\u5927\u7684\u63d0\u9ad8\u6280\u672f\u8c03\u7814\u7684\u6548\u7387. </p>\n<p>\u652f\u6301\u547d\u4ee4\u884c\u5b89\u88c5, \u4e5f\u63d0\u4f9b\u4e86 <a href=\"http://SKILL.md\" rel=\"nofollow\">SKILL.md</a> , \u65b9\u4fbf Agent \u81ea\u884c\u8c03\u7528.</p>\n<p>\u95ee\u4ec0\u4e48\u8981\u505a\u8fd9\u4e2a\u5de5\u5177, \u56e0\u4e3a Agent \u4e0b\u6587\u603b\u7ed3\u80fd\u529b\u548c\u63d0\u95ee\u80fd\u529b\u8fdc\u8fdc\u8d85\u8fc7\u4e86\u4eba\u7c7b\u3002\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7531 Agent \u63d0\u95ee\u5e26\u6765\u7684\u8bef\u5dee\u4e5f\u4f1a\u88ab\u62b9\u5e73\u3002</p>\n<p>\u9879\u76ee\u76ee\u524d\u57fa\u4e8e MacOS \u5f00\u53d1\uff0c\u4e0d\u8fc7 Windows \u4e0a\u544a\u8bc9 AI\u201c\u628a\u8fd9\u4e2a\u5de5\u5177\u8dd1\u901a\uff0c\u9605\u8bfb README \u4e2d\u5173\u4e8e windows \u72b6\u6001\u7684\u90e8\u5206\uff0c\u5c06\u4ee3\u7801\u4fee\u6539\u9002\u914d\u6211\u5f53\u524d\u7684 windows \u7cfb\u7edf/wsl \u5b50\u7cfb\u7edf\u53ef\u8c03\u7528\u7684\u201d \u5e94\u8be5\u4e5f\u662f\u53ef\u4ee5\u7684, \u56e0\u4e3a\u4e3b\u8981\u662f\u627e\u5230 Windows \u7684 Chrome \u76ee\u5f55\u548c\u9002\u914d Windows \u7684\u9875\u9762\u70b9\u51fb.</p>\n<h2>\u5b89\u88c5\u6280\u80fd</h2>\n<p>\u628a github \u5730\u5740\u4e22\u7ed9 Agent \u8ba9\u5b83\u914d\u7f6e\u4e00\u4e0b\u5c31\u597d:</p>\n<pre><code>\u201c\u5e2e\u6211\u5b89\u88c5\u8fd9\u4e2a\u6280\u80fd https://github.com/meomeo-dev/deepseek-cdp-cli , \u521d\u59cb\u5316\u5b89\u88c5 npm install -g deepseek-cdp-cli , \u7136\u540e deepseek auth login \u62c9\u8d77\u7f51\u9875\u65b9\u4fbf\u6211\u767b\u9646 deepseek\u201d\n</code></pre>\n<p><code>deepseek auth login</code> \u4e0d\u4f1a\u4f7f\u7528\u7528\u6237 Chrome \u7684 Profile, \u800c\u662f\u65b0\u5efa\u4e00\u4e2a deepseek cdp \u4e13\u7528 Profile.</p>\n<h2>\u4f7f\u7528</h2>\n<p>\u5e73\u65f6\u4f7f\u7528\u65f6\u53ea\u9700\u8981 \u201cdeepseek \u7814\u7a76\u4e00\u4e0b&lt;\u66ff\u6362\u4e3a\u95ee\u9898&gt;\u201d </p>\n<p>\u6216\u8005\u660e\u786e\u6307\u5b9a\u6280\u80fd \"$deepseek-cdp-cli \u7814\u7a76\u4e00\u4e0b&lt;\u66ff\u6362\u4e3a\u95ee\u9898&gt;\"</p>\n<p>\u6280\u80fd\u6587\u6863\u4e2d\u63d0\u4f9b\u4e86\u51e0\u4e2a\u5e38\u7528\u7684\u6a21\u677f\uff1a</p>\n<ol>\n<li>\u6df1\u5ea6\u7814\u7a76</li>\n<li>\u4e8b\u5b9e\u5ba1\u67e5</li>\n<li>\u89c6\u89c9\u7406\u89e3\uff08\u5c06\u56fe\u50cf\u8f6c\u4e3a json \u63cf\u8ff0\uff09\uff0c\u5982\u679c\u4f60\u7684\u8d26\u53f7\u7070\u5ea6\u5230\u7684\u8bdd\u53ef\u4ee5\u7528\uff0c\u5148\u81ea\u5df1\u7f51\u9875\u7aef\u767b\u5f55\u786e\u8ba4\u662f\u5426\u6709\u89c6\u89c9\u6a21\u5f0f\u3002</li>\n</ol>\n<p>\u7531\u4e8e\u57fa\u4e8e\u7f51\u9875 DOM \u5143\u7d20\u8bc6\u522b\uff0c\u56e0\u6b64\u5b58\u5728\u5f0a\u7aef\uff0c\u5982\u679c\u7f51\u9875\u7248\u53d1\u751f\u7ed3\u6784\u53d8\u5316\uff0c\u5f53 deepseek \u7f51\u9875\u7248\u672c\u5347\u7ea7\u65f6\uff0c\u4f1a\u5bfc\u81f4\u529f\u80fd\u5931\u6548\u3002</p>\n<p>\u5efa\u8bae\u4f5c\u4e3a vibe coding \u4f34\u4fa3\u4f7f\u7528\u3002 </p>\n<p>\u5e0c\u671b\u5927\u5bb6\u80fd\u4f7f\u7528\u7684\u6109\u5feb, \u63d0\u5347\u5f00\u53d1\u6548\u7387.</p>\n<p>\u611f\u8c22 V2EX \u5e73\u53f0\u63d0\u4f9b\u7684\u66dd\u5149\u673a\u4f1a.</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/warrenwt", 
        "name": "warrenwt", 
        "avatar": "https://cdn.v2ex.com/avatar/a8bd/c843/548747_large.png?m=1778662026"
      }, 
      "url": "https://www.v2ex.com/t/1212464", 
      "title": "\u81ea\u5df1\u7528 ai \u5199\u4e86\u4e2a\u94fe\u63a5 mysql \u6570\u636e\u5e93\u7684 mcp \u5de5\u5177", 
      "id": "https://www.v2ex.com/t/1212464", 
      "date_published": "2026-05-13T08:47:57+00:00", 
      "content_html": "<p>\u4e4b\u524d\u7528 ai \u5e2e\u6211\u751f\u6210 entity \u90fd\u8981\u6211\u81ea\u5df1\u5bfc\u51fa\u8868\u7ed3\u6784\uff0c\u7136\u540e\u7c98\u8d34\u7ed9\u5b83\u5206\u6790\u751f\u6210\u5bf9\u5e94\u7684 entity \uff0c\u611f\u89c9\u597d\u9ebb\u70e6\uff0c\u800c\u4e14\u8fd8\u4e0d\u80fd\u5b9e\u65f6\u67e5\u770b\u6211\u7684\u8868\u548c entity \u5b57\u6bb5\u662f\u5426\u5bf9\u5e94\u4e86\uff0c\n\u95ee\u4e86 ai \u5efa\u8bae\u6211\u5199\u4e2a\u672c\u5730\u9488\u5bf9\u6027\u7684\u811a\u672c\u6216\u8005\u7528 mcp \u5de5\u5177\uff0c\u6240\u4ee5\u6211\u5c31 vibe coding \u4e2a\u94fe\u63a5 mysql \u6570\u636e\u5e93\u7684 mcp \u5de5\u5177\uff0c\u5730\u5740\uff1a <a href=\"https://github.com/wadewtwt/mysql-schema-mcp\" rel=\"nofollow\">https://github.com/wadewtwt/mysql-schema-mcp</a>\n<img alt=\"image-20260508143220385\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://imgur.com/a/BQURVtj\"/></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/JieyueXing", 
        "name": "JieyueXing", 
        "avatar": "https://cdn.v2ex.com/avatar/59da/4184/624907_large.png?m=1779805283"
      }, 
      "url": "https://www.v2ex.com/t/1209937", 
      "title": "AI \u65f6\u4ee3\uff0c Java \u4e2d\u77ed\u671f\u7684\u5730\u4f4d\u4e0d\u964d\u53cd\u589e", 
      "id": "https://www.v2ex.com/t/1209937", 
      "date_published": "2026-05-02T02:37:01+00:00", 
      "content_html": "AI \u7684\u5174\u8d77\u5728 Java \u9762\u524d\u53ea\u80fd\u7b97\u662f\u4e00\u4e2a\u7a1a\u7ae5\u3002<br />\u4e00\u4e9b\u4eba\u501f AI \u7092\u70ed\u5ea6\u9020\u94f2\u5b50\uff0c\u641e\u5f97\u50cf\u65b0\u5174\u7684\u90aa\u4fee\u95e8\u6d3e\u529f\u6cd5\uff0c\u5e76\u501f\u6b64\u5f00\u5b97\u7acb\u6d3e\u558a\u53e3\u53f7\uff0c\u4e00\u5ea6\u9020\u6210\u4e86\u51e0\u5341\u5e74\u7684\u540d\u95e8\u6b63\u6d3e\u4e2d\u7684\u5185\u5916\u95e8\u5f1f\u5b50\u90fd\u611f\u89c9\u9a6c\u4e0a\u8981\u88ab\u98a0\u8986\u7684\u9519\u89c9\u3002<br />\u4f46\u5728\u771f\u6b63\u7684 AGI \u5230\u6765\u524d\uff0cAI \u4e0d\u4f1a\u98a0\u8986\u73b0\u5728\u7684\u4f20\u7edf\u7f16\u7a0b\u8bed\u8a00\uff0c\u53ea\u4f1a\u878d\u5165\u5230\u4f20\u7edf\u7f16\u7a0b\u8bed\u8a00\u4e2d\uff0c\u8fd9\u79cd\u65b0\u5174\u7684\u7406\u5ff5\u4f1a\u88ab\u540d\u95e8\u6b63\u6d3e\u6240\u5438\u6536\u3002<br />Java \u5728\u4f01\u4e1a\u7ea7\u573a\u666f\u4e0b\u5360\u636e\u4e3b\u5bfc\u5730\u4f4d\u3002\u73b0\u5b9e\u4e16\u754c\u7684\u903b\u8f91\u662f\u5927\u91cf Java \u57fa\u5efa\u9879\u76ee\u4e0e AI \u7ed3\u5408\uff0c\u5728\u539f\u6709\u7684\u5546\u4e1a\u95ed\u73af\u4e2d\u8fed\u4ee3\u4e0e\u8fdb\u6b65\uff0c\u8fd9\u4e5f\u662f Java 8 \u8fd9\u4e9b\u5e74\u5c79\u7acb\u4e0d\u52a8\u7684\u539f\u56e0\u2014\u2014\u800c\u4e0d\u662f\u5e7b\u60f3\u7740\u7528 AI \u52a0\u4e0a\u4e00\u95e8\u8f7b\u91cf\u5feb\u901f\u7684\u7f16\u7a0b\u8bed\u8a00\uff0c\u5c31\u80fd\u968f\u65f6\u9020\u51fa\u5546\u4e1a\u94f2\u5b50\u3001\u4e00\u4eba OPC \u6539\u53d8\u547d\u8fd0\u3002<br />\u5546\u4e1a\u7684\u672c\u8d28\u662f\u95ed\u73af\u3002AI \u662f\u653e\u5927\u5668\uff0c\u653e\u5927\u4e2a\u4eba\u548c\u5df2\u6709\u7684\u5546\u4e1a\u95ed\u73af\u7684\u6548\u7387\uff0c\u800c\u4e0d\u662f\u56e0\u4e3a\u65b0\u65f6\u4ee3\u9020\u697c\u6548\u7387\u6709\u7a81\u7834\uff0c\u5c31\u8ddf\u968f\u558a\u9ad8\u53e3\u53f7\u7684\u4eba\u6d41\uff0c\u628a\u539f\u6709\u7684\u5927\u697c\u63a8\u7ffb\uff0c\u518d\u5efa\u4e00\u4e2a\u81ea\u8ba4\u4e3a\u521b\u65b0\u7684\u5c0f\u5c4b\u7b49\u7740\u522b\u4eba\u4f4f\u8fdb\u6765\u3002"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/AkiraRaito", 
        "name": "AkiraRaito", 
        "avatar": "https://cdn.v2ex.com/gravatar/a7abfabb5fb6f7723b895e7946dfa1e2?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1209416", 
      "title": "\u5f04\u4e86\u4e00\u4e2a skill \u7248\u7684 Spring Initializr \uff0c\u70b9\u5f00\u5373\u7528\uff0c\u4e00\u952e\u914d\u7f6e\u4f17\u591a skill", 
      "id": "https://www.v2ex.com/t/1209416", 
      "date_published": "2026-04-29T08:48:18+00:00", 
      "content_html": "<p>AcademicForge\uff1a\u70b9\u5f00\u5373\u7528\uff0cgithub 900\u2b50\n\u76ee\u524d\u4e3b\u8981\u9762\u5411\u79d1\u7814/\u5b66\u672f\u7684 skill \u9ec4\u9875\n\u53d7 Spring Initializr \u542f\u53d1\uff0c\u6211\u505a\u4e86\u4e00\u4e2a\u9762\u5411\u79d1\u7814/\u5b66\u672f\u5de5\u4f5c\u7684 AI Skill \u9ec4\u9875\uff1a\n<a href=\"https://hughyau.com/AcademicForge/\" rel=\"nofollow\">https://hughyau.com/AcademicForge/</a></p>\n<p>\u628a\u5e38\u7528\u79d1\u7814\u4efb\u52a1\u62c6\u6210\u53ef\u76f4\u63a5\u8c03\u7528\u7684 skill \uff0c\u6309\u9700\u68c0\u7d22\u3001\u7ec4\u5408\u4f7f\u7528\u3002\n\u5305\u62ec\uff1a\n\u8bba\u6587\u5199\u4f5c / Review / Rebuttal\n\u6587\u732e\u8c03\u7814 / \u603b\u7ed3 / \u5bf9\u6bd4\nResearch Ideation\nCoding / Debug / \u5b9e\u9a8c\u5206\u6790\nFigure / Poster / Presentation</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/loneranger1024", 
        "name": "loneranger1024", 
        "avatar": "https://cdn.v2ex.com/avatar/7d99/c6cf/673630_large.png?m=1773468208"
      }, 
      "url": "https://www.v2ex.com/t/1206984", 
      "title": "\u4f60\u7684\u5c4e\u5c71\u4ee3\u7801\u8be5\u88c5\u4e2a GPS \u4e86", 
      "id": "https://www.v2ex.com/t/1206984", 
      "date_published": "2026-04-19T08:00:58+00:00", 
      "content_html": "<p><strong>Vibe coding \u5f88\u723d\uff0c\u76f4\u5230\u9879\u76ee\u53d8\u6210\u5c4e\u5c71\u4ee3\u7801\u3002</strong></p>\n<p>\u7528 AI \u5199\u4ee3\u7801\u5c31\u50cf\u5f00\u4e86\u6302\u2014\u2014\u4e00\u4e2a prompt \u5c31\u80fd\u751f\u6210\u51e0\u767e\u884c\uff0c\u529f\u80fd\u8dd1\u5f97\u901a\uff0c\u6210\u5c31\u611f\u62c9\u6ee1\u3002\u4f46\u5f53\u9879\u76ee\u4ece demo \u6f14\u5230\u51e0\u4e07\u884c\u3001\u5341\u51e0\u4e2a\u6a21\u5757\u65f6\uff0c\u95ee\u9898\u5f00\u59cb\u66b4\u9732\uff1a\u6539\u4e86\u4e00\u5904\uff0c\u7275\u51fa\u4e09\u5904 bug \uff1b\u52a0\u4e86\u4e00\u4e2a\u529f\u80fd\uff0c\u4e0d\u77e5\u9053\u4f1a\u5f71\u54cd\u54ea\u91cc\uff1b AI \u6bcf\u6b21\u8fdb\u9879\u76ee\u90fd\u8981\u4ece\u5934\u8bfb\u4e00\u5806\u6587\u4ef6\uff0c\u4e0a\u4e0b\u6587\u8d8a\u5806\u8d8a\u4e71\u3002</p>\n<p><strong>\u8fd9\u80cc\u540e\u5176\u5b9e\u662f\u4e00\u4e2a\u8001\u95ee\u9898\uff1a\u6ca1\u6709\u6587\u6863\u3002</strong></p>\n<p>\u7a0b\u5e8f\u5458\u81ea\u53e4\u81ea\u5632\u300c\u5c4e\u5c71\u4ee3\u7801\u300d\uff0c\u672c\u8d28\u4e0a\u5c31\u662f\u524d\u4eba\u6ca1\u7559\u6587\u6863\uff0c\u540e\u4eba\u53ea\u80fd\u5728\u5783\u573e\u5c71\u91cc\u8003\u53e4\u3002\u8bbd\u523a\u7684\u662f\uff0c\u6bcf\u4e2a\u4eba\u5199\u4ee3\u7801\u65f6\u90fd\u4e0d\u7231\u5199\u6587\u6863\uff0c\u63a5\u624b\u522b\u4eba\u9879\u76ee\u65f6\u53c8\u75af\u72c2\u9a82\u5a18\u3002\u6587\u6863\u4e00\u76f4\u662f\u4ef6\u8d39\u65f6\u8d39\u529b\u7684\u82e6\u5dee\u4e8b\u2014\u2014\u4eba\u5199\uff0c\u4eba\u5fd8\uff0c\u4eba\u61d2\u3002</p>\n<p><strong>\u4f46\u73b0\u5728\uff0c\u5199\u6587\u6863\u8fd9\u4ef6\u4e8b\u53ef\u4ee5\u4ea4\u7ed9 AI \u3002</strong></p>\n<p>\u4e0d\u662f\u8ba9\u4eba\u5199\u597d\u4e86\u7ed9 AI \u770b\uff0c\u800c\u662f\u8ba9 AI \u81ea\u5df1\u7ef4\u62a4\u6587\u6863\uff1a\u4ee3\u7801\u600e\u4e48\u53d8\uff0c\u6587\u6863\u5c31\u600e\u4e48\u66f4\u65b0\u3002\u4f60\u7684 Agent \u6bcf\u6b21\u8fdb\u5165\u9879\u76ee\uff0c3 \u6b65\u5c31\u80fd\u6478\u6e05\u5168\u5c40\uff1b\u6bcf\u6b21\u63d0\u4ea4\u4ee3\u7801\uff0c\u7cfb\u7edf\u81ea\u52a8\u68c0\u67e5\u6587\u6863\u662f\u5426\u540c\u6b65\u66f4\u65b0\u3002\u6587\u6863\u4e0d\u518d\u662f\u62d6\u540e\u817f\u7684\u8d1f\u62c5\uff0c\u800c\u662f AI \u534f\u4f5c\u7684\u57fa\u7840\u8bbe\u65bd\u3002</p>\n<p>\u8fd9\u5957\u673a\u5236\u7684\u6838\u5fc3\u5c31\u4e24\u70b9\uff1a</p>\n<ol>\n<li><strong>\u5206\u5f62\u6587\u6863 + Prompt \u7ea6\u675f</strong> \u2014 L1/L2/L3 \u5206\u5f62\u7ed3\u6784\u8ba9 Agent \u5feb\u901f\u5efa\u7acb\u4e0a\u4e0b\u6587\uff0c\u89c4\u5219\u5199\u8fdb\u6839\u6587\u6863\u5f62\u6210\u81ea\u6211\u7ea6\u675f</li>\n<li><strong>Git Hook \u5f3a\u5236\u6821\u9a8c</strong> \u2014 \u63d0\u4ea4\u65f6\u81ea\u52a8\u68c0\u67e5\uff0c\u4ee3\u7801\u548c\u6587\u6863\u4e0d\u540c\u6b65\u5c31\u76f4\u63a5\u963b\u65ad\uff0c\u903c\u7740 Agent \u66f4\u65b0\u5b8c\u518d\u63d0\u4ea4</li>\n</ol>\n<hr/>\n<h2>\u4e00\u3001\u5206\u5f62\u6587\u6863\u7cfb\u7edf</h2>\n<h3>\u6838\u5fc3\u601d\u8def</h3>\n<p>\u6587\u6863\u6309\u5c42\u7ea7\u7ec4\u7ec7\uff0c\u50cf\u5206\u5f62\u4e00\u6837\uff1a\u6bcf\u4e00\u5c42\u53ea\u63cf\u8ff0\u81ea\u5df1\u76f4\u63a5\u7ba1\u8f96\u7684\u5185\u5bb9\uff0c\u4e0d\u8fc7\u5ea6\u5c55\u5f00\u3002</p>\n<pre><code>L1: \u6839\u76ee\u5f55 CLAUDE.md          \u2190 \u5168\u5c40\u67b6\u6784\u3001\u89c4\u5219\u3001\u76ee\u5f55\u5730\u56fe\nL2: \u5b50\u76ee\u5f55 CLAUDE.md          \u2190 \u8be5\u6a21\u5757\u7684\u804c\u8d23\u3001\u6587\u4ef6\u6e05\u5355\u3001\u5bfc\u51fa\u3001\u4f9d\u8d56\nL3: \u6587\u4ef6\u5934\u6ce8\u91ca\uff08\u53ef\u9009\uff09         \u2190 \u4ec5\u7528\u4e8e\u903b\u8f91\u590d\u6742\u3001\u4e0d\u76f4\u89c2\u7684\u6587\u4ef6\n</code></pre>\n<p>AI \u4ece\u4efb\u610f\u6587\u4ef6\u51fa\u53d1\uff0c\u6700\u591a 3 \u6b21 Read \u5373\u53ef\u5230\u8fbe\u5b8c\u6574\u4e0a\u4e0b\u6587\uff1a</p>\n<ul>\n<li>\u5f53\u524d\u6587\u4ef6 \u2192 L2 <a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a> \u2192 L1 <a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a></li>\n</ul>\n<h3>\u6587\u4ef6\u5bf9\u4e0d\u53d8\u5f0f\uff08 File Pair Invariant \uff09</h3>\n<p>\u6bcf\u4e2a\u6709\u6587\u6863\u7684\u76ee\u5f55\uff0c\u5fc5\u987b\u540c\u65f6\u5b58\u5728\u4e24\u4e2a\u6587\u4ef6\uff1a</p>\n<pre><code>CLAUDE.md      \u2190 \u552f\u4e00\u7684\u7f16\u8f91\u6e90\uff0c\u5185\u5bb9\u5728\u8fd9\u91cc\nAGENTS.md      \u2190 CLAUDE.md \u7684\u7b26\u53f7\u94fe\u63a5\uff08 symlink \uff09\uff0c\u5185\u5bb9\u5b8c\u5168\u4e00\u81f4\n</code></pre>\n<p><strong>\u4ec0\u4e48\u662f symlink \uff08\u7b26\u53f7\u94fe\u63a5\uff09\uff1f</strong></p>\n<p>Symlink \u662f\u64cd\u4f5c\u7cfb\u7edf\u63d0\u4f9b\u7684\u4e00\u79cd\u7279\u6b8a\u6587\u4ef6\uff0c\u5b83\u672c\u8eab\u4e0d\u5305\u542b\u5b9e\u9645\u5185\u5bb9\uff0c\u800c\u662f\u6307\u5411\u53e6\u4e00\u4e2a\u6587\u4ef6\u7684\u8def\u5f84\u3002\u53ef\u4ee5\u7406\u89e3\u4e3a<strong>\u5feb\u6377\u65b9\u5f0f</strong>\u2014\u2014\u6253\u5f00 symlink \uff0c\u5b9e\u9645\u8bbf\u95ee\u7684\u662f\u5b83\u6307\u5411\u7684\u90a3\u4e2a\u6587\u4ef6\u3002\u7f16\u8f91\u6e90\u6587\u4ef6\uff0csymlink \u7684\u5185\u5bb9\u4e5f\u4f1a\u540c\u6b65\u53d8\u5316\u3002</p>\n<p><strong>\u4e3a\u4ec0\u4e48\u8981\u7528 symlink \uff1f</strong> \u4e0d\u540c AI \u5de5\u5177\u8bfb\u53d6\u7684\u5165\u53e3\u6587\u4ef6\u540d\u4e0d\u540c\uff1a</p>\n<ul>\n<li>Claude Code \u8bfb <code><a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a></code></li>\n<li>Codex \u7b49\u8bfb <code><a href=\"http://AGENTS.md\" rel=\"nofollow\">AGENTS.md</a></code></li>\n</ul>\n<p>\u7528 symlink \u800c\u4e0d\u662f\u4e24\u4e2a\u72ec\u7acb\u6587\u4ef6\uff0c\u786e\u4fdd\u6c38\u8fdc\u4e0d\u4f1a\u51fa\u73b0\u5185\u5bb9\u4e0d\u4e00\u81f4\u7684\u60c5\u51b5\u3002</p>\n<h4>\u521b\u5efa symlink \u547d\u4ee4</h4>\n<pre><code class=\"language-bash\"># \u5728\u76ee\u5f55\u5185\u6267\u884c\uff08\u76f8\u5bf9\u8def\u5f84\uff09\nln -s \"CLAUDE.md\" \"AGENTS.md\"\n\n# \u9a8c\u8bc1\nls -la AGENTS.md          # \u5e94\u663e\u793a AGENTS.md -&gt; CLAUDE.md\n</code></pre>\n<hr/>\n<h3>L1 \u6587\u6863\uff08\u6839\u76ee\u5f55 <a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a> \uff09</h3>\n<p>\u653e\u5728\u9879\u76ee\u6839\u76ee\u5f55\uff0c\u5185\u5bb9\u5305\u62ec\uff1a</p>\n<ul>\n<li>\u9879\u76ee\u7b80\u4ecb + \u6280\u672f\u6808</li>\n<li>\u5f00\u53d1\u547d\u4ee4\uff08 dev/build/test/db migration \u7b49\uff09</li>\n<li>\u6574\u4f53\u76ee\u5f55\u7ed3\u6784\u56fe\uff08\u6df1\u5ea6 2 \u5c42\u5373\u53ef\uff09</li>\n<li>\u5173\u952e\u67b6\u6784\u6a21\u5f0f\uff08\u6570\u636e\u5e93\u8fde\u63a5\u65b9\u5f0f\u3001\u8ba4\u8bc1\u6d41\u7a0b\u3001\u6743\u9650\u7cfb\u7edf\u7b49\uff09</li>\n<li><strong>\u6587\u6863\u7cfb\u7edf\u672c\u8eab\u7684\u89c4\u5219</strong>\uff08\u4f55\u65f6\u521b\u5efa L2 \u3001Loop-back Check \uff09</li>\n</ul>\n<h4>\u6a21\u677f</h4>\n<pre><code class=\"language-markdown\"># [\u9879\u76ee\u540d]\n\n## \u6280\u672f\u6808\nNext.js 15 \u00b7 React 19 \u00b7 TypeScript \u00b7 Drizzle ORM \u00b7 ...\n\n## \u5f00\u53d1\u547d\u4ee4\npnpm dev / pnpm build / pnpm db:generate ...\n\n## \u76ee\u5f55\u7ed3\u6784\nsrc/\n\u251c\u2500\u2500 app/         # Next.js App Router\n\u251c\u2500\u2500 config/      # \u914d\u7f6e\u3001\u6570\u636e\u5e93 schema \u3001i18n\n\u251c\u2500\u2500 core/        # \u6846\u67b6\u6838\u5fc3\u6a21\u5757\n\u251c\u2500\u2500 extensions/  # \u53ef\u63d2\u62d4\u6269\u5c55\uff08 AI/\u652f\u4ed8/\u5b58\u50a8\uff09\n\u251c\u2500\u2500 shared/      # \u5171\u4eab\u7ec4\u4ef6\u3001hooks \u3001\u5de5\u5177\u51fd\u6570\n\u2514\u2500\u2500 themes/      # \u4e3b\u9898\u5b9e\u73b0\n\n## \u67b6\u6784\u6a21\u5f0f\n[\u5173\u952e\u6a21\u5f0f\u8bf4\u660e...]\n\n## \u5206\u5f62\u6587\u6863\u7cfb\u7edf\u89c4\u5219\n[\u89c1\u4e0b\u6587]\n</code></pre>\n<hr/>\n<h3>L2 \u6587\u6863\uff08\u5b50\u76ee\u5f55 <a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a> \uff09</h3>\n<p>\u6bcf\u4e2a L2 \u6587\u6863\u63a7\u5236\u5728 <strong>\u2264 80 \u884c</strong>\uff0c\u56fa\u5b9a\u56db\u8282\uff1a</p>\n<pre><code class=\"language-markdown\"># [\u6a21\u5757\u540d]\n&gt; \u672c\u76ee\u5f55\u6587\u4ef6\u6709\u53d8\u52a8\u65f6\uff0c\u8bf7\u540c\u6b65\u66f4\u65b0\u6b64\u6587\u6863\u3002\n\n## Purpose\n\u8fd9\u4e2a\u76ee\u5f55\u7684\u804c\u8d23\u662f\u4ec0\u4e48\n\n## File Inventory\n| \u6587\u4ef6/\u76ee\u5f55     | \u7528\u9014                        |\n| ------------ | --------------------------- |\n| `foo.ts`     | \u505a\u4ec0\u4e48                      |\n| `bar/`       | \u5b50\u6a21\u5757\uff0c\u505a\u4ec0\u4e48              |\n\n## Key Exports\n- `SomeClass` \u2014 \u63cf\u8ff0\n- `someFunction(arg)` \u2014 \u63cf\u8ff0\n\n## Dependencies\n- Depends on: `src/core/db`, `src/config`\n- Depended on by: `src/app/api/*`\n</code></pre>\n<h4>\u4f55\u65f6\u521b\u5efa L2 \u6587\u6863</h4>\n<p><strong>\u6ee1\u8db3\u4ee5\u4e0b\u4efb\u610f\u4e00\u6761</strong>\uff0c\u5c31\u5e94\u8be5\u521b\u5efa\uff1a</p>\n<ul>\n<li>\u662f\u9876\u5c42\u6216\u6838\u5fc3\u6a21\u5757\u76ee\u5f55\uff08 src/app \u3001src/core \u3001src/config \u7b49\uff09</li>\n<li>\u76f4\u63a5\u5b50\u9879\u6709 4 \u4e2a\u4ee5\u4e0a</li>\n<li>\u662f\u6e05\u6670\u7684\u6a21\u5757\u8fb9\u754c\u6216\u9ad8\u9891\u7ef4\u62a4\u5165\u53e3</li>\n<li>\u7236\u6587\u6863\u65e0\u6cd5\u5728 3 \u6b21 Read \u5185\u89e3\u91ca\u6e05\u695a</li>\n</ul>\n<p><strong>\u4ee5\u4e0b\u6761\u4ef6\u5168\u90e8\u6ee1\u8db3\u65f6\uff0c\u4e0d\u9700\u8981\u521b\u5efa</strong>\uff1a</p>\n<ul>\n<li>\u53ea\u6709 1-3 \u4e2a\u6587\u4ef6</li>\n<li>\u662f\u53f6\u5b50\u7ea7\u5b9e\u73b0\u7ec6\u8282</li>\n<li>\u7236\u6587\u6863\u5df2\u80fd\u5145\u5206\u63cf\u8ff0</li>\n</ul>\n<hr/>\n<h3>L3 \u6587\u6863\uff08\u6587\u4ef6\u5934\u6ce8\u91ca\uff09</h3>\n<p>\u53ea\u5728<strong>\u903b\u8f91\u590d\u6742\u3001\u975e\u76f4\u89c2</strong>\u7684\u6587\u4ef6\u9876\u90e8\u52a0\u6ce8\u91ca\u3002\u666e\u901a\u6587\u4ef6\u4e0d\u9700\u8981\uff0c\u4e0d\u8981\u6ee5\u7528\u3002</p>\n<p><strong>\u5fc5\u987b\u5199\u7684\u60c5\u51b5</strong>\uff1a</p>\n<ul>\n<li>\u6709\u975e\u76f4\u89c2\u7ea6\u675f\uff08\u5982\"\u4e0d\u80fd\u5e76\u53d1\u8c03\u7528\"\u3001\"\u4f9d\u8d56\u5168\u5c40\u72b6\u6001\"\uff09</li>\n<li>\u6709\u9690\u6666\u526f\u4f5c\u7528</li>\n<li>\u662f\u8de8\u6a21\u5757\u67a2\u7ebd\uff0c\u9700\u8981\u8bf4\u660e\u4e0a\u4e0b\u6e38\u5173\u7cfb</li>\n<li>\u7b97\u6cd5\u590d\u6742\u3001\u5b9e\u73b0\u4e0d\u76f4\u89c2</li>\n</ul>\n<p><strong>\u4e0d\u9700\u8981\u5199\u7684\u60c5\u51b5</strong>\uff1a</p>\n<ul>\n<li>\u7eaf\u5de5\u5177\u51fd\u6570\uff08 input/output \u53ef\u4ece\u7b7e\u540d\u63a8\u65ad\uff09</li>\n<li>\u6587\u4ef6\u540d\u5df2\u81ea\u89e3\u91ca\u7684 CRUD</li>\n</ul>\n<p><strong>\u6ce8\u91ca\u683c\u5f0f\uff08\u4e09\u6bb5\u5f0f + \u7ea6\u675f\uff09</strong>\uff1a</p>\n<pre><code class=\"language-typescript\">// input:  \u4f9d\u8d56\u5916\u90e8\u7684\u4ec0\u4e48\uff08\u6a21\u5757\u3001\u8868\u3001\u73af\u5883\u53d8\u91cf\u7b49\uff09\n// output: \u5bf9\u5916\u63d0\u4f9b\u4ec0\u4e48\uff08\u51fd\u6570\u3001\u7c7b\u3001\u63a5\u53e3\uff09\n// pos:    \u5728\u7cfb\u7edf\u5c40\u90e8\u7684\u5730\u4f4d\uff08\u88ab\u8c01\u8c03\u7528\u3001\u67a2\u7ebd\u4f5c\u7528\uff09\n// \u26a0 \u7ea6\u675f\uff1a\u5173\u952e\u9677\u9631\u3001\u975e\u76f4\u89c2\u884c\u4e3a\u3001\u7ade\u6001\u6761\u4ef6\u7b49\n</code></pre>\n<p>\u4e09\u6bb5\u5f0f\u8ba9 AI \u79d2\u61c2\u6587\u4ef6\u5750\u6807\uff0c\u7ea6\u675f\u884c\u6807\u6ce8\u9700\u8981\u7279\u522b\u6ce8\u610f\u7684\u5751\u3002L3 \u6ce8\u91ca\u672c\u8eab\u5c31\u662f\u4f18\u5148\u7ea7\u4fe1\u53f7\u2014\u2014\u6709\u6ce8\u91ca = AI \u9700\u63d0\u5347\u6ce8\u610f\u529b\u3002</p>\n<hr/>\n<h2>\u4e8c\u3001\u6587\u6863\u7ef4\u62a4\u89c4\u5219\uff1aLoop-back Check</h2>\n<p><strong>\u6bcf\u6b21\u5b8c\u6210\u4efb\u52a1\u540e</strong>\uff08\u4e0d\u7ba1\u662f\u4fee\u6539\u4ee3\u7801\u8fd8\u662f\u52a0\u529f\u80fd\uff09\uff0c\u5f3a\u5236\u6267\u884c\u4ee5\u4e0b\u68c0\u67e5\uff1a</p>\n<table>\n<thead>\n<tr>\n<th>\u6b65\u9aa4</th>\n<th>\u89e6\u53d1\u6761\u4ef6</th>\n<th>\u64cd\u4f5c</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>L2 sync</strong></td>\n<td>\u589e\u5220\u6539\u4e86\u4efb\u4f55\u6587\u4ef6</td>\n<td>\u66f4\u65b0\u8be5\u76ee\u5f55\u7684 <code><a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a></code> \u6587\u4ef6\u6e05\u5355</td>\n</tr>\n<tr>\n<td><strong>\u65b0\u76ee\u5f55</strong></td>\n<td>\u521b\u5efa\u4e86\u65b0\u76ee\u5f55</td>\n<td>\u540c\u65f6\u521b\u5efa <code><a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a></code> + <code><a href=\"http://AGENTS.md\" rel=\"nofollow\">AGENTS.md</a></code> symlink</td>\n</tr>\n<tr>\n<td><strong>\u76ee\u5f55\u5220\u9664/\u91cd\u547d\u540d</strong></td>\n<td>\u5220\u9664/\u91cd\u547d\u540d\u4e86\u76ee\u5f55</td>\n<td>\u4fee\u590d\u6216\u5220\u9664\u5bf9\u5e94 symlink</td>\n</tr>\n<tr>\n<td><strong>L3 consideration</strong></td>\n<td>\u5927\u5e45\u4fee\u6539\u4e86\u590d\u6742\u6587\u4ef6</td>\n<td>\u66f4\u65b0/\u6dfb\u52a0\u6587\u4ef6\u5934\u6ce8\u91ca</td>\n</tr>\n<tr>\n<td><strong>L1 flag</strong></td>\n<td>\u65b0\u589e\u9876\u7ea7\u76ee\u5f55\u6216\u6269\u5c55\u7c7b\u522b</td>\n<td>\u66f4\u65b0\u6839 <code><a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a></code> \u76ee\u5f55\u5730\u56fe</td>\n</tr>\n</tbody></table><p>\u8fd9\u4e2a\u89c4\u5219\u5199\u5728\u6839 <code><a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a></code> \u91cc\uff0c\u8ba9 AI \u6bcf\u6b21\u90fd\u80fd\u770b\u5230\uff0c\u5f62\u6210\u81ea\u6211\u5f3a\u5316\u7684\u95ed\u73af\u3002</p>\n<hr/>\n<h2>\u4e09\u3001Pre-commit Hook \u9632\u62a4\u673a\u5236</h2>\n<p><strong>\u4ec0\u4e48\u662f pre-commit hook \uff1f</strong></p>\n<p>\u5b83\u662f Git \u63d0\u4f9b\u7684\u4e00\u4e2a\u94a9\u5b50\u811a\u672c\uff0c\u5728\u4f60\u6267\u884c <code>git commit</code> \u65f6<strong>\u81ea\u52a8\u89e6\u53d1</strong>\u3002\u5982\u679c\u811a\u672c\u8fd4\u56de\u975e 0 \uff08\u5931\u8d25\uff09\uff0c\u63d0\u4ea4\u5c31\u4f1a\u88ab\u963b\u65ad\u3002\u5e38\u89c1\u7528\u9014\u5305\u62ec\uff1a\u81ea\u52a8\u683c\u5f0f\u5316\u4ee3\u7801\u3001\u8dd1\u5355\u5143\u6d4b\u8bd5\u3001\u68c0\u67e5\u4ee3\u7801\u89c4\u8303\u2014\u2014\u4ee5\u53ca\u6211\u4eec\u8fd9\u91cc\u505a\u7684\uff0c<strong>\u68c0\u67e5\u6587\u6863\u662f\u5426\u540c\u6b65\u66f4\u65b0</strong>\u3002</p>\n<p>\u6587\u6863\u89c4\u5219\u5199\u5f97\u518d\u6e05\u695a\uff0cAI \u4e5f\u53ef\u80fd\u5728\u67d0\u6b21\u4efb\u52a1\u4e2d\u6f0f\u6389\u3002<br/>\nPre-commit Hook \u63d0\u4f9b <strong>\u63d0\u4ea4\u65f6\u7684\u6700\u540e\u9632\u7ebf</strong>\u3002</p>\n<h3>Hook \u6587\u4ef6\u4f4d\u7f6e</h3>\n<pre><code>.git/hooks/\n\u2514\u2500\u2500 pre-commit\n</code></pre>\n<hr/>\n<h3>\u6838\u5fc3\u903b\u8f91</h3>\n<pre><code>1. \u6536\u96c6\u6240\u6709 staged \u6587\u4ef6\uff08 git diff --cached --name-only --diff-filter=ACMRD \uff09\n2. \u8fc7\u6ee4\u51fa\u5176\u4e2d\u5df2 staged \u7684 CLAUDE.md \uff08\u8bf4\u660e\u5f00\u53d1\u8005\u5df2\u7ecf\u5728\u66f4\u65b0\u6587\u6863\uff09\n3. \u5bf9\u6bcf\u4e2a\u975e\u6587\u6863\u7684 staged \u6587\u4ef6\uff1a\n   \u2514\u2500 \u5411\u4e0a\u904d\u5386\u76ee\u5f55\u6811\uff0c\u627e\u5230\u6700\u8fd1\u7684 CLAUDE.md\n      \u2514\u2500 \u5982\u679c\u8be5 CLAUDE.md \u672a\u88ab\u540c\u65f6 staged \u2192 \u6807\u8bb0\u76ee\u5f55\u4e3a \"stale\"\n4. \u5bf9\u6bcf\u4e2a stale \u76ee\u5f55\uff1a\n   \u251c\u2500 \u5206\u6790\u53d7\u5f71\u54cd\u6587\u4ef6\u7684\u53d8\u66f4\u7c7b\u578b\uff08 A/D/M/R \uff09\n   \u2514\u2500 \u5206\u7ea7\u5224\u65ad needs_review \uff08 A/D/R \u2192 true, M \u2192 false \uff09\n5. \u8f93\u51fa\u53d8\u66f4\u8be6\u60c5 + \u51b3\u7b56\u6307\u5357 + \u673a\u5668\u53ef\u8bfb\u7684 [DOC-HINT] \u5757\n6. exit 1 \u2192 \u963b\u65ad\u63d0\u4ea4\uff0c\u7b49\u5f85\u7528\u6237/Agent \u505a\u51fa\u9009\u62e9\n</code></pre>\n<p><strong>\u5173\u952e\u51b3\u7b56\uff1a\u963b\u65ad\u800c\u975e\u8b66\u544a\u3002</strong></p>\n<p>\u8fd9\u4e2a\u8bbe\u8ba1\u4e0d\u662f\u4e00\u5f00\u59cb\u5c31\u786e\u5b9a\u7684\uff0c\u800c\u662f\u7ecf\u5386\u4e86\u4e24\u8f6e\u8fed\u4ee3\uff1a</p>\n<table>\n<thead>\n<tr>\n<th>\u7248\u672c</th>\n<th>\u7b56\u7565</th>\n<th>\u95ee\u9898</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>v1</td>\n<td>\u8b66\u544a\uff08<code>exit 2</code>\uff09</td>\n<td>\u5f00\u53d1\u8005\u548c AI \u90fd\u503e\u5411\u4e8e\u65e0\u8111\u786e\u8ba4\uff0c\u9632\u7ebf\u5f62\u540c\u865a\u8bbe</td>\n</tr>\n<tr>\n<td>v2</td>\n<td>\u5f3a\u5236\u66f4\u65b0</td>\n<td>\u8fc7\u4e8e\u7c97\u66b4\u2014\u2014\u4fee\u590d\u4e00\u4e2a typo \u6216\u6539\u4e2a\u53d8\u91cf\u540d\u4e5f\u8981\u66f4\u65b0\u6587\u6863\uff0c\u53cd\u800c\u589e\u52a0\u566a\u97f3</td>\n</tr>\n<tr>\n<td>v3</td>\n<td><strong>\u963b\u65ad + \u5206\u7ea7\u5224\u65ad</strong></td>\n<td>\u5361\u4f4f\u63d0\u4ea4\uff0c\u4f46\u6839\u636e\u53d8\u66f4\u7c7b\u578b\u7ed9\u51fa\u660e\u786e\u7684\u300c\u66f4\u65b0 / \u8df3\u8fc7\u300d\u5efa\u8bae</td>\n</tr>\n</tbody></table><p>\u5f53\u524d\u91c7\u7528\u4e24\u9636\u6bb5\u5904\u7406\uff1a</p>\n<ol>\n<li><strong>\u963b\u65ad\u9636\u6bb5</strong>\uff1a\u63d0\u4ea4\u65f6\u68c0\u6d4b\u5230 stale \u6587\u6863\uff0c\u76f4\u63a5 <code>exit 1</code> \u5361\u4f4f\u3002\u4e0d\u7ed9\"\u8b66\u544a\u540e\u81ea\u52a8\u653e\u884c\"\u7684\u6f0f\u6d1e\uff0c\u4e5f\u4e0d\u4e00\u5200\u5207\u5f3a\u5236\u66f4\u65b0\u3002</li>\n<li><strong>\u5224\u65ad\u9636\u6bb5</strong>\uff1a\u6839\u636e A/D/M/R \u53d8\u66f4\u7c7b\u578b\u81ea\u4e3b\u51b3\u7b56\u2014\u2014\u5b58\u5728 A/D/R \uff08\u589e\u5220\u91cd\u547d\u540d\uff09\u2192 <code>needs_review=true</code>\uff0c\u5efa\u8bae\u66f4\u65b0\uff1b\u53ea\u6709 M \uff08\u4fee\u6539\u5185\u5bb9\uff09\u2192 \u82e5\u786e\u8ba4\u4e0d\u5f71\u54cd\u63a5\u53e3/\u5bfc\u51fa\uff0c\u53ef\u7528 <code>--no-verify</code> \u8df3\u8fc7\u3002</li>\n</ol>\n<p><code>--no-verify</code> \u59cb\u7ec8\u53ef\u7528\uff0c\u4e0d\u4f1a\u5361\u4f4f\u4efb\u4f55\u5de5\u4f5c\u6d41\u3002\u8fd9\u79cd\u8bbe\u8ba1\u628a\u9009\u62e9\u6743\u8fd8\u7ed9\u4eba\u548c AI \uff0c\u540c\u65f6\u7528\u963b\u65ad\u786e\u4fdd\u9009\u62e9\u662f\u88ab<strong>\u6709\u610f\u8bc6</strong>\u505a\u51fa\u7684\u3002</p>\n<hr/>\n<h3>\u53d8\u66f4\u7c7b\u578b\u5206\u7ea7</h3>\n<p>Hook \u8f93\u51fa\u6bcf\u4e2a\u53d7\u5f71\u54cd\u6587\u4ef6\u7684\u53d8\u66f4\u7c7b\u578b\uff0c\u5e2e\u52a9\u5feb\u901f\u5224\u65ad\u662f\u5426\u771f\u7684\u9700\u8981\u66f4\u65b0\u6587\u6863\uff1a</p>\n<table>\n<thead>\n<tr>\n<th>\u7c7b\u578b</th>\n<th>\u542b\u4e49</th>\n<th>\u5efa\u8bae</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>A</strong> (Added)</td>\n<td>\u65b0\u589e\u6587\u4ef6</td>\n<td>\u2705 \u66f4\u65b0 \u2014 File Inventory \u9700\u8981\u52a0\u5165\u65b0\u6761\u76ee</td>\n</tr>\n<tr>\n<td><strong>D</strong> (Deleted)</td>\n<td>\u5220\u9664\u6587\u4ef6</td>\n<td>\u2705 \u66f4\u65b0 \u2014 \u79fb\u9664\u5df2\u4e0d\u5b58\u5728\u7684\u6761\u76ee</td>\n</tr>\n<tr>\n<td><strong>R</strong> (Renamed)</td>\n<td>\u91cd\u547d\u540d</td>\n<td>\u2705 \u66f4\u65b0 \u2014 \u6587\u4ef6\u8def\u5f84\u53d8\u4e86</td>\n</tr>\n<tr>\n<td><strong>M</strong> (Modified)</td>\n<td>\u4fee\u6539\u5185\u5bb9</td>\n<td>\u26a0\ufe0f \u4ec5\u5f53\u63a5\u53e3/\u5bfc\u51fa\u53d8\u5316\u65f6\u9700\u8981\u66f4\u65b0</td>\n</tr>\n</tbody></table><p>\u8fd9\u4e2a\u5206\u7ea7\u5f15\u51fa\u4e00\u4e2a\u81ea\u52a8\u5316\u5224\u65ad\u89c4\u5219\uff1a**\u5b58\u5728 A/D/R \u53d8\u66f4 \u2192 <code>needs_review=true</code>**\u3002</p>\n<p>\u4f46 A/D/M/R \u53ea\u662f\u53d8\u66f4\u7c7b\u578b\uff0c\u4e0d\u662f\u66f4\u65b0\u51b3\u7b56\u3002\u4eba\u5728\u9762\u5bf9 hook \u963b\u65ad\u65f6\uff0c\u8fd8\u9700\u8981\u77e5\u9053\u300c\u4ec0\u4e48\u60c5\u51b5\u4e0b\u5fc5\u987b\u66f4\u65b0\u3001\u4ec0\u4e48\u60c5\u51b5\u4e0b\u53ef\u4ee5\u8df3\u8fc7\u300d\u3002\u5b8c\u6574\u7684\u51b3\u7b56\u89c4\u5219\u5982\u4e0b\uff1a</p>\n<table>\n<thead>\n<tr>\n<th>\u5fc5\u987b\u66f4\u65b0 \u2705</th>\n<th>\u53ef\u4ee5\u8df3\u8fc7 \u274c</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\u65b0\u589e/\u5220\u9664/\u91cd\u547d\u540d\u6587\u4ef6\u6216\u76ee\u5f55</td>\n<td>Debug \u4ee3\u7801\u3001console.log \u3001\u4e34\u65f6\u65e5\u5fd7</td>\n</tr>\n<tr>\n<td>\u4fee\u6539\u63a5\u53e3\u3001\u7c7b\u578b\u3001\u5bfc\u51fa\u7684\u51fd\u6570</td>\n<td>\u6ce8\u91ca\u6216\u4ee3\u7801\u683c\u5f0f\u5316\uff08 prettier / eslint \uff09</td>\n</tr>\n<tr>\n<td>\u8c03\u6574\u67b6\u6784\u6216\u6570\u636e\u6d41</td>\n<td>\u4e0d\u6539\u52a8\u63a5\u53e3\u7684\u5c0f bug \u4fee\u590d</td>\n</tr>\n<tr>\n<td>\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff08 manifest \u3001vite \u3001tsconfig \uff09</td>\n<td>\u4ec5\u6d4b\u8bd5\u6587\u4ef6\u53d8\u66f4</td>\n</tr>\n<tr>\n<td>\u4f9d\u8d56\u5173\u7cfb\u53d1\u751f\u53d8\u5316</td>\n<td>\u65e0\u8bed\u4e49\u53d8\u5316\u7684\u53d8\u91cf\u91cd\u547d\u540d</td>\n</tr>\n</tbody></table><hr/>\n<h3>[DOC-HINT]\uff1a\u7ed9 AI Agent \u7684\u673a\u5668\u53ef\u8bfb\u5757</h3>\n<p>\u8fd9\u662f\u6574\u5957\u673a\u5236\u4e2d\u6700\u6709\u4ef7\u503c\u7684\u8bbe\u8ba1\u6f14\u8fdb\u3002</p>\n<p>\u4eba\u7c7b\u770b\u5230\u9ec4\u8272\u8b66\u544a\u53ef\u4ee5\u51ed\u76f4\u89c9\u5224\u65ad\"\u8fd9\u6b21\u6539\u52a8\u8981\u4e0d\u8981\u66f4\u65b0\u6587\u6863\"\uff0c\u4f46 AI Agent \u4e0d\u884c\u2014\u2014\u5b83\u9700\u8981\u7ed3\u6784\u5316\u4fe1\u53f7\u3002Hook \u8f93\u51fa\u672b\u5c3e\u9644\u5e26\u7684 <code>[DOC-HINT]</code> \u5757\u89e3\u51b3\u4e86\u8fd9\u4e2a\u95ee\u9898\uff1a</p>\n<pre><code>[DOC-HINT]\nstale:\n  src/auth/CLAUDE.md  | A=1 D=1 M=1 R=0 | needs_review=true\n  src/utils/CLAUDE.md | A=0 D=0 M=1 R=1 | needs_review=true\n\nrules:\n  A=Added    \u2192 doc update recommended\n  D=Deleted  \u2192 doc update recommended\n  R=Renamed  \u2192 doc update recommended\n  M=Modified \u2192 usually not needed unless interface/export changed\n</code></pre>\n<p>AI Agent \u53ef\u4ee5\u89e3\u6790\u8fd9\u4e2a\u5757\u6765\u81ea\u52a8\u51b3\u7b56\uff1a</p>\n<ul>\n<li><code>needs_review=true</code> \u2192 \u8bfb\u53d6\u5bf9\u5e94 <a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a> \uff0c\u6839\u636e A/D/R \u53d8\u66f4\u66f4\u65b0 File Inventory</li>\n<li><code>needs_review=false</code>\uff08\u53ea\u6709 M \u53d8\u66f4\uff09\u2192 \u53ef\u4ee5\u5b89\u5168\u4f7f\u7528 <code>--no-verify</code> \u8df3\u8fc7</li>\n</ul>\n<p><strong>[DOC-HINT] \u8ba9 hook \u4e0d\u4ec5\u662f\u7ed9\u4eba\u770b\u7684\u63d0\u9192\uff0c\u66f4\u662f AI \u5de5\u4f5c\u6d41\u4e2d\u7684\u4e00\u4e2a\u51b3\u7b56\u8282\u70b9\u3002</strong> \u8fd9\u624d\u662f\"AI \u53cb\u597d\"\u7684\u771f\u6b63\u542b\u4e49\u2014\u2014\u4e0d\u53ea\u662f\u6587\u6863\u7ed3\u6784\u5bf9 AI \u53cb\u597d\uff0c\u8fde\u5b88\u62a4\u673a\u5236\u7684\u8f93\u51fa\u4e5f\u8981\u5bf9 AI \u53cb\u597d\u3002</p>\n<hr/>\n<h3>\u5b9e\u9645\u6548\u679c\u793a\u4f8b</h3>\n<pre><code>$ git add src/auth/oauth.ts src/auth/login.ts src/utils/format.ts\n$ git commit -m \"feat: add OAuth support\"\n\n\u26a0  These directories have staged changes but their CLAUDE.md is not updated:\n\n  \u2192 src/auth/CLAUDE.md\n    A  src/auth/oauth.ts\n    M  src/auth/login.ts\n\n  \u2192 src/utils/CLAUDE.md\n    R  src/utils/format.ts\n    M  src/utils/date.ts\n\nUpdate docs, or skip with: git commit --no-verify -m \"message\"\n\nWhen to update: A/D/R, interface, architecture, config change\nWhen to skip:   debug code, formatting, minor fixes, tests, rename\n\n[DOC-HINT]\nstale:\n  src/auth/CLAUDE.md  | A=1 D=0 M=1 R=0 | needs_review=true\n  src/utils/CLAUDE.md | A=0 D=0 M=1 R=1 | needs_review=true\n\nrules:\n  A=Added    \u2192 doc update recommended\n  D=Deleted  \u2192 doc update recommended\n  R=Renamed  \u2192 doc update recommended\n  M=Modified \u2192 usually not needed unless interface/export changed\n</code></pre>\n<hr/>\n<h2>\u56db\u3001\u6574\u4f53\u67b6\u6784\u56fe</h2>\n<h2><img alt=\"\u67b6\u6784\u56fe\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://pub-e61e59c2220d4dfba3768981b76f6c40.r2.dev/img/project-doc-bootstrap.png\"/></h2>\n<h2>\u53c2\u8003\u4e0e\u81f4\u8c22</h2>\n<p>\u672c\u6587\u7684\u5206\u5f62\u6587\u6863\u601d\u8def\u6e90\u81ea <strong>\u8d75\u7eaf\u60f3</strong> \u7684\u5b9e\u8df5\u5206\u4eab\u3002\u4ed6\u5728\u4f7f\u7528 Claude Code \u5f00\u53d1 laper \u65f6\uff0c\u603b\u7ed3\u4e86\u4e00\u5957\u4ee5\u300c\u5206\u5f62\u300d\u4e3a\u6838\u5fc3\u7684\u6587\u6863\u7ec4\u7ec7\u65b9\u6cd5\u2014\u2014\u6bcf\u4e2a\u76ee\u5f55\u81ea\u5e26\u6781\u7b80\u8bf4\u660e\uff0c\u6bcf\u4e2a\u6587\u4ef6\u5934\u58f0\u660e input/output/pos \uff0c\u8ba9 AI \u5728\u81ea\u76f8\u4f3c\u7684\u7ed3\u6784\u4e2d\u5feb\u901f\u5efa\u7acb\u4e0a\u4e0b\u6587\u3002</p>\n<p>\u6211\u5728\u6b64\u57fa\u7840\u4e0a\u505a\u4e86\u62d3\u5c55\u548c\u5de5\u7a0b\u5316\uff1a</p>\n<ul>\n<li><strong>\u6587\u4ef6\u5bf9\u4e0d\u53d8\u5f0f</strong>\uff08 <a href=\"http://CLAUDE.md\" rel=\"nofollow\">CLAUDE.md</a> + <a href=\"http://AGENTS.md\" rel=\"nofollow\">AGENTS.md</a> symlink \uff09\u89e3\u51b3\u591a\u5de5\u5177\u517c\u5bb9</li>\n<li><strong>L3 \u6ce8\u91ca\u4ece\u5168\u91cf\u6539\u4e3a\u53ef\u9009</strong>\uff0c\u914d\u5408\u660e\u786e\u7684\u300c\u5fc5\u987b\u5199/\u4e0d\u9700\u8981\u5199\u300d\u5224\u65ad\u6807\u51c6\uff0c\u964d\u4f4e\u566a\u97f3</li>\n<li><strong>Pre-commit Hook \u786c\u963b\u65ad + [DOC-HINT]</strong> \u628a\u89c4\u5219\u4ece\u300c AI \u81ea\u89c9\u300d\u5347\u7ea7\u4e3a\u300c\u7cfb\u7edf\u5f3a\u5236\u300d</li>\n</ul>\n<p>\u5982\u679c\u4f60\u5bf9\u539f\u59cb\u65b9\u6848\u611f\u5174\u8da3\uff0c\u63a8\u8350\u5173\u6ce8\u8d75\u7eaf\u60f3\u7684\u5206\u4eab\u3002</p>\n<p>\u672c\u6587\u7684\u5b9e\u8df5\u548c\u5de5\u5177\u94fe\u5df2\u5f00\u6e90\u4e3a Skill \uff0c\u6b22\u8fce\u8bd5\u7528\u548c\u53cd\u9988\uff1a</p>\n<pre><code class=\"language-bash\"># \u4e00\u952e\u5b89\u88c5\nnpx skills add longranger2/project-doc-bootstrap\n</code></pre>\n<p>GitHub: <a href=\"https://github.com/longranger2/project-doc-bootstrap\" rel=\"nofollow\">https://github.com/longranger2/project-doc-bootstrap</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/debuginn", 
        "name": "debuginn", 
        "avatar": "https://cdn.v2ex.com/avatar/bc00/e25d/435776_large.png?m=1767929837"
      }, 
      "url": "https://www.v2ex.com/t/1206940", 
      "title": "\u5f00\u6e90\u4e86\u4e00\u4e2a Hugo \u4e3b\u9898\uff0c\u4e13\u95e8\u7528\u6765\u5c55\u793a AI Skill", 
      "id": "https://www.v2ex.com/t/1206940", 
      "date_published": "2026-04-19T02:19:51+00:00", 
      "content_html": "<p>\u5927\u5bb6\u597d\u5440\uff0c\u6211\u662f Meng \u5c0f\u7fbd\u3002</p>\n<p>\u6700\u8fd1\u4e00\u76f4\u5728\u6298\u817e AI \u5de5\u4f5c\u6d41\uff0c\u7528 Hermes \u8fd9\u7c7b AI \u52a9\u624b\u8d8a\u7528\u8d8a\u6df1\uff0c\u624b\u91cc\u7684 skill \u6512\u4e86\u4e00\u5927\u5806\u2014\u2014\u8bf4\u767d\u4e86\u5c31\u662f\u4e00\u5806\"\u9047\u5230\u8fd9\u7c7b\u95ee\u9898\u8be5\u600e\u4e48\u505a\"\u7684\u64cd\u4f5c\u624b\u518c\u3002\u5199\u7740\u5199\u7740\u5c31\u53d1\u73b0\u4e00\u4e2a\u95ee\u9898\uff1a\u8fd9\u4e9b skill \u5168\u8eba\u5728\u672c\u5730\u5403\u7070\uff0c\u60f3\u627e\u4e2a\u5730\u65b9\u5c55\u793a\u51fa\u6765\uff0c\u641c\u4e86\u4e00\u5708\u4e5f\u6ca1\u627e\u5230\u5408\u9002\u7684\u73b0\u6210\u65b9\u6848\u3002</p>\n<p>\u884c\u5427\uff0c\u90a3\u5c31\u81ea\u5df1\u505a\u4e00\u4e2a\u3002</p>\n<p>\u4e8e\u662f\u5c31\u6709\u4e86 hugo-theme-skills \uff0c\u4e00\u4e2a\u4e13\u95e8\u7528\u6765\u505a skill \u548c\u5de5\u5177\u4ecb\u7ecd\u9875\u7684 Hugo \u4e3b\u9898\uff0c\u73b0\u5728\u5df2\u7ecf\u5f00\u6e90\u4e86\u3002</p>\n<p>\u5982\u679c\u7528\u4e00\u53e5\u8bdd\u6982\u62ec\u5b83\uff0c\u6211\u4f1a\u8bf4\uff1a\u8fd9\u4e0d\u662f\u5355\u7eaf\u7684\u4e3b\u9898\u76ae\u80a4\uff0c\u800c\u662f\u4e00\u4e2a\u300c\u6280\u80fd\u5361\u7247 + \u53ef\u4ea4\u4e92\u5de5\u5177\u9875 + \u53ef\u6269\u5c55\u63a7\u4ef6\u7cfb\u7edf\u300d\u4e09\u5408\u4e00\u7684\u5c0f\u6846\u67b6\u3002</p>\n<p>\u5982\u679c\u4f60\u624b\u91cc\u5df2\u7ecf\u6709\u4e00\u6279 AI skill \u3001\u5de5\u4f5c\u6d41\u811a\u672c\u6216\u8005\u5c0f\u5de5\u5177\uff0c\u60f3\u628a\u5b83\u4eec\u6574\u7406\u6210\u4e00\u4e2a\u80fd\u5c55\u793a\u3001\u80fd\u5b89\u88c5\u3001\u8fd8\u80fd\u76f4\u63a5\u4e92\u52a8\u4f53\u9a8c\u7684\u7ad9\u70b9\uff0c\u8fd9\u4e2a\u4e3b\u9898\u4f1a\u6bd4\u8f83\u9002\u5408\u4f60\u3002</p>\n<p><img alt=\"\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://webp.debuginn.com/20260418dE4G1Y.png\"/></p>\n<p><img alt=\"\u9996\u9875\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://webp.debuginn.com/20260418kl6pGt.jpg\"/></p>\n<ul>\n<li>Demo\uff1a<a href=\"https://skills.debuginn.com\" rel=\"nofollow\">ttps://skills.debuginn.com</a></li>\n<li>\u6211\u7684\u5de5\u5177\u7ad9\u70b9\uff1a<a href=\"https://tools.debuginn.com\" rel=\"nofollow\">https://tools.debuginn.com</a></li>\n<li>GitHub\uff1a<a href=\"https://github.com/debuginn/hugo-theme-skills\" rel=\"nofollow\">https://github.com/debuginn/hugo-theme-skills</a></li>\n</ul>\n<p>\u6b22\u8fce Star \uff0c\u6b22\u8fce\u63d0 Issue \uff0c\u4e5f\u6b22\u8fce\u76f4\u63a5 PR \u8fdb\u6765\u4e00\u8d77\u73a9\uff5e</p>\n<p>\u8be6\u7ec6\u6587\u7ae0\uff1a<a href=\"https://blog.debuginn.com/p/hugo-theme-skills/\" rel=\"nofollow\">\u5f00\u6e90\u4e86\u4e00\u4e2a Hugo \u4e3b\u9898\uff0c\u4e13\u95e8\u7528\u6765\u5c55\u793a AI Skill</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/bennydeng7", 
        "name": "bennydeng7", 
        "avatar": "https://cdn.v2ex.com/gravatar/ec39c02f7d279e1164378a4367b6b136?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1206129", 
      "title": "\u5bf9\u53bb\u6c34\u5370\u7684\u8ba8\u8bba", 
      "id": "https://www.v2ex.com/t/1206129", 
      "date_published": "2026-04-15T08:53:24+00:00", 
      "content_html": "<p>\u8fd9\u4e24\u5929\u6709\u51e0\u4e2a AI \u751f\u4ea7\u7684\u77ed\u89c6\u9891\u8981\u53bb\u6c34\u5370\uff0c\u6298\u817e\u4e86\u51e0\u4e2a\u65b9\u6848\uff1a1.\u526a\u5f71\u7684 AI \u53bb\u6c34\u5370(\u5145\u4e86\u4f1a\u5458)\uff0c\u6548\u679c\u4e5f\u8fd8\u5c06\u5c31\uff1b 2.\u662f\u7528\u526a\u5f71\u7684\u906e\u7f69\u529f\u80fd\uff1b 3.\u6211\u5728 github \u627e\u4e86\u4e00\u4e2a <a href=\"https://github.com/D-Ogi/WatermarkRemover-AI.git\" rel=\"nofollow\">https://github.com/D-Ogi/WatermarkRemover-AI.git</a> ; \u8fd9\u4e2a\u65b9\u6848 \u7528\u7684\u6a21\u578b\uff0c\u597d\u4e0d\u5bb9\u5668\u89e3\u51b3\u4e86\u4e00\u4e9b\u95ee\u9898\u540e\uff0c\u89c6\u9891\u53bb\u6c34\u5370 \u8f93\u51fa\u89c6\u9891\u5168\u9ed1\u4e86\uff0c\u4e0d\u592a\u4f1a\u7f16\u7801\uff0c\u6ca1\u7ee7\u7eed\u6df1\u5165\u7814\u7a76\u4e86\uff1b</p>\n<p>\u8bf7\u95ee\u5927\u5bb6\u6709\u4ec0\u4e48\u597d\u7684\u514d\u8d39\u53bb\u6c34\u5370\u7684\u65b9\u6848\u6ca1</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/evamayy", 
        "name": "evamayy", 
        "avatar": "https://cdn.v2ex.com/gravatar/8af853bd9f5aeb9d7dae7b2eaf89ff47?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1206014", 
      "title": "\u6709\u4ec0\u4e48\u6bd4\u8f83\u597d\u7684\u7ba1\u7406 skill \u7684\u5de5\u5177", 
      "id": "https://www.v2ex.com/t/1206014", 
      "date_published": "2026-04-15T03:23:41+00:00", 
      "content_html": "<p>\u672c\u5730\u7528 Claude \u548c codex \u5404\u5b89\u88c5\u4e86\u4e00\u4e9b skill \uff0c\u4f46\u662f\u611f\u89c9\u4e0d\u597d\u7ba1\u7406\uff0c\u800c\u4e14\u7248\u672c\u4e0d\u597d\u7ba1\u7406\n\u77e5\u9053 vercel \u6709\u4e00\u4e2a add-skill \uff0c\u597d\u50cf\u6ca1\u6709\u53ef\u89c6\u5316\u754c\u9762\n\u5927\u5bb6\u6709\u4ec0\u4e48\u63a8\u8350</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/bbroot", 
        "name": "bbroot", 
        "avatar": "https://cdn.v2ex.com/gravatar/f0b6c23d006e9840aff514318c0e915c?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1205766", 
      "title": "\u6709\u73a9 ai/\u9f99\u867e\u5199\u5c0f\u8bf4\u7684\u4e48\uff1f\u6413\u4e86\u4e2a\u5c0f\u8bf4 bug \u68c0\u67e5 skill", 
      "id": "https://www.v2ex.com/t/1205766", 
      "date_published": "2026-04-14T06:01:37+00:00", 
      "content_html": "<p>\u76f4\u63a5\u653e\u5730\u5740 <a href=\"https://github.com/bbroot/novel-bug-checker\" rel=\"nofollow\">https://github.com/bbroot/novel-bug-checker</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/tonyeasyai", 
        "name": "tonyeasyai", 
        "avatar": "https://cdn.v2ex.com/avatar/9b11/0c2b/675816_large.png?m=1729736646"
      }, 
      "url": "https://www.v2ex.com/t/1197656", 
      "date_modified": "2026-03-12T03:03:32+00:00", 
      "content_html": "<p>Ag tool \u4e00\u770b\uff0c\u5237\u65b0\u5468\u671f\u52a0\u5230\u4e86\u4e00\u5468\uff0c\u800c\u4e14\u4eca\u5929 gemini 3.1 \u660e\u663e\u964d\u667a\u4e25\u91cd</p>\n", 
      "date_published": "2026-03-12T03:03:00+00:00", 
      "title": "\u5927\u5584\u4eba\u53c8\u5f00\u6574\u4e86\u5417\uff0c\u964d\u667a+\u4e00\u5468\u4e00\u5237", 
      "id": "https://www.v2ex.com/t/1197656"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/OneOctet", 
        "name": "OneOctet", 
        "avatar": "https://cdn.v2ex.com/gravatar/4c34679b083988767fa11b15af640857?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1197177", 
      "date_modified": "2026-03-10T09:10:54+00:00", 
      "content_html": "\u6211\u662f\u540e\u7aef\u5f00\u53d1\uff0c\u73b0\u5728\u9700\u8981\u5904\u7406\u4e00\u4e9b\u6570\u636e\u7edf\u8ba1\u7684\u9700\u6c42\uff0c\u4e0d\u60f3\u5728\u4e1a\u52a1\u5e93\u8fdb\u884c\uff0c\u9700\u8981\u81ea\u5df1\u642d\u5efa\u6570\u4ed3\u3002<br />\u7edf\u8ba1\u9700\u6c42\uff0c\u90fd\u662f\u4e00\u4e9b\u7528\u6237\u8ba2\u5355\u6570\u636e\u7edf\u8ba1\uff0c\u7535\u5546\u8d22\u52a1\u62a5\u8868\u7b49\uff0c\u8ba2\u5355\u91cf\u5343\u4e07\u5de6\u53f3\uff0c\u6bcf\u65e5\u65b0\u589e 5w \u5de6\u53f3\u3002<br /><br />\u4f8b\u5982\u7edf\u8ba1\u6bcf\u4e2a\u7528\u6237\uff0c\u6bcf\u65e5\u4e0b\u5355\u6570\u91cf\u3002\u7528\u6237\u5728 3/9 \u4e0b\u4e86 3 \u5355\uff0c\u5219\u9700\u8981 t+1 \u7edf\u8ba1\u51fa\u4e00\u6761\u8bb0\u5f55<br />user_id = 123 date = 03/09 count = 3<br />\u5982\u679c 3 / 10 \u53f7\uff0c\u7528\u6237\u9000\u6b3e\u4e86 3 / 9 \u7684 1 \u4e2a\u8ba2\u5355\uff0c\u5219\u9700\u8981\u5237\u65b0\u8bb0\u5f55\u4e3a<br />user_id = 123 date = 03/09 count = 2<br /><br />\u7136\u540e\u5c31\u662f\u4e00\u4e9b\u5176\u4ed6\u7684\u7edf\u8ba1\u9700\u6c42\uff0c\u6bd4\u5982\u6bcf\u5929\u6bcf\u4e2a\u5546\u6237\u7684\u8425\u4e1a\u989d\uff0c\u8ba2\u5355\u6570\u4e4b\u7c7b\u7684\uff0c\u7ed3\u7b97\u62a5\u8868\u7b49<br /><br />\u8bf7\u95ee\u6570\u4ed3\u5e94\u8be5\u7528\u4ec0\u4e48\uff0c\u60f3\u7528\u5b9e\u65f6\u7684\u6570\u4ed3\uff0c\u76ee\u524d\u9009\u5b9a doris<br />\u4e86\u89e3\u4e86\u4e00\u4e0b\u6570\u4ed3\u4e00\u822c\u90fd\u662f\u5206\u5c42\u5904\u7406\u7684 ods -&gt; dwd -&gt; dws - ads<br /><br />ods \u5c42\u7684\u8868\u5e94\u8be5\u600e\u4e48\u5efa\uff1f\u6309\u4e1a\u52a1\u6570\u636e\u5e93\u4e00\u6837\u76f4\u63a5\u7167\u642c\u5417\uff1f<br />\u4f8b\u5982\u8ba2\u5355\u8868 order, \u8868\u6a21\u578b\u9009\u4ec0\u4e48\uff1f\u4e3b\u952e\u6a21\u578b\uff08 Unique Key Model \uff09\u5417\uff1f\u5206\u533a\u952e\u600e\u4e48\u9009\uff1f<br /><br />\u6709\u4eba\u6307\u6761\u660e\u8def\u5417\uff1f\u95ee AI \u7ed9\u7684\u65b9\u6848\u90fd\u662f\u6a21\u51cc\u4e24\u53ef\u7684\uff0c\u8fd8\u662f\u771f\u4eba\u6307\u5bfc\u4e00\u4e0b\u8e0f\u5b9e\u3002\u63d0\u524d\u611f\u8c22\u4e86", 
      "date_published": "2026-03-10T09:06:15+00:00", 
      "title": "\u6570\u636e\u7edf\u8ba1\u95ee\u9898\u8bf7\u6559\uff0c\u6570\u4ed3\u5927\u54e5\u8bf7\u8fdb\uff0c\u5e2e\u4e0a\u5fd9\u7684\u53ef\u4ee5\u53d1\u7ea2\u5305\u611f\u8c22\ud83d\ude4f", 
      "id": "https://www.v2ex.com/t/1197177"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/JieyueXing", 
        "name": "JieyueXing", 
        "avatar": "https://cdn.v2ex.com/avatar/59da/4184/624907_large.png?m=1779805283"
      }, 
      "url": "https://www.v2ex.com/t/1195098", 
      "title": "\u4eca\u5e74\u5e94\u8be5\u662f Agent \u5de5\u7a0b\u5316\u4e4b\u5e74", 
      "id": "https://www.v2ex.com/t/1195098", 
      "date_published": "2026-03-02T02:04:00+00:00", 
      "content_html": "\u8fd9\u4e24\u5e74\u770b\u4f3c\u53d8\u5316\u5f88\u5927\u6982\u5ff5\u5c42\u51fa\u4e0d\u7a77\uff0c\u90fd\u662f\u56f4\u7ed5\u201c\u4eba\u7c7b\u8bed\u8a00\u7684\u63d0\u793a\u8bcd\u4e0e\u5927\u6a21\u578b\u4ea4\u4e92\u201d\uff0c\u201c\u5de5\u5177\u8c03\u7528\u4e0e\u6d41\u7a0b\u7f16\u6392\u201d\u6765\u5c55\u5f00\u7684\u3002<br /><br />\u4eca\u5e74\u4e0e\u53bb\u5e74\u7684\u672c\u8d28\u533a\u522b\uff0c\u8bf4\u7247\u9762\u4e9b\u5c31\u662f\u5927\u8bed\u8a00\u6a21\u578b\u7684 \u201c\u4e0a\u4e0b\u6587\u201d\uff0c\u201c\u9075\u5faa\u5ea6\u201d\uff0c\u201c\u811a\u624b\u67b6\u201d\uff0c\u201c\u6027\u4ef7\u6bd4\u201d \u6709\u4e86\u5f88\u5927\u7684\u63d0\u5347\uff0c\u4ee5\u6b64\u4e3a\u57fa\u7840\uff0c\u5927\u5bb6\u624d\u80fd\u5728\u201c\u63d0\u793a\u8bcd\u4ea4\u4e92\u201d\u4e0a\u96d5\u82b1\u3002<br /><br />\u53bb\u5e74\u662f Vibe Coding \u5e74\uff0c\u4eca\u5e74\u5e94\u8be5\u662f Agent \u5de5\u7a0b\u5316\u4e4b\u5e74\u3002\u4ece\u201c\u5199\u63d0\u793a\u8bcd\u7684\u62bd\u5956\u7f16\u7a0b\u201d\u5230\u201c\u591a\u6a21\u578b\u901a\u7528\u7684\u53ef\u89c2\u6d4b\u7f16\u6392\u201d\u3002\u7a0b\u5e8f\u5458\u7684\u6982\u5ff5\u4ece\u5355\u4e00\u5355\u8bed\u8a00\u7684\u7f16\u7801\u5458\u9010\u6e10\u8f6c\u53d8\u4e3a\u6709\u4ea7\u54c1\u601d\u7ef4\u4f1a\u64cd\u63a7\u591a\u6a21\u578b\u4e0e\u5de5\u5177\u7684\u5de5\u7a0b\u5e08\u3002<br /><br />AI \u662f\u4e2a\u4eba\u80fd\u529b\u7684\u6760\u6746\uff0c\u53ea\u80fd\u4ee5\u500d\u7387\u653e\u5927\u4f60\u7684\u8ba4\u77e5\u4e0e\u6267\u884c\u529b\uff0c\u4e0d\u4f1a\u51ed\u7a7a\u521b\u9020\u539f\u672c\u4e0d\u5b58\u5728\u7684\u4ef7\u503c\u3002\u76ee\u524d\u7684\u524d\u671f\u5e02\u573a\u4ee5\u538b\u7f29\u4eba\u529b\u548c\u65f6\u95f4\u6210\u672c\u6765\u8282\u7701\u4ef7\u503c\uff0c\u86cb\u7cd5\u8fd8\u662f\u90a3\u4e48\u5927\uff0c\u53ea\u4e0d\u8fc7\u6bcf\u4e2a\u4eba\u5403\u7684\u53d8\u5c11\u4e86\u3002\u77ed\u671f\u589e\u91cf\u4ef7\u503c\u6709\u9650\uff0c\u4ef7\u503c\u7ed3\u6784\u6b63\u5728\u91cd\u6392\u3002<br /><br />\u4e5f\u8bb8\u5728\u5ea6\u8fc7\u67d0\u4e2a\u666e\u901a\u7684\u5468\u4e8c\u4e4b\u540e\uff0c\u4e00\u5207\u90fd\u4f1a\u4e0d\u4e00\u6837\u4e86\u3002\u2014\u201c\u5947\u70b9\u5c06\u5728\u661f\u671f\u4e8c\u53d1\u751f\u201d"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/JieyueXing", 
        "name": "JieyueXing", 
        "avatar": "https://cdn.v2ex.com/avatar/59da/4184/624907_large.png?m=1779805283"
      }, 
      "url": "https://www.v2ex.com/t/1195079", 
      "title": "skill \u662f\u4e0d\u662f\u7b97\u662f\u4e00\u4e2a\u6700\u5c0f\u7684\u4ea7\u54c1\u5355\u4f4d", 
      "id": "https://www.v2ex.com/t/1195079", 
      "date_published": "2026-03-02T01:24:27+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/cyangbo", 
        "name": "cyangbo", 
        "avatar": "https://cdn.v2ex.com/gravatar/d10e1f9afc5a55b158459b51dce70e69?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1195054", 
      "title": "\u8bf7\u524d\u7aef\u5927\u4f6c\u63a8\u8350\u597d\u7528\u7684\u540e\u53f0\u7ba1\u7406\u7cfb\u7edf\u7684\u524d\u7aef\u6a21\u7248\uff0c\u7ed9\u540e\u7aef\u5f00\u53d1\u4f7f\u7528", 
      "id": "https://www.v2ex.com/t/1195054", 
      "date_published": "2026-03-01T16:08:43+00:00", 
      "content_html": "<p>\u540e\u53f0\u7ba1\u7406\u7cfb\u7edf\uff0c\u73b0\u5728\u8981\u627e\u4e00\u4e2a\u5f00\u6e90\u7684 vue \u8bed\u8a00\u7684\u540e\u53f0\u7ba1\u7406\u7cfb\u7edf\u7684\u524d\u7aef\uff08\u540e\u7aef\u5f00\u53d1\u4eba\u5458\uff0c\u4f7f\u7528\u524d\u7aef vue \uff09</p>\n<p>\u6211\u76ee\u524d\u627e\u7684\u662f\uff1avue-pure-admin</p>\n<p>\u6709\u4ec0\u4e48\u522b\u7684\u6846\u67b6\u63a8\u8350\u5417\uff1f</p>\n<p>\u6700\u5927\u9700\u6c42\u662f\uff1a\u5bb9\u6613\u4e0a\u624b</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/anlitechnet", 
        "name": "anlitechnet", 
        "avatar": "https://cdn.v2ex.com/avatar/c1d8/cac5/790043_large.png?m=1771999156"
      }, 
      "url": "https://www.v2ex.com/t/1193905", 
      "title": "\u516c\u53f8\u8981\u91cd\u6784\u4e0b\u5e73\u53f0\u6280\u672f\u5e95\u5ea7\uff0c\u9009\u5f00\u6e90\u7684\u54ea\u4e2a\u597d", 
      "id": "https://www.v2ex.com/t/1193905", 
      "date_published": "2026-02-25T02:32:19+00:00", 
      "content_html": "<p>Java \u8bed\u8a00\u7684\uff0c\u65e2\u6709\u7684\u5e73\u53f0\u6280\u672f\u5e95\u5ea7\u6bd4\u8f83\u65e7\u4e86\uff0cjdk8 \u7684\uff0c\u73b0\u5728\u8981\u5168\u9762\u5347\u7ea7\u4e3a jdk17 \u7684\uff0c\u81ea\u7814\u7684\u8bdd\u65f6\u95f4\u6765\u4e0d\u53ca\u4e86\u3002\u8981\u5feb\u901f\u51fa\u4ea7\u54c1</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/airhunter", 
        "name": "airhunter", 
        "avatar": "https://cdn.v2ex.com/gravatar/ead0d8be0cbd8eb16ae96b4d0127cf25?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1190605", 
      "title": "MacOS \u4e0a\u4f7f\u7528 oh-my-opencode \u667a\u80fd\u4f53\u7f3a\u5c11\u6700\u65b0\u7684\uff0c\u6c42\u52a9", 
      "id": "https://www.v2ex.com/t/1190605", 
      "date_published": "2026-02-04T02:27:16+00:00", 
      "content_html": "<p>\u6211\u73b0\u5728\u9047\u5230\u4e2a\u8be1\u5f02\u73b0\u8c61\u3002windows \u4e0a\u7684 opencode \u6253\u5f00\u53ef\u4ee5\u7528 tab \u5207 Sisyphus \uff0cPrometheus \u3001Hephaestus\u2026\u2026\n\u4f46\u5728 mac \u4e0a\uff0cTab \u5207\u6362\u53ea\u6709 Sisyphus \u548c Planner-Sisyphus \u4e24\u4e2a\u3002</p>\n<p>\u4e24\u8fb9 Opencode \u7248\u672c\u4e00\u81f4\uff0c\u90fd\u662f\u6700\u65b0\u7684 1.1.50 \uff0coh-my-opencode \u4e3a 3.2.2</p>\n<p>\u914d\u7f6e\u6587\u4ef6\u4ece windows \u4e0a COPY \u4e86 opencode.json \u548c oh-my-opencode.json \u8986\u76d6 MacOS \u4e2d\u7684\u914d\u7f6e\u4e5f\u65e0\u6548\u3002</p>\n<p>BTW\uff1awindows \u4e0a opencode \u4e00\u76f4\u5728\u7528\uff0cmac \u4e0a\u6709\u534a\u4e2a\u6708\u6ca1\u7528\u4e86\uff0c\u6240\u4ee5\u7248\u672c\u90fd\u662f\u4eca\u5929\u5f00\u673a\u81ea\u5df1\u5347\u7ea7\u4e0a\u53bb\u7684\u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/JieyueXing", 
        "name": "JieyueXing", 
        "avatar": "https://cdn.v2ex.com/avatar/59da/4184/624907_large.png?m=1779805283"
      }, 
      "url": "https://www.v2ex.com/t/1188447", 
      "title": "AutoHotkey\uff1a\u975e\u5e38\u5bb9\u6613\u4e0a\u624b\u7684 Windows \u81ea\u52a8\u5316\u811a\u672c\u8bed\u8a00\u5de5\u5177", 
      "id": "https://www.v2ex.com/t/1188447", 
      "date_published": "2026-01-26T07:50:34+00:00", 
      "content_html": "<p>AutoHotkey (AHK) \u53ef\u4ee5\u7528\u6781\u5c11\u4ee3\u7801\u5b9e\u73b0 Windows \u70ed\u952e/\u7a97\u53e3/\u952e\u9f20/\u6587\u672c \u7b49\u5904\u7406\uff0c\u53ef\u8bfb\u6027\u548c\u7ef4\u62a4\u6027\u8f83\u5f3a\u3002</p>\n<p>\u5728 Windows \u4e0a\u53ef\u4ee5\u5feb\u901f\u5c06 .ahk \u811a\u672c\u5c01\u88c5\u6210 .exe \uff08\u4e5f\u53ef\u4ee5\u53cc\u51fb .ahk \u76f4\u63a5\u8fd0\u884c\uff0c\u6bd4 .cmd/.bat/.ps1 \u517c\u5bb9\u6027\u66f4\u5f3a\u66f4\u5bb9\u6613\u5206\u53d1\uff0c\u4e0d\u5bb9\u6613\u8e29 UTF-8 \u4e71\u7801\u7684\u5751\uff09\u3002\u4e0d\u719f\u6089\u7684\u4eba\u4e5f\u53ef\u901a\u8fc7 AI \u5feb\u901f\u642d\u5efa\u8d77\u4e00\u4e2a\u5e26 UI \u53ef\u5e38\u9a7b\u4efb\u52a1\u680f\u7684\u811a\u672c\u5de5\u5177\u3002</p>\n<p>\u4f7f\u7528\u573a\u666f\uff1a</p>\n<ul>\n<li>\u6bd4\u5982\u6700\u7b80\u5355\u7684\u8fde\u70b9\u5668\uff0c\u6216\u8005\u7c98\u8d34\u677f\u76d1\u542c\u4e8b\u4ef6\uff08\u901a\u8fc7 AI \u5728\u5f88\u77ed\u7684\u65f6\u95f4\u5185\u5c31\u53ef\u76f4\u63a5\u5b9e\u73b0\u4e0e\u4f7f\u7528\uff09\u3002</li>\n<li>\u6bd4\u5982\u201c\u76d1\u63a7 Outlook \u65b0\u90ae\u4ef6 \u2192 \u63d0\u53d6\u4e3b\u9898/\u53d1\u4ef6\u4eba/\u5185\u5bb9 \u2192 \u8c03\u7528 Webhook \u63a8\u9001\u5230\u98de\u4e66/\u9489\u9489\u201d\u3002</li>\n<li>\u6bd4\u5982\u5c01\u88c5\u6210 .exe \u4e4b\u540e\u901a\u8fc7 --\u5165\u53e3\u53c2\u6570 \u5207\u6362 windows \u81ea\u5e26\u7684\u8f93\u5165\u6cd5\u4e3a en/zh/jp \uff0c\u7136\u540e\u5728 Electron \u6216 Tauri \u4e2d\u4e0e\u524d\u7aef\u8f93\u5165\u6846\u76d1\u542c\u4e8b\u4ef6\u8fdb\u884c\u7ed3\u5408\u8c03\u7528\uff0c\u9002\u7528\u4e8e\u5fc5\u987b\u5728\u7279\u5b9a\u7684\u8f93\u5165\u6846\u5207\u6362\u5bf9\u5e94\u7684\u8f93\u5165\u6cd5\u7684\u95ee\u9898\u3002\u4e5f\u53ef\u62d3\u5c55\u4e3a Node.js \u4e0e Windows \u539f\u751f\u63a5\u53e3\u7684\u7c98\u5408\u3002</li>\n</ul>\n<p>\u6587\u6863\uff08 v2 \uff0cAI \u53ef\u80fd\u66f4\u719f\u6089 v1 \u8bed\u6cd5\uff09\uff1a <a href=\"https://www.autohotkey.com/docs/v2/\" rel=\"nofollow\">https://www.autohotkey.com/docs/v2/</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/couture", 
        "name": "couture", 
        "avatar": "https://cdn.v2ex.com/avatar/b2ff/db77/659362_large.png?m=1764546479"
      }, 
      "url": "https://www.v2ex.com/t/1188089", 
      "title": "\u865a\u62df\u5316\u56fd\u4ea7 ZStack \u66ff\u6362 VMware \u4e2a\u4eba\u9047\u5230\u7684\u75db\u70b9", 
      "id": "https://www.v2ex.com/t/1188089", 
      "date_published": "2026-01-24T12:03:39+00:00", 
      "content_html": "<p>\u9996\u5148\u6211\u4e0d\u662f\u63a8\u9500\u4ea7\u54c1\uff0c\u5c31\u662f\u5355\u7eaf\u7684\u5206\u4eab\uff0c\u6211\u5728\u56fd\u4ea7\u5316\u865a\u62df\u5316\u66ff\u4ee3\u4e2d\u4f7f\u7528 zstack \u66ff\u6362 VMware \u9047\u5230\u7684\u95ee\u9898\uff0c\u4e0d\u77e5\u9053\u5404\u4f4d\u5927\u4f6c\u5982\u4f55\u89e3\u51b3\u8fd9\u4e9b\u75db\u70b9\u3002\n1.drs \u4e0d\u540c cpu \u4e4b\u95f4\u4e0d\u53ef\u7528\n2.\u4e0d\u80fd\u6279\u91cf\u70ed\u8fc1\u79fb\n3.\u9875\u9762\u5237\u65b0\u975e\u5e38\u62bd\u8c61\uff0c\u4e00\u4f1a\u513f\u6b63\u5e38\uff0c\u4e00\u4f1a\u513f\u4e0d\u6b63\u5e38\n4.\u865a\u62df\u673a\u5173\u673a\u6216\u8005\u662f\u91cd\u542f\u4ee5\u540e\u9700\u8981\u624b\u52a8\u540c\u6b65\u4e0b\u53d1 IP</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/JieyueXing", 
        "name": "JieyueXing", 
        "avatar": "https://cdn.v2ex.com/avatar/59da/4184/624907_large.png?m=1779805283"
      }, 
      "url": "https://www.v2ex.com/t/1186317", 
      "title": "\u6280\u672f\u6808\u9996\u8d34\uff1a\u5929\u4e0b\u98ce\u4e91\u51fa\u6211\u8f88\uff0c\u4e00\u5165\u6c5f\u6e56\u5c81\u6708\u50ac", 
      "id": "https://www.v2ex.com/t/1186317", 
      "date_published": "2026-01-16T11:38:30+00:00", 
      "content_html": "<blockquote>\n<p>\u5929\u4e0b\u98ce\u4e91\u51fa\u6211\u8f88\uff0c\u4e00\u5165\u6c5f\u6e56\u5c81\u6708\u50ac\u3002<br/>\n\u7687\u56fe\u9738\u4e1a\u8c08\u7b11\u4e2d\uff0c\u4e0d\u80dc\u4eba\u751f\u4e00\u573a\u9189\u3002  </p>\n</blockquote>\n<p><strong>Flash \u65f6\u4ee3 \u4e00\u4e2a\u4eba\u3001\u4e00\u53f0\u7535\u8111\u3001\u5c31\u80fd\u628a\u8111\u5b50\u91cc\u7684\u6c5f\u6e56\u505a\u51fa\u6765\u3002</strong> </p>\n<p>\u65e9\u671f\u201c\u72ec\u7acb\u5f00\u53d1\u8005\u201d\u534a\u74f6\u795e\u4ed9\u918b\u7684\u300a\u91d1\u5eb8\u7fa4\u4fa0\u4f20 2/3 \u300b\u7b97\u662f\u6211\u513f\u65f6\u7684\u4e00\u4ee3\u795e\u4f5c\u4e4b\u4e00\u3002<br/>\n\u6700\u8fd1\u7684\u65b0\u4f5c\u300a\u5927\u4fa0\u7acb\u5fd7\u4f20\u300b\u4eff\u4f5b\u8ba9\u4eba\u68a6\u56de\u90a3\u4e2a\u5728 4399 \u5237\u5b58\u6863\u7684\u4e0b\u5348\u3002</p>\n<p>\u6280\u672f\u6808\u9996\u8d34\uff0c\u795d\u5927\u5bb6\u5728\u5404\u81ea\u7684\u9886\u57df\u91cc\uff0c\u6784\u5efa\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u6c5f\u6e56\u68a6\u3002</p>\n<p><img alt=\"jyqxz3\" class=\"embedded_image\" loading=\"lazy\" referrerpolicy=\"no-referrer\" rel=\"noreferrer\" src=\"https://i.v2ex.co/Q8hO20UU.jpeg\"/></p>\n"
    }
  ]
}