{"id":218,"date":"2026-05-11T12:40:49","date_gmt":"2026-05-11T04:40:49","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/11\/2026-05-10\/"},"modified":"2026-05-11T12:40:49","modified_gmt":"2026-05-11T04:40:49","slug":"2026-05-10","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/11\/2026-05-10\/","title":{"rendered":"PH\u70ed\u699c | 2026-05-10"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-05-10<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-05-10<\/h1>\n<p>    <!-- \u5c55\u793aapp\u5361\u7247 --><\/p>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#1<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SRA36BX2QALQPN\" class=\"app-title\">Tailgrids 3.0<\/a><\/p>\n<div class=\"one-liner\">Open-source React UI library for Tailwind and AI Workflow<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">285<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tailgrids 3.0 \u662f\u4e00\u4e2a\u5f00\u6e90 React UI \u7ec4\u4ef6\u5e93\uff0c\u5b83\u901a\u8fc7 600+ \u7ec4\u4ef6\u3001CLI \u5de5\u5177\u3001Figma \u8bbe\u8ba1\u7cfb\u7edf\u548c MCP \u670d\u52a1\u5668\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u4e0e\u8bbe\u8ba1\u5e08\u5728 Tailwind \u548c AI \u5de5\u4f5c\u6d41\u573a\u666f\u4e0b\uff0c\u9ad8\u6548\u6784\u5efa\u4eea\u8868\u76d8\u3001\u7535\u5546\u3001SaaS \u7b49\u771f\u5b9e Web \u9879\u76ee\uff0c\u89e3\u51b3\u4e86\u4ece\u4ee3\u7801\u5230\u8bbe\u8ba1\u534f\u4f5c\u4e0d\u7545\u3001\u7ec4\u4ef6\u590d\u7528\u4f4e\u6548\u548c AI \u96c6\u6210\u95e8\u69db\u9ad8\u7684\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/882cb709-2063-4b73-b7b8-c74b46c6dda0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c175c741-3a67-4e46-9e17-a8ad9913bbd9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d066dc95-292c-4930-b5aa-a21aeed1bb49.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/b8e16d63-ba54-4fde-9bf3-21a20c8a70cb.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/DsX5IZ-2BrM\"><source src=\"https:\/\/youtu.be\/DsX5IZ-2BrM\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">React UI \u5e93<\/span><br \/>\n            <span class=\"tag\">Tailwind CSS<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u7ec4\u4ef6\u5e93<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">Figma \u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">CLI \u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI \u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">MCP \u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u7c7b\u578b\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u9898\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u770b\u597d\u53d1\u7248\u5e76\u8d5e\u626c\u5e73\u8861\u4e86\u901f\u5ea6\u4e0e\u5de5\u827a\u3002\u6838\u5fc3\u53cd\u9988\u96c6\u4e2d\u5728\uff1a1) \u5982\u4f55\u7528CSS\u53d8\u91cf\u5904\u7406\u6697\u9ed1\u6a21\u5f0f\u8fc7\u6e21\u4e0e\u81ea\u52a8\u751f\u6210Tailwind\u914d\u7f6e\uff1b2) MCP\u670d\u52a1\u5668\u751f\u6210\u7ec4\u4ef6\u7684\u6d41\u7545\u5ea6\uff1b3) Figma\u4e0e\u4ee3\u7801\u662f\u81ea\u52a8\u540c\u6b65\u8fd8\u662f\u624b\u52a8\u540c\u6b65\uff1b4) AI\u5de5\u4f5c\u6d41\u7684\u5b9a\u4f4d\u662f\u751f\u6210\u7ec4\u4ef6\u8fd8\u662f\u63d0\u4f9bAI\u4ea7\u54c1UI\u6a21\u5757\uff1b5) \u6307\u51fa\u9996\u9875\u5b58\u5728Cloudflare\u76f8\u5173404\u63a7\u5236\u53f0\u62a5\u9519\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u4f5c\u4e3a\u4e00\u6b3e\u5f00\u6e90React UI\u5e93\u76843.0\u91cd\u6784\u7248\u672c\uff0cTailgrids\u7684\u91ce\u5fc3\u4e0d\u5728\u4e8e\u6210\u4e3a\u53e6\u4e00\u4e2a\u201c\u7ec4\u4ef6\u8d85\u5e02\u201d\uff0c\u800c\u662f\u8bd5\u56fe\u91cd\u65b0\u5b9a\u4e49\u201c\u8bbe\u8ba1\u7cfb\u7edf\u201d\u5728AI\u65f6\u4ee3\u7684\u4ea4\u4ed8\u6807\u51c6\u3002\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u90a3600\u4e2a\u7ec4\u4ef6\uff0c\u800c\u5728\u4e8e\u6784\u5efa\u4e86\u4e00\u4e2a\u4ece\u4ee3\u7801\u5230\u8bbe\u8ba1\u518d\u5230AI\u7684\u65e0\u7f1d\u95ed\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u9996\u5148\uff0c\u5b83\u5c06\u201c\u96f6\u9501\u5b9a\u201d\u4ece\u53e3\u53f7\u843d\u5b9e\u4e3a\u53ef\u64cd\u4f5c\u7684\u4e8b\u5b9e\u3002\u901a\u8fc7CLI\u6309\u9700\u5b89\u88c5\u3001\u8bbe\u8ba1Tokens\u4e3b\u9898\u5316\uff0c\u4ee5\u53ca1:1\u955c\u50cf\u7684Figma\u8bbe\u8ba1\u5305\uff0c\u5b83\u672c\u8d28\u4e0a\u628aUI\u8d44\u4ea7\u53d8\u6210\u4e86\u53ef\u7f16\u7a0b\u7684\u6a21\u5757\uff0c\u89e3\u51b3\u4e86\u524d\u7aef\u6700\u5934\u75bc\u7684\u201c\u8bbe\u8ba1-\u5f00\u53d1\u65ad\u5c42\u201d\u95ee\u9898\u3002\u5f00\u53d1\u8005\u4e0d\u5fc5\u518d\u5fcd\u53d7\u8bbe\u8ba1\u5e08\u7684\u622a\u56fe\u5199\u6b7b\u6837\u5f0f\uff0c\u8bbe\u8ba1\u5e08\u4e5f\u4e0d\u5fc5\u4e3a\u4ee3\u7801\u7684\u5b9e\u73b0\u7ec6\u8282\u4e70\u5355\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6b21\uff0c\u5b83\u654f\u9510\u5730\u6355\u6349\u5230AI\u5de5\u4f5c\u6d41\u5bf9\u89c4\u8303\u5316\u3001\u7ed3\u6784\u5316\u5185\u5bb9\u7684\u6e34\u6c42\u3002\u5f15\u5165MCP\u670d\u52a1\u5668\u3001\u63d0\u4f9bMarkdown\u6587\u6863\u548c\u7ec4\u4ef6\u5b9a\u4e49\uff0c\u8fd9\u6bd4\u7b80\u5355\u5730\u5806\u780c\u201cAI\u804a\u5929\u7ec4\u4ef6\u201d\u66f4\u9ad8\u660e\u2014\u2014\u5b83\u5728\u5582\u517bAI\u3002\u5f53\u5927\u91cfAI Copilot\u5de5\u5177\u8bd5\u56fe\u751f\u6210\u4ee3\u7801\u65f6\uff0c\u5f80\u5f80\u56e0\u4e3a\u7f3a\u4e4f\u4e0a\u4e0b\u6587\u800c\u4ea7\u51fa\u5783\u573e\u3002Tailgrids\u901a\u8fc7\u6807\u51c6\u5316\u7684\u8bbe\u8ba1Tokens\u548c\u7ed3\u6784\u5316\u6587\u6863\uff0c\u7ed9\u4e86\u5927\u6a21\u578b\u4e00\u4e2a\u53ef\u7406\u89e3\u7684\u3001\u7ea6\u675f\u826f\u597d\u7684\u201c\u4e16\u754c\u6a21\u578b\u201d\uff0c\u4f7f\u5176\u751f\u6210\u7684\u4ee3\u7801\u80fd\u76f4\u63a5\u88ab\u751f\u4ea7\u7ea7\u9879\u76ee\u4f7f\u7528\uff0c\u800c\u975e\u603b\u662f\u9700\u8981\u624b\u52a8\u4fee\u6539\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u7136\uff0c\u950b\u8292\u4e4b\u4e0b\u4ea6\u6709\u9690\u5fe7\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u5bf9Figma\u540c\u6b65\u673a\u5236\uff08\u81ea\u52a8\/\u624b\u52a8\uff09\u7684\u8ffd\u95ee\u5207\u4e2d\u8981\u5bb3\uff1a\u5982\u679c\u540c\u6b65\u662f\u624b\u52a8\u7684\uff0c\u90a3\u4e48\u5b83\u53ea\u662f\u6539\u8fdb\u4e86\u65e7\u7684\u201c\u5207\u56fe\u201d\u6d41\u7a0b\uff0c\u5e76\u6ca1\u6709\u4ece\u6839\u672c\u89e3\u51b3\u7248\u672c\u6f02\u79fb\u95ee\u9898\u3002\u53e6\u5916\uff0c\u201cAI\u5de5\u4f5c\u6d41\u201d\u7684\u5177\u4f53\u843d\u5730\u5c1a\u5f85\u65f6\u95f4\u68c0\u9a8c\uff0c\u76ee\u524d\u66f4\u591a\u662f\u63d0\u4f9b\u4e86\u57fa\u7840\u8bbe\u65bd\uff08MCP\uff09\uff0c\u800cAI\u9a71\u52a8\u7684\u7ec4\u4ef6\u751f\u6210\u5668\u4ecd\u662f\u201c\u89c4\u5212\u4e2d\u201d\u3002\u82e5\u540e\u7eed\u5176AI\u80fd\u529b\u672a\u80fd\u5151\u73b0\uff0c\u8fd9\u4e2a\u6807\u7b7e\u5f88\u5bb9\u6613\u6ca6\u4e3a\u8425\u9500\u5671\u5934\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6574\u4f53\u800c\u8a00\uff0cTailgrids 3.0\u662f\u4e00\u6b21\u6781\u5176\u52a1\u5b9e\u7684\u5347\u7ea7\uff0c\u5b83\u6ca1\u6709\u753b\u201cAI\u53d6\u4ee3\u5f00\u53d1\u8005\u201d\u7684\u5927\u997c\uff0c\u800c\u662f\u9009\u62e9\u505a\u6700\u597d\u7684\u201cAI\u57fa\u5efa\u4f9b\u5e94\u5546\u201d\u3002\u5bf9\u4e8e\u8ffd\u6c42\u4ea4\u4ed8\u6548\u7387\u3001\u9700\u8981\u5728React+Tailwind\u751f\u6001\u91cc\u6253\u901a\u8bbe\u8ba1\u4e0e\u5f00\u53d1\u6d41\u7a0b\uff0c\u5e76\u6709\u610f\u62e5\u62b1AI\u8f85\u52a9\u5f00\u53d1\u7684\u56e2\u961f\uff0c\u8fd9\u662f\u5f53\u524d\u6700\u503c\u5f97\u6295\u5165\u7684\u3001\u5177\u5907\u524d\u77bb\u6027\u7684\u9009\u62e9\u3002\u4f46\u5bf9\u4e8e\u5355\u7eaf\u5bfb\u627e\u201c\u5f00\u7bb1\u5373\u7528\u7ec4\u4ef6\u201d\u7684\u5f00\u53d1\u8005\uff0c\u5b83\u53ef\u80fd\u4f1a\u7565\u663e\u6c89\u91cd\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Tailgrids 3.0<\/span>\n                <\/div>\n<div class=\"comment-content\">TailGrids 3.0 is a complete rebuild &#8211; a modern open-source React UI library and design system that unifies React, Tailwind and Figma. Ship real-world web projects with 600+ components, blocks, and templates for dashboards, AI, ecommerce, SaaS, and marketing sites. Includes CLI install, design tokens for theming, and an MCP server for AI-ready workflows. TypeScript-first, accessible, production-ready, with a Figma kit that mirrors the codebase 1:1<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt Folks \ud83d\udc4b<\/p>\n<p>Super excited to finally share <strong>Tailgrids 3.0<\/strong> with you all.<\/p>\n<p>We have spent the last several months rebuilding Tailgrids from the ground up. The original goal was simple: keep what developers loved: Clean React UI components built on Tailwind CSS with modern consistent design and zero lock-in. We also rebuilt everything else for how dev and design teams actually ship today.<\/p>\n<p>The result is a complete React UI system that bridges code and design, with a real CLI, full theming, and AI-ready workflows baked in.<\/p>\n<p>\u2728 <strong>WHATS NEW IN TAILGRIDS 3:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>CLI tooling<\/strong>: Install components in seconds with npx <a href=\"https:\/\/github.com\/Tailgrids\/tailgrids\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tailgrids\/cli@latest<\/a> add button. No more copy-paste.<\/p>\n<\/li>\n<li>\n<p><strong>600+ handcrafted <\/strong><a href=\"https:\/\/tailgrids.com\/docs\/components\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>components<\/strong><\/a><strong>, <\/strong><a href=\"https:\/\/tailgrids.com\/blocks\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>blocks<\/strong><\/a><strong> &amp; <\/strong><a href=\"https:\/\/tailgrids.com\/templates\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>templates<\/strong><\/a>: Covering dashboards, SaaS, marketing, eCommerce, and AI products<\/p>\n<\/li>\n<li>\n<p><strong>TypeScript-first React architecture<\/strong>: Every component rebuilt for performance, tree-shaking, and modern React workflows.<\/p>\n<\/li>\n<li>\n<p><strong>Complete <\/strong><a href=\"https:\/\/tailgrids.com\/figma\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Figma design system<\/strong><\/a>: With 2,800+ variants, 900+ tokens, Auto Layout 5.0, fully synced with the codebase<\/p>\n<\/li>\n<li>\n<p><strong>Robust theming system<\/strong>: Design tokens for colors, typography, spacing, radius, and themes. Allows you to customize everything and switch between themes (dark\/light\/&#8230;)<\/p>\n<\/li>\n<li>\n<p><strong>Ready for AI Workflow: <\/strong><a href=\"https:\/\/tailgrids.com\/docs\/mcp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>MCP server<\/strong><\/a><strong>, Markdown docs, and more<\/strong>: Connect Tailgrids to LLMs and generate React components also markdown and <a href=\"https:\/\/tailgrids.com\/design.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">DESIGN.md<\/a> files makes it more accessible for AI<\/p>\n<\/li>\n<li>\n<p><strong>Tailgrids <\/strong><a href=\"https:\/\/tailgrids.com\/icons\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>SVG icon library<\/strong><\/a>: Searchable, themeable, copy as SVG or JSX<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/tailgrids.com\/docs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>New docs portal<\/strong><\/a>: Much improved and detailed developer docs, live previews, searchable, and contributor-friendly.<\/p>\n<\/li>\n<\/ul>\n<p>\ud83d\udd17<strong> Useful Links<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/tailgrids.com\/roadmap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Public roadmap<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/Tailgrids\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Tailgrids on Github<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/x.com\/tailgrids\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Tailgrids on X\/Twitter<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/tailgrids.com\/docs\/changelog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Changelog \/ Update Logs<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\ud83d\udc9c We&#8217;d love your feedback <\/strong><br \/>Specially on the new components, CLI workflow, the Figma kit, and the MCP integration. <br \/>Drop questions, ideas, or anything you&#8217;d want to see next. We&#8217;re around all day \ud83d\ude4c<\/p>\n<p>\u2014 Musharof from Tailgrids Team<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@musharofchy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@musharofchy<\/a>&nbsp;how does the theming handle dark mode transitions for custom tokens? does it auto generate the tailwind config?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@musharofchy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@musharofchy<\/a>&nbsp; CSS variables are a solid approach for dark mode transitions \u2014 they avoid the FOUC you sometimes get with class-based toggling. For anyone building a custom design system on top of Tailgrids, wrapping the theme tokens in CSS custom properties also makes runtime theme switching trivially easy without rebuilding the config. Nice work on v3.0!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@musharofchy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@musharofchy<\/a>&nbsp;How seamless is the MCP server for generating custom components from LLM prompts in a real project?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love this direction \ud83d\ude80<br \/>AI is definitely speeding up frontend development, but great UI still needs taste, structure, and personality. TailGrids 3.0 feels like a strong balance between speed and craftsmanship. Congrats on the launch and best wishes for Product Hunt \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ehsan_riyadh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ehsan_riyadh<\/a>&nbsp;Thanks a lot for the support and kind words, Really appreciate this \u2764\ufe0f<\/p>\n<p>Yeah, That balance between speed and craftsmanship is exactly what we\u2019re aiming for with Tailgrids 3.0. AI can help ship faster, but thoughtful UI still comes from human taste and attention to detail. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great work buddy as always! Best of luck!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@csaba_kissi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@csaba_kissi<\/a>&nbsp;Thanks Mate, glad you like it \ud83d\udc9c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@musharofchy\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"musharofchy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@musharofchy<\/a> , huge congrats on the Tailgrids 3.0 launch! It\u2019s looking incredibly sharp.<\/p>\n<p>I noticed a small &#8216;ghost&#8217; bug on the landing page: there&#8217;s a constant 404 in the console for \/cdn-cgi\/speculation. It looks like Cloudflare\u2019s &#8216;Speed Brain&#8217; is misfiring.<\/p>\n<p>It&#8217;s an easy fix in the Cloudflare dashboard (usually just needs a toggle or a specific header rule), but it&#8217;s a bit distracting for devs checking out the library.<\/p>\n<p>I\u2019m an ex-Deutsche Bank dev and industrial business owner\u2014I\u2019ve got a few hours open today if you need a senior pair of hands to help squash launch-day bugs or optimize the Next.js flow while you&#8217;re trending. Want me to send over the fix?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does the Figma + code sync actually work? auto when code changes, or manual? most UI libraries pick one side and skip the harder part<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks good! Congrats on the launch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@maltepruser Thank you \ud83d\ude4f<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tailgrids has been a solid go-to for Tailwind projects, a huge time-saver. Curious: how are you thinking about the AI workflow angle? Are we talking AI-assisted component generation, or more like ready-made blocks for AI product UIs (chat interfaces, dashboards, etc.)? That positioning could really differentiate from other Tailwind libraries.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rivra_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rivra_dev<\/a>&nbsp;Thanks for your kind words. For us, the AI angle is less about \u201cgenerating random components with AI\u201d and more about making AI-assisted workflows production-ready.<\/p>\n<p>Right now, we offer workflow tools such as MCP, CLI, DESIGN .MD also all components and documentation in Markdown format, making it easier for AI tools to remix and work with them. Soon, we\u2019ll also be working on AI-driven generators based on user demand.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/RYYTMN5NZ76UMA\" class=\"app-title\">InvestorFinder<\/a><\/p>\n<div class=\"one-liner\">Find investors who&#8217;ve backed founders just like you<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">240<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>InvestorFinder\u901a\u8fc7\u5206\u6790\u98ce\u6295\u5408\u4f19\u4eba\u8fc7\u5f80\u6295\u8d44\u521b\u59cb\u4eba\u7684\u80cc\u666f\u3001\u5b66\u5386\u3001\u7ecf\u5386\u7b49\u6570\u636e\uff0c\u5e2e\u52a9\u521b\u59cb\u4eba\u5feb\u901f\u627e\u5230\u4e0e\u81ea\u5df1\u6700\u5339\u914d\u7684\u6295\u8d44\u4eba\uff0c\u907f\u514d\u76f2\u76ee\u7fa4\u53d1\u548c\u65e0\u6548\u6c9f\u901a\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ca609634-368a-484a-a131-335287ff42ce.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fb85b511-7d0a-410e-aabd-f498a0d8caae.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f0f61ec-fbe1-4064-845b-e9b1aae64484.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f147afde-9e2d-409b-b9d6-1aef28534f15.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/84e42050-70f8-4880-84af-5b9c2981acd6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Investing<\/span><br \/>\n            <span class=\"tag\">Venture Capital<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6295\u8d44\u4eba\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u521b\u59cb\u4eba\u80cc\u666f\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u98ce\u9669\u6295\u8d44\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">AI\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u878d\u8d44\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Solo\u521b\u59cb\u4eba<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u4eba\u7814\u7a76<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u4eba\u6570\u636e\u5e93<\/span><br \/>\n            <span class=\"tag\">\u7cbe\u51c6\u7b5b\u9009<\/span><br \/>\n            <span class=\"tag\">\u521b\u4e1a\u878d\u8d44<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u4e3a\u5de5\u5177\u5b9e\u7528\u3001\u8bbe\u8ba1\u7cbe\u826f\uff0c\u80fd\u5feb\u901f\u627e\u5230\u6f5c\u5728\u5339\u914d\u3002\u4e3b\u8981\u95ee\u9898\u5728\u4e8e\uff1a\u5982\u4f55\u786e\u4fdd\u6570\u636e\u8986\u76d6\u975e\u7f8e\u56fd\u5e02\u573a\uff1f\u662f\u5426\u626b\u63cf\u535a\u5ba2\u3001\u793e\u4ea4\u4fe1\u53f7\u6355\u6349\u6295\u8d44\u4eba\u504f\u597d\uff1f\u7b97\u6cd5\u5982\u4f55\u5e94\u5bf9\u65b0\u5174\u8d5b\u9053\u6295\u8d44\u6a21\u5f0f\uff1f\u4e5f\u6709\u7528\u6237\u8d28\u7591\uff0c\u6295\u8d44\u5708\u57fa\u4e8e\u4eba\u8109\u4e0e\u80cc\u666f\u7684\u771f\u5b9e\u7b5b\u9009\u903b\u8f91\u4e0e\u5de5\u5177\u7406\u60f3\u5316\u5339\u914d\u7684\u5dee\u8ddd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                InvestorFinder\u7684\u5207\u5165\u70b9\u975e\u5e38\u7cbe\u51c6\uff0c\u5b83\u76f4\u51fb\u4e86\u878d\u8d44\u73af\u8282\u4e2d\u201c\u4fe1\u606f\u4e0d\u5bf9\u79f0\u201d\u8fd9\u4e00\u6838\u5fc3\u75db\u70b9\u2014\u2014\u5927\u591a\u6570\u521b\u59cb\u4eba\u4ee5\u4e3a\u627e\u6295\u8d44\u4eba\u662f\u5e7f\u6492\u7f51\uff0c\u5b9e\u9645\u4e0a\u6bcf\u4e2a\u5408\u4f19\u4eba\u7684\u201c\u6697\u7bb1\u201d\u504f\u597d\u6781\u5176\u660e\u786e\uff0c\u4e14\u5f80\u5f80\u4e0e\u5176\u516c\u5f00\u5ba3\u79f0\u7684\u201c\u4e3b\u9898\u9a71\u52a8\u201d\u5927\u76f8\u5f84\u5ead\u3002\u4ea7\u54c1\u5c06\u201c\u6295\u8d44\u4eba\u627e\u9879\u76ee\u201d\u8fd9\u4e00\u52a8\u4f5c\u9006\u5411\u89e3\u6784\u4e3a\u201c\u5408\u4f19\u4eba\u504f\u7231\u54ea\u79cd\u521b\u59cb\u4eba\u201d\uff0c\u752812\u4e2a\u4e30\u5bcc\u7ef4\u5ea6\u7684\u6570\u636e\u70b9\u628a\u9690\u6027\u51b3\u7b56\u8def\u5f84\u663e\u6027\u5316\uff0c\u8fd9\u4e00\u903b\u8f91\u662f\u5bf9\u4f20\u7edfVC\u7b5b\u9009\u673a\u5236\u7684\u4e00\u6b21\u6709\u529b\u62c6\u89e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u5929\u82b1\u677f\u5728\u4e8e\u6570\u636e\u6df1\u5ea6\u7684\u53ef\u6301\u7eed\u6027\u548c\u53d8\u73b0\u8fb9\u754c\u3002\u76ee\u524d\u6570\u636e\u5e93\u867d\u6db5\u76d6Sequoia\u3001a16z\u7b49\u9876\u7ea7\u57fa\u91d1\uff0c\u4f46\u5173\u952e\u58c1\u5792\u5728\u4e8e\u80fd\u5426\u8986\u76d6\u8db3\u591f\u591a\u65b0\u5174\u57fa\u91d1\u3001\u5c0f\u4f17\u8d5b\u9053\u4ee5\u53ca\u6b27\u6d32\u4e9a\u6d32\u672c\u571f\u73a9\u5bb6\u3002\u8bc4\u8bba\u4e2d\u4e00\u4f4d\u7528\u6237\u70b9\u51fa\u4e86\u6838\u5fc3\u56f0\u5883\uff1a\u591a\u6570\u6295\u8d44\u51b3\u7b56\u4ecd\u57fa\u4e8e\u540d\u6821\u3001\u5bb6\u4e16\u3001\u4eba\u8109\u5708\u7b49\u96be\u4ee5\u7ed3\u6784\u5316\u91cf\u5316\u7684\u201c\u8f6f\u4fe1\u53f7\u201d\u3002AI\u80fd\u5426\u6709\u6548\u6355\u6349\u8fd9\u4e9b\u53d8\u91cf\uff0c\u51b3\u5b9a\u4e86\u5339\u914d\u7ed3\u679c\u7684\u201c\u6709\u7528\u201d\u4e0e\u201c\u6709\u5173\u201d\u4e4b\u95f4\u7684\u9e3f\u6c9f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4ea7\u54c1\u76ee\u524d\u53ea\u901a\u8fc7\u8f93\u5165\u7528\u6237\u80cc\u666f\u8fdb\u884c\u5339\u914d\uff0c\u4f46\u82e5\u672a\u5f15\u5165\u201c\u6295\u8d44\u4eba\u8fd1\u671f\u5173\u6ce8\u9886\u57df\u53d8\u5316\u201d\u3001\u201c\u6295\u8d44\u516c\u5f00\u8868\u793a\u7684\u5174\u8da3\u70b9\u201d\u7b49\u52a8\u6001\u4fe1\u53f7\uff08\u5982\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u535a\u5ba2\u3001\u793e\u4ea4\u5a92\u4f53\u7ebf\u7d22\uff09\uff0c\u5176\u63a8\u8350\u7ed3\u679c\u5bb9\u6613\u6ca6\u4e3a\u9759\u6001\u6807\u7b7e\u7684\u523b\u677f\u6620\u5c04\u3002\u5bf9\u4e8e\u90a3\u4e9b\u5728AI\u3001\u6df1\u79d1\u6280\u7b49\u65b0\u5174\u8d5b\u9053\u521b\u5efa\u54c1\u7c7b\u7684\u521b\u59cb\u4eba\uff0c\u8be5\u5de5\u5177\u5bf9\u6295\u8d44\u4eba\u201c\u6562\u4e8e\u6295\u65b0\u201d\u7684\u98ce\u9669\u504f\u597d\u8bc6\u522b\u80fd\u529b\u6709\u9650\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e00\u6b3e\u5bf9\u65e9\u671f\/\u9996\u6b21\/\u5b64\u5355\u521b\u59cb\u4eba\u6781\u5176\u53cb\u597d\u7684\u201c\u6548\u7387\u578b\u201d\u5229\u5668\u3002\u5b83\u65e0\u6cd5\u66ff\u4ee3\u5173\u7cfb\u548c\u4fe1\u4efb\uff0c\u4f46\u80fd\u6781\u5927\u52a0\u901f\u7784\u51c6\u9636\u6bb5\u3002\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff1a\u4ea7\u54c1\u80fd\u5426\u4ece\u6570\u636e\u5de5\u5177\u8fdb\u5316\u4e3a\u878d\u8d44\u60c5\u62a5\u7f51\u7edc\uff0c\u800c\u4e0d\u53ea\u662f\u53e6\u4e00\u4e2a\u88ab\u201c\u6821\u53cb\u5708\u201d\u795e\u8bdd\u53cd\u566c\u7684\u6f02\u4eae\u6570\u636e\u5e93\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">InvestorFinder<\/span>\n                <\/div>\n<div class=\"comment-content\">Finally, real data on how every VC partner actually invests &#8211; founder backgrounds, universities and prior companies. Paste your profile and find your best matches in seconds.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH! \ud83d\udc4b<\/p>\n<p>When founders raise, they pitch dozens of investors, get a handful to back them, and spend months figuring out who the right ones were all along.<\/p>\n<p>InvestorFinder shortens that gap massively. Based on our database of 1000s of investors, our AI match you to the right investor based on your profile and product. <\/p>\n<p>You also get 12+ rich datapoints on every partner:<\/p>\n<p>\ud83c\udf93 Where their founders studied<br \/>\ud83c\udfe2 Where their founders worked<br \/>\ud83d\udccd Where their founders are based<br \/>\ud83e\udde0 Founder archetypes<br \/>\ud83d\udcb0 Check size<\/p>\n<p>The use cases are straightforward:<\/p>\n<p>\ud83d\ude80 Founders raising: Stop cold pitching. Find the 10 partners whose portfolio data looks like you and go deep on warm intros to those specific people.<\/p>\n<p>\ud83c\udf31 First-time founders: You don&#8217;t have a network yet. Use the data to identify exactly which investors have backed founders with similar backgrounds to yours.<\/p>\n<p>\ud83e\uddd1\u200d\ud83d\udcbb Solo founders: See which partners have consistently backed solo founders vs. those who only back co-founder teams. Don&#8217;t waste a pitch on the wrong fit.<\/p>\n<p>\ud83d\udccb Preparing for a pitch: Before any meeting, pull up the partner&#8217;s profile and know their investment patterns. Walk in more prepared than any other founder in the room.<\/p>\n<p>\ud83d\udd0d Founders doing investor research: Cross-reference check size, stage, sector focus, and founder background all in one place before you add anyone to your target list.<\/p>\n<p>1000+ investor profiles across Sequoia, a16z, Lightspeed, and more. Free. \ud83c\udf89<\/p>\n<p>Try it at: <a href=\"https:\/\/tools.crustdata.com\/investorfinder\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/tools.crustdata.com\/inve&#8230;<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Some VCs publish why they invested in a company in their blogs and others appear to actively promote their portfolio companies on LinkedIn and Twitter. <\/p>\n<p>Do you scan for all these for signals?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;Not yet, but that&#8217;s a great idea. We&#8217;ll be adding that soon. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@lakshminath_dondeti this is a great idea.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cool concept (already found my potential matches) \ud83d\ude00<\/p>\n<p>+ I must say that the design of the page is composed pretty well! <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/10eed63e-fa52-4940-9618-7f0701e86e15.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Thanks Nika. Glad you found it useful!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on the launch \ud83d\ude4c This is the kind of tool I actually need right now as I am looking for early-stage investors. When I sign up, how does it figure out which investors are the right match for me?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@francesco2689\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@francesco2689<\/a>&nbsp;Thanks Francesco. We have a database of 1000+ investors and we&#8217;ll look at the type of people they&#8217;ve invested in- what their backgrounds are, what type of products they invested in. When you enter your profile URL and your product idea, our AI matches you to the right investor. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the concept! How do you source the VC data \u2014 is it manual curation, public APIs, or scraping? And do you cover European\/Asian investors or US-focused?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@krwdko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krwdko<\/a>&nbsp;Thanks Konstantin! We have a database of investors (global coverage) and we&#8217;ll look at the type of people they&#8217;ve invested in- what their backgrounds are, what type of products they invested in. When you enter your profile URL and your product idea, our AI matches you to the right investor. We used our own API to create the database for this tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is actually useful. Things like background, past companies, and even patterns in who partners tend to back matter a lot more than people think.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;<\/p>\n<\/p>\n<p>100%<\/p>\n<p>I love the concept, but I wonder if in reality this is truly a &#8216;needed&#8217; tool? Most investors invest based on College name, Family name, close friendship ties etc.<\/p>\n<p>So even if you used this tool to find your right investor, it&#8217;s going to yield the same outcome as the default approach &#8211; which is being ignored by investors + getting no investment. But then again, one of the tool&#8217;s value points is that it&#8217;s saving time for founders who want to get in touch with these investors quickly, so to that degree I guess the tool is needed<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;Glad you found it useful Thami!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is super useful for solo founders like me. As someone building FinTrackrr (a free personal finance tracker), finding the right investors who&#8217;ve backed similar bootstrapped fintech tools has always been a pain. The idea of matching based on actual portfolio patterns rather than just categories is smart. Great execution!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>interesting tool for both founders and investors&#8230; will you add PM function in future?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Im actually looking for some seed capitol, are there already a good amount of investors on here?<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This basically exposes what VCs actually do vs what they claim. Most say they&#8217;re thesis-driven but the data shows clear patterns toward certain founder types. Anyone pushed back on this kind of categorization?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really useful timing \u2014 we&#8217;re building Faindo and plan to raise soon, so the &#8220;wrong investor&#8221; problem is something we&#8217;re already thinking about.<\/p>\n<p>One question: do you factor in whether an investor has backed tools in emerging categories before? We&#8217;re in AI lead interception \u2014 a category that barely existed 18 months ago. Curious if InvestorFinder surfaces partners who have a pattern of backing category-creating products vs. established markets.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/T5UPS2CJT3MEUS\" class=\"app-title\">deepsec<\/a><\/p>\n<div class=\"one-liner\">Open-source coding security harness<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">216<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>deepsec \u662f\u4e00\u6b3e\u5f00\u6e90\u7684AI\u5b89\u5168\u9632\u62a4\u5de5\u5177\uff0c\u80fd\u5728\u7528\u6237\u81ea\u6709\u57fa\u7840\u8bbe\u65bd\u4e0a\uff0c\u7528\u81ea\u6709\u5bc6\u94a5\u5bf9\u4ee3\u7801\u8fdb\u884c\u626b\u63cf\uff0c\u89e3\u51b3\u751f\u4ea7\u73af\u5883\u4e2d\u4ee3\u7801\u5b89\u5168\u5ba1\u8ba1\u4e0e\u98ce\u9669\u63a7\u5236\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d3e42376-2de5-48a3-b9c0-22257e8af04c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">AI\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u5bc6\u94a5\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">CI\/CD<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u6f0f\u6d1e\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u9759\u6001\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">DevSecOps<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u626b\u63cf\u65f6\u673a\uff08\u63d0\u4ea4\u65f6\/CI\u65f6\uff09\u3001\u73af\u5883\u5dee\u5f02\u5316\u98ce\u9669\uff08\u5982\u9884\u53d1\u5e03\u4e0e\u751f\u4ea7\u73af\u5883\uff09\u4ee5\u53ca\u8bef\u62a5\u5904\u7406\u95ee\u9898\u3002\u5b98\u65b9\u8868\u793a\u7406\u60f3\u65b9\u6848\u662f\u9884\u63d0\u4ea4\u94a9\u5b50\u7ed3\u5408CI\u6df1\u5ea6\u626b\u63cf\uff0c\u5e76\u652f\u6301\u6309\u73af\u5883\u914d\u7f6e\u7b56\u7565\u5f15\u64ce\u4ee5\u964d\u4f4e\u8bef\u62a5\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                deepsec\u7684\u201c\u5f00\u6e90+\u81ea\u6709\u57fa\u7840\u8bbe\u65bd+\u81ea\u6709\u5bc6\u94a5\u201d\u7ec4\u5408\u62f3\uff0c\u7cbe\u51c6\u6233\u4e2d\u4e86\u4f01\u4e1a\u5bf9\u7b2c\u4e09\u65b9\u5b89\u5168\u670d\u52a1\u7684\u6570\u636e\u4e3b\u6743\u7126\u8651\u3002\u76f8\u6bd4\u95ed\u6e90SaaS\u5de5\u5177\uff0c\u5b83\u786e\u5b9e\u5728\u654f\u611f\u4ee3\u7801\u6392\u67e5\u548c\u5ba1\u8ba1\u5408\u89c4\u4e0a\u66f4\u5177\u5438\u5f15\u529b\u3002\u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5bf9\u73b0\u6709\u5b89\u5168\u626b\u63cf\u6d41\u7a0b\u7684\u201c\u53bb\u4e2d\u5fc3\u5316\u201d\u5305\u88c5\uff0c\u5e76\u975e\u6280\u672f\u4ee3\u9645\u7a81\u7834\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u91cd\u65b0\u5b9a\u4e49\u4e86\u5b89\u5168\u5de5\u5177\u7684\u6743\u529b\u8fb9\u754c\u2014\u2014\u8ba9\u4f01\u4e1a\u4ece\u201c\u4fe1\u4efb\u5e73\u53f0\u201d\u8f6c\u5411\u201c\u4fe1\u4efb\u81ea\u5df1\u63a7\u5236\u7684\u4ee3\u7801\u4e0e\u5bc6\u94a5\u201d\u3002\u7136\u800c\uff0c\u771f\u5b9e\u75db\u70b9\u4ece\u6765\u4e0d\u662f\u5de5\u5177\u8dd1\u5728\u54ea\uff0c\u800c\u662f\u8bef\u62a5\u7387\u3001\u626b\u63cf\u6df1\u5ea6\u548c\u7b56\u7565\u7075\u6d3b\u5ea6\u3002\u4ece\u8bc4\u8bba\u4e2d\u53ef\u4ee5\u770b\u51fa\uff0c\u7528\u6237\u66f4\u5173\u5fc3commit\/CI\u6df7\u5408\u626b\u63cf\u3001\u73af\u5883\u5dee\u5f02\u5316\u98ce\u9669\u7b49\u5b9e\u9645\u5de5\u7a0b\u843d\u5730\u80fd\u529b\uff0c\u800c\u975e\u201c\u4e0a\u4e91\u8fd8\u662f\u4e0a\u81ea\u5df1\u201d\u7684\u7acb\u573a\u9009\u62e9\u3002deepsec\u82e5\u4e0d\u80fd\u5728\u8bef\u62a5\u8fc7\u6ee4\u548c\u8de8\u73af\u5883\u7b56\u7565\u5f15\u64ce\u4e0a\u505a\u51fa\u663e\u8457\u4f18\u4e8e\u5f00\u6e90\u793e\u533a\u65b9\u6848\uff08\u5982Semgrep\u3001Trivy\uff09\u7684\u4f53\u9a8c\uff0c\u90a3\u5b83\u5f88\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u201c\u81ea\u5efa\u5b89\u5168\u5de5\u5177\u7684\u811a\u624b\u67b6\u201d\uff0c\u800c\u975e\u4ea7\u54c1\u3002\u6b64\u5916\uff0c\u201cVercel\u5f00\u6e90\u201d\u7684\u6807\u7b7e\u65e2\u662f\u4fe1\u4efb\u80cc\u4e66\uff0c\u4e5f\u662f\u9690\u5fe7\u2014\u2014\u5f53\u5f00\u6e90\u9879\u76ee\u7f3a\u4e4f\u7a33\u5b9a\u5546\u4e1a\u652f\u6301\u65f6\uff0c\u4f01\u4e1a\u7ea7\u7528\u6237\u662f\u5426\u6562\u5728\u6838\u5fc3\u751f\u4ea7\u7ba1\u7ebf\u6df1\u5ea6\u7ed1\u5b9a\uff1f\u603b\u4f53\u800c\u8a00\uff0cdeepsec\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u8ddd\u79bb\u201c\u6210\u719f\u7684\u5dee\u5f02\u5316\u4ea7\u54c1\u201d\u4ecd\u6709\u9e3f\u6c9f\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">deepsec<\/span>\n                <\/div>\n<div class=\"comment-content\">Vercel is open sourcing deepsec, an AI security harness that runs on your infrastructure, with your keys, against your code.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Running security tooling on your own infra is the right call for anything touching production code. Quick question: does deepsec scan at commit time, CI time, or both? I&#8217;m curious how it handles cases where the samecode has different risk profiles in diffrent environments.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@christian_knaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christian_knaut<\/a>&nbsp; Great question! Most open-source security tools in this space tend to run at CI time for the full dependency graph scan, but commit-time scanning via pre-commit hooks catches issues before they ever hit CI. The ideal setup is both \u2014 pre-commit for quick static analysis on changed files, then CI for the full deep scan including transitive dependencies. Different environments definitely have different risk profiles, and treating staging vs production contexts separately in the policy engine is where tools like this really shine.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What&#8217;s the approach deepsec uses for tracking and mitigating vulnerabilities in real-time? I&#8217;ve seen similar tools struggle with false positives, which can slow down the development process significantly. Curious if there&#8217;s something novel here that addresses that issue.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hosting yieldos on Vercel. Underrated feature nobody talks about: per-PR preview deployments. I catch a ton of mistakes before they hit prod just by clicking the preview link.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! I like that it runs on your own infra.<\/p>\n<\/p>\n<p>Is deepsec mostly for CI\/PR checks, or also local dev use?<\/p>\n<\/p>\n<p>Curious how you\u2019re handling false positives, that\u2019s usually the hard part with security tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BPB5EVZOROWIVC\" class=\"app-title\">Adject 2.0<\/a><\/p>\n<div class=\"one-liner\">Create hyperrealistic product visuals with AI<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">174<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Adject 2.0 \u662f\u4e00\u4e2a\u57fa\u4e8e AI \u7684\u667a\u80fd\u4ea7\u54c1\u89c6\u89c9\u5de5\u4f5c\u5ba4\uff0c\u901a\u8fc7\u201c\u65e0\u9650\u5de5\u4f5c\u6d41\u201d\u6a21\u5f0f\uff0c\u89e3\u51b3\u54c1\u724c\u548c\u521b\u610f\u56e2\u961f\u5728\u751f\u6210\u4ea7\u54c1\u56fe\u65f6\u53cd\u590d\u4e0a\u4f20\u3001\u91cd\u590d\u63d0\u793a\u3001\u7d20\u6750\u5b64\u7acb\u7684\u75db\u70b9\uff0c\u5b9e\u73b0\u4e00\u7ad9\u5f0f\u3001\u53ef\u8fed\u4ee3\u7684\u5e7f\u544a\u7d20\u6750\u5236\u4f5c\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f2ed94cc-81a8-4535-a8d1-b234590a2c27.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/679a1499-16fd-4647-88a3-f38b13b2f0ad.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9d6f483-d8b1-47c9-b20a-7ecd06606cc4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/761bf10d-81cb-4bdd-bf1a-a4435a999604.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/61715c7bd7f840b09828b555612e1c9d\"><source src=\"https:\/\/www.loom.com\/share\/61715c7bd7f840b09828b555612e1c9d\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">E-Commerce<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI \u4ea7\u54c1\u89c6\u89c9<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u521b\u610f\u5de5\u4f5c\u5ba4<\/span><br \/>\n            <span class=\"tag\">\u7535\u5546\u8bbe\u8ba1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5e7f\u544a\u7d20\u6750\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u4e00\u81f4\u6027<\/span><br \/>\n            <span class=\"tag\">\u65e0\u9650\u753b\u5e03<\/span><br \/>\n            <span class=\"tag\">AI \u56fe\u50cf\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u6444\u5f71<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u8425\u9500<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u6301\u7eed\u5de5\u4f5c\u6d41\u201d\u6a21\u5f0f\uff0c\u89e3\u51b3\u4e86\u4f20\u7edfAI\u5de5\u5177\u201c\u751f\u6210\u5373\u91cd\u7f6e\u201d\u7684\u75db\u70b9\u3002\u6838\u5fc3\u95ee\u9898\u805a\u7126\u4e8e\uff1a\u590d\u6742\u6750\u8d28\uff08\u5982\u7ec7\u7269\u3001\u53cd\u5149\u5305\u88c5\uff09\u7684\u751f\u6210\u4fdd\u771f\u5ea6\u3001\u8de8\u8fed\u4ee3\u7684\u4e00\u81f4\u6027\uff08\u5149\u5f71\u3001\u7eb9\u7406\u3001\u54c1\u724c\u8bc6\u522b\uff09\uff0c\u4ee5\u53ca\u662f\u5426\u652f\u6301\u54c1\u724c\u6307\u5357\u9501\u5b9a\u3002\u56e2\u961f\u56de\u5e94\u79f0\u901a\u8fc7\u201c\u6301\u4e45\u9879\u76ee\u4e0a\u4e0b\u6587\u201d\u548c\u201c\u753b\u5e03\u611f\u77e5\u751f\u6210\u201d\u6765\u4fdd\u6301\u8f93\u51fa\u7a33\u5b9a\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Adject 2.0 \u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u53c8\u9020\u4e86\u4e00\u4e2a\u66f4\u5f3a\u7684\u4e00\u952e\u751f\u6210\u5668\uff0c\u800c\u5728\u4e8e\u5b83\u91cd\u65b0\u5b9a\u4e49\u4e86AI\u5728\u521b\u610f\u5de5\u4f5c\u6d41\u4e2d\u7684\u201c\u884c\u4e3a\u903b\u8f91\u201d\u3002\u5f53\u7edd\u5927\u591a\u6570AI\u56fe\u50cf\u5de5\u5177\u4ecd\u9677\u5728\u201c\u5355\u6b21\u95ee\u7b54\u201d\u7684\u6ce5\u6f6d\u4e2d\u65f6\uff0cAdject 2.0 \u7528\u201c\u9879\u76ee\u5316\u201d\u548c\u201c\u4e0a\u4e0b\u6587\u5173\u8054\u201d\u5b8c\u6210\u4e86\u4ece\u201c\u5de5\u5177\u201d\u5230\u201c\u5de5\u4f5c\u53f0\u201d\u7684\u8dc3\u8fc1\u3002\u8fd9\u770b\u4f3c\u53ea\u662f\u4ea4\u4e92\u8303\u5f0f\u7684\u6539\u53d8\uff0c\u5b9e\u5219\u5207\u4e2d\u4e86\u54c1\u724c\u521b\u610f\u56e2\u961f\u6700\u6df1\u5c42\u7684\u75db\u70b9\uff1a\u521b\u610f\u8f93\u51fa\u662f\u8fde\u7eed\u8fed\u4ee3\u7684\uff0c\u800c\u975e\u5b64\u7acb\u7684\u3002\u5b83\u8ba9AI\u4e0d\u518d\u662f\u4e00\u4e2a\u6bcf\u6b21\u90fd\u8981\u91cd\u65b0\u4ea4\u4ee3\u80cc\u666f\u7684\u201c\u5b9e\u4e60\u751f\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u4e86\u89e3\u9879\u76ee\u6765\u9f99\u53bb\u8109\u3001\u80fd\u57fa\u4e8e\u73b0\u6709\u8d44\u4ea7\u8fdb\u884c\u534f\u4f5c\u7684\u201c\u8bbe\u8ba1\u4f19\u4f34\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u53cd\u9988\u770b\uff0c\u56e2\u961f\u5728\u6280\u672f\u843d\u5730\u4e0a\u4e5f\u505a\u4e86\u9488\u5bf9\u6027\u9009\u62e9\u2014\u2014\u5f3a\u8c03\u5bf9\u590d\u6742\u7eb9\u7406\u548c\u5149\u5f71\u4e00\u81f4\u6027\u7684\u5904\u7406\uff0c\u5e76\u5f15\u5165\u201c\u753b\u5e03\u611f\u77e5\u201d\u673a\u5236\uff0c\u8bf4\u660e\u4ed6\u4eec\u4e0d\u662f\u5728\u753b\u997c\uff0c\u800c\u662f\u8bd5\u56fe\u89e3\u51b3AI\u5546\u4e1a\u843d\u5730\u4e2d\u6700\u68d8\u624b\u7684\u201c\u4fdd\u771f\u5ea6\u201d\u95ee\u9898\u3002\u4e0e\u5176\u8bf4\u8fd9\u662f\u4e00\u6b21\u529f\u80fd\u66f4\u65b0\uff0c\u4e0d\u5982\u8bf4\u8fd9\u662f\u4e00\u573a\u601d\u60f3\u5b9e\u9a8c\uff1a\u5f53AI\u5f00\u59cb\u7406\u89e3\u201c\u9879\u76ee\u201d\u800c\u975e\u201c\u6307\u4ee4\u201d\u65f6\uff0c\u521b\u610f\u751f\u4ea7\u6d41\u7a0b\u624d\u80fd\u8fce\u6765\u771f\u6b63\u7684\u6548\u7387\u9769\u547d\u3002\u4e0d\u8fc7\uff0c\u4ea7\u54c1\u80fd\u5426\u4ece\u201c\u89e3\u51b3\u5355\u70b9\u6548\u7387\u201d\u8fdb\u5316\u4e3a\u201c\u91cd\u6784\u56e2\u961f\u534f\u4f5c\u201d\uff0c\u8fd8\u9700\u8981\u770b\u540e\u7eed\u5bf9\u591a\u7528\u6237\u534f\u540c\u3001\u54c1\u724c\u8d44\u4ea7\u7ba1\u7406\u6a21\u5757\u7684\u843d\u5730\u80fd\u529b\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Adject 2.0<\/span>\n                <\/div>\n<div class=\"comment-content\">Adject 2.0 is an agentic product studio where brands can create, edit, and iterate product visuals inside an infinite creative workflow. Instead of isolated generations, products, models, edits, videos, and assets stay connected inside projects and evolve continuously over time. Upload once, generate in context, iterate visually, and build complete campaigns without fragmented tools or repetitive prompting.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is the one worth attention today in my opinion. The generate\/download\/repeat loop in most AI image tools kills any sense of creative momentum. So, keeping products\/models\/edits all connected in one place is how creative teams actually think about campaigns. Wonder how you guys handle products with complex textures like fabric or reflective packaging?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Really appreciate your comment, Art!<\/p>\n<p>And yes, fabrics, reflective packaging, detailed textures etc. are things we focused on heavily while building the system. We\u2019re getting very high-quality and consistent outputs even on difficult product types.<\/p>\n<p>A huge advantage of keeping everything connected inside the same workspace is that products, edits, and generations preserve context much better instead of restarting from scratch every time, definitely.<\/p>\n<p>Thanks a lot for checking it out \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello Product Hunt community! \ud83d\ude38<\/p>\n<p>Bringing Adject v2 to life has been an amazing journey. As the team building the AI infrastructure, our biggest challenge (and most fun task) was setting up the new chatting logic. Getting the agent architectures to communicate perfectly to provide a smooth user experience took a lot of late nights, but we are really proud of the result.<\/p>\n<p>Please give it a spin and let us know where we can improve. I&#8217;m looking forward to reading your feedback and answering your questions!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting shift from one-off generations to a continuous creative workflow.<\/p>\n<p>Keeping assets, edits, and iterations connected inside projects solves a real pain for teams. This could meaningfully streamline how campaigns are built.<\/p>\n<p>How you handle consistency across iterations (lighting, textures, brand identity) and how collaborative workflows are managed?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;Really appreciate your comment \ud83d\ude4c<\/p>\n<p>That\u2019s exactly the problem we wanted to solve with 2.0, creative work constantly loses context between generations, edits, and tools.<\/p>\n<p>I mean for consistency, we\u2019re approaching it through persistent project context, reusable assets, and canvas-aware generation so the system understands what already exists instead of generating in isolation every time.<\/p>\n<p>Collaboration workflows are also a big future direction for us moving forward as we keep expanding the project and workspace layer.<\/p>\n<p>Thanks again for checking it out \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;Yeah, exactly. That&#8217;s why we switched to canvas style. It&#8217;s like if Figma and Cursor had a baby, but for brands.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried a lot of AI design tools before but most of them feel like one-time prompt generators tbh. You make something nice, then the whole workflow resets again <\/p>\n<p>Adject 2.0 feels much smoother. Being able to keep everything in one infinite workspace and continue iterating without constantly re-uploading or restarting honestly makes a huge difference.<\/p>\n<p>One of the few AI creative tools that actually feels built for real workflows.<\/p>\n<p>Would really love to hear your thoughts and feedback, especially from people interested in the future of creative AI tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@qadir_mahmudlu so real<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt!<\/p>\n<p>Most AI creative tools still work like isolated prompt boxes. Generate something, download it, then start over again.<\/p>\n<p>We wanted something closer to how real creative work actually feels.<\/p>\n<p>Adject 2.0 introduces an agentic workflow for product visuals where generations, edits, assets, videos, and context all live together inside an infinite workspace.<\/p>\n<p>You can upload products once, iterate visually, reuse assets across projects, and work with AI more collaboratively instead of restarting every generation from scratch.<\/p>\n<p>Internally, we sometimes describe it as \u201cFigma meets Cursor for product shoots.\u201d<\/p>\n<p>Would genuinely love feedback from anyone exploring where creative AI tools are heading.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does it handle brand guidelines? Can you lock certain elements so the AI doesn&#8217;t drift from them? Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jared_salois\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jared_salois<\/a>&nbsp;It handles brand consistency really well. Products and assets inside the workspace act as persistent references when you use them, so the AI keeps outputs aligned instead of drifting between generations.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This actually looks super useful for ecommerce \ud83d\ude2d Upload once and keep iterating different concepts without reprompting every time. Feels way more practical for brands\/content teams than most AI image tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@le_ng_c_dan_nhi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@le_ng_c_dan_nhi<\/a>&nbsp;Hahaha yes \ud83d\ude02<br \/>We talked with brands &amp; content teams while building this and almost everyone had the same frustration with existing workflows.<\/p>\n<p>Really appreciate the support \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the upload once idea. It really solves the annoying problem of doing the same thing again and again.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zijian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zijian<\/a>&nbsp;Yep, definitely. Why would someone upload the same product again and again? It is unproductive. That&#8217;s why you upload your products, then use them limitlessly whenever you want.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m one of the people on the team behind Adject, and we spent a lot of time wrestling with the technical side on this release \ud83d\ude04<\/p>\n<p>Going from 1.5 to 2.0, we didn&#8217;t really add a feature, we changed the mental model. In v1, every generation started from zero. Prompt, download, start over. It worked, but every campaign meant rebuilding the context all over again.<\/p>\n<p>In 2.0, products, models, edits, and assets all live connected to each other. The agent doesn&#8217;t work inside a single box anymore, it sees the whole workspace. We had to seriously rethink how state and context move through the system.<\/p>\n<p>Big thanks to everyone on the team, it was great to ship something like this together. Happy to chat with anyone who has questions about the architecture or the agentic workflow side.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Product fidelity across iterations is the hardest problem in this space. Most AI image tools subtly morph the product after a few edits. How does Adject keep it consistent? Reference image locked in, or something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/EG2MLTEVHABTRD\" class=\"app-title\">Notion 3.4<\/a><\/p>\n<div class=\"one-liner\">New dashboards, connectors, sidebar &#038; smarter AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">149<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Notion 3.4 \u901a\u8fc7\u96c6\u6210AI\u56fe\u8868\u751f\u6210\u3001\u65b0\u7248\u4eea\u8868\u76d8\u548c\u6f14\u793a\u6a21\u5f0f\u7b49\u5341\u591a\u9879\u529f\u80fd\uff0c\u5c06\u6587\u6863\u3001\u6570\u636e\u770b\u677f\u3001\u6f14\u793a\u53caAI\u521b\u4f5c\u6574\u5408\u5728\u4e00\u4e2a\u5de5\u4f5c\u6d41\u4e2d\uff0c\u89e3\u51b3\u56e2\u961f\u5728\u591a\u4e2a\u5de5\u5177\u95f4\u5207\u6362\u5e26\u6765\u7684\u6548\u7387\u4e0e\u4fe1\u606f\u788e\u7247\u5316\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/889a6078-4806-4483-af44-3d52c3f82f02.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3b16acd1-eebb-427b-949a-3bdca2828599.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/41bdcbc4-823d-49e3-8224-440e3285b390.gif?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/47a36ff2-e04b-47b9-8ea6-ad799e4a2051.gif?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/043233d0-61df-49ff-9972-9ce93327c7d9.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/48b9e41f-5d1c-4145-bba7-3ce3d379c9c8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/38057e4f-66f5-43be-a19c-3482de8d2c42.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Z5hwjq5K0eY?si=51jW900Y7gdovrOK\"><source src=\"https:\/\/youtu.be\/Z5hwjq5K0eY?si=51jW900Y7gdovrOK\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Notion<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5de5\u4f5c\u53f0<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4eea\u8868\u76d8<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">AI\u56fe\u8868\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u6f14\u793a\u6a21\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u4fa7\u8fb9\u680f\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u65b0\u4eea\u8868\u76d8\u548c\u6f14\u793a\u6a21\u5f0f\u7684\u4ef7\u503c\uff0c\u8ba4\u4e3a\u8865\u9f50\u4e86\u8fd0\u8425\u5de5\u5177\u77ed\u677f\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728AI\u56fe\u8868\u751f\u6210\u7684\u6570\u636e\u9690\u79c1\uff08\u5904\u7406\u662f\u5426\u5728\u4e91\u7aef\uff09\u4ee5\u53caAI\u9762\u5bf9\u6a21\u7cca\u6570\u636e\u65f6\u7684\u4ea4\u4e92\u903b\u8f91\uff08\u662f\u5426\u4f1a\u4e3b\u52a8\u6f84\u6e05\u800c\u975e\u76f4\u63a5\u51fa\u56fe\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Notion 3.4 \u662f\u4e00\u6b21\u5178\u578b\u7684\u201c\u529f\u80fd\u5806\u53e0\u201d\u5f0f\u66f4\u65b0\uff0c\u800c\u975e\u5e95\u5c42\u903b\u8f91\u7684\u9769\u547d\u3002\u65b0\u4eea\u8868\u76d8\u548c\u6f14\u793a\u6a21\u5f0f\u786e\u5b9e\u89e3\u51b3\u4e86\u201c\u591a\u7528\u5408\u4e00\u201d\u7684\u75db\u70b9\uff0c\u4f46\u672c\u8d28\u662f\u7528\u4e00\u4e2a\u5c01\u95ed\u7684\u3001\u81ea\u6709\u683c\u5f0f\u7684\u201c\u5168\u80fd\u5bb9\u5668\u201d\u66ff\u4ee3\u4e86\u591a\u4e2a\u5f00\u653e\u7684\u3001\u6807\u51c6\u5316\u7684\u5de5\u5177\u3002\u8fd9\u79cd\u6df1\u5ea6\u6574\u5408\u5bf9\u5df2\u6df1\u5ea6\u4f9d\u8d56Notion\u751f\u6001\u7684\u56e2\u961f\u662f\u5f3a\u5fc3\u5242\uff0c\u4f46\u5bf9\u4e60\u60ef\u4e13\u4e1a\u5de5\u5177\u7684\u7528\u6237\uff08\u5982Tableau\u3001Gamma\uff09\u53ef\u80fd\u7f3a\u4e4f\u5438\u5f15\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u201cAI\u667a\u80fd\u4f53\u201d\u7684\u5d4c\u5165\uff1a\u5f53AI\u80fd\u76f4\u63a5\u4ece\u4f60\u7684\u6570\u636e\u5e93\u751f\u6210\u56fe\u8868\u3001\u4ece\u6587\u6863\u63d0\u53d6\u8981\u70b9\u5e76\u81ea\u52a8\u751f\u6210\u6f14\u793a\u6587\u7a3f\u65f6\uff0c\u7528\u6237\u4ece\u201c\u624b\u52a8\u642c\u8fd0\u201d\u53d8\u6210\u4e86\u201c\u7b56\u7565\u5236\u5b9a\u8005\u201d\u3002\u8fd9\u5927\u5e45\u964d\u4f4e\u4e86\u6570\u636e\u5206\u6790\u4e0e\u6c47\u62a5\u7684\u95e8\u69db\uff0c\u5c24\u5176\u5229\u597dPM\u548c\u8fd0\u8425\u4eba\u5458\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8b66\u60d5\u7684\u662f\uff0cAI\u751f\u6210\u89c6\u89c9\u7684\u201c\u81ea\u52a8\u731c\u6d4b\u201d\u7279\u6027\u53ef\u80fd\u5e26\u6765\u6570\u636e\u89e3\u8bfb\u6b67\u4e49\uff0c\u5c24\u5176\u662f\u7f3a\u4e4f\u4ea4\u4e92\u5f0f\u6f84\u6e05\u673a\u5236\u65f6\uff0c\u5bb9\u6613\u4ea7\u751f\u201c\u770b\u8d77\u6765\u5f88\u7f8e\u4f46\u903b\u8f91\u9519\u8bef\u201d\u7684\u56fe\u8868\u3002\u6b64\u5916\uff0c\u6570\u636e\u9690\u79c1\u95ee\u9898\u60ac\u800c\u672a\u51b3\u2014\u2014\u4e91\u5904\u7406\u7248\u672c\u5bf9\u4e8e\u4f01\u4e1a\u654f\u611f\u6570\u636e\u662f\u81f4\u547d\u4f24\u3002\u5982\u679cNotion\u4e0d\u80fd\u63a8\u51fa\u6e05\u6670\u7684\u6570\u636e\u672c\u5730\u5316\u65b9\u6848\uff0cAI\u529f\u80fd\u5c06\u53ea\u9002\u5408\u8f7b\u91cf\u7ea7\u3001\u975e\u6838\u5fc3\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b80\u8a00\u4e4b\uff0cNotion 3.4\u662f\u4e00\u6b21\u91ce\u5fc3\u52c3\u52c3\u4f46\u4f9d\u8d56\u201c\u7528\u6237\u4e60\u60ef\u8d4c\u6ce8\u201d\u7684\u5347\u7ea7\uff1a\u5b83\u8d4c\u4f60\u4f1a\u4e3a\u4e86\u5de5\u4f5c\u6d41\u7edf\u4e00\u800c\u5bb9\u5fcd\u529f\u80fd\u6df1\u5ea6\u4e0d\u53ca\u4e13\u4e1a\u5de5\u5177\u3001AI\u51b3\u7b56\u4e0d\u900f\u660e\u4ee5\u53ca\u6f5c\u5728\u6570\u636e\u98ce\u9669\u3002\u77ed\u671f\u5185\u80fd\u63d0\u632f\u8001\u7528\u6237\u6d3b\u8dc3\u5ea6\uff0c\u4f46\u82e5\u60f3\u6210\u4e3a\u771f\u6b63\u7684\u201cAI\u5de5\u4f5c\u4e00\u4f53\u673a\u201d\uff0c\u8fd8\u9700\u5728\u6570\u636e\u5b89\u5168\u4e0e\u667a\u80fd\u4ea4\u4e92\u900f\u660e\u6027\u4e0a\u6295\u5165\u66f4\u591a\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Notion 3.4<\/span>\n                <\/div>\n<div class=\"comment-content\">Notion now generates images, builds dashboards, and presents your docs without leaving the workspace. 10+ features shipped for operators, PMs, and teams scaling on AI.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Notion 3.4 <\/strong>feels like a major step toward the \u201call-in-one AI workspace\u201d vision \ud83d\udc40<\/p>\n<ul>\n<li>\n<p>New dashboard view turns scattered databases into clean KPI and metrics hubs without messy linked views<\/p>\n<\/li>\n<li>\n<p>Redesigned sidebar helps reduce clutter and improve focus<\/p>\n<\/li>\n<li>\n<p>Presentation mode lets you present directly from Notion docs<\/p>\n<\/li>\n<li>\n<p>Tabs block makes organizing content cleaner and easier<\/p>\n<\/li>\n<li>\n<p>AI can now generate charts, slides, diagrams, and visuals right inside your workspace<\/p>\n<\/li>\n<li>\n<p>Archive pages improve search quality and AI responses<\/p>\n<\/li>\n<\/ul>\n<p><strong>What makes this different<\/strong>: Everything stays connected inside one workflow instead of switching between multiple tools for docs, dashboards, presentations, and AI creation.<\/p>\n<\/p>\n<p>P.S. I hunt the latest and greatest launches in tech, SaaS and AI, follow to be notified <strong>\u2192<\/strong> <a href=\"https:\/\/www.producthunt.com\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The dashboard view was the missing piece for Notion as a real ops tool. Curious how the AI chart generation handles ambiguous data \u2014 does it ask for clarification or just makes a call? That&#8217;s usually the UX challenge with AI-generated visuals<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The AI generating charts and diagrams is interesting! How does Notion&#8217;s AI handle data privacy \u2014 do the generated visuals stay local or get processed in the cloud?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/I5VUUCMKZ6ZLDB\" class=\"app-title\">AgentPeek<\/a><\/p>\n<div class=\"one-liner\">Claude Code and Codex in your Mac notch<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">133<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AgentPeek \u5c06 Claude Code \u548c Codex \u7b49 AI \u7f16\u7801\u4ee3\u7406\u7684\u8fd0\u884c\u72b6\u6001\uff08\u4f1a\u8bdd\u3001\u6743\u9650\u3001Token \u7528\u91cf\u3001\u672c\u5730\u5f00\u53d1\u670d\u52a1\u5668\uff09\u5b9e\u65f6\u6295\u5c04\u5230 Mac \u5218\u6d77\u533a\u57df\uff0c\u8ba9\u5f00\u53d1\u8005\u65e0\u9700\u9891\u7e41\u5207\u6362\u7ec8\u7aef\u7a97\u53e3\u5c31\u80fd\u76d1\u63a7\u591a\u4ee3\u7406\u884c\u4e3a\uff0c\u89e3\u51b3\u201c\u4ee3\u7406\u5931\u63a7\u201d\u548c\u201c\u6d41\u7a0b\u6253\u65ad\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/7af2990b-fe51-41b3-8ce7-3daac6fb5877.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/RFpGcSr8Wcs\"><source src=\"https:\/\/youtu.be\/RFpGcSr8Wcs\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1054319b-1f5c-4002-be25-b24784d056cd.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac \u5218\u6d77\u5c4f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI \u4ee3\u7406\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">Codex<\/span><br \/>\n            <span class=\"tag\">Token \u7528\u91cf\u8ddf\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f1a\u8bdd\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u7aef\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u591a\u4ee3\u7406\u5e76\u884c<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u53ef\u89c6\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u5218\u6d77\u201d\u521b\u610f\uff0c\u79f0\u5176\u8282\u7701\u5207\u6362\u65f6\u95f4\u3001\u4e0d\u6253\u65ad\u5de5\u4f5c\u6d41\u3002\u4e3b\u8981\u9700\u6c42\u5305\u62ec\uff1a\u652f\u6301\u591a\u4ee3\u7406\u5e76\u884c\uff08\u5df2\u652f\u6301\uff09\u3001\u914d\u5408 IDE \u5185\u7f6e\u7ec8\u7aef\uff08\u5df2\u652f\u6301\uff09\u3001\u8fd0\u884c\u63d0\u793a\u8f93\u5165\u3001\u540c\u6b65 iPhone \u53ca\u8fdc\u7a0b\u63a7\u5236\u80fd\u529b\uff1b\u53e6\u6709\u5173\u6ce8\u5386\u53f2\u4f1a\u8bdd\u548c\u8f93\u51fa\u6d41\u6280\u672f\u5b9e\u73b0\uff08\u57fa\u4e8e\u8f7b\u91cf\u94a9\u5b50\uff0c\u975e\u8f6e\u8be2\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                AgentPeek \u8e29\u4e2d\u4e86 AI \u7f16\u7a0b\u5de5\u5177\u7206\u53d1\u671f\u6700\u771f\u5b9e\u7684\u201c\u76d1\u63a7\u7126\u8651\u201d\u2014\u2014\u5f53\u5f00\u53d1\u8005\u540c\u65f6\u8fd0\u884c 3\u30014 \u4e2a Claude Code \u4ee3\u7406\u65f6\uff0c\u7ec8\u7aef\u7a97\u53e3\u6df7\u4e71\u3001Token \u8d39\u7528\u5931\u63a7\u3001\u4ee3\u7406\u6743\u9650\u8bf7\u6c42\u88ab\u5ffd\u7565\u7b49\u95ee\u9898\u4f1a\u8fc5\u901f\u6467\u6bc1\u5de5\u4f5c\u6d41\u3002\u8fd9\u6b3e\u4ea7\u54c1\u7ed9\u51fa\u7684\u89e3\u6cd5\u5f88\u5fae\u5999\uff1a\u5b83\u4e0d\u5f3a\u6c42\u201c\u518d\u505a\u4e00\u4e2a\u4ee3\u7406\u201d\uff0c\u800c\u662f\u9000\u540e\u4e00\u6b65\uff0c\u5728 Mac \u6700\u5bb9\u6613\u88ab\u5ffd\u89c6\u7684\u201c\u5218\u6d77\u201d\u4e0a\u5efa\u7acb\u63a7\u5236\u4e2d\u5fc3\u3002\u8fd9\u79cd\u5b9a\u4f4d\u6781\u4e3a\u806a\u660e\uff0c\u65e2\u907f\u5f00\u4e86\u4e0e Cursor\u3001Codex \u7b49\u5de5\u5177\u7684\u6b63\u9762\u7ade\u4e89\uff0c\u53c8\u6293\u4f4f\u4e86\u201c\u53ef\u7528\u6027\u9e3f\u6c9f\u201d\u2014\u2014AI \u4ee3\u7406\u672c\u8eab\u5c31\u5f88\u96be\u7528\uff0cAgentPeek \u8ba9\u5b83\u53d8\u5f97\u53ef\u89c2\u5bdf\u3001\u53ef\u7ba1\u7406\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u5f88\u5c16\u9510\uff1a\u8fd9\u4e2a\u521b\u610f\u7684\u62a4\u57ce\u6cb3\u6709\u591a\u6df1\uff1f\u672c\u8d28\u4e0a\u5b83\u662f\u4e00\u5957\u914d\u7f6e\u6587\u4ef6\u94a9\u5b50+\u72b6\u6001\u76d1\u542c\u5668\uff0c\u6280\u672f\u4e0a\u5e76\u975e\u4e0d\u53ef\u590d\u5236\u3002\u4e00\u65e6\u4e3b\u6d41 IDE \u6216 Claude \u5b98\u65b9\u81ea\u5e26\u7c7b\u4f3c\u9762\u677f\uff0cAgentPeek \u5c31\u53ef\u80fd\u5728\u4e00\u6b21\u66f4\u65b0\u4e2d\u88ab\u8fb9\u7f18\u5316\u3002\u66f4\u503c\u5f97\u8b66\u60d5\u7684\u662f\u201c\u5728\u5218\u6d77\u91cc\u8fd0\u884c\/\u63d0\u793a\u4ee3\u7406\u201d\u8fd9\u4e00\u91ce\u5fc3\u2014\u2014\u8fd9\u5b9e\u9645\u4e0a\u662f\u4ece\u76d1\u63a7\u5411\u63a7\u5236\u8dc3\u8fc1\uff0c\u6781\u6613\u9677\u5165\u201c\u529f\u80fd\u8513\u5ef6\u201d\uff1a\u65e2\u8981\u7ba1 Token\uff0c\u53c8\u8981\u7ba1\u8f93\u5165\uff0c\u8fd8\u8981\u7ba1\u591a\u8bbe\u5907\u540c\u6b65\u3002\u5982\u679c\u56e2\u961f\u4e0d\u80fd\u4fdd\u6301\u201c\u8f7b\u3001\u5c0f\u3001\u7cbe\u201d\u7684\u8282\u594f\uff0c\u6700\u7ec8\u4f1a\u6ca6\u4e3a\u53e6\u4e00\u4e2a\u81c3\u80bf\u7684\u5f00\u53d1\u8005\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u5218\u6d77\u7684\u521b\u610f\uff0c\u800c\u5728\u4e8e\u5b83\u4e3a AI \u4ee3\u7406\u7684\u201c\u9ed1\u7bb1\u201d\u95ee\u9898\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6781\u4f4e\u6469\u64e6\u7684\u89c2\u5bdf\u7a97\u53e3\u2014\u2014\u8ba9\u5f00\u53d1\u8005\u4e0d\u518d\u51ed\u7a7a\u76f8\u4fe1\u4ee3\u7406\u4f1a\u597d\u597d\u5e72\u6d3b\u3002\u4f46\u8981\u6d3b\u4e0b\u6765\uff0c\u5fc5\u987b\u6b7b\u5b88\u201c\u53ea\u505a\u76d1\u63a7\u5c42\uff0c\u4e0d\u505a\u63a7\u5236\u5c42\u201d\u7684\u8fb9\u754c\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">AgentPeek<\/span>\n                <\/div>\n<div class=\"comment-content\">Monitor Claude Code and Codex from the Mac notch. Sessions, permissions, token usage, and local dev servers. Session data stays local.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Cool idea! Does AgentPeek work when multiple Claude Code sessions run in parallel? How does the notch UI handle 3-4 concurrent agents?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@krwdko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krwdko<\/a> Yes it does! Any Claude Code and Codex session is tracked from any terminal type (Ghostty, tmux, iTerm, etc.) \ud83d\udc40<\/p>\n<\/p>\n<p>Have some specifics on the page &#8211; <a href=\"https:\/\/agentpeek.app\/docs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">agentpeek.app\/docs<\/a> &amp; <a href=\"https:\/\/agentpeek.app\/blog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">agentpeek.app\/blog<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@krwdko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krwdko<\/a>&nbsp;Been running 2 Claude Code sessions with it this week \u2014 handles them perfectly. No more switching between terminals, huge time saver.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Also working on running\/prompting all inside of the notch &#8211; no terminals required.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@brenhuber\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brenhuber<\/a>&nbsp;hey, this is a good idea, is there anyway i can reach out to you??<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@brenhuber\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brenhuber<\/a>&nbsp;this would be fire, especially if synced w iphone notch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is really cool! Does it work when coding in an IDE or only in terminal? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jordan_paya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jordan_paya<\/a>&nbsp;When using the built-in terminals inside of the IDE, yes! (Cursor, Antigravity, VS Code, etc.)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Having Claude Code visible in the notch is genius ergonomics. As a developer building FinTrackrr, I run Claude Code constantly and alt-tabbing breaks flow. The notch real estate on newer Macs is just wasted space \u2014 this is exactly what it should be used for. How are you handling the live output streaming, is it polling or does it use the CLI output directly?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asim_saeed1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asim_saeed1<\/a>&nbsp;Appreciate it very much! AgentPeek installs lightweight hooks into Claude Code (~\/.claude\/settings.json) and Codex (~\/.codex\/hooks.json) &#8211; streams from there.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice idea! I like that it gives visibility into coding agents instead of trying to be another agent. The most useful things for me would be: what\u2019s running, what changed and whether anything is still using tokens.<\/p>\n<\/p>\n<p>Do you plan to add history for completed sessions?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ihorperkovskyi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ihorperkovskyi<\/a>&nbsp;Thank you! On session completion you can view the full tool call history, diff counts, along with the agent&#8217;s final in-chat summary.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is awesome man, I gave you a follow on twitter and git. Love the work, would love to see it utilize tailscale and use my iphone notch for my mac running agents. That would really set this apart. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sarveshsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarveshsea<\/a>&nbsp;You&#8217;re awesome! Will look into remote control via iPhone capabilities \ud83d\udc40<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Notch placement is clever &#8211; keeps it out of your workflow without hiding it. Does AgentPeek handle multiple simultaneous Claude Code sessions, or is it scoped to one active session at a time? Running parallel agents is becoming pretty common.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@christian_knaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christian_knaut<\/a>&nbsp;Handles multiple simultaneous Claude Code and Codex sessions &#8211; no scope!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like that the session and token visibility is separated from the coding tool itself. For long-running agent work, the missing piece is usually &#8220;what is it doing right now and what did it ask permission for?&#8221;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/D2CFOVK7DPCEEE\" class=\"app-title\">LumiChats Offline(free)<\/a><\/p>\n<div class=\"one-liner\">Your AI, fully offline with Zero data collection &#038; 100% free<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">116<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>LumiChats Offline \u662f\u4e00\u6b3e\u5b8c\u5168\u79bb\u7ebf\u3001\u65e0\u9700GPU\u3001\u96f6\u6570\u636e\u6536\u96c6\u7684\u514d\u8d39\u5f00\u6e90\u684c\u9762AI\u5e94\u7528\uff0c\u8ba9\u7528\u6237\u5728\u5904\u7406\u654f\u611f\u4fe1\u606f\u6216\u6ce8\u91cd\u9690\u79c1\u65f6\uff0c\u65e0\u9700\u8054\u7f51\u5373\u53ef\u5728\u672c\u5730\u8fd0\u884c\u5927\u6a21\u578b\u5e76\u5bf9\u8bddPDF\u6587\u6863\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/70d674e2-4dbb-4667-9634-667d2822c23e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/daeb87bc-2a7c-4ddf-a5f9-566fbeae268a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/176c88de-f02f-4e20-90a6-67ec7e851ed2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/65fb5199-696d-4bf3-847d-b531b80f79b8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/066a4b44-3099-4108-94f8-7f37fa9e45dc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/11f6f7b4-a2ac-487f-8165-b1cb324fda12.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/df9fe6e1-dbda-4c94-8e35-013966235f24.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/6_mY02CoN00?si=_hwbh6nieDTGpVjR\"><source src=\"https:\/\/youtu.be\/6_mY02CoN00?si=_hwbh6nieDTGpVjR\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Privacy<\/span><br \/>\n            <span class=\"tag\">YC Application<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u79bb\u7ebfAI<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5927\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u95ee\u7b54<\/span><br \/>\n            <span class=\"tag\">\u65e0GPU<\/span><br \/>\n            <span class=\"tag\">GPT4All<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u5176\u79bb\u7ebf\u9690\u79c1\u7406\u5ff5\u7684\u7a00\u7f3a\u6027\uff0c\u4f46\u5173\u6ce8\u70b9\u5728\u4e8e\uff1a1. \u82f9\u679c\u82af\u7247\u4e0a\u7684\u6a21\u578b\u4e0b\u8f7d\u6d41\u7545\u6027\uff1b2. \u591a\u8bed\u8a00\u652f\u6301\u5728\u5c0f\u53c2\u6570\u6a21\u578b\u4e0b\u7684\u8868\u73b0\uff08\u5982\u975e\u82f1\u8bed\u4efb\u52a1\u8d28\u91cf\uff09\uff1b3. \u671f\u5f85LumiChats\u81ea\u7814\u5fae\u8c03\u6a21\u578b\u5728\u5c0f\u578b\u8bbe\u5907\u4e0a\u7684\u591a\u8bed\u8a00\u4f18\u5316\u8fdb\u5c55\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                LumiChats Offline \u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4f46\u5c34\u5c2c\u7684\u5e02\u573a\u7f1d\u9699\u2014\u2014\u201cAI\u9690\u79c1\u7126\u8651\u75c7\u201d\u3002\u5728ChatGPT\u3001Claude\u4eec\u75af\u72c2\u541e\u566c\u7528\u6237\u8f93\u5165\u6570\u636e\u7b51\u5899\u76c8\u5229\u65f6\uff0c\u4e00\u6b3e100%\u79bb\u7ebf\u3001\u96f6\u6536\u96c6\u3001\u8fdeGPU\u90fd\u4e0d\u8981\u6c42\u7684\u5de5\u5177\u786e\u5b9e\u50cf\u4e00\u80a1\u6e05\u6d41\u3002\u521b\u59cb\u4eba\u5bf9\u201c\u6bcf\u4e2a\u5b57\u7b26\u90fd\u53d1\u5f80\u4e0d\u53d7\u63a7\u670d\u52a1\u5668\u201d\u7684\u75db\u70b9\u63cf\u8ff0\uff0c\u7cbe\u51c6\u51fb\u4e2d\u4e86\u4f01\u4e1a\u5408\u89c4\u3001\u79d1\u7814\u4fdd\u5bc6\u3001\u751a\u81f3\u666e\u901a\u4eba\u5bf9\u6570\u636e\u6ee5\u7528\u7684\u672c\u80fd\u53cd\u611f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u770b\uff0c\u5176\u4ef7\u503c\u5e76\u975e\u201c\u6280\u672f\u7a81\u7834\u201d\uff0c\u800c\u662f\u201c\u573a\u666f\u586b\u7a7a\u201d\u3002\u4f9d\u8d56GPT4All\u751f\u6001\u610f\u5473\u7740\u6a21\u578b\u80fd\u529b\u4e0a\u9650\u53d7\u9650\u4e8e\u5f00\u6e90\u5c0f\u6a21\u578b\uff0c\u4e14\u8bc4\u8bba\u4e2d\u7528\u6237\u6307\u51fa\u7684\u201c\u591a\u8bed\u8a00\u77ed\u677f\u201d\u548c\u201c\u82f9\u679c\u82af\u7247\u9002\u914d\u7ec6\u8282\u201d\u76f4\u6307\u8f6f\u808b\u2014\u2014\u79bb\u7ebfAI\u82e5\u8981\u53d6\u4ee3\u4e91\u7aef\u4f53\u9a8c\uff0c\u6a21\u578b\u8d28\u91cf\u3001\u90e8\u7f72\u6d41\u7545\u5ea6\u3001\u8de8\u8bed\u8a00\u652f\u6301\u7b49\u57fa\u7840\u80fd\u529b\u7f3a\u4e00\u4e0d\u53ef\u3002\u76ee\u524dLumiChats\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u5728\u4e8e\u201c\u9690\u79c1\u786e\u5b9a\u6027\u201d\uff0c\u800c\u975eAI\u8868\u73b0\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672a\u6765\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\uff1a\u5f53\u672c\u5730\u6a21\u578b\u80fd\u529b\u4e0e\u4e91\u7aef\u9e3f\u6c9f\u8fc7\u5927\u65f6\uff0c\u7528\u6237\u662f\u5426\u613f\u610f\u4e3a\u9690\u79c1\u727a\u7272\u4f53\u9a8c\uff1f\u521b\u59cb\u56e2\u961f\u5df2\u900f\u9732\u5c06\u6784\u5efaCLI\u751f\u6001\u548c\u6df7\u5408\u6a21\u5f0f\uff0c\u8fd9\u6216\u8bb8\u624d\u662f\u6b63\u786e\u7684\u7834\u5c40\u65b9\u5411\u2014\u2014\u4e0d\u505a\u5168\u76d8\u66ff\u4ee3\uff0c\u800c\u662f\u5c06\u79bb\u7ebf\u4f5c\u4e3a\u5b89\u5168\u5e95\u5ea7\uff0c\u540c\u65f6\u5f00\u653e\u53ef\u9009\u7684\u5728\u7ebf\u589e\u5f3a\u6e20\u9053\u3002\u5426\u5219\uff0c\u8fd9\u573a\u201c\u9690\u79c1\u72c2\u6b22\u201d\u5f88\u5feb\u4f1a\u78b0\u4e0a\u5929\u82b1\u677f\u3002\u5f00\u6e90\u56fa\u7136\u503c\u5f97\u8d5e\u8d4f\uff0c\u4f46\u82e5\u65e0\u6cd5\u5728\u6a21\u578b\u5fae\u8c03\u8d28\u91cf\u548c\u591a\u8bed\u8a00\u573a\u666f\u4e0a\u62ff\u51fa\u5b9e\u6253\u5b9e\u7684\u6539\u8fdb\uff0cLumiChats\u6700\u7ec8\u53ea\u80fd\u6210\u4e3a\u6781\u5ba2\u73a9\u5177\uff0c\u800c\u975e\u5927\u4f17\u7ea7\u751f\u4ea7\u529b\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">LumiChats Offline(free)<\/span>\n                <\/div>\n<div class=\"comment-content\">Run powerful AI models entirely offline no internet, no GPU, no cloud. LumiChats Offline is a free, open-source desktop app built on GPT4All with full privacy by default. Supports Mistral, LLaMA, Qwen, DeepSeek and our own fine-tuned LumiChats models. Chat with your own PDFs and docs via LocalDocs. Works on Windows, Linux and macOS.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b I&#8217;m Aditya, the maker of LumiChats Offline.<\/p>\n<p>I built this after realising something uncomfortable: every AI tool we use  ChatGPT, Claude, Gemini  sends every word you type to a server you don&#8217;t control. For students studying sensitive topics, professionals working with confidential data, or anyone who simply values privacy, that&#8217;s a real problem.<br \/>\nLumiChats Offline runs entirely on your machine. No internet after the first model download. No GPU needed. Your conversations never leave your device  ever. And it&#8217;s completely free and open source.<br \/>\nWe&#8217;ve also released our own fine-tuned models on Hugging Face  4B, 7B, 11B Vision, a Coder model, and TTS \u2014 all free for anyone to use.<br \/>\nWhat would you want most from a private offline AI? Drop it below  genuinely building this for you. \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aditya_kumar_jha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aditya_kumar_jha1<\/a>&nbsp;Tired it out ..it&#8217;s really good&#8230;and simple to use<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aditya_kumar_jha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aditya_kumar_jha1<\/a>&nbsp; Nice, offline-first AI without data collection is a breath of fresh air. How does it handle model downloads on Apple Silicon?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. Clear direction: private, offline AI that actually works.<\/p>\n<p>Hard to execute well. Curious how far you push it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;Thanks Thami, really appreciate that. \ud83d\ude4c<br \/>We\u2019re pushing this way beyond just a desktop chat app. Right now we\u2019re building a complete CLI ecosystem that can work both fully offline and hybrid online\/offline depending on what the user wants.<\/p>\n<p>A lot more updates are coming soon  better local agents, developer workflows, automation, lightweight deployments, and deeper privacy-first tooling. Still very early, but the vision is big. Stay tuned <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s super cool Aditya! Wish you all the best on this impressive launch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank you so much Germ\u00e1n \ud83d\ude4c Really appreciate the support and kind words.<\/p>\n<p>We\u2019re still very early, but we\u2019re building this with a big vision around private, accessible, fully local AI for everyone. A lot more exciting updates are coming soon <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Privacy-first AI is criminally undervalued right now. The framing about every typed word going to a server you don&#8217;t control is the cleanest articulation of what makes cloud AI feel off, especially as data accumulates over years.<\/p>\n<p>Building Fenly (AI translation extension) with a similar local-first stance on history. The thing I&#8217;d love to see in local AI: serious multilingual support that doesn&#8217;t degrade to English-or-nothing at smaller model sizes. Translation work needs decent quality across language pairs, and most local LLMs trip on non-English performance below 7B parameters. Curious if your fine-tuned models hold up multilingually or are English-primary.<\/p>\n<p>Strong launch. The OSS angle matters because users can verify the privacy claims, not just trust them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nazarenko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nazarenko<\/a>&nbsp;This is such a good point, especially the \u201cEnglish or nothing\u201d problem. Most smaller local models still struggle once you move beyond mainstream English tasks, and translation quality drops fast across real world multilingual conversations.<\/p>\n<p>We\u2019re actively working on improving multilingual performance in our fine tuned models because privacy first AI should not be limited to English users only. A big focus for us is making smaller models more usable across diverse languages without needing huge hardware.<\/p>\n<p>And completely agree on OSS. Privacy claims mean much more when people can actually inspect and verify what the software is doing instead of just trusting a company\u2019s wording.<\/p>\n<p>Fenly sounds really interesting too \ud83d\udc40 Local first translation is a space that deserves way more attention right now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#8<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/MHKCZ5OJ47MKOE\" class=\"app-title\">Keel<\/a><\/p>\n<div class=\"one-liner\">An AI assistant whose memory belongs to you<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">115<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Keel\u662f\u4e00\u6b3e\u672c\u5730\u4f18\u5148\u7684\u684c\u9762AI\u52a9\u624b\uff0c\u901a\u8fc7\u5c06\u5bf9\u8bdd\u8bb0\u5fc6\u4ee5\u7eaf\u6587\u672cMarkdown\u6587\u4ef6\u5b58\u50a8\u4e8e\u7528\u6237\u672c\u5730\u78c1\u76d8\uff0c\u89e3\u51b3\u7528\u6237AI\u5de5\u5177\u5207\u6362\u65f6\u4e0a\u4e0b\u6587\u6570\u636e\u88ab\u5382\u5546\u9501\u5b9a\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b4f6f99c-a0f3-4a29-85b2-1192d82a02b1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ea44da0-d51a-434a-b1e7-db50c1416b45.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/edffcc6b-46eb-4551-b6c0-076b8ec82bea.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d6e9d2d1-f72a-4ba4-964a-d151461bc6d3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6ab437d9-ede9-4ddd-a0ee-b8de95697f5a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/92e591b7-8928-4523-884c-6495b421690f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/95fd3665-6aaa-4bd1-bc8f-f7ad3b371961.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4a8df8f9-264f-47a6-be70-9129ce7d9ff6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/50de524f-b2a4-4cea-ab5f-f6b65e8de02c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/296afd1e-48ec-4efe-ad88-6a9e47eb6376.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/64307340-c3e2-498b-9f36-ac2458a13e0a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c529cf03-6730-4c06-985a-8a1d8bd6ae94.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9144f7bc-8ddf-48ce-99d3-d58e656d0cbf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/06cfb898-e833-488e-8a73-32be8308e395.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Virtual Assistants<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">Markdown\u5b58\u50a8<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u4e3b\u6743<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u578b\u5207\u6362<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5185\u5b58\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u6570\u636e\u63a7\u5236\u6743\uff0c\u8d5e\u8d4fMarkdown\u672c\u5730\u5b58\u50a8\u6a21\u5f0f\u3002\u6838\u5fc3\u5efa\u8bae\u5305\u62ec\uff1a\u9700\u8981\u66f4\u7ec6\u7c92\u5ea6\u7684\u8bb0\u5fc6\u7f16\u8f91\/\u5220\u9664UI\uff0c\u800c\u975e\u4ec5\u9760\u64cd\u4f5c\u6587\u4ef6\uff1b\u8de8\u6a21\u578b\u5207\u6362\u65f6Claude\u7684\u601d\u7ef4\u94fe\u65e0\u6cd5\u4f20\u9012\u7ed9\u5176\u4ed6\u6a21\u578b\uff1b\u671f\u5f85\u5185\u7f6e\u77e5\u8bc6\u6d4f\u89c8\u5668\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Keel\u7684\u201c\u672c\u5730Markdown\u5b58\u50a8\u201d\u662f\u4e00\u628a\u53cc\u5203\u5251\u3002\u4ece\u9690\u79c1\u89d2\u5ea6\u770b\uff0c\u5b83\u786e\u5b9e\u5c06\u6570\u636e\u4e3b\u6743\u8fd8\u7ed9\u4e86\u7528\u6237\u2014\u2014\u4f60\u7684\u804a\u5929\u8bb0\u5f55\u3001\u9879\u76ee\u4e0a\u4e0b\u6587\u4e0d\u518d\u88abOpenAI\u6216Anthropic\u7684\u6570\u636e\u5e93\u7ed1\u67b6\uff0c\u4efb\u4f55\u7f16\u8f91\u5668\u90fd\u80fd\u76f4\u63a5\u7ffb\u9605\u3002\u4f46\u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u672c\u5730\u5316\u201d\uff0c\u800c\u662f\u201c\u6a21\u578b\u65e0\u5173\u7684\u4e0a\u4e0b\u6587\u6301\u4e45\u5316\u201d\uff1a\u5f53\u4f60\u4eceClaude\u5207\u6362\u5230Ollama\u65f6\uff0c\u5bf9\u8bdd\u5386\u53f2\u80fd\u65e0\u635f\u8f6c\u79fb\uff0c\u8fd9\u610f\u5473\u7740Keel\u672c\u8d28\u4e0a\u6210\u4e3a\u4e86AI\u6a21\u578b\u7684\u201c\u8bb0\u5fc6\u5c42\u201d\uff0c\u5265\u79bb\u4e86\u6a21\u578b\u4e0e\u6570\u636e\u7684\u5f3a\u8026\u5408\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u79cd\u8bbe\u8ba1\u4e5f\u66b4\u9732\u4e86\u6838\u5fc3\u77ed\u677f\uff1a\u5b83\u5b8c\u7f8e\u9002\u914d\u7684\u662f\u201cAI\u91cd\u5ea6\u4f7f\u7528\u8005\u201d\u2014\u2014\u90a3\u4e9b\u77e5\u9053\u600e\u4e48\u7f16\u8f91Markdown\u3001\u6562\u7528\/rereset\u547d\u4ee4\u3001\u7406\u89e3RAG\u539f\u7406\u7684\u6781\u5ba2\u3002\u4f46\u666e\u901a\u7528\u6237\u9762\u5bf9\u201c\u9700\u8981\u6253\u5f00\u6587\u4ef6\u7ba1\u7406\u5668\u5220\u9664\u8bb0\u5fc6\u201d\u7684\u4f53\u9a8c\uff0c\u6050\u6015\u4f1a\u529d\u9000\u3002\u8bc4\u8bba\u4e2d\u591a\u6b21\u63d0\u5230\u201c\u5e0c\u671b\u6709UI\u6765\u6d4f\u89c8\u548c\u7f16\u8f91\u8bb0\u5fc6\u201d\uff0c\u6b63\u8bf4\u660e\u4ea7\u54c1\u5728\u4ea4\u4e92\u8bbe\u8ba1\u4e0a\u5c1a\u672a\u5b8c\u6210\u4ece\u201c\u5f00\u53d1\u8005\u5de5\u5177\u201d\u5230\u201c\u6d88\u8d39\u7ea7\u4ea7\u54c1\u201d\u7684\u60ca\u9669\u4e00\u8dc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u5173\u952e\u7684\u662f\uff0cKeel\u76ee\u524d\u7f3a\u4e4f\u4e91\u540c\u6b65\u80fd\u529b\uff0c\u8fd9\u5bf9\u8de8\u8bbe\u5907\u7528\u6237\u662f\u4e2a\u786c\u4f24\u3002\u800c\u5b83\u4f9d\u8d56\u7684\u201c\u4fe1\u4ee4\u5c42\u201d\uff08\u624b\u52a8\u5207\u6362API Key\uff09\u867d\u7136\u7075\u6d3b\uff0c\u5374\u53ef\u80fd\u589e\u52a0\u7528\u6237\u7684\u64cd\u4f5c\u95e8\u69db\u3002\u4f5c\u4e3a\u4e00\u6b3ev1 Beta\uff0c\u5176\u65b9\u5411\u6b63\u786e\u2014\u2014\u6570\u636e\u6240\u6709\u6743\u6bd4\u6a21\u578b\u80fd\u529b\u66f4\u7a00\u7f3a\uff0c\u4f46\u82e5\u4e0d\u80fd\u8fc5\u901f\u8865\u4e0a\u6613\u7528\u6027\u77ed\u677f\uff0c\u5b83\u5f88\u53ef\u80fd\u53ea\u505c\u7559\u5728\u201c\u7406\u60f3\u4e3b\u4e49\u8005\u7684\u73a9\u5177\u201d\u9636\u6bb5\u3002\u6bd5\u7adf\uff0c\u771f\u6b63\u7684\u7528\u6237\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u5982\u4f55\u5148\u8fdb\uff0c\u800c\u5728\u4e8e\u8ba9\u666e\u901a\u4eba\u65e0\u75db\u5730\u62e5\u6709\u81ea\u5df1\u7684AI\u8bb0\u5fc6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Keel<\/span>\n                <\/div>\n<div class=\"comment-content\">Keel is a local-first desktop app for macOS and Windows that captures what matters from your conversations into plain markdown files on your disk. Bring your own model &#8211; Claude, GPT, OpenRouter, or Ollama. Your context stays with you, not the vendor. Open source, MIT. https:\/\/keel-labs.github.io\/<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built Keel because every AI tool I tried had the same problem: my context lived inside someone else&#8217;s product. The notes, the history, the slowly-built understanding of my projects &#8211; all trapped behind one vendor&#8217;s login. The day that model gets deprecated or that company changes direction, my brain goes with it.<\/p>\n<p>Keel flips that. Your memories live on your disk, in plain markdown, in a folder you own. You can open them in any editor, back them up, version-control them, move them between machines. The model is the part that&#8217;s interchangeable &#8211; Claude today, GPT tomorrow, a local Llama on a flight. The assistant changes; your context doesn&#8217;t.<\/p>\n<p>A few things worth knowing:<\/p>\n<p>It&#8217;s a real desktop app for Mac and Windows (Electron + React + TypeScript).<br \/>Bring your own API key. No telemetry. No account. No cloud sync (yet).<br \/>It&#8217;s a v1 beta &#8211; Apple Silicon only, no Windows\/Linux yet, no mobile.<br \/>It&#8217;s a one-person project. I&#8217;ll read every comment here today; I can&#8217;t promise to build every feature (yet).<\/p>\n<p>Would love your feedback. Thanks for taking a look.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Medha \u2014 &#8216;the day the model gets deprecated, my brain goes with it&#8217; should be on the homepage. As a fellow solo founder, looking forward to the Windows build.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tsutsu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tsutsu<\/a>&nbsp;Thanks for the feedback! Windows build is ready as of last night. Excited to connect with another solo builder!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The markdown-on-disk approach is underrated. Most &#8220;local AI&#8221; tools still phone home for context storage, which defeats the point. One thing I&#8217;m curious about: how does Keel handle memory across different models? If I switch from Claude to Ollama mid-project, does the context transfer cleanly or do you lose the thread?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@christian_knaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christian_knaut<\/a>&nbsp;Yeah, the markdown-on-disk thing was the one of the main reasons of building this &#8211; your context stays on your device.<\/p>\n<p>On switching mid-project: the conversation should transfer cleanly. Chat history is stored provider-agnostically (SQLite under your workspace), and on each turn it&#8217;s reformatted for whichever provider is active &#8211; Claude, OpenAI, or Ollama. So you can answer a turn with Claude, switch to a local Llama via Ollama for the next one, and the model sees the full prior thread.<\/p>\n<p>Two honest caveats:<\/p>\n<ol>\n<li>\n<p>Claude&#8217;s &#8220;thinking&#8221; blocks don&#8217;t persist \u2014 they&#8217;re rendered live in the UI but not saved, so a different model won&#8217;t see them. The final answers do carry over.<\/p>\n<\/li>\n<li>\n<p>Tool definitions are re-adapted per provider, so a tool call made by Claude becomes plain message history for Ollama (which may not have the same tool wired up).<\/p>\n<\/li>\n<\/ol>\n<p>Beyond the chat thread itself there&#8217;s also a workspace-wide layer &#8211; your markdown files are embedded and pulled in via RAG, and Keel auto-extracts durable facts into a <a href=\"http:\/\/keel.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">keel.md<\/a> memory file after each chat. That part is model-independent, so it follows you across providers too.<\/p>\n<p>tl;dr: switch freely, the thread should stay intact; but Claude&#8217;s chain-of-thought port over to another model.<br \/>Caveat: It&#8217;s still in beta, so there may be a few rough edges. If you try it, let me know if it didn&#8217;t work as expected. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Memory that belongs to the user is a great trust signal \u2014 most AI tools make it feel like the data is theirs, not yours. How granular is the control? Can users edit or delete specific memories, or is it all-or-nothing? Curious how you&#8217;ve approached that UX<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@soygus\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@soygus<\/a>&nbsp;Great question, and the answer has two parts &#8211; what the design gives you for free, and what&#8217;s still rough.<\/p>\n<ul>\n<li>\n<p><strong>What works today:<\/strong> every memory lives as plain markdown in your workspace &#8211; <a href=\"http:\/\/keel.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">keel.md<\/a> for the profile\/projects\/people\/conventions, <a href=\"http:\/\/tasks.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">tasks.md<\/a> for tasks. So &#8220;edit a memory&#8221; = open the file in any editor and change a line. &#8220;Delete a memory&#8221; = delete the line. After every chat, Keel posts an inline system message saying what it added (e.g. &#8220;Updated profile \u00b7 Noted 2 projects \u00b7 Saved 3 tasks&#8221;) so you&#8217;re up to date on what got written.<\/p>\n<\/li>\n<li>\n<p><strong>What&#8217;s still rough:<\/strong> there&#8217;s no in-app UI for browsing or deleting individual memories yet &#8211; the &#8220;edit the markdown file&#8221; workflow is great for power users but I know it&#8217;s not great for someone who just wants a checkbox-list of &#8220;things Keel thinks it knows about me.&#8221; A \/reset command exists for nuke-everything, but nothing in between. Per-memory edit\/delete in the UI is on the near-term list.<\/p>\n<\/li>\n<\/ul>\n<p>The principle I&#8217;m trying to hold: your memory is a <em>file you own<\/em>, not a <em>record in a vendor&#8217;s database<\/em>. The UX has to catch up to that  &#8211; the data model is already the right shape.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">@medhaforcebewithyou congrats for the launch l \ud83d\ude80<br \/>\nAs a user, where can I actually see what the assistant remembers about me, and can I delete things if I want to?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@francesco2689\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@francesco2689<\/a>&nbsp;when you set up Keel, you have to pick a folder on your computer &#8211; that is the folder where all the content and context gets saved. You can browse them directly via your file browser and make edits \/ use a text editor of your choice. I have a commit coming soon that lets you browse and edit within Keel itself, using a knowledge browser. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/NZGPCARJWWNJPX\" class=\"app-title\">Better Sol<\/a><\/p>\n<div class=\"one-liner\">Develop Solana applications end-to-end using TypeScript<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">56<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Better Sol\u901a\u8fc7\u7eafTypeScript\u4e00\u7ad9\u5f0f\u5f00\u53d1Solana\u94fe\u4e0a\u7a0b\u5e8f\uff0c\u6d88\u9664\u4e86IDL\u751f\u6210\u3001\u5ba2\u6237\u7aef\u540c\u6b65\u548c\u8bed\u8a00\u5207\u6362\u7684\u7e41\u7410\uff0c\u8ba9\u5f00\u53d1\u8005\u53ea\u9700\u4e00\u4e2a\u6587\u4ef6\u5373\u53ef\u7aef\u5230\u7aef\u5b8c\u6210\u7f16\u7801\u3001\u90e8\u7f72\u548c\u8c03\u7528\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/73fdceae-a50b-42c1-9aee-fd6d7644425e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5d95b8a4-c668-4175-80ad-6af5863695d8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/57a7e639-7f90-4f0d-a8ed-7914f021736d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Web3<\/span><br \/>\n            <span class=\"tag\">Blockchain<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Solana\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">TypeScript<\/span><br \/>\n            <span class=\"tag\">\u65e0\u6837\u677f\u4ee3\u7801<\/span><br \/>\n            <span class=\"tag\">\u5168\u6808\u6846\u67b6<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u4f53\u9a8c<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5408\u7ea6<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5ba2\u6237\u7aef<\/span><br \/>\n            <span class=\"tag\">\u90e8\u7f72\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u94fe\u4e0a\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">DX\u4f18\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005\u53cd\u9988\u79ef\u6781\uff0c\u8ba4\u4e3a\u6d88\u9664\u4e86IDL\u548c\u540c\u6b65\u526f\u4f5c\u7528\u662f\u521a\u9700\u3002\u4e3b\u8981\u5173\u6ce8\u70b9\u5728\u4e8e\u65e9\u671f\u7a33\u5b9a\u6027\u3001\u4e0e\u73b0\u6709Anchor\/Seahorse\u751f\u6001\u7684\u517c\u5bb9\u6027\uff0c\u4ee5\u53ca\u590d\u6742\u5408\u7ea6\u573a\u666f\u4e0b\u7684\u96f6\u4ee3\u7801\u751f\u6210\u662f\u5426\u771f\u80fd\u8986\u76d6\u5168\u90e8\u9700\u6c42\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Better Sol\u7684\u8d70\u7ea2\u5e76\u975e\u5076\u7136\u2014\u2014\u5b83\u7cbe\u51c6\u5730\u547d\u4e2d\u4e86Solana\u5f00\u53d1\u8005\u793e\u533a\u7684\u201c\u6697\u4f24\u201d\u3002\u4f20\u7edfSolana\u5f00\u53d1\u4e2d\uff0cRust + Anchor + IDL + TS Client\u7684\u591a\u8bed\u8a00\u3001\u591a\u5de5\u5177\u94fe\u534f\u4f5c\uff0c\u672c\u8d28\u4e0a\u662f\u7528\u67b6\u6784\u590d\u6742\u5ea6\u6362\u53d6\u6027\u80fd\u4e0a\u9650\u7684\u65e0\u5948\u4e4b\u4e3e\u3002Better Sol\u7684\u6fc0\u8fdb\u5728\u4e8e\uff0c\u5b83\u76f4\u63a5\u780d\u6389\u4e86IDL\u548c\u4ee3\u7801\u751f\u6210\u8fd9\u4e24\u5c42\u201c\u80f6\u6c34\u201d\uff0c\u7528\u7eafTypeScript\u56de\u6eaf\u5e76\u91cd\u65b0\u5b9a\u4e49\u7a0b\u5e8f\u4e0e\u5ba2\u6237\u7aef\u7684\u5173\u7cfb\u3002\u8fd9\u4e0d\u4ec5\u662f\u8bed\u6cd5\u7cd6\uff0c\u66f4\u662f\u5bf9\u201c\u7c7b\u578b\u5373\u6587\u6863\u201d\u548c\u201c\u5355\u6e90\u771f\u7406\u201d\u7406\u5ff5\u7684\u8d2f\u5f7b\u2014\u2014\u4e00\u4e2a.ts\u6587\u4ef6\u65e2\u662f\u7a0b\u5e8f\u53c8\u662f\u5b8c\u6574\u7c7b\u578b\u5316\u7684SDK\uff0c\u81ea\u52a8\u8865\u5168\u548c\u96f6\u540c\u6b65\u627f\u8bfa\uff0c\u5bf9\u4e2d\u5c0f\u578b\u5e94\u7528\u548c\u5feb\u901f\u539f\u578b\u9a8c\u8bc1\u6709\u7740\u6781\u5f3a\u7684\u5438\u5f15\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u201c\u5355\u4e00\u8bed\u8a00\u201d\u662f\u4e00\u628a\u53cc\u5203\u5251\u3002TypeScript\u5728\u94fe\u4e0a\u5408\u7ea6\u4e2d\u7684\u6267\u884c\u6548\u7387\u3001Gas\u6d88\u8017\uff0c\u4ee5\u53ca\u9762\u5bf9\u9ad8\u5e76\u53d1\u3001\u72b6\u6001\u5bc6\u96c6\u578b\u573a\u666f\uff08\u5982\u8ba2\u5355\u7c3f\u3001AMM\uff09\u65f6\u7684\u8868\u73b0\uff0c\u4ecd\u9700\u8981\u7ecf\u8fc7\u4e25\u82db\u7684\u57fa\u51c6\u6d4b\u8bd5\u3002\u73b0\u9636\u6bb5\u5b83\u66f4\u9002\u5408\u5feb\u901f\u8fed\u4ee3\u7684DApp\u811a\u624b\u67b6\u548c\u8f7b\u91cf\u7ea7\u5408\u7ea6\uff0c\u82e5\u60f3\u53d6\u4ee3Rust\/Anchor\u5728\u6838\u5fc3DeFi\u534f\u8bae\u4e2d\u7684\u5730\u4f4d\uff0c\u8fd8\u9700\u8981\u5728\u7f16\u8bd1\u5668\u4f18\u5316\u3001\u5b89\u5168\u5ba1\u8ba1\u5de5\u5177\u548c\u751f\u6001\u6807\u51c6\uff08\u5982SPL Token\u7684\u5b8c\u5168\u652f\u6301\uff09\u4e0a\u8865\u8db3\u529f\u8bfe\u3002\u5bf9\u4e8e\u8ffd\u6c42\u201c\u5feb\u901f\u9a8c\u8bc1+\u4f18\u96c5DX\u201d\u7684\u72ec\u7acb\u5f00\u53d1\u8005\uff0cBetter Sol\u63d0\u4f9b\u4e86\u76ee\u524d\u6700\u4e1d\u6ed1\u7684Solana\u5165\u95e8\u4f53\u9a8c\uff1b\u4f46\u5bf9\u4e13\u4e1a\u56e2\u961f\u800c\u8a00\uff0c\u5b83\u66f4\u5e94\u88ab\u89c6\u4e3a\u201c\u539f\u578b\u52a0\u901f\u5668\u201d\uff0c\u800c\u975e\u751f\u4ea7\u73af\u5883\u7684\u7ec8\u6781\u7b54\u6848\u3002\u5176\u957f\u671f\u4ef7\u503c\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u5c06TypeScript\u7684\u4fbf\u5229\u6027\u8f6c\u5316\u4e3a\u8db3\u591f\u7684\u94fe\u4e0a\u6548\u7387\uff0c\u5e76\u5efa\u7acb\u8d77\u4e0eSolana\u539f\u751f\u751f\u6001\u65e0\u7f1d\u517c\u5bb9\u7684\u6865\u63a5\u5c42\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Better Sol<\/span>\n                <\/div>\n<div class=\"comment-content\">Better Sol lets you write Solana programs entirely in TypeScript with zero boilerplate. One file defines your program and automatically becomes a fully typed client, so there&#8217;s no IDL, no code generation, and nothing to keep in sync. Deploy with a single command, get autocomplete for every instruction and account field, built-in token operations, and composable transactions out of the box. No language switching, no manual codec, no local toolchain setup.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone! \ud83d\udc4b <\/p>\n<p>We built Better Sol because we were tired of the constant context switching when building on Solana. Write a program, generate an IDL, build a client, keep them in sync, repeat every time something changes. It felt wrong. <\/p>\n<p>So we made it so you only write TypeScript. One file defines your program, and that same file gives you a fully typed client with autocomplete, account fetching, token operations, and composable transactions. No IDL, no codegen, no sync headaches. <\/p>\n<p>We&#8217;re still early and would love your feedback. If you build on Solana, try it out and let us know what hurts. We&#8217;re here all day to answer questions. <\/p>\n<p>Happy to chat about anything \u2014 DX, architecture decisions, what&#8217;s coming next, or just Solana in general. \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BQ3F4BEXN574E3\" class=\"app-title\">ReelFluent Web<\/a><\/p>\n<div class=\"one-liner\">Reels, but for language learning<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">15<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ReelFluent \u5c06\u5237\u77ed\u5267\u7684\u5a31\u4e50\u4f53\u9a8c\u8f6c\u5316\u4e3a\u8bed\u8a00\u5b66\u4e60\u573a\u666f\uff0c\u901a\u8fc7\u70b9\u51fb\u7ffb\u8bd1\u5b57\u5e55\u3001AI\u8f85\u52a9\u548c\u573a\u666f\u5185\u4e92\u52a8\u7ec3\u4e60\uff0c\u89e3\u51b3\u7528\u6237\u5728\u4f20\u7edf\u5b66\u4e60\u5de5\u5177\u4e2d\u7f3a\u4e4f\u60c5\u611f\u8fde\u63a5\u4e0e\u771f\u5b9e\u8bed\u5883\u3001\u5b66\u4e86\u5374\u4e0d\u4f1a\u7528\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b4c74b29-5f3f-4279-bcc7-55407bd82476.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2b00bf33-3466-46b1-a7a5-09b62e088c0f.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7da1b43f-377d-457b-8b18-9cca85ea8380.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ec318a3c-9885-4083-aa79-4aac615f2f97.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7b7c3663-2adf-43d8-9cfa-ba2f009b5767.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/88b66bb1-d6f0-4154-8b74-a72fcd4765ce.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c1f25e9c-3997-484c-becb-9fa1f8a7d918.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fa5859e6-c1fc-4847-9117-e4fd9753f4a1.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/2ba8ea16-96f2-47fe-9d38-9030c26544a4.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Y3cCoMSAHQc?si=9Q6v3l9dBT25dxEd\"><source src=\"https:\/\/youtu.be\/Y3cCoMSAHQc?si=9Q6v3l9dBT25dxEd\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">Languages<\/span><br \/>\n            <span class=\"tag\">Entertainment<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u8a00\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">AI\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6c89\u6d78\u5f0f\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u573a\u666f\u5f0f\u6559\u5b66<\/span><br \/>\n            <span class=\"tag\">\u4e92\u52a8\u7ec3\u4e60<\/span><br \/>\n            <span class=\"tag\">\u77ed\u5267<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">EdTech<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u79cd\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">Product Hunt<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u6620\u88ab\u5fae\u578b\u5267\u7684\u8da3\u5473\u6027\u5438\u5f15\u800c\u6c89\u8ff7\u5b66\u4e60\uff0c\u8ba4\u4e3a\u8fd9\u662f\u5b66\u4e60\u8bed\u8a00\u7684\u7406\u60f3\u65b9\u5f0f\uff0c\u671f\u5f85\u4e2d\u6587\u7b49\u66f4\u591a\u76ee\u6807\u8bed\u8a00\u4e0a\u7ebf\u3002\u4e5f\u6709\u7528\u6237\u5bf9Duolingo\u6548\u679c\u5931\u671b\uff0c\u5e0c\u671bReelFluent\u80fd\u63d0\u4f9b\u66f4\u597d\u7684\u897f\u73ed\u7259\u8bed\u5b66\u4e60\u4f53\u9a8c\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ReelFluent\u5728\u4ea7\u54c1\u7406\u5ff5\u4e0a\u786e\u5b9e\u627e\u5230\u4e86\u4e00\u4e2a\u88abDuolingo\u7b49\u4e3b\u6d41\u5e94\u7528\u957f\u671f\u5ffd\u89c6\u7684\u89d2\u843d\u2014\u2014\u60c5\u611f\u8bb0\u5fc6\u4e0e\u771f\u5b9e\u8bed\u5883\u7684\u8026\u5408\u3002\u521b\u59cb\u4eba\u4ece\u81ea\u8eab\u591a\u8bed\u8a00\u5b66\u4e60\u7684\u75db\u70b9\u51fa\u53d1\uff0c\u6307\u51fa\u201cThe bear drinks milk\u201d\u5f0f\u8131\u79bb\u751f\u6d3b\u7684\u6559\u5b66\u6beb\u65e0\u610f\u4e49\uff0c\u8f6c\u800c\u7528\u5fae\u578b\u77ed\u5267\u7684\u620f\u5267\u51b2\u7a81\u3001\u60c5\u7eea\u5f20\u529b\u4f5c\u4e3a\u8bed\u8a00\u951a\u70b9\uff0c\u8fd9\u4e2a\u5207\u5165\u70b9\u7cbe\u51c6\u4e14\u5bcc\u6709\u6d1e\u5bdf\u529b\u3002\u8ba9\u5b66\u4e60\u8005\u901a\u8fc7\u201c\u70b9\u51fb\u7ffb\u8bd1\u201d\u3001\u201c\u8ddf\u8bfb\u201d\u3001\u201c\u6392\u5e8f\u201d\u7b49\u4e92\u52a8\u5728\u5267\u60c5\u4e2d\u7ec3\u4e60\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u7528\u5a31\u4e50\u6027\u7834\u89e3\u8bed\u8a00\u5b66\u4e60\u4e2d\u6700\u5927\u7684\u654c\u4eba\uff1a\u67af\u71e5\u4e0e\u653e\u5f03\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5f53\u524d\u7684\u6295\u7968\u6570\u548c\u8bc4\u8bba\u6570\u91cf\u4ec515\u7968\uff0c\u8bf4\u660e\u5b83\u4ecd\u5904\u4e8e\u975e\u5e38\u65e9\u671f\u7684\u9a8c\u8bc1\u9636\u6bb5\u3002\u8bc4\u8bba\u4e2d\u7684\u8d5e\u8d4f\u66f4\u591a\u662f\u9488\u5bf9\u201c\u6982\u5ff5\u201d\u548c\u201c\u613f\u666f\u201d\uff0c\u800c\u975e\u7ecf\u8fc7\u5927\u89c4\u6a21\u7528\u6237\u9a8c\u8bc1\u7684\u7a33\u5b9a\u4ea7\u51fa\u3002\u4e00\u4e2a\u6838\u5fc3\u9690\u5fe7\u662f\uff1a\u77ed\u5267\u5185\u5bb9\u5e93\u7684\u6301\u7eed\u4f9b\u7ed9\u662f\u5426\u8ddf\u5f97\u4e0a\u5b66\u4e60\u9700\u6c42\uff1f\u5982\u679c\u5185\u5bb9\u66f4\u65b0\u7f13\u6162\u6216\u8d28\u91cf\u53c2\u5dee\u4e0d\u9f50\uff0c\u201c\u6c89\u8ff7\u201d\u5c06\u8fc5\u901f\u53d8\u4e3a\u201c\u538c\u5026\u201d\u3002\u6b64\u5916\uff0c\u4ece\u201c\u70b9\u51fb\u7ffb\u8bd1\u201d\u5230\u771f\u6b63\u638c\u63e1\u8bed\u8a00\u4e4b\u95f4\uff0c\u8fd8\u9700\u8981\u66f4\u4e25\u8c28\u7684\u5b66\u4e60\u8def\u5f84\u8bbe\u8ba1\u2014\u2014\u4f8b\u5982\u5982\u4f55\u4fdd\u8bc1\u8bcd\u6c47\u590d\u73b0\u7387\u3001\u5982\u4f55\u8bc4\u4f30\u542c\u8bf4\u8bfb\u5199\u80fd\u529b\u3001\u662f\u5426\u6709\u81ea\u9002\u5e94\u5b66\u4e60\u7b97\u6cd5\u3002\u76ee\u524d\u7684\u4ea7\u54c1\u63cf\u8ff0\u4e2d\uff0c\u5176AI\u7684\u6df1\u5ea6\u8fd8\u4e0d\u660e\u663e\uff0c\u66f4\u591a\u662f\u4f5c\u4e3a\u8f85\u52a9\u5de5\u5177\u800c\u975e\u667a\u80fd\u6559\u5b66\u7cfb\u7edf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5982\u679cReelFluent\u4ec5\u4ec5\u6b62\u6b65\u4e8e\u201c\u5e26\u5b57\u5e55\u7684\u77ed\u5267+\u70b9\u51fb\u7ffb\u8bd1\u201d\uff0c\u90a3\u5b83\u4e0d\u8fc7\u662f\u628aNetflix\u7684Viki\uff08\u5e26\u7ffb\u8bd1\u7684\u89c6\u9891\u5e73\u53f0\uff09\u5305\u88c5\u6210\u4e86\u5b66\u4e60\u5de5\u5177\uff0c\u62a4\u57ce\u6cb3\u5f88\u6d45\u3002\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\uff0c\u80fd\u5426\u57fa\u4e8e\u7528\u6237\u89c2\u770b\u884c\u4e3a\u6570\u636e\uff0c\u6784\u5efa\u51fa\u4e2a\u6027\u5316\u7684\u3001\u4ece\u201c\u6cdb\u770b\u201d\u5230\u201c\u7cbe\u5b66\u201d\u7684\u95ed\u73af\uff0c\u5e76\u4e0d\u65ad\u589e\u52a0\u4e92\u52a8\u5f62\u5f0f\u7684\u591a\u6837\u6027\uff08\u5982\u89d2\u8272\u626e\u6f14\u3001\u5b9e\u65f6\u5bf9\u8bdd\u5bf9\u7ec3\uff09\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u4f1a\u6210\u4e3a\u8bed\u8a00\u5b66\u4e60\u9886\u57df\u7684\u201c\u5fae\u77ed\u5267\u7248Quizlet\u201d\u2014\u2014\u6709\u4eae\u70b9\uff0c\u4f46\u96be\u4ee5\u957f\u7559\u7528\u6237\u3002\u65b9\u5411\u5bf9\u4e86\uff0c\u4f46\u63a5\u4e0b\u6765\u7684\u6267\u884c\u548c\u5185\u5bb9\u751f\u6001\u5efa\u8bbe\u624d\u662f\u751f\u6b7b\u7ebf\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">ReelFluent Web<\/span>\n                <\/div>\n<div class=\"comment-content\">Guilt-free binge-watching starts here. 100% drama, 0% guilt\u2014turning screen time into real fluency. ReelFluent turns mini-dramas into learning with tap\u2011to\u2011translate, AI help, and in-scene practice.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! I\u2019m Jason \u2014 maker of ReelFluent.<\/p>\n<\/p>\n<p>I speak Mandarin, Cantonese, and English, and I\u2019m currently learning Spanish and Japanese. I\u2019ve lived\/studied\/worked in Australia and the US, and did my Master\u2019s at Carnegie Mellon (EdTech \/ Learning Sciences). So I\u2019ve tried pretty much every \u201cserious\u201d language learning method\u2026and still ran into the same wall.<\/p>\n<\/p>\n<p>Here\u2019s the painful scene I kept repeating:<\/p>\n<\/p>\n<p>I could keep a streak on apps like Duolingo, but when I actually needed language in real life \u2014 a tense work conversation, a dating moment, catching the sarcasm in a colleague\u2019s tone \u2014 my brain froze. I realized the issue wasn\u2019t \u201cmore vocabulary.\u201d It was relevance + emotion.<\/p>\n<\/p>\n<p>One \u201ccounterintuitive\u201d thing I learned as a multilingual learner:<\/p>\n<\/p>\n<p><strong>When there\u2019s emotional connection, language sticks.<\/strong><\/p>\n<\/p>\n<p>Your memory anchors to tone, facial expressions, conflict, humor, chemistry \u2014 the <em>context<\/em> that textbooks and isolated drills strip away. (And yes, I also practiced sentences like \u201cThe bear drinks milk\u201d\u2026but no bear ever showed up in my life.)<\/p>\n<\/p>\n<p>That\u2019s why I built ReelFluent.<\/p>\n<\/p>\n<p>Instead of starting with vocab lists or repetitive drills, we help learners watch short drama episodes and <em>practice inside the scene<\/em> with quick interactions like shadowing, scramble, and MCQ (Like Duolingo-style reps, but anchored to moments you actually cared about). You can tap to translate subtitles in context, and save and review expressions from scenes you actually felt something about. The goal is simple: make language learning easy to start and natural to continue, because the content pulls you back.<\/p>\n<\/p>\n<p>ReelFluent is available on the web today (<a href=\"https:\/\/web.reelfluent.app\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/web.reelfluent.app\/<\/a>), with the iOS app coming soon and Android launching on Google Play. Also adding Chinese, Cantonese, French, Spanish to the target language.<\/p>\n<\/p>\n<p>If you\u2019ve ever quit a language app after 7 days or spend so much time scrolling, I\u2019d love your feedback.<\/p>\n<\/p>\n<p>What kind of real-life moments do you most want to handle or be captivated by when scrolling in your target language? (work, dating, travel, small talk, humor, arguments, etc.)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Went with the intention to just explore and check it out but ended up being hooked &#8211; something about the cheesiness of the microdramas that makes you want to watch on. I&#8217;ve got a good grasp of english but can see how this could be really THE way to pick up a languge. Looking forward to the chinese target language to be launched soon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gordon_tay\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gordon_tay<\/a>&nbsp;Chinese coming soon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>i love this!! Have been trying to learn spanish but duolingo is just not the best atp. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt!  Winston here. Super pumped for today&#8217;s launch! \ud83c\udf89<\/p>\n<p>To add to the team&#8217;s introduction, I wanted to quickly touch on the &#8216;magic&#8217; behind the scenes. We&#8217;ve done some incredibly fine-grained design to weave the language learning elements seamlessly into the short drama plots. We focused heavily on making sure the entertainment value never drops while you learn\u2014it&#8217;s not just a textbook on a screen, it&#8217;s a real show.<\/p>\n<p>Grab some popcorn, binge a drama, and let us know your thoughts on the experience! \ud83c\udf7f\ud83d\udc47 Happy to answer any questions in the comments.&#8221;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4S3L3JHOWVOKXT\" class=\"app-title\">Atlasly<\/a><\/p>\n<div class=\"one-liner\">AI agents for architecture<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">10<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Atlasly\u901a\u8fc7AI\u4ee3\u7406\u81ea\u52a8\u5b8c\u6210\u5efa\u7b51\u9879\u76ee\u524d2-4\u5468\u7684\u8c03\u7814\u5de5\u4f5c\uff08\u5982\u67e5\u89c4\u5212\u8bb8\u53ef\u3001\u6d2a\u6c34\u5730\u56fe\u3001\u9057\u4ea7\u767b\u8bb0\u7b49\uff09\uff0c\u8ba9\u5efa\u7b51\u5e08\u8f93\u5165\u5730\u5740\u5373\u53ef\u5206\u949f\u7ea7\u751f\u6210\u4e13\u4e1a\u4ea4\u4ed8\u7269\uff0c\u89e3\u51b3\u9884\u8bbe\u8ba1\u9636\u6bb5\u4fe1\u606f\u641c\u96c6\u6548\u7387\u4f4e\u4e0b\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9eedbc59-5704-4fee-abe1-f149b6e03bb7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7a6a2855-66b3-4864-9c79-625ada87508f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/b5dce898-63e3-4b02-96aa-808af3aeeb49.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/NjwJin1ZZSc\"><source src=\"https:\/\/youtu.be\/NjwJin1ZZSc\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Maps<\/span><br \/>\n            <span class=\"tag\">YC Application<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5efa\u7b51\u884c\u4e1a<\/span><br \/>\n            <span class=\"tag\">\u9884\u8bbe\u8ba1\u8c03\u7814<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">GIS\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u89c4\u5212\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5efa\u7b51\u5e08<\/span><br \/>\n            <span class=\"tag\">\u4e13\u4e1a\u5782\u76f4<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u5173\u6ce8AI\u4ee3\u7406\u7684\u5e95\u5c42\u6570\u636e\u6e90\uff08\u662f\u5426\u63a5\u5165\u771f\u5b9eGIS\u56fe\u5c42\uff09\u4ee5\u53ca\u672c\u5730\u5316\u6570\u636e\u7684\u51c6\u786e\u6027\u548c\u6d4b\u8bd5\u53ef\u884c\u6027\u3002\u76ee\u524d\u8bc4\u8bba\u70b9\u8d5e\u91cf\u4f4e\uff0c\u5c1a\u672a\u6536\u5230\u5f3a\u8d1f\u9762\u53cd\u9988\uff0c\u4f46\u5b9e\u7528\u9a8c\u8bc1\u9700\u6c42\u660e\u786e\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Atlasly\u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u88ab\u957f\u671f\u5ffd\u89c6\u4f46\u75db\u70b9\u6781\u6df1\u7684\u5782\u76f4\u573a\u666f\u2014\u2014\u5efa\u7b51\u9884\u8bbe\u8ba1\u8c03\u7814\u3002\u5176\u5bf9\u6807Harvey AI\u7684\u53d9\u4e8b\u903b\u8f91\u6210\u7acb\uff1a\u5f8b\u5e08\u548c\u5efa\u7b51\u5e08\u540c\u6837\u9762\u4e34\u5927\u91cf\u975e\u521b\u9020\u6027\u3001\u91cd\u590d\u6027\u7684\u4fe1\u606f\u641c\u96c6\u4e0e\u6587\u6863\u5ba1\u6838\u5de5\u4f5c\u3002\u4f46\u4e24\u8005\u6709\u4e00\u4e2a\u5173\u952e\u5dee\u5f02\uff1a\u6cd5\u5f8b\u6587\u672c\u7684\u8bed\u4e49\u7406\u89e3\u76f8\u5bf9\u7ed3\u6784\u5316\uff0c\u800c\u5efa\u7b51\u9884\u8bbe\u8ba1\u8c03\u7814\u6d89\u53ca\u591a\u6e90\u5f02\u6784\u6570\u636e\uff08\u653f\u5e9c\u95e8\u6237\u3001GIS\u56fe\u5c42\u3001\u653f\u7b56PDF\uff09\uff0c\u6570\u636e\u6e90\u7684\u53ef\u4fe1\u5ea6\u3001\u66f4\u65b0\u9891\u7387\u3001\u5730\u57df\u8986\u76d6\u76f4\u63a5\u51b3\u5b9a\u4ea7\u54c1\u53ef\u7528\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u73b0\u6709\u4fe1\u606f\u770b\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u201c\u6df1\u5ea6\u722c\u866b+\u8f7b\u91cfAI\u805a\u5408\u201d\u7684\u5de5\u5177\uff1a\u8f93\u5165\u5730\u5740\uff0c\u81ea\u52a8\u626b\u63cf20+\u653f\u5e9c\u7f51\u7ad9\uff0c\u6574\u7406\u62a5\u544a\u3002\u8fd9\u786e\u5b9e\u80fd\u8282\u77012-4\u5468\u65f6\u95f4\uff0c\u4f46\u6838\u5fc3\u58c1\u5792\u4e0d\u5728\u4e8eAI\u6a21\u578b\uff0c\u800c\u5728\u4e8e\u6570\u636e\u7ba1\u9053\uff08\u5982\u4f55\u83b7\u53d6\u3001\u6e05\u6d17\u3001\u5bf9\u9f50\u5404\u56fd\u5404\u57ce\u5e02\u5f02\u6784\u7684\u89c4\u5212\u6570\u636e\uff09\u3002600+\u7528\u6237\u300147\u4e2a\u56fd\u5bb6\u610f\u5473\u7740\u5176\u6570\u636e\u8986\u76d6\u521d\u6b65\u8dd1\u901a\uff0c\u4f46\u4e00\u65e6\u6cdb\u5316\u5230\u66f4\u591a\u5730\u533a\u548c\u8bed\u8a00\u73af\u5883\uff0c\u7ef4\u62a4\u6210\u672c\u4f1a\u6025\u5267\u4e0a\u5347\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u4ea7\u54c1\u76ee\u524d\u6295\u7968\u4ec510\u4e2a\uff0c\u4e14\u7528\u6237\u8bc4\u8bba\u4e2d\u6ca1\u6709\u51fa\u73b0\u5efa\u7b51\u5e08\u56e2\u961f\u7684\u771f\u5b9e\u4f7f\u7528\u8bc4\u4ef7\uff08\u4f8b\u5982\u201c\u8282\u7701\u4e86\u591a\u5c11\u5c0f\u65f6\u201d\u201c\u62a5\u544a\u51c6\u786e\u5ea6\u5982\u4f55\u201d\uff09\uff0c\u800c\u662f\u5f00\u53d1\u8005\u3001\u6280\u672f\u4eba\u5458\u7684\u529f\u80fd\u63d0\u95ee\u3002\u8fd9\u8bf4\u660e\u5176\u516c\u6d4b\u9636\u6bb5\u5c1a\u672a\u5145\u5206\u64ac\u52a8\u76ee\u6807\u7528\u6237\u7684\u771f\u5b9e\u53cd\u9988\uff0c\u4ea7\u54c1-C\u7aef\u4fe1\u4efb\u5ea6\u8fd8\u9700\u9a8c\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u201c2-4\u5468\u7f29\u77ed\u5230\u51e0\u5206\u949f\u201d\u7684\u5ba3\u4f20\u8fc7\u4e8e\u4e50\u89c2\u2014\u2014\u5bf9\u590d\u6742\u9879\u76ee\u800c\u8a00\uff0cAI\u751f\u6210\u7684\u62a5\u544a\u5927\u6982\u7387\u53ea\u80fd\u4f5c\u4e3a\u521d\u7b5b\u8349\u7a3f\uff0c\u4e13\u4e1a\u5efa\u7b51\u5e08\u4ecd\u9700\u4eba\u5de5\u6838\u9a8c\u5173\u952e\u6570\u636e\uff08\u5c24\u5176\u662f\u6cd5\u89c4\u5408\u89c4\u6027\uff09\u3002\u82e5\u672a\u6765\u65e0\u6cd5\u4e0e\u4e3b\u6d41BIM\u6216CAD\u8f6f\u4ef6\u5f62\u6210\u6570\u636e\u95ed\u73af\uff0c\u5176\u4ef7\u503c\u4f1a\u505c\u7559\u5728\u201c\u5feb\u901f\u8c03\u7814\u5de5\u5177\u201d\u800c\u975e\u201c\u8bbe\u8ba1\u5de5\u4f5c\u6d41\u57fa\u7840\u8bbe\u65bd\u201d\u3002\u603b\u4f53\u800c\u8a00\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u5929\u82b1\u677f\u6e05\u6670\uff0c\u9700\u8b66\u60d5\u6570\u636e\u5899\u548c\u7528\u6237\u7559\u5b58\u95ee\u9898\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Atlasly<\/span>\n                <\/div>\n<div class=\"comment-content\">Harvey AI replaced lawyers&#8217; most painful grunt work. Atlasly does the same for architects. Type an address, AI agents handle 2-4 weeks of pre-design research and produce professional deliverables in just minutes. 600+ users, 47 countries.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b Deep here.<\/p>\n<p>Harvey AI is worth $3B replacing legal grunt work.<\/p>\n<p>Architecture has the same problem. Before a single line is drawn on any project, architects lose 2-4 weeks manually checking planning portals, flood maps, heritage registers, policy PDFs and terrain tools across 20+ government websites.<\/p>\n<p>Same pain. Same inefficiency. Same opportunity.<\/p>\n<p>That&#8217;s Atlasly.<\/p>\n<p>Shatakshi, my co-founder and a practising architect, lived this every week. I watched her do it enough times that I built something to fix it.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>AI agents for architecture is a fascinating niche. As a developer, I&#8217;ve seen how much time architects and spatial designers spend on repetitive analysis and documentation tasks. Bringing map-aware AI agents into that workflow could be a real productivity multiplier. How are the agents grounded \u2014 are they working with actual GIS data layers, or more like visual analysis of map imagery?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How can I test it for my site, also how accurate is the data??<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3FVRAZ4X6B4YKZ\" class=\"app-title\">TheStatsAPI<\/a><\/p>\n<div class=\"one-liner\">The Football Stats API Built for Speed<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">9<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>TheStatsAPI \u662f\u4e00\u6b3e\u4e13\u4e3a\u5f00\u53d1\u8005\u6253\u9020\u7684\u6781\u901f\u8db3\u7403\u6570\u636eAPI\uff0c\u89e3\u51b3\u4e86\u83b7\u53d6\u6bd4\u8d5b\u3001\u7403\u5458\u53ca\u8d5b\u7a0b\u6570\u636e\u65f6\u6210\u672c\u9ad8\u3001\u4e0d\u53ef\u9760\u3001\u96c6\u6210\u96be\u7684\u6838\u5fc3\u75db\u70b9\uff0c\u8ba9\u5e94\u7528\u5feb\u901f\u63a5\u5165\u5168\u740380+\u8d5b\u4e8b\u6570\u636e\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/de406a40-949e-47db-bf44-6930eb794223.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8e66f897-df9e-4f2e-bda1-db94a0592d3b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6df78796-85f1-454c-819a-4a5bef75ff09.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d616b730-37a9-49af-a6a7-f86cf3eb09ce.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Sports<\/span><br \/>\n            <span class=\"tag\">Football<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8db3\u7403\u6570\u636eAPI<\/span><br \/>\n            <span class=\"tag\">\u4f53\u80b2\u6570\u636e\u63a5\u53e3<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6bd4\u8d5b\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u7403\u5458\u7edf\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u8d5b\u7a0b\u67e5\u8be2<\/span><br \/>\n            <span class=\"tag\">\u5feb\u901f\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u6536\u5230\u7684\u4e24\u6761\u8bc4\u8bba\u5747\u4e3a\u9053\u8d3a\u4e0e\u9f13\u52b1\uff0c\u6682\u65e0\u7528\u6237\u63d0\u51fa\u5177\u4f53\u95ee\u9898\u6216\u5efa\u8bae\u3002\u4ea7\u54c1\u5904\u4e8e\u65e9\u671f\u53d1\u5e03\u9636\u6bb5\uff0c\u7f3a\u4e4f\u6765\u81ea\u771f\u5b9e\u7528\u6237\u7684\u529f\u80fd\u53cd\u9988\u6216\u4f7f\u7528\u75db\u70b9\u5410\u69fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                TheStatsAPI \u7684\u6807\u8bed\u548c\u7b80\u4ecb\u7cbe\u51c6\u51fb\u4e2d\u4e86\u8db3\u7403\u6570\u636e\u5f00\u53d1\u8005\u7684\u957f\u671f\u75db\u70b9\uff1a\u5927\u5382API\u4ef7\u683c\u9ad8\u6602\uff0c\u5c0f\u5382\u6570\u636e\u8d28\u91cf\u53c2\u5dee\u4e0d\u9f50\uff0c\u6587\u6863\u7a00\u70c2\u3002\u4f46\u4ec5\u51ed\u201c\u5feb\u901f\u201d\u548c\u201c\u5ec9\u4ef7\u201d\u5e76\u4e0d\u8db3\u4ee5\u5728\u62e5\u6324\u7684\u4f53\u80b2\u6570\u636e\u8d5b\u9053\u7a81\u56f4\u3002\u76ee\u524d\u4ec59\u7968\u548c\u96f6\u5b9e\u8d28\u6027\u7528\u6237\u53cd\u9988\uff0c\u8bf4\u660e\u4ea7\u54c1\u5c1a\u5904\u4e8e\u51b7\u542f\u52a8\u9636\u6bb5\uff0c\u8ddd\u79bb\u201c\u53ef\u9760\u201d\u8fd8\u9700\u8981\u7ecf\u5386\u5927\u91cf\u751f\u4ea7\u73af\u5883\u7684\u4e25\u82db\u8003\u9a8c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u7784\u51c6\u4e86\u201c\u4e2d\u5c0f\u578b\u5f00\u53d1\u8005\u4e0e\u4e1a\u4f59\u9879\u76ee\u201d\u8fd9\u4e00\u88ab\u5784\u65ad\u5382\u5546\u5ffd\u89c6\u7684\u957f\u5c3e\u5e02\u573a\u3002\u5148\u63d0\u4f9b80\u9879\u6838\u5fc3\u6bd4\u8d5b\u6570\u636e\uff0c\u518d\u6309\u9700\u6269\u5c55\u81f31196\u9879\uff0c\u8fd9\u79cd\u7075\u6d3b\u5c42\u7ea7\u7684\u8bbe\u8ba1\u662f\u52a1\u5b9e\u7684\u7b56\u7565\uff0c\u80fd\u964d\u4f4e\u521d\u521b\u56e2\u961f\u7684\u8bd5\u9519\u6210\u672c\u3002\u7136\u800c\uff0c\u8db3\u7403\u6570\u636eAPI\u7684\u6838\u5fc3\u62a4\u57ce\u6cb3\u4e0d\u5728\u4e8e\u901f\u5ea6\uff0c\u800c\u5728\u4e8e\u6570\u636e\u7684\u51c6\u786e\u6027\u3001\u8986\u76d6\u5e7f\u5ea6\u4ee5\u53ca\u66f4\u65b0\u9891\u7387\u7684\u6beb\u79d2\u7ea7\u5ef6\u8fdf\u3002\u5982\u679c\u6570\u636e\u6e90\u672c\u8eab\u4f9d\u8d56\u722c\u866b\u6216\u7b2c\u4e09\u65b9\u8f6c\u552e\uff0c\u90a3\u4e48\u901f\u5ea6\u4f18\u52bf\u5c06\u968f\u65f6\u56e0\u4e0a\u6e38\u53d8\u66f4\u800c\u6d88\u5931\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5efa\u8bae\u56e2\u961f\u5728\u4ea7\u54c1\u65e9\u671f\u805a\u7126\u201c\u9519\u8bef\u7387\u201d\u548c\u201c\u6587\u6863\u6613\u7528\u6027\u201d\u8fd9\u4e24\u4e2a\u9690\u5f62\u6740\u624b\uff0c\u5e76\u5c3d\u5feb\u5728\u793e\u533a\uff08\u5982GitHub\u3001Stack Overflow\uff09\u5efa\u7acb\u6280\u672f\u4fe1\u4efb\u3002\u4e00\u53e5\u8bdd\uff1a\u4ea7\u54c1\u65b9\u5411\u5bf9\uff0c\u4f46\u9700\u8981\u66f4\u591a\u771f\u91d1\u706b\u70bc\u7684\u7528\u6237\u53cd\u9988\u6765\u8bc1\u660e\u5b83\u4e0d\u662f\u53e6\u4e00\u4e2a\u201c\u5feb\u4f46\u8106\u201d\u7684\u6570\u636e\u8fc7\u5ba2\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">TheStatsAPI<\/span>\n                <\/div>\n<div class=\"comment-content\">Get instant access to football match data, player stats, and fixtures across 80 competitions, with up to 1,196 available on request. Start building in minutes with a fast, easy to use, and reliable API.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Launching TheStatsAPI &#8211; Football data API built for builders<\/p>\n<p>TheStatsAPI exists because we kept hitting the same wall: football data that was either too expensive, too unreliable, or too painful to integrate. So we built the API we always wanted to use.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Good luck with the launch Manoj! Cheers. \ud83e\udd73<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HWS63QUCONCNOO\" class=\"app-title\">iGreet<\/a><\/p>\n<div class=\"one-liner\">Personalized video greeting cards that come alive<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">9<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>iGreet\u8ba9\u7528\u6237\u5728\u51e0\u5206\u949f\u5185\u521b\u5efa\u5305\u542b\u81ea\u5b9a\u4e49\u6d88\u606f\u3001\u7167\u7247\u3001\u89c6\u9891\u548c\u793c\u54c1\u5361\u7684\u4e2a\u6027\u5316\u6570\u5b57\u6216\u5b9e\u4f53\u8d3a\u5361\uff0c\u901a\u8fc7\u94fe\u63a5\u5373\u65f6\u53d1\u9001\u6216\u4f7f\u7528\u589e\u5f3a\u73b0\u5b9e\uff08AR\uff09\u6280\u672f\u8ba9\u8d3a\u5361\u201c\u6d3b\u8d77\u6765\u201d\uff0c\u89e3\u51b3\u4f20\u7edf\u8d3a\u5361\u7f3a\u4e4f\u4e92\u52a8\u6027\u548c\u4e2a\u6027\u5316\u8868\u8fbe\u4e0d\u8db3\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/41587b6b-4699-4477-b510-810ba48b75d1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/55449b94-1187-4b48-a691-cfeafef916d6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f26a9c97-19bb-47eb-9834-e9904f5221e8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a4beab7d-0788-45f0-89fb-58513f51c2f3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d36fb7ae-e93e-4fa3-9dfa-562fc3659191.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/74b5e7b0-d913-43be-ab7d-c7c10fa11c1a.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/UbcNHFI2r8g\"><source src=\"https:\/\/youtu.be\/UbcNHFI2r8g\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Augmented Reality<\/span><br \/>\n            <span class=\"tag\">Family<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u89c6\u9891\u8d3a\u5361<\/span><br \/>\n            <span class=\"tag\">AR\u8d3a\u5361<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u795d\u798f<\/span><br \/>\n            <span class=\"tag\">\u7535\u5b50\u8d3a\u5361<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u4f53\u6253\u5370\u8d3a\u5361<\/span><br \/>\n            <span class=\"tag\">\u793c\u54c1\u5361<\/span><br \/>\n            <span class=\"tag\">WebAR<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u6279\u91cf\u8d3a\u5361<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u7ebf\u4e0a\u9001\u793c<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8d5e\u8d4f\u754c\u9762\u6d41\u7545\u3001\u4e2a\u6027\u5316\u4f53\u9a8c\u76f4\u89c2\uff0c\u5c24\u5176\u9002\u5408\u6bcd\u4eb2\u8282\u573a\u666f\u3002\u6838\u5fc3\u95ee\u9898\u805a\u7126AR\u4f53\u9a8c\uff1a\u63a5\u6536\u65b9\u662f\u5426\u9700\u8981\u4e0b\u8f7dApp\uff1f\u5236\u4f5c\u8005\u786e\u8ba4\u4f7f\u7528WebAR\uff0c\u65e0\u9700\u4e0b\u8f7d\uff0c\u6253\u5f00\u94fe\u63a5\u5373\u53ef\u5728\u624b\u673a\u4e0a\u4f7f\u7528\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                iGreet\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u60c5\u611f\u5c01\u88c5\u201d\u5de5\u5177\uff0c\u5b83\u8bd5\u56fe\u7528\u6570\u5b57\u5316\u7684\u624b\u6bb5\u590d\u6d3b\u4e00\u4e2a\u53e4\u8001\u7684\u4eea\u5f0f\u2014\u2014\u5bc4\u8d3a\u5361\u3002\u5176\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u4e0d\u6267\u7740\u4e8e\u53d6\u4ee3\u5b9e\u4f53\u8d3a\u5361\uff0c\u800c\u662f\u5c06\u89c6\u9891\u3001\u7167\u7247\u3001\u793c\u54c1\u5361\u4e0eAR\u53e0\u52a0\uff0c\u5f62\u6210\u4e00\u79cd\u201c\u8f7b\u91cf\u7ea7\u6df7\u5408\u73b0\u5b9e\u201d\u7684\u9001\u793c\u4f53\u9a8c\u30029\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u8bf4\u660e\u5b83\u5c1a\u672a\u5f15\u8d77\u6d77\u5578\uff0c\u4f46\u4ea7\u54c1\u903b\u8f91\u503c\u5f97\u5256\u6790\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u9510\u5229\u89d2\u5ea6\u770b\uff0c\u5b83\u7684\u6838\u5fc3\u6311\u6218\u5728\u4e8e\uff1a\u4ef7\u503c\u58c1\u5792\u4e0d\u591f\u539a\u3002\u89c6\u9891\u8d3a\u5361\u3001\u7535\u5b50\u793c\u54c1\u5361\u3001\u751a\u81f3AR\u5c55\u793a\uff0c\u6bcf\u4e2a\u5355\u9879\u90fd\u6709\u5927\u91cf\u514d\u8d39\u6216\u6210\u719f\u7684\u66ff\u4ee3\u54c1\uff08\u5982\u5fae\u4fe1\u7ea2\u5305\u9644\u5e26\u89c6\u9891\u3001Instagram\u6ee4\u955c\u3001\u751a\u81f3\u5404\u7c7b\u77ed\u4fe1\uff09\u3002iGreet\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u201c\u4e00\u7ad9\u5f0f\u5c01\u88c5\u201d\u548c\u201c\u4ece\u6570\u5b57\u5230\u5b9e\u4f53\u201d\u7684\u4e1d\u6ed1\u6865\u63a5\u2014\u2014\u7528\u6237\u65e0\u9700\u5728\u4e0d\u540cApp\u95f4\u526a\u5207\u7c98\u8d34\uff0c\u53ea\u9700\u4e00\u4e2a\u94fe\u63a5\u5c31\u80fd\u5c06\u591a\u79cd\u5a92\u4ecb\u6253\u5305\u6210\u5b8c\u6574\u7684\u4eea\u5f0f\u611f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5bf9\u4e2a\u4eba\u7528\u6237\u800c\u8a00\uff0c\u5b83\u89e3\u51b3\u4e86\u201c\u9001\u793c\u6ca1\u521b\u610f\u201d\u7684\u5fc3\u7406\u7126\u8651\uff0c\u4f46\u5e76\u4e0d\u521a\u9700\uff1b\u5bf9B\u7aef\u4f01\u4e1a\uff08\u5982\u5458\u5de5\u5173\u6000\u3001\u5ba2\u6237\u7b54\u8c22\uff09\u624d\u662f\u771f\u6b63\u7684\u9ad8\u9891\u573a\u666f\uff0c\u56e0\u4e3a\u89c4\u6a21\u5316\u53d1\u9001\u5b9a\u5236\u5316\u795d\u798f\u5728\u4f01\u4e1a\u6c9f\u901a\u4e2d\u6210\u672c\u9ad8\u6602\uff0c\u800ciGreet\u5c06\u6210\u672c\u4ece\u8bbe\u8ba1\u3001\u5370\u5237\u3001\u90ae\u5bc4\u538b\u7f29\u4e3a\u4e00\u6b21\u521b\u4f5c\u3001\u6279\u91cf\u53d1\u9001\u3002\u6b64\u5916\uff0cWebAR\u7684\u51b3\u7b56\u8db3\u591f\u660e\u667a\u2014\u2014\u5f3a\u8feb\u7528\u6237\u4e0b\u8f7dApp\u7684AR\u90fd\u662f\u53cd\u4eba\u7c7b\u7684\uff0c\u8fd9\u9879\u4f53\u9a8c\u786e\u4fdd\u4e86\u63a5\u6536\u7aef0\u6469\u64e6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u7528\u6237\u7559\u5b58\u662f\u5de8\u5927\u9690\u60a3\uff1a\u8d3a\u5361\u5929\u7136\u4f4e\u9891\u3002iGreet\u60f3\u8981\u6210\u4e3a\u201c\u73b0\u4ee3\u8d3a\u5361\u9996\u9009\u201d\uff0c\u5c31\u5fc5\u987b\u5efa\u7acb\u6a21\u677f\u793e\u533a\u3001\u8282\u65e5\u63d0\u9192\u3001\u751a\u81f3\u662f\u4e0e\u7535\u5546\u793c\u54c1\u5361\u6e20\u9053\u7684\u6df1\u5ea6\u7ed1\u5b9a\uff0c\u5426\u5219\u6781\u6613\u6ca6\u4e3a\u4e00\u6b21\u6027\u5c1d\u9c9c\u5de5\u5177\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u662f\u4e00\u4e2a\u65b9\u5411\u6b63\u786e\u4f46\u5c1a\u672a\u5145\u5206\u9a8c\u8bc1\u201c\u9ecf\u6027\u201d\u7684\u7cbe\u81f4\u4ea7\u54c1\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">iGreet<\/span>\n                <\/div>\n<div class=\"comment-content\">iGreet lets you create personalized greeting cards with your own message, photos, videos, and gift cards in minutes. Send digital cards instantly with a simple link, or order a physical printed version for an even more personal surprise. Cards can also be viewed in augmented reality, bringing your memories and messages to life through your phone.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi I\u2019m Vicho, the maker of iGreet.<br \/>\nWe\u2019re excited to launch iGreet just in time for Mother\u2019s Day \u2764\ufe0f<br \/>\niGreet started as physical augmented reality greeting cards and evolved into a platform for personalized digital and physical cards with video, gift cards, and AR experiences.<br \/>\nOur goal is to make iGreet the go-to place for modern greeting cards and meaningful digital greetings.<br \/>\nWe also built iGreet for businesses, making it easy for teams and companies to send personalized cards at scale.<br \/>\nWould love to hear your feedback!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really sleek interface. I just tried personalizing a card and the flow is super intuitive.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! this feels like a really cool upgrade to traditional greeting cards &#8211; just went through the experience of personalizing a card for my mom today and found it very easy. Upvoted!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the concept, but a quick question: if I send the digital link, does the person on the other end have to download an app to see the AR, or is it web-based? <a href=\"https:\/\/www.producthunt.com\/@vichod\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"vichod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vichod<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@priya_kushwaha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priya_kushwaha1<\/a>&nbsp;Great question \ud83d\ude4c<br \/>No app download needed, the AR works directly in the browser through WebAR. The recipient just opens the link and experiences the card instantly on their phone \ud83d\ude0a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/2OVHTXDKWAVDCH\" class=\"app-title\">PrimeCompass.ai<\/a><\/p>\n<div class=\"one-liner\">AI-Powered quality intelligence from live application<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">9<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PrimeCompass.ai \u901a\u8fc7\u5b9e\u65f6\u89c2\u5bdf\u771f\u5b9e\u5e94\u7528\u8fd0\u884c\uff0c\u81ea\u52a8\u53d1\u73b0\u6d4b\u8bd5\u573a\u666f\u5e76\u751f\u6210\u53ef\u6267\u884c\u7684Playwright\u811a\u672c\uff0c\u89e3\u51b3AI\u6d4b\u8bd5\u5de5\u5177\u4f9d\u8d56\u4eba\u5de5\u5f55\u5236\u6216\u6613\u4ea7\u751f\u5e7b\u89c9\u811a\u672c\u7684\u75db\u70b9\uff0c\u786e\u4fdd\u6d4b\u8bd5\u7684\u53ef\u9760\u6027\u4e0e\u8d28\u91cf\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8758c3da-71bf-45fe-b2ed-52df649d2f62.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/63030eb4-ab52-4460-9969-3a6a039d360f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/60589e7e-a685-47ee-82f9-8fe9c9c2ae6e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/a6f8f9b4-f3ab-46c5-9d23-eda14dce56d5.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=E6FXYnniELo\"><source src=\"https:\/\/www.youtube.com\/watch?v=E6FXYnniELo\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">A\/B Testing<\/span><br \/>\n            <span class=\"tag\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6d4b\u8bd5\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u8d28\u91cf\u667a\u80fd<\/span><br \/>\n            <span class=\"tag\">Playwright\u811a\u672c<\/span><br \/>\n            <span class=\"tag\">\u65e0\u5e7b\u89c9\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u56de\u5f52\u6f02\u79fb\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u7f3a\u9677\u751f\u547d\u5468\u671f<\/span><br \/>\n            <span class=\"tag\">CI\/CD\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u89c2\u5bdf<\/span><br \/>\n            <span class=\"tag\">\u6d4b\u8bd5\u573a\u666f\u53d1\u73b0<\/span><br \/>\n            <span class=\"tag\">QA\u53ef\u6269\u5c55\u6027<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u4ea7\u54c1\u901a\u8fc7\u89c2\u5bdf\u771f\u5b9e\u884c\u4e3a\u800c\u975e\u5047\u8bbe\u751f\u6210\u6d4b\u8bd5\u7684\u7406\u5ff5\uff0c\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728AI\u751f\u6210\u4ee3\u7801\u9a8c\u8bc1\u3001\u56de\u5f52\u6f02\u79fb\u3001\u5408\u89c4\u5ba1\u8ba1\u53caCI\/CD\u4e2d\u8d28\u91cf\u4fe1\u5fc3\u7b49\u5b9e\u9645\u75db\u70b9\uff0c\u671f\u5f85\u793e\u533a\u53cd\u9988\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                PrimeCompass.ai \u8bd5\u56fe\u89e3\u51b3AI\u6d4b\u8bd5\u9886\u57df\u4e00\u4e2a\u771f\u5b9e\u800c\u68d8\u624b\u7684\u77db\u76fe\uff1a\u4f20\u7edf\u5f55\u5236\u5de5\u5177\u4f9d\u8d56\u4eba\u5de5\uff0c\u800cAI\u751f\u6210\u6d4b\u8bd5\u53c8\u5bb9\u6613\u9677\u5165\u201c\u770b\u8d77\u6765\u5bf9\uff0c\u8dd1\u8d77\u6765\u5d29\u201d\u7684\u5e7b\u89c9\u9677\u9631\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u201c\u89c2\u5bdf\u9a71\u52a8\u201d\u2014\u2014\u901a\u8fc7\u5b9e\u65f6\u6293\u53d6DOM\u4e8b\u4ef6\u548c\u8fd0\u884c\u65f6\u8bc1\u636e\uff0c\u5c06\u6d4b\u8bd5\u751f\u6210\u4ece\u201c\u731c\u6d4b\u201d\u62c9\u56de\u201c\u8bc1\u636e\u201d\u8f68\u9053\uff0c\u8fd9\u786e\u5b9e\u6bd4\u540c\u884c\u66f4\u52a1\u5b9e\u3002\u4f46\u8bf7\u6ce8\u610f\uff0c\u4ea7\u54c1\u76ee\u524d\u6295\u7968\u6570\u4ec59\uff0c\u8bf4\u660e\u4ecd\u5904\u4e8e\u6781\u65e9\u671f\u3002\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\uff1a\u5b83\u80fd\u5426\u5728\u590d\u6742\u52a8\u6001\u5e94\u7528\u4e2d\u6301\u7eed\u51c6\u786e\u6293\u53d6\u7528\u6237\u65c5\u7a0b\uff1fPlaywright\u811a\u672c\u7684\u53ef\u7ef4\u62a4\u6027\u548c\u8986\u76d6\u7387\u662f\u5426\u771f\u7684\u4f18\u4e8e\u624b\u5de5\u7f16\u5199\uff1f\u6b64\u5916\uff0c\u201c\u975e\u65c1\u8def\u5b89\u5168\u95e8\u201d\u548c\u201c\u5185\u7f6e\u7f3a\u9677\u751f\u547d\u5468\u671f\u201d\u542c\u8d77\u6765\u5f88\u5b8c\u5584\uff0c\u4f46\u843d\u5230\u5b9e\u5904\u5f80\u5f80\u9700\u8981\u6df1\u5ea6\u5d4c\u5165\u56e2\u961f\u5de5\u4f5c\u6d41\uff0c\u800c\u975e\u4e00\u4e2a\u5b64\u7acb\u5de5\u5177\u3002\u5982\u679cPrimeCompass\u80fd\u8bc1\u660e\u5176\u89c2\u5bdf\u673a\u5236\u5728\u5fae\u524d\u7aef\u3001GraphQL\u7b49\u73b0\u4ee3\u67b6\u6784\u4e0b\u4f9d\u7136\u7a33\u5065\uff0c\u5e76\u8ba9\u5f00\u53d1\u8005\u4fe1\u4efb\u8fd9\u4e9b\u81ea\u52a8\u751f\u6210\u7684\u6d4b\u8bd5\u80fd\u62b5\u5fa1\u771f\u5b9e\u4e16\u754c\u7684\u610f\u5916\uff0c\u5b83\u624d\u6709\u673a\u4f1a\u4ece\u201c\u6709\u8da3\u7684\u6982\u5ff5\u9a8c\u8bc1\u201d\u8715\u53d8\u4e3a\u201c\u4e13\u4e1a\u7684\u8d28\u91cf\u57fa\u77f3\u201d\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u6f02\u4eae\u7684DEMO\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">PrimeCompass.ai<\/span>\n                <\/div>\n<div class=\"comment-content\">PrimeCompass auto-discovers test scenarios by watching real applications run \u2014 no manual recording, no LLM hallucinations. It produces executable Playwright scripts grounded in captured DOM events, with non-bypassable safety gates, dataset-driven test data, cross-release drift detection, and built-in defect lifecycle. Recorders need humans; AI-generators invent. PrimeCompass earns its tests by observing.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Most AI testing tools either depend on manual recording or generate tests that \u201clook right\u201d but break in real-world environments.<\/p>\n<p>We started PrimeCompass with a simple belief:<\/p>\n<p>Quality intelligence should come from observing actual application behaviour \u2014 not assumptions, prompts, or hallucinated flows.<\/p>\n<p>PrimeCompass continuously watches applications run, discovers real user journeys, detects drift across releases, and generates executable Playwright tests grounded in captured runtime evidence.<\/p>\n<p>Our focus is not just faster QA.<br \/>It\u2019s building confidence in modern AI-accelerated software delivery.<\/p>\n<p>Would genuinely love feedback from the Product Hunt community \u2014 especially from teams dealing with:<br \/>\u2022 Release confidence issues<br \/>\u2022 QA scalability challenges<br \/>\u2022 AI-generated code validation<br \/>\u2022 Regression drift<br \/>\u2022 Compliance &amp; auditability in CI\/CD<\/p>\n<p>Happy to answer any questions and discuss where software quality engineering is heading next \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HCVAEPEVF7MMTA\" class=\"app-title\">Cohesivity<\/a><\/p>\n<div class=\"one-liner\">Backend Infra for AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">9<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Cohesivity\u4e3aAI\u667a\u80fd\u4f53\u63d0\u4f9b\u4e00\u952e\u5f0f\u540e\u7aef\u57fa\u7840\u8bbe\u65bd\uff0c\u8ba9\u5f00\u53d1\u8005\u53ea\u9700\u5728\u804a\u5929\u7a97\u53e3\u8865\u5145\u4e00\u53e5\u63d0\u793a\uff0c\u5373\u53ef\u81ea\u52a8\u5b8c\u6210\u6570\u636e\u5e93\u3001\u6258\u7ba1\u3001\u8ba4\u8bc1\u548c\u5b58\u50a8\u7684\u90e8\u7f72\uff0c\u5f7b\u5e95\u7ec8\u7ed3\u201c\u667a\u80fd\u4f53\u519980%\u4ee3\u7801\u540e\u505c\u4e0b\u7b49\u4eba\u7c7b\u624b\u52a8\u914d\u4e91\u670d\u52a1\u201d\u7684\u65ad\u6863\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d1d20a63-7ed7-413a-a326-94db1bfae1f3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5fbea536-66c4-4ef0-9b3e-eafe2c2cb87d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/097d98d1-2ccc-4052-ab00-eed99255510f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6de8408c-7981-4349-8a9a-57d13892828e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9003094-64f4-4ffd-9c2e-2bf01133dbc6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Vibe coding<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u540e\u7aef\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u4e00\u952e\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u65e0\u670d\u52a1\u5668\u67b6\u6784<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4e91\u670d\u52a1\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">prompt-to-prod<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u578b\u652f\u6301<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u4f7f\u7528\u540e\u201c\u60f3\u6cd5\u77ac\u95f4\u81ea\u52a8\u90e8\u7f72\u5e76\u6536\u5230\u94fe\u63a5\u201d\uff0c\u4f53\u9a8c\u9707\u64bc\u3002\u8d44\u6df1\u5f00\u53d1\u8005\u63d0\u95ee\u5176\u662f\u5426\u652f\u6301\u591a\u6a21\u578b\u3001\u957f\u65f6\u8fd0\u884c\u7684\u4ee3\u7406\u5faa\u73af\u53ca\u72b6\u6001\u6301\u4e45\u5316\uff0c\u5b98\u65b9\u56de\u5e94\u4ea7\u54c1\u662f\u6a21\u578b\u4e0e\u5e73\u53f0\u65e0\u5173\u7684\uff0c\u5e76\u80fd\u7ef4\u62a4\u9879\u76ee\u72b6\u6001\u4f9b\u667a\u80fd\u4f53\u67e5\u8be2\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Cohesivity\u5207\u4e2d\u7684\u4e0d\u662f\u201c\u9526\u4e0a\u6dfb\u82b1\u201d\uff0c\u800c\u662fAI\u5f00\u53d1\u751f\u6001\u91cc\u88ab\u5ffd\u89c6\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u65ad\u5c42\u3002\u5f53Cursor\u3001Claude Code\u7b49\u4ee3\u7801\u4ee3\u7406\u5df2\u7ecf\u80fd\u628a\u751f\u6210\u4ee3\u7801\u7684\u6c34\u5e73\u62c9\u5230\u60ca\u4eba\u9ad8\u5ea6\u65f6\uff0c\u540e\u7aef\u57fa\u7840\u8bbe\u65bd\u7684\u81ea\u52a8\u5316\u5374\u4ecd\u505c\u7559\u5728\u201c\u8bf7\u767b\u5f55Supabase\u3001\u7c98\u8d34Key\u3001\u70b9\u51fbVercel\u201d\u7684\u4eba\u5de5\u6e29\u541e\u8282\u594f\u91cc\u3002\u8fd9\u4e2a\u5faa\u73af\u7684\u611a\u8822\u4e4b\u5904\u5728\u4e8e\u2014\u2014\u673a\u5668\u66ff\u4eba\u627f\u62c5\u4e86\u8111\u529b\u52b3\u52a8\uff0c\u5374\u53c8\u88ab\u8feb\u5728\u673a\u68b0\u91cd\u590d\u7684\u4f53\u529b\u6d3b\u4e0a\u628a\u6548\u7387\u62f1\u624b\u8ba9\u7ed9\u5ef6\u8fdf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6218\u7565\u89d2\u5ea6\u8bb2\uff0cCohesivity\u7684\u6838\u5fc3\u4ef7\u503c\u4e0d\u662f\u201c\u591a\u4e86\u4e00\u4e2a\u4e91\u670d\u52a1\u5546\u201d\uff0c\u800c\u662f\u91cd\u65b0\u5b9a\u4e49\u4e86\u201c\u667a\u80fd\u4f53\u5bf9\u4eba\u201d\u7684\u4f9d\u8d56\u8fb9\u754c\uff1a\u5b83\u628a\u539f\u672c\u9501\u6b7b\u5728\u4eba\u7c7b\u56fe\u5f62\u754c\u9762\u64cd\u4f5c\u4e2d\u7684\u914d\u7f6e\u3001\u79df\u7528\u3001\u7ed1\u5b9a\u7b49\u810f\u6d3b\uff0c\u62bd\u8c61\u4e3a\u4e00\u5c42\u5b8c\u5168\u53ef\u88abAI\u8c03\u7528\u7684API\u4e0e\u63a7\u5236\u9762\u3002\u672c\u8d28\u4e0a\uff0c\u5b83\u505a\u7684\u662f\u8ba9\u667a\u80fd\u4f53\u53d8\u6210\u4e00\u4e2a\u5b8c\u6574\u7684\u201c\u5168\u6808\u5f00\u53d1\u8005\u201d\uff0c\u7ec8\u7ed3AI\u53ea\u80fd\u5199\u4ee3\u7801\u5374\u4e0d\u80fd\u72ec\u7acb\u201c\u4e0a\u7ebf\u201d\u7684\u6b8b\u75be\u72b6\u6001\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u770b\u5230\uff0c\u8fd9\u79cd\u201c\u52a0\u4e00\u53e5prompt\u5c31\u80fd\u90e8\u7f72\u201d\u7684\u4fbf\u5229\uff0c\u80cc\u540e\u662f\u6df1\u5ea6\u7684\u5e73\u53f0\u9501\u5b9a\u2014\u2014\u7528\u6237\u4e00\u65e6\u5728\u9879\u76ee\u4e2d\u4f9d\u8d56Cohesivity\u7684\u7f16\u6392\u903b\u8f91\u548c\u72b6\u6001\u7ba1\u7406\u63a5\u53e3\uff0c\u672a\u6765\u82e5\u8981\u8fc1\u79fb\u6216\u81ea\u5efa\u5c06\u9762\u4e34\u91cd\u6784\u6210\u672c\u3002\u53e6\u5916\uff0c\u5f53\u524d\u4ec5\u57fa\u4e8e\u201c\u8ba9\u667a\u80fd\u4f53\u641c\u7d22\u5e76\u6267\u884cbash\u201d\u7684\u63a5\u5165\u65b9\u5f0f\uff0c\u5728\u9ad8\u5b89\u5168\u6027\u3001\u5408\u89c4\u654f\u611f\u7684\u751f\u4ea7\u73af\u5883\u4e2d\uff0c\u6743\u9650\u7c92\u5ea6\u4e0e\u5ba1\u8ba1\u80fd\u529b\u7a76\u7adf\u5982\u4f55\uff0c\u5b98\u65b9\u5e76\u672a\u7ed9\u51fa\u6e05\u6670\u8bf4\u660e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c9\u7968\u3001\u4e24\u6761\u8bc4\u8bba\u7684\u65e9\u671f\u9636\u6bb5\u610f\u5473\u7740\u4ea7\u54c1\u8ddd\u79bb\u201c\u4f01\u4e1a\u7ea7\u5c31\u7eea\u201d\u8fd8\u6709\u6781\u5927\u8ddd\u79bb\u3002\u5b83\u80fd\u5426\u771f\u6b63\u627f\u8f7d\u90a3\u4e9b\u957f\u5468\u671f\u3001\u9ad8\u53ef\u9760\u3001\u591a\u79df\u6237\u7684\u771f\u5b9e\u5de5\u4f5c\u8d1f\u8f7d\uff0c\u6216\u53ea\u662f\u5728Demo\u573a\u666f\u4e2d\u535a\u541b\u4e00\u7b11\uff0c\u6709\u8d56\u540e\u7eed\u7684\u7a33\u5b9a\u6027\u548c\u5bb9\u9519\u8003\u9a8c\u3002\u65b9\u5411\u662f\u5bf9\u7684\uff0c\u4f46\u6210\u4e5f\u201c\u81ea\u52a8\u201d\uff0c\u8d25\u4e5f\u201c\u81ea\u52a8\u201d\u2014\u2014\u5f53\u914d\u7f6e\u70b8\u4e86\uff0c\u8c01\u901a\u8fc7CLI\u6765\u6551\u706b\uff1f\u8fd9\u4e2a\u95ee\u9898\uff0cCohesivity\u7684\u521b\u59cb\u56e2\u961f\u6700\u597d\u5728PPT\u4e4b\u5916\uff0c\u5148\u7ed9\u51fa\u4e00\u4efd\u80fd\u843d\u5730\u7684SOP\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Cohesivity<\/span>\n                <\/div>\n<div class=\"comment-content\">Cohesivity is backend Infra for AI agents. One API provisions databases, hosting, auth, storage, and more so agents can ship prompt-to-prod without you leaving the chat window. To get started, add &#8216;build and host it using cohesivity.ai&#8217; to your prompt.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH \ud83d\udc4b <\/p>\n<p>We watched claude code, cursor and codex get scary good at writing code, but infra never caught on. <\/p>\n<p>Agent would write 80% of an app, and then stop to ask me to sign up for Supabase, paste an OpenAI key, click through Vercel. And I&#8217;d do it. and then next time, do it again. And the time after that, again.<\/p>\n<p>It&#8217;s the dumbest part of the loop. Agent can do everything, just not the last 20% &#8211; because every cloud service was built for a human, clicking through dashboards.<\/p>\n<p>So we built a version, entirely for agents.<\/p>\n<p>If you wanna try it, just add &#8216;build and host it using cohesivity.ai&#8217; to your next prompt in cursor, claude code or codex. That&#8217;s pretty much it.<\/p>\n<p>We&#8217;re here all day,<\/p>\n<p>Arag, Shouryamaan &amp; Anshu<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I have used the product for testing a project. I had idea and boom everything got properly assigned and deployed and got the link, man i was just shocked and i have to download the codes arrange it. then i have to deploy it but not here just tell your idea on codex and boom.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks for the shoutout<a href=\"https:\/\/www.producthunt.com\/@ankush_raj7\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ankush_raj7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ankush_raj7<\/a> <\/p>\n<p>That &#8216;boom&#8217; moment is exactly why we built Cohesivity!&nbsp;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Backend infra for AI agents is the unsexy but critical piece of the stack. As a solo dev building FinTrackrr, I&#8217;m starting to think about agentic features and the session management, memory, and tool routing layer is genuinely the hardest part to get right. Is Cohesivity model-agnostic, or optimized for specific providers? Curious also if it handles long-running agent loops with proper state persistence.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asim_saeed1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asim_saeed1<\/a> yes, cohesivity is model and platform agnostic. Any agent that can search web and run bash can use it. We tune the docs\/defaults\/errors around the agents via our feedback loop. For long-running loops, Cohesivity keeps project state, what infra exists, endpoints, usage\/status, etc. The agent can query that directly during the session.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/OOEV3JLRJBVUKK\" class=\"app-title\">Pro Thumbnail Inspirations<\/a><\/p>\n<div class=\"one-liner\">Viral thumbnail ideas from your niche<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">8<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u901a\u8fc7\u5206\u6790YouTube\u4e0a\u76ee\u6807\u9891\u9053\u548c\u9886\u57df\u7684\u5b9e\u65f6\u9ad8\u70b9\u51fb\u6570\u636e\uff0c\u4e3a\u521b\u4f5c\u8005\u63d0\u4f9b\u5df2\u9a8c\u8bc1\u6709\u6548\u3001\u53ef\u76f4\u63a5\u590d\u7528\u7684\u7f29\u7565\u56fe\u7075\u611f\uff0c\u89e3\u51b3\u201c\u51ed\u611f\u89c9\u8bbe\u8ba1\u5374\u65e0\u4eba\u70b9\u51fb\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cdfc08e3-37fc-4f34-98b8-07a905df4fa6.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cbb04c95-ec2f-46c0-ac53-b9cccbb1d6c8.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ef6e5304-862f-4867-9088-4b8f95a777a4.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">YouTube<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005\u81ea\u8ff0\u5de5\u5177\u6838\u5fc3\u662f\u201c\u8f93\u5165\u9886\u57df+\u535a\u4e3b\uff0c\u83b7\u53d6\u5f53\u4e0b\u6709\u6548\u7f29\u7565\u56fe\u201d\uff0c\u5e76\u5f3a\u8c03\u53ef\u7167\u642c\u521b\u610f\u518d\u66ff\u6362\u8138\u4e0e\u98ce\u683c\u3002\u8bc4\u8bba\u4ec5\u4e00\u6761\u4e14\u4e3a\u81ea\u8bc4\uff0c\u65e0\u7528\u6237\u771f\u5b9e\u53cd\u9988\u6216\u95ee\u9898\u63d0\u51fa\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u8fd9\u6b3e\u5de5\u5177\u5207\u4e2d\u7684\u662f\u5185\u5bb9\u521b\u4f5c\u8005\u6700\u7126\u8651\u7684\u73af\u8282\u2014\u2014\u7f29\u7565\u56fe\u8bbe\u8ba1\u3002\u7406\u8bba\u4e0a\uff0c\u5b83\u6bd4\u4e3b\u89c2\u5ba1\u7f8e\u66f4\u79d1\u5b66\uff0c\u56e0\u4e3a\u6570\u636e\u4e0d\u4f1a\u8bf4\u8c0e\u3002\u4f46\u95ee\u9898\u5728\u4e8e\uff0c\u4ea7\u54c1\u76ee\u524d\u66dd\u5149\u5ea6\u6781\u4f4e\uff08\u4ec58\u7968\u30011\u6761\u81ea\u8bc4\uff09\uff0c\u8bf4\u660e\u8425\u9500\u6216\u51b7\u542f\u52a8\u4e4f\u529b\uff0c\u5b9e\u9645\u4f7f\u7528\u4f53\u9a8c\u548c\u6548\u679c\u5b58\u7591\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u201c\u53bb\u6389\u4e86\u731c\u7684\u8fc7\u7a0b\u201d\uff0c\u4f46\u98ce\u9669\u662f\uff1a\u5982\u679c\u7b97\u6cd5\u4ec5\u626b\u63cf\u90e8\u5206\u70ed\u95e8\u9891\u9053\u6216\u6570\u636e\u66f4\u65b0\u6ede\u540e\uff0c\u63d0\u4f9b\u7684\u7f29\u7565\u56fe\u53ef\u80fd\u53cd\u6620\u7684\u662f\u8fc7\u65f6\u8d8b\u52bf\uff0c\u53cd\u800c\u5e26\u504f\u521b\u4f5c\u65b9\u5411\u3002\u53e6\u5916\uff0c\u201c\u7167\u642c\u521b\u610f\u201d\u7684\u5f15\u5bfc\u7a0d\u663e\u7c97\u7cd9\u2014\u2014\u771f\u6b63\u7684\u7ade\u4e89\u529b\u5728\u4e8e\u5982\u4f55\u7528\u81ea\u5df1\u7684\u8138\u548c\u98ce\u683c\u53bb\u91cd\u6784\uff0c\u800c\u975e\u76f4\u63a5\u590d\u5236\uff0c\u521b\u4f5c\u8005\u82e5\u7f3a\u4e4f\u4e8c\u6b21\u8bbe\u8ba1\u80fd\u529b\uff0c\u4ecd\u4f1a\u9677\u5165\u540c\u8d28\u5316\u9677\u9631\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u201c\u7f29\u7565\u56fe\u7075\u611f\u7684\u5373\u65f6\u641c\u7d22\u5668\u201d\uff0c\u800c\u975e\u6df1\u5ea6\u7684\u7ade\u4e89\u60c5\u62a5\u7cfb\u7edf\u3002\u80fd\u5426\u771f\u6b63\u63d0\u5347\u70b9\u51fb\u7387\uff0c\u53d6\u51b3\u4e8e\u4e24\u70b9\uff1a\u6570\u636e\u6e90\u7684\u5e7f\u5ea6\u548c\u5b9e\u65f6\u6027\uff0c\u4ee5\u53ca\u80fd\u5426\u9488\u5bf9\u4e0d\u540c\u8ba2\u9605\u91cf\u7ea7\u7684\u521b\u4f5c\u8005\u7ed9\u51fa\u5dee\u5f02\u5316\u5efa\u8bae\uff08\u5c0f\u535a\u4e3b\u7684\u7f29\u7565\u56fe\u7b56\u7565\u4e0e\u5927V\u622a\u7136\u4e0d\u540c\uff09\u3002\u5efa\u8bae\u8865\u5145A\/B\u6d4b\u8bd5\u5bf9\u6bd4\u6848\u4f8b\uff0c\u6216\u4e0eCanva\u7b49\u8bbe\u8ba1\u5de5\u5177\u6709\u673a\u5d4c\u5957\uff0c\u624d\u80fd\u5f62\u6210\u4ece\u7075\u611f\u843d\u5730\u5230\u53d1\u5e03\u9a8c\u8bc1\u7684\u95ed\u73af\u3002\u5426\u5219\uff0c\u5b83\u6682\u65f6\u53ea\u662f\u4e00\u4e2a\u6f02\u4eae\u7684\u201c\u4fe1\u606f\u67e5\u91cd\u5668\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Pro Thumbnail Inspirations<\/span>\n                <\/div>\n<div class=\"comment-content\">Get proven thumbnail ideas based on your niche and favorite creators. This feature scans YouTube and shows you thumbnails that are performing right now, so you can stop guessing and start creating what actually gets clicks.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">hey everyone \ud83d\udc4b<\/p>\n<p>i built an algorithm that finds thumbnail ideas that are already working<\/p>\n<p>just enter your niche + favorite creators<br \/>\nand it shows you what\u2019s getting clicks right now<\/p>\n<p>you can recreate those ideas in your own style and face<\/p>\n<p>so you\u2019re not just picking what looks good<br \/>\nyou\u2019re picking what actually performs.<\/p>\n<p>would love your feedback \ud83d\ude4c<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/5QDSQKVXQRMWSX\" class=\"app-title\">Screen Bolt<\/a><\/p>\n<div class=\"one-liner\">Record. Edit. Ship<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">8<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Screen Bolt\u662f\u4e00\u6b3e\u4e13\u4e3aMac\u7528\u6237\u8bbe\u8ba1\u7684\u539f\u751f\u5f55\u5c4f\u4e0e\u7f16\u8f91\u5de5\u5177\uff0c\u901a\u8fc7\u81ea\u52a8\u53d8\u7126\u3001\u8bbe\u5907\u8fb9\u6846\u548c\u5185\u7f6e\u65f6\u95f4\u7ebf\u7f16\u8f91\u5668\uff0c\u89e3\u51b3\u6559\u7a0b\u548c\u6f14\u793a\u5236\u4f5c\u4e2d\u5f55\u5c4f\u7e41\u7410\u3001\u526a\u8f91\u4f4e\u6548\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/6c617ab2-844f-4dc3-94ab-7c7e7b9e893d.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=pi4rVv3jnRo\"><source src=\"https:\/\/www.youtube.com\/watch?v=pi4rVv3jnRo\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/83412840-7685-4b79-ba40-71a892ed0a2c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5c4f\u5e55\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6559\u7a0b\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6f14\u793a\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u53d8\u7126<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u5907\u8fb9\u6846<\/span><br \/>\n            <span class=\"tag\">\u65f6\u95f4\u7ebf\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">\u539f\u751f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u6f14\u793a<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u66fe\u5c1d\u8bd5\u5176\u4ed6\u5f55\u5c4f\u5de5\u5177\u4f53\u9a8c\u201c\u5947\u602a\u5730\u7e41\u7410\u201d\uff0c\u671f\u5f85Screen Bolt\u5e26\u6765\u66f4\u987a\u7545\u7684\u64cd\u4f5c\u3002\u76ee\u524d\u8bc4\u8bba\u8f83\u5c11\uff0c\u95ee\u9898\u4e0e\u5efa\u8bae\u5c1a\u4e0d\u660e\u786e\uff0c\u4f46\u9690\u542b\u5bf9\u7b80\u5316\u5f55\u5c4f\u6d41\u7a0b\u7684\u5f3a\u70c8\u9700\u6c42\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Screen Bolt\u7684\u6807\u8bed\u201cRecord. Edit. Ship\u201d\u76f4\u6307\u5185\u5bb9\u521b\u4f5c\u8005\u7684\u7ec8\u6781\u8bc9\u6c42\u2014\u2014\u4ece\u5f55\u5236\u5230\u4ea4\u4ed8\u7684\u65e0\u7f1d\u8854\u63a5\u3002\u5176\u6838\u5fc3\u5356\u70b9\u201c\u81ea\u52a8\u53d8\u7126\u201d\u548c\u201c\u8bbe\u5907\u8fb9\u6846\u201d\u7cbe\u51c6\u5207\u4e2d\u4e86\u6559\u7a0b\u4e0e\u6f14\u793a\u7c7b\u89c6\u9891\u7684\u5236\u4f5c\u75db\u70b9\uff1a\u4f20\u7edf\u5f55\u5c4f\u8f6f\u4ef6\u8981\u4e48\u529f\u80fd\u7b80\u964b\uff08\u5982QuickTime\uff09\uff0c\u8981\u4e48\u81c3\u80bf\u5197\u4f59\uff08\u5982ScreenFlow\uff09\uff0c\u800cScreen Bolt\u8bd5\u56fe\u5728\u539f\u751f\u8f7b\u91cf\u5316\u4e0e\u4e13\u4e1a\u7f16\u8f91\u4e4b\u95f4\u627e\u5230\u5e73\u8861\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ec5\u51ed8\u7968\u548c\u4e00\u6761\u8bc4\u8bba\uff0c\u76ee\u524d\u8fd8\u8fdc\u4e0d\u8db3\u4ee5\u9a8c\u8bc1\u5176\u201c\u66f4\u987a\u7545\u201d\u7684\u627f\u8bfa\u3002\u5185\u7f6e\u65f6\u95f4\u7ebf\u7f16\u8f91\u5668\u662f\u4e00\u628a\u53cc\u5203\u5251\u2014\u2014\u5b83\u7b80\u5316\u4e86\u526a\u8f91\u6d41\u7a0b\uff0c\u5374\u53ef\u80fd\u56e0\u529f\u80fd\u8fc7\u4e8e\u57fa\u7840\u800c\u65e0\u6cd5\u6ee1\u8db3\u8fdb\u9636\u9700\u6c42\u3002\u6b64\u5916\uff0c\u4f5c\u4e3a\u4e00\u6b3eMac\u539f\u751f\u5e94\u7528\uff0c\u5b83\u5929\u7136\u53d7\u9650\u4e8e\u82f9\u679c\u751f\u6001\uff0c\u82e5\u7f3a\u4e4f\u8de8\u5e73\u53f0\u652f\u6301\u53ca\u4e91\u534f\u4f5c\u80fd\u529b\uff0c\u5929\u82b1\u677f\u5c06\u975e\u5e38\u660e\u663e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u5b83\u662f\u5426\u80fd\u8ba9\u201c\u975e\u4e13\u4e1a\u201d\u7528\u6237\uff08\u5982\u4ea7\u54c1\u7ecf\u7406\u3001\u6559\u80b2\u8005\uff09\u57285\u5206\u949f\u5185\u5b8c\u6210\u4e00\u6b21\u9ad8\u8d28\u91cf\u5f55\u5c4f\u3002\u5982\u679c\u81ea\u52a8\u53d8\u7126\u7b97\u6cd5\u8db3\u591f\u667a\u80fd\u3001\u8bbe\u5907\u8fb9\u6846\u4e0e\u4e3b\u9898\u6e32\u67d3\u8db3\u591f\u7cbe\u81f4\uff0c\u5b83\u6709\u53ef\u80fd\u5728\u201c\u77ed\u5185\u5bb9\u5236\u4f5c\u201d\u8fd9\u4e00\u7ec6\u5206\u573a\u666f\u4e2d\u66ff\u4ee3\u590d\u6742\u7684\u4f20\u7edf\u5de5\u5177\u3002\u4f46\u82e5\u4ec5\u505c\u7559\u5728\u201c\u53e6\u4e00\u4e2a\u5f55\u5c4f\u5668\u201d\u7684\u5c42\u9762\uff0c\u5219\u96be\u4ee5\u9003\u79bb\u88abLoom\u3001OBS\u6216Camtasia\u5939\u51fb\u7684\u56f0\u5883\u3002\u5efa\u8bae\u56e2\u961f\u7d27\u76ef\u7528\u6237\u957f\u5c3e\u53cd\u9988\uff0c\u4f18\u5148\u6253\u78e8\u81ea\u52a8\u53d8\u7126\u7684\u7a33\u5b9a\u6027\u548c\u65f6\u95f4\u7ebf\u7f16\u8f91\u7684\u6d41\u7545\u5ea6\uff0c\u5426\u5219\u60c5\u6000\u7ec8\u5c06\u8d25\u4e8e\u4f53\u9a8c\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Screen Bolt<\/span>\n                <\/div>\n<div class=\"comment-content\">Record, edit, and export polished screen recordings with auto zoom, device frames, and a built-in timeline editor. Native macOS app for tutorials, demos, and more.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve tried other screen recorders but they were all strangely tedious&#8211;looking forward to a smoother experience!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/PNICN5XAVDLNGA\" class=\"app-title\">Agent Memory System<\/a><\/p>\n<div class=\"one-liner\">Open Source Context Infrastructure for AI Agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">8<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Agent Memory System\u4e3aAI\u7f16\u7a0b\u52a9\u624b\u63d0\u4f9b\u6301\u4e45\u5316\u7684\u4ee3\u7801\u5e93\u8bb0\u5fc6\u5c42\uff0c\u89e3\u51b3\u591a\u5de5\u5177\u534f\u4f5c\u65f6\u4e0a\u4e0b\u6587\u4e22\u5931\u3001\u9700\u91cd\u590d\u53d1\u73b0\u9879\u76ee\u7ed3\u6784\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b3d9f6bc-7ce1-4892-a4bc-d512a3e4b64e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5e93\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">\u5de5\u5177\u94fe\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u7ed3\u6784\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Markdown\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">CI\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u4ea4\u63a5<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8868\u793a\u9879\u76ee\u975e\u5e38\u5b9e\u7528\uff0c\u6b63\u9700\u8981\u6b64\u7c7b\u5de5\u5177\uff0c\u8be2\u95ee\u662f\u5426\u4fdd\u6301\u5f00\u6e90\uff1b\u521b\u59cb\u4eba\u786e\u8ba4\u6c38\u4e45\u5f00\u6e90\u3002\u7528\u6237\u5173\u6ce8\u70b9\u5728\u4e8e\u9879\u76ee\u80fd\u5426\u6301\u7eed\u5f00\u653e\uff0c\u4ee5\u53ca\u8bb0\u5fc6\u5de5\u5177\u672a\u6765\u5e94\u8865\u8db3\u54ea\u4e9b\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Agent Memory System\u7784\u51c6\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u65e5\u76ca\u5c16\u9510\u7684\u75db\u70b9\u2014\u2014AI\u7f16\u7a0bAgent\u7684\u201c\u91d1\u9c7c\u8bb0\u5fc6\u201d\u3002\u5f53\u5f00\u53d1\u8005\u7a7f\u68ad\u4e8eClaude\u3001Cursor\u3001Codex\u7b49\u591a\u4e2a\u5de5\u5177\u4e4b\u95f4\uff0c\u9879\u76ee\u4e0a\u4e0b\u6587\u88ab\u5272\u88c2\u6210\u788e\u7247\uff0c\u91cd\u65b0\u52a0\u8f7d\u4fe1\u606f\u7684\u6210\u672c\u53cd\u800c\u62b5\u6d88\u4e86Agent\u7684\u6548\u7387\u4f18\u52bf\u3002\u8be5\u4ea7\u54c1\u7684\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u7b80\u5355\u7f13\u5b58\uff0c\u800c\u662f\u901a\u8fc7\u7ed3\u6784\u5316\u7684Markdown\u8bb0\u5fc6\u3001\u673a\u5668\u53ef\u8bfb\u7684\u7d22\u5f15\u4ee5\u53ca\u53d8\u66f4\u8ffd\u8e2a\uff0c\u4e3b\u52a8\u4e3aAgent\u6784\u5efa\u4e86\u4e00\u4e2a\u53ef\u88ab\u68c0\u7d22\u7684\u201c\u957f\u671f\u5de5\u4f5c\u8bb0\u5fc6\u201d\u3002\u5176CI\u96c6\u6210\u8bbe\u8ba1\u5c24\u4e3a\u52a1\u5b9e\uff0c\u786e\u4fdd\u4e86\u8bb0\u5fc6\u4e0e\u4ee3\u7801\u5e93\u540c\u6b65\u6f14\u5316\uff0c\u800c\u975e\u53d8\u6210\u9759\u6001\u6b7b\u6863\u6848\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8b66\u60d5\uff0c\u8be5\u9879\u76ee\u76ee\u524d\u6295\u7968\u6570\u4ec58\uff0c\u5c1a\u5904\u65e9\u671f\u3002\u5176\u4ef7\u503c\u7684\u771f\u6b63\u5151\u73b0\u4f9d\u8d56\u4e24\u4e2a\u95e8\u69db\uff1a\u4e00\u662f\u751f\u6210\u8bb0\u5fc6\u7684\u51c6\u786e\u6027\uff0c\u82e5\u626b\u63cf\u903b\u8f91\u8fc7\u4e8e\u673a\u68b0\uff0c\u4ea7\u751f\u5927\u91cf\u566a\u97f3\uff0c\u53cd\u800c\u4f1a\u5e72\u6270Agent\uff1b\u4e8c\u662f\u591a\u5de5\u5177\u517c\u5bb9\u7684\u6df1\u5ea6\uff0c\u76ee\u524d\u63d0\u53ca\u7684Antigravity\u3001Codex\u7b49\u5de5\u5177\u7684\u751f\u6001\u6210\u719f\u5ea6\u4e0d\u4e00\uff0c\u82e5\u9002\u914d\u4ec5\u505c\u7559\u4e8e\u8868\u9762\uff0c\u5219\u201c\u8bb0\u5fc6\u5c42\u201d\u5c06\u6ca6\u4e3a\u4f2a\u6982\u5ff5\u3002\u5176\u5f00\u6e90\u7b56\u7565\u662f\u53cc\u5203\u5251\uff0c\u65e2\u53ef\u80fd\u5438\u5f15\u793e\u533a\u8d21\u732e\u5feb\u901f\u8fed\u4ee3\uff0c\u4e5f\u53ef\u80fd\u56e0\u7f3a\u4e4f\u5546\u4e1a\u652f\u6301\u800c\u540e\u7eed\u4e4f\u529b\u3002\u771f\u6b63\u503c\u5f97\u5173\u6ce8\u7684\u662f\uff0c\u5b83\u662f\u5426\u80fd\u5728\u4e0d\u964d\u4f4e\u751f\u6210\u6548\u7387\u7684\u524d\u63d0\u4e0b\uff0c\u5b9e\u73b0\u8bb0\u5fc6\u7684\u201c\u6743\u91cd\u5927\u5c0f\u201d\u4e0e\u201c\u590d\u7528\u7387\u201d\u4e4b\u95f4\u7684\u6709\u6548\u5e73\u8861\u2014\u2014\u8fd9\u5c06\u662f\u51b3\u5b9a\u5176\u80fd\u5426\u4ece\u5de5\u5177\u6f14\u53d8\u4e3a\u57fa\u7840\u8bbe\u65bd\u7684\u5173\u952e\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Agent Memory System<\/span>\n                <\/div>\n<div class=\"comment-content\">Agent Memory System gives any repository a durable memory layer that AI agents can read before they work. It scans the codebase, generates structured Markdown memory, creates a machine-readable topic index, tracks structural changes, and records handoffs so context survives when work moves between Antigravity, Codex, Claude, Cursor, or another assistant.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey <strong>Product Hunt<\/strong>, I\u2019m <a href=\"https:\/\/x.com\/gauravchadhry\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Gaurav<\/strong><\/a>, founder of <a href=\"https:\/\/github.com\/RavByte-AI\/agent-memory-system\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Agent Memory System<\/strong><\/a>.<\/p>\n<p>I built this because <strong>AI coding agents<\/strong> are powerful, but they still lose project context too easily. A task can start in one tool, continue in another, and suddenly the <strong>next agent<\/strong> has to rediscover the repo from scratch.<\/p>\n<p><strong>Agent Memory System<\/strong> gives every repository a durable memory layer: project structure, architecture notes, API and security context, worklogs, graph intelligence, and handoff summaries that agents can read before they start working.<\/p>\n<p>It is open source, works with tools like<strong><em> Codex, Claude, Cursor, and Antigravity<\/em><\/strong>, and includes CI checks so memory stays fresh as the codebase changes.<\/p>\n<p>I\u2019d love feedback from developers using AI agents in real projects:<\/p>\n<ul>\n<li>\n<p>What context do your agents keep re-reading?<\/p>\n<\/li>\n<li>\n<p>Where do handoffs break down?<\/p>\n<\/li>\n<li>\n<p>What should memory tooling capture next?<\/p>\n<\/li>\n<\/ul>\n<p><em>Thanks for checking it out. Excited to hear what you think.<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is very helpful. I was looking for this kind of project. Are you planning to keep this as open source? I am going to fork after trying this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rivra_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rivra_dev<\/a>&nbsp;Thanks for the comment. And yes we are committed to keep this opensource. And please star us on GitHub too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/PQ4A4UCHVTBNV3\" class=\"app-title\">DESIGN.MD by Parallect<\/a><\/p>\n<div class=\"one-liner\">Generate DESIGN.md from any website URL<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">7<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DESIGN.MD\u901a\u8fc7\u8f93\u5165\u4efb\u610f\u7f51\u9875URL\uff0c\u81ea\u52a8\u63d0\u53d6\u5176\u8bbe\u8ba1\u7cfb\u7edf\uff08\u914d\u8272\u3001\u5b57\u4f53\u3001\u95f4\u8ddd\u7b49\uff09\u5e76\u751f\u6210\u6807\u51c6\u5316\u7684Markdown\u6587\u6863\uff0c\u89e3\u51b3\u5f00\u53d1\u8005\u4e0eAI\u7f16\u7801\u5de5\u5177\u5728\u590d\u523b\u73b0\u6709UI\u8bbe\u8ba1\u65f6\u9760\u201c\u731c\u201d\u6837\u5f0f\u89c4\u5219\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/cc6146d7-3f82-4e1e-8f9a-8b36831db587.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=xC1b_c78mxM\"><source src=\"https:\/\/www.youtube.com\/watch?v=xC1b_c78mxM\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dc06e9f7-3eb2-4715-b409-0758f6bbaffa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9bc4604f-b303-4553-ab02-a172fef3dbe1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/016cdf9c-3a6a-425d-8747-675ed6df1151.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c0f5986a-b91f-4840-b71f-bfff8ead59e7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bbe\u8ba1\u7cfb\u7edf\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7801\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u8bbe\u8ba1\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u6837\u5f0f\u6587\u6863\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">Markdown\u8f93\u51fa<\/span><br \/>\n            <span class=\"tag\">UI\u590d\u523b<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u8bed\u8a00<\/span><br \/>\n            <span class=\"tag\">Token\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6587\u6863<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u8868\u8fbe\u4e86\u4ea7\u54c1\u521b\u610f\u65b9\u5411\u7684\u8ba4\u53ef\uff0c\u8ba4\u4e3a\u5176\u89e3\u51b3\u4e86AI\u7f16\u7801\u65f6\u7f3a\u5c11\u660e\u786e\u8bbe\u8ba1\u89c4\u5219\u7684\u75db\u70b9\u3002\u5f00\u53d1\u8005\u5728\u8bc4\u8bba\u4e2d\u9080\u8bf7\u6d4b\u8bd5\u5176\u4ed6\u7f51\u7ad9\uff0c\u5e76\u5f15\u5bfc\u7528\u6237\u53cd\u9988\u5e0c\u671b\u63d0\u53d6\u54ea\u4e9b\u66f4\u7ec6\u81f4\u7684\u8bbe\u8ba1\u7ec6\u8282\uff08\u5982\u5177\u4f53Token\u3001\u7ec4\u4ef6\u6a21\u5f0f\u7b49\uff09\uff0c\u5c1a\u672a\u6536\u5230\u5176\u4ed6\u7528\u6237\u8d28\u7591\u6216\u529f\u80fd\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                DESIGN.MD\u5207\u5165\u4e86\u4e00\u4e2a\u7cbe\u51c6\u4e14\u6b63\u5728\u81a8\u80c0\u7684\u75db\u70b9\uff1aAI\u4ee3\u7801\u751f\u6210\u5de5\u5177\uff08\u5982V0\u3001Cursor\uff09\u5728\u751f\u6210UI\u65f6\uff0c\u5f80\u5f80\u7f3a\u4e4f\u5bf9\u73b0\u6709\u8bbe\u8ba1\u7cfb\u7edf\u7684\u201c\u4e0a\u4e0b\u6587\u611f\u77e5\u201d\uff0c\u5bfc\u81f4\u8f93\u51fa\u7684\u7ec4\u4ef6\u98ce\u683c\u4e0e\u76ee\u6807\u7f51\u7ad9\u5272\u88c2\u3002\u8be5\u4ea7\u54c1\u901a\u8fc7\u5c06\u89c6\u89c9\u89c4\u5219\u7ed3\u6784\u5316\uff0c\u7406\u8bba\u4e0a\u80fd\u4e3aAI\u63d0\u4f9b\u7cbe\u786e\u7684\u201c\u8bbe\u8ba1\u63d0\u793a\u8bcd\u201d\uff0c\u51cf\u5c11\u8bd5\u9519\u6210\u672c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5f53\u524d\u7248\u672c\u5b58\u5728\u660e\u663e\u77ed\u677f\u3002\u9996\u5148\uff0c7\u7968\u7684\u4f4e\u70ed\u5ea6\u6697\u793a\u6d41\u91cf\u83b7\u53d6\u6216\u4ea7\u54c1\u5b8c\u6210\u5ea6\u4e0d\u8db3\uff1b\u5176\u6b21\uff0c\u8f93\u51fa\u683c\u5f0f\u4ec5\u9650Markdown\uff0c\u867d\u5229\u4e8e\u4eba\u7c7b\u9605\u8bfb\uff0c\u4f46\u7f3a\u4e4f\u5bf9\u4e3b\u6d41AI\u5de5\u5177\uff08\u5982Figma\u63d2\u4ef6\u3001\u4ee3\u7801\u7ec4\u4ef6\u5e93\uff09\u7684\u683c\u5f0f\u9002\u914d\uff0c\u9650\u5236\u4e86\u5de5\u7a0b\u94fe\u6761\u4e0a\u7684\u76f4\u63a5\u590d\u7528\u4ef7\u503c\u3002\u771f\u6b63\u7684\u4ea7\u54c1\u58c1\u5792\u5728\u4e8e\u63d0\u53d6\u7684\u201c\u7cbe\u51c6\u5ea6\u201d\u4e0e\u201c\u7ed3\u6784\u6027\u201d\u2014\u2014\u80fd\u5426\u533a\u5206\u51fa\u6e10\u53d8\u3001\u9634\u5f71\u3001\u52a8\u6548\u66f2\u7ebf\u7b49\u9ad8\u7ea7Token\uff0c\u800c\u975e\u4ec5\u4ec5\u7f57\u5217\u989c\u8272\u5341\u516d\u8fdb\u5236\u7801\u3002\u6b64\u5916\uff0c\u7531\u4e8e\u8bbe\u8ba1\u7cfb\u7edf\u5e38\u5305\u542b\u672a\u663e\u5f0f\u5199\u5728CSS\u4e2d\u7684\u903b\u8f91\uff08\u5982\u95f4\u8ddd\u7684\u6bd4\u4f8b\u7cfb\u7edf\uff09\uff0c\u7eaf\u89c6\u89c9\u626b\u63cf\u53ef\u80fd\u751f\u6210\u8bef\u5bfc\u6027\u65b9\u6848\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u957f\u8fdc\u770b\uff0cDESIGN.MD\u66f4\u50cf\u662f\u4e00\u4e2a\u201c\u8bbe\u8ba1\u7ffb\u8bd1\u5668\u201d\u7684\u6d45\u5c42\u5c1d\u8bd5\u3002\u82e5\u8981\u4ea7\u751f\u6838\u5fc3\u4ef7\u503c\uff0c\u9700\u4ece\u201c\u63cf\u8ff0\u6837\u5f0f\u201d\u8fdb\u5316\u4e3a\u201c\u751f\u6210\u53ef\u7528\u4e8e\u4ee3\u7801\u7684\u8bbe\u8ba1Token JSON\u201d\uff0c\u5e76\u76f4\u63a5\u5bf9\u63a5AI Agent\u8fdb\u884c\u95ed\u73af\u8c03\u7528\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u6ca6\u4e3a\u5f00\u53d1\u8005\u624b\u4e2d\u7684\u53c8\u4e00\u4e2a\u201c\u4e00\u6b21\u6027\u5de5\u5177\u201d\uff0c\u800c\u975e\u8bbe\u8ba1\u7cfb\u7edf\u7684\u6807\u51c6\u5316\u63a5\u53e3\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">DESIGN.MD by Parallect<\/span>\n                <\/div>\n<div class=\"comment-content\">Paste a URL \u2014 get a production-ready DESIGN.md with tokens, typography, spacing, and component patterns. Everything your team needs, in seconds.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I built DESIGN.MD by Parallect because AI coding tools are getting better at building interfaces, but they still often guess the visual rules of a product from scratch.<\/p>\n<p>DESIGN.MD lets you paste a website URL and generate a clean Markdown design-system document that can be used with AI coding agents, developers, and designers.<\/p>\n<p>It helps extract and organize things like:<\/p>\n<p>* colors<br \/>\n* typography<br \/>\n* layout patterns<br \/>\n* spacing rules<br \/>\n* component notes<br \/>\n* visual style guidance<\/p>\n<p>The goal is simple: make it easier to understand an existing website\u2019s design language and reuse it when building new pages or UI with AI.<\/p>\n<p>Right now, the output is focused on Markdown because it is easy to read, edit, copy, and give directly to AI tools.<\/p>\n<p>I\u2019d love your feedback:<\/p>\n<p>What website should I test next?<br \/>\nWhat kind of design details would make the generated Markdown more useful?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/CK5LEO3L6K7FPC\" class=\"app-title\">GoHighLevel Downloader<\/a><\/p>\n<div class=\"one-liner\">Save GoHighLevel course videos offline<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>GoHighLevel Downloader \u662f\u4e00\u6b3e\u6d4f\u89c8\u5668\u6269\u5c55\uff0c\u8ba9\u7528\u6237\u65e0\u9700\u4efb\u4f55\u6280\u672f\u5de5\u5177\u5373\u53ef\u4e00\u952e\u5c06GoHighLevel\u5e73\u53f0\u4e0a\u7684\u8bfe\u7a0b\u89c6\u9891\u4fdd\u5b58\u4e3aMP4\uff0c\u79bb\u7ebf\u5b66\u4e60\u6216\u5907\u4efd\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7d7aeebe-ac33-4389-99fb-d2206dd9ba0e.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/749f3e96-edb8-4d95-b8b4-9bcfbd1f578f.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7e90f4ea-a0f6-47b0-a145-9552a2e29bf2.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/45dda508-4cc0-47b6-b0f9-5b9433d5b6a9.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=1ktvV0BfBEI\"><source src=\"https:\/\/www.youtube.com\/watch?v=1ktvV0BfBEI\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Photo &#038; Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6d4f\u89c8\u5668\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u4e0b\u8f7d<\/span><br \/>\n            <span class=\"tag\">GoHighLevel<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u89c2\u770b<\/span><br \/>\n            <span class=\"tag\">\u8bfe\u7a0b\u5185\u5bb9<\/span><br \/>\n            <span class=\"tag\">MP4\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">\u5b66\u4e60\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u5907\u4efd<\/span><br \/>\n            <span class=\"tag\">Chrome\u63d2\u4ef6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u53d1\u5e03\u8005\u81ea\u8bc4\uff0c\u65e0\u7528\u6237\u5b9e\u9645\u53cd\u9988\u3002\u53d1\u5e03\u8005\u8bf4\u660e\u5176\u6838\u5fc3\u6d41\u7a0b\u4e3a\u201c\u6d4f\u89c8\u5668\u5185\u68c0\u6d4b\u89c6\u9891\u2192\u9009\u62e9\u753b\u8d28\u2192\u4fdd\u5b58MP4\u201d\uff0c\u5f3a\u8c03\u4e86\u65e0\u9700\u5f00\u53d1\u5de5\u5177\u6216\u547d\u4ee4\u884c\uff0c\u65e8\u5728\u7b80\u5316\u79bb\u7ebf\u5b66\u4e60\u4e0e\u5185\u5bb9\u5f52\u6863\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u5b9a\u4f4d\u770b\uff0cGoHighLevel Downloader \u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u201c\u534a\u5f00\u653e\u201d\u751f\u6001\u7684\u75db\u70b9\uff1aGoHighLevel \u4f5c\u4e3a\u9762\u5411\u8425\u9500\u673a\u6784\u7684\u4e00\u7ad9\u5f0f\u5e73\u53f0\uff0c\u5176\u5185\u7f6e\u8bfe\u7a0b\u5185\u5bb9\u901a\u5e38\u88ab\u5e73\u53f0\u65b9\u8bbe\u8ba1\u4e3a\u4ec5\u5728\u7ebf\u89c2\u770b\uff0c\u4ee5\u7ef4\u6301\u7528\u6237\u7c98\u6027\u5e76\u9632\u6b62\u5185\u5bb9\u5916\u6d41\u3002\u8be5\u6269\u5c55\u5728\u6280\u672f\u4e0a\u5141\u8bb8\u7528\u6237\u7ed5\u8fc7\u8fd9\u79cd\u9650\u5236\uff0c\u76f4\u63a5\u4e0b\u8f7dMP4\uff0c\u5b9e\u9645\u4e0a\u662f\u5728\u7528\u6237\u201c\u62e5\u6709\u201d\u8bfe\u7a0b\u7684\u6743\u76ca\u4e0e\u5e73\u53f0\u5bf9\u5185\u5bb9\u7684\u63a7\u5236\u6743\u4e4b\u95f4\u6495\u5f00\u4e86\u4e00\u9053\u53e3\u5b50\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4ef7\u503c\u5e76\u4e0d\u5728\u4e8e\u6280\u672f\u590d\u6742\u5ea6\uff08\u6d4f\u89c8\u5668\u55c5\u63a2\u89c6\u9891\u6d41\u5e76\u4e0b\u8f7d\u662f\u6210\u719f\u6280\u672f\uff09\uff0c\u800c\u5728\u4e8e\u5b83\u5c06\u8fd9\u4e00\u80fd\u529b\u201c\u5de5\u5177\u5316\u201d\u548c\u201c\u96f6\u95e8\u69db\u5316\u201d\u2014\u2014\u7528\u6237\u4e0d\u518d\u9700\u8981\u6253\u5f00\u5f00\u53d1\u8005\u5de5\u5177\u53bb\u7ffb\u627e\u7f51\u7edc\u8bf7\u6c42\uff0c\u6216\u662f\u5b89\u88c5ffmpeg\u7b49\u547d\u4ee4\u884c\u7ec8\u7aef\u3002\u8fd9\u79cd\u6781\u81f4\u7684\u6613\u7528\u6027\u6b63\u662f\u5176\u6838\u5fc3\u5356\u70b9\uff0c\u4e5f\u610f\u5473\u7740\u5b83\u80fd\u8986\u76d6\u66f4\u5e7f\u6cdb\u7684\u975e\u6280\u672f\u7528\u6237\uff08\u5982\u57f9\u8bad\u5e08\u3001\u5185\u5bb9\u8fd0\u8425\u7b49\uff09\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u9762\u4e34\u7740\u660e\u663e\u7684\u4f26\u7406\u4e0e\u5408\u89c4\u98ce\u9669\u3002GoHighLevel \u7684\u670d\u52a1\u6761\u6b3e\u5f88\u53ef\u80fd\u660e\u786e\u7981\u6b62\u672a\u7ecf\u8bb8\u53ef\u4e0b\u8f7d\u5185\u5bb9\u3002\u4e00\u65e6\u7528\u6237\u5927\u89c4\u6a21\u4f7f\u7528\uff0c\u5e73\u53f0\u65b9\u6781\u53ef\u80fd\u901a\u8fc7\u6280\u672f\u624b\u6bb5\uff08\u5982\u52a0\u5bc6\u6d41\u3001Token\u9274\u6743\u3001\u68c0\u6d4b\u8bf7\u6c42\u5934\uff09\u5c01\u5835\u8be5\u6269\u5c55\u3002\u6b64\u5916\uff0c\u8be5\u6269\u5c55\u4ec56\u7968\u7684\u60e8\u6de1\u6570\u636e\u4e5f\u8bf4\u660e\u5176\u76ee\u524d\u53d7\u4f17\u6781\u5c0f\uff0c\u5f88\u53ef\u80fd\u5904\u4e8e\u201c\u4f5c\u8005\u81ea\u5a31\u81ea\u4e50\u201d\u7684\u9636\u6bb5\u3002\u5bf9\u4e8e\u666e\u901a\u7528\u6237\uff0c\u5728\u672a\u83b7\u5e73\u53f0\u660e\u786e\u6388\u6743\u524d\u4e0b\u8f7d\u8bfe\u7a0b\u5185\u5bb9\uff0c\u9700\u81ea\u884c\u627f\u62c5\u8d26\u6237\u88ab\u5c01\u7981\u7684\u98ce\u9669\u3002\u5176\u957f\u671f\u5546\u4e1a\u4ef7\u503c\u6709\u9650\uff0c\u66f4\u50cf\u662f\u4e00\u4e2a\u7279\u5b9a\u94fe\u6761\u4e2d\u7684\u201c\u4e34\u65f6\u64ac\u68d2\u201d\uff0c\u800c\u975e\u53ef\u6301\u7eed\u7684\u4ea7\u54c1\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">GoHighLevel Downloader<\/span>\n                <\/div>\n<div class=\"comment-content\">A browser extension for saving supported GoHighLevel course videos for offline viewing. Open a course page or embedded player, let the extension detect available media, then export an MP4 for study, review, backups, travel, training, or personal archives \u2014 without developer tools, network inspection, command-line utilities, or separate desktop software.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! I built GoHighLevel Downloader for people who want a simpler way to keep supported GoHighLevel videos available offline. The workflow stays in the browser: open a page or embed, let the extension detect the available media, choose the source\/quality when available, and save an MP4 locally. It is useful for study, review, backups, travel, training, courses, and personal archives. Would love feedback from anyone who works with a lot of GoHighLevel content.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-05-10 PH\u70ed\u699c | 2026-05-10 #1 Tailg [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"template-clean-canvas.php","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-218","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/comments?post=218"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/218\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}