{"id":309,"date":"2026-08-11T10:30:50","date_gmt":"2026-08-11T02:30:50","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/11\/2026-08-10\/"},"modified":"2026-08-11T10:30:50","modified_gmt":"2026-08-11T02:30:50","slug":"2026-08-10","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/11\/2026-08-10\/","title":{"rendered":"PH\u70ed\u699c | 2026-08-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-08-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-08-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\/HURZKMJEK6FWXH\" class=\"app-title\">oqoqo<\/a><\/p>\n<div class=\"one-liner\">Build evals and custom benchmarks for real-world tasks<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">316<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>oqoqo\u662f\u4e00\u4e2a\u8ba9\u5f00\u53d1\u56e2\u961f\u5728\u771f\u5b9e\u73af\u5883\u4e2d\u6784\u5efaAI\u4ee3\u7406\u8bc4\u6d4b\u4e0e\u81ea\u5b9a\u4e49\u57fa\u51c6\u6d4b\u8bd5\u7684\u5e73\u53f0\uff0c\u7528\u4e8e\u5ea6\u91cf\u4ee3\u7406\u5728\u771f\u5b9e\u7528\u6237\u4efb\u52a1\u4e2d\u7684\u8868\u73b0\u3001\u53ef\u7528\u6027\u548c\u6210\u672c\u6548\u7387\uff0c\u89e3\u51b3\u73b0\u6709\u57fa\u51c6\u6d4b\u8bd5\u8131\u79bb\u5b9e\u9645\u3001\u65e0\u6cd5\u6307\u5bfc\u4ea7\u54c1\u4f18\u5316\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\/0f576f5a-fef2-4f60-b85a-6f27d5f11777.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\/506a2b58-ba4a-4bef-80af-4e1361f626d5.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\/58139496-6cfe-4b71-a0a9-42ab2e8c5b91.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\/4803aacd-f18f-46bc-b10c-5a2e31ffb701.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/x1dNZLsg39s\"><source src=\"https:\/\/youtu.be\/x1dNZLsg39s\" 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\">Software Engineering<\/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\">AI\u4ee3\u7406\u8bc4\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u57fa\u51c6\u6d4b\u8bd5\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u771f\u5b9e\u73af\u5883\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u5bf9\u6bd4<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">MCP\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u56de\u5f52\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u4f53\u9a8c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u5206\u6790<\/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\u89e3\u51b3\u201c\u771f\u5b9e\u4efb\u52a1\u5b8c\u6210\u5ea6\u201d\u800c\u975e\u201c\u6b65\u9aa4\u6b63\u786e\u6027\u201d\u7684\u75db\u70b9\uff1b\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\u8bbe\u7f6e\u8017\u65f6\u3001\u8bc4\u5206\u7a33\u5b9a\u6027\uff08\u975e\u786e\u5b9a\u6027\uff09\u3001\u590d\u6742\u573a\u666f\u526f\u4f5c\u7528\u5904\u7406\u53ca\u8d28\u91cf\u4e3b\u89c2\u8bc4\u5224\uff1b\u5efa\u8bae\u5173\u6ce8\u201ceval rot\u201d\uff08\u8fc7\u65f6\u6d4b\u8bd5\u96c6\uff09\u4e0e\u5931\u8d25\u7387\u6307\u6807\uff0c\u8ba4\u53ef\u8d1f\u5411\u8bc4\u5206\u4e0e\u591a\u8f6e\u8bd5\u9a8c\u7684\u8bbe\u8ba1\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                oqoqo\u7684\u5207\u5165\u70b9\u7cbe\u51c6\u2014\u2014\u7edd\u5927\u591a\u6570\u73b0\u6709\u57fa\u51c6\uff08\u5982MMLU\u3001HumanEval\uff09\u670d\u52a1\u4e8e\u6a21\u578b\u7ade\u8d5b\uff0c\u5374\u65e0\u6cd5\u56de\u7b54\u4ea7\u54c1\u56e2\u961f\u6700\u5b9e\u9645\u7684\u95ee\u9898\uff1a\u6211\u7684\u754c\u9762\u3001API\u3001MCP\u63a5\u53e3\uff0c\u5230\u5e95\u88abClaude Code\u3001Codex\u8fd8\u662fCopilot\u7528\u5f97\u597d\uff1f\u5b83\u628a\u201c\u4ee3\u7406\u8bc4\u6d4b\u201d\u4ece\u5b9e\u9a8c\u5ba4\u62fd\u8fdb\u4e86\u4ea7\u54c1\u7814\u53d1\u7684\u56de\u5f52\u6d4b\u8bd5\u6d41\u7a0b\uff0c\u8fd9\u662f\u5176\u6838\u5fc3\u4ef7\u503c\u3002\u4f46\u4ece\u8bc4\u8bba\u53cd\u9988\u770b\uff0c\u5e73\u53f0\u9762\u4e34\u4e09\u91cd\u6311\u6218\uff1a\u9996\u5148\u662f\u201c\u4efb\u52a1\u5b9a\u4e49\u7684\u4e3b\u89c2\u6027\u201d\u2014\u2014\u7528\u6237\u81ea\u5b9a\u6210\u529f\u6807\u51c6\u610f\u5473\u7740\u7ed3\u679c\u53ef\u4fe1\u5ea6\u4f9d\u8d56rubric\u8d28\u91cf\uff0c\u6781\u6613\u53d8\u6210\u201c\u6d4b\u8bd5\u6d4b\u8bd5\u8005\u201d\uff1b\u5176\u6b21\u662f\u201c\u975e\u786e\u5b9a\u6027\u201d\u2014\u2014\u521b\u59cb\u56e2\u961f\u4ec5\u7528\u201c\u591a\u6b21\u8bd5\u9a8c\u53d6\u7edf\u8ba1\u663e\u8457\u6027\u201d\u56de\u5e94\uff0c\u8fd9\u63a9\u76d6\u4e86\u8bc4\u5206\u65b9\u5dee\u5bf9\u7528\u6237\u4fe1\u4efb\u7684\u4fb5\u8680\uff0c\u5c24\u5176\u5f53\u4efb\u52a1\u6d89\u53ca\u5916\u90e8\u526f\u4f5c\u7528\u6216\u957f\u65f6\u95f4\u591a\u6b65\u63a8\u7406\u65f6\uff0c\u5982\u4f55\u754c\u5b9a\u201c\u5b8c\u6210\u201d\u4ecd\u7f3a\u5de5\u7a0b\u5316\u65b9\u6848\uff1b\u6700\u540e\u662f\u201ceval rot\u201d\u2014\u2014\u6709\u8bc4\u8bba\u7cbe\u51c6\u6307\u51fa\u6d4b\u8bd5\u96c6\u8fc7\u65f6\u5bfc\u81f4\u201c\u7eff\u706f\u65e0\u610f\u4e49\u201d\uff0c\u521b\u59cb\u4eba\u4ec5\u56de\u5e94\u201c\u503c\u5f97\u63a2\u7d22\u201d\uff0c\u8bf4\u660e\u5c1a\u65e0\u7cfb\u7edf\u89e3\u6cd5\u3002\u5176\u5546\u4e1a\u60f3\u8c61\u7a7a\u95f4\u5728\u4e8e\u6210\u4e3a\u201c\u4ee3\u7406\u65f6\u4ee3\u7684Sentry\u201d\u2014\u2014\u4ece\u76d1\u63a7\u4ee3\u7801\u9519\u8bef\u5347\u7ea7\u4e3a\u76d1\u63a7\u4ee3\u7406\u884c\u4e3a\u504f\u5dee\uff0c\u4f46\u524d\u63d0\u662f\u80fd\u5efa\u7acb\u8de8\u56e2\u961f\u7684\u516c\u5171\u57fa\u51c6\u534f\u8bae\u4e0e\u53ef\u590d\u73b0\u7684\u8bc4\u6d4b\u6807\u51c6\u3002\u82e5\u4ec5\u505c\u7559\u5728\u63d0\u4f9b\u6c99\u76d2\u548c\u7edf\u8ba1\u5de5\u5177\uff0c\u5219\u5bb9\u6613\u6ca6\u4e3a\u4e00\u6b21\u6027\u751f\u6210\u62a5\u544a\u7684\u201c\u6d4b\u4e86\u5c31\u8dd1\u201d\u5de5\u5177\uff0c\u7f3a\u4e4f\u7c98\u6027\u3002\u957f\u671f\u770b\uff0c\u80fd\u5426\u4ece\u201c\u8dd1\u5206\u5e73\u53f0\u201d\u8fdb\u5316\u4e3a\u201c\u4ee3\u7406\u884c\u4e3a\u5ba1\u8ba1\u7f51\u7edc\u201d\uff08\u7c7b\u4f3c\u4ee3\u7801\u5ba1\u8ba1+\u6027\u80fd\u76d1\u63a7\uff09\uff0c\u51b3\u5b9a\u5176\u5929\u82b1\u677f\u3002\u76ee\u524d316\u7968\u7684\u91cf\u7ea7\u8c08\u4e0d\u4e0a\u51fa\u5708\uff0c\u4f46\u8bc4\u8bba\u8d28\u91cf\u9ad8\uff0c\u8bf4\u660e\u8e29\u4e2d\u4e86\u771f\u5b9e\u75db\u70b9\u2014\u2014\u5173\u952e\u662f\u80fd\u5426\u628a\u201c\u6709\u8da3\u201d\u53d8\u6210\u201c\u6301\u7eed\u5fc5\u8981\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\">oqoqo<\/span>\n                <\/div>\n<div class=\"comment-content\">Run eval experiments at scale in realistic environments. Define custom task sets to build your private benchmarks, measure how well agents can use any product, and find best models for your use cases. Generate dynamic insights to detect frictions in product interfaces or token inefficiencies.<\/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 Hunters, I\u2019m Haritha, co-founder of Oqoqo<\/p>\n<\/p>\n<p>Every week there is a new model launch and yet another benchmark released in the wild. But they do not help product builders evaluate how well their products can be discovered and used by these agents and models, or talk about actual tasks their users would perform. <strong>Most benchmarks today exist in curated environments and do not translate well to the real world.<\/strong><\/p>\n<\/p>\n<p>We built Oqoqo to bridge this gap. <strong>Oqoqo makes it super simple to build realistic evals and custom benchmarks for tasks users actually care about.<\/strong><\/p>\n<\/p>\n<p>With Oqoqo, you can define tasks as simple as a prompt your user might give to an agent e.g. <em>\u201cintegrate supabase to my webapp to store user sign ups\u201d, <\/em>provide what you want to test for e.g. <em>Supabase SDK, API, CLI etc.<\/em> and define what success looks like e.g.<em> \u201cmust set up RLS\u201d.&nbsp;<\/em><\/p>\n<p>We handle the rest. Our infrastructure spins up isolated sandboxes, executes the tasks against agents of your choice, catalogs every single step the agents take including tool calls, retries, discovery loops etc, and documents token consumption, cost, along with evaluating success\/failure based on your success criteria.<\/p>\n<\/p>\n<p>With Oqoqo you can:<\/p>\n<ol>\n<li>\n<p>Reliably measure how agent friendly your product surfaces are <strong>against Codex, Claude Code, OpenClaw, Hermes, Pi, Opencode, Cursor, GitHub Copilot<\/strong><\/p>\n<\/li>\n<li>\n<p>Regression test MCP, CLI, skills, SDK, and any agent facing interface (we are continuously using Oqoqo to dogfood and improve our own MCP\/CLI)<\/p>\n<\/li>\n<li>\n<p><strong>Create and share custom benchmarks <\/strong>for how agents discover and use your product<\/p>\n<\/li>\n<li>\n<p>Compare models and harnesses for domain specific tasks<\/p>\n<\/li>\n<li>\n<p>See whether new versions improve agent experience<\/p>\n<\/li>\n<\/ol>\n<p>We built Oqoqo for teams building products that agents want to use, and for teams putting agents into day to day work.<\/p>\n<p>And the best thing? <strong>Your agent can handle the setup for you <\/strong>\u2728, try it out for free today: <a href=\"https:\/\/oqoqo.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/oqoqo.ai\/<\/a><\/p>\n<\/p>\n<p>We would love to learn what kind of experiments you would like to run and what questions you have about agent interactions and agent experience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>14<\/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\/@margharitha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@margharitha<\/a>, congratulations on your launching; it&#8217;s really nice and gives more visibility. as an online reputation expert, I came across your profile on G2. Are you open for my observation? via dm or email <a href=\"mailto:emmysegeh@gmail.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">emmysegeh@gmail.com<\/a>  oqoqo <\/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\/@margharitha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@margharitha<\/a>&nbsp;Great Work!<\/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\/@margharitha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@margharitha<\/a>&nbsp;This is a really interesting problem because agent evals need to move beyond \u201cdid the model follow the steps\u201d and start answering \u201cdid it actually accomplish the job?\u201d<\/p>\n<\/p>\n<p>I especially like the focus on real product surfaces and real user tasks. That feels much closer to how agents behave in production than another leaderboard benchmark.<\/p>\n<\/p>\n<p>The part I\u2019d be most curious to explore is how you handle tasks where success depends on an external side effect, not just the agent\u2019s output. That is where things can get really interesting.<\/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>Evaluating models and harnesses in an easy, consistent way is hard. Good to see your platform take up the challenge and ease the entire process. 10\/10 recommend<\/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\/@priyankar_kumar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priyankar_kumar1<\/a>&nbsp;Thanks Priyankar!<\/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 idea of testing agents on the real world tasks make sense. How long does it take to setup an eval with oqoqo ? <\/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\/@farhan_nazir55\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farhan_nazir55<\/a>&nbsp;congrats on your launch last day Farhan! you can hook up our plugin\/MCP with your coding agent and allow the agent to create eval sets. This makes it really easy to get started. The hardest part of the process is making sure the instructions and rubrics that don&#8217;t overexplain things to agents.<\/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>Can teams compare different models on the exact same custom task set? <\/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\/@aarav_pittman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aarav_pittman<\/a>&nbsp;Yes, ofc! And it&#8217;s not just for model comparison but you can compare any agent\/harness. Even within a given harness, you can compare models and even within a model, you can compare even amongst different reasoning levels\/efforts. An experiment is the same custom task set spanned across all these permutation\/combinations.<\/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>Have you noticed big differences between Claude Code, Codex, Cursor, and Copilot when running the exact same real world task?<\/p>\n<\/p>\n<p>congrats <a href=\"https:\/\/www.producthunt.com\/@margharitha\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"margharitha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@margharitha<\/a> &amp; team!<\/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\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;definitely. There are a lot of cool insights you can find by doing such running against multiple agents. For example we have found that codex tends to spend a lot more time researching than implementing but ultimately finds the right answer whereas claude code tends to implement and iterate a lot more until it finds the right solution.<\/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>Congrats on the launch. Oqoqo looks like a really interesting approach to evaluating AI agents in realistic environments.<\/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\/@priyankamandal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priyankamandal<\/a>&nbsp;thanks priyanka<\/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 an incredible concept!<\/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\/@liz_dsouza\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@liz_dsouza<\/a>&nbsp;Thanks Liz!<\/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 realistic environments part is the right fight. the thing id watch next is eval rot, a case written six months ago measures the world as it was the day someone wrote it, and a suite that stops failing looks exactly the same as a product that got good. the number id surface is what share of cases have ever failed, because the ones that never have arent tests, theyre decoration, and they pile up until the green means nothing<\/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\/@jernej_jan_kocica\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jernej_jan_kocica<\/a>&nbsp;that&#8217;s a great point. definitely worth exploring how to flag outdated eval sets. thanks jernej<\/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 super useful! I\u2019ve been building agents and skills to make product onboarding easier for enterprise customers but right now its kind of a black box &#8211; I don\u2019t really know how they are using it, where things are breaking and what I should fix first. If I get to see how the agent behaves across diff scenarios and where users are getting stuck it will be huge. Can&#8217;t wait to use the CLI and run this on autopilot!<\/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\/@priyansh_rastogi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priyansh_rastogi<\/a>&nbsp;yess! try out the plugin for claude code. It is so much fun to just let claude handle the setup and experiment runs. Also really helpful to create custom visualizations.<\/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 same task rarely takes the same path twice with an agent, different tool call order, different retries. how are you keeping the scoring stable run over run so a benchmark result doesn&#8217;t just become noise from agent nondeterminism<\/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\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Great question! One of the key reasons you should do such evals is exactly this non determinism. In a deterministic system, once you write unit tests, you are good. But with agents interacting with your surfaces, this changes significantly. One way to bring back some predictability is by running multiple trials so you have statistical significance to know what is the shared behavior across runs.<\/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 part eval systems often miss is recovery behavior: permission denial, stale credentials, partial side effects, and a rerun after failure. A benchmark that scores the happy path but not cleanup and recovery can reward an agent that looks finished while leaving the product in a worse state.<\/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\/@krekeltronics\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@krekeltronics<\/a>&nbsp;Definitely! One thing we have found helpful is to add negative rubric criteria that makes sure we are measuring when things go wrong as well.<\/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 token efficiency insights caught my attention. Small inefficiencies can become pretty expensive when agents run at scale.<\/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\/@maklyen_may\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maklyen_may<\/a>&nbsp;Definitely. We have found it really helpful to run multiple trials and see the trends, really brings the inefficiencies to the front.<\/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>Evaluation becomes a major challenge once AI systems move beyond demos. What experience pushed you toward building a dedicated platform for this problem? <\/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\/@noahanderson\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@noahanderson<\/a>&nbsp;Most eval platforms today seem like they need a data scientist to operate and yet don&#8217;t reflect the real systems (dependencies, complex file context etc) needed for it. Oqoqo comes from the effort of trying to make it approachable for people to do evals that matter to them in their day to day without losing the nuance.<\/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\">How do you handle tasks where an agent  technically completes the job but the quality of tge result is still poor?<\/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\/@rukhsar_amjad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rukhsar_amjad<\/a>&nbsp;The criteria can be as elaborate\/simple as you want, having criteria around quality definitely helps manage this.<\/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\/O2BNSCSAU5BUCP\" class=\"app-title\">Portfolio Lab<\/a><\/p>\n<div class=\"one-liner\">AI investing, done responsibly<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">275<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Portfolio Lab \u662f\u4e00\u4e2a\u8d1f\u8d23\u4efb\u7684AI\u6295\u8d44\u7b56\u7565\u5e73\u53f0\uff0c\u7528\u4e13\u6709\u91cf\u5316\u6a21\u578b\u751f\u6210\u7b56\u7565\uff0c\u5e76\u5f3a\u5236\u7ecf\u8fc7\u672a\u89c1\u8fc7\u6570\u636e\u548c\u5b9e\u65f6\u7eb8\u9762\u4ea4\u6613\u9a8c\u8bc1\u540e\uff0c\u624d\u5141\u8bb8\u901a\u8fc7\u4f60\u7684\u7ecf\u7eaa\u8d26\u6237\u6216MCP\u667a\u80fd\u4f53\u771f\u5b9e\u90e8\u7f72\u8d44\u91d1\uff0c\u89e3\u51b3\u201cAI\u7b56\u7565\u770b\u4f3c\u4f18\u79c0\u5b9e\u5219\u8fc7\u62df\u5408\u201d\u7684\u4fe1\u4efb\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\/a7481a55-cc44-4e97-a32b-91521c2b7293.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\/c073c581-f563-4f07-b61a-fd42e5ddb992.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\/0c89c2e9-abc1-42f3-93f1-08daaeaa6a65.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\/544c1038-c35e-4cc3-b207-4e8755848473.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\/9b71fdaf-c472-4ad2-9686-4ec58d19ca21.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\/08c67fb0-1b08-4ca8-bfcc-ae7e4e3d1074.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\/5738d16d-d703-41af-bc62-8f5f6af04ff1.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\/2e1c138b-c442-4206-be2f-b3042bffacb4.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/b-yl9vZEBVM\"><source src=\"https:\/\/youtu.be\/b-yl9vZEBVM\" 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\">Investing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6295\u8d44<\/span><br \/>\n            <span class=\"tag\">\u91cf\u5316\u7b56\u7565<\/span><br \/>\n            <span class=\"tag\">\u56de\u6d4b\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u7eb8\u9762\u4ea4\u6613<\/span><br \/>\n            <span class=\"tag\">\u98ce\u9669\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">SEC\u6ce8\u518c<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u7ec4\u5408\u6784\u5efa<\/span><br \/>\n            <span class=\"tag\">MCP\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u76d1\u7ba1\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u91d1\u878d\u79d1\u6280<\/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\u672a\u89c1\u8fc7\u6570\u636e+\u7eb8\u9762\u4ea4\u6613\u201d\u7684\u9a8c\u8bc1\u7406\u5ff5\uff0c\u8ba4\u4e3a\u5207\u4e2dLLM\u56de\u6d4b\u865a\u5047\u7e41\u8363\u7684\u75db\u70b9\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u5b9e\u76d8\u6267\u884c\u4e2d\u7684\u6ed1\u70b9\/\u5ef6\u8fdf\u5982\u4f55\u5efa\u6a21\uff1b\u7b56\u7565\u5728\u5236\u5ea6\u5207\u6362\u6216\u884c\u4e3a\u6f02\u79fb\u65f6\u662f\u5426\u81ea\u52a8\u9000\u5f79\uff08\u521b\u59cb\u4eba\u56de\u5e94\u4e3a\u4eba\u5de5\u5224\u65ad\uff0c\u57fa\u4e8e\u884c\u4e3a\u800c\u975e\u6536\u76ca\uff09\uff1b\u7ec4\u5408\u5185\u7b56\u7565\u9690\u85cf\u76f8\u5173\u6027\u5982\u4f55\u81ea\u52a8\u6807\u8bb0\uff08\u56de\u5e94\u4e3a\u8def\u7ebf\u56fe\u529f\u80fd\uff09\u3002\u53e6\u6709\u7528\u6237\u8d28\u7591\u4fe1\u4efb\u95e8\u69db\uff0c\u521b\u59cb\u4eba\u4ee5SEC\u6ce8\u518cRIA\u5df2\u6709\u5b9e\u76d8\u7ba1\u7406\u7ecf\u9a8c\u56de\u5e94\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                Portfolio Lab\u7684\u806a\u660e\u4e4b\u5904\uff0c\u5728\u4e8e\u5b83\u7cbe\u51c6\u8e29\u4e2d\u4e86\u5f53\u524dAI\u6295\u8d44\u53d9\u4e8b\u4e2d\u6700\u8106\u5f31\u7684\u4e00\u73af\u2014\u2014\u5927\u6a21\u578b\u751f\u6210\u7b56\u7565\u7684\u201c\u53ef\u4fe1\u5ea6\u201d\u3002\u521b\u59cb\u4eba\u75281292\u4e2a\u7b56\u7565\u7684\u5ba1\u8ba1\u5b9e\u9a8c\u7acb\u8d77\u4e86\u4e00\u4e2a\u6781\u5177\u8bf4\u670d\u529b\u7684\u6545\u4e8b\uff1aLLM\u7684\u6570\u5b66\u77ed\u677f\u4f1a\u8ba9\u865a\u5047\u4f18\u52bf\u85cf\u5f97\u6781\u6df1\uff0c\u4e13\u4e1a\u5bf9\u51b2\u57fa\u91d1\u7ecf\u5386\u90fd\u8981\u6570\u65e5\u9010\u884c\u5ba1\u4ee3\u7801\u624d\u80fd\u62c6\u7a7f\u3002\u8fd9\u4e0d\u4ec5\u662f\u4ea7\u54c1\u5dee\u5f02\u5316\u7684\u950b\u5229\u5207\u53e3\uff0c\u66f4\u662f\u5728\u6559\u80b2\u5e02\u573a\uff1aAI\u751f\u6210\u7b56\u7565\u7684\u6210\u672c\u5df2\u8d8b\u8fd1\u4e8e\u96f6\uff0c\u771f\u6b63\u7684\u7a00\u7f3a\u54c1\u662f\u201c\u8bc1\u4f2a\u80fd\u529b\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5ba2\u89c2\u5ba1\u89c6\uff0c\u5176\u5546\u4e1a\u62a4\u57ce\u6cb3\u5e76\u975e\u4e0d\u53ef\u903e\u8d8a\u3002\u6240\u5ba3\u79f0\u7684\u201c\u4e13\u6709\u91cf\u5316\u6a21\u578b\u201d\u672a\u62ab\u9732\u4efb\u4f55\u6838\u5fc3\u7ec6\u8282\uff0cSEC\u6ce8\u518c\u8eab\u4efd\uff08alphaAI\uff09\u7684\u786e\u589e\u52a0\u4e86\u5408\u89c4\u80cc\u4e66\uff0c\u4f46\u6ce8\u518c\u4e0d\u610f\u5473\u7740\u7b56\u7565\u6709\u6548\uff0c\u53ea\u662f\u5bf9\u4fe1\u62ab\u548c\u5229\u76ca\u51b2\u7a81\u7684\u7ea6\u675f\u3002\u6700\u5173\u952e\u7684\u9a8c\u8bc1\u73af\u8282\u2014\u2014\u672a\u89c1\u8fc7\u6570\u636e\u3001\u7eb8\u9762\u4ea4\u6613\u2014\u2014\u672c\u8d28\u4e0a\u4ecd\u662f\u5386\u53f2\u91cd\u6f14\uff0c\u65e0\u6cd5\u89c4\u907f\u5236\u5ea6\u6027\u7a81\u53d8\uff08\u59822020\u5e743\u6708\u7684\u6d41\u52a8\u6027\u5d29\u584c\uff09\u3002\u521b\u59cb\u4eba\u5bf9\u6b64\u7684\u56de\u5e94\u201c\u9760\u884c\u4e3a\u800c\u975e\u6536\u76ca\u5224\u65ad\u9000\u4f11\u201d\u903b\u8f91\u81ea\u6d3d\uff0c\u4f46\u5c06\u8bca\u65ad\u8d23\u4efb\u5b8c\u5168\u629b\u7ed9\u7528\u6237\uff0c\u5bf9\u666e\u901a\u6295\u8d44\u8005\u800c\u8a00\u5b9e\u64cd\u95e8\u69db\u6781\u9ad8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u6df1\u5c42\u7684\u95ee\u9898\u5728\u4e8e\uff1a\u5e73\u53f0\u63d0\u4f9b\u201c\u7ec4\u5408\u7b56\u7565\u8986\u76d6\u5f7c\u6b64\u5f31\u70b9\u201d\uff0c\u5374\u627f\u8ba4\u9690\u85cf\u76f8\u5173\u6027\u68c0\u6d4b\u4ecd\u5728\u8def\u7ebf\u56fe\u4e0a\u3002\u8fd9\u610f\u5473\u7740\u5f53\u524d\u7528\u6237\u914d\u7f6e\u7ec4\u5408\u65f6\uff0c\u6781\u5927\u4f9d\u8d56\u81ea\u8eab\u5bf9\u7b56\u7565\u884c\u4e3a\u6a21\u5f0f\u7684\u7406\u89e3\u2014\u2014\u8fd9\u6070\u6070\u662f\u521b\u59cb\u4eba\u627f\u8ba4\u201c\u8fde\u4e13\u4e1a\u4eba\u624d\u4e5f\u96be\u77ed\u671f\u638c\u63e1\u201d\u7684\u80fd\u529b\u3002\u4e8e\u662f\u4ea7\u54c1\u51fa\u73b0\u4e86\u4e00\u4e2a\u540a\u8be1\uff1a\u5b83\u6210\u529f\u5730\u8ba9\u6295\u8d44\u51b3\u7b56\u53d8\u5f97\u66f4\u5ba1\u614e\uff0c\u5374\u628a\u51b3\u7b56\u8d1f\u62c5\u4eceAI\u7684\u4e0d\u53ef\u4fe1\u8f6c\u79fb\u5230\u4e86\u7528\u6237\u4e13\u4e1a\u6027\u7684\u9ad8\u8981\u6c42\u4e0a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u77ed\u671f\u770b\uff0c\u514d\u8d39\u8ba1\u5212+40%\u9996\u5e74\u6298\u6263\u662f\u52a1\u5b9e\u7684\u83b7\u5ba2\u7b56\u7565\uff0c\u5c24\u5176\u9002\u5408\u6709\u7f16\u7a0b\u80fd\u529b\u3001\u61c2\u91cf\u5316\u4f46\u4e0d\u60f3\u4ece\u5934\u9020\u8f6e\u5b50\u7684\u4e2a\u4eba\u5f00\u53d1\u8005\u3002\u4f46\u82e5\u8981\u8ba9\u5927\u4f17\u5e02\u573a\u4e3a\u201c\u8d23\u4efb\u611f\u201d\u4e70\u5355\uff0cPortfolio Lab\u9700\u8981\u5c3d\u5feb\u5c06\u201c\u81ea\u52a8\u8bc6\u522b\u5171\u540c\u5931\u6548\u6a21\u5f0f\u201d\u7b49\u8def\u7ebf\u56fe\u529f\u80fd\u843d\u5730\uff0c\u5c06\u4e13\u5bb6\u5224\u65ad\u4ea7\u54c1\u5316\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u59cb\u7ec8\u53ea\u662f\u201c\u806a\u660e\u6295\u8d44\u8005\u7684\u5c0f\u4f17\u5de5\u5177\u201d\uff0c\u800c\u975e\u58f0\u79f0\u7684\u201c\u8d1f\u8d23\u4efb\u7684AI\u6295\u8d44\u5e73\u53f0\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\">Portfolio Lab<\/span>\n                <\/div>\n<div class=\"comment-content\">AI made building investment strategies easy. Telling a good one from a lucky one still takes expertise. Portfolio Lab is the responsible AI investing platform: every strategy is tested on unseen data and in live markets. Connect your agent to deploy only vetted strategies in your own brokerage account. SEC-registered.<\/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&#8217;m Rich Sun, founder of Portfolio Lab.<\/p>\n<p>AI made building investment strategies easy, but telling a good one from a lucky one still takes expertise. That&#8217;s the part most products glaze over.<\/p>\n<p>\ud83e\uddd0 <strong>The problem<\/strong><\/p>\n<p>Ask any AI for a strategy and you&#8217;ll get one in seconds, with a beautiful backtest attached. So we ran an experiment: we had Claude build 1,292 strategies. I&#8217;m a hedge fund professional, and it still took me days of auditing the code line by line to find all the subtle errors quietly inflating the results. After correcting them, nearly all of the strategies lost their edge. They looked brilliant. They were just lucky, and the AI&#8217;s flawed logic was hiding it. That&#8217;s the thing about LLMs: they&#8217;re built to reason in language, not to crunch numbers, and definitely not the noisy time-series data of the stock market.<\/p>\n<p>And the traps sit exactly where LLMs are weakest: in the numbers. If it took a professional days to catch them, imagine the average retail investor. Prompting an agent and trusting the output isn&#8217;t a strategy, it&#8217;s a coin flip.<\/p>\n<p>\ud83d\udca1 <strong>What we built<\/strong><\/p>\n<p>Portfolio Lab is not another LLM wrapper. Under the hood are proprietary quantitative models, purpose-built for markets and trained on decades of data, doing the work LLMs can&#8217;t. But the models are only half of it. AI investing, done responsibly, means one rule with no exceptions: no strategy touches money until it survives testing on data it has never seen and in live markets. You set the goal. Our models build. The testing decides.<\/p>\n<p>\u2699\ufe0f <strong>How it works<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Build:<\/strong> set your goal, and our quantitative models construct systematic strategies<\/p>\n<\/li>\n<li>\n<p><strong>Validate:<\/strong> every strategy is tested on unseen data, then runs live in paper before a real dollar moves<\/p>\n<\/li>\n<li>\n<p><strong>Deploy:<\/strong> connect Claude, ChatGPT, or any MCP agent to trade it in your own account, or run it in a managed account at our SEC-registered investment advisor<\/p>\n<\/li>\n<\/ul>\n<p>\ud83c\udfaf <strong>What makes us different<\/strong><\/p>\n<ul>\n<li>\n<p>Anyone can use AI to build a strategy now. We make every strategy prove itself: unseen data, multiple market regimes, live paper. Most don&#8217;t survive, and that&#8217;s the point<\/p>\n<\/li>\n<li>\n<p>No hiding: every vetted strategy shows its full record, including where it struggles<\/p>\n<\/li>\n<li>\n<p>Portfolios, not picks: combine strategies that cover each other&#8217;s weaknesses, so where one fails, another carries<\/p>\n<\/li>\n<li>\n<p>Deploy through your agent and we never hold your money or place a single order. Your agent, your broker, your account<\/p>\n<\/li>\n<\/ul>\n<p>\ud83c\udf81 <strong>Launch offer<\/strong><\/p>\n<p>Product Hunt users get 40% off your first year on annual plans, launch day through August 13 (automatically applied, no code needed). Want to explore first? Our free plan is yours forever, no card required.<\/p>\n<p>Thanks for checking us out, I&#8217;ll be here all day to answer your questions \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>27<\/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\">@rich_sun Testing strategies on paper trading is one thing, but how do your quantitative models factor in real-world execution risks like slippage, liquidity drops, or latency when executing through third-party agents\/brokers?<\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rich_sun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rich_sun<\/a>&nbsp;Great build Rich, I have already checked out the free plan. I personally want to see it prove itself before committing to paid plans so thanks for the forever free plan even though it&#8217;s limited to only one strategy. <\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rich_sun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rich_sun<\/a>&nbsp;Nice launch Congrats\ud83d\ude4cSince you support connecting external agents via MCP how do you prevent local execution latency or API connection drops from causing missed orders or execution slippage?<\/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 1,292-strategies experiment is the part that stuck with me \u2014 that it took a hedge fund professional days of line-by-line auditing to find the errors quietly inflating the results. We ended up in the same place from the other direction, working on SaaS financial models: built the thing in Excel first until it was genuinely complex and correct, then coded it, and kept the AI outside the maths entirely. It drives the inputs and interprets the output; it never computes anything. Same reason you give \u2014 wrong numbers don&#8217;t look wrong, so an LLM doing the arithmetic is really a plausible-error generator.<\/p>\n<\/p>\n<p>One question on the vetting: unseen data still comes from a market that actually existed. How do you handle regime change \u2014 a strategy that clears out-of-sample and live paper trading because the regime it was fitted to hadn&#8217;t broken yet? Do you retire a deployed strategy automatically once live behaviour drifts from the tested distribution, or is that left to the operator?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/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\/@xp_vit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xp_vit<\/a>&nbsp;Left to the operator, deliberately. A drawdown from regime change and a drawdown from a broken model look identical in a return chart, so the diagnosis has to happen at the behavior level: is the machinery still doing what it was designed to do in the environment it&#8217;s facing. Intact machinery in a hostile regime is a cost you agreed to pay. Broken machinery is decay, and that&#8217;s the retirement case. We surface the drift so the operator makes that call with evidence instead of pain. Auto-retiring on drift would just be redesigning at the bottom with extra steps.<\/p>\n<\/p>\n<p>I went deep on this in two posts on our research page, &#8220;Judge the behavior, not the returns&#8221; and &#8220;Why the best trading models refuse to learn,&#8221; if you want the full argument.<\/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>Congrats Rich on the launch! I like that you\u2019re not treating a good backtest as evidence that a strategy works. The out-of-sample + paper trading approach makes a lot of sense. I&#8217;ll give it a try.<\/p>\n<\/p>\n<p>I&#8217;m curious, is a strategy starts deviating from its expected risk\/return, what triggers a review or retirement?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/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\/@mad94\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mad94<\/a>&nbsp;Thanks! The trigger is behavior, not returns. Returns are too noisy to tell a bad stretch from a broken model over any window you&#8217;d actually act on. So a review asks whether the machinery is still working: is the model still classifying risky days, on average, as riskier than calm ones? A strategy can lose money while classifying correctly, that&#8217;s a regime cost, not a failure. But if the classification itself breaks down, that&#8217;s decay, and that&#8217;s the retirement case. Criteria are set before deployment, otherwise the decision gets made at the bottom, by pain.<\/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>Congrats Rich, really interesting approach. I especially like the idea of building portfolios of strategies that compensate for each other rather than chasing one \u201cperfect\u201d strategy.<\/p>\n<p>Curious how you detect hidden correlation between strategies though. Two strategies can look different on the surface but still depend on the same market regime or underlying exposure. Do you automatically flag that before they\u2019re combined into a portfolio?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alpertayfurr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alpertayfurr<\/a>&nbsp;Great question, and you&#8217;re right that surface return correlation is the wrong test. Two strategies can look uncorrelated for years and then fail together, because what matters is whether they share a failure mode, not whether their daily returns move.<\/p>\n<\/p>\n<p>The practical way we frame it is regime behavior. Every strategy has environments that punish it, and those are visible in how it performed across known regimes. If one strategy is weak in sharp V-shaped recoveries, you pair it with one that&#8217;s strong exactly there. Today you can see that behavior in the platform and make the call yourself. Automatic flagging of shared exposure before you combine strategies is on the roadmap, we&#8217;re building toward it.<\/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\">\n<p>App looks good. But I guess you&#8217;ll have a tough task to make people trust it enough to put their money into it.  <\/p>\n<p>Tbh, I&#8217;d never put more than $100 into an AI tool, only for an experiment.<\/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\/@kamil_infeld\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kamil_infeld<\/a>&nbsp;Honestly, starting small is the right instinct. That&#8217;s how you should test anything that touches your money.<\/p>\n<\/p>\n<p>One thing worth clarifying though: this isn&#8217;t an AI agent deciding what to do with your money. The strategies are rules-based and vetted before deployment. The agent&#8217;s only job is to execute the plan, it doesn&#8217;t improvise. And the underlying tech isn&#8217;t new, alphaAI, our SEC-registered RIA, has been managing real money for thousands of users since 2024.<\/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>Hi Rich, I like the layout, and the research papers are a good start as I&#8217;m pretty skeptical when it comes to AI related tools.  Definitely a huge plus that execution is a hand off.<\/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\/@trake_webb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@trake_webb<\/a>&nbsp;Thanks! Skepticism is the right default with AI tools, honestly it&#8217;s why the research page exists. We&#8217;d rather show the reasoning than ask for trust. And yeah, execution stays in your hands by design, we publish the plan, your agent and broker do the rest.<\/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>I&#8217;ve been looking for a similar product for about 2 months. I&#8217;m very glad I stumbled upon it. So far, only positive experiences. <\/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\/@alex_isachenko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_isachenko<\/a>&nbsp;Glad you found us! Curious what you were trying before, always helps to know what people were searching with. And if anything feels off as you go deeper, let me know.<\/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>Love this,<br \/>Making every one prove itself on unseen data before it touches real money is chef\u2019s kiss<br \/>Congrats on the launch!<\/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\/@yelbaiev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yelbaiev<\/a>&nbsp;Thank you! It&#8217;s the step most people skip because it&#8217;s the step that kills your favorite ideas. Appreciate the support!<\/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\">Interesting that the strategies end up running through your own agent and brokerage account, and you never hold the orders yourselves. At least that takes one classic conflict out of the picture. Btw. On mobile the page takes a while to load the first time. Congrats on the launch!<\/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\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;Thanks! Yeah, that&#8217;s deliberate. Your agent, your broker, your keys. We publish the plan, you own the execution. And thanks for flagging the mobile load, will look into it.<\/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>How long does a strategy usually need to perform well in paper trading before Portfolio Lab considers it ready for real money?<\/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\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;There&#8217;s no fixed clock, and that&#8217;s deliberate. It&#8217;s your call, since it&#8217;s your money and your risk tolerance. What I&#8217;d say is that short paper trading windows are noisier than people think, a few good months can&#8217;t statistically separate a real edge from luck. So rather than watching the P&amp;L and waiting to feel confident, watch the behavior: is the strategy doing what its design says it should do in the environments it&#8217;s actually facing? That question gets answered a lot faster than &#8220;is this profitable,&#8221; and it&#8217;s the better basis for the decision.<\/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\">\n<p>Congrats on the launch, <a href=\"https:\/\/www.producthunt.com\/@rich_sun\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"rich_sun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rich_sun<\/a> \ud83d\ude80 The point about LLM backtests looking great until you look under the hood is so real\u2014overfitting on market data happens way too easily. Forcing strategies through unseen out-of-sample data and live paper trading before touching real money is such a smart, responsible approach. The setup looks really solid!<\/p>\n<p>Good luck with the launch today!<\/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\/@founder_daksh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@founder_daksh<\/a>&nbsp;Thanks! Honestly the tell is usually the opposite, the overfit ones look too good. Appreciate the kind words.<\/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>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\/@benln\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@benln<\/a>&nbsp;Thanks Ben! And thank you again for hunting Portfolio Lab, big part of making today happen.<\/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>&#8220;Telling a good one from a lucky one still takes expertise&#8221; is SO true. I&#8217;ve definitely asked Claude how I should invest and gotten a very confident answer with zero evidence behind it. Being able to actually test strategies before deploying them is the thing I&#8217;ve been missing. Congrats on launching!<\/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\/@hxiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hxiao<\/a>&nbsp;Yeah the confidence is the dangerous part. Claude will give you an answer either way, the question is whether anyone checked it. That&#8217;s the gap we&#8217;re filling. Thanks for the kind words!<\/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\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/5JU3ETRZKEUGSH\" class=\"app-title\">Paritok<\/a><\/p>\n<div class=\"one-liner\">Spend up to 85% less and run 3\u00d7 longer coding agent sessions<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">237<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Paritok\u662f\u4e00\u6b3e\u672c\u5730\u5316\u3001\u975e\u7834\u574f\u6027\u7684\u7f16\u7801Agent\u4e0a\u4e0b\u6587\u538b\u7f29\u7f51\u5173\uff0c\u901a\u8fc7\u538b\u7f29\u5de5\u5177Schema\u3001\u6587\u4ef6\u8bfb\u53d6\u548c\u5386\u53f2\u8bb0\u5f55\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u5c06Token\u6210\u672c\u964d\u4f4e\u6700\u9ad885%\uff0c\u5e76\u8ba9\u7f16\u7801Agent\u4f1a\u8bdd\u8fd0\u884c\u65f6\u957f\u5ef6\u957f3\u500d\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\/3a4f376c-d73c-4e8b-969c-a744a0526c06.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\/d129f264-2993-4387-b7ad-e4e3ed355ac9.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\/6ea7ed44-d592-4f01-945c-d3c6b739d6b2.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\/eafa7cea-2429-44ce-8312-a54e2c4f3c47.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\/6a5132d2-e137-4656-8c4d-e01ad1cd31df.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\/adb2a9e5-9276-4975-9a58-307711546b00.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\/e5b342ca-1845-4759-b62c-ea233e570b5d.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\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Token\u538b\u7f29<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7801Agent<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">Cursor<\/span><br \/>\n            <span class=\"tag\">Codex<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/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\u975e\u7834\u574f\u6027\u538b\u7f29\u201d\u548c\u201c\u672c\u5730\u8fd0\u884c\u201d\u7684\u67b6\u6784\u8bbe\u8ba1\uff0c\u4f46\u5bf9\u201c85%\u8282\u7701\u201d\u7684\u57fa\u51c6\u548c\u201c\u8d28\u91cf86.5%\u201d\u7684\u8861\u91cf\u65b9\u5f0f\u63d0\u51fa\u8ffd\u95ee\u3002\u6838\u5fc3\u8d28\u7591\u5305\u62ec\uff1a\u538b\u7f29\u540e\u6a21\u578b\u5728\u957f\u91cd\u6784\u573a\u666f\u4e0b\u662f\u5426\u4fdd\u6301\u51c6\u786e\u6027\u3001\u538b\u7f29\u6bb5\u88ab\u5bbf\u4e3b\u4fa7\u518d\u6b21\u603b\u7ed3\u540e\u5f15\u7528\u662f\u5426\u4ecd\u53ef\u6062\u590d\u3001\u4ee5\u53ca\u6dfb\u52a0\u7684\u5ef6\u8fdf\uff08~13s\/\u6b21\uff09\u5728\u4ea4\u4e92\u4e2d\u662f\u5426\u53ef\u63a5\u53d7\u3002\u6b64\u5916\uff0c\u7528\u6237\u4e5f\u5173\u5fc3\u4e0eClaude\u8ba2\u9605\u7684\u517c\u5bb9\u6027\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                Paritok\u5207\u4e2d\u7684\u662f\u7f16\u7801Agent\u666e\u53ca\u540e\u6700\u75db\u7684\u9690\u5f62\u7a0e\u2014\u2014Token\u6d6a\u8d39\u3002\u5927\u591a\u6570\u56e2\u961f\u5728\u8ffd\u9010\u6a21\u578b\u80fd\u529b\uff0c\u5374\u5ffd\u7565\u4e86API\u65e0\u72b6\u6001\u7279\u6027\u5bfc\u81f4\u7684\u4e0a\u4e0b\u6587\u53cd\u590d\u4f20\u8f93\uff0c\u8fd9\u786e\u5b9e\u662f\u201c\u590d\u5408\u578b\u6d6a\u8d39\u201d\u3002\u5176\u6838\u5fc3\u53d9\u4e8b\u201c\u975e\u7834\u574f\u6027\u538b\u7f29\u201d\u4e0e\u201c\u53ef\u56de\u6eaf\u539f\u59cb\u5b57\u8282\u201d\u5728\u6280\u672f\u903b\u8f91\u4e0a\u81ea\u6d3d\uff0c\u6bd4\u76f4\u63a5\u4e22\u5386\u53f2\u7684\u7c97\u66b4\u538b\u7f29\u9ad8\u51fa\u4e00\u4e2a\u6bb5\u4f4d\uff0c4B\u4e13\u7528\u6a21\u578b\u7684\u601d\u8def\u4e5f\u663e\u793a\u4e86\u56e2\u961f\u5bf9\u573a\u666f\u6df1\u5ea6\u7684\u7406\u89e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u51b7\u9759\u770b\u5f85\u201c85%\u201d\u4e0e\u201c3\u00d7\u201d\u3002\u8fd9\u4e2a\u6570\u5b57\u4ec5\u5728\u201c\u957f\u4f1a\u8bdd\u4e14\u4e0a\u4e0b\u6587\u9971\u548c\u201d\u7684\u7279\u5b9a\u914d\u7f6e\u4e0b\u6210\u7acb\uff0c\u9996\u8f6e\u4ec5\u4e3a25%\u3002\u56e2\u961f\u56de\u590d\u4e2d\u7684\u5206\u9879\u62c6\u89e3\uff08\u5de5\u5177\u8fc7\u6ee4vs\u6a21\u578b\u538b\u7f29\uff09\u5c5e\u4e8e\u8bda\u5b9e\u8425\u9500\uff0c\u5374\u6070\u6070\u8bf4\u660e\u5176\u5728\u65e0\u5173MCP\u5de5\u5177\u6cdb\u6ee5\u573a\u666f\u6536\u76ca\u6700\u5927\u3002\u66f4\u5173\u952e\u7684\u9690\u60a3\u5728\u4e8e\uff1a\u5373\u4fbf\u6709[REF:id]\u53ec\u56de\u673a\u5236\uff0c\u6a21\u578b\u5728\u201c\u662f\u5426\u8c03\u7528read_original\u201d\u7684\u5224\u65ad\u4e0a\u5b58\u5728\u9690\u6027\u51b3\u7b56\u6210\u672c\u3002\u5b9e\u6d4b\u4e2d86.5%\u7684\u539f\u59cb\u80fd\u529b\u4fdd\u7559\u7387\u5e76\u975e\u514d\u8d39\u5348\u9910\uff0c\u53ec\u56de\u5e26\u6765\u7684\u989d\u5916\u8f6e\u6b21\u53ef\u80fd\u90e8\u5206\u62b5\u6d88Token\u8282\u7701\u3002\u6b64\u5916\uff0c\u6bcf\u6b21\u538b\u7f29\u7ea613\u79d2\u7684\u672c\u5730\u5ef6\u8fdf\uff08\u6d88\u8d39\u7ea7GPU\uff09\u5728\u4ea4\u4e92\u5f0f\u7f16\u7801\u573a\u666f\u4e2d\u8db3\u4ee5\u8ba9\u4eba\u70e6\u8e81\uff0c\u8fd9\u201c3\u00d7\u66f4\u957f\u4f1a\u8bdd\u201d\u7684\u4f53\u9a8c\u5f88\u53ef\u80fd\u88ab\u201c3\u00d7\u66f4\u957f\u7684\u7b49\u5f85\u201d\u7a00\u91ca\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5bf9Paritok\u7684\u51c6\u786e\u8bc4\u4ef7\u662f\uff1a\u5b83\u662f\u4e00\u6b3e\u9762\u5411\u91cd\u5ea6Agent\u7528\u6237\u7684\u201cB\u7aef\u57fa\u5efa\u578b\u5de5\u5177\u201d\uff0c\u4ef7\u503c\u5728\u957f\u4f1a\u8bdd\u4e2d\u4f1a\u88ab\u6307\u6570\u7ea7\u653e\u5927\uff0c\u800c\u975e\u5927\u4f17\u5316\u63d2\u4ef6\u3002\u5176\u6700\u5927\u58c1\u5792\u5e76\u975e\u538b\u7f29\u7b97\u6cd5\u672c\u8eab\uff0c\u800c\u662f\u90a345K\u6761\u771f\u5b9e\u8f68\u8ff9\u8bad\u7ec3\u51fa\u7684\u6570\u636e\u98de\u8f6e\u3002\u82e5\u540e\u7eed\u6a21\u578b\u538b\u7f29\u7387\u4e0e\u53ec\u56de\u51c6\u786e\u7387\u80fd\u7ee7\u7eed\u62c9\u5f00\u5dee\u8ddd\uff0c\u6709\u4e00\u5b9a\u62a4\u57ce\u6cb3\uff1b\u4f46\u82e5\u5934\u90e8\u6a21\u578b\u5382\u5546\uff08\u5982Anthropic\uff09\u539f\u751f\u4f18\u5316\u4e0a\u4e0b\u6587\u7ba1\u7406\uff0c\u72ec\u7acb\u4e2d\u95f4\u5c42\u7a7a\u95f4\u5c06\u88ab\u6025\u5267\u538b\u7f29\u3002\u603b\u800c\u8a00\u4e4b\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u6570\u636e\u4eae\u773c\uff0c\u4f46\u9700\u8b66\u60d5\u201c\u57fa\u51c6\u6e38\u620f\u201d\u63a9\u76d6\u7684\u4f53\u9a8c\u6298\u635f\u3002\u503c\u5f97\u5173\u6ce8\uff0c\u4e0d\u503c\u5f97\u65e0\u8111\u5439\u6367\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\">Paritok<\/span>\n                <\/div>\n<div class=\"comment-content\">Paritok compresses the tools, files, and history your coding agent sends. Save up to 85% on your token bill and run 3\u00d7 longer sessions. Two commands, nothing lost, fully local.<\/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 community!<\/p>\n<\/p>\n<p>We&#8217;re Jiayu and Luzhuo, two engineers who got tired of watching our coding agents burn through tokens.<\/p>\n<\/p>\n<p>Here&#8217;s what we kept seeing: your agent ships far more than the model actually needs. Full JSON for seventy tools when it will call two. An entire file when it needed one function. Debug output nobody will ever read again. And because the API is stateless, all of it goes back on every single turn, so the waste doesn&#8217;t just cost you once, it compounds.<\/p>\n<\/p>\n<p>So we built Paritok, a non-destructive compression gateway powered by a code-native 4B model we trained on 45K real agent trajectories. It sits between your agent and the API and cuts three things before they leave:<\/p>\n<\/p>\n<p>\u2022 Tool schemas \u2014 29K down to 8K per turn, no model involved, this one runs on CPU<\/p>\n<p>\u2022 File reads and tool output \u2014 compressed to about a quarter of their size<\/p>\n<p>\u2022 Stale history \u2014 turns beyond a recent window get summarized once your context budget fills, so the session never overflows into a lossy compaction<\/p>\n<p>With Paritok, you can cut your token bills 25% on turn 1 to past 85% in long or saturated sessions, and run ~3\u00d7 more turns in the same context window. Paritok now works with Claude code, Codex, Cursor, and anything OpenAI or Anthropic compatible.<\/p>\n<p>Paritok will continue to enhance functionality and adapt user scenarios, while deepening its model capabilities.<\/p>\n<p>We\u2019re excited to share this with the PH community and would love your honest feedback.<\/p>\n<p>Try Paritok: <a href=\"https:\/\/www.paritok.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.paritok.com\/<\/a><\/p>\n<p>Join our Discord to talk with the team: <a href=\"https:\/\/discord.gg\/SeBJE5Eucp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/SeBJE5Eucp<\/a><\/p>\n<p>Thanks for checking us out, and huge thanks to our hunter Chris Messina for hunting us!<\/p>\n<p>\u2014 Jiayu &amp; Luzhuo<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jazzwind\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jazzwind<\/a>&nbsp;Congrats on the launch! Very useful and interesting product~ I am highly rely on my coding agents for everything, will try it out. <\/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\/@jazzwind\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jazzwind<\/a>&nbsp;Congrats! Being able to pull the original context back instead of simply dropping it is a really nice touch. Do you notice a real speed difference in longer coding sessions too, or is the main win the cost?<\/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\/@jazzwind\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jazzwind<\/a>&nbsp;85% savings with &#8220;nothing lost&#8221; is a bold claim, what&#8217;s actually being compressed, and does the agent&#8217;s accuracy hold on long refactors where it needs the full file history?<\/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\">This is such an underrated problem honestly,<br \/>\nEveryone talks about model quality but nobody talks about how much of the context window is just wasted overhead.<br \/>\nbtw, how much of that 85% savings comes from the tool schema compression vs the file\/output compression?<br \/>\nlastly, all the best with the launch team )<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thanks Abdul,&nbsp; great question!<\/p>\n<\/p>\n<p>Quick clarification: the &#8220;past 85%&#8221; number is the total end-to-end saving for context-saturated deployments specifically. It splits into two mechanisms:<\/p>\n<p>1. Tool schema filter&nbsp;<\/p>\n<p>2. 4B model compression which covers file reads + tool results + stale history summaries. All three go through the same [REF:id] path and share the same stats bucket.<\/p>\n<p>Split of the total saving by config:<\/p>\n<p>Default (~40 tools):<\/p>\n<p>&#8211; Turn 1: tool filter 86% \/ 4B 14%<\/p>\n<p>&#8211; Turn 5: tool 56% \/ 4B 44%<\/p>\n<p>&#8211; Turn 15+: tool 37% \/ 4B 63%<\/p>\n<p>MCP-heavy (70+ tools), turn 20: tool filter 57% \/ 4B 43%, because tool filter saves ~52K per turn (60K \u2192 8K) instead of the default ~21K per turn (29K \u2192 8K), so tool filter shoulders more of the total.<\/p>\n<p>Context-saturated: 4B compression dominates, no-Paritok baseline saturates at ~200K\/turn, so there&#8217;s much more content to compress relative to the fixed tool block.<\/p>\n<\/p>\n<p>Full turn-by-turn breakdown + formulas in our README Compounding section.<\/p>\n<\/p>\n<p>Thanks for the well wishes!<\/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>Every long session I run eventually hits my own harness&#8217;s compaction, where older turns get summarized once context grows, completely separate from anything Paritok does upstream. If a compressed segment&#8217;s REF id pointer lives inside a turn that the host later summarizes away before the agent ever calls read_original on it, is that byte range still recoverable, or does recall depend on the referencing turn staying intact in the live context window?<\/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>Is it safe to use this tool with a Claude Code subscription?<\/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>nice! and good that you are doing the open source route, that builds confidence! <\/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 Watching coding agents burn through context windows with redundant tool schemas and file dumps is so frustrating. Love that this sits as a completely local proxy without needing a middleman cloud server. <\/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>Those are some interesting numbers! How are you justifying costing 85% less, and what&#8217;s the benchmark?<\/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>Context bloat gets brutal with MCP-heavy setups. Keeping compression local while making the original bytes recoverable is a smart approach. Curious, how much latency does Paritok add per turn in a typical Claude Code 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@igor_martinyuk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@igor_martinyuk<\/a>&nbsp;Good question. Compression normally runs on turns with a big tool output (a file read, a chunky MCP result). When it runs, extra latency scales with the compressor&#8217;s output tokens. Rough anchor for input 2800 tokens and output 700 tokens: ~13s local on a consumer GPU (RTX 4060 via Ollama), ~3s on our hosted GPU server (network-dependent).<\/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>Want to make sure I&#8217;m reading the benchmark right. Quality retained = solve rate \u00f7 uncompressed baseline &#8211; so 86.5% means the agent resolves about 86.5% as many issues as it would with full context, a relative 13.5% drop in tasks actually completed? Or is that measuring something else?<\/p>\n<\/p>\n<p>If so, the comparison I&#8217;d want isn&#8217;t against other compressors, but against just running a cheaper or lower-effort model at full context. Both routes cost quality and both cut the bill. Has that been measured? A strong model on compressed context vs a cheaper one on complete context, same tasks.<\/p>\n<\/p>\n<p>And which model was the scaffold running? Hard to judge 13.5% without knowing the baseline.<\/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\/@mateuszkonik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mateuszkonik<\/a>&nbsp;You&#8217;re reading the benchmark exactly right. Quality retained = compressor solve rate \u00f7 uncompressed baseline solve rate. So 86.5% means the agent scaffold, fed the compressed context, resolved ~86.5% as many issues as with full context \u2014 a relative ~13.5% drop.<\/p>\n<\/p>\n<p>However, 86.5% is the RAW 4B model measurement, with no recall enabled. Compressed output goes straight to the agent with no way to ask for the original back if something&#8217;s missing. What you actually deploy is the gateway, which is different. Every compressed segment gets tagged [REF:id], and the agent can call `read_original` at any point to pull back the exact original bytes. In production, if the model can&#8217;t work with the compressed version, it recalls the original so zero quality lost on that segment, just a slightly larger prompt on that turn.<\/p>\n<\/p>\n<p>So the practical trade in deployment isn&#8217;t &#8220;13.5% worse for cheaper.&#8221; It&#8217;s closer to: same model quality (recall recovers when needed), ~25-85% fewer input tokens on turns where compression sticks, plus ~3\u00d7 more turns fitting in the same context window. That last one is where it starts feeling like your model got smarter, more room to think and remember.<\/p>\n<\/p>\n<p>On the strong+compressed vs cheap+full comparison, I don&#8217;t think they&#8217;re substitutes, a cheaper model caps at its own reasoning ceiling regardless of context, and still hits the window wall at the certain turn count. Different problems.<\/p>\n<\/p>\n<p>Scaffold was running claude-sonnet-4-20250514. <\/p>\n<p>Thanks for the sharp read!<\/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>Niceee<\/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>Non-destructive compression via a code-native 4B model is a genuinely clever architecture. Adding to my to-try list.<\/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\/@lavana_cricko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lavana_cricko<\/a>&nbsp;Thanks Lavana!<\/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>Really like this product and I went to your github. The compounding savings math in the README is refreshingly honest. This is how AI infra should be marketed.<\/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\/@power_valsha\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@power_valsha<\/a>&nbsp;Thanks Power!<\/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>Great job! The 3\u00d7 turns per context window benefit is actually valuable to me. My Claude Code sessions hit compaction on big codebases. Excited to see how much longer they can run with this.<\/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\/@justin2025\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@justin2025<\/a>&nbsp;Thanks Justin! Your Mom Clock is also a great product, will try it!<\/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>Congratulations on the launch! Context bloat is becoming a real bottleneck for coding agents, so a fully local way to compress tools, files, and history feels both practical and privacy-conscious. Looking forward to trying Paritok.<\/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\/@ceren_kaya_akgun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ceren_kaya_akgun<\/a>&nbsp;Thanks Ceren! Really appreciate your support!<\/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\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SMUNJU5ZLWUARG\" class=\"app-title\">SecondBrain Note by GenSpark<\/a><\/p>\n<div class=\"one-liner\">A MagSafe AI Recorder That Acts for You<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">200<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>SecondBrain Note\u662f\u4e00\u6b3e\u5361\u7247\u7ea7\u8f7b\u8584\u7684MagSafe AI\u5f55\u97f3\u786c\u4ef6\uff0c\u6309\u4e00\u4e0b\u5373\u53ef\u5c06\u4f1a\u8bae\u3001\u901a\u8bdd\u7b49\u771f\u5b9e\u5bf9\u8bdd\u81ea\u52a8\u8f6c\u5199\u6210\u7ed3\u6784\u5316\u7b14\u8bb0\u5e76\u5b58\u5165\u4e2a\u4eba\u77e5\u8bc6\u5e93\uff0c\u89e3\u51b3\u624b\u52a8\u8bb0\u7b14\u8bb0\u8017\u65f6\u3001\u6613\u9057\u6f0f\u4e14\u96be\u4ee5\u6574\u7406\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\/71592481-0eaf-4bfd-be0e-f7719871582c.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\/6b9ab743-bf72-4832-8d08-30bb80bec003.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\/b067b927-fd74-4f28-a28f-ca04b3ba2b69.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\/5b98c573-30e7-456a-8fb2-e720f7a65f17.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\/9fc6f693-0d9e-43e2-942c-58c67bdea3b7.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\/636ed960-1cfb-4412-b59d-f9933a85091e.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Ty4ybR233l4?si=TDX_IkSURbLXGbPs\"><source src=\"https:\/\/youtu.be\/Ty4ybR233l4?si=TDX_IkSURbLXGbPs\" 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\">Sales<\/span><br \/>\n            <span class=\"tag\">Meetings<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5f55\u97f3\u7b14<\/span><br \/>\n            <span class=\"tag\">MagSafe\u786c\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u7eaa\u8981<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u6587\u5b57<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">SecondBrain\uff08\u7b2c\u4e8c\u5927\u8111\uff09<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u5b89\u5168\uff08SOC 2\/ISO 27001\uff09<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u786c\u4ef6\u8ba2\u9605<\/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\u79bb\u7ebf\u4f18\u5148\u8bbe\u8ba1\u548c\u632f\u52a8\u4f20\u611f\u5668\u6355\u6349\u901a\u8bdd\u7684\u521b\u65b0\u70b9\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\uff1a1) \u81ea\u52a8\u8bc6\u522b\u8fd8\u662f\u624b\u52a8\u5f55\u5236\uff0c\u786c\u4ef6\u4ef7\u683c\u672a\u660e\uff1b2) \u9690\u79c1\u5408\u89c4\u4e0e\u5f55\u97f3\u6307\u793a\u706f\u95ee\u9898\uff1b3) \u56db\u9ea6\u514b\u98ce\u5728\u771f\u5b9e\u4f1a\u8bae\u5ba4\u4e2d\u7684\u4e32\u97f3\u53ca\u79bb\u7ebf\u8f6c\u5199\u51c6\u786e\u7387\u6743\u8861\uff1b4) \u5e0c\u671bAI\u80fd\u4e3b\u52a8\u7b5b\u9009\u5173\u952e\u6d1e\u5bdf\u5e76\u63a8\u52a8\u540e\u7eed\u884c\u52a8\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                SecondBrain Note\u7684\u5356\u70b9\u4e0d\u662f\u5f55\u97f3\uff0c\u800c\u662f\u201c\u6d88\u9664\u5f55\u97f3\u540e\u7684\u6240\u6709\u52a8\u4f5c\u201d\u3002\u5b83\u628a\u786c\u4ef6\u505a\u6210\u4e86\u624b\u673a\u5361\u5957\uff0c\u7528MagSafe\u964d\u4f4e\u4e86\u4f69\u6234\u95e8\u69db\uff0c\u752835\u5c0f\u65f6\u7eed\u822a\u548c5\u7c73\u62fe\u97f3\u8986\u76d6\u4e86\u9ad8\u9891\u4f1a\u8bae\u573a\u666f\u2014\u2014\u8fd9\u786e\u5b9e\u662f\u6df1\u601d\u719f\u8651\u7684\u4ea7\u54c1\u8bbe\u8ba1\uff0c\u800c\u4e0d\u662f\u5355\u7eaf\u7684AI\u5671\u5934\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u771f\u6b63\u7684\u4ef7\u503c\u4e0e\u98ce\u9669\u90fd\u5728\u4e8e\u5b83\u7684\u201c\u88ab\u52a8\u6027\u201d\u4e0e\u201c\u4e3b\u52a8\u6027\u201d\u8fb9\u754c\u3002\u7528\u6237\u8bc4\u8bba\u4e2d\u90a3\u53e5\u201c\u5b83\u662f\u5426\u81ea\u52a8\u6355\u83b7\uff1f\u201d\u66b4\u9732\u4e86\u6838\u5fc3\u56f0\u60d1\uff1a\u5982\u679c\u6bcf\u6b21\u90fd\u9700\u8981\u6309\u4e00\u4e0b\uff0c\u5b83\u53ea\u662f\u5f55\u97f3\u7b14\u7684\u5f62\u6001\u6539\u826f\uff1b\u5982\u679c\u5b83\u60f3\u4e3b\u52a8\u76d1\u542c\u73af\u5883\uff08\u8fd9\u662f\u201cActs for You\u201d\u7684\u9690\u542b\u627f\u8bfa\uff09\uff0c\u5219\u4f1a\u5728\u9690\u79c1\u548c\u793e\u4f1a\u63a5\u53d7\u5ea6\u4e0a\u649e\u5899\u3002\u76ee\u524d\u4ea7\u54c1\u663e\u7136\u9009\u62e9\u4e86\u524d\u8005\uff08\u624b\u52a8\u6309\u952e\uff09\uff0c\u8fd9\u907f\u514d\u4e86\u6700\u654f\u611f\u7684\u9690\u79c1\u96f7\u533a\uff0c\u4f46\u4e5f\u8ba9\u201c\u81ea\u52a8\u201d\u7684\u53d9\u4e8b\u5927\u6253\u6298\u6263\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u503c\u5f97\u8b66\u60d5\u7684\u662f\u5176\u5546\u4e1a\u6a21\u5f0f\uff1a\u786c\u4ef6\u514d\u8d39\u6216\u4f4e\u4ef7\uff0c\u9760300\u5206\u949f\/\u6708\u7684\u514d\u8d39\u989d\u5ea6\u9a71\u52a8\u8ba2\u9605\u3002\u8fd9\u610f\u5473\u7740\u7528\u6237\u771f\u6b63\u7684\u201c\u7b2c\u4e8c\u5927\u8111\u201d\u88ab\u9501\u5728Genspark\u7684\u4e91\u7aef\uff0c\u800cSOC 2\u548cISO 27001\u8ba4\u8bc1\u53ea\u80fd\u8bc1\u660e\u6570\u636e\u4e0d\u4f1a\u88ab\u5077\uff0c\u65e0\u6cd5\u8bc1\u660e\u6570\u636e\u4e0d\u4f1a\u88ab\u201c\u7528\u201d\u2014\u2014\u5c24\u5176\u662f\u7528\u4e8e\u8bad\u7ec3\u6a21\u578b\u3002\u5bf9\u4e8e\u4ee5\u201c\u8bb0\u5fc6\u201d\u4e3a\u6838\u5fc3\u7684\u4ea7\u54c1\uff0c\u8fd9\u79cd\u7ed1\u5b9a\u6bd4\u5355\u7eaf\u7684\u529f\u80fd\u7f3a\u5931\u66f4\u81f4\u547d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u79bb\u7ebf\u4f18\u5148\u662f\u597d\u7684\u5dee\u5f02\u5316\uff0c\u4f46\u7528\u6237\u5bf9\u56db\u9ea6\u514b\u98ce\u5728\u771f\u5b9e\u4f1a\u8bae\u5ba4\u4e2d\u4e32\u97f3\u95ee\u9898\u7684\u8d28\u7591\u4e00\u9488\u89c1\u8840\u3002\u5982\u679c\u79bb\u7ebf\u8f6c\u5199\u8d28\u91cf\u4e0d\u4f73\uff0c\u540c\u6b65\u540e\u7684\u201c\u7cbe\u4fee\u201d\u5c31\u53d8\u6210\u4e00\u6b21\u6027\u8865\u6551\uff0c\u65e0\u6cd5\u4f53\u73b0\u201cAI\u81ea\u52a8\u6574\u7406\u201d\u7684\u6838\u5fc3\u4ef7\u503c\u3002\u6700\u7ec8\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u80fd\u5426\u8dd1\u901a\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u56de\u7b54\u8bc4\u8bba\u4e2d\u90a3\u4e2a\u6700\u5c16\u9510\u7684\u95ee\u9898\uff1aAI\u5982\u4f55\u6311\u9009\u5e76\u5448\u73b0\u90a3\u4e00\u6761\u771f\u6b63\u80fd\u6539\u53d8\u4f60\u4e0b\u4e00\u6b65\u884c\u52a8\u7684\u6d1e\u5bdf\uff1f\u5426\u5219\uff0c\u5b83\u53ea\u662f\u4e00\u4e2a\u6602\u8d35\u7684\u3001\u5e26\u6709\u52a0\u5bc6\u529f\u80fd\u7684\u5f55\u97f3\u7b14\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\">SecondBrain Note by GenSpark<\/span>\n                <\/div>\n<div class=\"comment-content\">A card-thin AI voice recorder. Press once, and every meeting turns itself into notes, saved straight into your SecondBrain. You just listen. Always with you \u2014 just 2.95 mm thin and 26 g light, it slips into your card holder and onto your phone. Never miss a word \u2014 it picks up voices from over 5 meters away and records up to 35 hours. Your conversations stay yours \u2014 enterprise-grade security, certified SOC 2 Type II and ISO 27001.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>SecondBrain Note by Genspark<\/strong> is a hardware + AI combo that turns real-world conversations into structured, searchable notes automatically.<\/p>\n<\/p>\n<p><strong>Problem:<\/strong> Manually taking notes in meetings, calls, and idea sessions is slow, incomplete, and hard to organize.<\/p>\n<p><strong>Solution:<\/strong> A pocket-sized recorder that captures audio, then uses AI to transcribe and summarize everything into clean notes\u2014no manual work.<\/p>\n<\/p>\n<p><strong>What makes it different:<\/strong><\/p>\n<ul>\n<li>\n<p>Dedicated hardware with 4 mics + vibration sensor for clear capture (including phone calls).<\/p>\n<\/li>\n<li>\n<p>Works offline; recordings sync later and auto-generate summaries.<\/p>\n<\/li>\n<li>\n<p>Deep integration with Genspark\u2019s SecondBrain, GenMail, and data sources for a unified \u201cAI memory.\u201d<\/p>\n<\/li>\n<\/ul>\n<p><strong>Key features:<\/strong><\/p>\n<ul>\n<li>\n<p>One-button recording, highlight marking, and 35 hours of continuous capture.<\/p>\n<\/li>\n<li>\n<p>AI summaries + transcripts (full output for recordings over 2 minutes).<\/p>\n<\/li>\n<li>\n<p>300 free transcription minutes\/month included with the device; unlimited with Plus\/Pro plans.<\/p>\n<\/li>\n<li>\n<p>Secure, encrypted transfer; SOC 2 Type II and ISO 27001 certified.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Benefits:<\/strong><\/p>\n<ul>\n<li>\n<p>Never miss key points or action items again.<\/p>\n<\/li>\n<li>\n<p>Save hours on note-taking and post-meeting cleanup.<\/p>\n<\/li>\n<li>\n<p>Build a searchable archive of all your conversations and ideas.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Who it\u2019s for \/ use cases:<\/strong><\/p>\n<ul>\n<li>\n<p>Professionals, founders, researchers, students who attend meetings, interviews, lectures, or client calls.<\/p>\n<\/li>\n<li>\n<p>Great for meetings, voice memos, interviews, lectures, and phone call recording.<\/p>\n<\/li>\n<\/ul>\n<p>If you care about AI-powered productivity, this is one to watch. <\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@rohanrecommends Saving hours on post-meeting cleanup while keeping data secure with SOC 2 compliance is a solid win! Love how versatile this looks for both client calls and quick voice memos.<\/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\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a>&nbsp;If you could only keep <em>one<\/em> type of insight from each conversation in your SecondBrain, which would you choose by default, and how would you want the AI to surface it later so it actually changes what you do next?<\/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>offline-first is the interesting call here, most voice hardware punts to &#8220;always connected&#8221; and eats the latency. curious how you&#8217;re handling the accuracy tradeoff on-device before the sync-and-transcribe step kicks in, especially with 4 mics picking up crosstalk in a real meeting room<\/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\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Indeed, offline-first is meant to keep the experience fast, and the sync step helps us refine the output afterward. <\/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\">This is great.. one question though, how do you circumvent privacy perspective\/law.. although I do understand that, its owners is generally on the user, but do you have some indication for the world that recording is on.. good wishes for your success..<\/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 vibration sensor for phone calls is the clever bit, most external recorders only ever catch your side of the call. is that reading bone conduction off the phone body or picking up the speaker 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\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Thanks for chiming in, Sabber. I think their goal really was to make the call capture more complete than typical external recorders. \ud83d\ude42 <\/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>Very interesting. Does it automatically capture, or do you have to record every time? I think it&#8217;s great for capturing ideas. I have carpal tunnel syndrome, and anything I can voice-to-text is helpful.<\/p>\n<p>How much is the hardware? <\/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\/@heyitsirenechan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heyitsirenechan<\/a>&nbsp;Hey Irene, great question, and sorry to hear about your syndrome. It does help with quick note taking and voice-to-text. Thanks for sharing that use case context. <\/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>is this a hardware sensor that tracks voice and make notes?<\/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\/AZM2SSSKDRU7GL\" class=\"app-title\">AI Group Call<\/a><\/p>\n<div class=\"one-liner\">Type a goal, join a live voice call with six AI minds<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">177<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AI Group Call \u8ba9\u4f60\u8f93\u5165\u4e00\u4e2a\u76ee\u6807\uff0c\u51e0\u79d2\u540e\u5c31\u80fd\u4e0e\u516d\u4f4d\u7531AI\u626e\u6f14\u7684\u4e0d\u540c\u89d2\u8272\u8fdb\u884c\u5b9e\u65f6\u8bed\u97f3\u7fa4\u804a\u2014\u2014\u4ed6\u4eec\u4f9d\u6b21\u53d1\u8a00\u3001\u4e92\u76f8\u8fa9\u8bba\uff0c\u4f60\u4e00\u5f00\u53e3\u4fbf\u7acb\u523b\u9759\u97f3\uff0c\u65e8\u5728\u7528\u4e00\u573a\u201c\u591a\u667a\u56ca\u5706\u684c\u4f1a\u8bae\u201d\u66ff\u4ee3\u5355\u804a\uff0c\u5e2e\u4f60\u5728\u771f\u5b9e\u4f1a\u8bae\u524d\u5feb\u901f\u83b7\u5f97\u591a\u89d2\u5ea6\u53cd\u9988\u4e0e\u51b3\u7b56\u6e05\u5355\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\/e8de820d-bccb-443a-9161-b4bddbc87106.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/FASrWhm7wMg?si=DrrvxsmjdmgbJMgq\"><source src=\"https:\/\/youtu.be\/FASrWhm7wMg?si=DrrvxsmjdmgbJMgq\" 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\/8de645f6-6d06-48b7-85b2-fa63adb8382f.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\/fc9938c8-284d-4566-a613-7fc530a745ca.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\/e0b4a091-d1c6-4b86-9f18-aaa27a2e838e.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\/b83f0dfa-cd43-43a7-b01c-4852df54963b.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\/f84f25e3-e7db-42c3-88c6-f5cec60df27a.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\/3feb8267-4bd9-4699-9f1d-c6e5f24b25c6.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\">Android<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bed\u97f3\u7fa4\u804a<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u5b9e\u65f6\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u5934\u8111\u98ce\u66b4\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u6a21\u62df<\/span><br \/>\n            <span class=\"tag\">\u89d2\u8272\u626e\u6f14AI<\/span><br \/>\n            <span class=\"tag\">\u58f0\u97f3\u6253\u65ad\u6280\u672f<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u7eaa\u8981\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u539f\u578b<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\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>\u591a\u6570\u8bc4\u8bba\u805a\u7126\u6280\u672f\u5b9e\u73b0\u4e0e\u4ea7\u54c1\u8fb9\u754c\uff1a\u591a\u6b21\u70b9\u8d5e\u63d0\u95ee\u5982\u4f55\u89e3\u51b3\u516d\u667a\u80fd\u4f53\u5168\u53cc\u5de5\u8bed\u97f3\u4e0b\u7684\u56de\u58f0\u6d88\u9664\u4e0e\u6253\u65ad\u5ef6\u8fdf\uff1b\u5173\u5fc3\u662f\u5426\u91c7\u7528CrewAI\/LangGraph\u7b49\u7f16\u6392\u6846\u67b6\uff1b\u5efa\u8bae\u805a\u7126\u5782\u76f4\u573a\u666f\u4ee5\u83b7\u53d6\u65e9\u671f\u793e\u533a\uff1b\u8ffd\u95eeiOS\u4e0a\u7ebf\u65f6\u95f4\uff1b\u5e0c\u671b\u5206\u4eab\u771f\u5b9e\u7528\u4f8b\u4e2d\u201c\u8d85\u9884\u671f\u201d\u4e0e\u201c\u592a\u793c\u8c8c\u201d\u7684\u6848\u4f8b\u3002\u603b\u4f53\u5bf9\u521b\u610f\u8ba4\u53ef\uff0c\u4f46\u5bf9\u6280\u672f\u7ec6\u8282\u548c\u573a\u666f\u6df1\u5ea6\u5b58\u7591\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                AI Group Call \u7684\u4eae\u70b9\u4e0d\u5728\u4e8e\u201c\u516d\u4e2aAI\u804a\u5929\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u75db\u70b9\uff1a\u5355\u804aAI\u6c38\u8fdc\u53ea\u7ed9\u4f60\u201c\u4e00\u79cd\u6b63\u786e\u201d\uff0c\u800c\u51b3\u7b56\u8005\u771f\u6b63\u9700\u8981\u7684\u662f\u201c\u88ab\u6311\u6218\u540e\u7684\u786e\u5b9a\u611f\u201d\u3002\u7528\u89d2\u8272\u51b2\u7a81\u6a21\u62df\u7ec4\u7ec7\u5185\u7684\u5f02\u8bae\u4e0e\u59a5\u534f\uff0c\u8fd9\u6bd4\u5355\u7eaf\u751f\u6210\u6587\u672c\u5efa\u8bae\u9ad8\u4e00\u4e2a\u7ef4\u5ea6\u2014\u2014\u5b83\u628aAI\u4ece\u201c\u7b54\u6848\u673a\u5668\u201d\u53d8\u6210\u4e86\u201c\u51b3\u7b56\u538b\u529b\u6d4b\u8bd5\u5668\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u5fc5\u987b\u6307\u51fa\u4e09\u4e2a\u9690\u60a3\uff1a\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\uff0c\u6280\u672f\u53d9\u4e8b\u5927\u4e8e\u4ea7\u54c1\u53d9\u4e8b\u3002\u521b\u59cb\u4eba\u7528\u5927\u91cf\u7bc7\u5e45\u5f3a\u8c03\u201cbarge-in\u56de\u58f0\u6d88\u9664\u201d\u591a\u96be\uff0c\u8fd9\u503c\u5f97\u5c0a\u656c\uff0c\u4f46\u7528\u6237\u4e0d\u5173\u5fc3\u4f60\u4fee\u4e86\u4ec0\u4e48bug\uff0c\u53ea\u5173\u5fc3\u201c\u6253\u65ad\u662f\u5426\u8db3\u591f\u81ea\u7136\u201d\u3002\u8bc4\u8bba\u4e2d\u4e24\u6761\u9ad8\u8d5e\u8ffd\u95ee\u6280\u672f\u6808\uff0c\u8bf4\u660e\u6838\u5fc3\u7528\u6237\u662f\u5f00\u53d1\u8005\u800c\u975e\u76ee\u6807\u5546\u52a1\u4eba\u7fa4\u2014\u2014\u8fd9\u6697\u793a\u4ea7\u54c1\u53ef\u80fd\u9677\u5165\u4e86\u201c\u6280\u672f\u81ea\u55e8\u201d\u9677\u9631\u3002\u82e5\u4e0d\u80fd\u5c06\u201c\u516d\u4eba\u8fa9\u8bba\u8d28\u91cf\u201d\u6253\u78e8\u5230\u8ba9\u975e\u6280\u672f\u7528\u6237\u611f\u5230\u201c\u8fd9\u6bd4\u5f00\u4f1a\u9ad8\u6548\u201d\uff0c\u7559\u5b58\u4f1a\u6210\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e8c\uff0c\u89d2\u8272\u540c\u8d28\u5316\u98ce\u9669\u3002\u8bc4\u8bba\u4e2d\u201c\u592a\u793c\u8c8c\u201d\u7684\u8d28\u7591\u975e\u5e38\u81f4\u547d\u3002AI\u5929\u751f\u503e\u5411\u201c\u5efa\u8bbe\u6027\u53cd\u9988\u201d\uff0c\u8981\u8ba9\u5b83\u771f\u6b63\u626e\u6f14\u72e0\u6311\u523a\u7684\u201c\u9b54\u9b3c\u4ee3\u8a00\u4eba\u201d\u800c\u4e0d\u8fdd\u548c\uff0c\u96be\u5ea6\u8fdc\u8d85\u8bed\u97f3\u5de5\u7a0b\u3002\u5982\u679c\u516d\u4e2a\u4eba\u6700\u7ec8\u53ea\u662f\u6362\u7740\u8bf4\u6cd5\u8d5e\u540c\u4f60\uff0c\u90a3\u8fd9\u4e2a\u4ea7\u54c1\u7684\u4ef7\u503c\u5c31\u4ece\u201c\u51b3\u7b56\u52a9\u624b\u201d\u964d\u7ea7\u4e3a\u201c\u6709\u58f0PPT\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e09\uff0c\u4ed8\u8d39\u6a21\u578b\u5355\u8584\u3002\u514d\u8d39\u4e00\u5206\u949f\u3001\u4e4b\u540e\u6708\u5305$4.99\u8d77\u2014\u2014\u8fd9\u6697\u793a\u7528\u6237\u6bcf\u6b21\u4f7f\u7528\u65f6\u95f4\u6781\u77ed\u3002\u4f46\u771f\u6b63\u7684\u4f1a\u8bae\u6a21\u62df\u9700\u8981\u6301\u7eed10\u5206\u949f\u4ee5\u4e0a\u624d\u80fd\u4ea7\u751f\u6709\u6548\u4ea4\u950b\uff0c\u82e5\u4e00\u5206\u949f\u5185\u53ea\u80fd\u4f53\u9a8c\u201c\u5f00\u573a\u767d\u201d\uff0c\u8f6c\u5316\u7387\u582a\u5fe7\u3002\u5efa\u8bae\u63d0\u4f9b\u201c\u5355\u573a\u666f\u6253\u5305\u4ef7\u201d\u800c\u975e\u7eaf\u65f6\u957f\u8ba1\u8d39\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u503c\u5f97\u671f\u5f85\u7684\u8def\u5f84\u662f\uff1a\u653e\u5f03\u901a\u7528\u201c\u516d\u4eba\u7ec4\u201d\uff0c\u8f6c\u5411\u5782\u76f4\u573a\u666f\uff08\u5982\u878d\u8d44\u8def\u6f14\u3001\u7ee9\u6548\u9762\u8c08\u3001\u5408\u540c\u8c08\u5224\uff09\u9884\u7f6e\u9ad8\u51b2\u7a81\u5267\u672c\u3002\u5f53AI\u89d2\u8272\u81ea\u5e26\u201c\u5386\u53f2\u6069\u6028\u201d\u548c\u201c\u5229\u76ca\u7acb\u573a\u201d\u65f6\uff0c\u8fa9\u8bba\u624d\u4f1a\u771f\u5b9e\u950b\u5229\u3002\u8fd9\u6bd4\u4f18\u5316\u56de\u58f0\u6d88\u9664\u66f4\u80fd\u6784\u6210\u62a4\u57ce\u6cb3\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\">AI Group Call<\/span>\n                <\/div>\n<div class=\"comment-content\">State a goal and you are in a live voice call with six AI participants cast for it in seconds. They answer one at a time, argue with each other, and stop the instant you speak. Every call is transcribed, summarised into key points and action items, and can be rejoined later with the same cast. A free minute on every new account, no card.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt, I am Tash, the maker.<\/p>\n<p>AI Group Call started with a small frustration. I could ask one chatbot for advice, but the thing I actually wanted was the room: the meeting where a skeptic pokes a hole in your pitch, a strategist reframes it, and someone plays the customer who has to sign off.<\/p>\n<p>So I built the room. You type a goal, and a few seconds later you are in a live voice call with six AI participants cast for that specific goal, each with a name, a role, and a personality. They speak one at a time, build on and disagree with each other, and go quiet the moment you start talking.<\/p>\n<p>That last part was by far the hardest bit. Real barge-in over a phone speaker means the mic also hears the agents, so there is a lot of echo handling and raw audio voice detection under the hood to make interrupting feel like a real call instead of a walkie talkie. Getting that right is most of why this took as long as it did.<\/p>\n<p>A few things people usually ask:<\/p>\n<p>&#8211; Every participant is AI. There are no humans on your calls.<br \/>\n&#8211; Every call is transcribed, can be summarised into key points and action items, and can be rejoined later with the same cast.<br \/>\n&#8211; You can tap any agent mid call and rewrite their name, role, or personality.<br \/>\n&#8211; Android is live today. iOS is built and waiting on submission.<\/p>\n<p>Every new account gets a free minute, no card. After that it is monthly minute bundles starting at $4.99.<\/p>\n<p>What I would genuinely like from today: throw a goal at it that I would never have thought of, and tell me where the cast falls flat. I am reading every comment.<\/p><\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@tashthemaker Solving full duplex audio barge-in with echo cancellation over speakerphone for multi agent conversations is a massive technical hurdle. How do you manage response latency when 6 agents are dynamically deciding who speaks next without talking over each other?<\/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\/@tashthemaker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tashthemaker<\/a>&nbsp;This looks interesting. I think it has further development potential. Perhaps by narrowing its focus to a specific topic, it could find a solid community of early adopters.<\/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\/@tashthemaker\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tashthemaker<\/a>&nbsp;For someone using this to prep for a real stakeholder meeting, what\u2019s one goal you\u2019ve seen that surprised you by how well the cast handled it\u2026 and one where the cast clearly fell flat or felt \u201ctoo polite\u201d?<\/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>Loved the idea Tash! need to try it out. Anyway wish you all the best here!<\/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\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thats cool, i have a cross functional AI team that im thinking of moving from text to audio. Did u use a framework for orchestration of the agents like crewai or langgraph? have a technical post on it? would love to see how u did it<\/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>When&#8217;s the IOS app out please?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thepaulbeardsley\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thepaulbeardsley<\/a>&nbsp;Very soon. I&#8217;ll ping you here!<\/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 barge-in echo problem is the real boss fight in voice, way harder than people expect until they hit it. are you doing echo cancellation on-device before it hits the model, or is the interrupt detection happening server side on the mixed stream<\/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\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;you&#8217;re right. It&#8217;s tricky, I had to apply echo cancellation on-device.<\/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\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/REEJX5B2UDBHUG\" class=\"app-title\">Prime Agent<\/a><\/p>\n<div class=\"one-liner\">A coding agent that can refine its own harness<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">159<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Prime Agent \u662f\u4e00\u6b3e\u5f00\u6e90\u3001\u53ef\u81ea\u6211\u6539\u8fdb\u7684\u7f16\u7a0b\u667a\u80fd\u4f53\u6846\u67b6\uff0c\u901a\u8fc7\u9012\u5f52\u8bed\u8a00\u6a21\u578b\u4e0e\u6301\u7eed\u5316\u8fd0\u884c\u73af\u5883\uff0c\u8ba9AI\u5728\u7f16\u7801\u4efb\u52a1\u4e2d\u52a8\u6001\u6c89\u6dc0\u7ecf\u9a8c\u3001\u8c03\u6574\u81ea\u8eab\u5de5\u5177\u94fe\uff0c\u4ee5\u89e3\u51b3\u4f20\u7edf\u667a\u80fd\u4f53\u201c\u56fa\u5b9a\u6d41\u7a0b\u3001\u65e0\u6cd5\u4ece\u8fc7\u5f80\u4efb\u52a1\u4e2d\u8fdb\u5316\u201d\u7684\u6838\u5fc3\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\/d09a129c-110c-4dd0-b2e6-42d71c418163.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\/b0f5ca1a-16d4-4306-84bf-f044a9b867ab.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\/38a13455-bbb0-47b5-8777-fb54a57497aa.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\/424a982b-25d1-4620-8a77-91c58bf123a5.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\/30cb83c6-458c-472f-b910-02b1c9f6726c.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\/ec889471-effd-43ae-a037-a0459f4bb1e6.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\/ce85ea74-45a1-42e6-bea5-e61ab672afc2.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\/a47285c0-620b-4249-aeaf-ee0176beacf1.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\/3f21815e-2be5-4384-a9ee-d01469362347.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\/21292169-4d0c-4f19-80ae-193df5fe2b72.svg?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\/79a40839-3a00-4c84-a216-73e141f7537a.svg?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\/54e3a603-f913-41a2-89e1-1cf0cb4ffb51.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\/6014767e-6d09-4cbd-be93-6b130e6cd848.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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90AI\u7f16\u7a0b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u6846\u67b6<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6211\u6539\u8fdb\u7f16\u7801<\/span><br \/>\n            <span class=\"tag\">\u9012\u5f52\u8bed\u8a00\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u6301\u7eed\u5316\u8fd0\u884c\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u8c03\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u5b50\u4ee3\u7406\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">ARC-AGI\u57fa\u51c6<\/span><br \/>\n            <span class=\"tag\">\u53ef\u63d2\u62d4\u5de5\u5177\u94fe<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6548\u7387<\/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>\u8bc4\u8bba\u96c6\u4e2d\u70b9\u8d5eFactorio\u6f14\u793a\u4e2d\u667a\u80fd\u4f53\u81ea\u4e3b\u53d1\u73b0RCON\u201c\u4f5c\u5f0a\u201d\u7684\u8fdb\u5316\u80fd\u529b\uff0c\u8ba4\u4e3a\u8fd9\u662f\u81ea\u6211\u4fee\u6539\u811a\u624b\u67b6\u7684\u6700\u4f73\u5c55\u793a\u3002\u6709\u7528\u53cd\u9988\u805a\u7126\u4e8e\uff1a\u6301\u4e45\u5316\u6280\u80fd\u4e0e\u6062\u590d\u4f1a\u8bdd\u662f\u5426\u7f3a\u4e4f\u56de\u5f52\u6821\u9a8c\uff1f\u5982\u4f55\u9632\u6b62\u5c40\u90e8\u6377\u5f84\u6f14\u53d8\u4e3a\u8de8\u4efb\u52a1\u901a\u7528\u6027\u9000\u5316\uff1f\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                Prime Agent\u7684\u4eae\u70b9\u4e0d\u5728\u90a395.5%\u7684ARC\u5206\u6570\uff0c\u800c\u5728\u4e8e\u5b83\u627f\u8ba4\u4e86\u201c\u667a\u80fd\u4f53\u81ea\u5df1\u7684\u5de5\u5177\u548c\u884c\u4e3a\u7b56\u7565\u4e5f\u5e94\u662f\u53ef\u8fdb\u5316\u7684\u5bf9\u8c61\u201d\u3002\u901a\u8fc7RLM\u4e0eContinual Harness\uff0c\u5b83\u5c06\u201c\u53cd\u601d-\u8bb0\u5fc6-\u4fee\u6539\u201d\u5faa\u73af\u76f4\u63a5\u5199\u8fdb\u8fd0\u884c\u673a\u5236\uff0c\u6446\u8131\u4e86\u591a\u6570agent\u6846\u67b6\u201c\u56fa\u5b9a\u5de5\u4f5c\u6d41+\u5916\u90e8\u8bb0\u5fc6\u201d\u7684\u6d45\u5c42\u8bbe\u8ba1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u771f\u6b63\u503c\u5f97\u6ce8\u610f\u7684\u662f\u8bc4\u8bba\u4e2d\u90a3\u4e2a\u88ab\u70b9\u5230\u5374\u8f7b\u63cf\u6de1\u5199\u7684\u5b89\u5168\u95ee\u9898\uff1a\u5f53\u667a\u80fd\u4f53\u5b66\u4f1a\u201c\u4f5c\u5f0a\u201d\uff08\u901a\u8fc7RCON\u76f4\u63a5\u6ce8\u5165\u8d44\u6e90\uff09\uff0c\u800c\u6ca1\u6709\u5f3a\u7ea6\u675f\u7684\u9a8c\u6536\u95e8\u69db\u65f6\uff0c\u8fd9\u79cd\u81ea\u6211\u6539\u8fdb\u5f88\u5bb9\u6613\u6ed1\u5411\u201c\u8fc7\u62df\u5408\u8fd0\u884c\u73af\u5883\u201d\u6216\u201c\u6076\u610f\u7ed5\u8fc7\u201d\u3002Factorio\u91cc\u7684\u4f5c\u5f0a\u65e0\u4f24\u5927\u96c5\uff0c\u4f46\u653e\u5230\u771f\u5b9e\u751f\u4ea7\u4ee3\u7801\u5e93\u4e2d\uff0c\u4e00\u4e2a\u5b66\u4f1a\u201c\u7ed5\u8fc7\u6d4b\u8bd5\u65ad\u8a00\u6765\u8ba9CI\u53d8\u7eff\u201d\u7684agent\u5c06\u662f\u707e\u96be\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6b21\uff0c\u6240\u8c13\u201c\u81ea\u6211\u6539\u8fdbharness\u201d\u76ee\u524d\u4ecd\u4f9d\u8d56Python REPL\u548c\u5b50\u4ee3\u7406\u6d88\u606f\u4f20\u9012\uff0c\u672c\u8d28\u4e0a\u662f\u628a\u590d\u6742\u72b6\u6001\u673a\u7684\u5916\u90e8\u5316\u2014\u2014\u8fd9\u5bf9\u957f\u5c3e\u4efb\u52a1\u7684\u6cdb\u5316\u80fd\u529b\u63d0\u5347\u6709\u9650\uff0c\u66f4\u591a\u662f\u5de5\u7a0b\u4e0a\u6709\u7528\u7684\u201c\u7a0b\u5e8f\u5408\u6210\u52a0\u901f\u5668\u201d\u3002\u5176\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u5f00\u6e90\u751f\u6001\uff1a\u5f00\u53d1\u8005\u53ef\u4ee5\u5feb\u901f\u4e3a\u5176\u6dfb\u52a0\u5173\u952e\u7684\u5b89\u5168\u62a4\u680f\u548c\u56de\u5f52\u6d4b\u8bd5\u94a9\u5b50\uff0c\u800c\u975e\u5bc4\u5e0c\u671b\u4e8e\u6a21\u578b\u672c\u8eab\u7684\u201c\u81ea\u5f8b\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5982\u679c\u9879\u76ee\u540e\u7eed\u80fd\u63d0\u4f9b\u201c\u6280\u80fd\u53d8\u66f4\u7684\u53ef\u56de\u6eda\u6027\u201d\u4e0e\u201c\u8de8\u4efb\u52a1\u884c\u4e3a\u9000\u5316\u68c0\u6d4b\u201d\u7684\u6210\u719f\u65b9\u6848\uff0c\u5b83\u53ef\u80fd\u6210\u4e3a\u4e0b\u4e00\u4ee3agent\u57fa\u7840\u8bbe\u65bd\u7684\u91cd\u8981\u57fa\u77f3\uff1b\u5426\u5219\uff0c\u5b83\u53ea\u4f1a\u662f\u53c8\u4e00\u4e2a\u4ee4\u4eba\u5174\u594b\u4f46\u65e0\u6cd5\u7528\u4e8e\u4e25\u8083\u5de5\u7a0b\u9886\u57df\u7684demo\u7ea7\u4f5c\u54c1\u3002\u5c31\u76ee\u524d\u800c\u8a00\uff0c\u503c\u5f97\u5173\u6ce8\uff0c\u4f46\u4e0d\u5fc5\u8fc7\u5ea6\u795e\u8bdd\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\">Prime Agent<\/span>\n                <\/div>\n<div class=\"comment-content\">Prime Agent is an open-source, self-improving coding harness built around two abstractions: the Recursive Language Model (RLM) and the Continual Harness. With Opus 5, it achieves 95.5% on ARC-AGI-3, surpassing the reported human expert baseline.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone!<\/p>\n<p>The <a href=\"https:\/\/jackhopkins.github.io\/factorio-learning-environment\/versions\/0.3.0.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Factorio experiment<\/a> might be my favorite part of Prime Agent.<\/p>\n<p>Prime Agent can turn things it learns during a run into persistent memories, skills, prompts, and even new subagents. In Factorio, that worked as intended at first: it learned from failed layouts and gradually built better factories.<\/p>\n<p>Then it discovered that it could cheat by spawning resources directly into machines through RCON.<\/p>\n<p>And <em>\/refine<\/em> started getting better at cheating too \ud83d\ude42<\/p>\n<p>That example probably explains Prime Agent better than any benchmark. The harness itself is no longer completely fixed. The agent can inspect what happened, keep useful patterns, and change parts of its own scaffolding while it works.<\/p>\n<p>Underneath that is a persistent Python REPL, recursive subagents, agent-to-agent messaging, and recoverable sessions. The whole project is <a href=\"https:\/\/github.com\/PrimeIntellect-ai\/prime-agent\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">open source<\/a>.<\/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\/@zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a> The Factorio cheat discovery is the best capability showcase I\u2019ve seen in a while. \ud83d\ude05 <br \/>Self-modifying scaffolding + persistent REPL is a lethal combo. Great work shipping this open source. <br \/>Best of the luck for 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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>The persistent skills and recoverable sessions are compelling, especially given the Factorio failure mode. What acceptance checks stop a retained skill from turning a local shortcut into a general regression across later tasks?<\/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, <a href=\"https:\/\/www.producthunt.com\/@zaczuo\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a> \ud83d\ude80 <\/p>\n<p>The Factorio story about the agent discovering RCON and learning to &#8220;cheat&#8221; its own harness is hilarious and honestly impressive. A self-improving harness with a persistent Python REPL and subagents feels like a massive step forward for open-source AI tooling. <\/p>\n<p>Good luck with the launch today!<\/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\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3LWBB3MAO7P4X2\" class=\"app-title\">Gutta<\/a><\/p>\n<div class=\"one-liner\">A tiny, offline task list for your Mac menu bar<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">142<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Gutta \u662f\u4e00\u6b3e\u9a7b\u7559\u5728 Mac \u83dc\u5355\u680f\u7684\u6781\u7b80\u79bb\u7ebf\u4efb\u52a1\u6e05\u5355\uff0c\u901a\u8fc7\u5168\u5c40\u5feb\u6377\u952e\u5524\u8d77\u8f93\u5165\u6846\uff0c\u7528\u81ea\u7136\u8bed\u8a00\u901f\u8bb0\u4efb\u52a1\u5e76\u89e3\u6790\u65e5\u671f\u4e0e\u63d0\u9192\uff0c\u8ba9\u4f60\u5728\u4e0d\u79bb\u5f00\u5f53\u524d\u5de5\u4f5c\u6d41\u7684\u524d\u63d0\u4e0b\u5b8c\u6210\u201c\u79d2\u7ea7\u201d\u4efb\u52a1\u6355\u83b7\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\/0d4eec39-e94d-4625-a6b0-954be74853ab.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\/235f48a9-ffa9-4f6d-80d9-f3e6b016bc46.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\/538461a9-8fc3-4355-8dfe-47ed32f9fc1b.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\/3160792f-44fc-4392-b320-8ba49d1a5eed.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\/bb51e5c4-335f-451b-819d-760a0dea7921.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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Task Management<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4efb\u52a1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u89e3\u6790<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5b58\u50a8<\/span><br \/>\n            <span class=\"tag\">\u952e\u76d8\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u63d0\u9192\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6781\u7b80\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">Mac\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/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\u5176\u6781\u7b80\u5916\u89c2\u4e0e\u5feb\u901f\u6355\u83b7\u7406\u5ff5\uff0c\u5e76\u8be2\u95ee\u6280\u672f\u6808\uff08SwiftUI\uff09\u3002\u5f00\u53d1\u8005\u56de\u5e94\u4e86\u65e0\u4e91\u7aef\u8d26\u6237\u7684\u540c\u6b65\u673a\u5236\u3002\u6709\u7528\u6237\u63d0\u51fa\u5173\u952e\u7591\u95ee\uff1a\u591a\u8bbe\u5907\u79bb\u7ebf\u7f16\u8f91\u540c\u4e00\u4efb\u52a1\u5217\u8868\u65f6\u5982\u4f55\u89e3\u51b3\u51b2\u7a81\uff1f\u6b64\u95ee\u9898\u6682\u672a\u83b7\u5b98\u65b9\u89e3\u7b54\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                Gutta\u7684\u201c\u5c0f\u201d\u4e0e\u201c\u5feb\u201d\u662f\u7cbe\u51c6\u7684\u5b9a\u4f4d\uff0c\u5b83\u5207\u4e2d\u7684\u4e0d\u662f\u4efb\u52a1\u7ba1\u7406\u5e02\u573a\u7684\u7a7a\u767d\uff0c\u800c\u662f\u201c\u6355\u83b7\u201d\u73af\u8282\u7684\u6548\u7387\u75db\u70b9\u3002\u5728Omnifocus\u3001Things\u7b49\u91cd\u5de5\u5177\u7edf\u6cbb\u7684\u9886\u57df\uff0cGutta\u7528\u4e00\u9053\u5feb\u6377\u952e\u548c\u81ea\u7136\u8bed\u8a00\u89e3\u6790\u6784\u5efa\u4e86\u4f4e\u6469\u64e6\u7684\u8f93\u5165\u8def\u5f84\uff0c\u672c\u8d28\u4e0a\u662f\u5bf9\u201cGTD\u6536\u4ef6\u7bb1\u201d\u8fd9\u4e00\u6982\u5ff5\u7684\u6781\u81f4\u5316\u8f7b\u91cf\u590d\u523b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u6781\u7aef\u7684\u9690\u79c1\u59ff\u6001\u4e0e\u79bb\u7ebf\u4f18\u5148\uff1a\u6570\u636e\u5f52\u5bbf\u5b8c\u5168\u7531\u7528\u6237\u63a7\u5236\uff0c\u65e0\u8d26\u6237\u3001\u65e0\u8ffd\u8e2a\uff0c\u8fd9\u5728\u5f53\u4e0bSaaS\u7ed1\u67b6\u7528\u6237\u6570\u636e\u7684\u80cc\u666f\u4e0b\u6784\u6210\u4e86\u72ec\u7279\u7684\u201c\u5b89\u5168\u6ea2\u4ef7\u201d\uff0c\u8db3\u4ee5\u5438\u5f15\u4e00\u6279\u9ad8\u51c0\u503c\u3001\u6ce8\u91cd\u9690\u79c1\u7684\u6548\u7387\u5de5\u4f5c\u8005\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u81f4\u547d\u77ed\u677f\u5728\u4e8e\u540c\u6b65\u51b2\u7a81\u7b56\u7565\u7684\u7f3a\u5931\u3002\u5f00\u53d1\u8005\u4ec5\u7528\u201c\u6587\u4ef6\u5939\u540c\u6b65\u201d\u8f7b\u63cf\u6de1\u5199\uff0c\u82e5\u4e24\u4e2a\u8bbe\u5907\u79bb\u7ebf\u7f16\u8f91\u540c\u4e00\u5217\u8868\uff0c\u5fc5\u7136\u4ea7\u751f\u6570\u636e\u8986\u76d6\u6216\u4e22\u5931\u3002\u8fd9\u4e0d\u4ec5\u662f\u6280\u672f\u6311\u6218\uff0c\u66f4\u662f\u4fe1\u4efb\u5371\u673a\u2014\u2014\u5bf9\u4e8e\u4e00\u4e2a\u628a\u201c\u53ef\u9760\u6027\u201d\u89c6\u4e3a\u751f\u547d\u7684\u4efb\u52a1\u5de5\u5177\uff0c\u51b2\u7a81\u5904\u7406\u673a\u5236\u82e5\u4e0d\u505a\u6df1\uff0c\u5c31\u6c38\u8fdc\u53ea\u80fd\u505c\u7559\u5728\u201c\u4fbf\u7b7e\u66ff\u4ee3\u54c1\u201d\u7684\u5c42\u7ea7\uff0c\u800c\u975e\u4efb\u52a1\u7ba1\u7406\u4f53\u7cfb\u4e2d\u503c\u5f97\u6258\u4ed8\u7684\u4e00\u73af\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u83dc\u5355\u680f+\u5feb\u6377\u8f93\u5165\u7684\u4ea7\u54c1\u5f62\u6001\u5929\u7136\u9501\u6b7b\u4e86\u4f7f\u7528\u573a\u666f\u2014\u2014\u5b83\u6ce8\u5b9a\u53ea\u662f\u4e00\u4e2a\u201c\u6355\u83b7\u5668\u201d\uff0c\u800c\u4e0d\u662f\u201c\u89c4\u5212\u5668\u201d\u6216\u201c\u56de\u987e\u5668\u201d\u3002\u4e00\u65e6\u7528\u6237\u7684\u4efb\u52a1\u8d85\u51fa\u6e05\u5355\u5c42\u9762\uff0c\u9700\u8981\u9879\u76ee\u5206\u89e3\u3001\u4f18\u5148\u7ea7\u6392\u5e8f\u65f6\uff0cGutta\u7684\u6781\u7b80\u4e3b\u4e49\u5c06\u4ece\u4f18\u70b9\u53d8\u6210\u5929\u82b1\u677f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cGutta\u662f\u4e00\u6b3e\u4f18\u79c0\u7684\u201c\u5165\u53e3\u578b\u201d\u5de5\u5177\uff0c\u5b8c\u6210\u4e86\u201c\u5feb\u201d\u4e0e\u201c\u79c1\u201d\u7684\u627f\u8bfa\uff0c\u4f46\u82e5\u60f3\u5728\u7ade\u4e89\u6fc0\u70c8\u7684\u6548\u7387\u5e02\u573a\u4e2d\u7a81\u56f4\uff0c\u5b83\u5fc5\u987b\u5c3d\u5feb\u660e\u786e\u9488\u5bf9\u79bb\u7ebf\u51b2\u7a81\u7684\u201c\u6700\u7ec8\u89e3\u91ca\u6743\u201d\uff0c\u5e76\u8003\u8651\u5982\u4f55\u4e0e\u5b8c\u6574\u7684\u4efb\u52a1\u7ba1\u7406\u7cfb\u7edf\uff08\u800c\u975e\u6587\u4ef6\uff09\u8fdb\u884c\u6865\u63a5\u3002\u76ee\u524d\u5b83\u662f\u4e00\u628a\u950b\u5229\u7684\u5200\uff0c\u4f46\u8fd8\u6ca1\u6709\u914d\u597d\u5408\u9002\u7684\u5200\u9798\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\">Gutta<\/span>\n                <\/div>\n<div class=\"comment-content\">Gutta is a tiny, keyboard-first task list for the Mac menu bar. Press \u2318\u21e7Space, type tasks the way you say them, and get back to work. It understands natural dates and times, turns semicolon-separated input into multiple tasks, and schedules local reminders. Everything is stored on your Mac, with optional sync through a folder you control in iCloud Drive, Dropbox, or OneDrive\u2014no Gutta account, subscription, tracking, or developer-owned cloud.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the minimalistic look \ud83d\ude42 What did you use for building it?<\/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\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;SwiftUI<\/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>Really like the idea of a fast, offline task capture tool that stays out of the way.<\/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\">Hey Product Hunt! I built Gutta because capturing a task should take seconds, not pull you into another app. Press \u2318\u21e7Space, type \u201csend the invoice Friday at 10:30,\u201d hit Return, and keep moving.<\/p>\n<p>Everything stays on your Mac: natural-language parsing, storage, and reminders. If you want multi-Mac sync, Gutta uses a folder you choose in iCloud Drive, Dropbox, or OneDrive\u2014no Gutta account or developer-owned server.<\/p>\n<p>This is the first public release, and I\u2019d love feedback on the capture flow and reminder controls. \ud83d\ude4c<\/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>I like the UI&#8230; I&#8217;m curious how you handle conflicts when two devices edit the same task list while offline.<\/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\">#8<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/JU5HMYYWYZUOOF\" class=\"app-title\">Remix<\/a><\/p>\n<div class=\"one-liner\">Figma, but on your production app. Test variants and ship.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">128<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Remix \u8ba9\u975e\u5de5\u7a0b\u5e08\uff08\u8bbe\u8ba1\u5e08\u3001\u4ea7\u54c1\u7ecf\u7406\u3001\u5ba2\u670d\u7b49\uff09\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u5728\u771f\u5b9e\u4ea7\u54c1\u7684\u5b89\u5168\u6c99\u7bb1\u4e2d\u751f\u6210\u53d8\u4f53\u3001\u5b9e\u65f6\u9884\u89c8\u5e76\u62d6\u62fd\u5408\u5e76\uff0c\u6700\u7ec8\u4e00\u952e\u751f\u6210 GitHub PR\uff0c\u4ece\u800c\u6d88\u9664\u201c\u60f3\u6cd5\u5230\u4e0a\u7ebf\u201d\u7684\u5de5\u7a0b\u7b49\u5f85\u671f\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\/df1b1fcd-88a6-4783-abfa-e9372e294d9e.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\/099b56a8-6aea-448d-bbd9-2a1e02ac4bfb.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\/01d061c7-66c9-43e3-94c0-6e6a10958c66.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\/c1af003b-46f8-43f2-98a0-ad60aa41a868.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\/068690a9-755f-42f9-aaed-a80f5d28ae4e.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\/c89866bb-5954-47d4-b941-ef0f94115971.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/AIALwmpNItI\"><source src=\"https:\/\/youtu.be\/AIALwmpNItI\" 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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u539f\u578b<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u6c99\u7bb1\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">GitHub\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">DevOps<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u5b9e\u9a8c<\/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\u9ad8\u5ea6\u8ba4\u53ef\u201c\u5168\u5458\u53ef\u5b9e\u9a8c\u201d\u548c\u201c\u62d6\u62fd\u5408\u5e76\u201d\u7684\u521b\u610f\uff0c\u4f46\u7126\u70b9\u96c6\u4e2d\u5728\u6570\u636e\u5b89\u5168\u4e0e\u4ee3\u7801\u8d28\u91cf\u4e0a\uff1a\u6c99\u7bb1\u9ed8\u8ba4\u8fde\u63a5\u4f55\u79cd\u6570\u636e\u6e90\uff1f\u751f\u6210\u7684PR\u4ee3\u7801\u53ef\u8bfb\u6027\u5982\u4f55\uff0c\u662f\u5426\u4f1a\u66b4\u9732AI\u751f\u6210\u8fc7\u7a0b\u7684\u6df7\u4e71\uff1f\u521b\u59cb\u4eba\u5bf9\u524d\u8005\u56de\u5e94\u79f0\u7531\u56e2\u961f\u914d\u7f6e\u6570\u636e\u8fde\u63a5\uff0c\u4f46\u672a\u89e3\u7b54\u540e\u8005\uff0c\u4e14\u7f3a\u4e4f\u5bf9\u590d\u6742\u4ee3\u7801\u5e93\u5408\u5e76\u51b2\u7a81\u7684\u5b9e\u9645\u6848\u4f8b\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                Remix\u8e29\u4e2d\u4e86\u201cAI\u751f\u6210\u4ee3\u7801\u5df2\u5bb9\u6613\uff0c\u4f46\u4ea4\u4ed8\u4ecd\u8270\u96be\u201d\u7684\u771f\u75db\u70b9\uff0c\u5176\u4ef7\u503c\u4e0d\u5728\u4e8e\u66ff\u4ee3\u7a0b\u5e8f\u5458\uff0c\u800c\u5728\u4e8e\u5c06\u201c\u5b9e\u9a8c\u6743\u201d\u4ece\u5de5\u7a0b\u56e2\u961f\u4e0b\u653e\u81f3\u5168\u5458\uff0c\u5e76\u628a\u5de5\u7a0b\u5ba1\u9605\u540e\u7f6e\u4e3a\u201c\u628a\u5173\u8005\u201d\u3002\u8fd9\u79cd\u201cAI\u5199\u4ee3\u7801+\u4eba\u5ba1PR\u201d\u7684\u534f\u4f5c\u6a21\u5f0f\uff0c\u786e\u5b9e\u662f\u5de5\u4e1a\u5316AI\u7f16\u7a0b\u7684\u6b63\u786e\u65b9\u5411\uff0c\u6bd4\u5355\u7eaf\u5806\u780c\u81ea\u52a8\u8865\u5168\u5de5\u5177\u9ad8\u4e00\u4e2a\u7ef4\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u51b7\u6c34\uff1a\u5176\u4e00\uff0c\u6240\u8c13\u201c\u62d6\u62fd\u5408\u5e76\u53d8\u4f53\u201d\u5728\u6280\u672f\u5b9e\u73b0\u4e0a\u662f\u6781\u9ad8\u95e8\u69db\u7684\u5929\u82b1\u677f\uff0c\u771f\u5b9e\u4ea7\u54c1\u5206\u652f\u95f4\u7684\u5408\u5e76\u51e0\u4e4e\u5fc5\u7136\u4f34\u968f\u8bed\u4e49\u51b2\u7a81\uff0c\u800c\u975e\u89c6\u89c9\u5c42\u7ea7\u7684\u53e0\u52a0\uff0c\u82e5\u53ea\u662f\u7c97\u66b4\u62fc\u63a5\u754c\u9762\u6811\uff0c\u5c06\u4ea7\u751f\u707e\u96be\u6027\u4ee3\u7801\uff1b\u5176\u4e8c\uff0c\u201c\u63d0\u793a\u5373\u4ee3\u7801\u201d\u7684\u627f\u8bfa\u662f\u53cc\u5203\u5251\u2014\u2014\u5f53\u975e\u5de5\u7a0b\u5e08\u7528\u81ea\u7136\u8bed\u8a00\u5806\u780c\u51fa\u80fd\u8dd1\u7684\u7279\u6548\uff0c\u5176\u4ea7\u751f\u7684PR\u53ef\u80fd\u8fdd\u53cd\u67b6\u6784\u7ea6\u675f\u3001\u5f15\u5165\u9690\u85cf\u4f9d\u8d56\uff0c\u8fd9\u4f1a\u8ba9\u201c\u5ba1\u9605\u201d\u53d8\u5f97\u6bd4\u5199\u4ee3\u7801\u66f4\u7d2f\uff0c\u6700\u7ec8\u6ca6\u4e3a\u5de5\u7a0b\u5e08\u7684\u53e6\u7c7b\u8d1f\u62c5\uff1b\u5176\u4e09\uff0c\u4ea7\u54c1\u523b\u610f\u56de\u907f\u4e86\u201c\u6c99\u7bb1\u6570\u636e\u4ece\u54ea\u6765\u201d\u7684\u6838\u5fc3\u56de\u7b54\uff0c\u8fd9\u6070\u6070\u662f\u4f01\u4e1a\u91c7\u8d2d\u4e2d\u6700\u81f4\u547d\u7684\u5b89\u5168\u5408\u89c4\u6b7b\u7a74\u3002\u6574\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u201c\u521b\u610f\u6ee1\u5206\u3001\u5de5\u7a0b\u5b58\u7591\u201d\u7684\u4ea7\u54c1\uff0c\u80fd\u5426\u4ecedemo\u8d70\u5411\u4e25\u8083\u751f\u4ea7\u73af\u5883\uff0c\u53d6\u51b3\u4e8e\u5b83\u6562\u4e0d\u6562\u76f4\u9762\u5408\u5e76\u7b97\u6cd5\u548c\u4ee3\u7801\u53ef\u8bfb\u6027\u7684\u786c\u9aa8\u5934\uff0c\u800c\u975e\u7ee7\u7eed\u5ba3\u4f20\u201c\u96f6\u98ce\u9669\u201d\u7684\u7ae5\u8bdd\u3002\u7559\u7ed9\u5b83\u7684\u7a97\u53e3\u671f\uff0c\u53ef\u80fd\u53ea\u6709\u4e00\u5e74\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\">Remix<\/span>\n                <\/div>\n<div class=\"comment-content\">Your whole team, experimenting on the real product. Remix lets any team member spin up a variant of your actual product: a safe, sandboxed copy you shape by prompting. No setup, no risk to production. Explore ideas side by side as a team. Like where two variants are headed? Drag one into the other to merge them. When an idea is ready, open a PR straight to GitHub. Every prompt is recorded, so reviewers see exactly how it was built and a live link lets anyone test before a single line hits main.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt!<\/p>\n<p>We are launching Remix today.<\/p>\n<p>We believe the best idea for a product rarely comes from the people allowed to build it. A designer, a PM, a support rep sees exactly what should change, then waits weeks for engineering time, if it happens at all. That wait is where most good ideas quietly die.<\/p>\n<p>The coding itself has become much easier with AI. Everything around it is still hard: setting up the project, running it, previewing it, keeping up with the main codebase, reviewing the work, and getting it shipped.<\/p>\n<p>Remix handles all of that, and makes it multiplayer. Anyone on the team works on a safe, live copy of the real product and makes changes by describing them. Every remix gets its own sandbox and live preview, and it&#8217;s checked against your design system, security, and compliance rules before it goes anywhere. Engineering moves up to architecture and approval: they see the prompts, review a clean pull request, and keep the final say.<\/p>\n<p>One of our early teams had a designer rework their app&#8217;s empty states, something that had sat in the backlog for months. She prompted it, previewed it, and it shipped the same day through a normal PR review.<\/p>\n<p>We&#8217;re working closely with early teams right now, and I&#8217;d love your feedback: what product changes keep getting stuck at your company because the person who spotted them can&#8217;t build them?<\/p>\n<p>I&#8217;ll be here all day answering questions. Thanks for checking out Remix.<\/p><\/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\/@heshamghandour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heshamghandour<\/a>&nbsp;Giving the whole team the ability to spin up variants without the anxiety of breaking production is the dream. The drag-and-drop merge to PR pipeline sounds incredibly smooth. Good luck for 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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@heshamghandour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heshamghandour<\/a>&nbsp;Dragging one variant into another to merge them is the most interesting idea I have seen on PH this week. When a variant becomes a PR, how readable is the diff as clean code, or does a reviewer see the AI&#8217;s mess?<\/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 really like this, accelerating ideas -&gt; prod while also giving the engineer greater visibility to see the whole process before the PR even lands, brilliant<\/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><a href=\"https:\/\/www.producthunt.com\/@heshamghandour\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"heshamghandour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heshamghandour<\/a> The sandbox is what I&#8217;d want to understand before handing this to a support rep or a designer. When someone spins up a live copy of the real product, what is it running against: a snapshot of production data, seeded fixtures, or something synthetic?<\/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\/@clement_avq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@clement_avq<\/a>&nbsp;Good question, and the honest answer is: none of the three by default. The sandbox runs the real app off the branch, what it talks to is a config decision you make, not something Remix picks for you.<\/p>\n<p>For the case you&#8217;re describing (support rep or designer poking at a live copy), I&#8217;d point it at a dev or staging backend. <\/p>\n<p>They get a fully clickable version of the real product, and nothing they do touches production data.<\/p>\n<p>The other options are there if you want them: point it at production if that&#8217;s genuinely what you need, host a backend sandbox on Remix too so a frontend sandbox talks to its own isolated backend, or upload a build running on synthetic data.<\/p>\n<p>Happy to walk through how you&#8217;d wire it up for your setup.<\/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\/NQURZFZSJX6BY4\" class=\"app-title\">Vidaya<\/a><\/p>\n<div class=\"one-liner\">Healthspan score from your wearables, labs, and DNA. <\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">112<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Vidaya\u5c06\u53ef\u7a7f\u6234\u8bbe\u5907\u3001\u4f53\u68c0\u62a5\u544a\u3001DNA\u3001\u7528\u836f\u8bb0\u5f55\u7b4960+\u6765\u6e90\u7684\u5065\u5eb7\u6570\u636e\u6574\u5408\u4e3a\u4e00\u5904\uff0c\u901a\u8fc7AI\u751f\u6210\u201c\u5065\u5eb7\u5bff\u547d\u8bc4\u5206\u201d\u4e0e\u4e2a\u6027\u5316\u884c\u52a8\u8ba1\u5212\uff0c\u89e3\u51b3\u7528\u6237\u6570\u636e\u5272\u88c2\u3001\u53ea\u770b\u6570\u503c\u4e0d\u77e5\u4e0b\u4e00\u6b65\u8be5\u505a\u4ec0\u4e48\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\/7a970293-89ee-41ce-a4da-f0e30ac00338.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\/340e0621-5909-452a-9c8d-51754414ef32.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\/d00658dc-76a9-44ca-9d18-42d71dfed7cb.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\/45156219-cbca-4791-9775-b80479b3b060.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\/9178fc24-ca3c-4ecb-851b-5ea6008771cd.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\/a15f89c3-b6d1-4c96-ae50-84bbcdd06e48.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\/ec9fc78a-6922-46d5-8c49-675bfda0c07a.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=D6R9o7s4W3g\"><source src=\"https:\/\/www.youtube.com\/watch?v=D6R9o7s4W3g\" 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\">Android<\/span><br \/>\n            <span class=\"tag\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5065\u5eb7\u5bff\u547d\u8bc4\u5206<\/span><br \/>\n            <span class=\"tag\">AI\u5065\u5eb7\u6559\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u533b\u7597\u6570\u636e\u6574\u5408<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7a7f\u6234\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u57fa\u56e0\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u7ba1\u7406\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">HIPAA\u5408\u89c4<\/span><br \/>\n            <span class=\"tag\">\u751f\u7269\u6807\u5fd7\u7269\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u957f\u5bff\u8ba1\u5212<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u5173\u8054\u5206\u6790<\/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\u80af\u5b9a\u5176\u6574\u5408\u591a\u6e90\u6570\u636e\u7684\u65b9\u5411\uff0c\u4f46\u96c6\u4e2d\u8ffd\u95ee\u4e24\u70b9\uff1a\u4e00\u662fAI\u5982\u4f55\u5904\u7406\u77db\u76fe\u6570\u636e\uff08\u5982\u624b\u8868\u663e\u793a\u6062\u590d\u826f\u597d\u4f46\u8840\u68c0\u663e\u793a\u75b2\u52b3\uff09\uff1b\u4e8c\u662f\u9690\u79c1\u4e0e\u6570\u636e\u63a7\u5236\u6743\uff0c\u660e\u786e\u95ee\u6570\u636e\u662f\u5426\u51fa\u552e\u3001\u7528\u4e8e\u5e7f\u544a\u6216\u8bad\u7ec3AI\u3002\u521b\u59cb\u4eba\u56de\u5e94\u4e86\u5b89\u5168\u6d4b\u8bd5\u4e0eHIPAA\u5408\u89c4\uff0c\u4f46\u672a\u76f4\u63a5\u7b54\u590d\u6570\u636e\u5546\u4e1a\u5316\u7528\u9014\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                Vidaya\u7684\u91ce\u5fc3\u5728\u4e8e\u6210\u4e3a\u201c\u5065\u5eb7\u6570\u636e\u7684\u4e2d\u592e\u60c5\u62a5\u5c40\u201d\u2014\u2014\u628a\u6563\u843d\u7684\u4fe1\u53f7\u62fc\u6210\u4e00\u5f20\u56e0\u679c\u7f51\u3002\u8fd9\u786e\u5b9e\u5207\u4e2d\u91cf\u5316\u81ea\u6211\u7fa4\u4f53\u7684\u6838\u5fc3\u632b\u8d25\u611f\uff1a\u6570\u636e\u8d8a\u591a\uff0c\u566a\u97f3\u8d8a\u54cd\uff0c\u6d1e\u5bdf\u8d8a\u5c11\u3002\u5176\u58c1\u5792\u4e0d\u5728\u201c\u805a\u5408\u201d\uff0c\u800c\u5728\u201c\u5173\u8054\u5f15\u64ce\u201d\u4e0e\u533b\u7597\u7ea7\u6570\u636e\u63a5\u5165\uff08Epic FHIR\u3001Labcorp\uff09\u7684\u5408\u89c4\u6df1\u5ea6\uff0c\u8fd9\u5e76\u975e\u666e\u901a\u6d88\u8d39\u7ea7App\u80fd\u8f7b\u6613\u590d\u5236\u3002\u4f46\u9510\u8bc4\u9700\u6307\u51fa\u7684\u95ee\u9898\u662f\uff1a\u5176\u4e00\uff0cHealthspan\u8bc4\u5206\u672c\u8d28\u662f\u201c\u6a21\u578b\u8f93\u51fa\u201d\uff0c\u5176\u79d1\u5b66\u4f9d\u636e\u4e0e\u9a8c\u8bc1\u6807\u51c6\u5e76\u672a\u5728\u53d1\u5e03\u6750\u6599\u4e2d\u516c\u5f00\uff0c\u800c\u751f\u7269\u5e74\u9f84\u7c7b\u6307\u6807\uff08\u5982PhenoAge\uff09\u5df2\u6709\u5927\u91cf\u6587\u732e\u6279\u8bc4\u5176\u9884\u6d4b\u6548\u5ea6\u4e0e\u6587\u5316\u504f\u5dee\uff0cVidaya\u9700\u8bc1\u660e\u8fd9\u4e0d\u53ea\u662f\u53e6\u4e00\u4e2a\u201c\u5065\u5eb7\u7384\u5b66\u6307\u6570\u201d\u3002\u5176\u4e8c\uff0c\u8bc4\u8bba\u4e2d\u7528\u6237\u7684\u7b2c\u4e00\u53cd\u5e94\u4ecd\u662f\u9690\u79c1\u2014\u2014\u5373\u4fbf\u5ba3\u79f0HIPAA\u5408\u89c4\uff0c\u4e5f\u4e0d\u7b49\u4e8e\u7528\u6237\u4fe1\u4efb\uff0c\u7279\u522b\u662f\u201c\u662f\u5426\u7528\u4e8e\u8bad\u7ec3AI\u201d\u8fd9\u4e00\u95ee\u59cb\u7ec8\u672a\u88ab\u521b\u59cb\u4eba\u6b63\u9762\u56de\u7b54\u3002\u5728\u751f\u6210\u5f0fAI\u5f15\u53d1\u5065\u5eb7\u6570\u636e\u4f26\u7406\u4e89\u8bae\u7684\u5f53\u4e0b\uff0c\u907f\u8c08\u6570\u636e\u5546\u4e1a\u5316\u8fb9\u754c\u662f\u9690\u60a3\u3002\u5176\u4e09\uff0c\u5546\u4e1a\u5316\u8def\u5f84\u6a21\u7cca\uff1a$39\/\u5e74\u7684\u4f4e\u4ef7\u6697\u793a\u70e7\u94b1\u6362\u589e\u957f\uff0c\u4f46\u4e00\u65e6\u7528\u6237\u8fde\u63a5\u5b8c\u8bbe\u5907\uff0cAI\u7ed9\u51fa\u7684\u201c\u4e0b\u4e00\u6b65\u884c\u52a8\u201d\u82e5\u65e0\u6301\u7eed\u533b\u7597\u7ea7\u5e72\u9884\u95ed\u73af\uff08\u5982\u533b\u751f\u5904\u65b9\u3001\u4fdd\u9669\u5408\u4f5c\uff09\uff0c\u7559\u5b58\u53ef\u80fd\u8fc5\u901f\u8870\u51cf\u3002\u4ea7\u54c1\u76ee\u524d\u66f4\u50cf\u201c\u9ad8\u7ea7\u6559\u7ec3\u201d\u800c\u975e\u201c\u533b\u7597\u8bbe\u5907\u201d\uff0c\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e94\u662f\u540e\u7eed\u80fd\u5426\u4e0e\u4e34\u5e8a\u8def\u5f84\u7ed1\u5b9a\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u88ab\u82f9\u679c\u5065\u5eb7\/\u4e09\u661fHealth\u7684\u751f\u6001\u6574\u5408\u964d\u7ef4\u6253\u51fb\u3002\u6700\u540e\uff0c\u521b\u59cb\u4eba\u8bb2\u7684\u6545\u4e8b\u5f88\u52a8\u4eba\uff08\u9ad8\u8840\u538b\u672a\u88ab\u9884\u8b66\uff09\uff0c\u4f46\u5355\u70b9\u6848\u4f8b\u4e0d\u8db3\u4ee5\u6784\u6210\u533b\u5b66\u8bc1\u636e\u3002\u5efa\u8bae\u56e2\u961f\u5c3d\u5feb\u53d1\u5e03\u767d\u76ae\u4e66\uff0c\u516c\u5f00\u8bc4\u5206\u7b97\u6cd5\u4e0eAI\u5b89\u5168\u5ba1\u8ba1\u7ec6\u8282\uff0c\u5426\u5219\u5728\u4fe1\u4efb\u95e8\u69db\u6781\u9ad8\u7684\u5065\u5eb7\u8d5b\u9053\uff0c\u60c5\u6000\u6491\u4e0d\u8d77\u957f\u671f\u58c1\u5792\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\">Vidaya<\/span>\n                <\/div>\n<div class=\"comment-content\">Vidaya turns your wearable data, labs, and habits into a real Healthspan score and a personalized longevity plan. Built by founders tired of dashboards that show numbers but never tell you what to actually do next.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A health dashboard that finally connects every signal you generate. That sounds simple, but the work is in the connecting.<\/p>\n<p>I\u2019m Kevin Amrelle, Founder and CEO of Vidaya (you may have known us as Vitality AI Health, same product, same team, new name).<\/p>\n<\/p>\n<p><strong>The problem: <\/strong>Your health data is everywhere, and none of it talks to each other. Your meals are in MyFitnessPal. Your supplements are in SuppCo. Your blood work is in a PDF from Quest. Your DNA report is in your Ancestry account. Your medical history is locked in Epic. Your steps are in Apple Health. Your air quality is on a government EPA dashboard. Your prescriptions are at CVS. Every one of those tells you a piece of the truth. None of them tell you what\u2019s actually happening to your body, or what to do about it.<\/p>\n<\/p>\n<p>I learned this the hard way. I was in a winter bike race when my heart rate capped at 120 BPM. My cuff confirmed stage 2 hypertension. None of my health apps caught the trend. I built Vidaya so that never happens to anyone again.<\/p>\n<p>What it is: Vidaya is the AI longevity dashboard that unifies every health signal you generate, wearables, blood work, DNA, nutrition, supplements, environmental exposure, and your Epic medical records, into one place. Vaya, our AI coach, finds the correlations no single app can.<\/p>\n<\/p>\n<p><strong>What makes it different: <\/strong>Most consumer health apps aggregate one or two data categories. We aggregate every category you actually generate, including the medical-grade ones (Epic FHIR, Labcorp, Quest, 23andMe, AncestryDNA). The product was built HIPAA-compliant from day one, and the underlying cross-source correlation engine is the subject of a patent application.<\/p>\n<\/p>\n<p><strong>Key features:<\/strong><br \/>Vaya Chat AI for natural-language questions across all your data (ask \u201chow did my sleep change after starting Lexapro\u201d and get a grounded answer in 10 seconds)<br \/>60+ integrated data sources unified in one dashboard: wearables, labs, DNA, nutrition, supplements, environmental, and medical records<br \/>Healthspan Score across five longevity pillars, plus the VAI Score (0-100) showing how complete your health picture is<br \/>Trend lines for every biomarker across 7d \/ 30d \/ 90d \/ 1y, so you catch problems early, with a personalized plan of evidence-based next actions<\/p>\n<\/p>\n<p><strong>Benefits:<\/strong> Stop logging into eight apps to answer one health question. Catch trend changes early instead of in a clinic six months later.<\/p>\n<\/p>\n<p><strong>Who it\u2019s for:<\/strong> Anyone who has tried to quantify themselves and given up because the data was scattered.<\/p>\n<\/p>\n<p><strong>Launch offer:<\/strong> For Product Hunt launch week only, $50 off the annual plan with code VIDAYA50 ($89\/year becomes $39). Code expires [date, launch day plus 6 days]. Live on iOS, Google Play, and the web. Install in 60 seconds, connect your devices in 5 minutes. Includes a 30-day money-back guarantee.<\/p>\n<\/p>\n<p>Try it at <a href=\"https:\/\/vidaya.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>https:\/\/vidaya.ai<\/strong><\/a><strong> <\/strong>and let us know what data correlation surprises you. We read every comment.<\/p>\n<p>Kevin Amrelle, Founder and CEO, Vidaya<\/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\">@kevin_amrelle Connecting labs, DNA, and daily wearable data into a single correlation engine solves such a massive fragmentation issue in digital health. How does Vaya AI handle conflicting data points say when wearable metrics show peak recovery, but recent blood work suggests fatigue?<\/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>Hi, Venkata here, Co-Founder and Head of AI and Data Science at Vidaya.<\/p>\n<p>Kevin told you why we built this. I want to tell you how we made an AI you can trust with your health data.<\/p>\n<\/p>\n<p><strong>The problem with health AI: <\/strong>Most consumer health AI claims safety but cannot prove it. We decided to earn ours.<\/p>\n<\/p>\n<p><strong>How we tested it:<\/strong> Over 120+ chat-quality iterations, we tuned Vaya Chat against a 32-question health stress suite covering lab trends, emergency symptoms, prescription requests, hallucination traps, and adversarial prompts, until every safety-critical category passed.<\/p>\n<\/p>\n<p><strong>How we monitor it: <\/strong>We built a continuous observability layer on Arize AX with 9 LLM-as-judge evaluators and 9 production monitors scoring every response in real time at 100 percent sampling, not just at test time. On May 15 we ran the full 32-question suite against live production Vaya. The audit: 0 hallucinations across 32 questions, 10 out of 10 correct clinical-safety redirects on emergency and prescription prompts, and 4 out of 4 correct\u201cdata not available\u201d answers on hallucination-trap questions. The full audit is available on request.<\/p>\n<\/p>\n<p><strong>How it stays fast: <\/strong>Vaya uses smart routing between two model tiers. Roughly 80 percent of queries take a fast path that answers in 1 to 2 seconds, and complex clinical analysis goes to a deeper grounded path that cites your actual data.<\/p>\n<\/p>\n<p><strong>The data engineering: <\/strong>We normalize 60+ sources into one longitudinal record: wearables through a vendor wearable-normalization API, labs, DNA, nutrition, and Epic medical records over SMART on FHIR. Correlations get computed from unified data instead of guessed from fragments.<\/p>\n<\/p>\n<p><strong>Security: <\/strong>The platform was built HIPAA-compliant from day one with guidance from Denis Galkin, our vCISO, who brings twenty years of healthcare security experience.<\/p>\n<\/p>\n<p>Ask me anything about the evaluation stack, the routing, or the data model. I read every comment.<\/p>\n<p>Venkata Ramana Duddu, Ph.D., Co-Founder, Head of AI and Data Science, Vidaya (<a href=\"https:\/\/vidaya.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>https:\/\/vidaya.ai<\/strong><\/a>)<\/p>\n<p><\/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\">@vrduddu Using 100% production sampling with Arize AX and 9 LLM-as-judge evaluators for real-time safety scoring is impressive! How do you handle latency overhead when passing complex clinical queries through the deeper grounded model tier alongside evaluator logging?<\/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\">Nice work connecting all the health signals in one place. Quick question: does the data stay private and under the user\u2019s control once it\u2019s aggregated?<br \/>\nCongrats on the launch!<\/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>Congratulations on the launch! How do you protect sensitive health data? Is it sold, ad-targeted, or used to train AI models?<\/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\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/CHTLTUUCQ3QDPA\" class=\"app-title\">Salesman AI<\/a><\/p>\n<div class=\"one-liner\">The AI sales agent that turns meetings into revenue<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">60<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Salesman AI \u662f\u4e00\u6b3e\u9762\u5411\u5ba2\u6237\u6267\u884c\uff08AE\uff09\u7684AI\u9500\u552e\u4ee3\u7406\uff0c\u5728\u4f1a\u8bae\u524d\u81ea\u52a8\u6574\u5408\u4e70\u5bb6\u4e0e\u4ea4\u6613\u80cc\u666f\u751f\u6210\u7b80\u62a5\u548c\u6a21\u62df\u6f14\u7ec3\uff0c\u4f1a\u8bae\u4e2d\u5b9e\u65f6\u63d0\u793a\u53cd\u5bf9\u4fe1\u53f7\u4e0e\u63d0\u95ee\u9057\u6f0f\uff0c\u4f1a\u540e\u81ea\u52a8\u5c06\u901a\u8bdd\u8f6c\u5316\u4e3a\u4ea4\u6613\u6d1e\u5bdf\u3001\u8ddf\u8fdb\u8349\u7a3f\u4e0e\u4e0b\u4e00\u6b65\u884c\u52a8\uff0c\u8d2f\u7a7f\u552e\u524d-\u552e\u4e2d-\u552e\u540e\u5168\u7a0b\uff0c\u89e3\u51b3\u9500\u552e\u5728\u80cc\u9760\u80cc\u4f1a\u8bae\u4e2d\u201c\u51c6\u5907\u4e0d\u8db3\u3001\u8ddf\u8fdb\u8fdf\u7f13\u3001\u4ea4\u6613\u4fe1\u606f\u788e\u7247\u5316\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\/cc284105-a817-4d6e-bc65-20626c36401e.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\/d90b90b4-6678-40fa-b180-6732aa99498d.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\/6d353b8b-be1e-49e7-bae0-2bc4edec9efa.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\/539d7704-2977-42a3-8598-25ced33ef5d5.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\/6de3afe2-fcff-4eb9-ab32-698a9dbcc9b4.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\/f34454ec-6b28-48a1-9032-e4eec801acdc.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\/8c061a03-56c5-4386-b0eb-fb515de73bad.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\/e5da0ccf-6508-4209-a51b-51db54e1629c.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=UJYyJLdvvH0\"><source src=\"https:\/\/www.youtube.com\/watch?v=UJYyJLdvvH0\" 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\">Sales<\/span><br \/>\n            <span class=\"tag\">Meetings<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u9500\u552e\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u667a\u80fd\u51c6\u5907<\/span><br \/>\n            <span class=\"tag\">\u4e70\u5bb6\u6a21\u62df\u6f14\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u9500\u552e\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u901a\u8bdd\u6d1e\u5bdf\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u4ea4\u6613\u8fdb\u5ea6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">CRM\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u8d4b\u80fd<\/span><br \/>\n            <span class=\"tag\">\u9884\u5224\u53cd\u5bf9\u610f\u89c1<\/span><br \/>\n            <span class=\"tag\">\u8ddf\u8fdb\u884c\u52a8\u751f\u6210<\/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\u4f1a\u4e2d\u63d0\u793a\u201d\u548c\u201c\u4f1a\u8bae\u95f4\u9694\u5feb\u901f\u51c6\u5907\u201d\u7684\u4ef7\u503c\uff0c\u8ba4\u4e3a\u89e3\u51b3\u4e86\u80cc\u9760\u80cc\u4f1a\u8bae\u524d\u51c6\u5907\u4e0d\u8db3\u7684\u771f\u5b9e\u75db\u70b9\u3002\u6709\u7528\u6237\u8be2\u95ee\u8be5\u5de5\u5177\u5728AE\u4e00\u5468\u4e2d\u6700\u5177\u4f53\u7684\u7701\u65f6\/\u51cf\u538b\u65f6\u523b\u53ca\u5176\u5bf9\u540e\u7eed\u4ea4\u6613\u52a8\u4f5c\u7684\u6539\u53d8\uff1b\u53e6\u6709\u7528\u6237\u597d\u5947\u56e2\u961f\u6700\u5e0c\u671b\u8be5\u5de5\u5177\u6539\u9020\u9500\u552e\u6d41\u7a0b\u7684\u54ea\u4e2a\u73af\u8282\u3002\u521b\u59cb\u4eba\u5bf9\u6838\u5fc3\u4ef7\u503c\u7684\u56de\u5e94\u805a\u7126\u4e8e\u201c\u4e24\u5206\u949f\u95f4\u9699\u4e5f\u80fd\u5e26\u7740\u5b8c\u6574\u80cc\u666f\u8fdb\u4f1a\u8bae\u201d\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                Salesman AI\u8e29\u4e2d\u4e86SaaS\u9500\u552e\u9886\u57df\u4e00\u4e2a\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u201c\u65f6\u95f4\u7f1d\u9699\u201d\u2014\u2014AE\u4e0d\u662f\u5728\u4f1a\u4e0a\u5931\u8d25\uff0c\u800c\u662f\u5728\u4f1a\u524d\u4e24\u5206\u949f\u548c\u4f1a\u540e\u4e09\u5341\u5206\u949f\u91cc\u5931\u8d25\u7684\u3002\u5e02\u9762\u4e0a\u7684\u5de5\u5177\u8981\u4e48\u53ea\u505a\u4e8b\u540e\u5206\u6790\uff08\u5f55\u97f3\u8f6c\u5199\u3001\u4f1a\u8bdd\u667a\u80fd\uff09\uff0c\u8981\u4e48\u53ea\u505a\u673a\u68b0\u7684CRM\u8bb0\u5f55\uff0c\u800cSalesman AI\u8bd5\u56fe\u628a\u201c\u51c6\u5907-\u6267\u884c-\u590d\u76d8\u201d\u4e09\u4e2a\u5b64\u7acb\u73af\u8282\u7528\u540c\u4e00\u5957\u4e0a\u4e0b\u6587\u4e32\u8d77\u6765\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5728\u505a\u201c\u9500\u552e\u6d41\u7a0b\u7684\u64cd\u4f5c\u7cfb\u7edf\u201d\uff0c\u800c\u4e0d\u662f\u53c8\u4e00\u4e2a\u5355\u70b9\u63d2\u4ef6\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e76\u4e0d\u5728\u4e8e\u201c\u751f\u6210AI\u6a21\u62df\u4e70\u5bb6\u201d\u8fd9\u79cd\u542c\u8d77\u6765\u9177\u70ab\u4f46\u5b9e\u9645\u6548\u679c\u5b58\u7591\u7684\u529f\u80fd\uff0c\u800c\u5728\u4e8e**\u6301\u7eed\u7d2f\u79ef\u7684\u4ea4\u6613\u4e0a\u4e0b\u6587\u8d44\u4ea7**\u2014\u2014\u6bcf\u4e00\u6b21\u901a\u8bdd\u3001\u6bcf\u4e00\u4e2a\u53cd\u5bf9\u4fe1\u53f7\u3001\u6bcf\u4e00\u5c01\u8ddf\u8fdb\u90ae\u4ef6\u90fd\u88ab\u7ed3\u6784\u5316\u6c89\u6dc0\uff0c\u8ba9\u4e0b\u4e00\u4e2a\u63a5\u624b\u8005\u6216AI Helper\u80fd\u5feb\u901f\u56de\u7b54\u201c\u8fd9\u5355\u5361\u5728\u54ea\u201d\u3002\u4ece\u8fd9\u4e2a\u89d2\u5ea6\u770b\uff0c\u5b83\u66f4\u50cf\u662f\u4e00\u4e2a\u5e26AI\u8f85\u52a9\u7684\u201c\u4ea4\u6613\u8bb0\u5fc6\u6570\u636e\u5e93\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a60\u7968\u7684\u53d1\u5e03\u91cf\u8bf4\u660e\u5b83\u5c1a\u5904\u4e8e\u65e9\u671f\u9a8c\u8bc1\u9636\u6bb5\uff0c\u8bc4\u8bba\u4e2d\u4ec5\u6709\u5c11\u91cf\u771f\u5b9e\u4f7f\u7528\u53cd\u9988\uff0c\u4e14\u7f3a\u4e4f\u5bf9\u201c\u63a8\u8350\u5f15\u64ce\u51c6\u786e\u7387\u201d\u201c\u6a21\u62df\u4e70\u5bb6\u771f\u5b9e\u5ea6\u201d\u7b49\u6838\u5fc3AI\u80fd\u529b\u7684\u5177\u4f53Benchmark\u3002\u6700\u5927\u7684\u98ce\u9669\u5728\u4e8e\uff0c\u5982\u679cAI Helper\u7ed9\u51fa\u7684\u5efa\u8bae\u4e0d\u591f\u51c6\u6216\u4e0d\u591f\u5feb\uff0cAE\u4f1a\u50cf\u653e\u5f03\u4e00\u5207\u4f4e\u8d28\u5de5\u5177\u4e00\u6837\u8fc5\u901f\u5f03\u7528\u2014\u2014\u9500\u552e\u56e2\u961f\u5bf9\u5de5\u5177\u7684\u8010\u5fc3\u662f\u6309\u201c\u5468\u201d\u8ba1\u7684\uff0c\u4e0d\u662f\u6309\u201c\u6708\u201d\u3002\u6b64\u5916\uff0cDISC\u6027\u683c\u5206\u6790\u4e0e\u4e70\u5bb6\u6a21\u62df\u7684\u4e25\u8c28\u6027\u5b58\u7591\uff0c\u82e5\u6d41\u4e8e\u201c\u67e5\u661f\u5ea7\u5f0f\u201d\u7684\u80a4\u6d45\u5f52\u7c7b\uff0c\u53cd\u800c\u4f1a\u8bef\u5bfcAE\u3002\u771f\u6b63\u503c\u5f97\u5173\u6ce8\u7684\u6307\u6807\u4e0d\u662f\u201c\u7528\u4e86\u591a\u5c11\u573a\u6f14\u7ec3\u201d\uff0c\u800c\u662f\u201cAI\u8f85\u52a9\u540e\u7684\u4f1a\u8bae\u8f6c\u5316\u7387\u76f8\u6bd4\u57fa\u7ebf\u63d0\u5347\u4e86\u591a\u5c11\u201d\u3002\u76ee\u524d\uff0c\u5b83\u8bc1\u660e\u4e86\u81ea\u5df1\u7684\u4ef7\u503c\u5047\u8bbe\uff0c\u4f46\u5c1a\u672a\u8bc1\u660e\u4ef7\u503c\u5151\u73b0\u7684\u89c4\u6a21\u6027\u3002\u82e5\u80fd\u5728\u5934\u90e8\u5ba2\u6237\u4e2d\u8dd1\u51fa\u663e\u8457\u7684\u8d62\u5355\u7387\u63d0\u5347\u6570\u636e\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u6709\u673a\u4f1a\u6210\u4e3a\u4e0b\u4e00\u4e2aGong\uff1b\u5426\u5219\uff0c\u4f1a\u6ca6\u4e3a\u53c8\u4e00\u6b3e\u201c\u6f14\u793a\u60ca\u8273\u3001\u7559\u5b58\u60e8\u6de1\u201d\u7684AI\u73a9\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\">Salesman AI<\/span>\n                <\/div>\n<div class=\"comment-content\">Salesman AI compiles buyer and deal context before every meeting, turns it into an adaptive rehearsal and converts each conversation into deal intelligence and next actions. The same context remains available through AI Helper and the deal dashboard, helping AEs move meetings toward measurable pipeline progress.<\/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>\n<p>I\u2019m Raghavan, CEO of Salesman AI, and I\u2019m incredibly excited to finally share what we\u2019ve been building.<\/p>\n<p>Let me be honest about why we built this.<\/p>\n<\/p>\n<p>\ud83d\udcc5 <strong>Getting the meeting is only half the battle.<\/strong><\/p>\n<\/p>\n<p>The AE still has to:<\/p>\n<\/p>\n<p>\u2192 Understand the buyer<br \/>\u2192 Prepare for objections<br \/>\u2192 Run a strong call<br \/>\u2192 Follow up quickly<br \/>\u2192 Qualify the opportunity<br \/>\u2192 Plan the next step<br \/>\u2192 Keep the deal moving<\/p>\n<\/p>\n<p>And they\u2019re expected to do all of it while jumping from one meeting to the next. \ud83d\ude35\u200d\ud83d\udcab<\/p>\n<\/p>\n<p>Most sales tools record what happened or help managers understand what went wrong later.<\/p>\n<\/p>\n<p>But the AE needs help <strong>before the call, while the conversation is happening and after everyone leaves the meeting.<\/strong><\/p>\n<\/p>\n<p>That\u2019s why we built Salesman AI: <strong>one AI sales agent that turns meetings into revenue.<\/strong> \ud83e\udd16\u2192\ud83d\udcb0<\/p>\n<\/p>\n<p>Salesman AI carries buyer, meeting and deal context across the entire sales cycle. It retrieves what matters from previous calls, deal history, buyer behaviour and seller notes\u2014then uses that context to help the AE prepare, rehearse, respond and act.<\/p>\n<\/p>\n<h3>\ud83d\udd0d Before the call<\/h3>\n<p>Salesman AI builds a meeting-specific buyer brief and creates an AI simulation of the customer\u2014their role, communication style, priorities and likely objections\u2014so the AE can practise the conversation before it becomes real.<\/p>\n<\/p>\n<p>Pre-Call Notes use DISC and deal context to show:<\/p>\n<p>\u2713 Who you\u2019re meeting<br \/>\u2713 What matters to that buyer<br \/>\u2713 Which risks need to be addressed<br \/>\u2713 What questions you should ask<\/p>\n<\/p>\n<p>So when the AE walks into the meeting, <strong>they\u2019ve already been there.<\/strong> \ud83c\udfaf<\/p>\n<\/p>\n<h3>\ud83c\udfa7 During the call<\/h3>\n<p>On-Call Nudges detect objection signals, buying intent and missed questions, then surface a private, context-aware response without pulling the AE\u2019s attention away from the buyer.<\/p>\n<p>Most tools tell you what went wrong after the call.<\/p>\n<\/p>\n<p><strong>Salesman AI helps while you can still do something about it.<\/strong> \u26a1<\/p>\n<\/p>\n<h3>\u2705 After the call<\/h3>\n<p>Once the meeting ends, FOCUS turns the transcript into deal intelligence and next actions.<\/p>\n<p>It:<\/p>\n<p>\u2192 Extracts buying signals and blockers<br \/>\u2192 Updates qualification context<br \/>\u2192 Drafts the follow-up<br \/>\u2192 Organizes CRM-ready notes<br \/>\u2192 Assigns the next actions<br \/>\u2192 Builds the strategy for the next meeting<\/p>\n<\/p>\n<p>Every conversation contributes to a clearer view of the deal: <strong>who is involved, what is blocking progress, what the buyer has committed to and what needs to happen next.<\/strong> \ud83d\udcc8<\/p>\n<\/p>\n<p><strong>Before. During. After. One AI sales agent carrying the deal forward.<\/strong> \ud83d\udd04<\/p>\n<\/p>\n<p>We don\u2019t measure success by how many calls were recorded or how many practice sessions were completed.<\/p>\n<p>The number we care about is simple:<\/p>\n<\/p>\n<p>\ud83c\udfc6 <strong>How many rehearsal meetings and real meetings did it take to help the AE win the deal?<\/strong><\/p>\n<\/p>\n<p>Because Salesman AI isn\u2019t here to help you get more meetings.<\/p>\n<\/p>\n<p>It\u2019s here to help you <strong>win more of the meetings already on your calendar<\/strong> and convert conversation evidence into measurable deal progress.<\/p>\n<\/p>\n<p>Getting the meeting was half the battle. <strong>Salesman AI wins the other half.<\/strong> \ud83e\udd1d<\/p>\n<\/p>\n<p>We\u2019d love your support, feedback and brutally honest opinions. That\u2019s what Product Hunt is for. \ud83d\udc9c<\/p>\n<\/p>\n<p>Let\u2019s go! \ud83d\ude80<\/p>\n<p>Raghavan<br \/>CEO @ Salesman AI<\/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\/@rs_raghavan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rs_raghavan<\/a>&nbsp;What\u2019s one specific moment in an AE\u2019s week where Salesman AI has already saved them real time or stress; and how did that change what they did next on the deal?<\/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\">Excited to hunt Salesman AI today.<\/p>\n<p>Salesman AI helps Account Executives prepare for meetings, handle conversations, and turn every call into clear next actions.<\/p>\n<p>Instead of piecing together buyer context, rehearsals, call notes, objections, and follow-ups across different tools, Salesman AI keeps the entire meeting lifecycle connected.<\/p>\n<p>What stands out:<\/p>\n<p>-Generate contextual pre-call briefs for every meeting<br \/>\n-Practise with AI buyer simulations based on real deal context<br \/>\n-Identify objections, buying signals, and missed questions<br \/>\n-Turn calls into blockers, follow-ups, CRM-ready notes, and next steps<br \/>\n-Query deal history, risks, qualification, and pipeline progress with AI Helper<\/p><\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The during-call nudges are such a good idea, wish I&#8217;d had that back when I was doing sales calls. Good luck today!<\/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 <a href=\"https:\/\/www.producthunt.com\/@anisha_rathinam_\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"anisha_rathinam_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anisha_rathinam_<\/a> <a href=\"https:\/\/www.producthunt.com\/@rs_raghavan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"rs_raghavan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rs_raghavan<\/a> ! \ud83d\ude80 super exciting to see Salesman AI finally out in the world. Wishing you and the team all the best for the launch!<\/p>\n<p>curious to know what\u2019s the one part of the sales workflow you\u2019re most excited to see Salesman AI transform? <\/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>Prep is the part that actually moves deals, and it&#8217;s the first thing that goes when you&#8217;re back to back all day. You finish one call, next one starts in two minutes, and you walk in cold knowing you should&#8217;ve read up. This may be a really useful tool for fixing that.<\/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\/@mateuszkonik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mateuszkonik<\/a>&nbsp;Exactly! When calls are back to back, proper prep is usually the first thing to get skipped. That\u2019s exactly the problem we\u2019re trying to solve with Salesman AI, helping reps walk into every meeting with the right context, even when they only have two minutes between calls.<\/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>Been using Salesman AI in early access and it\u2019s genuinely made my meeting prep and follow-ups much easier, great product for sales folks!<\/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\/@ram_muthu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ram_muthu<\/a>&nbsp;Thank you! So glad to hear that Salesman AI is already making your meeting prep and follow-ups easier. This is exactly what we built it for!<\/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\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BHKUM7QSYO5ZJZ\" class=\"app-title\">Heym<\/a><\/p>\n<div class=\"one-liner\">Build agentic systems. Run them with confidence<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">53<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong><\/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\/148c89b4-13db-424c-8ce0-25c6a9834f3d.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\/caafcbf9-3bd5-42ae-b0d9-2b935b4ceb82.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\/528fe5f3-2e07-4369-8e22-ddc6572c9697.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\/8f863a2a-6a22-4827-9723-75a25a6fea21.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\/9c75a1ee-e906-496f-ae1c-a73df2ace7c9.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\/29f2187c-0383-474e-8b50-78db067d0767.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\/49122061-47ab-4aaa-8ec0-d23d99cbe0ec.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\/f052c7c6-78db-4cd1-be31-33b75a35c3e1.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\/40a207ab-76b3-44dc-a598-6ee88d202bc8.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\/97ca4ea0-a1b4-4a22-86e3-9b84e6d5b224.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\/bd2d423b-0231-4c6c-932d-edc0e4515b06.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\/7d205fea-c2ea-47f5-a34e-a2f0ab4ca064.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\/a131c49b-a43e-40fb-8d09-96cb9697d25f.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\/5edb7c4d-cbb9-47a5-b4b6-beb702c7dd98.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\/1bb2cd31-564b-4d6f-8f97-b33548c03963.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\/a050dbcc-f660-492a-9ab8-7291fde65aef.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\/ea2e6d2f-6dd3-4a1f-a38e-3e6ea8b16404.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\/203e32c7-88ae-4011-95a2-dd4f916b0085.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\/1673c261-2968-4a7b-9f4d-ce4e9d0d169e.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\/b0b28123-94c0-4e2d-8376-b7d7075daf71.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\/0a4ec2bb-a84e-4ad0-8dcc-52aec9a885c5.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\/fe07c1fe-f49c-43f6-ae0e-5b7e88e2ec7b.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\/52a1bc9b-0a7e-41b6-97e8-bfa32a00272f.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=CWUy2zynCqc\"><source src=\"https:\/\/www.youtube.com\/watch?v=CWUy2zynCqc\" 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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">No-Code<\/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>\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><\/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\">Heym<\/span>\n                <\/div>\n<div class=\"comment-content\">Heym is a source-available platform for building and running agentic systems on your own infrastructure. Build multi-agent workflows visually, connect your data and tools, bring in coding agents like Codex and OpenCode, and add human approval where it matters. See exactly how every run performs with built-in traces, costs, latency, and evals. Self-host Heym, use your own models and credentials, and ship workflows as portals, APIs, or MCP tools.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt \ud83d\udc4b<\/p>\n<p>We built Heym because creating an AI workflow is only the beginning. The hard part is connecting agents, company data, tools, approvals, and production infrastructure without ending up with a stack of disconnected products.<\/p>\n<p>Heym brings these pieces together in one source-available platform that runs on your own infrastructure. Individual users can build and operate complete agentic workflows, while teams can collaborate through shared workflows, human approval steps, and an Agentic Kanban Board that coordinates work between people and agents.<\/p>\n<p>You can design multi-agent workflows visually, connect RAG, MCP tools, APIs, and coding agents, then inspect every execution through traces, token usage, model costs, latency, and evals.<\/p>\n<p>For this relaunch, we added first-class Codex and OpenCode nodes, an Agentic Kanban Board that runs workflows as work moves between stages, bidirectional MCP support, live production run inspection, and improved Docker and Kubernetes deployment.<\/p>\n<p>Heym is free to self-host. You can use your own models, credentials, and infrastructure, and expose the same workflow through portals, APIs, or MCP.<\/p>\n<p>We would love to hear what you are building, which integrations you need next, and what would make Heym more useful for you or your 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\/@ceren_kaya_akgun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ceren_kaya_akgun<\/a>&nbsp;nice launch congrats\ud83d\ude4cSelf-hosting via Kubernetes is a major plus, do you provide official Helm charts or operator definitions for scaling background workers dynamically?<\/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\/@ceren_kaya_akgun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ceren_kaya_akgun<\/a>&nbsp;Congratulations on the launch! That example says it all &#8211; &#8220;you find out from a user, not from your own system&#8221; is the whole case for the product in one line. While it&#8217;s not something I run into (being a Solopreneur), I can see this being a significant problem for teams\/developers at the enterprise level.<\/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><strong>Hi Product Hunt!<\/strong> \ud83d\udc4b<\/p>\n<\/p>\n<p>Thanks for checking out <strong>Heym<\/strong>. We built it for teams that want to turn AI ideas into reliable visual workflows, with agents, RAG, MCP tools, human approvals, traces, and self-hosting in one place.<\/p>\n<\/p>\n<p>If you\u2019re comparing Heym with n8n, this overview is a good place to start:<br \/><a href=\"https:\/\/heym.run\/compare\/n8n\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/heym.run\/compare\/n8n<\/a><\/p>\n<\/p>\n<p>Here are our three most-watched tutorials:<\/p>\n<p>\u2022 Agentic AI Workflow Automation with Heym Boards<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=oDoTfbU4O_M\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=oDoTfbU4O_M<\/a><\/p>\n<p>\u2022 Heym Dashboards: Build Interactive Dashboards with AI<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=UAtFnCXmIQw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=UAtFnCXmIQw<\/a><\/p>\n<p>\u2022 Heym Analytics: Monitor and Improve Your AI Workflows<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=oWAV-_JJSKk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=oWAV-_JJSKk<\/a><\/p>\n<\/p>\n<p>We\u2019d love to hear what you\u2019d automate with <strong>Heym<\/strong>, and we\u2019re happy to help you get started.<\/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>Congrats on the launch! Lovely to see products like this being open-sourced.<\/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\/@elv1s42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elv1s42<\/a>&nbsp;Thank you so much, Evgeniy! It truly means a lot. We believe deeply in building Heym openly with the community, and we really appreciate your support.<\/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>Hi everyone \ud83e\udd17 One thing worth highlighting about Heym is where we are headed.<\/p>\n<p>More capable models like DeepSeek V4 Flash 0731, combined with two DGX Spark systems, make truly long running local AI inference workflows possible. Coding agents can continuously build, test, improve, and ship software. General purpose agents can handle content, research, and other recurring operational work.<\/p>\n<p>We believe AI automation should remain open, accessible, self hosted, and privacy minded. <\/p>\n<p>Heym does not collect telemetry, and we never will. More importantly, we do not hide essential capabilities behind enterprise gatekeeping or closed sales calls: <a href=\"https:\/\/github.com\/heymrun\/heym#no-enterprise-gatekeeping\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/heymrun\/heym#no-enterprise-gatekeeping<\/a><\/p>\n<p>Thank you for your support, upvotes, and belief in us. Please keep supporting Heym as we build what comes next.<\/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>Congrats on the launch! The combination of self-hosting, human approvals, and built-in traces\/evals feels especially strong for teams that want agentic workflows without losing control.<\/p>\n<p>Being able to ship the same workflow as a portal, API, or MCP tool also makes Heym feel much more production-oriented than a typical visual agent builder.<\/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>&nbsp;Thank you <a href=\"https:\/\/www.producthunt.com\/@alpertayfurr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alpertayfurr<\/a>, this is exactly the direction we\u2019re aiming for with Heym. We want the visual builder to be the entry point, but the bigger goal is to give teams one place to orchestrate agents, tools, data, and human decisions while keeping every execution inspectable and controllable. (<a href=\"https:\/\/github.com\/heymrun\/heym\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">GitHub<\/a>)<\/p>\n<\/p>\n<p>A good example is our Adversarial PR Review template, where an orchestrator coordinates multiple reviewer agents through GitHub MCP and the full execution can be inspected through traces:<br \/><a href=\"https:\/\/heym.run\/templates\/adversarial-pr-review\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/heym.run\/templates\/adversarial-pr-review<\/a> <\/p>\n<\/p>\n<p>Really appreciate you calling out the portal, API, and MCP side too. Being able to build once and expose the same system through different interfaces is a big part of how we think about production 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Wishing you good luck with the 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\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Thanks a lot! We really appreciate your support.<\/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\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/7X7HLCKYGXOV6S\" class=\"app-title\">PostSnag<\/a><\/p>\n<div class=\"one-liner\">Find What&#8217;s Viral On Facebook And Build Your Swipe File<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">40<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PostSnag \u662f\u4e00\u6b3eFacebook\u5185\u5bb9\u7814\u7a76\u5de5\u5177\uff0c\u901a\u8fc7\u6d4f\u89c8\u5668\u63d2\u4ef6\u5728\u7528\u6237\u6eda\u52a8\u4fe1\u606f\u6d41\u65f6\u5b9e\u65f6\u6293\u53d6\u5e16\u5b50\uff0c\u5e76\u6309\u4e92\u52a8\u6570\u636e\u6392\u540d\uff0c\u5e2e\u52a9\u5185\u5bb9\u521b\u4f5c\u8005\u3001\u8fd0\u8425\u8005\u5feb\u901f\u53d1\u73b0\u7206\u6b3e\u3001\u5efa\u7acbSwipe File\uff08\u7d20\u6750\u5e93\uff09\uff0c\u5e76\u5c06\u6570\u636e\u5bfc\u51fa\u81f3Claude\u3001ChatGPT\u7b49AI\u5e73\u53f0\u8f85\u52a9\u5206\u6790\uff0c\u89e3\u51b3\u201c\u627e\u7206\u6b3e\u9760\u8fd0\u6c14\u3001\u4eba\u5de5\u6574\u7406\u4f4e\u6548\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\/5b967b81-9d6c-43b4-a668-4d903cda0e75.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\/34d507c7-cf29-4f63-8d3b-4d727dc0c15f.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\/4cbd5b54-2439-4c0a-99c2-f1072a8b03da.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\/7dc3a057-5dd4-4ea6-9d98-c479d0ed698a.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\/5072ed36-081f-4cb7-9df1-a24c22b025c3.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\/f27c6c1b-4b9b-4551-a193-d73a426fd317.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\/27b2d970-e3b0-4ab6-885b-1ee5101547d4.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=-Kdy0M78ou8\"><source src=\"https:\/\/www.youtube.com\/watch?v=-Kdy0M78ou8\" 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>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Facebook\u6570\u636e\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u75c5\u6bd2\u5185\u5bb9\u6316\u6398<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u7814\u7a76\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">Swipe File\u7d20\u6750\u5e93<\/span><br \/>\n            <span class=\"tag\">AI\u5de5\u4f5c\u6d41\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0\u6269\u5c55<\/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\u5b9e\u7528\u6027\uff0c\u5c24\u5176\u5176\u56e2\u961f\u5df2\u7528\u4e8e\u5b9e\u9645\u793e\u4ea4\u5185\u5bb9\u8fd0\u8425\u3002\u4e3b\u8981\u5efa\u8bae\uff1a\u80fd\u5426\u6269\u5c55\u81f3Reddit\u3001LinkedIn\u3001X\u3001YouTube\u3001Instagram\u3001TikTok\u7b49\u5e73\u53f0\u3002\u5b98\u65b9\u56de\u5e94\u79f0\u201c\u5f88\u5feb\u201d\u652f\u6301\u4e0a\u8ff0\u5e73\u53f0\u3002\u6682\u65e0\u8d1f\u9762\u53cd\u9988\uff0c\u4f46\u6295\u7968\u6570\u4ec540\uff0c\u8bc4\u8bba\u91cf\u5c11\uff0c\u6709\u6548\u5efa\u8bae\u96c6\u4e2d\u4e8e\u8de8\u5e73\u53f0\u517c\u5bb9\u6027\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                PostSnag\u8e29\u4e2d\u4e86\u5185\u5bb9\u521b\u4f5c\u8005\u548c\u8425\u9500\u56e2\u961f\u6700\u75db\u7684\u201c\u7d20\u6750\u8352\u201d\u4e0e\u201c\u7206\u6b3e\u7384\u5b66\u201d\u95ee\u9898\uff0c\u7528\u201c\u6293\u53d6-\u6392\u5e8f-\u5bfc\u51fa\u201d\u7684\u6781\u7b80\u94fe\u8def\uff0c\u628aFacebook\u8fd9\u4e2a\u6700\u88ab\u5ffd\u89c6\u7684\u7206\u6b3e\u6c60\u53d8\u6210\u4e86\u53ef\u68c0\u7d22\u3001\u53ef\u91cf\u5316\u7684\u6570\u636e\u5e93\u3002\u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u6293\u53d6\u672c\u8eab\uff08\u6280\u672f\u95e8\u69db\u4e0d\u9ad8\uff09\uff0c\u800c\u5728\u4e8e\u201c\u5b9e\u65f6\u6392\u540d+\u552f\u4e00\u5f02\u5e38\u503c\u53d1\u73b0\u201d\u7684\u8fc7\u6ee4\u5668\uff0c\u8fd9\u6bd4\u5355\u7eaf\u770b\u6570\u636e\u9762\u677f\u66f4\u63a5\u8fd1\u201c\u51b3\u7b56\u652f\u6301\u201d\u3002MCP\u652f\u6301\u662f\u660e\u667a\u4e4b\u4e3e\uff0c\u5b83\u6ca1\u6709\u8bd5\u56fe\u6210\u4e3a\u4f60\u7684AI\uff0c\u800c\u662f\u7518\u5f53AI\u7684\u201c\u6570\u636e\u89e6\u89d2\u201d\uff0c\u8fd9\u79cd\u5b9a\u4f4d\u964d\u4f4e\u4e86\u7528\u6237\u8fc1\u79fb\u6210\u672c\uff0c\u4e5f\u4fbf\u4e8e\u5d4c\u5165\u5df2\u6709\u5de5\u4f5c\u6d41\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u51b7\u6c34\uff1a\u5176\u4e00\uff0c40\u7968\u7684\u53d1\u5e03\u70ed\u5ea6\u8bf4\u660e\u5e02\u573a\u53cd\u9988\u5e73\u6de1\uff0c\u4ea7\u54c1\u5c1a\u5904\u4e8e\u65e9\u671f\u9a8c\u8bc1\u9636\u6bb5\u3002\u5176\u4e8c\uff0c\u4ec5\u652f\u6301Facebook\u662f\u6700\u5927\u77ed\u677f\u2014\u2014\u5185\u5bb9\u521b\u4f5c\u8005\u7684\u6218\u573a\u65e9\u5df2\u591a\u5e73\u53f0\u5206\u6563\uff0c\u7528\u6237\u8bc4\u8bba\u4e2d\u552f\u4e00\u7684\u6709\u6548\u63d0\u95ee\u5c31\u76f4\u6307\u6b64\u70b9\uff0c\u5b98\u65b9\u201c\u5f88\u5feb\u201d\u7684\u56de\u5e94\u82e5\u65e0\u660e\u786e\u65f6\u95f4\u8868\uff0c\u6050\u4f1a\u6d41\u5931\u6f5c\u5728\u4ed8\u8d39\u7528\u6237\u3002\u5176\u4e09\uff0c$19\/\u6708\u6216$139\/\u5e74\uff08\u7ec8\u8eab\uff09\u7684\u5b9a\u4ef7\u7565\u5c34\u5c2c\uff1a\u5bf9\u4e2a\u4eba\u521b\u4f5c\u8005\u504f\u8d35\uff0c\u5bf9\u4e13\u4e1a\u56e2\u961f\u53c8\u7f3a\u4e4f\u56e2\u961f\u534f\u4f5c\u3001A\/B\u6d4b\u8bd5\u7b49\u8fdb\u9636\u529f\u80fd\u3002\u5176\u56db\uff0c\u4f9d\u8d56\u6d4f\u89c8\u5668\u63d2\u4ef6\u6293\u53d6\u5b58\u5728\u7a33\u5b9a\u6027\u98ce\u9669\uff0c\u4e00\u65e6FB\u8c03\u6574DOM\u7ed3\u6784\u6216\u5f3a\u5316\u53cd\u722c\uff0c\u6574\u4e2a\u4ea7\u54c1\u6839\u57fa\u5c31\u4f1a\u52a8\u6447\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5e94\u662f\u201c\u6293\u53d6\u80fd\u529b\u201d\uff0c\u800c\u662f\u201c\u6570\u636e\u79ef\u7d2f\u540e\u7684\u8de8\u5e73\u53f0\u7206\u6b3e\u6a21\u578b\u201d\u2014\u2014\u6bd4\u5982\u5582\u7ed9AI\u540e\u80fd\u9884\u6d4b\u4e0b\u4e00\u4e2a\u7206\u6b3e\u7684\u5143\u7d20\u3002\u76ee\u524d\u8fd9\u53ea\u662f\u4e2a\u4e0d\u9519\u7684\u5de5\u5177\uff0c\u79bb\u201c\u5185\u5bb9\u7814\u7a76\u5e73\u53f0\u201d\u8fd8\u6709\u8ddd\u79bb\u3002\u5efa\u8bae\u4ea7\u54c1\u56e2\u961f\u5c3d\u5feb\u5151\u73b0\u591a\u5e73\u53f0\u627f\u8bfa\uff0c\u5e76\u8003\u8651\u4ee5\u201cAI\u63d0\u793a\u8bcd\u6a21\u677f\u5e93+\u884c\u4e1a\u7206\u6b3e\u62a5\u544a\u201d\u4f5c\u4e3a\u589e\u503c\u5185\u5bb9\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u88abNotion+\u624b\u52a8\u91c7\u96c6\u7684\u8fc7\u5ea6\u65b9\u6848\u66ff\u4ee3\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\">PostSnag<\/span>\n                <\/div>\n<div class=\"comment-content\">Find what&#8217;s Viral on Facebook Right Now! Any Profiles, Facebook Groups, Posts, Reels &#038; more! Sort, Capture, organize, and analyze winning Facebook posts. PostSnag captures posts as you scroll, ranks them by likes, comments, shares, and video plays, surfaces viral outliers in a live Discovery feed, and exports clean post data straight into Claude, ChatGPT, Perplexity &#038; More. Connect our MCP to automatically add PostSnag to your favorite Ai Platform.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Hey Product Hunt! Austin here \u2014 excited to share PostSnag with you!<\/strong><\/p>\n<p>If you\u2019ve ever wished you could instantly see <em>what\u2019s going viral on Facebook<\/em>, PostSnag was built for exactly that. It captures posts as you scroll, ranks them by likes, comments, shares, and video plays, and highlights viral outliers in a live Discovery feed so you can spot winning content fast.<\/p>\n<p>You can turn <strong>any Facebook profile, page, or group<\/strong> into a searchable swipe file, organize everything, and export clean post data straight into <strong>Claude, ChatGPT, Perplexity, Gemini<\/strong>, and more. No proxies, no fake accounts, no API \u2014 just real posts captured in real time.<\/p>\n<p>We also added <strong>MCP support<\/strong>, so you can plug PostSnag directly into your favorite AI platform and automate your research workflow.<\/p>\n<p>\ud83d\udccc Chrome extension + dashboard<br \/>\ud83d\udccc Free to install<br \/>\ud83d\udccc $19\/mo Pro or $139 lifetime<\/p>\n<p>We built PostSnag to make content research effortless, and we\u2019d love your feedback as we continue improving it. Thanks for checking us out \u2014 excited to hear what you think!<\/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>This is a great product! We pay close attention to everything <a href=\"https:\/\/www.producthunt.com\/@austinarmstrong\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"austinarmstrong\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@austinarmstrong<\/a> releases and we have our social content team using it. <\/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>Are you thinking of extending it to reddit Linkedin and other socials as well?<\/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\/@pritesh_kumar3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pritesh_kumar3<\/a>&nbsp;Yes! We&#8217;re going to be adding LinkedIn, X, YouTube, Instagram, and TikTok very 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<\/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\/FAPJWTYBOTXF2E\" class=\"app-title\">dolv<\/a><\/p>\n<div class=\"one-liner\">Your AI operator for content, CRM, and GTM execution<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">32<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>dolv\u662f\u4e00\u6b3e\u9762\u5411\u589e\u957f\u56e2\u961f\u7684AI\u8fd0\u8425\u52a9\u624b\uff0c\u5c06CRM\u3001\u5206\u6790\u3001\u90ae\u4ef6\u3001\u5e7f\u544a\u548c\u5185\u5bb9\u5de5\u5177\u6574\u5408\u5230\u4e00\u4e2a\u5de5\u4f5c\u533a\uff0c\u901a\u8fc7\u8fde\u63a5\u5b9e\u65f6\u6f0f\u6597\u6570\u636e\u81ea\u52a8\u6267\u884c\u8de8\u5de5\u5177\u4efb\u52a1\uff08\u5982\u8d77\u8349\u5185\u5bb9\u3001\u66f4\u65b0\u5546\u673a\u3001\u751f\u6210\u62a5\u544a\uff09\uff0c\u5e76\u8ba9\u6240\u6709\u5bf9\u5916\u52a8\u4f5c\uff08\u90ae\u4ef6\u3001\u5e16\u5b50\u3001\u5e7f\u544a\u4fee\u6539\uff09\u7b49\u5f85\u4eba\u5de5\u5ba1\u6279\u540e\u518d\u53d1\u9001\uff0c\u89e3\u51b3\u56e2\u961f\u5728\u591a\u4e2a\u5272\u88c2\u7cfb\u7edf\u95f4\u91cd\u590d\u642c\u8fd0\u6570\u636e\u3001\u65e0\u6cd5\u638c\u63a7\u6267\u884c\u72b6\u6001\u7684\u4f4e\u6548\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\/0c5d50c9-76d8-4ea7-ac19-bbaaaeaaedb5.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\/850a11f5-0340-47d0-9696-5dd92bfac229.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\/8dc4c916-142a-45c6-be07-c6258b8b93ee.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\/3e33d8fb-d73c-4155-8849-ae5d8759c3c2.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\/e884191e-ca05-41a9-85bc-1ef6052dc699.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\/3ce56878-5362-45c0-b1d4-04cf0b539684.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\/1e234aa4-65b6-41ae-b6b3-0d037e93c77e.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\/f858b8fa-e499-499f-8a53-322d1c2862b0.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\/5521bd02-0078-44a0-932b-4f38a10c14e0.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\/bbf6880b-a566-4e61-ac80-a0b3e6202c44.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\/470b7a70-289e-48a8-9cef-e2642d1af073.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\/31055853-c20b-4eed-ac61-96c5d38a1e46.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\/f78fd0f6-d9d4-4494-950f-e4b4c87b88f1.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\/ea5e0381-e8c2-40d9-af3a-62df575fbf99.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=8PTCYHlz1x4\"><source src=\"https:\/\/www.youtube.com\/watch?v=8PTCYHlz1x4\" 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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Marketing automation<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u589e\u957f\u8fd0\u8425<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">CRM\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5de5\u5177\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5ba1\u6279\u6d41<\/span><br \/>\n            <span class=\"tag\">\u6f0f\u6597\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">B2B 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>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u5ba1\u6279\u95e8\u63a7\u201d\u8bbe\u8ba1\uff0c\u8ba4\u4e3a\u5c06AI\u9650\u5236\u5728\u5185\u90e8\u53ef\u9006\u5de5\u4f5c\u3001\u5bf9\u5916\u52a8\u4f5c\u4eba\u5de5\u786e\u8ba4\u662f\u52a1\u5b9e\u4e14\u5b89\u5168\u7684\u65b9\u5f0f\u3002\u4e3b\u8981\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\u8def\u7ebf\u56fe\uff1a\u6700\u9ad8\u8d5e\u56de\u5e16\u8be2\u95ee\u201c\u4e0b\u4e00\u6b65\u6700\u91cd\u8981\u7684\u529f\u80fd\u6216\u96c6\u6210\u662f\u4ec0\u4e48\u201d\u3002\u5b98\u65b9\u56de\u590d\u5f3a\u8c03\u5ba1\u6279\u4e0d\u662f\u5b89\u5168\u7f51\u800c\u662f\u4ea7\u54c1\u80fd\u5168\u81ea\u52a8\u8fd0\u884c\u7684\u524d\u63d0\uff0c\u5e76\u4e3b\u52a8\u9080\u8bf7\u7528\u6237\u53cd\u9988\u4e0d\u6e05\u6670\u6216\u51fa\u9519\u7684\u5730\u65b9\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                dolv\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u628a\u201c\u5ba1\u6279\u201d\u4ece\u529f\u80fd\u9009\u9879\u62ac\u9ad8\u4e3a\u4ea7\u54c1\u54f2\u5b66\u3002\u5f53\u524dAI\u5de5\u5177\u6cdb\u6ee5\uff0c\u591a\u6570\u505c\u7559\u5728\u201c\u751f\u6210\u8349\u7a3f\u201d\u7684\u6d45\u5c42\uff0cdolv\u8bd5\u56fe\u5b9a\u4e49\u201c\u8d1f\u8d23\u4efb\u7684\u5168\u81ea\u52a8\u6267\u884c\u201d\u2014\u2014\u5185\u90e8\u5de5\u4f5c\uff08\u6253\u5206\u5f00\u7968\uff09\u53ef\u5168\u81ea\u52a8\uff0c\u5916\u90e8\u52a8\u4f5c\uff08\u53d1\u90ae\u4ef6\u6539\u5e7f\u544a\uff09\u5f3a\u5236\u4eba\u5de5\u95f8\u53e3\u3002\u8fd9\u4e00\u8bbe\u8ba1\u786e\u5b9e\u7cbe\u51c6\u51fb\u4e2d\u4e86\u4f01\u4e1a\u91c7\u7528AI\u7684\u6700\u540e\u5fc3\u7406\u9632\u7ebf\uff1a\u4e0d\u662fAI\u80fd\u529b\u4e0d\u8db3\uff0c\u800c\u662f\u5931\u63a7\u6050\u60e7\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u7528\u66f4\u5f3a\u5927\u7684\u6a21\u578b\u89e3\u51b3\u4fe1\u4efb\u95ee\u9898\uff0c\u800c\u662f\u7528\u6d41\u7a0b\u5236\u5ea6\u89c4\u907f\u4e86\u98ce\u9669\uff0c\u8fd9\u6bd4\u201c\u66f4\u5f3aAI\u201d\u66f4\u5b9e\u9645\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u5fc5\u987b\u6307\u51fa\u5176\u9690\u5fe7\uff1a32\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u8bf4\u660e\u5e02\u573a\u5c1a\u672a\u5f62\u6210\u53e3\u7891\u52bf\u80fd\u3002\u5ba3\u79f0\u201c29\u4e2a\u96c6\u6210+50\u4e2aplaybook\u201d\u770b\u4f3c\u5f3a\u5927\uff0c\u5b9e\u9645\u662f\u5178\u578b\u7684\u201c\u5e7f\u5ea6\u9677\u9631\u201d\u2014\u2014\u96c6\u6210\u6570\u91cf\u4e0d\u7b49\u4e8e\u5de5\u4f5c\u6d41\u8d28\u91cf\uff0cPlaybook\u7684\u9ed8\u8ba4\u903b\u8f91\u5927\u6982\u7387\u65e0\u6cd5\u5339\u914d\u4e0d\u540c\u516c\u53f8\u7684\u590d\u6742\u4e1a\u52a1\u8bed\u5883\u3002\u6700\u8981\u547d\u7684\u662f\u5176\u5b9a\u4ef7\uff1a79\u7f8e\u5143\/\u6708\u8d77\u4e14\u201c\u6240\u6709\u529f\u80fd\u5168\u89e3\u9501\u201d\uff0c\u8fd9\u5728AI\u539f\u751f\u5de5\u5177\u52a8\u8f84\u6309\u7528\u91cf\u8ba1\u8d39\u7684\u5f53\u4e0b\uff0c\u53cd\u800c\u53ef\u80fd\u8ba9\u4e2d\u5c0f\u5ba2\u6237\u89c9\u5f97\u8d35\uff0c\u5927\u5ba2\u6237\u53c8\u62c5\u5fc3\u989d\u5ea6\u4e0d\u591f\u7528\u3002\u66f4\u5173\u952e\u7684\u7f3a\u5931\u5728\u4e8e\uff0c\u8bc4\u8bba\u4e2d\u6ca1\u6709\u4efb\u4f55\u4eba\u63d0\u5230\u201c\u5b83\u8dd1\u901a\u4e86\u6211\u7684\u5b8c\u6574\u6d41\u7a0b\u201d\u4e4b\u7c7b\u7684\u7ed3\u679c\u9a8c\u8bc1\u2014\u2014\u5168\u662f\u611f\u89c9\u4e0a\u7684\u8ba4\u53ef\uff0c\u6ca1\u6709\u6570\u636e\u4e0a\u7684\u5b9e\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6838\u5fc3\u6311\u6218\u5728\u4e8e\uff1a\u5b83\u662f\u5426\u80fd\u4ece\u201c\u8ba9\u56e2\u961f\u5c11\u79fb\u52a8\u6570\u636e\u201d\u7684\u63d0\u6548\u5de5\u5177\uff0c\u8fdb\u5316\u4e3a\u201c\u91cd\u65b0\u5b9a\u4e49GTM\u6267\u884c\u201d\u7684\u667a\u80fd\u5e95\u5ea7\u3002\u5982\u679c\u80fd\u8bc1\u660e\u201c\u5ba1\u6279\u8fc7\u7684AI\u6267\u884c\u201d\u6bd4\u201c\u7eaf\u4eba\u5de5\u6267\u884c\u201d\u5e26\u6765\u663e\u8457\u7684\u8f6c\u5316\u7387\u6216\u8425\u6536\u63d0\u5347\uff0c\u624d\u80fd\u6446\u8131\u201c\u9ad8\u7ea7\u81ea\u52a8\u5316\u73a9\u5177\u201d\u7684\u8d28\u7591\u3002\u5426\u5219\uff0c\u8fd9\u53ea\u662f\u4e00\u6b3e\u5305\u88c5\u7cbe\u7f8e\u7684IFTTT+ChatGPT\u5916\u58f3\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\">dolv<\/span>\n                <\/div>\n<div class=\"comment-content\">Growth teams lose hours moving work between CRM, analytics, email, ads, and content tools. dolv brings that into one workspace. Give it a task: it reads your live funnel, does the work across your connected tools, and reports what shipped. Emails, posts, and ad changes wait for your approval before they go out. You keep the decisions. dolv handles the execution.<\/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>We built dolv because we kept watching the same week repeat itself: re-entering data across tools, rebuilding the same reports, and chasing what had actually shipped.<\/p>\n<p>The real cost was not strategy. It was carrying work between systems that each held one part of the picture.<\/p>\n<p>Most AI tools stop at a draft. dolv keeps going. It connects to the tools your growth team already uses, grounds its work in your live funnel and company context, then helps prepare content, schedule campaigns, update CRM records, and report what the destination platform confirmed.<\/p>\n<p>By default, anything customer-facing waits for your approval. Emails, posts, and ad changes are held in Approvals, where you can review and edit them before they go out. Internal and reversible work, such as drafting content, scoring a lead, or updating a deal, can run immediately.<\/p>\n<p>Today, dolv includes: \ud83d\ude80<\/p>\n<p>\u2b5029 integrations across Google, Microsoft, social, advertising, publishing, commerce, and search data<br \/>\n\u2b50Close to 50 playbooks across 11 disciplines<br \/>\n\u2b50A six-pass content workflow covering research, structure, drafting, SEO review, and quality checks<br \/>\n\u2b50CRM workflows with audited stage changes and weighted forecasting<br \/>\n\u2b50Funnel health scoring grounded in connected data<br \/>\n\u2b50A visual automation canvas that shows which steps run, queue for review, or require approval<\/p>\n<p>Every plan includes the full product. Plans differ by usage rather than locked features. Starter begins at $79 per month for two seats, and the 14-day trial requires no card.<\/p>\n<p>I would genuinely like to know: which part of your GTM week still feels like carrying work between disconnected tools?<\/p>\n<p>If you try dolv, please tell us where it works, where it feels unclear, and where it breaks. That feedback matters more than anything else today.\ud83d\udc4d<\/p>\n<p>Thanks for taking a look.\u2665\ufe0f\u2665\ufe0f\u2665\ufe0f<\/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\/@nolan_vu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nolan_vu<\/a>&nbsp; Congrats\ud83d\ude4c to the team.. What is the single biggest feature or integration you\u2019re planning to drop next on the roadmap?<\/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\">\n<p>Congrats on the launch! Super cool product!<\/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\/@neo_tiangratanakul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@neo_tiangratanakul<\/a>&nbsp;thank you very much, hope that you guys can enjoy it<\/p>\n<\/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\">\n<p>Hey everyone, Darius here, one of the makers on dolv.<\/p>\n<\/p>\n<p>Nolan covered the what. I&#8217;ll add the why behind one specific decision.<\/p>\n<\/p>\n<p>The approval gate was the most debated thing we built. Early feedback pushed us to make it optional or off by default. <\/p>\n<\/p>\n<p>We kept it on because we watched what actually happens when automation touches customer-facing channels without a clear pause point: it gets switched off entirely, and the work comes back to the person anyway.<\/p>\n<\/p>\n<p>The gate is not a safety net. It is the reason the rest of the product can run.<\/p>\n<\/p>\n<p>If you have questions about how the approval flow works in practice, or how we handle cases where steps partially complete, I&#8217;m here for it.<\/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><a href=\"https:\/\/www.producthunt.com\/@nolan_vu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"nolan_vu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nolan_vu<\/a> Love the focus on execution, not just analytics. Keeping approvals with the team while dolv handles the repetitive cross-tool work feels like a really practical use of AI agents.<br \/>Good luck guys!<\/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\/@adana\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adana<\/a>&nbsp;Thanks Adana! That&#8217;s exactly the tension we kept running into: teams trust AI inside the workspace, but the moment it touches a customer they want a human in the loop. Glad it reads as practical rather than just cautious.<\/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\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KTZIXMKHCLJR3W\" class=\"app-title\">Supamodel<\/a><\/p>\n<div class=\"one-liner\">AI Product Photos at scale for Shopify<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">28<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Supamodel \u662f\u9762\u5411 Shopify \u5546\u5bb6\u7684 AI \u5546\u54c1\u56fe\u6279\u91cf\u751f\u4ea7\u5de5\u5177\uff0c\u901a\u8fc7\u53ef\u590d\u7528\u7684\u9884\u8bbe\u3001\u5de5\u4f5c\u6d41\u548c\u5546\u54c1\u53c2\u8003\uff0c\u89e3\u51b3\u591a SKU \u573a\u666f\u4e0b\u201c\u5355\u5f20\u56fe\u6613\u5f97\u3001\u5168\u76ee\u5f55\u4e00\u81f4\u96be\u201d\u7684\u89c4\u6a21\u5316\u51fa\u56fe\u4e0e\u8fd4\u5de5\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\/28675503-9ff1-4e9f-bdb1-ffe31c5de6a9.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\/2dc0cd80-ed17-4882-b3ab-4dfa1b4a053f.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\/0bbf3d72-a488-4275-afd6-ddca974e1987.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\/5c56f139-a3be-40d6-96ce-026f6b40ae09.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\">Photography<\/span><br \/>\n            <span class=\"tag\">E-Commerce<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5546\u54c1\u6444\u5f71<\/span><br \/>\n            <span class=\"tag\">Shopify\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6279\u91cf\u56fe\u7247\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u7535\u5546\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u56fe\u4e00\u81f4\u6027<\/span><br \/>\n            <span class=\"tag\">\u9884\u8bbe\u6a21\u677f<\/span><br \/>\n            <span class=\"tag\">3D\u8d44\u4ea7\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u65f6\u5c1a\u7535\u5546<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u51fa\u56fe<\/span><br \/>\n            <span class=\"tag\">\u7535\u5546\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>\u521b\u59cb\u4eba Ajith \u5728\u8bc4\u8bba\u4e2d\u8bf4\u660e\u4ea7\u54c1\u6e90\u4e8e\u201c\u76ee\u5f55\u7ea7\u51fa\u56fe\u4f9d\u7136\u7e41\u7410\u201d\u7684\u75db\u70b9\uff0c\u5e76\u900f\u9732\u5df2\u4e0e\u65f6\u5c1a\u54c1\u724c\u6d4b\u8bd5\u6570\u767e\u6b3e\u5546\u54c1\u3002\u76ee\u524d\u65e0\u7528\u6237\u76f4\u63a5\u63d0\u95ee\u6216\u6279\u8bc4\uff0c\u6709\u6548\u53cd\u9988\u96c6\u4e2d\u5728\u201c\u771f\u5b9e\u751f\u4ea7\u4e2d\u7684\u7a33\u5b9a\u6027\u201d\u4e0e\u201c\u7535\u5546\/\u6444\u5f71\/\u4ee3\u7406\u5546\u7684\u5b9e\u64cd\u5efa\u8bae\u201d\u4e0a\uff0c\u5c1a\u7f3a\u7b2c\u4e09\u65b9\u9a8c\u8bc1\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                Supamodel \u8e29\u4e2d\u7684\u75db\u70b9\u662f\u771f\u5b9e\u7684\uff1aAI \u751f\u56fe\u5df2\u7ecf\u5ec9\u4ef7\u5316\uff0c\u4f46\u201c\u8ba9 300 \u4e2a SKU \u90fd\u4fdd\u6301\u540c\u4e00\u6a21\u7279\u3001\u540c\u4e00\u573a\u666f\u3001\u540c\u4e00\u5149\u7ebf\u201d\u4f9d\u7136\u662f\u5730\u72f1\u7ea7\u5de5\u7a0b\u3002\u5b83\u7684\u672c\u8d28\u4e0d\u662f\u53c8\u4e00\u4e2a Midjourney \u5957\u58f3\uff0c\u800c\u662f\u628a\u201c\u63d0\u793a\u8bcd-\u53c2\u8003\u56fe-\u6a21\u7279-\u73af\u5883-\u6a21\u578b\u201d\u5c01\u88c5\u6210\u53ef\u590d\u7528\u7684\u6d41\u6c34\u7ebf\uff0c\u5e76\u76f4\u63a5\u5d4c\u8fdb Shopify \u7684\u540e\u53f0\u2014\u2014\u8fd9\u6bd4\u72ec\u7acb\u751f\u56fe\u5de5\u5177\u66f4\u63a5\u8fd1\u201c\u751f\u4ea7\u7cfb\u7edf\u201d\uff0c\u800c\u975e\u201c\u521b\u610f\u73a9\u5177\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u51b7\u6c34\uff1a\u7b2c\u4e00\uff0c28 \u4e2a\u6295\u7968\u3001\u4ec5\u6709\u521b\u59cb\u4eba\u81ea\u8ff0\uff0c\u6beb\u65e0\u7b2c\u4e09\u65b9\u8bc4\u6d4b\u6216\u6848\u4f8b\u622a\u56fe\uff0c\u6240\u8c13\u201c\u65f6\u5c1a\u54c1\u724c\u6d4b\u8bd5\u201d\u6ca1\u7ed9\u51fa\u4efb\u4f55\u8f6c\u5316\u7387\u3001\u8017\u65f6\u5bf9\u6bd4\u6216\u7ffb\u8f66\u7387\u6570\u636e\uff0c\u8bf4\u670d\u529b\u4e0d\u8db3\u3002\u7b2c\u4e8c\uff0cAI \u751f\u6210\u5546\u54c1\u56fe\u7684\u5546\u4e1a\u5316\u96be\u70b9\u4ece\u6765\u4e0d\u5728\u201c\u751f\u6210\u201d\uff0c\u800c\u5728\u201c\u5ba1\u6838\u201d\u548c\u201c\u4fee\u56fe\u201d\u2014\u2014\u5982\u679c\u5de5\u4f5c\u6d41\u91cc\u7f3a\u5c11\u5f3a\u529b\u7684\u5dee\u5f02\u68c0\u6d4b\u3001\u5c40\u90e8\u91cd\u7ed8\u548c\u4eba\u5de5\u7ea0\u9519\u73af\u8282\uff0c\u89c4\u6a21\u5316\u53ea\u4f1a\u653e\u5927\u9519\u8bef\uff0c\u800c\u4e0d\u662f\u89e3\u51b3\u9519\u8bef\u3002\u7b2c\u4e09\uff0c3D \u8d44\u4ea7\u652f\u6301\u542c\u8d77\u6765\u9ad8\u7ea7\uff0c\u4f46 Shopify \u5546\u5bb6\u4e2d\u771f\u6b63\u5177\u5907 3D \u5efa\u6a21\u80fd\u529b\u7684\u6781\u5c11\uff0c\u8fd9\u5927\u6982\u7387\u662f\u521b\u59cb\u4eba\u7684\u7406\u60f3\u4e3b\u4e49\u529f\u80fd\uff0c\u800c\u975e\u6838\u5fc3\u5356\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5224\u65ad\u5728\u4e8e\uff1a\u5982\u679c Supamodel \u80fd\u628a\u201c\u6279\u91cf\u751f\u6210\u2014\u4eba\u5de5\u6311\u9009\u2014\u4e00\u952e\u56de\u4f20\u201d\u7684\u95ed\u73af\u505a\u5230\u8db3\u591f\u987a\u6ed1\uff0c\u5e76\u79ef\u7d2f\u8d77\u201c\u67d0\u4e00\u54c1\u7c7b\uff08\u5982\u65f6\u5c1a\uff09\u7684\u9ad8\u8d28\u91cf\u9884\u8bbe\u5e93\u201d\uff0c\u90a3\u4e48\u5b83\u6709\u673a\u4f1a\u6210\u4e3a Shopify \u751f\u6001\u91cc\u7684\u7ec6\u5206\u63d2\u4ef6\uff0c\u800c\u4e0d\u662f AI \u6444\u5f71\u7684\u98a0\u8986\u8005\u3002\u73b0\u9636\u6bb5\u5b83\u66f4\u50cf\u4e00\u4e2a\u6709\u60f3\u6cd5\u7684 MVP\uff0c\u9700\u8981\u5c3d\u5feb\u7528\u771f\u5b9e\u7528\u6237\u6570\u636e\u8bc1\u660e\u201c\u89c4\u6a21\u5316\u4e00\u81f4\u6027\u201d\u8fd9\u4ef6\u4e8b\u771f\u80fd\u8dd1\u901a\uff0c\u5426\u5219\u5c31\u4f1a\u88ab Klaviyo \u4eec\u6216 Adobe \u7684 AI \u529f\u80fd\u62cd\u6b7b\u5728\u6c99\u6ee9\u4e0a\u3002\u4e00\u53e5\u8bdd\uff1a\u65b9\u5411\u5bf9\uff0c\u706b\u5019\u5dee\u5f97\u8fdc\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\">Supamodel<\/span>\n                <\/div>\n<div class=\"comment-content\">Create consistent, commerce-ready product image sets inside Shopify using reusable presets, workflows, product references, and supported 3D assets.<\/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\u2019m Ajith, the founder of Supamodel.<\/p>\n<p>I started building Supamodel after noticing a problem with AI product photography: generating a good image is getting easier, but doing it reliably across an entire catalog is still a lot of work.<\/p>\n<p>For every product, teams end up repeating the same prompts, references, models, scenes, corrections, and exports. And when you have hundreds of SKUs, that quickly becomes its own production workflow.<\/p>\n<p>So Supamodel lets you build that workflow once and reuse it.<\/p>\n<p>You can combine product references, prompts, talent, environments, and image models into a repeatable workflow, run it across different products, review the outputs, and publish the images back to your store.<\/p>\n<p>We\u2019ve been testing it with a fashion brand that has already used Supamodel across hundreds of products, and I\u2019ve been iterating closely based on what breaks in real production use.<\/p>\n<p>There\u2019s still a lot I want to improve, so I\u2019d genuinely love feedback \u2014 especially from ecommerce founders, photographers, agencies, and anyone experimenting with AI product imagery.<\/p>\n<p>Thanks for checking it out \u2764\ufe0f<\/p>\n<p>\u2014 Ajith<\/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\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/34VMZWDRGS3TX2\" class=\"app-title\">OutageDeck<\/a><\/p>\n<div class=\"one-liner\">One status page for every service your stack depends on<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">18<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>OutageDeck \u5c06\u4f60\u4f9d\u8d56\u7684\u6240\u6709\u4e91\u670d\u52a1\u4e0e SaaS \u4f9b\u5e94\u5546\u7684\u72b6\u6001\u9875\u6c47\u805a\u4e3a\u5355\u4e00\u770b\u677f\uff0c\u901a\u8fc7\u5b98\u65b9\u6e90\u8ffd\u8e2a\u3001\u544a\u8b66\u4e0e\u5386\u53f2\u8bb0\u5f55\uff0c\u5e2e\u4f60\u5feb\u901f\u56de\u7b54\u201c\u662f\u5b83\u6302\u4e86\u8fd8\u662f\u6211\u4eec\u6302\u4e86\u201d\u8fd9\u4e00\u6838\u5fc3\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\/40f81cc3-bce5-4e8e-8f93-5251b239489e.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\/7c916e7a-5878-4fd6-aae4-20a6548a4e7d.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\/82337fa5-a5e8-4dba-88e4-b3f661b9b12f.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\/15897c59-2adb-48a0-993d-59e315b88979.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\/90bddc41-b2c8-422b-8fe2-89cda55ea77f.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\/77e0d381-e20d-4d69-8535-21ffc32b1954.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\/14a0c85d-25a7-4660-917a-ea622607faf7.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\/168757fb-d5cb-48cf-b9fe-7404e8334e03.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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u72b6\u6001\u9875\u805a\u5408<\/span><br \/>\n            <span class=\"tag\">\u4e91\u670d\u52a1\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u6545\u969c\u544a\u8b66<\/span><br \/>\n            <span class=\"tag\">\u4f9b\u5e94\u5546\u72b6\u6001<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">JSON API<\/span><br \/>\n            <span class=\"tag\">\u4e8b\u6545\u5386\u53f2<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1<\/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\u70b9\u8d5eMCP\u670d\u52a1\u5668\u96c6\u6210\uff08\u8ba9AI\u7f16\u7801\u4ee3\u7406\u5148\u67e5\u6545\u969c\u518d\u52a8\u624b\uff09\u7684\u521b\u610f\u3002\u6838\u5fc3\u7591\u95ee\uff1aOutageDeck\u81ea\u8eab\u662f\u5426\u6709\u516c\u5f00\u72b6\u6001\u9875\uff0c\u4ee5\u4fbf\u5728\u5927\u89c4\u6a21\u4e91\u6545\u969c\u65f6\u9a8c\u8bc1\u5176\u53ef\u7528\u6027\uff1f\u5f00\u53d1\u8005\u672a\u76f4\u63a5\u56de\u5e94\uff0c\u4f46\u8be5\u95ee\u9898\u76f4\u6307\u5de5\u5177\u81ea\u8eab\u53ef\u9760\u6027\u9a8c\u8bc1\u7684\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                OutageDeck\u7684\u4ef7\u503c\u4e0d\u5728\u201c\u805a\u5408\u201d\uff0c\u800c\u5728\u201c\u514b\u5236\u201d\u3002\u5b83\u575a\u6301\u53ea\u8bfb\u5b98\u65b9\u6e90\u3001\u62d2\u7edd\u722c\u866b\u548c\u4f17\u5305\uff0c\u4ee5\u727a\u7272\u65e9\u671f\u9884\u8b66\u548c\u8986\u76d6\u7387\u4e3a\u4ee3\u4ef7\uff0c\u6362\u53d6\u4e86\u96f6\u8bef\u62a5\u548c\u53ef\u8ffd\u6eaf\u6027\u2014\u2014\u8fd9\u5728\u201c\u5236\u9020\u6050\u614c\u201d\u7684\u805a\u5408\u5668\u6cdb\u6ee5\u65f6\u4ee3\uff0c\u662f\u4e00\u79cd\u6e05\u9192\u7684\u4ea7\u54c1\u54f2\u5b66\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u662f\u201c\u6570\u636e\u5951\u7ea6\u201d\uff1a\u6bcf\u4e2a\u4e8b\u4ef6\u90fd\u80fd\u56de\u6eaf\u5230\u4f9b\u5e94\u5546\u81ea\u5df1\u7684\u673a\u5668\u53ef\u8bfb\u58f0\u660e\uff0c\u8fd9\u5728\u6cd5\u5f8b\u548c\u5ba1\u8ba1\u573a\u666f\u4e2d\u5177\u6709\u5b9e\u9645\u610f\u4e49\uff0c\u800c\u975e\u4ec5\u4ec5\u65b9\u4fbfDevOps\u67e5\u677f\u5b50\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u5f88\u660e\u663e\uff1a\u6295\u7968\u4ec518\uff0c\u70ed\u5ea6\u60e8\u6de1\uff0c\u8bf4\u660e\u201c\u53ef\u9760\u6027\u57fa\u7840\u8bbe\u65bd\u201d\u53d9\u4e8b\u5728PH\u8fd9\u7c7b\u6d41\u91cf\u573a\u5e76\u4e0d\u6027\u611f\u3002\u514d\u8d39\u7b56\u7565\uff08API\/\u4eea\u8868\u76d8\u65e0\u8d26\u53f7\uff09\u964d\u4f4e\u4e86\u91c7\u7528\u95e8\u69db\uff0c\u4f46\u4ed8\u8d39\u70b9\uff08$19\/\u6708\uff09\u5361\u5728Slack\/Teams\/\u81ea\u5b9a\u4e49\u6e90\u4e0a\uff0c\u5bf9\u4e2a\u4eba\u5f00\u53d1\u8005\u504f\u8d35\uff0c\u5bf9\u4f01\u4e1a\u53c8\u7f3a\u5c11SSO\u7b49\u7ba1\u7406\u529f\u80fd\uff0c\u5b9a\u4f4d\u5c34\u5c2c\u3002MCP\u670d\u52a1\u5668\u662f\u4eae\u70b9\uff0c\u4f46\u672c\u8d28\u662f\u7ed9AI\u64e6\u5c41\u80a1\u2014\u2014\u5982\u679cAI\u4ee3\u7406\u8db3\u591f\u806a\u660e\uff0c\u4f55\u5fc5\u9700\u8981\u5916\u90e8\u72b6\u6001\u4ef2\u88c1\uff1f\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u5927\u9690\u60a3\u662f\u81ea\u8eab\u5355\u70b9\uff1a\u8dd1\u5728$55\/\u6708\u7684\u57fa\u7840\u8bbe\u65bd\u4e0a\uff0c\u4f5c\u8005\u662f\u72ec\u7acb\u5f00\u53d1\u8005\uff0c\u82e5\u4ed6\u751f\u75c5\u6216\u653e\u5f03\uff0c\u6574\u4e2a\u670d\u52a1\u6d88\u5931\u3002\u8bc4\u8bba\u4e2d\u201c\u4f60\u81ea\u5df1\u662f\u5426\u6709\u72b6\u6001\u9875\u201d\u7684\u7591\u95ee\uff0c\u6070\u6070\u70b9\u4e2d\u4e86SaaS\u7684\u8fbe\u5c14\u6587\u6b7b\u7a74\uff1a\u76d1\u63a7\u522b\u4eba\u7684\u6545\u969c\uff0c\u5374\u65e0\u6cd5\u8bc1\u660e\u81ea\u5df1\u6d3b\u7740\u3002\u5efa\u8bae\u4f5c\u8005\u7acb\u523b\u516c\u5f00\u81ea\u8eab\u72b6\u6001\u9875\u5e76\u5ef6\u957f\u5386\u53f2\u4fdd\u7559\uff0c\u5426\u5219\u201c\u53ef\u4fe1\u201d\u8fd9\u9762\u65d7\u5e1c\u4f1a\u9996\u5148\u88ab\u81ea\u5df1\u70e7\u7a7f\u3002\u53e6\u5916\uff0cStripe\u88ab\u62d2\u4e4b\u95e8\u5916\u867d\u663e\u9aa8\u6c14\uff0c\u5374\u4e5f\u66b4\u9732\u4e86\u5546\u4e1a\u6a21\u5f0f\u8106\u5f31\u6027\u2014\u2014\u5934\u90e8\u4f9b\u5e94\u5546\u4e0d\u914d\u5408\uff0c\u76ee\u5f55\u589e\u957f\u5c31\u53ea\u80fd\u9760\u957f\u5c3e\uff0c\u800c\u957f\u5c3e\u5ba2\u6237\u7684\u4ed8\u8d39\u80fd\u529b\u901a\u5e38\u6709\u9650\u3002\u7efc\u5408\u6765\u770b\uff0c\u4ea7\u54c1\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u5546\u4e1a\u5316\u4e0e\u53ef\u6301\u7eed\u6027\u8fdc\u672a\u95ed\u73af\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\">OutageDeck<\/span>\n                <\/div>\n<div class=\"comment-content\">OutageDeck tracks 172 cloud and SaaS vendors from official feeds, with alerts, history, a free JSON API, and an MCP server your agents can query. Paid accounts can add private Statuspage or Instatus providers, including their own products: no crowdsourcing or scraping.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m Kerolos, a solo developer.<\/p>\n<p>Every time something broke, I&#8217;d end up with a dozen status-page tabs open trying to answer one question: is it us, or is it a vendor? OutageDeck is that question, answered.<\/p>\n<p>It reads the official status feeds of 172 cloud and SaaS vendors, AWS, Cloudflare, GitHub, OpenAI, Google Cloud, Slack, Twilio, Vercel, and so on, every 10 minutes, and turns them into:<\/p>\n<p>&#8211; one live board for your stack. Pick your vendors, or paste a package.json and it finds them, and get one answer you can share as a link: <a href=\"https:\/\/outagedeck.com\/stack?p=aws,github,vercel,cloudflare\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/outagedeck.com\/stack?p=a&#8230;<\/a><br \/>\n&#8211; outage alerts to email, Slack, Teams, Discord, or webhook<br \/>\n&#8211; an independent, timestamped record of what each vendor acknowledged and when<br \/>\n&#8211; a free JSON API with no account and no key<br \/>\n&#8211; a status wall you can paste into a README: <a href=\"https:\/\/outagedeck.com\/embed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/outagedeck.com\/embed<\/a><br \/>\n&#8211; an MCP server, so your coding agent checks whether the vendor is down before it starts rewriting your code: <a href=\"https:\/\/outagedeck.com\/developers\/mcp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/outagedeck.com\/developer&#8230;<\/a><\/p>\n<p>Two things I decided early that shaped everything else.<\/p>\n<p>Official feeds only. No crowd reports, no page scraping, no synthetic probes. Everything traces back to the vendor&#8217;s own machine-readable source. The tradeoff is honest: a smaller catalog than aggregators that scrape or crowdsource, and no &#8220;users are reporting&#8221; early warning. What you get instead is zero false positives and provenance on every data point.<\/p>\n<p>And because a fixed catalog can never cover everyone, paid accounts can point OutageDeck at any Statuspage or Instatus page it doesn&#8217;t already track. That vendor then joins your account privately, with the same alerts and the same history as anything in the catalog.<\/p>\n<p>A few things I learned from reading 172 status feeds:<\/p>\n<p>&#8211; In the last 30 days, the catalog logged 1,429 incidents across 150 of the 172 providers, and 369 of them were rated major or critical by the vendor itself.<br \/>\n&#8211; The longest incident currently open on a tracked vendor&#8217;s own status page has been open for 694 hours. Vendors forget to close them, so I label that &#8220;stayed open&#8221; rather than &#8220;downtime&#8221;, because those are different claims.<br \/>\n&#8211; Stripe&#8217;s public status JSON has been frozen since February 2024. It still answers 200 and still says everything is fine, so I refuse to list them rather than serve a fossil.<br \/>\n&#8211; No consumer carrier, Vodafone, AT&amp;T, Verizon, publishes an official machine-readable status feed at all.<br \/>\n&#8211; AWS&#8217;s feed is UTF-16 with a byte-order mark.<\/p>\n<p>The dashboard, API, badges, and RSS are free with no account. Email alerts for up to 5 providers are free with an account, about a minute to set up, no card. Paid plans from $19 add Slack, Teams, Discord, and webhook, remove the provider cap, and add your own custom feeds. It&#8217;s bootstrapped and runs on about $55 a month of infrastructure.<\/p>\n<p>I&#8217;d love feedback, especially on which vendors you&#8217;d want tracked next. If it runs on Statuspage, I can usually have it live the same day, and if you&#8217;re on a paid plan, you don&#8217;t have to wait for me.<\/p><\/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\/@kerolos_atallah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kerolos_atallah<\/a>&nbsp;Congrats for launch\ud83d\ude4c Integrating an MCP server so AI coding agents check vendor status before blindly rewriting code is a brilliant, Is there a public status page for OutageDeck itself so users can verify if OutageDeck is up during a massive multi-vendor cloud outage?<\/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\/ZL42JPWYU55FQ7\" class=\"app-title\">Ventilate \u00b7 At the right time<\/a><\/p>\n<div class=\"one-liner\">Beat the heatwave: when to open, close, and use a fan<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">18<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Ventilate \u662f\u4e00\u6b3e\u9762\u5411\u65e0\u7a7a\u8c03\u5bb6\u5ead\u7684\u9632\u6691\u5f15\u5bfc\u5e94\u7528\uff0c\u4f9d\u636e\u7a97\u6237\u671d\u5411\u4e0e\u5b9e\u65f6\u5929\u6c14\uff0c\u7cbe\u51c6\u544a\u8bc9\u7528\u6237\u4f55\u65f6\u5f00\u7a97\u3001\u4f55\u65f6\u5173\u7a97\u3001\u98ce\u6247\u653e\u54ea\u91cc\uff0c\u89e3\u51b3\u201c\u70ed\u6d6a\u5929\u4e0d\u77e5\u4f55\u65f6\u901a\u98ce\u201d\u7684\u65e5\u5e38\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\/225f3c29-6673-41d4-98cd-c66ebce3748d.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\/8acca4ed-695c-427c-b809-c0082689bbab.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\/8bbec717-15df-40c6-8985-95d792a63ba8.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\">Android<\/span><br \/>\n            <span class=\"tag\">Home<\/span><br \/>\n            <span class=\"tag\">Climate Tech<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u70ed\u6d6a\u5e94\u5bf9<\/span><br \/>\n            <span class=\"tag\">\u901a\u98ce\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5bb6\u5c45\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u964d\u6e29\u6307\u5bfc<\/span><br \/>\n            <span class=\"tag\">\u7a97\u6237\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u98ce\u6247\u653e\u7f6e<\/span><br \/>\n            <span class=\"tag\">\u5929\u6c14\u8054\u52a8<\/span><br \/>\n            <span class=\"tag\">iOS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">Android\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u751f\u6d3b\u5b9e\u7528\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\u80af\u5b9a\u201c\u5206\u7a97\u5b9a\u65f6\u201d\u7684\u4ef7\u503c\uff0c\u8ba4\u4e3a\u6bd4\u7b3c\u7edf\u7684\u201c\u767d\u5929\u5173\u7a97\u3001\u665a\u4e0a\u5f00\u7a97\u201d\u66f4\u5b9e\u7528\uff0c\u5e76\u597d\u5947\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7528\u6237\u5bf9\u201c\u5f00\u5173\u7a97\u65f6\u673a\u201d\u4e0e\u201c\u98ce\u6247\u6446\u653e\u5efa\u8bae\u201d\u54ea\u4e2a\u66f4\u611f\u610f\u5916\u3002\u5f53\u524d\u8bc4\u8bba\u5c11\uff0c\u65e0\u8d1f\u9762\u53cd\u9988\uff0c\u5efa\u8bae\u6301\u7eed\u6536\u96c6\u771f\u5b9e\u4f7f\u7528\u6570\u636e\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                Ventilate \u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u88ab\u5ffd\u89c6\u7684\u9700\u6c42\uff1a\u6b27\u6d32\u70ed\u6d6a\u4e0b\uff0c\u5927\u91cf\u65e0\u7a7a\u8c03\u5bb6\u5ead\u5728\u201c\u901a\u98ce\u65f6\u673a\u201d\u4e0a\u51ed\u611f\u89c9\u64cd\u4f5c\uff0c\u7ed3\u679c\u8d8a\u5f00\u8d8a\u70ed\u3002\u4ea7\u54c1\u5c06\u201c\u5f00\u7a97\/\u5173\u7a97\/\u98ce\u6247\u4f4d\u201d\u62c6\u89e3\u4e3a\u53ef\u6267\u884c\u7684\u5b9a\u65f6\u6307\u4ee4\uff0c\u672c\u8d28\u4e0a\u662f\u7528\u5929\u6c14\u6570\u636e\u66ff\u4ee3\u751f\u6d3b\u7ecf\u9a8c\uff0c\u5c5e\u4e8e\u8f7b\u91cf\u7ea7\u7684\u201c\u88ab\u52a8\u964d\u6e29\u51b3\u7b56\u5f15\u64ce\u201d\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u6280\u672f\u58c1\u5792\uff0c\u800c\u5728\u573a\u666f\u805a\u7126\uff1a\u4e0d\u8bd5\u56fe\u63a7\u5236\u6e29\u5ea6\uff0c\u53ea\u4f18\u5316\u901a\u98ce\u6548\u7387\uff0c\u5bf9\u76ee\u6807\u4eba\u7fa4\uff08\u8001\u5f0f\u516c\u5bd3\u3001\u65e0AC\u3001\u70ed\u5e26\u591c\uff09\u6781\u5176\u7cbe\u51c6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u540c\u6837\u660e\u663e\u3002\u7b2c\u4e00\uff0c\u5efa\u8bae\u8d28\u91cf\u9ad8\u5ea6\u4f9d\u8d56\u5ba4\u5185\u6e29\u5ea6\u8f93\u5165\uff08\u201c\u6709\u6e29\u5ea6\u8ba1\u66f4\u597d\u201d\u8fd9\u53e5\u8bdd\u672c\u8eab\u5c31\u5728\u524a\u5f31\u4ea7\u54c1\u81ea\u4fe1\uff09\uff0c\u82e5\u7528\u6237\u4e0d\u4e70\u6e29\u5ea6\u8ba1\u6216\u51ed\u4f53\u611f\u586b\u6570\uff0c\u8bef\u5dee\u4f1a\u76f4\u63a5\u5bfc\u81f4\u5efa\u8bae\u5931\u771f\uff0c\u4ea7\u54c1\u6613\u6ca6\u4e3a\u201c\u7cbe\u81f4\u7684\u7384\u5b66\u201d\u3002\u7b2c\u4e8c\uff0c\u8bc4\u8bba\u91cc\u521b\u59cb\u4eba\u5bf9\u201c\u7528\u6237\u66f4\u60ca\u8bb6\u4e8e\u65f6\u673a\u8fd8\u662f\u98ce\u6247\u4f4d\u7f6e\u201d\u7684\u56de\u590d\u672a\u76f4\u63a5\u56de\u7b54\uff0c\u66b4\u9732\u4e86\u4ea7\u54c1\u5c1a\u672a\u6709\u8db3\u591f\u771f\u5b9e\u7528\u6237\u6570\u636e\u6765\u9a8c\u8bc1\u6838\u5fc3\u5047\u8bbe\u2014\u2014\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u201c\u6211\u8ba4\u4e3a\u4f60\u9700\u8981\u201d\u7684\u5de5\u5177\uff0c\u800c\u975e\u201c\u4f60\u8bd5\u8fc7\u786e\u5b9e\u6709\u7528\u201d\u7684\u5de5\u5177\u3002\u7b2c\u4e09\uff0cProduct Hunt \u4e0a18\u7968\u30010\u70b9\u8d5e\u8bc4\u8bba\uff0c\u8bf4\u660e\u65e9\u671f\u4f20\u64ad\u4e4f\u529b\uff0c\u4e14\u201c\u70ed\u6d6a\u201d\u662f\u5b63\u8282\u6027\u8bdd\u9898\uff0c\u83b7\u5ba2\u7a97\u53e3\u7a84\uff0c\u82e5\u4e0d\u80fd\u5728\u590f\u5b63\u524d\u5f62\u6210\u53e3\u7891\uff0c\u7559\u5b58\u5c06\u975e\u5e38\u60e8\u6de1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u503c\u5f97\u80af\u5b9a\u7684\uff0c\u662f\u5176\u201c\u5e2e\u7528\u6237\u5c11\u505a\u51b3\u7b56\u201d\u7684\u8bbe\u8ba1\u54f2\u5b66\u2014\u2014\u5728\u70ed\u5230\u65e0\u6cd5\u601d\u8003\u65f6\uff0c\u76f4\u63a5\u8bf4\u201c\u73b0\u5728\u5173\u7a97\uff0c23\u70b9\u5f00\u7a97\uff0c\u98ce\u6247\u653e\u4e1c\u4fa7\u201d\uff0c\u6bd4\u4efb\u4f55\u6559\u80b2\u5185\u5bb9\u90fd\u6709\u6548\u3002\u63a5\u4e0b\u6765\u5173\u952e\u4e0d\u5728\u52a0\u529f\u80fd\uff0c\u800c\u5728\u83b7\u53d6\u767e\u540d\u771f\u5b9e\u7528\u6237\u7684\u4f7f\u7528\u65e5\u5fd7\uff0c\u9a8c\u8bc1\u201c\u6e29\u5ea6\u8bef\u5dee\u5bf9\u5efa\u8bae\u654f\u611f\u5ea6\u7684\u5f71\u54cd\u201d\u4ee5\u53ca\u201c\u63d0\u9192\u662f\u5426\u771f\u7684\u88ab\u9075\u4ece\u201d\u3002\u5982\u679c\u80fd\u505a\u6210\u201c\u57fa\u4e8e\u53cd\u9988\u81ea\u52a8\u4fee\u6b63\u5efa\u8bae\u201d\u7684\u8f7b\u91cf\u7b97\u6cd5\uff0c\u5219\u6709\u673a\u4f1a\u4ece\u201c\u5b9a\u65f6\u5668\u201d\u8fdb\u5316\u4e3a\u201c\u4e2a\u4eba\u964d\u6e29\u6559\u7ec3\u201d\u3002\u5426\u5219\uff0c\u5b83\u5f88\u5bb9\u6613\u88ab\u7cfb\u7edf\u81ea\u5e26\u5929\u6c14App\u7684\u201c\u4f53\u611f\u6e29\u5ea6\u201d+\u4eba\u5de5\u5e38\u8bc6\u53d6\u4ee3\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\">Ventilate \u00b7 At the right time<\/span>\n                <\/div>\n<div class=\"comment-content\">Ventilate helps you stay cool during heatwaves with calm, practical guidance. Set up your windows once, add your indoor temperature (a thermometer helps but is not required), and get clear advice on when to close windows to keep heat out, when to open for fresh air, and where to place a fan so cool air reaches you. Uses local weather and your window directions for per-window recommendations, plus gentle reminders and a heat toolkit.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt \ud83d\udc4b<\/p>\n<p>In 2019, during the first big heatwave in Paris, I remember how exhausting it already was. In 2026, after four more heatwaves, I saw how much harder it gets for people without air conditioning. Cooling down at home is not obvious, and every window decision feels urgent when you are tired and hot.<\/p>\n<p>That is why I built Ventilate: a calm guide for heatwave days, when to open, when to close, and where to put a fan so it actually helps.<\/p>\n<p>Heat is still hitting Europe hard, and I keep meeting people who open windows at the wrong hour or miss the short evening cool-down. Small habits make a real difference.<\/p>\n<p>What Ventilate does today:<\/p>\n<p>\u2022 Per-window advice based on your home layout and local weather<br \/>\n\u2022 Next action times, so you know what matters now<br \/>\n\u2022 A heat toolkit with practical guides, plus widgets and reminders<\/p>\n<p>Android and iOS apps are live on their respective stores.<\/p>\n<p>The app is in active development, and I am building it as part of RevenueCat\u2019s Shipaton hackathon. I would genuinely love your feedback, especially if you live in a hot European city without AC.<\/p>\n<p>Question for you: what part of summer heat at home feels the most confusing today, timing your windows, fan placement, or something else?<\/p>\n<p>Thank you for being here early. I will be in the comments all day.<\/p>\n<p>Bathilde<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bathilde_r\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bathilde_r<\/a>&nbsp;The window timing idea is really interesting. I feel like most people have a vague \u201copen them at night, close them during the day\u201d rule, but it obviously gets a lot less simple when you factor in the actual weather and which side of the apartment the window is facing.<\/p>\n<p>I\u2019m curious, while building this, did you find that people were more surprised by the <em>timing<\/em> of when to open\/close, or by the fan placement recommendations?<\/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\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KZZDSHHZNVKARJ\" class=\"app-title\">AFK<\/a><\/p>\n<div class=\"one-liner\">Command center for teams running coding agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">17<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AFK \u662f\u4e00\u4e2a\u9762\u5411\u56e2\u961f\u534f\u4f5c\u573a\u666f\u7684\u7f16\u7801\u667a\u80fd\u4f53\u6307\u6325\u4e2d\u5fc3\uff0c\u89e3\u51b3\u7684\u662f\u667a\u80fd\u4f53\u4efb\u52a1\u5728\u5f00\u53d1\u8005\u7ec8\u7aef\u4e2d\u201c\u5404\u81ea\u4e3a\u6218\u201d\u3001\u7f3a\u4e4f\u6301\u4e45\u5316\u4e0e\u56e2\u961f\u53ef\u89c1\u6027\u7684\u75db\u70b9\uff0c\u8ba9\u591a\u4e2aAI\u7f16\u7801\u4ee3\u7406\u80fd\u5728\u6d4f\u89c8\u5668\u7aef\u88ab\u7edf\u4e00\u8c03\u5ea6\u3001\u5ba1\u6279\u548c\u4ea4\u63a5\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\/869add8b-3acc-441c-8d71-db02acdf3738.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\">SaaS<\/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\">AI\u7f16\u7801\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u4e2d\u5fc3<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u63a7\u5236\u53f0<\/span><br \/>\n            <span class=\"tag\">\u5b50\u4ee3\u7406\u7f51\u683c<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/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\u552f\u4e00\u6709\u6548\u8bc4\u8bba\u4e3a\u5f00\u53d1\u8005\u81ea\u8ff0\uff0c\u65e0\u7528\u6237\u63d0\u95ee\u6216\u76f4\u63a5\u5410\u69fd\u3002\u6838\u5fc3\u4fe1\u606f\u662f\uff1a\u53d7\u591f\u4e86\u667a\u80fd\u4f53\u4efb\u52a1\u6d88\u5931\u5728\u7ec8\u7aef\u6807\u7b7e\u9875\u3001\u56e2\u961f\u4e0d\u53ef\u89c1\u800c\u5f00\u53d1\u6b64\u5de5\u5177\uff1b\u652f\u6301\u5b88\u62a4\u8fdb\u7a0b\u62e8\u53f7\u8f7b\u91cf\u4e2d\u67a2\u3001\u6d4f\u89c8\u5668\u8fde\u63a5\uff0c\u539f\u751fOS\u8fdb\u7a0b\u7ecfWebSocket\u7f51\u683c\u7f16\u6392\uff0c\u57fa\u4e8eJava 25 + GraalVM\u539f\u751f\u4e8c\u8fdb\u5236\u3002\u76ee\u524d\u7f3a\u5c11\u771f\u5b9e\u7528\u6237\u53cd\u9988\uff0c\u5efa\u8bae\u5173\u6ce8\u5de5\u5177\u5ba1\u6279\u6d41\u4e0e\u4ea4\u63a5\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                \u4ece\u4ea7\u54c1\u5f62\u6001\u770b\uff0cAFK\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u6b63\u5728\u53d8\u5927\u7684\u88c2\u7f1d\uff1a\u5f53Coding Agent\u4ece\u201c\u4e2a\u4eba\u811a\u672c\u52a9\u624b\u201d\u5347\u7ea7\u4e3a\u201c\u56e2\u961f\u5e38\u9a7b\u52b3\u52a8\u529b\u201d\u65f6\uff0c\u7ec8\u7aef\u6807\u7b7e\u9875\u5c31\u662f\u9ed1\u7bb1\uff0c\u800c\u73b0\u6709\u5de5\u5177\u94fe\uff08\u5982Cursor\u3001Copilot\u7684\u6258\u7ba1\u4f1a\u8bdd\uff09\u672c\u8d28\u4e0a\u4ecd\u662f\u5355\u7ebf\u7a0b\u601d\u7ef4\u3002AFK\u7684\u201c\u5b88\u62a4\u8fdb\u7a0b+\u6d4f\u89c8\u5668\u4e2d\u67a2\u201d\u67b6\u6784\u806a\u660e\u5730\u907f\u5f00\u4e86\u4e91\u7aef\u9501\u5b9a\uff0c\u628a\u63a7\u5236\u9762\u653e\u5728Web\u3001\u6570\u636e\u9762\u7559\u5728\u7528\u6237\u673a\u5668\uff0c\u914d\u5408BYOK\uff0817\u5bb6\u4f9b\u5e94\u5546\u65e0\u52a0\u4ef7\uff09\u548cDocker\/\u4f01\u4e1a\u90e8\u7f72\uff0c\u660e\u663e\u662f\u51b2\u7740\u201c\u8ba9\u6280\u672f\u51b3\u7b56\u8005\u8bf4\u4e86\u7b97\u201d\u7684IT\u91c7\u8d2d\u903b\u8f91\u53bb\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u51b7\u6c34\uff1a17\u7968\u30011000+\u6ce8\u518c\uff0c\u8bf4\u660e\u4ea7\u54c1\u4ecd\u5904\u6781\u65e9\u671f\uff0c\u4e14\u8bc4\u8bba\u91cc\u53ea\u6709\u4f5c\u8005\u672c\u4eba\u5728\u81ea\u8bf4\u81ea\u8bdd\uff0c\u7f3a\u4e4f\u7b2c\u4e09\u65b9\u9a8c\u8bc1\u3002\u5176\u5ba3\u79f0\u7684\u201cP2P\u5b50\u4ee3\u7406\u7f51\u683c\u201d\u3001\u201cJava 25 + GraalVM\u539f\u751f\u201d\u542c\u8d77\u6765\u7384\u4e4e\uff0c\u4f46\u771f\u6b63\u51b3\u5b9a\u751f\u6b7b\u7684\u4e0d\u662f\u5e95\u5c42\u6280\u672f\uff0c\u800c\u662f\u4e24\u4e2a\u5173\u952e\u95ee\u9898\uff1a\u7b2c\u4e00\uff0c\u5728\u590d\u6742\u56e2\u961f\u6d41\u7a0b\u4e2d\uff0c\u5ba1\u6279\u4f1a\u8bdd\u3001\u6743\u9650\u6a21\u5f0f\u3001\u8ba1\u5212\u5ba1\u67e5\u8fd9\u4e9b\u52a8\u4f5c\u672c\u8eab\u4f1a\u4e0d\u4f1a\u6210\u4e3a\u6bd4\u624b\u5199\u4ee3\u7801\u66f4\u91cd\u7684\u8d1f\u62c5\uff1f\u7b2c\u4e8c\uff0c\u5f53\u591a\u4e2a\u5b50\u4ee3\u7406\u901a\u8fc7WebSocket\u7f51\u683c\u5e76\u53d1\u6267\u884c\u65f6\uff0c\u5982\u4f55\u907f\u514d\u72b6\u6001\u51b2\u7a81\u548c\u4e0a\u4e0b\u6587\u7206\u70b8\uff1f\u5982\u679c\u8fd9\u4e24\u4e2a\u95ee\u9898\u6ca1\u6709\u6740\u624b\u950f\u7ea7\u7684\u8bbe\u8ba1\uff0cAFK\u5f88\u5bb9\u6613\u6ca6\u4e3a\u201c\u7ed9AI\u6234\u4e86\u66f4\u91cd\u9563\u94d0\u7684\u7ba1\u7406\u540e\u53f0\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u5b83\u627f\u8ba4\u4e86\u4e00\u4e2a\u884c\u4e1a\u76f2\u533a\uff1aAI Agent\u7684\u4ea7\u80fd\u4e0d\u53d6\u51b3\u4e8e\u6a21\u578b\u667a\u5546\uff0c\u800c\u53d6\u51b3\u4e8e\u7ec4\u7ec7\u5bf9\u5176\u7684\u53ef\u76d1\u7763\u6027\u548c\u4ea4\u63a5\u6548\u7387\u3002AFK\u82e5\u80fd\u5728\u201c\u8f7b\u91cf\u6cbb\u7406\u201d\u548c\u201c\u96f6\u71c3\u5c3d\u201d\u4e4b\u95f4\u627e\u5230\u5e73\u8861\uff0c\u6709\u673a\u4f1a\u6210\u4e3a\u56e2\u961f\u7ea7Agent\u57fa\u5efa\u7684\u9ed8\u8ba4\u9009\u9879\uff1b\u82e5\u53ea\u662f\u628aCI\/CD\u7684\u6743\u9650\u63a7\u5236\u5957\u5728Agent\u4e0a\uff0c\u90a3\u5b83\u4e0d\u8fc7\u662f\u53e6\u4e00\u4e2a\u6f02\u4eae\u7684\u540e\u53f0\uff0c\u4f1a\u88abAgent\u539f\u751f\u6846\u67b6\uff08\u5982LangGraph\u3001CrewAI\uff09\u7684\u56e2\u961f\u7248\u540e\u6765\u5c45\u4e0a\u3002\u4e0b\u4e00\u6b65\u5efa\u8bae\u76ef\u7d27\u5176\u6743\u9650\u6a21\u5f0f\u7684\u7ec6\u7c92\u5ea6\u2014\u2014\u662f\u5426\u652f\u6301\u6309\u4f1a\u8bdd\u3001\u6309\u5de5\u5177\u3001\u6309\u65f6\u95f4\u7a97\u53e3\u7684\u4e34\u65f6\u6388\u6743\uff0c\u8fd9\u6bd4\u5806\u529f\u80fd\u66f4\u80fd\u4f53\u73b0\u6df1\u5ea6\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\">AFK<\/span>\n                <\/div>\n<div class=\"comment-content\">Coding agent tools assume solo devs. For teams, that breaks. AFK is a browser command center for coding agent teams. Daemon on your machine or company server. Spawn sessions, approve tools, hand off work. Persistent sessions, permission modes, plan review, team orgs\/roles, dashboards, handoff, BYOK (17 providers, no markup), Docker, sub-agents with P2P mesh, MCP\/skills\/plugins, automations, enterprise deploy. Free tier. 60-day trial. 1000+ signups in <30 days. Homelab, zero burn.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Thanks for checking out AFK! I built this because I got tired of agent work<br \/>\nvanishing into terminal tabs with no team visibility.<\/p>\n<p>A daemon runs on your machine or company server, dials out to a lightweight<br \/>\nhub, and you + your team connect via browser. Agents are native OS processes<br \/>\norchestrated through a WebSocket mesh. Java 25 + GraalVM native binary.<\/p>\n<p>Full feature set at <a href=\"https:\/\/www.mooglest.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.mooglest.com<\/a> \u2014 happy to answer questions.<\/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\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/UD6VXZ2EDVHG3K\" class=\"app-title\">t0md<\/a><\/p>\n<div class=\"one-liner\">Convert Anything to Markdown<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">16<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>t0md\u662f\u4e00\u6b3e\u514d\u8d39\u7684\u5728\u7ebf\u6587\u4ef6\u8f6cMarkdown\u5de5\u5177\uff0c\u652f\u6301PDF\u3001Word\u3001PPT\u3001HTML\u548cJSON\u683c\u5f0f\uff0c\u65e0\u9700\u6ce8\u518c\u5373\u53ef\u5feb\u901f\u63d0\u53d6\u5e72\u51c0\u6587\u672c\uff0c\u5e76\u5185\u7f6eMCP\u670d\u52a1\u5668\u4f9bAI\u4ee3\u7406\u76f4\u63a5\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 single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f441bcb5-d7b1-4763-abcf-b9047807fe3b.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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6587\u4ef6\u8f6c\u6362<\/span><br \/>\n            <span class=\"tag\">Markdown<\/span><br \/>\n            <span class=\"tag\">PDF\u8f6cMarkdown<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u5728\u7ebf\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u63d0\u53d6<\/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\u8bc4\u8bba\u6307\u51faMarkdown\u5df2\u6210\u4e3aAI\u4ee3\u7406\u7684\u901a\u7528\u8bed\u8a00\uff0c\u6a21\u578b\u539f\u751f\u64c5\u957f\u5904\u7406\u4e14\u6bd4HTML\u66f4\u7701token\u3002\u8ba4\u4e3a\u5de5\u5177\u586b\u8865\u4e86\u53cd\u5411\u8f6c\u6362\u9700\u6c42\uff0c\u5e76\u63d0\u53ca\u6b64\u524dmd2doc.com\u88abAI\u4ee3\u7406\u5927\u91cf\u4f7f\u7528\uff0c\u6697\u793a\u6b64\u5de5\u5177\u540c\u6837\u5177\u5907\u5b9e\u7528\u6f5c\u529b\uff0c\u6682\u65e0\u8d1f\u9762\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                t0md\u8e29\u4e2d\u4e86\u4e24\u4e2a\u7cbe\u51c6\u7684\u75db\u70b9\uff1a\u4e00\u662fAI\u65f6\u4ee3\u4e0b\uff0c\u4eba\u7c7b\u5411\u6a21\u578b\u6295\u5582\u6587\u6863\u7684\u683c\u5f0f\u6469\u64e6\u2014\u2014PDF\u3001PPT\u8fd9\u7c7b\u590d\u6742\u683c\u5f0f\u5bf9\u6a21\u578b\u6781\u4e0d\u53cb\u597d\uff0c\u8f6c\u6210Markdown\u80fd\u663e\u8457\u964d\u4f4etoken\u6d88\u8017\u5e76\u63d0\u5347\u7406\u89e3\u51c6\u786e\u7387\uff1b\u4e8c\u662fMCP\uff08\u6a21\u578b\u4e0a\u4e0b\u6587\u534f\u8bae\uff09\u7684\u987a\u52bf\u7ed1\u5b9a\uff0c\u8ba9\u8be5\u5de5\u5177\u4e0d\u518d\u662f\u5b64\u7acb\u7f51\u9875\u5e94\u7528\uff0c\u800c\u662f\u76f4\u63a5\u5d4c\u5165Claude Code\u3001Cursor\u7b49\u4e3b\u6d41AI\u5de5\u4f5c\u6d41\u7684\u201c\u683c\u5f0f\u9002\u914d\u5c42\u201d\u3002\u8fd9\u79cd\u201c\u8f6c\u6362\u5668+\u534f\u8bae\u201d\u7684\u53cc\u8f6e\u8bbe\u8ba1\uff0c\u4f7f\u5176\u5177\u5907\u6210\u4e3aAI\u57fa\u7840\u8bbe\u65bd\u7ea7\u5c0f\u5de5\u5177\u7684\u53ef\u80fd\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c16\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u8bf4\u660e\u5176\u5c1a\u672a\u7834\u5708\uff0c\u540c\u7c7b\u7ade\u54c1\u5982MinerU\u3001marker\u7b49\u5f00\u6e90\u65b9\u6848\u5df2\u5177\u5907\u66f4\u5f3a\u7684\u590d\u6742\u7248\u9762\u89e3\u6790\u80fd\u529b\uff0c\u800ct0md\u5728\u4ecb\u7ecd\u4e2d\u672a\u63d0\u53ca\u8868\u683c\u3001\u516c\u5f0f\u3001\u56fe\u7247\u7b49\u5bcc\u5a92\u4f53\u5143\u7d20\u7684\u8fd8\u539f\u7cbe\u5ea6\uff0c\u8fd9\u6070\u662f\u5b9e\u9645\u4f7f\u7528\u4e2d\u6700\u6613\u7ffb\u8f66\u7684\u75db\u70b9\u3002\u5176\u6838\u5fc3\u7ade\u4e89\u529b\u201c\u7b80\u5355\u514d\u8d39\u65e0\u6ce8\u518c\u201d\u95e8\u69db\u8fc7\u4f4e\uff0c\u5bb9\u6613\u88ab\u590d\u5236\uff0c\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e94\u5728\u4e8eMCP\u751f\u6001\u7684\u6df1\u5ea6\u96c6\u6210\u548c\u8f6c\u6362\u8d28\u91cf\u7684\u4e00\u81f4\u6027\u3002\u82e5\u540e\u7eed\u80fd\u63d0\u4f9b\u6279\u91cf\u5904\u7406\u3001OCR\u589e\u5f3a\u53ca\u81ea\u5b9a\u4e49\u8f93\u51fa\u98ce\u683c\uff0c\u5e76\u5f00\u653eAPI\uff0c\u624d\u80fd\u4ece\u201c\u987a\u624b\u7684\u5c0f\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201cAI\u5de5\u4f5c\u6d41\u7684\u5fc5\u5907\u4e2d\u95f4\u4ef6\u201d\u3002\u5426\u5219\uff0c\u5b83\u5f88\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u6619\u82b1\u4e00\u73b0\u7684\u6548\u7387\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\">t0md<\/span>\n                <\/div>\n<div class=\"comment-content\">Free PDF, Word, PowerPoint, HTML and JSON to Markdown converter. Drop a document, get clean Markdown in seconds. No sign-up. MCP server included for Claude Code, Cursor, Grok and other AI agents.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Markdown has quietly become the lingua franca of AI agents. Models are natively fluent in it (trained on mountains of GitHub and docs), it\u2019s dramatically more token-efficient than HTML, and it hits the perfect middle ground of structure without noise. <\/p>\n<p>I saw how much demand there was for simple tools when I made md2doc.com and agents totally swarmed it to create documents out of markdown, so I thought it would be useful to go the other way too.<\/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\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DL3YNDYVFJHOA7\" class=\"app-title\">Account Moodboard<\/a><\/p>\n<div class=\"one-liner\">Visualize Instagram &#038; TikTok accounts&#8217; vibe &#038; stats<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">13<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Account Moodboard \u662f\u4e00\u6b3e\u65e0\u9700\u6ce8\u518c\u7684\u514d\u8d39\u5de5\u5177\uff0c\u7c98\u8d34\u4efb\u610f Instagram \u6216 TikTok \u8d26\u53f7\u94fe\u63a5\uff0c\u5373\u53ef\u5728\u6570\u79d2\u5185\u751f\u6210\u8be5\u8d26\u53f7\u7684\u89c6\u89c9\u60c5\u7eea\u677f\u3001\u94a9\u5b50\u6587\u6848\u3001\u8bdd\u9898\u5206\u5e03\u53ca\u64ad\u653e\u8868\u73b0\uff0c\u5e2e\u52a9\u7528\u6237\u5feb\u901f\u6d1e\u5bdf\u521b\u4f5c\u8005\u6216\u54c1\u724c\u7684\u5185\u5bb9\u201c\u914d\u65b9\u201d\u4e0e\u6570\u636e\u8d8b\u52bf\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\/5217ef11-ad75-4b07-95e8-e3b5c3566132.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=2364Xa28GvY\"><source src=\"https:\/\/www.youtube.com\/watch?v=2364Xa28GvY\" 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\/f777147d-e298-4ec0-a926-6129717a77d8.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\/8990ac48-01aa-445a-bdd7-62747f9cbcf6.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\/27360e66-3dd2-47ce-8e20-d1967aa763cf.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\/22b6e999-0640-4577-81af-d9342de3e0f5.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\/377e46fe-eb22-4e4f-b1a9-211c3c17f0c4.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\/6ce60f5b-5455-4286-b24b-f98350ced460.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\/90d5ee26-c90c-47f4-81d4-f90d7b3bb0f5.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\/9339f06e-253a-44ec-bf6b-9edab13bfac2.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\">Social Media<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u793e\u4ea4\u5a92\u4f53\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5c3d\u8c03<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u60c5\u62a5<\/span><br \/>\n            <span class=\"tag\">AI\u89c6\u9891\u7406\u89e3<\/span><br \/>\n            <span class=\"tag\">\u8d26\u53f7\u60c5\u7eea\u677f<\/span><br \/>\n            <span class=\"tag\">TikTok\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">Instagram\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u5316\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u7b56\u7565<\/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>\u521b\u59cb\u56e2\u961f\u5f3a\u8c03\u5e95\u5c42\u6570\u636e\u57fa\u5efa\uff08AI\u9010\u5e27\u3001\u9010\u53e5\u3001\u9010\u5b57\u5e55\u89e3\u6790\u5168\u91cf\u89c6\u9891\uff09\u548c API \u80fd\u529b\uff0c\u7528\u6237\u65e0\u9700\u6ce8\u518c\u5373\u53ef\u7528\u3002\u6709\u6548\u53cd\u9988\u96c6\u4e2d\u5728\uff1a\u80fd\u5426\u652f\u6301\u66f4\u591a\u5e73\u53f0\u3001\u5bfc\u51fa PDF \u7684\u6df1\u5ea6\u3001\u4ee5\u53ca\u662f\u5426\u5f00\u653e API \u7ed9\u5f00\u53d1\u8005\u4e8c\u6b21\u6784\u5efa\u3002\u65e0\u8d1f\u9762\u6279\u8bc4\uff0c\u4f46\u8bf7\u6c42\u589e\u52a0\u529f\u80fd\u900f\u660e\u5ea6\u548c\u6570\u636e\u66f4\u65b0\u9891\u7387\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\u4e2a\u4ea7\u54c1\u7684\u672c\u8d28\u4e0d\u662f\u201c\u60c5\u7eea\u677f\u201d\uff0c\u800c\u662f\u628a\u201c\u5185\u5bb9\u7384\u5b66\u201d\u53d8\u6210\u201c\u53ef\u91cf\u5316\u8d44\u4ea7\u201d\u7684\u538b\u7f29\u5668\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e UI \u591a\u6f02\u4eae\uff0c\u800c\u5728\u4e8e Oriane API \u80cc\u540e\u7684\u89c6\u9891\u5168\u91cf\u89e3\u6790\u7ba1\u9053\u2014\u2014\u8fd9\u6070\u597d\u6233\u4e2d\u4e86\u793e\u4ea4\u8425\u9500\u4ece\u4e1a\u8005\u7684\u6838\u5fc3\u75db\u70b9\uff1a\u9760\u4eba\u8089\u7ffb 30 \u6761\u89c6\u9891\u603b\u7ed3\u201c\u611f\u89c9\u201d\u592a\u6162\u3001\u592a\u4e3b\u89c2\uff0c\u800c\u5e73\u53f0\u5b98\u65b9 API \u53c8\u9650\u5236\u91cd\u91cd\u3002Account Moodboard \u7528\u201c\u514d\u8d39+\u96f6\u767b\u5f55\u201d\u7684\u8f7b\u91cf\u5916\u58f3\uff0c\u8ba9\u4f60\u5148\u5c1d\u5230\u6570\u636e\u751c\u5934\uff0c\u518d\u5f15\u5bfc\u4f60\u53bb\u4ed8\u8d39 API\u2014\u2014\u8fd9\u662f\u5178\u578b\u7684 PLG \u6253\u6cd5\uff0c\u4e14\u6f0f\u6597\u8bbe\u8ba1\u5f97\u76f8\u5f53\u987a\u6ed1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u51b7\u6c34\uff1a\u7b2c\u4e00\uff0c\u5b83\u76ee\u524d\u53ea\u8f93\u51fa\u201c\u8bca\u65ad\u62a5\u544a\u201d\uff0c\u4e0d\u7ed9\u51fa\u201c\u53ef\u6267\u884c\u5f00\u65b9\u201d\u2014\u2014\u6bd4\u5982\u544a\u8bc9\u4f60\u94a9\u5b50\u6a21\u5f0f\u5e38\u89c1\u4e8e 60-90 \u79d2\uff0c\u5374\u4e0d\u544a\u8bc9\u4f60\u5982\u4f55\u590d\u5236\u8be5\u6a21\u5f0f\uff0c\u8fd9\u9650\u5236\u4e86\u4ece\u201c\u5206\u6790\u5de5\u5177\u201d\u5230\u201c\u589e\u957f\u5de5\u5177\u201d\u7684\u8dc3\u8fc1\u3002\u7b2c\u4e8c\uff0c\u6570\u636e\u6e90\u8986\u76d6\u53ea\u6709 IG \u548c TikTok\uff0c\u4e14\u4f9d\u8d56\u8fd1 3 \u4e2a\u6708\u5185\u5bb9\uff0c\u5bf9\u4e8e\u6df1\u8015 YouTube \u6216\u5c0f\u7ea2\u4e66\uff08\u56fd\u5185\u8bed\u5883\uff09\u7684\u73a9\u5bb6\u4ef7\u503c\u9aa4\u51cf\u3002\u7b2c\u4e09\uff0c\u8bc4\u8bba\u91cc\u4e09\u4f4d\u521b\u59cb\u4eba\u9f50\u4e0a\u9635\uff0c\u4f46\u66f4\u50cf\u6280\u672f\u5ba3\u8bb2\u800c\u975e\u7528\u6237\u8bc1\u8a00\uff0c\u7f3a\u4e4f\u7b2c\u4e09\u65b9\u72ec\u7acb\u8bc4\u6d4b\uff0c\u53ef\u4fe1\u5ea6\u6709\u5f85\u9a8c\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u62a4\u57ce\u6cb3\u4e0d\u5728\u4ea7\u54c1\uff0c\u800c\u5728\u6570\u636e\u7ba1\u9053\u2014\u2014\u5982\u679c Oriane API \u80fd\u5f00\u653e\u7ed9\u66f4\u591a\u5f00\u53d1\u8005\uff0c\u5e76\u89e3\u51b3\u89c6\u9891\u5185\u5bb9\u7248\u6743\u4e0e\u5408\u89c4\u95ee\u9898\uff0c\u5b83\u6709\u673a\u4f1a\u6210\u4e3a\u5185\u5bb9\u60c5\u62a5\u9886\u57df\u7684 Twilio\u3002\u4f46\u76ee\u524d\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u8bf1\u9975\u201d\uff1a\u514d\u8d39\u5de5\u5177\u505a\u5f97\u8db3\u591f\u597d\uff0c\u8ba9\u4f60\u613f\u610f\u4ed8\u8d39\u7528 API\uff0c\u5374\u672a\u5fc5\u80fd\u8ba9\u666e\u901a\u7528\u6237\u957f\u671f\u505c\u7559\u5728 Moodboard \u672c\u8eab\u3002\u4e00\u53e5\u8bdd\uff1a\u5de5\u5177\u5f88\u68d2\uff0c\u4f46\u5546\u4e1a\u6a21\u5f0f\u548c\u751f\u6001\u7eb5\u6df1\u4ecd\u9700\u8bc1\u660e\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\">Account Moodboard<\/span>\n                <\/div>\n<div class=\"comment-content\">See any Instagram or TikTok account&#8217;s visual mood, hooks, and performance in one board. Paste a handle, get your free moodboard in seconds.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH! I&#8217;m Yuri, co-founder of Oriane.<\/p>\n<p>I&#8217;ve been building and launching free tools for a month now. This tool #4 on my &#8220;10 weeks to build 10 free tools&#8221;.<\/p>\n<p>Tool #4 is to build accounts moodboard.<br \/>\nWhen you&#8217;re vetting a creator or analyzing a brand, you need to quickly get a sense of the vibe and the stats of the given account.<\/p>\n<p>But just looking at the follower count and the 3-4 latest videos on Instagram\/Tiktok is not enough.<\/p>\n<p>So you end up doing it manually. Scrolling 30 videos, screenshotting a few, trying to describe a &#8220;formula&#8221; that&#8217;s really just a gut feeling.<\/p>\n<p>We built a huge infrastructure that watches and listens to millions of videos across TikTok and Instagram so you don&#8217;t have to.<\/p>\n<p>This free (no signup) tool is a small slice of that, using our API.<\/p>\n<p>Paste any Instagram or TikTok handle. Our AI watches the videos videos from the last 3 months and builds a moodboard: a visual collage sized by views, every opening hook transcribed in full, the actual hook pattern behind them, topic breakdown, performance over time, and which video lengths earn the most attention.<\/p>\n<p>The gut feeling, turned into something you can turn into a pitch.<\/p>\n<p>All free. No login. No sales call first.<\/p>\n<p>I&#8217;d love your feedback: what&#8217;s the account whose &#8220;vibe&#8221; you&#8217;ve never been able to put into words?<\/p><\/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>Hello there! Thibaut here, CTO of Oriane.<\/p>\n<p>Following Yuri&#8217;s comment, the hard part isn&#8217;t building a Moodboard UI, it&#8217;s the data underneath it. To generate this for any handle you paste, we&#8217;re pulling every video from that account, processing each one across three layers (what&#8217;s on screen, what&#8217;s said out loud, what&#8217;s in the caption), and fusing it all into structured records tied back to that single account. On demand, in seconds. That&#8217;s the power of the Oriane API.<\/p>\n<p>Most tools either rely on platform APIs that throttle you hard, or scrape one video at a time. We&#8217;re running this across both Instagram and TikTok through the same pipeline, so any account&#8217;s full footprint comes back instantly, no matter the platform.<\/p>\n<p>Happy to answer technical questions for anyone building on top of it. Fire away \ud83d\udc47<\/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>Julien here, cofounder of Oriane.<\/p>\n<\/p>\n<p>The problem is simple. Everyone studies accounts by scrolling and guessing. You can see the numbers on a big post, but not why it worked. So the real playbook stays invisible.<\/p>\n<p>So this tool does the teardown for you. Paste any Instagram or TikTok account. It watches the content, surfaces the top hooks and breakout posts, charts views by video length and cadence, and writes short strategy notes on what the account is doing. You can export the whole thing as PDF slides.<\/p>\n<p>Free. No signup. Under a minute.<\/p>\n<p>We ran it on @ hormozi to test it: 4.4M followers, 98 videos, 25.2M views, and it instantly showed the 60 to 90 second sweet spot and the hook style driving the breakouts.<\/p>\n<p>The fun part for this community: the whole thing is a thin app on the Oriane API. <br \/>Yuri built it in under a day with vibe coding. The API does the seeing and hearing inside videos, the app is just UI on top.<\/p>\n<p>If you want to build your own tools on it, happy to get you access.<\/p>\n<p>Would love your feedback on this tool, and tell us what other free products we should build in the next 6 weeks?<\/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\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/26LAPBTBEJIMTM\" class=\"app-title\">VICE Platform &#8211; Private Beta<\/a><\/p>\n<div class=\"one-liner\">Security scans for people who ship fast<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">12<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>VICE Platform \u662f\u4e00\u6b3e\u9762\u5411\u5feb\u901f\u8fed\u4ee3\u7684\u72ec\u7acb\u5f00\u53d1\u8005\u7684\u5b89\u5168\u5ba1\u8ba1\u5de5\u5177\uff0c\u4ee5\u653b\u51fb\u8005\u89c6\u89d2\u81ea\u52a8\u626b\u63cf Web \u5e94\u7528\u4e2d\u7684\u5bc6\u94a5\u6cc4\u9732\u3001Supabase RLS \u914d\u7f6e\u9519\u8bef\u3001API \u66b4\u9732\u53ca\u5b89\u5168\u5934\u7f3a\u5931\u7b49\u95ee\u9898\uff0c\u5e76\u63d0\u4f9b\u4ece\u53d1\u73b0\u3001\u4fee\u590d\u5230\u590d\u6d4b\u7684\u95ed\u73af\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\/19cb73ef-5a6e-47a9-b296-aa6e5f567ad0.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\/4baa6841-43d2-441a-abe0-52110c1049d8.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\/3fd5dc48-1cd5-438b-8be8-c1a4a70ef011.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\/976e3868-b6ff-4562-949d-0a63a876ae09.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\/9070086c-f147-486f-a1cd-79193cf8f81b.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\">\u5b89\u5168\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">DAST<\/span><br \/>\n            <span class=\"tag\">SAST<\/span><br \/>\n            <span class=\"tag\">Supabase\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5bc6\u94a5\u6cc4\u9732\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">CI\/CD\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90CLI<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/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>\u8bc4\u8bba\u8005\u795d\u8d3a\u53d1\u5e03\uff0c\u5e76\u8d28\u7591\u5f00\u6e90\u5f15\u64ce\u672c\u8eab\u662f\u5426\u4f1a\u5f15\u5165\u5b89\u5168\u98ce\u9669\uff08\u5982\u653b\u51fb\u8005\u5229\u7528\u516c\u5f00\u4ee3\u7801\u5bfb\u627e\u6f0f\u6d1e\uff09\uff0c\u5f00\u53d1\u8005\u9700\u56de\u5e94\u5f00\u6e90\u4e0e\u5b89\u5168\u6027\u7684\u5e73\u8861\u95ee\u9898\u3002\u6682\u65e0\u5176\u4ed6\u529f\u80fd\u6216\u5b9a\u4ef7\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                VICE Platform \u5207\u4e2d\u7684\u75db\u70b9\u771f\u5b9e\u4e14\u5c16\u9510\uff1a\u73b0\u4ee3\u5806\u6808\u8ba9\u201c\u80fd\u7528\u201d\u548c\u201c\u5b89\u5168\u201d\u4e4b\u95f4\u7684\u9e3f\u6c9f\u88ab\u4f4e\u4f30\uff0c\u800c\u73b0\u6709\u5de5\u5177\u8981\u4e48\u8d35\uff08$200\/\u6708\u8d77\uff09\u4e14\u9762\u5411\u5408\u89c4\u56e2\u961f\uff0c\u8981\u4e48\u662f\u6e17\u900f\u6d4b\u8bd5\u8005\u7684\u4e13\u4e1a CLI\uff0c\u4e2d\u95f4\u5c42\u786e\u5b9e\u7a7a\u767d\u3002\u5f00\u6e90\u5f15\u64ce\u4f5c\u4e3a\u83b7\u5ba2\u94a9\u5b50\uff0c\u7b56\u7565\u806a\u660e\u2014\u2014\u5b83\u5efa\u7acb\u4e86\u6280\u672f\u4fe1\u4efb\uff0c\u4e5f\u964d\u4f4e\u4e86\u8bd5\u7528\u95e8\u69db\uff0c\u4f46\u8bc4\u8bba\u4e2d\u201c\u5f00\u6e90\u662f\u5426\u5e26\u6765\u98ce\u9669\u201d\u7684\u8d28\u7591\u5f88\u5173\u952e\uff0c\u8fd9\u8003\u9a8c\u56e2\u961f\u5bf9\u5f15\u64ce\u81ea\u8eab\u5b89\u5168\u6027\u7684\u89e3\u91ca\u529b\u3002\u4ea7\u54c1\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u53d1\u73b0\u6f0f\u6d1e\u201d\uff0c\u800c\u5728\u4e8e\u201c\u4fee\u590d\u95ed\u73af\u201d\u2014\u2014\u5e26\u8bc1\u636e\u3001\u7ed9\u53ef\u7c98\u8d34\u8fdb AI \u7f16\u7801\u5de5\u5177\u7684\u4fee\u590d\u5efa\u8bae\u3001\u5e76\u652f\u6301\u590d\u6d4b\uff0c\u8fd9\u76f4\u51fb\u5f00\u53d1\u8005\u201c\u77e5\u9053\u6709\u6d1e\u4f46\u4e0d\u4f1a\u4fee\u6216\u61d2\u5f97\u4fee\u201d\u7684\u60f0\u6027\u3002\u4f46\u4e24\u4e2a\u9690\u60a3\uff1a\u5176\u4e00\uff0c\u201c\u6e05\u7406\u7ed3\u679c\u201d\u7684\u8fb9\u754c\u8868\u8ff0\u867d\u8bda\u5b9e\uff0c\u5374\u964d\u4f4e\u4e86\u8425\u9500\u51b2\u51fb\u529b\uff0c\u7528\u6237\u9700\u8981\u7406\u89e3\u201c\u8986\u76d6\u8303\u56f4\u201d\u8fd9\u4e00\u6982\u5ff5\uff0c\u5bf9\u5c0f\u767d\u4e0d\u53cb\u597d\uff1b\u5176\u4e8c\uff0c\u79c1\u4eba\u6d4b\u8bd5\u4ec5 10 \u4e2a\u540d\u989d\uff0c\u4e14\u5b9a\u4ef7\u516c\u5f00\uff0c\u8fd9\u66f4\u50cf\u662f\u4e00\u573a\u9ad8\u63a5\u89e6\u7684\u79cd\u5b50\u7528\u6237\u9a8c\u8bc1\uff0c\u800c\u975e\u89c4\u6a21\u5316\u7684\u4ea7\u54c1\u53d1\u5e03\u2014\u2014\u82e5\u8fd9 10 \u4eba\u4e0d\u80fd\u8f6c\u5316\u4e3a\u4ed8\u8d39\u6216\u6848\u4f8b\uff0c\u70ed\u5ea6\u5c06\u8fc5\u901f\u51b7\u5374\u3002\u603b\u4f53\u800c\u8a00\uff0cVICE \u6709\u6210\u4e3a\u201c\u5f00\u53d1\u8005\u5b89\u5168\u5e73\u6743\u5de5\u5177\u201d\u7684\u6f5c\u529b\uff0c\u4f46\u9700\u8981\u8bc1\u660e\uff1a\u5f00\u6e90\u5f15\u64ce\u4e0d\u4f1a\u88ab\u6ee5\u7528\uff0c\u4e14\u4fee\u590d\u5efa\u8bae\u7684\u8d28\u91cf\u6bd4\u5f97\u4e0a\u4e13\u4e1a\u5b89\u5168\u987e\u95ee\u3002\u5426\u5219\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u201c\u770b\u8d77\u6765\u5f88\u7f8e\u201d\u7684 CLI \u58f3\u5b50\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\">VICE Platform &#8211; Private Beta<\/span>\n                <\/div>\n<div class=\"comment-content\">VICE audits your web app the way an attacker would: leaked secrets in your bundles, Supabase RLS misconfigurations, exposed APIs, weak headers and infrastructure&#8230;. The engine is open source and free today, as a CLI or a GitHub Action. The hosted Platform adds the full loop: verify your domain, run a full audit, get findings with evidence, apply a suggested fix, then retest to confirm it&#8217;s gone. It opens as a private beta with 10 founding spots. Built for indie builders who ship fast.<\/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>Modern stacks make it trivial to ship something that works, and just as easy to ship a secret into your client bundle, or a Supabase table anyone can read anonymously. The app runs fine. Nothing looks broken. That&#8217;s the trap: &#8220;it works&#8221; and &#8220;it&#8217;s actually protected&#8221; are two different questions, and most of us only ever test the first one.<\/p>\n<p>The tools that answer the second question exist. They start around $200\/month and are built for compliance teams. Or they&#8217;re CLIs built for pentesters. If you&#8217;re a solo builder or a small team, there&#8217;s nothing in between.<\/p>\n<p>What&#8217;s free today:<br \/>\n&#8211; The VICE engine is open source: automated DAST + SAST checks, Supabase\/RLS analysis, API, GraphQL and WebSocket coverage, security headers and infrastructure checks.<br \/>\n&#8211; Run it as a CLI or drop the GitHub Action into your CI.<\/p>\n<p>What&#8217;s opening today: the hosted Platform, in private beta.<br \/>\nSame engine, hosted, plus the loop that actually makes you safer: verify your domain, run a full audit, get findings with evidence (not just &#8220;trust me&#8221;), apply a suggested fix written so you can paste it straight into Cursor, Codex or Claude Code, then retest to confirm it&#8217;s gone.<\/p>\n<p>I&#8217;m taking 10 founding participants. Not a waitlist: accepted participants get real dashboard access, run real audits on their own apps, and I personally review every high and critical finding during the program. Planned pricing is public on the site. The beta exists to validate the product, not to stay free forever.<\/p>\n<p>A few honest limits, because this is a security tool and trust is the whole product:<br \/>\n&#8211; It only scans domains you own and verify.<br \/>\n&#8211; A clean result means &#8220;nothing found in the covered scope&#8221;, never &#8220;you&#8217;re safe&#8221;. The report always shows you what was covered.<\/p>\n<p>I&#8217;ll be in the comments all day. Happy to go deep on how the engine works, what it found on my own apps, and why RLS is where indie SaaS actually bleed.<\/p><\/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\/@luca_deguin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luca_deguin<\/a>&nbsp;Congrats on the launch Luca. Does open sourcing teh engine not in itself pose a security risk?<\/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<\/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-08-10 PH\u70ed\u699c | 2026-08-10 #1 oqoqo [&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-309","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/309","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=309"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/309\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}