{"id":281,"date":"2026-07-14T11:38:06","date_gmt":"2026-07-14T03:38:06","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/14\/2026-07-13\/"},"modified":"2026-07-14T11:38:06","modified_gmt":"2026-07-14T03:38:06","slug":"2026-07-13","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/07\/14\/2026-07-13\/","title":{"rendered":"PH\u70ed\u699c | 2026-07-13"},"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-07-13<\/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-07-13<\/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\/QOYR327FKDOKAZ\" class=\"app-title\">Osaurus<\/a><\/p>\n<div class=\"one-liner\">Open source agents that run 100% locally on your Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">578<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Osaurus\u662f\u4e00\u6b3e\u4e3aMac\u7528\u6237\u6253\u9020\u7684\u5b8c\u5168\u79bb\u7ebf\u3001\u5f00\u6e90AI\u4ee3\u7406\u5e73\u53f0\uff0c\u8ba9\u7528\u6237\u65e0\u9700\u5c06\u6587\u4ef6\u3001\u8bb0\u5fc6\u548c\u4e0a\u4e0b\u6587\u4e0a\u4f20\u81f3\u4e91\u7aef\uff0c\u5373\u53ef\u5728\u672c\u5730\u6267\u884c\u81ea\u52a8\u5316\u4efb\u52a1\u3001\u7ba1\u7406\u65e5\u7a0b\u5e76\u8c03\u7528\u4efb\u610f\u6a21\u578b\uff0c\u5f7b\u5e95\u89e3\u51b3\u9690\u79c1\u6cc4\u9732\u548c\u8ba2\u9605\u6346\u7ed1\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\/120c2151-01e1-4467-8d5c-3cbf5ec09821.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\/683f5d15-28f7-4653-aeb1-09d8005f7dc7.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\/f3684fa1-971c-4f52-ba61-d89d3d607720.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\/45fece8a-535b-4118-b422-6bd613e257dc.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\/44fabaeb-c5b8-4f6b-b901-8ff14633f8c1.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\/16d2ef36-db8c-4256-85dc-ea47827f905b.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\">Privacy<\/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\">\u672c\u5730AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">Mac\u539f\u751f<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u8fd0\u884c<\/span><br \/>\n            <span class=\"tag\">AI\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5185\u5b58\u6301\u4e45\u5316<\/span><br \/>\n            <span class=\"tag\">\u82f9\u679c\u751f\u6001<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u5207\u6362<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u79f0\u8d5e\u672c\u5730\u8fd0\u884c\u548c\u9690\u79c1\u6027\uff0c\u4f46\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a\u9700\u89c6\u89c9\u5316\u6d3b\u52a8\u65e5\u5fd7\u4ee5\u589e\u5f3a\u4fe1\u4efb\uff1b\u5982\u4f55\u8de8\u4f1a\u8bdd\u4fdd\u6301\u672c\u5730\u8bb0\u5fc6\uff1b\u672c\u5730\u6a21\u578b\u4e0e\u4e91\u7aef\u6a21\u578b\u52a8\u6001\u8def\u7531\u7684\u53ef\u884c\u6027\uff1b\u4ee5\u53ca\u6a21\u578b\u66f4\u65b0\u673a\u5236\u3002\u90e8\u5206\u7528\u6237\u671f\u5f85\u66f4\u6613\u7528\u7684\u5165\u95e8\u6559\u7a0b\u4ee5\u964d\u4f4e\u4f7f\u7528\u95e8\u69db\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                Osaurus\u7684\u91ce\u5fc3\u5728\u4e8e\u91cd\u65b0\u5b9a\u4e49\u201cAI\u4e3b\u6743\u201d\u3002\u5b83\u901a\u8fc7Swift\u539f\u751f\u3001\u79bb\u7ebf\u63a8\u7406\u548c\u672c\u5730\u5b58\u50a8\uff0c\u5207\u4e2d\u4e86\u5927\u578bSaaS\u5e73\u53f0\u5bf9\u6570\u636e\u63a7\u5236\u6743\u7684\u4fe1\u4efb\u5371\u673a\u3002\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u63d0\u4f9b\u66f4\u201c\u5f3a\u201d\u7684\u6a21\u578b\uff0c\u800c\u662f\u6784\u5efa\u4e86\u4e00\u4e2a\u5b8c\u5168\u7531\u7528\u6237\u638c\u63a7\u7684Agent\u751f\u6001\uff1a\u4ece\u6587\u4ef6\u64cd\u4f5c\u3001\u7cfb\u7edf\u81ea\u52a8\u5316\u5230\u5b50\u4efb\u52a1\u59d4\u6258\uff0c\u5168\u90e8\u5728\u672c\u5730\u6c99\u7bb1\u5185\u95ed\u73af\u6267\u884c\u3002\u8fd9\u79cd\u201c\u9ed1\u7bb1\u900f\u660e\u5316\u201d\u7684\u4fe1\u4efb\u5951\u7ea6\uff0c\u6bd4\u4e91\u7aef\u7684\u201c\u9ed1\u7bb1\u9ad8\u6548\u5316\u201d\u66f4\u7b26\u5408\u672a\u6765\u9690\u79c1\u4f18\u5148\u7684\u8d8b\u52bf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5c40\u9650\u4e5f\u5f88\u660e\u663e\uff1a\u4f9d\u8d56Apple Silicon\u7684\u7b97\u529b\u5929\u82b1\u677f\uff0c\u610f\u5473\u7740\u590d\u6742\u4efb\u52a1\uff08\u5982\u591a\u6a21\u6001\u5206\u6790\u3001\u957f\u94fe\u63a8\u7406\uff09\u4ecd\u4f1a\u66b4\u9732\u5bf9\u4e91\u7aef\u6a21\u578b\u7684\u4f9d\u8d56\u3002\u867d\u7136\u63d0\u4f9bBYOK\u6a21\u5f0f\uff0c\u4f46\u672c\u8d28\u4e0a\u672a\u89e3\u51b3\u6838\u5fc3\u7b97\u529b\u74f6\u9888\u3002\u793e\u533a\u53cd\u9988\u4e2d\u201c\u5206\u6563\u6ce8\u610f\u529b\u7684\u529f\u80fd\u8bbe\u8ba1\u201d\u2014\u2014\u8ba9\u6a21\u578b\u53bb\u751f\u6210PPT\u62163D\u6e38\u620f\u2014\u2014\u66f4\u50cf\u662f\u6280\u672f\u6f14\u793a\u800c\u975e\u6838\u5fc3\u573a\u666f\uff0c\u8fd9\u9700\u8981\u8b66\u60d5\u4ea7\u54c1\u9677\u5165\u201c\u70ab\u6280\u201d\u800c\u504f\u79bb\u771f\u6b63\u7684\u5b9e\u7528\u6027\u3002\u76ee\u524d\uff0c\u5b83\u66f4\u9002\u5408\u5f00\u53d1\u8005\u3001\u9690\u79c1\u654f\u611f\u7528\u6237\u4ee5\u53ca\u5e0c\u671b\u6446\u8131SaaS\u4f9d\u8d56\u7684\u4e13\u4e1a\u4eba\u58eb\u3002\u5bf9\u4e8e\u666e\u901a\u7528\u6237\uff0cDino UI\u548c\u5b9e\u65f6\u5ba1\u6279\u95e8\u662f\u52a0\u5206\u9879\uff0c\u4f46\u201c\u5b89\u88c5\u5927\u6a21\u578b+\u914d\u7f6eAgent\u201d\u7684\u542f\u52a8\u6210\u672c\u4ecd\u7136\u4e0d\u4f4e\u3002Osaurus\u7684\u957f\u671f\u4ef7\u503c\uff0c\u5728\u4e8e\u5b83\u80fd\u901a\u8fc7\u5f00\u6e90\u793e\u533a\u6784\u5efa\u51fa\u4e00\u4e2a\u7c7b\u4f3cHome Assistant\u4e4b\u4e8e\u667a\u80fd\u5bb6\u5c45\u7684\u201c\u672c\u5730Agent\u751f\u6001\u6807\u51c6\u201d\uff0c\u800c\u975e\u4ec5\u4ec5\u505a\u4e00\u4e2a\u6f02\u4eae\u7684Mac\u539f\u751f\u5ba2\u6237\u7aef\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\">Osaurus<\/span>\n                <\/div>\n<div class=\"comment-content\">The native macOS harness for AI agents. Any model, persistent memory, autonomous execution, cryptographic identity. Built in Swift. Fully offline. Open source.<\/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 Terence, founder of <a href=\"https:\/\/osaurus.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Osaurus<\/a>. I spent 20 years shipping software at Netflix, Tesla, and Zillow before going all in on this.<\/p>\n<p><strong>Own your AI. Osaurus is an open source AI agent platform that runs on your Mac.<\/strong><\/p>\n<p>MIT licensed, native Swift for Apple Silicon. No account, no subscription, no <em>Electron<\/em>.<\/p>\n<p>We started as <a href=\"https:\/\/dinoki.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Dinoki<\/a>, a 5MB desktop dinosaur, and grew into a full agent platform through open source community feedback. Now at <strong>7K+ GitHub stars and 175K+ downloads<\/strong> \u2014 all by word of mouth.<\/p>\n<p><strong>The problem:<\/strong> most AI assistants run on someone else&#8217;s server.<\/p>\n<\/p>\n<p>Your files, memory, and context leave your machine every time you use them, usually behind a monthly subscription.<\/p>\n<\/p>\n<p>Osaurus keeps all of it on your Mac.<\/p>\n<p><strong>What that means in practice:<\/strong><\/p>\n<ul>\n<li>\n<p>Agents read your Calendar, look up Contacts, send iMessages, and work with your real files<\/p>\n<\/li>\n<li>\n<p>An isolated sandbox writes and runs code, producing real files on your desktop: images, PDFs, presentations<\/p>\n<\/li>\n<li>\n<p>Every action goes through an approval gate. You see what the agent wants to do before it does it<\/p>\n<\/li>\n<li>\n<p>Local models run fully offline. We built our own Swift MLX runtime, no Python underneath<\/p>\n<\/li>\n<li>\n<p>Want a frontier model? Bring your own key (OpenAI, Anthropic, Gemini) or use pay-as-you-go Osaurus Cloud. Either way, your memory and context stay local<\/p>\n<\/li>\n<\/ul>\n<p><strong>It&#8217;s free and always will be.<\/strong><\/p>\n<\/p>\n<p>16GB of RAM gets you started with local models, 24GB recommended.<\/p>\n<p>Try it at <a href=\"http:\/\/osaurus.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">osaurus.ai<\/a>. Download takes seconds, no account needed.<\/p>\n<p>I&#8217;ll be here all day answering questions. My favorite Osaurus hack is to set up Agent DB and self-scheduling to create a personal dashboard!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>28<\/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\/@tpae\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tpae<\/a>&nbsp;Love the focus on being truly native to macOS instead of another cross-platform wrapper. Supporting any model, persistent memory, autonomous execution, and offline operation\u2014while being open source and built in Swift\u2014makes this especially appealing for developers who value privacy, performance, and full control. Best of luck with the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tpae\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tpae<\/a>&nbsp;Cheers. Long time looking into this project and using it on my machine. It is really well thought out, detailed and with so many options and use cases. Best of all to you and everyone involved in the Osaurus project. <\/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\/@tpae\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tpae<\/a>&nbsp;Congrats!<\/p>\n<p>I used to piece my AI system together from different apps just to get a working agent, but Osaurus was the all-in-one solution for me. It just works flawlessly.<\/p>\n<p>For my use-case, I use it with a local AI as an autonomous assistant for my vacation rental business, so it helps me with emails, marketing and general organization. <\/p>\n<p>Thank you so much for this project and good luck!<\/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>So stoked to unveil <a href=\"https:\/\/www.producthunt.com\/products\/osaurus\" target=\"_blank\" rel=\"noopener\">@Osaurus<\/a> to the Product Hunt community!<\/p>\n<\/p>\n<p>I&#8217;ve been a long-time advocate of open source (going back to the launch of <a href=\"https:\/\/www.producthunt.com\/products\/mozilla\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"mozilla\" target=\"_blank\" rel=\"noopener\">@Mozilla<\/a> Firefox in 2004!).<\/p>\n<\/p>\n<p>I&#8217;ve followed products like <a href=\"https:\/\/www.producthunt.com\/products\/ollama\" target=\"_blank\" rel=\"noopener\">@Ollama<\/a> and <a href=\"https:\/\/www.producthunt.com\/products\/lm-studio-2\" target=\"_blank\" rel=\"noopener\">@LM Studio<\/a> but neither is Mac-native nor have the character of <a href=\"https:\/\/dinoki.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Dinoki<\/a>, the little guy I originally fell in love with, long before <a href=\"https:\/\/petdex.dev\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Petdex<\/a> existed:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aa0e4e00-a459-4da4-9c1e-3db1ad99dc74.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>While I&#8217;m a big Anthropic and OpenAI user, I also believe strongly <strong>that local, open source AI is the future of computing<\/strong>, and Osaurus is the user-friendly app bringing this to everyone.<\/p>\n<\/p>\n<p><strong>Osaurus is like the Firefox of open source AI!<\/strong><\/p>\n<\/p>\n<p>You can download and run the latest models from <a href=\"https:\/\/www.producthunt.com\/products\/z-ai\" target=\"_blank\" rel=\"noopener\">@Z.ai<\/a> <a href=\"https:\/\/www.producthunt.com\/products\/qwen\" target=\"_blank\" rel=\"noopener\">@Qwen<\/a> <a href=\"https:\/\/www.producthunt.com\/products\/gemini-6\" target=\"_blank\" rel=\"noopener\">@Gemini<\/a> (Gemma), or BYOK.<\/p>\n<\/p>\n<p>Now&#8217;s an awesome time to give Osaurus a try, and if you&#8217;re feeling bold \u2014 the beauty of open source means we&#8217;d <a href=\"https:\/\/github.com\/osaurus-ai\/osaurus\/blob\/6ba01559230b82973120a8b3dba16fa80e16b9f2\/docs\/CONTRIBUTING.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">love your contributions<\/a>!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>15<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! I like that it runs locally and asks for approval before each action. For anything touching Calendar, Contacts, and iMessage, that&#8217;s the combination I&#8217;d want before granting access.Curious how you handle memory and context across sessions while keeping it all on-device.<\/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>Thank you<a href=\"https:\/\/www.producthunt.com\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;!<\/p>\n<\/p>\n<p>Everything is stored locally on your file system, including chat history, memory, and everything else. Your Mac has the capability to run it&#8217;s own inferencing, it can distill memories too, and process it&#8217;s own embeddings for dynamic contexts.<\/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>Congratulations on the launch! Being offline and private is something that makes Osaurus really stand out.<\/p>\n<p>I&#8217;m a bit of a dinosaur myself and always wonder &#8211; would educational content be useful for attracting users like me? A bit old-fashioned, not using agents yet, and not sure how to apply them to real use cases.<\/p>\n<p>And speaking of dinos &#8211; I love the character design and animation on your website! Which dino is your favourite? Is it the same one you loved as a kid?<\/p>\n<p>It could also be really fun to have a YouTube channel where dinos explain how to use agents in an easy and playful 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@julia_shtogren\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julia_shtogren<\/a>&nbsp;Thank you for your kind words!<\/p>\n<\/p>\n<p>We&#8217;re in the process of building out YouTube content for new users like you, and our goal is to make it simple enough for you to get started without needing complicated tutorials. Happy to answer any questions in our Discord if you need additional help.<\/p>\n<\/p>\n<p>I love our green dinosaur (his name is Dinoki), and I recently rediscovered my love for dinosaurs once my son got into it.<\/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>honestly this looks great for mac users, the offline angle is a big plus. one thing i&#8217;d love to see is a simple visual diff or timeline for what the agent changed locally, like a little activity log you can scrub through. would make it way easier to trust what it&#8217;s doing in the background<\/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\/@doyranl58403\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doyranl58403<\/a>&nbsp;That&#8217;s a great suggestion! If you are using sandbox to edit files, it does keep an internal log of changes. You can ask the agent to undo a file operation, and it will do it. We just need to make it stand out visually<\/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\">@tpae knowing what it is  doing in some visual way to gain trust in the effectiveness is a great idea. Would use just for that imo. Love this!<\/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, this is cool. What are some exciting and unique ways that people are using Osaurus and is there a roadmap?<\/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>Hey <a href=\"https:\/\/www.producthunt.com\/@andrea_j\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"andrea_j\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrea_j<\/a> , great question!<\/p>\n<\/p>\n<p>Honestly the sandbox stuff surprises me the most. Agents spin up an isolated Linux VM and make real things: slide decks, 3D games, deployed websites. Recently I watched an agent write its own skill to solve a task, which was a little surreal.<\/p>\n<\/p>\n<p>Roadmap: personal AI you actually own. Agents, memory, skills that live on your Mac and compound over time. Lots left to build.<\/p>\n<\/p>\n<p>Curious what you&#8217;d want your Mac to do on its own!<\/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>Swift-native, fully offline, and open source is a rare combo \u2014 most agent harnesses assume you&#8217;re fine piping everything to the cloud. The cryptographic identity piece is intriguing; I&#8217;d love to hear more about how persistent memory works across sessions and whether it&#8217;s local-only storage. This feels built for people who actually care about owning their stack. Nice work.<\/p>\n<\/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\/@kelly_king3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kelly_king3<\/a>&nbsp;Thank you Kelly! Memory is stored locally on device, using local embeddings. It works fully offline as well. We believe everyone should own their AI.<\/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>Does it take a lot of space in my computer?<\/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\/@doganakbulut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@doganakbulut<\/a>&nbsp;Depends on which model you download, but it ranges between 6GB ~ 20GB for smaller models, and could be more than 200GB+ for larger ones<\/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>Just discovered <a href=\"https:\/\/www.producthunt.com\/products\/osaurus\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"osaurus\" target=\"_blank\" rel=\"noopener\">@Osaurus<\/a> on X<\/p>\n<ul>\n<li>\n<p>Used my ChatGPT Pro sub<\/p>\n<\/li>\n<li>\n<p>Recognised my local MLX models from LM Studio<\/p>\n<\/li>\n<li>\n<p>\ud83d\udc9c Dino avatars <\/p>\n<\/li>\n<\/ul>\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\/@karthikeyan_ranasthala\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@karthikeyan_ranasthala<\/a>&nbsp;Welcome to the community! Thank you for 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you plan to handle model updates and ensure the agents stay current with the latest AI advancements without requiring a full app update?<\/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\/@aymnart\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aymnart<\/a>&nbsp;We do have auto update enabled, and we do daily updates. Our builds are fully standalone, it doesn&#8217;t require any servers and you can run it locally offline. You can choose not to upgrade, but your app will fetch our latest models catalog from our <a href=\"https:\/\/huggingface.co\/OsaurusAI\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">hugging face<\/a>. <\/p>\n<\/p>\n<p>We quantize our own models and also tune our evaluations every time a new model is dropped. We&#8217;ve been one of the pioneers in releasing quants for smaller models. We&#8217;re one of the few that is supporting range of models including the latest Hy3.<\/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 see you also made apple script models. What was the thought process there? I know many similar apps use applescript just as an escape hatch for terminal calls. <\/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\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;We built Computer Use first, and it was great for what it is (clicking around the screen). We wanted to push automation a bit further, and came up with a solution to run AppleScript using local models. Since AppleScript allows chaining apps, we thought it will produce a very rich experience in automating your Mac. It&#8217;s a little bit too powerful though, so be careful. It emptied my trash bin one time and I got scared.<\/p>\n<\/p>\n<p>You can read about our process here: <a href=\"https:\/\/osaurus.ai\/blog\/applescript-models\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/osaurus.ai\/blog\/applescript-models<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How good it the macuse skill? Can the mac be controlled via local LLM? or does that require better models only available via cloud? If local LLM is possible with mac-use skill, what requirment would support local mac-use skill? Btw looooooove the <strong>Laundromat Afternoon theme \ud83d\ude38<\/strong><\/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\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;Great question! We run our own evaluation suite for each local model using community sourced compute. I have to say, it&#8217;s decent enough to use, some models are better at it than others. Strange though, if it&#8217;s good at computer use, then it&#8217;s lacking in agentic coding, and vice versa. You might need to switch between two models to have best of both worlds.<\/p>\n<\/p>\n<p><a href=\"https:\/\/github.com\/osaurus-ai\/osaurus\/blob\/main\/reports\/COMPATIBILITY.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/osaurus-ai\/osaurus\/blob\/main\/reports\/COMPATIBILITY.md<\/a><\/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>The approval gate is nice. One action, easy call. Wondering once an agent chains 15 steps to build a deck or deploy a site, does every step stop and wait for me? Fantastic launch!<\/p>\n<\/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\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Thank you so much! You can always &#8220;Always Allow&#8221; on some of those actions and it won&#8217;t ask you again. I would leave the destructive ones to &#8220;Always Ask&#8221; just in case!<\/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><a href=\"https:\/\/www.producthunt.com\/products\/osaurus\" target=\"_blank\" rel=\"noopener\">@tpae<\/a> Huge congrats on bringing Osaurus to PH! \ud83c\udf89<\/p>\n<p>For users running hybrid workflows (e.g., small local model like Gemma for simple file\/routing tasks, but switching to BYOK Claude\/OpenAI for heavy reasoning), can an agent dynamically route tasks between local and cloud models within the same workflow, or is an agent fixed to one specific model backend?<\/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\/@franz_briones\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@franz_briones<\/a>&nbsp;Yes! We recently launched <a href=\"https:\/\/docs.osaurus.ai\/subagents\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Subagents<\/a>, which allows your agent to use local or remote model to delegate tasks to another local or remote model. It doesn&#8217;t do intelligent routing yet, but if your reasoning model is capable of identifying which task is good for which model, should be able to set up routing logic via system prompts.<\/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>Finally a Swift-native agent harness that doesn&#8217;t feel like a wrapper around a Python script. The persistent memory across sessions actually held context from yesterday, which surprised me.<\/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>Hey<a href=\"https:\/\/www.producthunt.com\/@hargdeansa20796\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hargdeansa20796<\/a>&nbsp;I&#8217;m tired of wrappers too. Mac users deserve something better. Which is why we built Osaurus.<\/p>\n<\/p>\n<p>Let us know if there&#8217;s any feedback or suggestions on how to make it better.<\/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><a href=\"https:\/\/www.producthunt.com\/products\/osaurus\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"osaurus\" target=\"_blank\" rel=\"noopener\">@Osaurus<\/a> Congrats on the Launch. The Osaurus dino is super cute. <br \/>I have been waiting to try locally run models and see the performance. What the hardware requirement? is a M4 Mac mini 16gb enough? Eager to try it. <\/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>Hey <a href=\"https:\/\/www.producthunt.com\/@roopesh_donde\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roopesh_donde<\/a>&nbsp;! <\/p>\n<\/p>\n<p>16gb would be usable, although 24gb would be recommended. I would suggest using Gemma 4 e4b, it&#8217;s not crazy smart like the others but is able to call tools in a meaningful way. Let me know if you run into any questions!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How is this different with Codex or Claude Code?<\/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>Huge congrats on the launch,&nbsp;<a href=\"https:\/\/www.producthunt.com\/@tpae\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"tpae\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tpae<\/a> ! Love the offline-first approach. One thing I\u2019d find useful: a visual activity log to scrub through what the agent did locally. Any plans for 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Mac-native and local is the combo I keep wanting, the Firefox-of-local-AI pitch landed. Practical question: what&#8217;s the real memory footprint running one of the mid-size models on, say, a 16GB machine, does it stay usable or does it eat everything and make me quit my other apps? That&#8217;s usually where &#8220;runs locally&#8221; turns into &#8220;runs locally if you bought the maxed-out box.&#8221; Nice to see something leaning open source instead of another closed wrapper.<\/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. The approval gate feels like the right trust boundary for an agent that can touch files, Calendar, Contacts, and iMessage. I\u00e2m curious how you think about permissions once someone has several agents or projects: are you aiming for per-action approvals only, or eventually a project-scoped policy where an agent can access one context but not another?<\/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\/@wesc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wesc<\/a>&nbsp;Right now we&#8217;re keeping it simple, per-action approvals seems to cover the highest surface area. In the future, we can get more granular, as agents earn more trust.<\/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>That makes sense. Per-action approval is a practical default when the trust surface is still broad, and the idea of gradually earning more granular permissions feels like the right path. It keeps the user in control without forcing a complex policy model on day one.<\/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 one of the more compelling &#8220;local AI agent&#8221; pitches I&#8217;ve seen, the approval gate before every action is the part that actually matters to me, most of these tools just yolo the agent loose on your filesystem. question on the self-scheduling piece you mentioned &#8211; does that still fire if the Mac is asleep or the lid is closed, or does it need to actively be awake\/plugged in for scheduled runs to trigger?<\/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\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Thank you for your feedback! It does require your Mac to be on and awake. It will queue it up until your system comes active.<\/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 approval gate plus &#8220;always allow&#8221; per action is the right default, but the part I&#8217;m actually curious about is the open source contribution angle &#8211; if community members start shipping shareable agent skills\/plugins that get access to iMessage or Contacts, is there any review step before those get trusted, or is it on the user to audit what a downloaded skill can touch before installing 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;We accept contributions but we make sure it&#8217;s strict to our code standards. We have artifacts that allows agents to run through series of checks before making the PR. We set our standards high for developer contributions<\/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>Local-first agents is the direction I keep hoping wins. The cryptographic identity part is interesting \u2014 most agent frameworks treat identity as an afterthought. Curious how heavy it gets memory-wise with a couple of agents running on an M-series Air?<\/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\/@alex_tomilin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_tomilin<\/a>&nbsp;How big is your Air? I would suggest having minimum RAM of 16GB, but 24GB is recommended. Depending on the model you choose but it could take up anywhere between 8GB ~ 12GB RAM during active usage.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice. If Qwen (or some of its models) are still open-source, which is my guess, I can confirm it works fine on a Mac Mini M3 for doing automation tasks on websites, DOM manipulation&#8230;<\/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\/@elias_iturri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elias_iturri<\/a>&nbsp;Qwen is a beast of a model. One of the best released for it&#8217;s size<\/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>Downloading to check this out now! Just the branding of the dinosaurs is unique enough to pique my interest, would love to know where you got the idea to use them. Make the internet fun again!<\/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\/@rick_mcclelland\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rick_mcclelland<\/a>&nbsp;Let&#8217;s make it fun!<\/p>\n<\/p>\n<p>My son was getting into dinosaurs (he&#8217;s turned 3), and I wanted to build something fun with AI. I built Dinoki (pixel dinosaur desktop AI companion), and realized there&#8217;s a growing need to run local models (for costs and privacy). Dinoki will be central to what we do, so when we built Osaurus, we decided to keep the same branding.<\/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! With the approval gate on every action, does that mean autonomous runs stop and wait a lot, or is it smart about only flagging the risky stuff like sending a message or running code?<\/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\/@irahimiam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@irahimiam<\/a>&nbsp;It&#8217;s about having control, and you will be asked each step, but you can always choose &#8220;Always Allow&#8221; for specific actions you feel comfortable with.<\/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>You describe Osaurus as an AI agent platform rather than just an assistant. Long term, do you envision users interacting with a single persistent agent that accumulates years of context, or a collection of specialized agents with separate memory and identities?<\/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\/@tarqiya_forgah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tarqiya_forgah<\/a>&nbsp;There&#8217;s use cases for both, having a single agent (or orchestrator) that accumulate years of context, and having multiple agents (or subagents) that are specialized with contexts that can perform specialized tasks.<\/p>\n<\/p>\n<p>What we&#8217;re discovering now is, local models trained with specific set of tasks, they are capable of performing at the same level (if not better) than frontier models for those tasks.<\/p>\n<\/p>\n<p>We believe this is just the beginning of a local-first AI harness. We call it a platform because we expect others to join us in shaping what this future would look like.<\/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 Mac-native angle is the part that stands out. Ollama works, but it always feels like it is renting space on the machine rather than living on it. What I would want to know is how model management holds up once people start pulling in the bigger local models, is there a clean way to swap them without eating all the RAM. Either way, local-first AI getting a friendlier front door is good for the whole space.<\/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\/@liana_preston\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@liana_preston<\/a>&nbsp;Thank you for the feedback, totally agree that local-first AI needs to get more attention. As AI enthusiasts, we need more choices on how to use our AI, and in my opinion, owning your AI is the best option. We allow you to own your AI without having to rent them.<\/p>\n<\/p>\n<p>Our harness has been tuned to work with local models efficiently, if you have a larger mac, we support multi model residency (allowing you to warm up multiple models at a time), but if you have a smaller one, we make it efficient to load and unload them.<\/p>\n<\/p>\n<p>Our core idea is that harness is what makes local AI useful. We spent our time optimizing our harness for local models, and it&#8217;s capable of doing complex agentic 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>Using Osaurus every day and really appreciate all the hard work. It&#8217;s my go-to for when I share Venice API keys with family and friends to introduce them to AI. I&#8217;m looking forward to being able to use image gen and TTS with a cloud or local server url. I&#8217;m using Venice for LLM in Osaurus, and it would be nice to use their image and speech models as well. I&#8217;m also setting up my 5090 GPU PC with image gen and fish audio TTS, and if it could be a local network server for Osaurus image and speech gen like it is for local LLM, that would be great for local!<\/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\/@ryot\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ryot<\/a>&nbsp;Hey there! Thank you so much for showing up and giving us support. We&#8217;re working on those features and should be available in the next few releases. I will keep you posted!<\/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>the fully-offline bit is the whole selling point for me tbh&#8230; most agent tools are just api wrappers that fall over the second the wifi does. running local on the mac with persistent memory is an actual edge, not a checkbox&#8230; swift instead of yet another electron thing is a nice touch too.<\/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\/@alex_watson2110\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alex_watson2110<\/a>&nbsp;Exactly. Electron is purely for companies to expand their reach, for Mac users, we&#8217;re getting the shorter end of the stick. Mac users deserve better. That&#8217;s why we built it in Swift.<\/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\/U23MKZQPSZUKGY\" class=\"app-title\">AgentKey<\/a><\/p>\n<div class=\"one-liner\">One-stop live data marketplace for your agent<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">504<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AgentKey\u662f\u4e00\u4e2aMCP\u63d2\u4ef6\uff0c\u80fd\u8ba9AI\u4ee3\u7406\u901a\u8fc7\u4e00\u6761\u6307\u4ee4\u63a5\u5165\u641c\u7d22\u5f15\u64ce\u3001\u793e\u4ea4\u5a92\u4f53\u3001\u91d1\u878d\u3001\u7535\u5546\u7b49\u5b9e\u65f6\u5916\u90e8\u6570\u636e\u5e02\u573a\uff0c\u65e0\u9700\u7ba1\u7406\u591a\u4e2aAPI\u5bc6\u94a5\u548c\u96c6\u6210\u914d\u7f6e\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\/cbbf9bc2-c528-40b1-b606-d58313bce23d.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\/7ec19346-abba-4cd0-9038-a646f22a886d.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\/34e2af76-43a1-468a-b5da-26da11c08c7c.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\/61b79706-6521-4da3-a066-1ef551dc1930.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\/1e305aa0-823b-4ffa-a596-e1ee85d5fd82.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\/3be44cbc-3cdc-4987-92bb-bab7927a40ad.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=w4RLRADCdGg\"><source src=\"https:\/\/www.youtube.com\/watch?v=w4RLRADCdGg\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Data<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u6570\u636e\u5e02\u573a<\/span><br \/>\n            <span class=\"tag\">API\u805a\u5408<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u6545\u969c\u8f6c\u79fb<\/span><br \/>\n            <span class=\"tag\">\u610f\u56fe\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">AI\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u914d\u7f6e<\/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\u8d5e\u8d4f\u81ea\u52a8\u6545\u969c\u8f6c\u79fb\u529f\u80fd\uff0c\u8ba4\u4e3a\u5b83\u8ba9\u4ee3\u7406\u4e0d\u4f1a\u56e0\u4e0a\u6e38API\u5b95\u673a\u800c\u4e2d\u65ad\u3002\u6838\u5fc3\u53cd\u9988\u96c6\u4e2d\u5728\uff1a1\uff09\u8bf7\u6c42\u68c0\u7d22\u5c42\u8bef\u9009\u7aef\u70b9\u65f6\u53ef\u80fd\u51fa\u73b0\u9759\u9ed8\u9519\u8bef\uff0c\u9700\u589e\u5f3a\u900f\u660e\u65e5\u5fd7\uff1b2\uff09\u793e\u4ea4\u6570\u636e\u6765\u6e90\u9700\u660e\u786e\u662f\u5426\u5408\u89c4\uff08\u56de\u590d\u79f0\u6765\u81ea\u5b98\u65b9\u5408\u4f5c\u6e90\u800c\u975e\u722c\u53d6\uff09\uff1b3\uff09\u5efa\u8bae\u5728\u81ea\u52a8\u5207\u6362\u65f6\u663e\u793a\u5207\u6362\u539f\u56e0\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                AgentKey\u89e3\u51b3\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u88ab\u4f4e\u4f30\u7684\u75db\u70b9\uff1aAI\u4ee3\u7406\u6709\u4e86\u5927\u8111\uff0c\u5374\u4ecd\u7136\u6ca1\u6709\u201c\u773c\u775b\u201d\u3002\u5b83\u5c06\u6784\u5efa\u6570\u636e\u94fe\u8def\u7684\u590d\u6742\u6027\u6253\u5305\u6210\u4e00\u4e2a\u63d2\u4ef6\uff0c\u8ba9\u4ee3\u7406\u4e0d\u518d\u5c40\u9650\u4e8e\u8bad\u7ec3\u6570\u636e\u6216\u201c\u6b7b\u201dAPI\uff0c\u8fd9\u786e\u5b9e\u662f\u4e00\u4e2a\u52a1\u5b9e\u7684\u8fdb\u6b65\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6280\u672f\u67b6\u6784\u6765\u770b\uff0c\u5176\u6838\u5fc3\u4eae\u70b9\u5e76\u975e\u805a\u5408\u76841800\u4e2a\u7aef\u70b9\uff0c\u800c\u662f\u610f\u56fe\u8bc6\u522b\u5c42\u3002\u5c06\u5de5\u5177\u53d1\u73b0\u7684Token\u6d88\u8017\u4ece35000\u964d\u81f31500\uff0c\u5e76\u8bad\u7ec3\u4e13\u95e8\u7684\u68c0\u7d22\u6a21\u578b\uff0c\u8fd9\u8bc1\u660e\u4e86\u56e2\u961f\u5bf9MCP\u534f\u8bae\u5728\u89c4\u6a21\u6269\u5c55\u65f6\u6027\u80fd\u74f6\u9888\u7684\u771f\u5b9e\u7406\u89e3\u3002\u503c\u5f97\u6ce8\u610f\u7684\u8fd8\u6709\u6545\u969c\u8f6c\u79fb\u8bbe\u8ba1\uff1a\u5b83\u4e0d\u4ec5\u505a\u88ab\u52a8\u8def\u7531\uff0c\u8fd8\u57fa\u4e8e\u5ef6\u8fdf\u548c\u9519\u8bef\u7387\u4e3b\u52a8\u5207\u6362\uff0c\u5e76\u4ee5\u8bed\u4e49\u5339\u914d\u4f18\u5148\u4e8e\u901f\u5ea6\uff0c\u8fd9\u4e2a\u7ec6\u8282\u5904\u7406\u8d85\u8d8a\u4e86\u591a\u6570\u805a\u5408\u5668\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u771f\u6b63\u7684\u4ef7\u503c\u9a8c\u8bc1\u8fd8\u5dee\u5173\u952e\u4e00\u9524\u3002\u5de5\u5177\u9009\u62e9\u7684\u9759\u9ed8\u9519\u8bef\u662f\u786c\u4f24\u2014\u2014\u5f53\u6a21\u578b\u9009\u9519\u7aef\u70b9\uff0c\u7528\u6237\u770b\u5230\u7684\u53ea\u662f\u9519\u8bef\u7ed3\u679c\uff0c\u5374\u65e0\u6cd5\u5f52\u56e0\u3002\u521b\u59cb\u4eba\u8bda\u5b9e\u5730\u627f\u8ba4\u8fd9\u4e00\u70b9\uff0c\u5e76\u627f\u8bfa\u5c06\u68c0\u7d22\u6392\u5e8f\u900f\u660e\u5316\uff0c\u8fd9\u662f\u51b3\u5b9a\u4ea7\u54c1\u80fd\u5426\u4ece\u201c\u73a9\u5177\u201d\u8d70\u5411\u201c\u5de5\u4f5c\u53f0\u201d\u7684\u5206\u6c34\u5cad\u3002\u5982\u679c\u7528\u6237\u65e0\u6cd5\u4fe1\u4efb\u4ee3\u7406\u7684\u201c\u773c\u775b\u201d\uff0c\u90a3\u4e48\u518d\u591a\u7aef\u70b9\u4e5f\u65e0\u610f\u4e49\u3002\u53e6\u5916\uff0c\u5b9a\u4ef7\u6a21\u578b\u548c\u793e\u4ea4\u6570\u636e\u5408\u89c4\u6027\u7684\u8ffd\u95ee\u5c1a\u672a\u5b8c\u5168\u89e3\u7b54\uff0c\u8fd9\u5728\u5b9e\u9645\u751f\u4ea7\u73af\u5883\u4e2d\u662f\u6f5c\u5728\u96f7\u533a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0cAgentKey\u8fd8\u4e0d\u662f\u6570\u636e\u641c\u7d22\u5f15\u64ce\uff0c\u800c\u662f\u6570\u636e\u7684\u524d\u7f6e\u8def\u7531\u5668\u3002\u5b83\u964d\u4f4e\u4e86\u95e8\u69db\uff0c\u4f46\u5c1a\u672a\u6d88\u9664\u98ce\u9669\u3002\u5bf9\u4e8e\u60f3\u8981\u5feb\u901f\u539f\u578b\u9a8c\u8bc1\u7684\u5f00\u53d1\u8005\uff0c\u5b83\u73b0\u5728\u662f\u6700\u597d\u7528\u7684\u5de5\u5177\u4e4b\u4e00\u3002\u5bf9\u4e8e\u9700\u8981\u6570\u636e\u53ef\u5ba1\u8ba1\u3001\u96f6\u5bb9\u9519\u7684\u751f\u4ea7\u7cfb\u7edf\uff0c\u5b83\u8fd8\u6709\u4e00\u6bb5\u8def\u8981\u8d70\u3002\u8fd9\u4e2a\u4ea7\u54c1\u6700\u806a\u660e\u7684\u4e0d\u662f\u6280\u672f\uff0c\u800c\u662f\u53d8\u73b0\u65b9\u5f0f\u2014\u2014\u5728\u6240\u6709\u4ee3\u7406\u90fd\u5728\u5bfb\u627e\u6570\u636e\u5165\u53e3\u65f6\uff0c\u5b83\u9009\u62e9\u6210\u4e3a\u90a3\u4e2a\u5165\u53e3\u7684\u6536\u94f6\u53f0\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\">AgentKey<\/span>\n                <\/div>\n<div class=\"comment-content\">AgentKey is a plugin that connects your agent to live external data in one command. Install it into Claude Code, Codex, OpenClaw, or any MCP-based agent and instantly unlock access to search, web pages, social platforms, finance, e-commerce, business and crypto data. No integrations. No setup. Auto failover keeps workflows running.<\/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&#8217;m Mogu, founder of Chainbase. Today I&#8217;m really happy to share the newest project out of our lab: AgentKey. It&#8217;s been in private beta for a while, and a few thousand people have been using it and helping us shape it along the way, so it finally feels ready to put in front of you here.<\/p>\n<p>Here&#8217;s the thing we kept coming back to. Agents have gotten genuinely good at doing tasks. What they don&#8217;t have is eyes. They can reason and act, but they can&#8217;t actually see the live internet, which is where almost all the useful tools and real-time data actually live. So you end up with a strange gap: an agent smart enough to do the work, sitting behind a window it can&#8217;t look through.<\/p>\n<p>And today, giving an agent those eyes is a chore. You wire up one API for search, another for scraping, another for social, another for market data. You babysit a pile of keys and bills, and you basically have to understand the plumbing before you can even start. Most people who&#8217;d benefit from this never get past that part.<\/p>\n<p>So we built AgentKey. You install it like a plugin, and your agent gets access to a whole marketplace of capabilities behind a single account. No juggling APIs, no keys to manage, no need to be technical. One account, one bill, and your agent suddenly gets a lot more powerful.<\/p>\n<p>Right now the marketplace is organized into a few tiers, and it keeps growing:<\/p>\n<p>&#8211; Everyday tools: search, web scraping, social media<br \/>\n&#8211; Professional data: finance, crypto, business data<br \/>\n&#8211; Life and travel: weather, maps, trip planning, and more<\/p>\n<p>It already plugs into 20+ of the agents people actually use, including Claude, Codex, Openclaw, WorkBuddy and Cursor. And because everything sits behind one marketplace, if a provider has a bad day your agent can fall back to another source and keep running.<\/p>\n<p>We really believe agents are about to bloom into a huge, messy, wonderful ecosystem. What excites me most is that people can finally hand their agents the real, complicated work, not just the basic stuff, and actually trust it to get done. That&#8217;s most of why we&#8217;re launching here. It&#8217;s free to start, no card needed. Please go try to break it and tell me what&#8217;s missing. I&#8217;ll be in the comments all day.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>16<\/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\/@yanshuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yanshuo<\/a>&nbsp;<\/p>\n<p>The abstraction layer here is what stands out to me. Instead of worrying about API management, authentication, and provider reliability, developers can focus on building better agents. That\u2019s a meaningful improvement to the AI development workflow. Great work by the team!<\/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\/@yanshuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yanshuo<\/a>&nbsp;This is really cool!<\/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>Makes sense \u2014 the pooled balance and QoS shaping clearly need the proxy server-side, and provenance staying in the transcript is exactly what keeps it auditable for me. Follow-up: is local mode with my own upstream keys on the roadmap at all, or is the server-side pool load-bearing enough that hosted-only is the long-term shape?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey the token math on tool discovery is honestly the most concrete detail in the whole pitch. Going from roughly 35,000 tokens to about 1,500 by training a retrieval layer instead of dumping every endpoint definition into context is a real architecture decision, not just a marketing line, and it&#8217;s the kind of problem that quietly breaks a lot of MCP integrations once they scale past a handful of tools for sure.<\/p>\n<p>But when the retrieval model picks the wrong endpoint for an ambiguous request, is that visible anywhere, or does a wrong pick just look like a silent bad result downstream?<\/p>\n<\/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\/@uddipta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uddipta<\/a>&nbsp;Silent wrong pick is exactly the failure mode that matters, so honest answer: the retrieval layer never executes anything on its own. It returns a shortlist of candidates with descriptions into the agent&#8217;s context, the agent picks one, pulls the full schema for that tool, then calls it. Ambiguity usually shows up as a weird shortlist in the transcript, not a hidden wrong hop, and the agent can just re query with better phrasing. The remaining gap is real though: if the agent picks a plausible but wrong candidate, that does land as a bad result downstream. Today you&#8217;d trace it through the console call log. Surfacing the retrieval ranking itself is on the list, this thread has basically been writing our observability roadmap for us.<\/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\/@uddipta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uddipta<\/a>&nbsp;Honest answer: right now a wrong pick mostly just looks like a normal result. Explicit errors are easy, the agent sees the failure and retries. Silent bad picks are the hard case and you put your finger on exactly where we&#8217;re weakest.<\/p>\n<\/p>\n<p>The way we think about it, discovery is a loop: find the tool, judge it, call it, then feed the outcome back so the next pick is better. We have the first three. The feedback part is where the real work is, and it&#8217;s barely started.<\/p>\n<p>The thing that makes it tractable is that we sit in the middle of every call, so we can actually measure this. Which endpoints get picked for which phrasings, where results get thrown away or re-queried, which providers quietly underperform on ambiguous requests. None of that is exposed yet and honestly our own dashboards are thin. But that&#8217;s the path: make the wrong picks visible in the data first, then drive the rate down.<\/p>\n<\/p>\n<p>Good question. Not many people get this far into it.<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@uddipta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uddipta<\/a>&nbsp;<strong>Interesting product! I&#8217;m also building in the productivity space with FocusQuest. I\u2019m a huge fan of exploring new ways to stay focused and fight digital addiction. Keep up the great work!<\/strong><\/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>Hey PH , I&#8217;m Cong, Founding engineer at Chainbase here. I&#8217;ve spent the past few months building AgentKey, a one-stop live data marketplace for your agent, and I want to share the three problems that took us the longest to get right.<\/p>\n<p>1. Tool discovery<\/p>\n<p>We sit on ~1,800 API endpoints. If you dump those into MCP as static tools, the agent burns ~35,000 tokens of context just loading the definitions, and it still picks the wrong tool half the time. So we built our own intent recognition layer: the agent describes what it wants in plain language, like &#8220;find trending sunscreen posts on reddit&#8221;, and a retrieval model we trained on our own catalog maps that straight to the right endpoint. Param schemas only load for the one tool it actually picks. The whole flow runs on about 1,500 tokens, and it stays that cheap no matter how many endpoints we add.<\/p>\n<p>2. Every agent wants to be integrated differently.<\/p>\n<p>Claude Code, Codex, WorkBuddy, Openclaw &#8230; we support 20+ of them and each has its own quirks. Our answer is a split architecture: a lightweight skill on your machine that auto-detects whatever agents you have and keeps itself updated, plus one standardized MCP server in our cloud that&#8217;s always current. You set it up once and never think about it again. New endpoints, fixes, upgrades all land on the server side, so there&#8217;s no local upgrade treadmill to babysit.<\/p>\n<p>3. Upstream APIs are flaky.<\/p>\n<p>Providers rate-limit, degrade, and sometimes just die. We do QoS-based traffic shaping and automatic failover between providers, so when one goes down the request quietly reroutes to a healthy one. Your agent gets an answer instead of a 503.<\/p>\n<p>I&#8217;m around all day, happy to answer anything about how this works under the hood.<\/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\/@lxcong\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lxcong<\/a>&nbsp;How does billing actually work when you&#8217;re pulling from 1,800 different providers with different pricing? Is it a flat markup, or does cost vary a lot depending on which data source gets used?<\/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 auto failover is quietly the best part. One of the search providers had a bad day last month and my research pipeline didn&#8217;t even notice.<\/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\/@shirley_mou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shirley_mou<\/a>&nbsp;&#8220;didn&#8217;t even notice&#8221; is exactly the bar we set for it. We track latency and error rates per provider and reroute before requests start failing, so if it&#8217;s working right there&#8217;s nothing to see. Glad it earned its keep quietly<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@shirley_mou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shirley_mou<\/a>&nbsp;Ha, we saw that one. A provider went down for a few hours, traffic just moved over. That&#8217;s exactly why we built it. Your agent shouldn&#8217;t stop working because someone else is having a bad day. Good to hear it did its job.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello PH community, I&#8217;m Luki, founding member at AgentKey, leading product partnerships. Mogu and Cong covered the why and how, so just my two cents from the partnerships side.<\/p>\n<\/p>\n<p>The biggest blocker I keep seeing is that nobody wants to spend weeks juggling multiple API signups, keys, and renewals just to launch one feature.<\/p>\n<\/p>\n<p>A few examples:<\/p>\n<ul>\n<li>\n<p>A travel AI team wanted to add flight and hotel pricing. The idea sat on the backlog because no one wanted to set up multiple data providers. With AgentKey, they had it working right away.<\/p>\n<\/li>\n<li>\n<p>A fintech startup needed live crypto and market data. They were able to testing with real data within a day, instead of spending weeks signing up for different vendors. <\/p>\n<\/li>\n<li>\n<p>A gaming studio was building NPC agents that needed both web search and social context. One integration gave them everything instead of stitching together several services.<\/p>\n<\/li>\n<\/ul>\n<p>That&#8217;s the part of AgentKey I&#8217;m most excited about. We help teams spend less time on account setup and vendor juggling, and more time building the product they actually want to ship.<\/p>\n<\/p>\n<p>I&#8217;ll be around in the comments today if anyone wants to chat about partnerships, integrations, or use cases \ud83d\ude42<\/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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Half my agent demos used to die live because one upstream API picked that moment to have an outage. Failover should be table stakes and somehow nobody else ships it.<\/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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;Yeah. When a tool breaks on you, you just go find another one. Agents never had that option. No way to discover what else is out there, no place to go looking. So they just die.<\/p>\n<p>That&#8217;s the gap we&#8217;re filling. Glad your demos survive now.<\/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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;Fair question why it&#8217;s rare. A single-provider API has nothing to fail over to, so the feature can only exist at the aggregator layer, and most aggregators stop at the billing part. The unglamorous half is aligning providers closely enough that a swap doesn&#8217;t change your output shape. That part ate way more time than the routing logic itself.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tried it yesterday with codex. From install to first live twitter search was maybe two minutes. That&#8217;s rare for anything involving third-party APIs.<\/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\">@s_cen Thanks Steven! Love hearing that. Getting from install to a live query in a couple of minutes is exactly what we were optimizing for. Hopefully the setup stays \u201dboring\u201d so you can spend your time building instead of configuring APIs \u263a\ufe0f<\/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\/@s_cen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@s_cen<\/a>&nbsp;With an LLM in the loop, two minutes means the network part barely showed up. It&#8217;s a standard remote MCP server under the hood, point and go, and it answers as a plain API too if codex ever isn&#8217;t your ride.<\/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 seems terrific, but I think the name falls short of the ecosystem potential, among other things because it does not really make immediately clear what the product does. If you just drop me the name, I&#8217;d say it&#8217;s some agent authentication thing.<\/p>\n<p>No intention to offend you guys or diminish the value of the work behind your product \ud83d\ude09<\/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\/@elias_iturri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elias_iturri<\/a>&nbsp;Appreciate the honest feedback, and no offense taken at all. \ud83d\ude42 We actually went through a lot of naming discussions internally. Our thinking was that &#8220;Key&#8221; represents unlocking a whole marketplace of capabilities with a single integration, but you&#8217;re right that it doesn&#8217;t immediately convey that on first impression. We&#8217;ll definitely keep listening as we evolve the product and the messaging.<\/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 social media data tier is the part I&#8217;d want more detail on &#8211; scraping platforms like X or LinkedIn directly usually runs into their ToS, and enforcement can hit the scraper&#8217;s IP\/account rather than the end user. when AgentKey serves social data, who&#8217;s actually taking on that platform-side risk, is it abstracted away by using official APIs where available, or is it scraping under the hood and you&#8217;re the one absorbing the ban 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;We don&#8217;t scrape under the hood. Social data comes from established vendors, some official APIs, some their own infrastructure, and managing that platform relationship is their core business. What we control is the user side, read-only access, no account linking, no credentials. Upstream enforcement lands upstream, not on you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Hi Gal, Thank you for your question. AgentKey is basically the capability marketplace for agents, handling tool discovery, execution, and payments. The truth is, users could already use other vendors to get this data. However, for ordinary users who aren&#8217;t developers, this is very difficult. That&#8217;s why we want to solve the problems most people encounter. These services are provided by professional Data Provider, RapidAPI and other devs, so there&#8217;s no safety risk. And just so you know, the data APIs they offer just pull from the public web, not private stuff. Hope that helps!<\/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>the interesting part isn&#8217;t any single integration, it&#8217;s that the agent gets a whole catalog. my research assistant went from &#8220;answers from training data&#8221; to &#8220;checked five live sources&#8221; with zero code from me.<\/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\/@kryptaria\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kryptaria<\/a>&nbsp;Once access stops being a project, the agent starts checking things you never asked it to check. We noticed the same shift dogfooding it ourselves, questions come back with receipts now<\/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\/@kryptaria\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kryptaria<\/a>&nbsp;Well said. We found that once the friction of accessing live data disappears, agents become much more &#8220;curious&#8221;. They stop relying mainly on what they already know and start checking multiple sources by default \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kryptaria\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kryptaria<\/a>&nbsp;I totally agree! That&#8217;s exactly why I love using it too. My AI agent is now crushing research tasks way better than ever before. Since it pulls from real-time, reliable data, the LLM hallucination rate has dropped significantly. So glad you discovered it too ^^<\/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>For research workflows, having FRED + finnhub + yahoo finance next to social sentiment behind the same key is a sneaky-good combo. Macro context and market chatter in one loop.<\/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\/@parsons_wu_real\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@parsons_wu_real<\/a>&nbsp;team favorite combo honestly. The fun part is the cross-category stuff, like ecommerce listings plus social chatter for product picking,  what&#8217;s getting hyped versus what&#8217;s actually selling. Most of the good pairings are probably still undiscovered. Weirder combos welcome<\/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>honestly the auto failover part sounds super useful, would be great if there was a way to see which data source it switched to and why, like a quick log or notification. that way its easier to trust the results when something jumps from one provider to another.<\/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\/@demet44834\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@demet44834<\/a>&nbsp;Good call, and framing it as a trust thing is exactly right. Two pieces exist today, the console keeps a full log of every api call, and when a provider is having issues we flag it on the agentkey store page. What&#8217;s missing is the part you&#8217;re describing, a marker on the call itself saying it got rerouted and why. That&#8217;s a genuinely good suggestion, adding it to the list.<\/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\/@demet44834\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@demet44834<\/a>&nbsp;Love this suggestion. The failover is one of those features you don&#8217;t appreciate until something breaks. Seeing a small note like &#8220;rerouted from X due to timeout&#8221; would be great for transparency without getting in the way! Thank you Demet!<\/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>Been using this in claude code for a couple weeks. The thing I didn&#8217;t expect is how much it changes what I ask my agent to do. I stopped thinking &#8220;can it even access that&#8221; and just ask.<\/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\/@fei_li5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fei_li5<\/a>&nbsp;Thank you Eric! That&#8217;s the line we&#8217;ve been trying to articulate for months and you just wrote it for us.<\/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! The &#8220;one command, no integrations&#8221; angle is the part that stands out \u2014 connecting live data usually means wrangling a dozen MCP configs and babysitting them when one goes down. Curious how the auto failover picks its fallback source: is it latency-based, or does it rank by data freshness? Either way, this looks like a real time-saver for anyone building agents that touch the open web. \ud83d\ude80<\/p>\n<\/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\">@kelly_king3 Thanks Kelly! It&#8217;s actually two layers. We rank by relevance to the request first, then by live provider health (latency, error rates, availability) among equivalent providers. That way the best semantic match is chosen, but unhealthy providers automatically move down the list instead of becoming a bottleneck.<\/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\/@kelly_king3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kelly_king3<\/a>&nbsp;Closer to the first, but latency is only half of it. Fallback candidates rank on two keys: how well a source matches what the agent actually asked for comes first, then live health stats, which is where latency and error rates live. So the replacement is the best-fitting healthy source, not just the fastest one. Freshness we treat as a property of the data type rather than a ranking signal, a price feed and a search index just run on different clocks. And the babysitting a dozen configs life you&#8217;re describing was the exact thing we set out to retire.<\/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>@lxcong ok that&#8217;s the part I was missing &#8211; the explicit failure + re-fetch-schema-on-retry step. that&#8217;s a smarter design than I gave it credit for, avoids the &#8220;silent swap&#8221; problem entirely instead of just handling it gracefully. makes sense why you&#8217;d avoid a universal schema too, that abstraction always leaks eventually.<\/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\">@omri_ben_shoham1 Exactly. We\u2019d rather make the failure and retry explicit than hide a provider swap behind a universal schema and risk subtle mismatches downstream. Glad the design clicked, and thanks for digging into the details with us \u2764\ufe0f<\/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 a useful direction. Live external data is still one of the biggest gaps for agents, especially when workflows break because one source or integration fails.<\/p>\n<p>Curious how you handle source quality and freshness across different data types like search, finance, social, and e-commerce.<\/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\/@vahid_davoudi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vahid_davoudi<\/a>&nbsp;Thanks for the question, Vahid! Different data types have different notions of &#8220;quality,&#8221; so we don&#8217;t pretend one provider is best for everything. We continuously monitor provider health and route based on both query relevance and backend performance. If a provider starts degrading, it naturally moves down the ranking or gets replaced. Our goal is to make sure agents can consistently access the best available live source through a single interface \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vahid_davoudi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vahid_davoudi<\/a>&nbsp;Quality gets two gates: vetting before a provider enters the catalog, live health stats while it&#8217;s in rotation. Degrading sources sink by themselves. Freshness we pass through as is, calls hit the source live, and each data type has its own ceiling, prices in seconds, search as fresh as the crawl, social bound by what providers can access. One uniform freshness promise across all four would be marketing, not engineering.<\/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;No integrations, no setup&#8221; is the dream for anyone who&#8217;s wired up 6 APIs by hand. The question I&#8217;d have as a builder: when a source changes or rate-limits, the auto-failover keeps the workflow running \u2014 but does the agent know it fell back to a different source, or does data quality silently shift underneath it? For anything touching finance\/crypto that provenance matters a lot. Curious how you surface which source actually answered.<\/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\">@david_marko Great question, David! We agree that provenance matters, especially for finance and crypto. That&#8217;s why we don&#8217;t silently swap data sources underneath the agent. The agent knows which provider served the request, the provider is recorded in the transcript and console log, and we&#8217;re working on adding explicit per-call fallback indicators so it&#8217;s even easier to audit \u263a\ufe0f<\/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\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a>&nbsp;The agent knows, because it did the falling back itself. A dying source surfaces as an explicit failure, the agent gets same capability candidates and calls a different named tool. And that&#8217;s also the answer to your last question: tools are named provider first, so which source answered is literally in the name of the call sitting in the transcript. For finance and crypto that&#8217;s the property you actually want, provenance baked into the call rather than bolted on as metadata. Console logs keep the full trail, and a first class fallback marker for consumers downstream of the agent is the piece still on the 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The auto failover detail is what catches my attention most here. keeping agent workflows from silently dying when one provider 403s or rate limits is the part that&#8217;s actually painful to build yourself. <\/p>\n<p>Nice to see that addressed upfront.<br \/>keep going <a href=\"https:\/\/www.producthunt.com\/@yanshuo\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yanshuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yanshuo<\/a> <\/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\/@mohammed_messeguem\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohammed_messeguem<\/a>&nbsp;The silent death part is what got us too, a 403 at step three of a twelve step workflow is its own special genre of debugging misery. If you want the gory details, someone in this thread grilled us on the exact failover behavior, candidate ranking included. Worth a scroll, it got pleasantly nerdy.<\/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\">Congrats Mogu! I run agents on Claude Code daily and the key-juggling problem is real, half my setup time is auth, not logic. My question is about runaway spend: agents loop, and a scraping loop could eat a month of credits in an afternoon. Can I set a per-task or per-agent credit cap so one bad prompt doesn\u2019t drain the balance? That guardrail would make this an easy yes for me.<\/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\/@ridhwikvinod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ridhwikvinod<\/a>&nbsp;The runaway loop fear is earned, agents will absolutely do that to you. Two layers to the honest answer. Structurally you&#8217;re prepaid, so a loop can at worst burn the credits you&#8217;ve loaded, that&#8217;s the ceiling, there&#8217;s no card quietly getting drained behind it. But no, per task or per agent caps aren&#8217;t a first class feature yet. You&#8217;re not the first to ask this week and the ask is completely fair, it&#8217;s on the list. Free tier needs no card if you want to kick the tires meanwhile, and I&#8217;m happy to ping you here when caps land.<\/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\/@ridhwikvinod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ridhwikvinod<\/a>&nbsp;Thank you Ridhwik! Setting up different custom limits is a medium-to-high priority for us over the next month, and we hope to roll that out soon! But as Cong mentioned, we\u2019ve already put some guardrails in place. It\u2019s not absolutely perfect yet, but it\u2019s more than enough to prevent most infinite loops and surprise bills.<\/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>It&#8217;s useful. How does auto-failover decide which source to switch to when one goes down?<\/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\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;Two things under the hood. We run automated health checks on every provider continuously, so degradation gets spotted on our side, not by your failing requests. And when a specific call does fail, the backend finds other providers with the same capability and hands back a candidate set, so the retry goes to a working equivalent that the caller chose, not a dead end.<\/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\">@dhiraj_patel5 Great question. We continuously monitor provider health based on latency, error rates, and availability. When a provider starts degrading or goes down, requests are automatically rerouted to another healthy provider with the same capability. The goal is that your agent keeps working without you having to think about it.<\/p>\n<p> For transparency, each response also includes which provider actually served the request and the per-call cost.<\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Installing into Claude Code with one command is the right call \u2014 most MCP setups still die in config. Does failover switch sources silently, or does the agent get told the data came from a different provider?<\/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\/@wanarsan_thongklin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wanarsan_thongklin<\/a>&nbsp;The agent does get told. Each response includes which provider actually served it, along with the per-call cost, so nothing is hidden from the calling side. The failover decision itself is automatic, but the receipt is right there in the payload.<\/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\/@wanarsan_thongklin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wanarsan_thongklin<\/a>&nbsp;MCPs are incredibly powerful, but we kept seeing people spend more time configuring them than actually using them. We wanted AgentKey to be something you could install and start using with in minutes, not hours \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>Every cool MCP server I found wanted its own key from a service with its own signup and its own minimum spend. The unbundling was exhausting. Glad someone rebundled it.<\/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\/@tammytan516\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tammytan516<\/a>&nbsp;The signups and billing were the easy part to rebundle. The rest is where it gets fun: same-type providers are interchangeable so failover is automatic, the integrations are ours to maintain instead of yours, and an intent layer picks the right tool so your agent isn&#8217;t guessing across the whole catalog. You see one bill, your agent sees one catalog.<\/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 once spent a whole weekend wiring reddit + serp + a scraping vendor into one agent, then the scraper changed its auth flow and broke everything. This is the product I wished existed that weekend.<\/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\/@cruise_chen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cruise_chen<\/a>&nbsp;The auth flow change three months later is the part nobody warns you about. Making that our problem instead of yours is basically the whole product. Hope the agent survived<\/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>Super convenient and easy to use! It would be perfect if they kept the points top-up option<\/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\/@qq0018\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qq0018<\/a>&nbsp;thansk, it&#8217;s still around! Check the billing page, there&#8217;s an &#8220;Extra Credits&#8221; section with a top up button (needs Lite plan or above). If you&#8217;re on Lite and still not seeing it, ping me<\/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>Amazing product. Congrats on this launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Any plans for a BYOK option? We already pay for a couple of these providers directly and it&#8217;d be nice to route through the same interface.<\/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 there a spend cap I can set per key? Slightly nervous about an agent getting stuck in a loop and burning credits overnight.<\/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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Not yet, honestly. And it&#8217;s a good enough idea that it&#8217;s going straight on the list. An agent looping through credits overnight is exactly the failure mode we should have a guardrail 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The marketplace framing is what I keep coming back to here. I build in the marketplace space myself, and the hard part is never listing supply, it&#8217;s trust: when an agent pulls live data from a seller I&#8217;ve never vetted, how does AgentKey handle a source that&#8217;s stale or quietly wrong? Ratings after the fact don&#8217;t help an agent that already acted on bad data. Curious whether there&#8217;s any freshness or accuracy guarantee baked in before the sale, or if it&#8217;s caveat-emptor and the agent has to sanity-check.<\/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\">@chielephant Amazing question! Trust is probably the hardest part of building a marketplace. Today we&#8217;re starting with a curated set of providers rather than an open marketplace, so every provider is vetted before it&#8217;s added. During execution, we continuously monitor provider health (latency, error rates, availability), and if one degrades it naturally falls down the ranking or out of rotation. What we don&#8217;t claim today is a universal &#8220;accuracy guarantee&#8221; across every data source; that&#8217;s still something the agent should reason about. <\/p>\n<p>But over time, we want to use the feedback we see across millions of calls to surface quality signals, not just uptime \u263a\ufe0f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chielephant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chielephant<\/a>&nbsp;You&#8217;ve put your finger on the reason the marketplace isn&#8217;t open yet. Today every source in the catalog got there through us: providers are vetted before they&#8217;re listed, so there&#8217;s no seller in there we haven&#8217;t looked at. That covers entry. In rotation, health stats catch the operational failures, a source that starts erroring or lagging sinks in ranking on its own. What I won&#8217;t claim is an accuracy guarantee on the values themselves. Quietly wrong is the hardest failure in this business, and anyone selling a guarantee against it is being optimistic. The practical ex ante defense is corroboration: with equivalents sitting behind the same key at per call prices, having the agent read a second source for anything high stakes is cheap, and that&#8217;s what careful builders here already do. Opening self serve supply before that trust layer is productized would be doing it backwards, which is why curation comes first.<\/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>Super cool! Is it flexible enough to bring in data from specific sources that I already have access to for eg. as a student I used to have access to pitchbook but couldn&#8217;t use it in the context of an agent because of integration limitations even if I have a 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@margharitha Good question \ud83d\ude42 Today, AgentKey works through the AgentKey marketplace rather than plugging into your existing subscriptions like PitchBook. The value comes from managing the provider pool end-to-end, which enables things like health monitoring, QoS routing, and automatic failover. If you already have access to a proprietary data source, the recommended setup today is to run that integration alongside AgentKey in the same agent. We&#8217;ve also had several people ask about bringing their own provider keys, and it&#8217;s something we&#8217;re actively exploring for the future.<\/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;Not today. The frustration is legit though, you pay for access and the subscription assumes a human reader. Public pages the catalog&#8217;s scraping tools can cover, but a login gated licensed database wants an official integration rather than a workaround. That&#8217;s where the marketplace direction points: sources like that onboarded through their own channels, agent ready.<\/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 interesting approach. One question: if I already have my own API keys for some providers, can I use those with AgentKey, or does everything go through the AgentKey account?<\/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\/@nayan_joshi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nayan_joshi<\/a>&nbsp;Honestly, we hadn&#8217;t thought about that yet, but that&#8217;s a brilliant point! We might actually support this down the road. maybe letting you plug in your own keys in the dashboard, or even just telling the Agent via natural language. That way, you wouldn&#8217;t be billed for using your own keys. Appreciate the feedback!<\/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\/@nayan_joshi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nayan_joshi<\/a>&nbsp;All through the agentkey account today, and honestly that may stay the answer. The value is in the pool being managed end to end: health stats, QoS shaping and failover only work on keys we operate. Your existing keys don&#8217;t go to waste though. They can sit right next to AgentKey in the same agent, direct connections for the providers you&#8217;ve already invested in, us for everything else.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/HKIHHJU6AQMF3A\" class=\"app-title\">AI Media Buyer By Creatify<\/a><\/p>\n<div class=\"one-liner\">Your ads, managed by AI that gets smarter daily.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">328<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AI Media Buyer\u901a\u8fc7\u8fde\u63a5Meta\u3001Google\u3001TikTok\u7b49\u5e7f\u544a\u8d26\u6237\uff0c\u81ea\u52a8\u5ba1\u8ba1\u5e7f\u544a\u82b1\u8d39\u3001\u8bc6\u522b\u6d6a\u8d39\u70b9\u3001\u751f\u6210\u65b0\u521b\u610f\u5e76\u6267\u884c\u4f18\u5316\uff0c\u8ba9\u5e7f\u544a\u6295\u624b\u544a\u522b\u591a\u5e73\u53f0\u624b\u52a8\u64cd\u4f5c\u548c\u6570\u636e\u731c\u8c1c\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\/3e695350-2739-4170-913a-3d4d319e0c49.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\/5643f5c6-8d8b-4d1b-886f-98f2149cdf97.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\/9168ae78-15fd-49e7-b48a-6b3ba9068efa.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\/5a93e1f6-9b52-46bc-aaa0-dab4bc93d4b5.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\/d1eca7dc-1600-4dca-a078-069eb90b1fae.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\/c1c954e1-dc4f-4152-bc22-86b01ca08b04.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/sED0oPTMI-s?si=rNSxmOIE8QK4ruby\"><source src=\"https:\/\/youtu.be\/sED0oPTMI-s?si=rNSxmOIE8QK4ruby\" 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\">Social Media<\/span><br \/>\n            <span class=\"tag\">Marketing<\/span><br \/>\n            <span class=\"tag\">Advertising<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5e7f\u544a\u6295\u653e\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5e7f\u544a\u8d26\u6237\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u81ea\u52a8\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0\u5e7f\u544a\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u4ed8\u8d39\u6295\u653e\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5e7f\u544aROI\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9a71\u52a8\u51b3\u7b56<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u5e7f\u544a\u9884\u7b97\u7ba1\u7406<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u5fc3\uff1a\u81ea\u52a8\u5316\u662f\u5426\u80fd\u9650\u5236\u9884\u7b97\u548c\u521b\u610f\u6d4b\u8bd5\u8303\u56f4\uff0c\u4ee5\u514d\u201c\u70e7\u94b1\u201d\uff1b\u5e73\u53f0\u5f52\u56e0\u6570\u636e\u4e0e\u771f\u5b9e\u6536\u5165\uff08\u5982Stripe\/CRM\uff09\u4e0d\u5339\u914d\u95ee\u9898\uff1b\u521b\u610f\u5728Meta\u4e0eTikTok\u95f4\u7684\u683c\u5f0f\u81ea\u9002\u5e94\uff1b\u5c0f\u8d26\u6237\u662f\u5426\u9002\u7528\uff1b\u662f\u5426\u652f\u6301\u591a\u5ba2\u6237\u8d26\u6237\u9694\u79bb\uff1b\u4ee5\u53ca\u7cfb\u7edf\u5982\u4f55\u5224\u5b9a\u201c\u80dc\u51fa\u7d20\u6750\u201d\u518d\u653e\u91cf\u3002\u521b\u59cb\u4eba\u548c\u56e2\u961f\u56de\u5e94\uff1a\u4e0d\u81ea\u52a8\u6267\u884c\u82b1\u8d39\uff0c\u9700\u7528\u6237\u5ba1\u6279\uff1b\u6253\u901aStripe\/CRM\u6570\u636e\u6821\u6b63\uff1b\u521b\u610f\u6309\u5e73\u53f0\u8c03\u6574\u683c\u5f0f\uff1b\u652f\u6301\u5c0f\u8d26\u6237\uff1b\u8d26\u6237\u6570\u636e\u9694\u79bb\uff1b\u80dc\u8d1f\u5224\u5b9a\u4ee5\u771f\u5b9e\u6536\u5165\u4fe1\u53f7\u4e3a\u51c6\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                Creatify\u7684AI Media Buyer\u662f\u4e00\u4e2a\u5178\u578b\u7684\u201c\u6280\u672f\u7f1d\u5408\u602a\u201d\u5347\u7ea7\u7248\uff0c\u5b83\u7684\u806a\u660e\u4e4b\u5904\u4e0d\u5728\u4e8e\u53d1\u660e\u4e86\u65b0\u7684AI\u80fd\u529b\uff0c\u800c\u5728\u4e8e\u7cbe\u51c6\u5207\u5165\u4e86\u6570\u5b57\u5e7f\u544a\u884c\u4e1a\u6700\u75db\u7684\u201c\u5206\u6790-\u6267\u884c\u201d\u65ad\u88c2\u5e26\u3002\n            <\/p>\n<p class=\"ai-content\">\n                **\u4ef7\u503c\u5728\u4e8e\u95ed\u73af\uff0c\u800c\u975e\u667a\u80fd\u3002** \u5e02\u9762\u4e0a\u5df2\u6709\u5927\u91cfAI\u5e7f\u544a\u5206\u6790\u5de5\u5177\uff08\u5982\u62ab\u9732\u201c\u54ea\u91cc\u82b1\u94b1\u591a\u201d\uff09\uff0c\u4e5f\u6709\u521b\u610f\u751f\u6210\u5de5\u5177\uff08\u5982\u81ea\u52a8\u505a\u89c6\u9891\uff09\u3002\u4f46\u8fd9\u4e24\u4e2a\u73af\u8282\u4e00\u76f4\u662f\u5206\u79bb\u7684\uff1a\u6295\u624b\u770b\u5b8c\u5206\u6790\u62a5\u544a\uff0c\u8fd8\u8981\u624b\u52a8\u53bb\u521b\u4f5c\u5de5\u5177\u91cc\u8c03\u7d20\u6750\u3001\u518d\u56de\u5e7f\u544a\u5e73\u53f0\u6392\u961f\u4e0a\u7ebf\u3002Creatify\u5c06\u201c\u5ba1\u8ba1\u2192\u8bc6\u522b\u2192\u751f\u6210\u2192\u6295\u653e\u201d\u8fde\u6210\u4e00\u6761\u81ea\u52a8Pipeline\uff0c\u5e76\u8ba9AI\u901a\u8fc7Chat\u4ea4\u4e92\u63d0\u793a\u6267\u884c\uff0c\u8fd9\u624d\u662f\u5b83\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u2014\u2014\u7701\u53bb\u4e86\u4eba\u7c7b\u5728\u591a\u4e2a\u5de5\u5177\u95f4\u201c\u642c\u8fd0\u201d\u7684\u73af\u8282\u3002\u6b63\u5982\u8bc4\u8bba\u4e2d\u7528\u6237\u6240\u8bf4\uff0c\u201c\u95ed\u73af\u201d\u662f\u6700\u5927\u7684\u6e38\u620f\u89c4\u5219\u6539\u53d8\u8005\u3002\n            <\/p>\n<p class=\"ai-content\">\n                **\u8b66\u60d5\u201c\u4ee3\u7406\u5e7b\u89c9\u201d\u4e0e\u4fe1\u4efb\u95e8\u69db\u3002** \u4ea7\u54c1\u7684\u5f31\u9879\u5728\u4e8e\uff0c\u5b83\u628a\u5ba1\u8ba1\u6743\u548c\u5efa\u8bae\u6743\u4ea4\u7ed9\u4e86AI\uff0c\u5374\u628a\u6267\u884c\u6743\u548c\u8d23\u4efb\u538b\u5728\u7528\u6237\u8eab\u4e0a\u3002\u521b\u59cb\u56e2\u961f\u5f3a\u8c03\u201c\u6240\u6709\u52a8\u4f5c\u9700\u5ba1\u6279\u201d\uff0c\u672c\u8d28\u4e0a\u662f\u627f\u8ba4AI\u76ee\u524d\u65e0\u6cd5\u627f\u53d7\u201c\u81ea\u4e3b\u82b1\u9519\u94b1\u201d\u7684\u540e\u679c\u3002\u8fd9\u51b3\u5b9a\u4e86\u5b83\u4e0d\u662f\u4e00\u4e2a\u201c\u81ea\u52a8\u5316\u4ee3\u7406\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u201c\u9ad8\u7ea7\u667a\u80fd\u526f\u9a7e\u201d\u3002\u867d\u7136\u8fd9\u964d\u4f4e\u4e86\u521d\u671f\u98ce\u9669\uff0c\u4f46\u4e5f\u9650\u5236\u4e86\u5176\u589e\u503c\u7a7a\u95f4\u2014\u2014\u5982\u679c\u6295\u624b\u6bcf\u9879\u64cd\u4f5c\u4ecd\u8981\u624b\u52a8\u786e\u8ba4\uff0c\u90a3\u6548\u7387\u63d0\u5347\u7684\u8fb9\u9645\u6548\u76ca\u4f1a\u9012\u51cf\u3002\u771f\u6b63\u7684\u6311\u6218\u662f\uff0c\u5f53AI\u8fde\u7eed\u63a8\u8350\u6b63\u786e10\u6b21\u540e\uff0c\u7528\u6237\u662f\u5426\u6562\u4e8e\u653e\u5f00\u201c\u65e0\u5ba1\u6279\u201d\u6a21\u5f0f\uff1f\u8fd9\u53d6\u51b3\u4e8e\u521b\u610f\u751f\u6210\u4e0e\u9884\u7b97\u8c03\u5ea6\u7684\u53ef\u9760\u6027\uff0c\u4ee5\u53ca\u5e73\u53f0\u65b9\uff08Meta\/TikTok\uff09API\u7684\u6ce2\u52a8\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                **\u6570\u636e\u6574\u5408\u662f\u9762\u7167\u5996\u955c\u3002** \u4ea7\u54c1\u652f\u6301\u63a5\u5165Stripe\/CRM\u662f\u795e\u6765\u4e4b\u7b14\u3002\u7edd\u5927\u591a\u6570\u5e7f\u544a\u4e3b\u82e6\u4e8e\u201cMeta\u5f52\u56e0\u6f02\u4eae\u4f46\u6536\u5165\u4e0d\u5339\u914d\u201d\uff0cCreatify\u7528\u652f\u4ed8\u7aef\u771f\u5b9e\u6570\u636e\u6821\u6b63\u5e7f\u544a\u51b3\u7b56\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u505a\u201c\u53cd\u6b3a\u8bc8\u201d\u548c\u201c\u5f52\u56e0\u6e05\u6d17\u201d\u3002\u8fd9\u9879\u80fd\u529b\u8fdc\u6bd4\u8ba9AI\u770b\u5e7f\u544a\u9762\u677f\u62a5\u8868\u66f4\u6709\u5546\u4e1a\u4ef7\u503c\uff0c\u4e5f\u662f\u5b83\u80fd\u5728\u4e89\u8bae\u4e2d\u5efa\u7acb\u4fe1\u4efb\u7684\u57fa\u77f3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                **\u81f4\u547d\u7684\u76f2\u533a\uff1a\u89c4\u6a21\u4e0e\u4e2a\u6027\u5316\u7684\u77db\u76fe\u3002** \u76ee\u524d\u4ea7\u54c1\u903b\u8f91\u4f9d\u8d56\u5386\u53f2\u8868\u73b0\u6570\u636e\u201c\u8d62\u5bb6\u518d\u751f\u201d\uff0c\u8fd9\u5929\u7136\u504f\u5411\u4fdd\u5b88\u2014\u2014\u53ea\u4f18\u5316\u5df2\u88ab\u9a8c\u8bc1\u7684\u6a21\u5f0f\uff0c\u96be\u4ee5\u63a2\u7d22\u7a81\u7834\u6027\u7684\u521b\u610f\u65b9\u5411\u3002\u5bf9\u4e8e\u5927\u9884\u7b97\u3001\u8ffd\u6c42\u7206\u6b3e\u7684\u54c1\u724c\uff0c\u8fd9\u79cd\u8fed\u4ee3\u53ef\u80fd\u6ca6\u4e3a\u201c\u5185\u5377\u4f18\u5316\u201d\u3002\u540c\u65f6\uff0c\u8de8\u5e73\u53f0\u7b56\u7565\uff08\u5982Meta\u7684\u5f3a\u793e\u4ea4\u63a8\u8350 vs TikTok\u7684\u5f3a\u7b97\u6cd5\u63a8\u6d41\uff09\u5982\u4f55\u901a\u8fc7\u4e00\u4e2aAgent\u7edf\u4e00\u5b66\u4e60\uff0c\u903b\u8f91\u4e0a\u5b58\u5728\u51b2\u7a81\uff0c\u7528\u6237\u7684\u8d28\u7591\u201c\u8d62\u5bb6\u7d20\u6750\u5728TikTok\u5931\u6548\u201d\u6b63\u662f\u5bf9\u6b64\u7684\u9a8c\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7ed3\u8bba\uff1a\u8fd9\u662f\u4e2a\u65b9\u5411\u6b63\u786e\u3001\u6267\u884c\u624e\u5b9e\u4f46\u5c1a\u9700\u7cbe\u8fdb\u7684\u4ea7\u54c1\u3002\u5b83\u6700\u9002\u5408\u201c\u4e2d\u7b49\u9884\u7b97\u3001\u591a\u5e73\u53f0\u3001\u4eba\u5c11\u6d3b\u591a\u201d\u7684\u6210\u957f\u578b\u56e2\u961f\u4f5c\u4e3a\u6548\u7387\u5de5\u5177\uff0c\u4f46\u8ddd\u79bb\u201c\u8ba9AI\u5b8c\u5168\u63a5\u7ba1\u5e7f\u544a\u9884\u7b97\u201d\u7684\u68a6\u60f3\uff0c\u81f3\u5c11\u8fd8\u5dee\u4e00\u6b21\u201c\u81ea\u4e3b\u72af\u9519\u6743\u201d\u7684\u8fdb\u5316\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 Media Buyer By Creatify<\/span>\n                <\/div>\n<div class=\"comment-content\">Every media buyer knows the ritual: five dashboards, three hours of reports, still guessing what to do next. Creatify AI Media Buyer connects to your Meta, Google, AppLovin and TikTok ad accounts and does what a human buyer does audits campaigns, finds spend that&#8217;s quietly bleeding, spots what&#8217;s scaling, and acts on it. It generates new creatives from your actual winners and launches them, all through chat. And it remembers your account history, so its recommendations compound over time.<\/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 Yinan, founder of Creatify.<\/p>\n<\/p>\n<p>Quick backstory: we&#8217;ve spent 3 years building Creatify. Started with URL to video, then avatars, Ad Clone, and a full creative agent. 3M+ users have used the platform.<\/p>\n<\/p>\n<p>But one thing kept bothering me. Our users would make great ads, launch them, then go back to staring at dashboards for hours trying to figure out what was working. The creative side was solved. The media buying side was still manual, scattered, and slow.<\/p>\n<\/p>\n<p>So we built AI Media Buyer an agent that plugs into your ad accounts and actually does the work.<\/p>\n<p>How it runs:<\/p>\n<ol>\n<li>\n<p>Connects to your Meta, Google, and TikTok accounts (OpenAI ad accounts too now \ud83e\udd2b). Reads every campaign, finds what&#8217;s scaling and what&#8217;s quietly bleeding spend.<\/p>\n<\/li>\n<li>\n<p>It doesn&#8217;t just alert you. It acts recommends what to cut, what to scale, and can generate new creatives from your winners and launch them in one loop.<\/p>\n<\/li>\n<li>\n<p>It remembers your account and past conversations. Recommendations compound the more you use it.<\/p>\n<\/li>\n<li>\n<p>Cross-references your ad data with Stripe and CRM, so you see real numbers, not just Meta&#8217;s attribution.<\/p>\n<\/li>\n<\/ol>\n<p>The part I&#8217;m most proud of: this is the only AI media buyer with a built in creative engine. Most tools stop at &#8220;here&#8217;s what happened.&#8221; Ours finds a winning hook, makes variations, and launches them. No other tool does that.<\/p>\n<\/p>\n<p>One early user found a campaign they&#8217;d paused was actually producing their highest-value buyers Meta was undercounting it. The agent caught it.<\/p>\n<\/p>\n<p>I&#8217;ll be in the comments all day. What&#8217;s the most painful part of managing your ad accounts right now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>18<\/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\/@nyn531\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nyn531<\/a>&nbsp;What always burns me when I hand paid spend to an automated system is the learning phase, where it quietly torches budget figuring out what converts. Can I cap daily spend and lock which creatives it&#8217;s allowed to test, or does it need free rein to get smart? Curious how much manual override you left in for the operator.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@nyn531  The creative + media buying loop in one agent is a game changer. Closing the gap between analysis and execution is huge.<\/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\/@nyn531\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nyn531<\/a>&nbsp;Impressive launch! \ud83d\ude80 AI Media Buyer solves a real pain point by connecting creative performance with actual ad optimization and revenue data. The ability to analyze, scale winners, and launch new creatives automatically is a huge time saver for marketers. Congrats on the release! \ud83d\udc4f<\/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>Hey PH \ud83d\udc4b Chaz here, CTO\/co-founder at Creatify.<\/p>\n<\/p>\n<p>Wiring an LLM to ad APIs over MCP is a weekend project now. Making the agent <em>good<\/em> is the hard part, and that&#8217;s where the work went. <\/p>\n<\/p>\n<p>Three things that ate my time: getting it to genuinely understand account structure \u2014 hierarchies, budget inheritance, what each knob actually does, because get that wrong and every downstream call is confident nonsense; wiring it into our creative agent so the loop actually closes (spotting a dead creative is easy, being able to regenerate it in the same system is the part most tools can&#8217;t do); and getting it to shut up, so it hands you the call and the reason instead of six paragraphs.<\/p>\n<\/p>\n<p>If you&#8217;ve burned real budget on ads, come try to break it. Most interested in where it misreads an account. \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chaz_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chaz_<\/a>&nbsp;<strong>Interesting product! I&#8217;m also building in the productivity space with FocusQuest. I\u2019m a huge fan of exploring new ways to stay focused and fight digital addiction. Keep up the great work!<\/strong><\/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>curious what happens when a winning hook on meta just flops on ticktok, does the creative engine adjust format or just reuse it as is&#8221;<\/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\/@wyatt_cameron\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wyatt_cameron<\/a>&nbsp;Good question. The agent treats them as separate signals a hook winning on Meta doesn&#8217;t get blindly pushed to TikTok, since it&#8217;s reading performance per platform. When it generates variations from a winner, [VERIFY: it adapts format\/style for the target platform aspect ratio, pacing, hook style] rather than reusing the exact asset. And if the TikTok version flops, that&#8217;s data too it&#8217;ll flag it the same way it catches anything bleeding spend, and iterate from what TikTok is actually responding to.<\/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 superb launch! Curious how it decides something is actually a winner before it scales budget into it. What window and what signal does the agent trust before it commits spend?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;Thanks Art Stavenka \ud83d\ude4f Two parts: it doesn&#8217;t trust platform numbers alone, winners get verified against what actually hit Stripe\/CRM, since Meta&#8217;s 7-day click and real revenue often disagree. And it never commits spend on its own it shows the signal and reasoning, recommends the scale, you approve. The trust call stays with you, not a buried threshold.<\/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>how does this handle attribution windows? meta&#8217;s 7-day click vs what stripe actually shows never matches for us<\/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\/@elle_go\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elle_go<\/a>&nbsp;Yeah, this mismatch is basically why the Stripe\/CRM connection exists. Instead of trusting Meta&#8217;s 7-day click as truth, the agent pulls what actually hit your revenue and reads performance against that. That&#8217;s how the paused campaign story in the founder comment happened Meta&#8217;s window was undercounting a campaign that Stripe showed was producing the highest value buyers. So recommendations get made off real numbers, not platform reported ones.<\/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>As a Paid Ads Growth Manager, I manage growth across Google Ads, Meta, TikTok, and other channels. Surprisingly, most of my time isn\u2019t spent launching campaigns\u2014it\u2019s spent analyzing data, comparing performance across platforms, identifying opportunities, and making hundreds of optimization decisions every week.<\/p>\n<p>What impressed me most about AI Media Buyer is that it goes far beyond dashboards. It helps turn data into actionable decisions. From performance analysis and strategy recommendations to creative generation and optimization, it feels like a true AI co-worker rather than just another AI tool.<\/p>\n<p>I\u2019ve been fortunate to see this product evolve from the early days, helping refine the ads strategies behind it. Today, the quality of its recommendations is genuinely impressive, and it\u2019s already become part of our internal workflow.<\/p>\n<p>I truly believe AI Media Buyer is changing how paid advertising gets done. The future isn\u2019t AI replacing marketers\u2014it\u2019s AI and marketers making better decisions together.<\/p>\n<p>Huge congratulations to the Creatify team on the launch! \ud83d\ude80<\/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>&#8220;strength is clearly the closed loop between finding a dead creative and regenerating one in the same system, weakness is trusting one agent to touch spend across four platforms at once without a human checking first, that&#8217;s a lot of trust to earn early <\/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\/@ian_maxwell2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ian_maxwell2<\/a>&nbsp;Fair concern, and it&#8217;s exactly why nothing touches spend without approval. The agent audits, recommends, and preps the action &#8211; cut this, scale that, launch these variations but you approve before anything executes. The closed loop is the automated part; spend changes keep a human on the trigger. Trust it more over time? Your call not a default.<\/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;does this work ok for smaller accounts or mainly built for bigger spend.<\/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\/@paige_lauren1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@paige_lauren1<\/a>&nbsp;Works for smaller accounts too, some of the most useful catches happen there, since wasted spend hurts way more on a small budget. The agent reads whatever&#8217;s in the account, whether that&#8217;s 2 campaigns or 200. Trial doesn&#8217;t need a card, so easy to test on your own account and see what it flags. What platform are you running on?<\/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. quick question: how do you balance automation with account-specific strategy? For example, can I set guardrails like target ROAS, audience exclusions, or preferred creative styles so the AI&#8217;s actions align with our brand and long-term goals?<\/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\/@swati_paliwal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@swati_paliwal<\/a>&nbsp;Thanks! Yes, you can set constraints like target ROAS and exclusions, and the agent works within them when it recommends. On creative style, it learns from your account: it generates from your actual winners, so brand direction comes from what&#8217;s already performing. And nothing executes without your approval, so strategy alignment gets checked on every action, not just at setup.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@swati_paliwal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@swati_paliwal<\/a>&nbsp;<strong>Interesting product! I&#8217;m also building in the productivity space with FocusQuest. I\u2019m a huge fan of exploring new ways to stay focused and fight digital addiction. Keep up the great work!<\/strong><\/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.This hits a very real pain point. The jump from \u201creporting what happened\u201d to actually finding wasted spend and taking action is where most ad tools fall short.<\/p>\n<p>Curious how much control buyers keep before changes go live, especially around launching new creatives or shifting budget.<\/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\/@vahid_davoudi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vahid_davoudi<\/a>&nbsp;Full control on both new creatives and budget shifts are prepped by the agent but launch only after you approve. It does the analysis, builds the recommendation with its reasoning, and queues the action; you&#8217;re the one who fires it. So the &#8220;taking action&#8221; part means the work is done for you, not done without you<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vahid_davoudi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vahid_davoudi<\/a>&nbsp;It&#8217;s a copilot experience. The agent will ask for your approval before making budget related actions to your ad account. <\/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>How long is the setup process to try it out?<\/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\/@nick_jones33\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nick_jones33<\/a>&nbsp;Under 2 minutes, OAuth into your ad account, and the agent starts its first audit right away. Fastest way to answer whether it&#8217;s useful is just connecting and seeing what it flags. \ud83d\ude4c<\/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>As Creatify\u2019s co-founder and Chief Scientist, I\u2019m especially excited about how AI Media Buyer closes the loop between creative generation and campaign performance. It doesn\u2019t just analyze what happened\u2014it identifies winning patterns, generates new creative variations, and helps launch the next round of tests.<\/p>\n<p>This is a big step toward the system we\u2019ve always wanted to build: an AI agent that continuously learns from real performance data and turns those insights into better ads. Excited to hear what the Product Hunt community thinks!<\/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>Congrats on the launch! If someone&#8217;s managing ad accounts for multiple clients, does the agent keep learnings and account history separate per client, or is it more built for a single in-house account right now?<\/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\/@irahimiam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@irahimiam<\/a>&nbsp;Thanks Arash! Learnings stay separate per connected account each client&#8217;s history, patterns, and context are scoped to that account, so recommendations for Client A never leak from Client B&#8217;s data. The multi client agency setup is exactly a use case we built toward. Would love to hear how many accounts you&#8217;re juggling if you test 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>Wow Yinan! Love what you&#8217;re doing here. Ads are evolving and you&#8217;re making it so easy and powerful. I&#8217;m sure many founders gonna take the most of Creatify. 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;Appreciate it! We are just getting started. Please give a try and let me know for any feedback!<\/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>Does it work if I\u2019m running like 90% of spend on Meta only, or does it need multiple platforms connected to be useful?<\/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\/@marianne_guerrero\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marianne_guerrero<\/a>&nbsp;Works fine Meta only, most of what the agent does (auditing campaigns, catching bleeding spend, generating creatives from winners, scaling calls) happens within a single platform. Multi-platform just adds cross channel visibility on top; it&#8217;s not a requirement. If 90% of your spend is Meta, that&#8217;s 90% of where the value is anyway. Connect it and see what the audit flags \ud83d\ude4c<\/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, Yinan and team! \ud83d\ude80 This feels like a real step beyond another analytics dashboard. Media buyers spend way too much time jumping between platforms and piecing together reports manually. The idea of an AI that actually understands account history and helps identify what&#8217;s working is incredibly compelling. Curious to see how much time and performance uplift early users are seeing. Wishing you an amazing launch day! \ud83c\udf89<\/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\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;Thanks Suryansh, Honest answer on uplift: too early to quote a real average, and we&#8217;d rather not make one up. What early users report most is reporting hours collapsing the audit does in minutes what used to take a morning. Real numbers once we can say them with a straight face. Good luck with EverTutor! <\/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 really cool! As someone who has ventured into Google Ads for my personal brand recently, I know the pain of creating creatives. This is the kind of workflow I&#8217;m thinking of. <\/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;Thanks Irene! And yeah the creative side is usually where solo brands stall, since you&#8217;re the strategist, media buyer, and production team all at once. That&#8217;s exactly the workflow this collapses. If you connect your Google Ads account during the trial, curious what the audit surfaces on a newer account like yours \ud83d\ude4c<\/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>It looks really useful. How has it been working for people who create videos regularly? I&#8217;m wondering if the quality stays consistent across different types of content.<\/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\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;Thanks Hamza! Consistency is mostly a model selection problem, different content types need different models, and the pipeline picks per scene rather than forcing everything through one generator. That&#8217;s a big part of why output holds up across product demos vs. UGC style vs talking head formats. On the Media Buyer side there&#8217;s also a feedback angle: it generates from your actual winners, so new creatives inherit what&#8217;s already proven on your account. That said, the trial&#8217;s the honest answer connect it and see what it makes from your product. \ud83d\ude80<\/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!\ud83d\ude80 Automating both ad creation and media buying is an interesting direction. Curious&#8230;&#8230;how much control do users have over the AI&#8217;s campaign decisions?<\/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\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;Thanks! Full control, the agent audits and recommends, but every campaign action (cutting, scaling, launching creatives) goes through your approval before it executes. Think of it as an analyst that preps the decision and shows its reasoning; you stay on the trigger. It also remembers preferences you give it in chat, so the recommendations bend toward how you actually run your account.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a huge step forward. Love the idea of an AI that doesn&#8217;t just report on performance but actually takes action and learns from account history. Excited to see where this goes. \ud83d\ude80<\/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\/@kyle_chua\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kyle_chua<\/a>&nbsp;Appreciate it \ud83d\ude4f The learning over time piece is the part we&#8217;re most excited to see compound with real accounts, give the trial a spin if you&#8217;re curious what it catches on yours.<\/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> how many conversions does a creative need before the engine treats it as a &#8220;winner&#8221;?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Awesome product! <\/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>Solo founder here, I do all my marketing myself. What&#8217;s the minimum monthly ad budget where this starts to make sense ?<\/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>The part I&#8217;d want to see is whether people are comfortable letting an AI make changes to campaigns instead of just recommending them.  How much control does the user have before the AI actually launches or changes a campaign?<\/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><a href=\"https:\/\/www.producthunt.com\/@nyn531\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"nyn531\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nyn531<\/a> <a href=\"https:\/\/www.producthunt.com\/@gourav_chhabra2\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"gourav_chhabra2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gourav_chhabra2<\/a> verifying winners against Stripe instead of Meta&#8217;s attribution is the smart part here. Question from the operator side: when a winner starts to decay, can it tell creative fatigue from audience saturation? Those need opposite responses and most tools treat them the same. And does it touch the audience side at all, or only creative and budget?<\/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>curious about the approval flow can I set thresholds so small budget changes auto-apply but big ones need sign off?<\/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>The &#8220;staring at dashboards for hours trying to figure out what worked&#8221; ritual is painfully real. The part I&#8217;d need to trust before handing over spend: when it recommends cutting or scaling, does it surface the reasoning, or is it more &#8220;trust me&#8221;? For media buyers the fear isn&#8217;t automation \u2014 it&#8217;s an agent quietly killing a campaign that was about to turn. How much of the &#8220;why&#8221; does it show?<\/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\/@david_marko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_marko<\/a>&nbsp;The reasoning is the whole product, honestly every recommendation shows the &#8220;why&#8221;: what it read, what it found, what it suggests. Nothing gets killed quietly; you approve every cut. And the flip side: the founder note story is the agent catching a campaign a <em>human<\/em> had wrongly paused it was producing the highest value buyers. The reasoning layer cuts both ways.<\/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>An agent that actually runs the buying, not just drafts the creative, is where this gets interesting. The hard part is rarely generating variants, it is killing a losing ad fast enough for it to matter. I wonder how much control it hands back on budget guardrails before it starts spending, because that is usually the line between a helper and something people are scared to turn on.<\/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\/@liana_preston\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@liana_preston<\/a>&nbsp;&#8220;Killing a losing ad fast enough for it to matter&#8221; that&#8217;s exactly the job. The detection runs without you: continuous performance reads, verified against actual revenue, so losers get flagged same-day instead of at your Monday report pull. On guardrails approval first on everything. The agent preps the kill or budget shift with its reasoning, you approve, it executes. The scary autonomous version isn&#8217;t the starting point; the speed win is that detection and prep happen without you, the decision stays yours.<\/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>AI Media Buyer finally closes the loop for performance marketers making it an end-toend platform that studies your product, researches competitors, orchestrates a team of agents to build creatives, uploads assets directly to ad platforms, and manages the accounts.<\/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>&#8220;spots what&#8217;s scaling, and acts on it&#8221; is the part I&#8217;d want a kill switch for. does it auto-shift budget between campaigns on its own, or does it draft the move and wait for you to approve before touching spend?<\/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;it drafts the move and waits. Nothing touches spend, budgets, or campaign status without your approval; the agent preps the action with its reasoning and you sign off. So the kill switch you&#8217;re describing is effectively the default state: it can&#8217;t act on spend unilaterally. The &#8220;acts on it&#8221; part is that it does the full prep analysis, recommendation, ready to execute change. instead of just alerting you and leaving the work.<\/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\/XZBS3DK4YSUKM7\" class=\"app-title\">Loomal<\/a><\/p>\n<div class=\"one-liner\">Monetize any MCP server in 5 minutes with no % skim.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">292<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Loomal\u901a\u8fc7\u4e00\u884c\u4ee3\u7801\u96c6\u6210\uff0c\u8ba9API\u3001MCP\u670d\u52a1\u5668\u6216\u6570\u5b57\u5546\u54c1\u62e5\u6709\u4e00\u4e2aAI\u4ee3\u7406\u53ef\u81ea\u52a8\u53d1\u73b0\u5e76\u652f\u4ed8\uff08USDC\u7ed3\u7b97\uff0c\u7ea62\u79d2\uff09\u7684\u201c\u4ee3\u7406\u53cb\u597d\u578b\u201d\u652f\u4ed8\u5899\uff0c\u89e3\u51b3\u4e86AI\u4ee3\u7406\u6709\u94b1\u5305\u4f46\u65e0\u5904\u6d88\u8d39\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\/e5d6822a-4fcd-4de3-b230-5a56c77f5c80.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\/712c1b84-9057-4134-a566-8234c6012fd1.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\/89128482-305f-47a1-a6b5-d35ce195c2d4.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\/5616aa0d-1b38-44a8-b6bb-5a80cdd43f28.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\/fa47e67e-d940-4ce3-ba3b-dcfb75fc2a9d.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\/31371915-1085-4bdc-b4b0-5dc85d375ba1.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\/4283fe16-b2b6-4fbd-b3fa-9660914f130c.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=ZUDfqSTAakk\"><source src=\"https:\/\/www.youtube.com\/watch?v=ZUDfqSTAakk\" 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\">Payments<\/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\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668\u53d8\u73b0<\/span><br \/>\n            <span class=\"tag\">USDC\u7ed3\u7b97<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u5546\u54c1\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6536\u5165<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u7ecf\u6d4e<\/span><br \/>\n            <span class=\"tag\">\u65e0\u62bd\u6210\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">\u96f6\u4ee3\u7801\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">Shopify\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u53bb\u4e2d\u5fc3\u5316\u5546\u4e1a<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u70b9\u5305\u62ec\uff1a\u4ee3\u7406\u5982\u4f55\u53d1\u73b0API\uff08\u6709\u673a\u5668\u53ef\u8bfb\u7684Index\uff09\uff1b\u975e\u52a0\u5bc6\u7528\u6237\u7684\u94b1\u5305\u8bbe\u7f6e\u662f\u5426\u7b80\u5355\uff08\u81ea\u52a8\u521b\u5efa\u65e0\u611f\uff09\uff1b\u9632\u6b3a\u8bc8\u4e0e\u8eab\u4efd\u5ba1\u8ba1\uff08\u94fe\u4e0a\u7b7e\u540d\u4e0e\u6536\u636e\uff09\uff1b\u91cd\u8bd5\u4e0e\u5e42\u7b49\u6027\u95ee\u9898\uff08\u534f\u8bae\u7ea7\u9632\u91cd\u653e\uff09\uff1b\u4e0eStripe\u7684\u5dee\u5f02\uff08\u4e13\u6ce8\u673a\u5668\u5bf9\u673a\u5668\u4e0e\u65e0\u62bd\u6210\uff09\uff1b\u4ee5\u53ca\u4ee3\u7406\u8eab\u4efd\u88ab\u5165\u4fb5\u540e\u7684\u64a4\u9500\u673a\u5236\uff08\u72ec\u7acb\u8eab\u4efd\u53ef\u5355\u72ec\u540a\u9500\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Loomal\u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u65e5\u76ca\u7d27\u8feb\u7684\u75db\u70b9\uff1aAI\u4ee3\u7406\u62e5\u6709\u652f\u4ed8\u80fd\u529b\uff0c\u4f46\u4e92\u8054\u7f51\u57fa\u7840\u8bbe\u65bd\u4f9d\u65e7\u4e3a\u4eba\u7c7b\u8bbe\u8ba1\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u652f\u4ed8\u201d\uff0c\u800c\u5728\u4e8e\u201c\u4e3a\u673a\u5668\u91cd\u5851\u5546\u4e1a\u5c42\u201d\u3002\u901a\u8fc7\u653e\u5f03\u4fe1\u7528\u5361\u4e0e\u8ba2\u9605\u6a21\u578b\uff0c\u91c7\u7528USDC\u5373\u65f6\u7ed3\u7b97\u4e0e\u65e0\u62bd\u6210\u6a21\u5f0f\uff0c\u5b83\u5728\u7ecf\u6d4e\u4e0a\u5f7b\u5e95\u98a0\u8986\u4e86\u4f20\u7edf\u5e73\u53f0\u7a0e\u903b\u8f91\u2014\u2014\u8fd9\u6b63\u662fStripe\u7b49\u5de8\u5934\u56e0\u6c89\u6ca1\u6210\u672c\u800c\u96be\u4ee5\u8ddf\u8fdb\u7684\u65b9\u5411\u3002\u4f46\u4ea7\u54c1\u7684\u771f\u6b63\u80dc\u8d1f\u624b\u5e76\u975e\u6280\u672f\uff0c\u800c\u662f\u7f51\u7edc\u6548\u5e94\u3002Loomal\u80fd\u5426\u6210\u529f\uff0c\u53d6\u51b3\u4e8e\u5176\u201c\u53d1\u73b0\u7d22\u5f15\u201d\u80fd\u5426\u6210\u4e3a\u4ee3\u7406\u9ed8\u8ba4\u7684\u201c\u5e94\u7528\u5546\u5e97\u201d\u3002\u76ee\u524d\uff0c\u4e70\u5bb6\u53d1\u73b0\u4ecd\u90e8\u5206\u4f9d\u8d56\u4eba\u5de5\u590d\u5236URL\uff0c\u8fd9\u66b4\u9732\u4e86\u51b7\u542f\u52a8\u96be\u9898\u3002\u6b64\u5916\uff0c\u4ec5\u9760\u201c\u65e0\u62bd\u6210\u201d\u5438\u5f15\u5356\u5bb6\u662f\u8106\u5f31\u7684\uff0c\u4e00\u65e6\u89c4\u6a21\u5316\uff0c\u5e73\u53f0\u5fc5\u987b\u8bc1\u660e\u5176\u805a\u5408\u7684\u4ee3\u7406\u6d41\u91cf\u80fd\u5e26\u6765\u8fdc\u8d85\u624b\u52a8\u5206\u53d1\u7684\u8ba2\u5355\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u8eab\u4efd\u3001\u5ba1\u8ba1\u548c\u5931\u8d25\u91cd\u8bd5\u7684\u8ba8\u8bba\uff0c\u6307\u51fa\u4e86\u5173\u952e\uff1a\u5728\u673a\u5668\u4ea4\u6613\u4e2d\uff0c\u4fe1\u4efb\u4e0e\u53ef\u8ffd\u6eaf\u6027\u6bd4\u652f\u4ed8\u672c\u8eab\u66f4\u751f\u6b7b\u6538\u5173\u3002Loomal\u82e5\u4ec5\u4f5c\u4e3a\u652f\u4ed8\u7ba1\u9053\uff0c\u7ec8\u5c06\u88abAPI\u7f51\u5173\u6216\u533a\u5757\u94fe\u539f\u751f\u534f\u8bae\u66ff\u4ee3\u3002\u5176\u62a4\u57ce\u6cb3\u5fc5\u987b\u5efa\u7acb\u5728\u201c\u4ee3\u7406\u8eab\u4efd+\u53ef\u4fe1\u4ea4\u6613\u6570\u636e+\u53bb\u4e2d\u5fc3\u5316\u58f0\u8a89\u7cfb\u7edf\u201d\u4e09\u4f4d\u4e00\u4f53\u7684\u95ed\u73af\u4e0a\u3002\u4ece\u5546\u4e1a\u903b\u8f91\u770b\uff0c\u5141\u8bb8\u4ee3\u7406\u7528\u201c\u5931\u8d25\u7684\u6210\u672c\u201d\u6765\u81ea\u52a8\u6dd8\u6c70\u52a3\u8d28\u670d\u52a1\uff0c\u6bd4\u4eba\u7c7b\u5199\u5dee\u8bc4\u66f4\u6709\u6548\u7387\u3002\u4f46\u8fd9\u4e5f\u610f\u5473\u7740\uff0c\u5356\u5bb6\u5b9e\u9645\u4e0a\u662f\u5728\u4e3a\u4e00\u4e2a\u5c1a\u4e0d\u5b58\u5728\u7684\u201c\u4ee3\u7406\u6d88\u8d39\u8005\u5e02\u573a\u201d\u63d0\u524d\u5e03\u5c40\u3002\u8fd9\u662f\u6781\u5ba2\u7684\u6d6a\u6f2b\uff0c\u4e5f\u662f\u8d44\u672c\u7684\u8d4c\u6ce8\u3002\u4e00\u53e5\u8bdd\uff1aLoomal\u5356\u7684\u4e0d\u662f\u652f\u4ed8\uff0c\u800c\u662fAI\u4e16\u754c\u7684\u5546\u4e1a\u5165\u573a\u5238\u2014\u2014\u4f46\u5b83\u9700\u8981\u8bc1\u660e\u81ea\u5df1\u4e0d\u53ea\u662f\u5356\u7968\uff0c\u8fd8\u80fd\u771f\u6b63\u628a\u4eba\u6f6e\u5f15\u8fdb\u6765\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\">Loomal<\/span>\n                <\/div>\n<div class=\"comment-content\">Loomal lets you charge for what you sell online \u2014 API calls, tools, digital products, or your whole store. One line of code (or a Shopify\/WooCommerce plugin) adds an agent-ready paywall: AI agents pay you in USDC, settled in about 2 seconds, and you keep 100% of your revenue \u2014 no percentage cut, ever. Free to start, no card; flat monthly plans as you grow. Every paid listing appears on the Loomal Index, where agents discover and pay. Launch offer: first 500 sellers get 1,000 transactions free.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc4b Hey Product Hunt!<\/p>\n<\/p>\n<p>I&#8217;m Danny, maker of Loomal.<\/p>\n<\/p>\n<p>\ud83e\udd16 AI agents are starting to buy things. They research, compare, and complete purchases on their own.<\/p>\n<p>\u26a0\ufe0f But here&#8217;s the problem. Almost nothing online can sell to them.<\/p>\n<\/p>\n<p>Stores and APIs are built for humans. Browsers. Credit cards. Checkout forms.<\/p>\n<p>Agents don&#8217;t have those. They have wallets. \ud83d\udc5b<\/p>\n<\/p>\n<p>So we have this strange moment:<\/p>\n<p>millions of agents with spending power, and an internet that can&#8217;t take their money. \ud83d\udcb8<\/p>\n<\/p>\n<p>That&#8217;s why I built <strong>Loomal<\/strong>. \ud83d\ude80<\/p>\n<\/p>\n<p>Loomal makes anything you sell agent-ready. Agents discover it, pay for it, and use it \u2014 no human in the loop.<\/p>\n<\/p>\n<p><strong>\u26a1 What makes Loomal different?<\/strong><\/p>\n<p>\ud83d\udc49 One line of code for your API or MCP server. No re-architecture.<br \/>\ud83d\udc49 Agents pay in USDC. Settlement lands in ~2 seconds.<br \/>\ud83d\udc49 You keep 100% of your revenue. We never take a cut.<br \/>\ud83d\udc49 Every paid listing goes on the Loomal Index, where agents discover and pay for services.<\/p>\n<\/p>\n<p><strong>\ud83d\udecd\ufe0f For Sellers<br \/><\/strong> List what you already sell.<br \/>An API.<br \/>A SaaS tool.<br \/>Digital goods.<\/p>\n<\/p>\n<p>\u2705 One-line integration<br \/>\u2705 Instant USDC settlement<br \/>\u2705 Zero revenue share<br \/>\u2705 Discoverable by agents on the Loomal Index<\/p>\n<\/p>\n<p><strong>\ud83e\udd16 For Agent Builders<br \/><\/strong> Give your agents services they can actually pay for.<br \/>\u274c No scraping.<br \/>\u274c No stolen credit cards.<br \/>\u274c No human checkout.<\/p>\n<\/p>\n<p><strong>\ud83c\udfaf Who is Loomal for?<br \/><\/strong> \ud83d\udee0\ufe0f API and MCP server builders \ud83e\udd16 Agent developers \ud83d\udcbe Anyone selling digital services who wants to be ready when agents come shopping<\/p>\n<\/p>\n<p><strong>\ud83c\udf81 PH-only offer:<\/strong> first 500 sellers get 1,000 free transactions. Enough to validate real agent demand before you pay us anything. Free to start, no card. \ud83d\udcb3\u274c<\/p>\n<\/p>\n<p>\ud83d\udcac Two questions: what do you sell that agents should buy? And what&#8217;s missing before you&#8217;d list it?<\/p>\n<p>\ud83d\udd17 Live demo at<a href=\"https:\/\/loomal.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> https:\/\/loomal.ai<\/a> \u2014 here all day.<\/p>\n<\/p>\n<p>Thanks for checking us out! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/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\/@dannyheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dannyheng<\/a>&nbsp;What&#8217;s the biggest blocker keeping you from listing on Loomal right now; technical, billing, compliance, or something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dannyheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dannyheng<\/a>&nbsp;Congrats to the Loomal team! Happy to hunt it today. You&#8217;re not just enabling payments, you\u2019re helping create an entirely new commerce layer for AI agents. \ud83d\udc99<\/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\/@dannyheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dannyheng<\/a>&nbsp;Congrats on the launch! This is incredibly cool. I&#8217;m building my own personal agents as a hobby (openclaw calendar trackers, productivity managers etc.) and always thought the next step is agents having their own wallet and being able to transact with each other.<\/p>\n<p>One particular hobby project I&#8217;m working on now is an android headunit agent that reads your car OBD data and keeps logs and alerts you when critical codes appear. It&#8217;d be so cool if the agent could schedule mechanic appointments and even pre pay for them according to the specific fault code that appears. Definitely will experiment with the SDK<\/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><a href=\"https:\/\/www.producthunt.com\/@dannyheng\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"dannyheng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dannyheng<\/a> Everyone&#8217;s asking about payments, but the part I don&#8217;t get is discovery. Say I list my API on the Index today \u2014 how does an agent actually find it? Is there something agents query programmatically, or are we still waiting for a human to paste a URL into a prompt?<\/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\/@aparna_rajesh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aparna_rajesh<\/a>&nbsp;This is the underrated half of the product, glad someone asked \ud83d\ude04 <\/p>\n<\/p>\n<p>The Index is machine-readable end to end \u2014 agents query it programmatically: search by capability, compare prices, read the schema, and pay, all in one flow with no human pasting URLs. Discovery, evaluation, and purchase are the same session.<\/p>\n<\/p>\n<p>Today, plenty of traffic still starts the old way \u2014 a developer finds a listing and wires it into their agent. Both paths work, but the programmatic one is the future we&#8217;re building for: your listing isn&#8217;t a webpage with a &#8220;docs&#8221; link, it&#8217;s a structured record an agent can act on the moment it decides it needs what you sell.<\/p>\n<p>That&#8217;s the real answer to &#8220;why list now&#8221;: you&#8217;re not just adding a payment method, you&#8217;re becoming findable by buyers that search in milliseconds and never sleep.<\/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! This is incredibly cool. I&#8217;m building my own personal agents as a hobby (openclaw calendar trackers, productivity managers etc.) and always thought the next step is agents having their own wallet and being able to transact with each other.<\/p>\n<p>One particular hobby project I&#8217;m working on now is an android headunit agent that reads your car OBD data and keeps logs and alerts you when critical codes appear. It&#8217;d be so cool if the agent could schedule mechanic appointments and even pre pay for them according to the specific fault code that appears. Definitely will experiment with the SDK!<\/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\/@kevin_win\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevin_win<\/a>&nbsp;This is exactly the kind of thing we daydreamed about while building. The OBD agent is a great example because it&#8217;s the full loop: detect fault, find service, pay, all with zero human in the mood to deal with it \ud83d\ude04<\/p>\n<p>The honest gap you&#8217;ll hit: your agent can pay today, but the mechanic side needs an agent-payable endpoint too. That&#8217;s the chicken and egg the Index exists to solve. Even a simple booking API with a deposit endpoint would make your demo work end to end.<\/p>\n<p>Please do experiment with the SDK, and when the headunit agent makes its first payment, I want to see the video. You&#8217;re in the founding 500 if you list anything. What&#8217;s your stack on the agent side?<\/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>for sellers who aren&#8217;t crypto native, is the wallet setup actually 5 minute thing too, or is that the part that quietly takes longer than the sdk integration itself.<\/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\/@isabella_hayes4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@isabella_hayes4<\/a>&nbsp;Fair \u2014 that&#8217;s usually exactly where these things quietly fall apart \ud83d\ude04<\/p>\n<p>Honest answer: there is no wallet setup. When you create a seller identity, we provision a non-custodial wallet for it automatically \u2014 no browser extension, no seed phrase to write on paper, no buying ETH for gas.<\/p>\n<p>Agents pay in, USDC lands in your wallet, and your dashboard shows a balance in dollars. The only moment crypto-nativeness could matter is withdrawing \u2014 and that&#8217;s a button, not a ritual.<\/p>\n<\/p>\n<p>So the SDK integration really is the long pole, and it&#8217;s one line. The wallet part is the bit we were most determined to make boring.<\/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>par cell pricing sounds fair until every seller on the index races to undercut each other on price, same thing that happened with app store pricing wars.<\/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\/@hudson_reid\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hudson_reid<\/a>&nbsp;commodity endpoints will compress, no point pretending otherwise. But two differences from the App Store: there&#8217;s no 30% platform cut here forcing everyone to $0.99, and agents don&#8217;t impulse-buy \u2014 they optimize for task completion. A cheap endpoint that fails costs the agent&#8217;s owner more than the price gap, and that shows up in repeat-purchase data fast.<\/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>stripe is clearly moving into agents payments too, curious what makes loomal a better bet than waiting for them to ship something similar.<\/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\/@holden_chase\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@holden_chase<\/a>&nbsp;Honestly, Stripe moving in validates the space \u2014 but we&#8217;re not really racing them on the same track.<\/p>\n<p>Stripe&#8217;s agent work is about agents buying from human commerce: checkouts, cards, merchants. Card rails are brilliant for a $40 cart and hopeless for a $0.01 tool call \u2014 the fixed fee alone eats the transaction. Our whole bet is machine-to-machine: agents paying APIs and other agents per call, settling in ~2 seconds, no % skim. That&#8217;s economically impossible to retrofit onto card infrastructure \u2014 it needs different rails, which is why we built on x402 instead.<\/p>\n<p>The other piece Stripe doesn&#8217;t touch: agent identity. When a machine pays a machine, &#8220;who authorized this?&#8221; matters more than the payment itself. Every agent on Loomal has its own verifiable identity, scoped permissions, and signed receipts for every call \u2014 payments and accountability in one stack.<\/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\/@holden_chase\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@holden_chase<\/a>&nbsp;Stripe don&#8217;t do discovery for builders. Their agentic commerce stack points at retail checkout through the big assistants, not a neutral index where agents find indie API and MCP sellers. That index is our bet \u2014 plus flat plans, no cut of your revenue. Big merchant on Stripe? Use Stripe. Builder who wants agents to find and pay you? That&#8217;s us.<\/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>good stuff! from the buyers&#8217; perspective: if my AI agent makes a mistake, how do I prove what it did and who authorized it? or there&#8217;s no chance?<\/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\/@marcin_uchacz1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marcin_uchacz1<\/a>&nbsp;There&#8217;s a chance \u2014 it&#8217;s actually two layers.<\/p>\n<p>On Loomal: every payment produces a signed receipt \u2014 which agent paid, which endpoint, amount, timestamp. So for transactions, the record exists by default.<\/p>\n<p>&#8220;What did it do and who authorized it&#8221; beyond payments is an identity problem, and it&#8217;s exactly why we built <a href=\"https:\/\/mailgent.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Mailgent<\/a> (launched here last week): each agent gets its own cryptographic identity, actions are signed against it, and permissions are scoped \u2014 so you can show which agent did what, under whose authority, with proof.<\/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\/@marcin_uchacz1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marcin_uchacz1<\/a>&nbsp;There&#8217;s very much a chance \u2014 this is honestly the whole reason we glued identity to payments.<\/p>\n<p>Every agent on Loomal has its own verifiable identity with its own keys \u2014 it&#8217;s never &#8220;someone with the company card,&#8221; it&#8217;s that specific agent. Every payment it makes settles on-chain (public tx) and comes with a signed receipt binding the agent, the recipient, the amount, and the exact resource it paid for.<\/p>\n<p>So when your agent does something dumb, you can reconstruct the whole story: which agent, what it paid, to whom, for what, and when \u2014 and verify every signature independently, without trusting us. You scope what each agent is allowed to do up front, and the receipts prove what it actually did.<\/p>\n<p>Blaming the intern has never been this cryptographically rigorous.<\/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>no % skim plus 2 second settlement is a real edge over the platform fee model. what stops a misconfigured agent from retrying a failed call and paying you multiple times for the same request, is idempotency on the caller side or yours?<\/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;Loomal verifies each signed payment authorization and returns a signed receipt after settlement. We\u2019re also designing the retry flow so a failed request doesn\u2019t accidentally result in duplicate charges, but we don\u2019t want to overstate the current guarantees around idempotency yet. For now, callers should use sensible retry and request-deduplication logic.<\/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\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Great question \u2014 the replay safety is protocol-level, so neither side has to be careful \ud83d\ude04<\/p>\n<p>Every payment is a single-use signed authorization \u2014 once it settles, it&#8217;s spent. A misconfigured agent retrying the same request just re-sends the same authorization, and it simply can&#8217;t settle twice. And if the call fails before settlement, no money moved at all.<\/p>\n<p>Where we go beyond vanilla x402: we verify before we ever settle (amount and recipient must match what was actually signed), and every settled call gets a signed receipt \u2014 so both sides have cryptographic proof of exactly what was paid, once. Stock x402 gives you the rail; we added the paper trail.<\/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 Shipped an MCP server myself recently. Getting every tool call and edge case right before it&#8217;s client-facing takes real discipline. Respect for shipping 18 tools this clean.<\/p>\n<p>Since you&#8217;re MCP-native across LangChain, CrewAI, Claude, etc. Did you build against one runtime first and adapt, or design for all of them from day one?<\/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\/@benjouss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@benjouss<\/a>&nbsp;Thanks \u2014 and congrats on shipping yours, you know exactly how much invisible work &#8220;clean&#8221; hides \ud83d\ude04<\/p>\n<p>Honest answer: neither. We built protocol-first. The MCP layer is deliberately thin \u2014 each tool is basically a shim: typed schema in, one API call, structured result out. All the real edge cases (auth, payment state, error semantics) live behind the API, so there was never per-runtime code to adapt.<\/p>\n<p>We did test against Claude first since it&#8217;s the strictest client \u2014 sloppy schemas get exposed immediately. Once it was clean there, LangChain and CrewAI mostly came free via their MCP adapters.<\/p>\n<p>The actual &#8220;adapting&#8221; was never the tool calls \u2014 it was tuning descriptions and error messages until every model behaved. Protocol-first by design, Claude-first by discipline.<\/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\/@benjouss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@benjouss<\/a>&nbsp;Watching from the business side, the &#8220;tuning descriptions and error messages until every model behaved&#8221; part was the surprise for me. Turns out in agent land your docs and error strings basically are your UI. We&#8217;d rewrite one tool description and watch success rates move the next day. Benjamin, since you shipped one yourself, curious if you saw the same thing: which mattered more for you, schema strictness or the wording agents actually read?<\/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 Shopify and WooCommerce plugins should help bring non-technical sellers into the agent economy much faster. \ud83d\ude42<\/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\/@roopreddy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roopreddy<\/a>&nbsp;Thats why we think the agent economy is going to explode! Native Shopify and WooCommerce integrations should let sellers expose what they already offer to agents without needing to understand APIs, MCP, or crypto infrastructure first.<\/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\/@roopreddy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roopreddy<\/a>&nbsp;This is the part that changes the scale of the whole thing. Developers listing APIs is the beachhead, but the long tail of the agent economy is millions of existing stores where the seller will never read an API doc \u2014 and shouldn&#8217;t have to. A plugin turns &#8220;agent-ready&#8221; from an engineering project into a checkbox in a dashboard they already use.<\/p>\n<p>The day an agent can buy from a regular WooCommerce store as easily as from a purpose-built API, it stops being a developer economy and starts being the economy<\/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 am wondering how fraud prevention works once thousands of autonomous agents start making purchases simultaneously? <\/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\">@nuseir_yassin1 Thanks Nuseir! Fraud actually looks different in agent commerce \u2014 some of it gets easier:<\/p>\n<p>Stolen cards disappear. Agents pay from their own USDC wallets under spend mandates. No card numbers to steal, no chargebacks. Payment fraud\u2019s biggest vector just isn\u2019t there.<\/p>\n<p>Every agent has an identity \u2014 and a wallet with history. Payments are signed by the agent\u2019s keys, and wallet credibility is checkable on-chain: age, transaction history, behavior patterns. A brand-new wallet suddenly firing thousands of purchases looks very different from an established one \u2014 that\u2019s a fraud signal humans-with-cards never gave us.<\/p>\n<p>Sellers are vetted too. Verified identity, on-chain transaction history, and reviews from real paid usage on the Index. Agents check a seller\u2019s actual track record before spending \u2014 reviews that can\u2019t be faked because they\u2019re settled transactions.<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nuseir_yassin1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nuseir_yassin1<\/a>&nbsp;The scale part of your question is actually the interesting bit, Nuseir. Thousands of agents buying simultaneously sounds scary until you remember every one of them is legible. Signed identity, wallet history, spend caps. Compare that to card fraud where the whole game is guessing whether a human is who they claim. Volume was the enemy in card fraud because review was manual. Here the checks are per transaction and automatic, so scale doesn&#8217;t dilute them. Honestly the anonymous human with a stolen card was always the harder problem.<\/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. The one-line integration is probably what caught my attention first. Adoption usually comes down to reducing setup friction.<\/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\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;Thank you! That\u2019s exactly what we\u2019re aiming for\u2014making adoption feel effortless. The one-line integration removes the usual setup overhead so teams can start seeing value almost immediately. 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That&#8217;s interesting. Do agents handle failed USDC transactions automatically, or does the seller need to retry?<\/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\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;The agent handles the retry, not the seller. Loomal returns the failure reason, and the agent can retry automatically for transient issues as long as the spend mandate is still valid. For issues like insufficient balance or an expired mandate, the buyer agent has to resolve it before retrying. The seller should never need to manually re-initiate the charge or risk creating a duplicate payment.<\/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! Making MCP monetization simple is a great idea. As more agents rely on MCP servers, how are you thinking about reliability when a server changes behavior or returns unexpected responses?<\/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\/@amjad_shaik\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amjad_shaik<\/a>&nbsp;Per-call pricing is the first line of defense. A server that changes behavior or degrades burns an agent for cents, not a monthly subscription \u2014 the agent just stops paying and routes elsewhere. Bad servers lose revenue immediately.<\/p>\n<p>We don&#8217;t validate responses or SLA-check servers today. Longer term, the Index builds machine-readable reputation from settled transactions \u2014 uptime, consistency, repeat-purchase rate. Reviews that can&#8217;t be faked, because they&#8217;re actual paid usage.<\/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>Haha this framing of giving an agent its own identity instead of duct taping it onto a human&#8217;s is a clean way to describe a problem that&#8217;s been quietly obvious for a while (agents running on borrowed Gmail passwords and unscoped API keys with no audit trail). <\/p>\n<p>Wondering if an agent&#8217;s vault or inbox gets compromised, is there a way to revoke just that agent&#8217;s identity without breaking every other agent sharing the same account?<\/p>\n<\/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\/@uddipta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@uddipta<\/a>&nbsp;You&#8217;ve actually wandered into our sister product \ud83d\ude04 Loomal handles the <em>payments<\/em> side; the identity\/inbox\/vault layer you&#8217;re describing is <strong>Mailgent<\/strong> (<a href=\"http:\/\/mailgent.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mailgent.dev<\/a>) \u2014 same team, built to work together.<\/p>\n<p>To answer directly: yes, that&#8217;s the whole point of giving each agent its own identity instead of a shared account. Every agent gets its own DID and its own Ed25519 keypair \u2014 nothing is shared. So if one agent&#8217;s vault or inbox is compromised, you revoke <em>that agent&#8217;s<\/em> identity and keys, and every other agent keeps running untouched. No blast radius, and the audit trail shows exactly what the compromised agent did before revocation.<\/p>\n<p>That&#8217;s exactly the failure mode of the &#8220;borrowed Gmail password&#8221; setup \u2014 one leak takes down everything and you can&#8217;t even tell what happened.<\/p>\n<p>Happy to go deeper on the Mailgent side if useful, but didn&#8217;t want to hijack the Loomal thread \ud83d\ude05 On the Loomal side: agents pay under scoped spend mandates, so a compromised agent can&#8217;t drain a wallet either \u2014 you revoke the mandate and it&#8217;s done.<\/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 MCP server monetization focus is neat. One thing I\u2019m wondering: when you say \u201cin 5 minutes,\u201d is Loomal mostly handling payments\/access control around an existing MCP server, or does it also help with packaging, hosted endpoints, or user management? The no % skim detail makes the business model feel builder-friendly, so I\u2019d be curious what parts are included in the basic 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mia_qiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mia_qiao<\/a>&nbsp;The 5 minutes is payments and access around your existing server: install the SDK, wrap the endpoints you want to charge with requirePayment(), set prices. No hosting, no packaging \u2014 your server stays where it is.<\/p>\n<p>Basic setup includes: the paywall, your listing on the Loomal Index (machine-readable, so agents discover and pay you programmatically), a dashboard showing which endpoints earn, and USDC settlement in ~2 seconds. User management\/auth for humans isn&#8217;t us \u2014 pair with your existing stack.<\/p>\n<p>So: payments, discovery, visibility. You build the server; we make it sellable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love seeing infrastructure being built around the agent economy. <\/p>\n<p>Curious&#8230;.what kinds of MCP servers are seeing the most traction so far?<\/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\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;The categories getting the most interest so far: data\/search APIs (agents pay per lookup), scraping and enrichment tools, and document processing \u2014 the pattern is bursty, mid-task consumption, which is where subscriptions never made sense. Anything an agent needs unpredictably, 40 calls at a time.<\/p>\n<p>Too early to declare a winner from our volume alone \u2014 we launched the new model this month. <\/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>honestly this looks pretty slick, the no percentage cut thing is huge. one thing though, would be great if there was a built in way to set usage tiers or rate limits per agent, so you could throttle heavy users automatically without having to monitor it yourself. would make scaling way less stressful.<\/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\/@golgelisem16238\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@golgelisem16238<\/a>&nbsp;Thanks \u2014 and fair point, this is a real gap. Today you set pricing per endpoint, but throttling per agent is on you. We already identify every paying agent per transaction, so per-agent limits and tiers are very buildable \u2014 adding it to the roadmap.<\/p>\n<p>Quick question back: hard cutoffs (429 past a limit), or price-based throttling where heavy users just pay more per call? Curious which you&#8217;d actually want.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What happens when an agent pays for a tool call that fails? Refunds?<\/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\/@himanshi_kum563\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himanshi_kum563<\/a>&nbsp;Honest answer \u2014 no automatic refunds yet. Settlement is instant and final, which is great until a call fails. We&#8217;re building a credits system that auto-credits failed calls back to the agent&#8217;s balance \u2014 it&#8217;s in the pipeline, not live yet<\/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 Use-Case Angle:<\/p>\n<p>Trying to build an AI agent platform for enterprise procurement and this solves exactly one problem that&#8217;s been driving me nuts: how do you let agents call third-party APIs without embedding credentials everywhere? If an agent can just&#8230; pay for a data enrichment service and the transaction is logged and signed, that&#8217;s a completely different security model than what we&#8217;re doing now (which is basically controlled chaos). Curious if anyone else building agent platforms sees this the same way \u2014 is credential management the thing you&#8217;re actually worried about, or is it something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Agents can use VCCs&#8230;?<\/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\/@adogra06\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adogra06<\/a>&nbsp;Not on Loomal \u2014 no cards involved, virtual or otherwise. Agents pay from a wallet: each payment is individually signed and settles in USDC in ~2 seconds. VCCs are the clever workaround for making card rails tolerate agents \u2014 we went the other way: rails built for machines, nothing to work around.<\/p>\n<p>And if you&#8217;re on the buyer side wondering how your agent gets a wallet \u2014 that&#8217;s what mailgent.dev (our sister product) handles: agent identity, wallet, and spend mandates out of the box. Point it at the Index and it can discover, pay, and go<\/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 no-percentage-skim line is the interesting one to me, because take rate is the thing that quietly decides whether a marketplace is worth building on. If Loomal isn&#8217;t skimming a percentage, what&#8217;s the actual model, flat fee per server or per call, or a subscription on the seller side? I ask because &#8220;no skim&#8221; usually means the cost moved somewhere else, and where it lands changes who can afford to sell. Rooting for less-extractive rails 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chielephant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chielephant<\/a>&nbsp;Right question \u2014 the cost didn&#8217;t vanish, it moved, and here&#8217;s exactly where: a flat seller subscription. Free tier to start (plus 1,000 free settled transactions right now), paid tiers as volume grows. Buyers pay nothing to us, ever.<\/p>\n<p>The distinction that matters: we charge for infrastructure, not a % of value sold. Sell a $0.01 call or a $5 call \u2014 our price is the same, so all the upside of pricing well is yours. Skim models tax your success; flat models just bill for plumbing.<\/p>\n<p>And on who can afford to sell: that&#8217;s the deliberate part. A hobbyist with 200 calls a month pays us zero and keeps 100%. The cost lands on sellers doing real volume \u2014 exactly the people for whom a flat fee beats a percentage. Less-extractive was the design constraint, not the tagline<\/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 shipped a Paddle integration last week, so the &#8220;zero revenue share&#8221; pitch lands \u2014 but let me push on the part MoRs actually earn their cut for.<\/p>\n<p>I didn&#8217;t pay a merchant-of-record for card processing; I paid them to take on global tax (VAT\/GST by jurisdiction) and chargeback liability. If an agent in Germany pays me USDC for an API call, the VAT obligation doesn&#8217;t vanish just because there&#8217;s no card \u2014 it just becomes mine. So how do you think about tax\/compliance for sellers? Is it &#8220;you&#8217;re on your own, that&#8217;s the price of 0%&#8221;, or is something planned? Genuinely the first thing I&#8217;d have to answer before switching \u2014 not a gotcha. (And to be fair: no chargebacks is a real win, and ~2s settlement is a bigger one than people realize if you&#8217;ve ever waited on a payout.)<\/p>\n<p>The discovery angle is what actually stuck with me, though. I run a JVM thread-dump analyzer with a REST API, and &#8220;an agent debugging a prod incident buys one analysis&#8221; is a use case I hadn&#8217;t considered until reading this. How does the Index work \u2014 does the agent read a schema\/description, or is it more structured than 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\/@maschiojv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maschiojv<\/a>&nbsp;Straight answer on tax: today, you&#8217;re the merchant. We&#8217;re payment infrastructure, not a merchant of record \u2014 the VAT obligation Paddle absorbed stays yours, and the 0% doesn&#8217;t cover it. What you get from us is the paper trail: every settled call leaves a signed receipt (payer, amount, timestamp, resource), fully exportable. An opt-in MoR-style layer is on the radar as we add seller KYC \u2014 planned, not shipped, said plainly.<\/p>\n<p>On the Index: more structured than a description. Each listing is a machine-readable record \u2014 capability, per-tool schemas, price per call, and the payment requirement itself. An agent searches by capability, reads the exact contract, pays, done.<\/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\/@maschiojv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@maschiojv<\/a>&nbsp;On Index discovery: each listing is fully structured \u2014 tool schema, pricing per parameter, payment requirement. Agents read the contract, not descriptions. They compute if it solves the task, check price against their spend cap, pay, execute. No human needed. That&#8217;s why machine-readable matters more than pretty.<\/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 100%-revenue, no-percentage-cut model is a bold stance in a space where everyone takes a slice. Agent-to-agent payments settling in ~2 seconds via USDC is genuinely the kind of infrastructure the agent economy needs before it can scale. The Loomal Index is a smart addition too \u2014 a discovery layer means sellers aren&#8217;t just adding a paywall, they&#8217;re getting distribution. Quick question: how do you handle disputes or refunds when the buyer is an autonomous agent? Congrats on shipping!<\/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\/@kelly_king3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kelly_king3<\/a>&nbsp;Thanks Kelly! Straight answer on disputes: today there&#8217;s no chargeback or automated refund \u2014 a settled call stands. What makes that workable right now is per-call blast radius: a bad seller costs an agent cents, and any endpoint can be tested for one call&#8217;s price before it&#8217;s trusted with volume.<\/p>\n<\/p>\n<p>But the plan goes further. Past a revenue threshold, sellers go through identity verification \u2014 so every payment at scale sits behind a verified seller we can actually work with when a dispute is raised. Pair that with signed receipts on every settled call (who paid whom, for what \u2014 cryptographic evidence, not competing anecdotes) and you get a real dispute path: verified counterparty + provable transaction history.<\/p>\n<\/p>\n<p>Quality reviews on top of that come from the agents that paid, not from us \u2014 Loomal isn&#8217;t the judge, buyers&#8217; outcomes are. And glad the Index framing landed \u2014 paywall plus distribution was always the bundle \ud83d\ude4f<\/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\">Are you guys using MPP?<\/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\/@jp_west\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jp_west<\/a>&nbsp;Not currently \u2014 we&#8217;re built on x402, which MPP is philosophically a sibling of: both standardize HTTP 402 so payment rides in the request itself. We went with x402 for instant USDC settlement and because it was live and proven when we built.<\/p>\n<p>The good news for sellers: the winner of that protocol race matters less than it looks. Payment sits at the transport layer in our design \u2014 your listing and your code don&#8217;t care which 402 dialect the agent speaks. If MPP earns real adoption, supporting it alongside x402 is an us-problem, not a re-integration for you. That&#8217;s the point of betting on open protocols instead of rolling our own<\/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! The no-skim pricing is a bold wedge \u2014 flat plans instead of a % cut flips the usual marketplace model. Question: how does discovery work on the Loomal Index? Is there any ranking\/curation, or is it first-come?<\/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\/@faisal_arab\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@faisal_arab<\/a>&nbsp;Not first-come, and deliberately not pay-to-play either. Today agents search the Index by capability, and listings carry real signals \u2014 whether it&#8217;s claimed, whether its tools are actually live, whether it has real usage \u2014 so a dead listing doesn&#8217;t sit above a working one just because it arrived early.<\/p>\n<p>The part I like most: because we don&#8217;t take a % of anything, we have zero incentive to rank by who pays us more. As transaction history accumulates, ranking leans on the most honest signal that exists \u2014 settled calls. What agents actually pay for, repeatedly, is the curation. Reviews can be faked; repeat purchases at real cost can&#8217;t<\/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! If one agent gets compromised, can you shut down just its identity, or does it affect the whole account?<\/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\/@irahimiam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@irahimiam<\/a>&nbsp;Just that identity \u2014 that&#8217;s the whole point of giving each agent its own. Every agent gets its own key and its own scoped permissions, so if one is compromised you rotate its key (the old one dies instantly), strip its scopes, or delete the identity outright. Your other agents and your account never notice.<\/p>\n<p>It&#8217;s the difference between cancelling one employee&#8217;s badge and re-keying the building, Blast radius was the first design constraint, not an afterthought \u2014 an agent can only ever lose what that one identity was allowed to touch.<\/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\">Congrats Danny and team! As someone who builds internal skills and MCP servers, \u201cone line of code and keep 100%\u201d is the first monetization pitch in this space that doesn\u2019t feel like a tax. One thing I haven\u2019t seen asked: what happens when the paid call delivers garbage? No chargebacks in USDC, so if my agent pays a listed API and gets back an empty or wrong result, is there any refund or dispute path, or is the on-chain review history the only protection? That answer decides whether I\u2019d let my agents spend real money on the Index.<\/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\/@ridhwikvinod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ridhwikvinod<\/a>&nbsp;Straight answer: today there&#8217;s no chargeback or automated refund. If a call settles and the result is garbage, that payment stands \u2014 I won&#8217;t dress that up.<\/p>\n<p>What protects you is structural: per-call pricing means exposure per bad seller is cents, not a subscription \u2014 you can test any endpoint for one call&#8217;s price before trusting it. And every settled call leaves a signed receipt binding who paid whom for what, so a seller returning junk builds a provable bad track record, not one-star vibes.<\/p>\n<p>We&#8217;re adding a reputation matrix on top of exactly that \u2014 and importantly, results get reviewed by the agents that paid, not by Loomal. We&#8217;re not the quality judge; the buyers&#8217; own outcomes are. Refund\/dispute flows follow, with the receipts as their evidence layer.<\/p>\n<p>But today: small blast radius, cryptographic paper trail, reputation that compounds. If that&#8217;s not enough for your use case yet, fair \u2014 that&#8217;s why per-call starts at a cent<\/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>curious how versioning works on the seller side. if I list a paid MCP tool and later change its input\/output schema, do agents that already paid for the old contract get a grace period, or is there just one live version and everyone gets the new behavior immediately whether their integration expects it or not<\/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\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;Good question \u2014 the per-call model changes its shape. Agents never pre-buy access to your tool; every call is a fresh purchase of whatever&#8217;s live at that moment. So there&#8217;s no prepaid old contract to strand \u2014 anything an agent paid for already completed against the schema that existed when it paid, receipt included.<\/p>\n<p>That said, breaking changes still break integrations, same as any API. Today there&#8217;s one live version per listing, so the honest playbook is what good API sellers already do: list the new schema as a separate endpoint, run both side by side, deprecate the old one when traffic moves. Since listings are machine-readable, agents can re-check the schema before calling instead of discovering drift the hard way.<\/p>\n<p>Grace periods as a platform feature \u2014 pinned schema versions on a listing \u2014 is a genuinely good idea, and this comment just moved it up the 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I am fairly new to this concept. I own <a href=\"https:\/\/www.CasterHQ.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">www.CasterHQ.com<\/a> and am wondering if AI Agents only shop for digital products or if companies are using or training their &#8220;purchasing&#8221; to shop for phsyical goods as well like for what I sell? Would this be a beneficial service for my website as well? The description on the service is slightly confusing for me, is there a more simplified explanation on if this is beneficial to ever e-commerce store or only specific types. Thank you so much. <\/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\/@casterhq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@casterhq<\/a>&nbsp;Thanks for the honest question \u2014 here&#8217;s the simple version.<\/p>\n<p>Agents can absolutely buy physical goods; nothing about the payment side cares whether the product is an API call or a pallet of casters. You ship the same way you do today \u2014 the only thing that changes is who clicked &#8220;buy.&#8221;<\/p>\n<p>For a store like yours there are a few paths, depending on how technical you want to get. If you have a developer (even a freelancer), the SDK works today \u2014 your catalog becomes something agents can browse and pay for programmatically. If you don&#8217;t want to run anything yourself, we can host the endpoint for you \u2014 you define what you sell, we handle the agent-facing side. And for the no-code route, Shopify\/WooCommerce-style plugins are coming that make it a checkbox in your existing dashboard.<\/p>\n<p>Your category is actually a strong fit, by the way. Industrial supplies are exactly what purchasing agents automate first \u2014 a maintenance system that notices worn casters and reorders the same SKU is a far more natural agent purchase than impulse shopping.<\/p>\n<p>Happy to help you figure out which path fits \u2014 reach out anytime.<\/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\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KF7OF57DIOCVEJ\" class=\"app-title\">Playground<\/a><\/p>\n<div class=\"one-liner\">Earn $100K+ in weekly rewards for hacking AI agents.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">227<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Playground \u662f\u4e00\u4e2a\u5c06AI\u7ea2\u961f\u6d4b\u8bd5\uff08Red-Teaming\uff09\u6e38\u620f\u5316\u7684\u5f00\u6e90\u5e73\u53f0\uff0c\u901a\u8fc7\u8ba9\u7528\u6237\u7834\u89e3\u516c\u5f00\u7cfb\u7edf\u63d0\u793a\u8bcd\u7684AI\u4ee3\u7406\u5e76\u8d62\u53d6\u5468\u5956\u52b1\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u53d1\u73b0\u771f\u5b9eAI\u5b89\u5168\u6f0f\u6d1e\uff0c\u5b9e\u73b0\u4f17\u5305\u5b89\u5168\u6d4b\u8bd5\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\/9035f648-9a22-4450-b3f2-5ba3567bb34b.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\/6921b63b-771d-4f14-98d5-606aadf28498.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\/1f7e8297-e7de-42fc-8b71-d81f5e2711e4.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\/db9b69b8-0213-4ac1-9e62-1429b2ecd84d.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\/6bde531f-bc05-4e7c-871e-34bf94fe1258.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\/d42d3a63-2fdb-404c-ad80-f9ca30a8650d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Games<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u7ea2\u961f\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">Prompt\u7834\u89e3<\/span><br \/>\n            <span class=\"tag\">\u4f17\u5305\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u6f0f\u6d1e\u6316\u6398<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u5316<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7edc\u653b\u9632<\/span><br \/>\n            <span class=\"tag\">\u5956\u52b1\u673a\u5236<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u4e3a\u521b\u610f\u72ec\u7279\u4e14\u96be\u5ea6\u9ad8\uff08\u201c30\u79d2\u5c31\u88ab\u9ed1\u4e86\u201d\uff09\uff0c\u8d5e\u8d4f\u516c\u5f00\u7cfb\u7edf\u63d0\u793a\u8bcd\u7684\u73a9\u6cd5\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a1\uff09\u5982\u4f55\u5ba1\u6838\u201c\u6210\u529f\u7834\u89e3\u201d\u7ed3\u679c\uff08\u5b98\u65b9\u56de\u590d\u4e3a\u4eba\u5de5\u5ba1\u6838\uff09\uff1b2\uff09\u7834\u89e3\u6f0f\u6d1e\u662f\u5426\u4f1a\u88ab\u5373\u65f6\u4fee\u590d\uff1b3\uff09\u672a\u6765\u662f\u5426\u4f1a\u62d3\u5c55\u5230\u5b89\u5168\u4ee5\u5916\u7684\u9886\u57df\uff08\u5b98\u65b9\u6697\u793a\u6709\u66f4\u591a\u8ba1\u5212\uff09\u3002\u6709\u7528\u6237\u63d0\u51fa\u4ea7\u54c1\u5b9a\u4f4d\u4e0d\u591f\u6e05\u6670\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                Playground\u4e0d\u662f\u4e00\u4e2a\u666e\u901a\u7684\u201c\u6e38\u620f\u201d\uff0c\u800c\u662fFabraix\u516c\u53f8\u5c06\u81ea\u8eab\u5546\u4e1a\u5316\u7ea2\u961f\u6d4b\u8bd5\u4e1a\u52a1\u8fdb\u884c\u201c\u964d\u7ef4\u6253\u51fb\u201d\u7684\u7edd\u5999\u7b56\u7565\u3002\u5b83\u7cbe\u51c6\u6293\u4f4f\u4e86AI\u5b89\u5168\u9886\u57df\u7684\u4e24\u5927\u75db\u70b9\uff1a\u4e00\u662f\u73b0\u6709\u9632\u5fa1\u6d4b\u8bd5\uff08\u5982\u81ea\u6211\u7ea2\u961f\uff09\u56e0\u601d\u7ef4\u540c\u8d28\u5316\u800c\u5931\u6548\uff1b\u4e8c\u662f\u9ad8\u8d28\u91cf\u7684\u653b\u51fb\u6d4b\u8bd5\u6570\u636e\u6781\u5ea6\u7a00\u7f3a\u4e14\u6602\u8d35\u3002\u901a\u8fc7\u6bcf\u5468\u60ac\u8d4f10\u4e07\u7f8e\u5143\u5e76\u5c06\u7cfb\u7edf\u63d0\u793a\u8bcd\u5b8c\u5168\u516c\u5f00\uff0cPlayground\u672c\u8d28\u4e0a\u662f\u5728\u7528\u6781\u4f4e\u7684\u6210\u672c\uff08\u5956\u91d1\u8fdc\u4f4e\u4e8e\u96c7\u4f63\u9876\u7ea7\u7ea2\u961f\u987e\u95ee\uff09\u6fc0\u52b1\u5168\u7403\u9ed1\u5ba2\u8fdb\u884c\u9ad8\u5f3a\u5ea6\u7684\u201c\u5bf9\u6297\u6027\u653b\u51fb\u201d\uff0c\u4ece\u800c\u767d\u5ad6\u6700\u5c16\u7aef\u7684\u7834\u89e3\u601d\u8def\u548c\u6f0f\u6d1e\u5e93\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u8bbe\u8ba1\u6781\u5ea6\u806a\u660e\uff1a\u5f00\u6e90\u4fdd\u8bc1\u4e86\u900f\u660e\u5ea6\u548c\u4fe1\u4efb\u5ea6\uff0c\u4eba\u5de5\u5ba1\u6838\u786e\u4fdd\u4e86\u8bc4\u5206\u7684\u6743\u5a01\u6027\uff0c\u65e0\u8d26\u6237\u5373\u53ef\u8bd5\u73a9\u964d\u4f4e\u4e86\u53c2\u4e0e\u95e8\u69db\u3002\u4ece\u8bc4\u8bba\u4e2d\u53ef\u4ee5\u770b\u51fa\uff0c\u7528\u6237\u7684\u6ce8\u610f\u529b\u5b8c\u5168\u88ab\u201c\u5982\u4f55\u7834\u89e3\u201d\u7684\u667a\u529b\u6311\u6218\u6240\u5438\u5f15\uff0c\u8fd9\u6b63\u662f\u6e38\u620f\u5316\u8bbe\u8ba1\u7684\u6210\u529f\u4e4b\u5904\u3002\u4f46\u51b7\u9759\u6765\u770b\uff0c\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u5f53\u5468\u7684\u83b7\u80dc\u8005\uff0c\u800c\u5728\u4e8eFabraix\u80fd\u591f\u6301\u7eed\u6536\u96c6\u5230\u6d77\u91cf\u7684\u3001\u5177\u6709\u771f\u5b9e\u653b\u51fb\u884c\u4e3a\u7684\u5bf9\u8bdd\u65e5\u5fd7\uff0c\u8fd9\u4e9b\u6570\u636e\u5bf9\u8bad\u7ec3\u66f4\u5f3a\u5927\u7684\u9632\u5fa1Agent\u5177\u6709\u4e0d\u53ef\u4f30\u91cf\u7684\u5546\u4e1a\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u80cc\u540e\u7684\u9690\u5fe7\u662f\u53ef\u6301\u7eed\u6027\uff1a\u968f\u7740\u96be\u5ea6\u63d0\u5347\u548c\u6f0f\u6d1e\u4fee\u590d\uff0c\u65b0\u6311\u6218\u662f\u5426\u8fd8\u80fd\u6301\u7eed\u5438\u5f15\u9876\u7ea7\u9ed1\u5ba2\uff1f\u5982\u679c\u7834\u89e3\u6ca6\u4e3a\u7279\u5b9a\u6a21\u5f0f\u7684\u91cd\u590d\uff0c\u7528\u6237\u70ed\u60c5\u5c06\u8fc5\u901f\u6d88\u9000\u3002\u6b64\u5916\uff0c\u201c\u6bcf\u5468\u51a0\u519b\u201d\u7684\u673a\u5236\u53ef\u80fd\u5bfc\u81f4\u6295\u673a\u8005\u53ea\u9488\u5bf9\u5956\u91d1\uff0c\u800c\u975e\u63d0\u4f9b\u771f\u6b63\u6709\u610f\u4e49\u7684\u901a\u7528\u9632\u5fa1\u601d\u8def\u3002\u4f46\u65e0\u8bba\u5982\u4f55\uff0cPlayground\u5f00\u521b\u4e86\u4e00\u79cd\u6781\u6709\u8bf4\u670d\u529b\u7684\u4ea7\u54c1\u8303\u5f0f\u2014\u2014\u4e0e\u5176\u8ba9\u4e70\u5bb6\u76f8\u4fe1\u4f60\u201c\u5b89\u5168\u201d\uff0c\u4e0d\u5982\u8ba9\u4ed6\u4eec\u4eb2\u773c\u770b\u7740\u4f60\u88ab\u5168\u7f51\u653b\u51fb\u5374\u4f9d\u7136\u5c79\u7acb\u4e0d\u5012\uff0c\u8fd9\u624d\u662f\u6700\u9ad8\u7ea7\u7684\u201c\u4fe1\u4efb\u8425\u9500\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\">Playground<\/span>\n                <\/div>\n<div class=\"comment-content\">Every challenge is a live and open-source AI agent guarding a secret &#8211; with its system prompt published for you to read. Talk it past its own defenses. Land the most approved breaks in a week and win $100K+ in rewards. Free to play, no account needed. New challenge every Monday.<\/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 Zach here, co-founder of Fabraix.<\/p>\n<\/p>\n<p>We build frontier red-teaming AI agents that find security vulnerabilities in customer-facing AI. Playground turns part of that work into a game anyone can play.<\/p>\n<\/p>\n<p>Each challenge is a <strong>live<\/strong> AI agent with real tools, including web search and browser access. It has a secret it has been instructed to protect, and we publish its full system prompt. You can see exactly what the agent was told and try to get around its defenses.<\/p>\n<\/p>\n<p>Our first challenge, <strong>The Gatekeeper<\/strong>, is live now. Kai is an assistant guarding a classified access code. You can start playing without an account, but you\u2019ll need to sign in for a successful break to count toward the weekly leaderboard. We review every submission ourselves. The player with the most approved breaks each week wins, and we publish a new challenge every Monday.<\/p>\n<\/p>\n<p>Playground is open source, including the client, a reference implementation of the defender engine, and every challenge configuration. You can also propose a future challenge.<\/p>\n<\/p>\n<p>We made Playground public because other people will try attacks our team would never think of. We\u2019ll use what we learn from successful breaks to improve how AI agents are tested and defended.<\/p>\n<\/p>\n<p>Show us your hacking skills \u2192 <a href=\"http:\/\/playground.fabraix.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">playground.fabraix.com<\/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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zachx0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zachx0<\/a>&nbsp;it&#8217;s damn unbreakable<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is absolute insanity. I thought my agent was bulletproof and it just got hacked in 30s. Actually amazing 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\/@jockferguson\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jockferguson<\/a>&nbsp;watch this space \ud83d\udc40<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Publishing the full system prompt and still daring people to break it takes real confidence. <\/p>\n<\/p>\n<p>The Gatekeeper\/Kai setup is such a clever way to crowdsource red-teaming. Curious &#8211; once someone finds a working break, do you patch that hole before the next challenge, or is some of the fun watching the same trick get reused?<\/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>There&#8217;s absolutely NO WAY that you guys crack all these challenges!! \ud83d\ude09<\/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\/@ibrahim_abdu1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ibrahim_abdu1<\/a>&nbsp;watch me<\/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><a href=\"https:\/\/www.producthunt.com\/@zachx0\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zachx0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zachx0<\/a> Love it! Congrats. Sounds like this is more so centered around security \/ data protection. Over time do you think you&#8217;ll expand the challenges to include other domains as well?<\/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\/@zachx0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zachx0<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@millwiller\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@millwiller<\/a>&nbsp;Yep, we&#8217;ve got some crazy stuff planned!<\/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>The idea of poking holes in your own assistant before real customers can is such a healthy instinct, Zach. Better to have the awkward surprises happen in private where you can fix them quietly.<\/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\/@xavier_macia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xavier_macia<\/a>&nbsp;100%!!<\/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! I am a little curious-Is the product meant to help people build agents, operate agents across workflows, or automate tasks through an agent interface? A concrete example workflow would help place it quickly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The blackbox approach is really smart, skipping integrations means I could actually point this at an internal agent today and get useful signal back within minutes.<\/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>This is a fascinating idea. We spend so much time optimizing AI agents, but not nearly enough time trying to break them. <\/p>\n<p>Curious&#8230;what&#8217;s the most surprising vulnerability you&#8217;ve uncovered so far?<\/p>\n<p>Wishing you a successful launch! \ud83d\ude80<\/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\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;Thanks!! Yeah thats our thesis!<\/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>publishing the full system prompt and still making it hard is a genuinely good flex, most &#8220;jailbreak me&#8221; demos quietly rely on the prompt being secret. do the weekly challenges get harder over time as people share successful breaks publicly, or is each one designed independently so last week&#8217;s winning technique doesn&#8217;t just carry over?<\/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>publishing the system prompt and still winning is the honest way to run this. who judges an &#8220;approved&#8221; break, a human review queue or another model scoring the transcript?<\/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\">@sabber_ahamed a human! \ud83e\udee1<\/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;approved breaks&#8221; is the interesting phrase, who approves them, a human reviewer or a judge model? grading jailbreak success automatically is its own hard problem, curious if that&#8217;s solved or still manual.<\/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\">@sabber_ahamed It&#8217;s a human reviewer. So you can be sure that it will be as fair as possible.<\/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\/X3ZB5C7CKR3XV7\" class=\"app-title\">Knockoff<\/a><\/p>\n<div class=\"one-liner\">Amazon, without the knockoffs<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">210<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Knockoff\u662f\u4e00\u6b3e\u4e9a\u9a6c\u900a\u6d4f\u89c8\u5668\u6269\u5c55\uff0c\u80fd\u81ea\u52a8\u8fc7\u6ee4\u641c\u7d22\u7ed3\u679c\u4e2d\u7684\u5c71\u5be8\u54c1\u724c\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u8d2d\u7269\u65f6\u907f\u5f00\u508d\u540d\u724c\u7684\u4f2a\u52a3\u4ea7\u54c1\uff0c\u53ea\u7559\u4e0b\u6709\u4fe1\u8a89\u7684\u5b98\u65b9\u54c1\u724c\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\/f358fce5-77e8-44bc-9fb4-b9bd1e79bb95.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\/d4649b0b-0c52-4b6a-ac75-0fcdea37857e.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\/ed484c6d-9095-42b1-9ad6-deaf91d2ad29.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\/f4b84f22-235c-4d4d-9e6a-9fdbab0efb3d.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\/2b96e644-ef3d-481f-b243-36b0d43d3be4.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\">Browser Extensions<\/span><br \/>\n            <span class=\"tag\">Amazon<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Shopping<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6d4f\u89c8\u5668\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u4e9a\u9a6c\u900a\u8d2d\u7269<\/span><br \/>\n            <span class=\"tag\">\u5c71\u5be8\u54c1\u724c\u8fc7\u6ee4<\/span><br \/>\n            <span class=\"tag\">\u5546\u6807\u4fb5\u6743<\/span><br \/>\n            <span class=\"tag\">\u6d88\u8d39\u8005\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u7535\u5546\u4fe1\u4efb<\/span><br \/>\n            <span class=\"tag\">\u793e\u533a\u62a5\u544a<\/span><br \/>\n            <span class=\"tag\">\u8bed\u8a00\u8bc4\u5206<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u8d2d\u7269\u8f85\u52a9<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u5fc3\u8fc7\u6ee4\u673a\u5236\uff0c\u5c24\u5176\u662f\u5982\u4f55\u533a\u5206\u5c71\u5be8\u54c1\u724c\u4e0e\u5408\u6cd5\u5c0f\u54c1\u724c\u3002\u5f00\u53d1\u8005\u56de\u5e94\u91c7\u7528\u54c1\u724c\u5e93\u3001\u8bed\u8a00\u8bc4\u5206\u548c\u793e\u533a\u62a5\u544a\u4e09\u91cd\u4fe1\u53f7\uff0c\u5e76\u5f00\u6e90\u6e90\u7801\u3002\u6709\u4eba\u62c5\u5fe7\u793e\u533a\u62a5\u544a\u88ab\u5237\u6743\u91cd\u64cd\u7eb5\uff0c\u4e5f\u6709\u7528\u6237\u53cd\u9988\u5b9e\u9645\u8fc7\u6ee4\u6548\u679c\u826f\u597d\uff0cUI\u7b80\u6d01\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                Knockoff\u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u65e5\u76ca\u4e25\u91cd\u7684\u75db\u70b9\uff1a\u4e9a\u9a6c\u900a\u5e73\u53f0\u4e0a\u5546\u6807\u62a2\u6ce8\u548c\u5c71\u5be8\u54c1\u724c\u6cdb\u6ee5\uff0c\u5bfc\u81f4\u6d88\u8d39\u8005\u9009\u8d2d\u6210\u672c\u98d9\u5347\u3002\u4ece\u6280\u672f\u65b9\u6848\u770b\uff0c\u5b83\u5e76\u975e\u9760AI\u56fe\u50cf\u8bc6\u522b\u6216\u6df1\u5ea6\u5b66\u4e60\u8fd9\u79cd\u201c\u9ed1\u79d1\u6280\u201d\uff0c\u800c\u662f\u52a1\u5b9e\u7ec4\u5408\u4e86\u4e09\u4e2a\u624b\u6bb5\uff1a\u9884\u8bbe\u54c1\u724c\u767d\u540d\u5355\u3001\u57fa\u4e8e\u6587\u672c\u7684\u8bed\u8a00\u8bc4\u5206\uff08\u9488\u5bf9\u4e71\u7801\u3001\u5927\u5199\u3001\u65e0\u5143\u97f3\u7b49\u7279\u5f81\uff09\u4ee5\u53ca\u793e\u533a\u62a5\u544a\u7f51\u7edc\u3002\u8fd9\u79cd\u4f4e\u6210\u672c\u3001\u9ad8\u53ef\u89e3\u91ca\u6027\u7684\u8def\u7ebf\uff0c\u65e2\u9002\u5408\u6d4f\u89c8\u5668\u6269\u5c55\u7684\u8f7b\u91cf\u7ea7\u5b9a\u4f4d\uff0c\u53c8\u80fd\u5feb\u901f\u4e0a\u7ebf\u83b7\u53d6\u53cd\u9988\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7684\u957f\u671f\u4ef7\u503c\u9762\u4e34\u4e24\u4e2a\u4e25\u5cfb\u6311\u6218\u3002\u7b2c\u4e00\uff0c\u5b9a\u4e49\u201c\u5c71\u5be8\u201d\u7684\u8fb9\u754c\u975e\u5e38\u6a21\u7cca\u2014\u2014\u4e00\u4e2a\u6765\u81ea\u975e\u82f1\u8bed\u56fd\u5bb6\u7684\u5408\u6cd5\u65b0\u54c1\u724c\uff0c\u5176\u540d\u79f0\u5728\u8bed\u8a00\u8bc4\u5206\u4e2d\u6781\u53ef\u80fd\u88ab\u8bef\u5224\u4e3a\u201c\u673a\u5668\u751f\u6210\u201d\uff0c\u800c\u793e\u533a\u62a5\u544a\u673a\u5236\u53c8\u6613\u88ab\u6076\u610f\u64cd\u63a7\uff08\u5982\u524d\u6392\u8bc4\u8bba\u6240\u8d28\u7591\uff0c\u5237\u7968\u5f0f\u201c\u6d17\u767d\u201d\u6216\u201c\u62b9\u9ed1\u201d\uff09\u3002\u7b2c\u4e8c\uff0cKnockoff\u672c\u8d28\u4e0a\u662f\u5728\u8865\u4e9a\u9a6c\u900a\u7684\u6f0f\u6d1e\uff0c\u800c\u975e\u4fee\u590d\u5e73\u53f0\u672c\u8eab\u3002\u4e00\u65e6\u4e9a\u9a6c\u900a\u81ea\u5df1\u6539\u8fdb\u641c\u7d22\u7b97\u6cd5\u6216\u52a0\u5f3a\u5bf9\u54c1\u724c\u6ce8\u518c\u7684\u5ba1\u6838\uff0c\u8fd9\u4e2a\u5de5\u5177\u7684\u4ef7\u503c\u4f1a\u8fc5\u901f\u5f52\u96f6\u3002\u66f4\u4f55\u51b5\uff0c\u50cfHORUSDY\u8fd9\u7c7b\u54c1\u724c\u672c\u8eab\u4e5f\u5728\u4e9a\u9a6c\u900a\u4e0a\u505a\u5e7f\u544a\u6295\u653e\uff0c\u5c4f\u853d\u5b83\u4eec\u53ef\u80fd\u610f\u5473\u7740\u4e0e\u5e73\u53f0\u5546\u4e1a\u5229\u76ca\u51b2\u7a81\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u76ee\u524d210\u7968\u548c\u79ef\u6781\u7684\u7528\u6237\u8bc4\u4ef7\uff0c\u66f4\u591a\u662f\u6765\u81ea\u65e9\u671f\u7528\u6237\u5bf9\u201c\u7406\u5ff5\u8ba4\u540c\u201d\u7684\u60c5\u611f\u6ea2\u4ef7\u2014\u2014\u6bd5\u7adf\u201c\u6253\u51fb\u5c71\u5be8\u201d\u662f\u653f\u6cbb\u6b63\u786e\u3002\u4f46\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u5f88\u6d45\uff1a\u6280\u672f\u4e0a\u53ef\u88ab\u6a21\u4eff\uff0c\u6570\u636e\u4e0a\u4f9d\u8d56\u793e\u533a\u8d21\u732e\u5374\u65e0\u6cd5\u9632\u6b62\u6c61\u67d3\uff0c\u5546\u4e1a\u6a21\u5f0f\u4e5f\u5c1a\u672a\u660e\u786e\uff08\u662f\u5356\u6570\u636e\u3001\u505a\u63a8\u8350\u5bfc\u8d2d\u3001\u8fd8\u662f\u6536\u54c1\u724c\u8ba4\u8bc1\u8d39\uff1f\uff09\u3002\u5982\u679c\u80fd\u8f6c\u5411\u4e3a\u201c\u4e2d\u5c0f\u54c1\u724c\u4fe1\u4efb\u8ba4\u8bc1\u5e73\u53f0\u201d\uff0c\u6216\u8bb8\u6bd4\u5355\u7eaf\u505a\u8fc7\u6ee4\u5de5\u5177\u6709\u66f4\u957f\u8fdc\u7684\u751f\u5b58\u7a7a\u95f4\u3002\u5426\u5219\uff0c\u5b83\u66f4\u50cf\u662f\u4e9a\u9a6c\u900a\u751f\u6001\u91cc\u4e00\u4e2a\u806a\u660e\u7684\u4e34\u65f6\u8865\u4e01\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\">Knockoff<\/span>\n                <\/div>\n<div class=\"comment-content\">Knockoff filters the trademark-squat pseudo-brands (the SZHLUXes and HORUSDYs) out of your search results, so what&#8217;s left is brands with a reputation to lose.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p> Curious how Knockoff decides something is likely a knockoff on Amazon. Is it looking at seller history, review patterns, brand matching, listing text, or some mix of signals? The browser extension angle is interesting, but I\u2019d want to understand how it avoids hiding legitimate third-party sellers or small brands that just don\u2019t have much review history yet.<\/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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Three signals. A register of 5,500+ established brands: names on it are left alone. A linguistic score for unknown names, tuned to the signature of trademark-squat pseudo-brands (ALL-CAPS strings, vanishing vowels, improbable consonant runs). And a community list built from user reports, which reaches every install within a day. Verdicts are heuristics plus lists.<\/p>\n<p>Certainly not perfect, but it&#8217;s improving every day (thanks to thousands of community contributions).<\/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>Counterfeits are the marketplace problem nobody fully solves. How does Knockoff actually decide something&#8217;s a knockoff, is it seller signals and review patterns, or something on the listing itself? The tricky case I always hit is the gray-market real product sold through a sketchy third party, technically genuine but you&#8217;d never know if it&#8217;s legit stock. Curious where the line lands for you on that one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the community-report list is the part I&#8217;d want to stress test before trusting it &#8211; a crowdsourced override is great against false positives, but it&#8217;s also exactly the surface a squatter would try to game by having their own listing mass-&#8220;reported&#8221; as legit from throwaway accounts. is there any friction on that path, like report weight tied to account age\/history, or can a fresh brand get whitelisted purely on volume of reports<\/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>One of the best ideas I saw on the feed lately! Congrats <\/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>Ha, the name sells it. Curious how you&#8217;re matching products \u2014 image similarity, or title\/description matching?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the concept! It&#8217;s becoming increasingly difficult to tell which brands are legitimate on large marketplaces. Curious&#8230;how do you decide whether a brand gets a green check or a warning?<\/p>\n<p>Nice work! \ud83d\udc4f<\/p>\n<\/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\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;Full breakdown of how it works in the OSS repo: <a href=\"https:\/\/github.com\/Shpigford\/knockoff#how-it-works\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/Shpigford\/knockoff#how-it-works<\/a><\/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><a href=\"https:\/\/www.producthunt.com\/@shpigford\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"shpigford\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shpigford<\/a> Knockoff is super cool. Being a parent, we usually shop for a lot of products on amazon and there are so many duplicate brands with fake reviews and fake ratings. Its extremely difficult to identify the true brands. <\/p>\n<p>Just ran a quick search with knockoff and it works super well. Never disabling it. Kudos 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\/@roopesh_donde\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@roopesh_donde<\/a>&nbsp;Thanks so much!<\/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>How do you decide where to draw the line between a knockoff brand and a legitimate new brand that just isn&#8217;t well known yet?<\/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>Tried it on a few searches, the junk does get filtered out. One thing I&#8217;m not clear on: how do you tell a squatter from an honest new small brand? Both have no history and no reviews. Showing <em>why<\/em> a brand got flagged would help.<\/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>I like that it clearly marks what is assumed to be fake or poor copies, but that we can still see them. <br \/>Smart idea!<\/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>the linguistic scoring for pseudo-brand names is a neat idea but I&#8217;d worry about false positives &#8211; plenty of small legit brands from non-english-speaking founders end up with names that sound machine generated by accident. does the community-report list act as an override that can clear a brand the linguistic score flagged, or does a bad linguistic score cap how high a brand can rank even after being reported as legit<\/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>I installed it the other day and it works as advertised! Amazon is letting too much garbage into their store these days, and Knockoff helps sweep it back 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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Tested Knockoff and loved it! The UI is clean as well. I did not know something like this could exist, but I am glad you listed it here \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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Kind of funny to be at the stage where a product like this is needed for eCommerce in the first place but nevertheless essential to save time and help consumers avoid low quality products.<\/p>\n<p>Great use case and example of a worthwhile Chrome Extension <a href=\"https:\/\/www.producthunt.com\/@shpigford\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"shpigford\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shpigford<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The browser-extension angle makes a lot of sense here because the trust problem happens right inside the shopping workflow. One thing I\u2019d be curious about: when the signal is not obvious, do you show users why a brand was filtered or flagged, or keep the decision mostly automatic?<\/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\/@yaroslav_stelmakh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yaroslav_stelmakh<\/a>&nbsp;Yes, we given an explanation via the extension.<\/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>Super clean UI! I&#8217;ve been looking for a reliable Fakespot alternative and this seems perfect. Quick question: How often is the brand register refreshed? Rooting for you guys! \ud83d\ude80<\/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\/@derrickzhangdev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@derrickzhangdev<\/a>&nbsp;Brand data is updated automatically every 24 hours!<\/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\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3NRQJ4QDV7M6EB\" class=\"app-title\">Marked QL<\/a><\/p>\n<div class=\"one-liner\">Instant markdown previews in Finder<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">197<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Marked QL \u662f\u4e00\u6b3e macOS Finder \u6269\u5c55\uff0c\u8ba9\u7528\u6237\u901a\u8fc7\u7a7a\u683c\u952e\u5feb\u901f\u9884\u89c8 Markdown \u6587\u4ef6\uff0c\u5b9e\u73b0\u6e32\u67d3\u7cbe\u7f8e\u7684\u5373\u65f6\u9884\u89c8\uff0c\u89e3\u51b3\u5728 Finder \u4e2d\u67e5\u770b Markdown \u65f6\u53ea\u80fd\u770b\u5230\u539f\u59cb\u6587\u672c\u3001\u65e0\u6cd5\u5feb\u901f\u786e\u8ba4\u5185\u5bb9\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\/64175f1a-7ec0-4f0e-b999-92430543f4ac.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\/486a3900-7800-43d5-a986-2031081189c8.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\/28744be9-4956-48b8-a2d1-8382f3bf2381.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\/133d1e55-a93b-42b0-b1af-c135fc8d1a5d.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\/0985bcf8-0cd9-42cb-b546-58ed578180e9.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\/5ee468fc-b00d-43c1-b702-63274cae6fdc.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\/cfe909dc-0345-46b8-bc10-2e17c31170e3.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">User Experience<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Markdown\u9884\u89c8<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Quick Look\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">Finder\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u8bed\u6cd5\u9ad8\u4eae<\/span><br \/>\n            <span class=\"tag\">Mermaid\u56fe\u8868<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b66\u516c\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u6587\u672c\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ed8\u8d39\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u539f\u751f\u9884\u89c8\u201d\u4ef7\u503c\uff0c\u5e76\u5173\u6ce8\u81ea\u5b9a\u4e49CSS\/\u4e3b\u9898\u3001\u76f8\u5bf9\u8def\u5f84\u56fe\u7247\u6e32\u67d3\u3001\u5927\u6587\u4ef6\u6027\u80fd\u53caYAML frontmatter\u652f\u6301\u3002\u4f5c\u8005\u786e\u8ba4\u652f\u6301Mermaid\u3001GFM\u53ca\u591a\u79cdMarkdown\u65b9\u8a00\uff0c\u53ef\u6dfb\u52a0\u4e00\u4e2a\u81ea\u5b9a\u4e49\u4e3b\u9898\uff0c\u5927\u6587\u4ef6\u5904\u7406\u6d41\u7545\uff0c\u5e76\u900f\u9732Quarto\u652f\u6301\u5373\u5c06\u5230\u6765\u3002\u90e8\u5206\u7528\u6237\u5bf9\u5b9a\u4ef7\uff08$4.99\uff09\u6709\u5f02\u8bae\uff0c\u4f5c\u8005\u56de\u5e94\u79f0\u5df2\u8c03\u4ef7\u4f46\u672a\u66f4\u65b0\u5e16\u5b50\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                Marked QL\u662f\u4e00\u4e2a\u5178\u578b\u7684\u201c\u55c5\u89c9\u578b\u201d\u4ea7\u54c1\u2014\u2014\u7cbe\u51c6\u55c5\u5230\u4e86macOS\u7cfb\u7edf\u7ea7\u4ea4\u4e92\u7684\u957f\u671f\u7f3a\u5931\uff0c\u5e76\u7528\u6781\u4f4e\u7684\u590d\u6742\u5ea6\u5b8c\u6210\u4e86\u586b\u8865\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u6838\u5fc3\u5174\u594b\u70b9\u5e76\u975e\u201c\u66f4\u5f3a\u5927\u7684Markdown\u7f16\u8f91\u5668\u201d\uff08\u5df2\u6709Marked 3\u3001Typora\u7b49\uff09\uff0c\u800c\u662f\u201c\u628aMarkdown\u9884\u89c8\u62c9\u56de\u7cfb\u7edf\u7ea7\u4ea4\u4e92\u201d\uff08\u7a7a\u683c\u952e\uff09\u3002\u8fd9\u79cd\u4f53\u9a8c\u7684\u80dc\u5229\u662f\u5fc3\u667a\u6a21\u578b\u7684\u4f18\u5316\uff1a\u7528\u6237\u65e0\u9700\u5207\u6362\u7a97\u53e3\u3001\u65e0\u9700\u7b49\u5f85\u5e94\u7528\u52a0\u8f7d\uff0c\u808c\u8089\u8bb0\u5fc6\u5f97\u5230\u6ee1\u8db3\u3002\u4ea7\u54c1\u672c\u8eab\u5c31\u662f\u5bf9\u201c\u7cfb\u7edf\u539f\u751f\u80fd\u529b\u4e0d\u8db3\u201d\u7684\u89e3\u836f\uff0c\u4ef7\u503c\u660e\u786e\u4e14\u53ef\u611f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u6781\u6d45\u3002\u5176\u6e32\u67d3\u80fd\u529b\u5b8c\u5168\u4f9d\u8d56\u5f00\u6e90\u5e93Apex\u548cMermaid\uff0c\u5e95\u5c42\u6280\u672f\u6ca1\u6709\u58c1\u5792\uff1b\u4e14\u4ea7\u54c1\u5f62\u6001\u53d7\u9650\u4e8emacOS\u7684Quick Look\u6269\u5c55\u6846\u67b6\uff0c\u4efb\u4f55\u4e00\u6b21\u7cfb\u7edf\u66f4\u65b0\u90fd\u53ef\u80fd\u4f7f\u5176\u5931\u6548\uff08\u591a\u540d\u7528\u6237\u5df2\u63d0\u51fa\u6b64\u987e\u8651\uff09\uff0c\u8fd9\u662f\u4e00\u9897\u9690\u5f62\u7684\u5b9a\u65f6\u70b8\u5f39\u3002\u6b64\u5916\uff0c\u53ea\u652f\u6301\u4e00\u4e2a\u81ea\u5b9a\u4e49\u4e3b\u9898\u7684\u5b9a\u5236\u80fd\u529b\u7565\u663e\u6577\u884d\uff0c\u5bf9\u4e8e\u786c\u6838\u7528\u6237\u800c\u8a00\uff0c\u8fd9\u51e0\u4e4e\u7b97\u4e0d\u4e0a\u201c\u4e3b\u9898\u652f\u6301\u201d\u3002$4.99\u7684\u5b9a\u4ef7\u5728\u201c\u4e00\u6b21\u6027\u63d0\u6548\u5de5\u5177\u201d\u54c1\u7c7b\u4e2d\u5e76\u975e\u4e0d\u53ef\u63a5\u53d7\uff0c\u4f46\u8003\u8651\u5230\u7ade\u54c1QLMarkdown\uff08\u514d\u8d39\u5f00\u6e90\uff09\u7684\u5b58\u5728\uff0c\u8fd9\u4e2a\u5b9a\u4ef7\u9700\u8981\u66f4\u5f3a\u7684\u5dee\u5f02\u5316\u2014\u2014\u800c\u76ee\u524d\u9664\u4e86MathJax\u548cMermaid\u6e32\u67d3\uff0c\u5dee\u5f02\u70b9\u5e76\u4e0d\u663e\u8457\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u662f\u4e00\u4e2a\u8ba9\u201c\u9a6c\u514b\u515a\u201d\u72c2\u559c\u7684\u7cfb\u7edf\u7f1d\u8865\u5320\uff0c\u4f46\u4fee\u8865\u5de5\u5177\u53564.99\u7f8e\u5143\uff0c\u4e14\u53ef\u80fd\u968f\u7740macOS\u66f4\u65b0\u800c\u9700\u8981\u6301\u7eed\u201c\u6025\u6551\u5f0f\u201d\u7ef4\u62a4\u3002\u9002\u5408\u8ffd\u6c42\u6548\u7387\u7684Markdown\u91cd\u5ea6\u7528\u6237\uff0c\u4f46\u4e0d\u8981\u6307\u671b\u5b83\u662f\u957f\u671f\u7a33\u5b9a\u7684\u89e3\u51b3\u65b9\u6848\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\">Marked QL<\/span>\n                <\/div>\n<div class=\"comment-content\">Marked QL renders beautiful Markdown previews in macOS Quick Look. Powered by Apex for math, Mermaid, syntax highlighting, and more. $4.99 on the Mac App Store.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been looking for a reliable Markdown Quick Look extension for a long time, and this is exactly what I needed. The previews are fast, clean, and accurate, with excellent support for syntax highlighting, Mermaid, and MathJax. Highly recommended for anyone working with Markdown on macOS.<\/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>The fact that Quick Look previews handle Mermaid diagrams and math rendering natively feels like exactly the kind of detail macOS has been missing for years. Worth every penny just to finally preview READMEs without opening the whole editor.<\/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><a href=\"https:\/\/www.producthunt.com\/@ttscoff\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ttscoff<\/a> Congrats on the launch of Marked QL, Brett! \ud83d\ude80 Having native Markdown Quick Look back in macOS with modern rendering is huge.<\/p>\n<p>Quick question on customization: does Marked QL allow using custom CSS\/themes for the Quick Look render (like custom syntax highlighting themes or dark\/light mode sync), or does it default to standard system styles?<\/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\/@franz_briones\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@franz_briones<\/a>&nbsp;You can add 1 custom theme at a time. It shares some of Marked 3&#8217;s themes by default.<\/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\">Hey Product Hunt,<\/p>\n<p>Over the years I&#8217;ve received a lo of requests for a Quick Look plugin in Marked. I&#8217;ve published Marked QL as a separate product. Works great with Marked 3, but doesn&#8217;t require it at all. Just a solid Quick Look preview for Markdown files, complete with syntax highlighting, Mermaid, MathJax, and more. Compatible with CommonMark, GFM, Multimarkdown, Kramdown, and all your favorite Markdown flavors (powered by Apex).<\/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>Congrats on the launch! Native Markdown previews in Finder are one of those features that seem small until you use them every day. I like the focus on integrating with the existing macOS workflow instead of creating another standalone app.<\/p>\n<p>Does it support GitHub Flavored Markdown features like Mermaid diagrams, task lists, and tables?<\/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\/@dasmat13\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dasmat13<\/a>&nbsp;Yep.<\/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 neat idea! Native previews always feel faster than opening another app.<br \/>Curious&#8230;does it support large Markdown files without slowing down?<\/p>\n<p>Best of luck with the launch! \ud83d\ude80<\/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\/@worksforme\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@worksforme<\/a>&nbsp;It handles pretty large files with lots of mermaid diagrams. I haven&#8217;t stress tested it with files over 500k, but it should do fine, as Apex is quite fast.<\/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 didn\u2019t know I needed this until I read about it, and now I use it all the time. It would be horrible to go back to <em>not<\/em> being able to preview markdown files just by pressing the space bar. <\/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>the part that&#8217;s kept me from relying on Quick Look plugins in the past isn&#8217;t feature coverage, it&#8217;s macOS itself &#8211; Apple&#8217;s had a history of Quick Look extensions silently stopping working after a system update until you manually re-enable them in Settings. has that been solid for you across recent macOS versions, or is that still a &#8220;check it after every update&#8221; kind of thing<\/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>The muscle memory is real: hit space, see nothing, sigh, wait for the file to open in Cursor just to check it&#8217;s the right one. I do this ritual ten times a day) <br \/>Never once has it stopped annoying me \u2014 and it took this launch to realize the fix could just&#8230; exist)<\/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>Interesting, but definitely not &#8220;$4.99 on the Mac App Store&#8221;.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/be80b6cb-4fe4-4dcc-8c34-8396421d8f5f.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/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\/@lucashaley\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lucashaley<\/a>&nbsp;Price got changed after launch but I haven&#8217;t figured out how to update the post 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>Quarto support is coming soon, so I am a happy camper<\/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! Since Quick Look runs sandboxed, does it resolve relative image paths and links inside the markdown file correctly, or does that break outside of Marked 3&#8217;s own preview?<\/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\/@irahimiam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@irahimiam<\/a>&nbsp;image display with relative paths should work, but there are sandboxing limitations when permissions aren&#8217;t accessible for the directory.<\/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 one of those tiny utilities that should honestly already exist in macOS. the built in quick look for markdown just shows raw text with the hashes and asterisks still in it, which is annoying every single time. does it handle mermaid diagrams or code blocks with syntax highlighting, or is it focused on plain prose formatting for now<\/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<pre><code>Nice \u2014 Quick Look for markdown is one of those things macOS should have shipped with. Does it handle mermaid diagrams or just standard markdown?<\/code><\/pre>\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\/@rizwan_haider15\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rizwan_haider15<\/a>&nbsp;per the author&#8230;<\/p>\n<blockquote>\n<p>Just a solid Quick Look preview for Markdown files, complete with syntax highlighting, Mermaid, MathJax, and more. Compatible with CommonMark, GFM, Multimarkdown, Kramdown, and all your favorite Markdown flavors (powered by Apex)<\/p>\n<\/blockquote>\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\/@rizwan_haider15\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rizwan_haider15<\/a>&nbsp;mermaid and syntax highlighting are supported.<\/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>That&#8217;s nice. Does it handle YAML frontmatter in README files, or does it render those as plain text?<\/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\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;Apex handles all kinds of front matter, YAML, MultiMarkdown, Pandoc, etc.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/NBZWCN2BQJJWFG\" class=\"app-title\">Simba Voice Agents<\/a><\/p>\n<div class=\"one-liner\">Voice agents powered by Simba 3.2 the world&#8217;s #1 voice model<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">157<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Simba Voice Agents \u662f\u4e00\u4e2a\u5c06\u5168\u7403\u6392\u540d\u7b2c\u4e00\u7684\u8bed\u97f3\u6a21\u578b\uff08Simba 3.2\uff09\u6253\u5305\u6210\u5f00\u53d1\u8005\u5e73\u53f0\uff0c\u63d0\u4f9b\u4e9a100\u6beb\u79d2\u5ef6\u8fdf\u3001\u6d41\u5f0f\u539f\u751f\u3001\u5e26\u771f\u5b9e\u60c5\u611f\u63a7\u5236\u7684\u8bed\u97f3\u4ee3\u7406 API\uff0c\u65e8\u5728\u5e2e\u52a9\u5f00\u53d1\u8005\u548c\u4f01\u4e1a\u4f4e\u6210\u672c\u3001\u9ad8\u6548\u7387\u5730\u6784\u5efa\u751f\u4ea7\u7ea7\u5b9e\u65f6\u8bed\u97f3\u5e94\u7528\uff0c\u89e3\u51b3\u4f20\u7edf\u8bed\u97f3 API \u5ef6\u8fdf\u9ad8\u3001\u60c5\u611f\u7f3a\u5931\u4e14\u5b9a\u4ef7\u6602\u8d35\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\/fbe5dd58-a5f5-46ac-a944-ca6731b84a12.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\/6aa0c020-9532-4849-bf6f-7552acb10702.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\/62773d91-1c8f-49b7-b7dd-bbe4c55aeae1.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\/ebdb4d97-21d0-40f3-9562-3557a121ef68.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/ZseptpSKAJo?cc_load_policy=0\"><source src=\"https:\/\/youtu.be\/ZseptpSKAJo?cc_load_policy=0\" 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\">API<\/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\">\u8bed\u97f3\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u8bed\u97f3API<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u5408\u6210\uff08TTS\uff09<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u5ef6\u8fdf<\/span><br \/>\n            <span class=\"tag\">\u6d41\u5f0f\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u514b\u9686<\/span><br \/>\n            <span class=\"tag\">AI\u8bed\u97f3\u52a9\u624b<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u4f4e\u5ef6\u8fdf\u548c\u9ad8\u6027\u4ef7\u6bd4\uff0c\u4f46\u5bf9100ms\u6307\u6807\u662f\u7aef\u5230\u7aef\u8fd8\u662f\u7eaf\u63a8\u7406\u5b58\u7591\u3002\u5f00\u53d1\u8005\u8ffd\u95ee\u8bed\u97f3\u514b\u9686\u548c\u65b9\u8a00\u652f\u6301\uff08\u5982\u963f\u62c9\u4f2f\u8bed\uff09\u7684\u843d\u5730\u8def\u5f84\uff0c\u5e76\u5173\u6ce8 API \u7684\u8bed\u97f3\u8f6c\u5199\uff08STT\uff09\u53ca\u4e13\u6709\u540d\u8bcd\u53d1\u97f3\u6548\u679c\u3002\u5b98\u65b9\u56de\u590d\u591a\u5f15\u5bfc\u81f3\u9500\u552e\u4f1a\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Speechify \u8fd9\u6b21\u201c\u964d\u7ef4\u6253\u51fb\u201d\u786e\u5b9e\u6709\u770b\u70b9\u3002Simba 3.2 \u4e0d\u662f\u5b9e\u9a8c\u5ba4\u4ea7\u7269\uff0c\u800c\u662f\u4ece\u670d\u52a1\u6570\u5343\u4e07\u6d88\u8d39\u8005\u7528\u6237\u7684\u4e25\u82db\u4e1a\u52a1\u4e2d\u6dec\u70bc\u51fa\u6765\u7684\u6a21\u578b\uff0c\u8fd9\u51b3\u5b9a\u4e86\u5b83\u5728\u201c\u6210\u672c-\u8d28\u91cf-\u5ef6\u8fdf\u201d\u4e09\u89d2\u6548\u7387\u4e0a\u5929\u7136\u4f18\u4e8e\u90a3\u4e9b\u4e3a\u6253\u699c\u800c\u751f\u3001\u5b9a\u4ef7\u9ad8\u6602\u7684\u7ade\u54c1\u30026\u7f8e\u5143\/100\u4e07\u5b57\u7b26\u51fb\u7a7f\u884c\u4e1a\u5e95\u4ef7\uff0c\u914d\u5408\u9876\u5c16\u6a21\u578b\u8bc4\u5206\uff0c\u5bf9\u5f00\u53d1\u8005\u800c\u8a00\u662f\u6781\u5177\u8bf1\u60d1\u529b\u7684\u201c\u6027\u4ef7\u6bd4\u70b8\u96f7\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8bc4\u8bba\u533a\u7684\u8ffd\u95ee\u66b4\u9732\u4e86\u5173\u952e\u7f3a\u53e3\uff1a\u6838\u5fc3\u6307\u6807\u5b9a\u4e49\u6a21\u7cca\uff08\u7aef\u5230\u7aefvs\u7eaf\u63a8\u7406\uff09\u3001\u9ad8\u7ea7\u5b9a\u5236\u88ab\u9501\u5b9a\u5728FDE\uff08\u73b0\u573a\u5de5\u7a0b\u5e08\uff09\u73af\u8282\u3001\u591a\u8bed\u8a00\u4e0e\u65b9\u8a00\u8986\u76d6\u4e0d\u8db3\u3002\u8fd9\u6697\u793a\u5176\u201c\u5f00\u53d1\u8005\u5e73\u53f0\u201d\u76ee\u524d\u7684\u6613\u7528\u6027\u4e0e\u5f00\u653e\u5ea6\u4ecd\u6709\u59a5\u534f\u2014\u2014Speechify \u4e60\u60ef\u4e86\u6d88\u8d39\u7ea7\u4ea7\u54c1\u7684\u5b8c\u7f8e\u4f53\u9a8c\u95ed\u73af\uff0c\u5c06\u8fd9\u79cd\u201c\u4fdd\u59c6\u7ea7\u201d\u590d\u5236\u5230 API \u5c42\u9762\uff0c\u5bf9\u8ffd\u6c42\u7075\u6d3b\u96c6\u6210\u7684\u786c\u6838\u5f00\u53d1\u8005\u53ef\u80fd\u662f\u4e00\u79cd\u63a3\u8098\u3002\u771f\u6b63\u7684\u8003\u9a8c\u4e0d\u5728\u4e8e\u6a21\u578b\u591a\u5f3a\uff0c\u800c\u5728\u4e8e\u6587\u6863\u3001\u793a\u4f8b\u4e0e\u81ea\u52a9\u5316\u80fd\u529b\u80fd\u5426\u6491\u8d77\u4e00\u4e2a\u751f\u4ea7\u7ea7\u7684\u5f00\u53d1\u8005\u751f\u6001\u3002\u6bd5\u7adf\uff0c\u8ba9\u7528\u6237\u53bb\u201c\u7ea6\u4e2a\u4f1a\u201d\u624d\u80fd\u89e3\u51b3\u6280\u672f\u7591\u95ee\uff0c\u662f\u5e73\u53f0\u6210\u719f\u5ea6\u4e0d\u8fbe\u6807\u7684\u4fe1\u53f7\u3002\u5176\u4ef7\u503c\u5df2\u5f97\u5230\u9a8c\u8bc1\uff0c\u4f46\u8981\u6210\u4e3a\u8bed\u97f3\u57fa\u7840\u8bbe\u65bd\u8d62\u5bb6\uff0cSpeechify \u9700\u8981\u5b8c\u6210\u4ece\u201c\u9876\u7ea7\u5e94\u7528\u516c\u53f8\u201d\u5230\u201c\u9876\u7ea7 API \u5e73\u53f0\u201d\u7684\u601d\u7ef4\u8dc3\u8fc1\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\">Simba Voice Agents<\/span>\n                <\/div>\n<div class=\"comment-content\">Simba Voice Agents: build production voice agents on Simba 3.2, the #1 model on Artificial Analysis. Sub-100ms, streaming-native, real emotion and SSML. The best real-time voice, now a full agent platform, on Speechify&#8217;s new Speechify Developer Platform.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey folks! Luke here, I run developer relations at Speechify.<\/p>\n<p>This is the underdog story for API providers. Speechify has spent years making our models run efficiently because our consumer business demanded it, tens of millions of listeners with some of the best voices on the planet. Commercially, the faster and more efficient it got, the better. And that work is why we can now put the best-rated model in the world on our API.<\/p>\n<p>Simba 3.2 just went #1 on Artificial Analysis, and on Voice Arena it&#8217;s the top real-time model for both quality and price, at $6 per 1M characters, the cheapest in the top ten. Capable of sub-100ms latency, streaming-native, with real emotion and SSML control. It&#8217;s the same model that powers our consumer apps for 60M+ people, now rolling out on our new developer platform across SpeechifyAI Agents and SpeechifyAI Build, with a REST API and first-party TypeScript and Python SDKs.<\/p>\n<p>Most labs built for the benchmark and priced for the enterprise. We built for listeners and priced for production.<\/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\/@lukeocodes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lukeocodes<\/a>&nbsp;Congrats on the launch! I liked the story behind how this product evolved.<\/p>\n<p>With new AI products launching almost every day, I&#8217;m curious how you&#8217;re thinking about marketing. What&#8217;s your strategy to make Speechify stand out when many products are making similar claims?<\/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>Congratulations on the launch\ud83c\udf89\ud83c\udf89\ud83c\udf89. Really liked the comparison table, and absolutely loved the emotion control displayed on the website, can we also get different dialects of  different languages like in arabic there are many dialects, so are there any options for that ?<\/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\/@shahzeb7711\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shahzeb7711<\/a>&nbsp;we&#8217;re rapidly working on more languages for Simba 3.0 multi-lingual! If you&#8217;d like to discuss Arabic and our language pipeline then I&#8217;d recommend jumping in a call with our team <a href=\"https:\/\/speechify.ai\/contact\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/speechify.ai\/contact<\/a><\/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>Anywhere I can hear a sample of this voice? <\/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\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;Sure can, the hero on <a href=\"https:\/\/speechify.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">speechify.ai<\/a> is blind testing, you&#8217;ll hear us and a random competitor <\/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>Speechify being framed as an AI Voice Assistant makes me wonder about the core workflow you\u2019re optimizing for. Is the main use case more around dictation, hands-free task execution, or connecting voice commands into AI workflow automation? Since it\u2019s also listed near Developer Tools and AI Agents, I\u2019d be interested to know whether there are integrations or APIs planned for teams that want to plug it into existing tools.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mia_qiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mia_qiao<\/a>&nbsp;Speechify has for the last almost-decade been focussed on providing really great consumer apps. This launch is part of a larger step into APIs and integrations. You can checkout more on our developer site <a href=\"https:\/\/speechify.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/speechify.ai<\/a><\/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><a href=\"https:\/\/www.producthunt.com\/@lukeocodes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lukeoliff<\/a> Congrats to the Speechify team! \ud83c\udf89 Loved seeing this expand into a full developer platform.<\/p>\n<p>Curious about voice customization on <a href=\"https:\/\/www.producthunt.com\/products\/speechify\" target=\"_blank\" rel=\"noopener\">Speechify Developer Platform<\/a>: can developers bring their own custom-cloned voices or fine-tuned emotion profiles onto the Simba 3.2 API, or is it currently optimized for Speechify&#8217;s core library of voice models?<\/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\/@franz_briones\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@franz_briones<\/a>&nbsp;we support 3.2 cloning but it is through our FDEs currently while we ensure you&#8217;re getting the highest quality clones. 3.0 and 1.6 cloning are self-serve. You can jump straight into a conversation about that with our team at <a href=\"https:\/\/speechify.ai\/contact\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/speechify.ai\/contact<\/a> <\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>sub-100ms streaming is the number that actually matters here, most &#8220;real-time&#8221; voice stacks stop being real-time once you add the network round trip. is that 100ms end-to-end including the hop, or just internal generation time?<\/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>sub-100ms at $6\/1M chars is a serious combo. we&#8217;re chasing similar latency for voice checkins but staying fully on-device instead of hitting an api \u2014 is that number end-to-end from audio in to first byte out, or just model inference?<\/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;we have a paper on sub-100ms that explains it all, but it would be part of a conversation with our team. You can book time with someone here: <a href=\"https:\/\/speechify.ai\/contact\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/speechify.ai\/contact<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats to the entire team on the launch. Excited for people to start seeing Speechify as a developer &amp; B2B platform beyond our consumer roots. We&#8217;ve learned so much about building a cost efficient, high quality, low latency voice model and serving it globally from our time in consumer and now pumped for other businesses and developers to make use of 5+ years of AI research we&#8217;ve been driving in-house. <\/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\/@lukeocodes\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"lukeocodes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lukeocodes<\/a> Fantastic!  I&#8217;m checking it out right now.  I&#8217;m currently using one of your competitors, but a quick glance at your site proves that a closer look is warranted.  I need TTS and voice-agent.  Congratulations on your 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\/@tery_emilson\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tery_emilson<\/a>&nbsp;hey Terry, thank you so much! I&#8217;d love to see you get in touch with our team <a href=\"https:\/\/speechify.ai\/contact\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/speechify.ai\/contact<\/a> to see if we can help. Our agents are now powered by Simba 3.2, we have TTS and cloning if you&#8217;re looking for a bespoke voice at our level of quality <\/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. Do you have any plans to make the speech-to-text\/dictation feature available through APIs in the future? I&#8217;d love to be able to transcribe user speech directly inside my own app<\/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\/@pvermes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pvermes<\/a>&nbsp;I&#8217;m going to double check what I am allowed to say here \ud83d\ude09<\/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>The way Speechify slides into Google Docs and Gmail without breaking your flow is genuinely clever, the keyboard shortcut overlay feels thoughtful and not at all clunky.<\/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\/@bavcichali87886\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bavcichali87886<\/a>&nbsp;Our consumer app is beautifully polished, I&#8217;ve used it for way longer than I&#8217;ve been here and I love it. I was so excited to join Speechify&#8217;s move into APIs, and I hope folks get to build their own amazing experiences with our high quality voices!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey congrats team.  If I used the Simba API to voice personalized videos, every render has a stranger&#8217;s name I never get to proofread. Hand-tuning SSML per name doesn&#8217;t scale. How good is Simba at unfamiliar proper nouns out of the box?<\/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\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/T7MAESUBUJ6QOT\" class=\"app-title\">UnitPay<\/a><\/p>\n<div class=\"one-liner\">Price, bill, and prove value for your AI product<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">150<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>UnitPay \u662f\u4e00\u5957\u4e3a AI \u4ea7\u54c1\u91cf\u8eab\u5b9a\u5236\u7684\u8d27\u5e01\u5316\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5e2e\u52a9\u4f01\u4e1a\u5728\u5355\u4e00\u5e73\u53f0\u4e0a\u8bbe\u8ba1\u5b9a\u4ef7\u3001\u8fd0\u884c\u7528\u91cf\u8ba1\u8d39\u3001\u5b9e\u65f6\u8ffd\u8e2a\u63a8\u7406\u6210\u672c\u4e0e\u5229\u6da6\u7387\uff0c\u5e76\u5411\u5ba2\u6237\u5c55\u793a\u4ed6\u4eec\u5b9e\u9645\u83b7\u5f97\u7684\u4ef7\u503c\uff0c\u89e3\u51b3 AI \u516c\u53f8\u201c\u6536\u8d39\u96be\u3001\u7b97\u4e0d\u6e05\u8d26\u3001\u8bc1\u660e\u4e0d\u4e86\u4ef7\u503c\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\/6da1c7e3-10d3-4926-9579-a20012ce717a.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\/98d1be75-cb8f-4f7c-9965-16fa70a13e11.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\/8b94fbaf-6dd0-4e1b-9582-ac8b35573bf0.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\/6d1f44c1-353b-483a-9d45-1cca90bcad1e.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\/f48d50ca-7417-47bf-b71d-1a90b540f02b.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\/d74adb8a-71f0-45c3-8ad7-b046825a0c8b.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\/017d8761-0cf0-49ca-8009-138742156302.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/8d6203bf35b44390be240f045d1c10f4\"><source src=\"https:\/\/www.loom.com\/share\/8d6203bf35b44390be240f045d1c10f4\" 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\">API<\/span><br \/>\n            <span class=\"tag\">Fintech<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5546\u4e1a\u5316<\/span><br \/>\n            <span class=\"tag\">\u7528\u91cf\u8ba1\u8d39<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u6237\u4ef7\u503c\u8bc1\u660e<\/span><br \/>\n            <span class=\"tag\">\u4fe1\u7528\u5361\u989d\u5ea6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u6210\u672c\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u6df7\u5408\u5b9a\u4ef7<\/span><br \/>\n            <span class=\"tag\">Token\u7ea7\u522b\u8ba1\u91cf<\/span><br \/>\n            <span class=\"tag\">BaaS (\u8ba1\u8d39\u5373\u670d\u52a1)<\/span><br \/>\n            <span class=\"tag\">\u5229\u6da6\u7387\u5206\u6790<\/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\u8d5e\u8d4f\u201c\u4ef7\u503c\u6536\u636e\u201d\u548c\u201c\u5b9e\u65f6\u5229\u6da6\u7387\u8ffd\u8e2a\u201d\u529f\u80fd\u3002\u4e3b\u8981\u95ee\u9898\u6d89\u53ca\uff1a\u80fd\u5426\u5b9a\u4e49\u9664Token\u5916\u7684\u81ea\u5b9a\u4e49\u8ba1\u91cf\uff08\u5982API\u8c03\u7528\u3001\u5de5\u4f5c\u6d41\uff09\u3001\u80fd\u5426\u5904\u7406\u5f02\u6b65\u7ed3\u7b97\u4ea7\u751f\u7684\u8d1f\u4f59\u989d\u3001\u80fd\u5426\u4e0e\u73b0\u6709Stripe\u8ba2\u9605\u5e76\u5b58\uff08\u652f\u6301\u201cSidecar\u201d\u6a21\u5f0f\uff09\u3002\u90e8\u5206\u7528\u6237\u63d0\u51fa\u9700\u652f\u6301GAAP\u5408\u89c4\u7684\u81ea\u52a8\u8bb0\u8d26\u540c\u6b65\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                UnitPay \u5728\u201cAI\u5e94\u7528\u6536\u8d39\u96be\u201d\u8fd9\u4e2a\u8001\u95ee\u9898\u4e0a\uff0c\u5e76\u6ca1\u6709\u9009\u62e9\u7b80\u5355\u7684\u201c\u53e6\u4e00\u6b3e\u8ba1\u8d39\u8f6f\u4ef6\u201d\u8def\u7ebf\u3002\u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5c06\u201c\u8ba1\u8d39\u201d\u4e0e\u201c\u4ef7\u503c\u8bc1\u660e\u201d\u5f3a\u884c\u7ed1\u5b9a\uff0c\u8fd9\u76f4\u63a5\u6233\u4e2d\u4e86AI SaaS\u5728ToB\u573a\u666f\u4e0b\u7684\u6b7b\u7a74\uff1a\u5ba2\u6237\u4e70\u8d26\u4e0d\u662f\u56e0\u4e3a\u4f60\u7684Token\u4fbf\u5b9c\uff0c\u800c\u662f\u56e0\u4e3a\u4f60\u7684AI\u7701\u4e862\u5c0f\u65f6\u4eba\u5de5\u3001\u5e26\u6765\u4e8610\u4e2a\u5546\u673a\u3002UnitPay\u8bd5\u56fe\u7528\u201c\u4ef7\u503c\u6536\u636e\u201d\u5835\u4f4f\u8d22\u52a1\u5ba1\u8ba1\u7684\u5634\uff0c\u8fd9\u6bd4\u4efb\u4f55\u6298\u6263\u90fd\u66f4\u80fd\u9632\u8303\u5ba2\u6237\u6d41\u5931\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6280\u672f\u4e0a\uff0c\u5b83\u4ee510\u5206\u949f\u63a5\u5165Lovable Demo\u7684\u8f7b\u91cf\u65b9\u5f0f\u5207\u5165\uff0c\u652f\u6301\u201cSidecar\u201d\u6a21\u5f0f\u4e0eStripe\u5171\u5b58\uff0c\u964d\u4f4e\u4e86\u8fc1\u79fb\u95e8\u69db\uff0c\u663e\u5f97\u52a1\u5b9e\u3002\u4f46\u98ce\u9669\u4e5f\u5f88\u660e\u663e\uff1a\u5b83\u628a\u6838\u5fc3\u8d4c\u6ce8\u62bc\u5728\u4e86AI\u5f00\u53d1\u8005\u5bf9\u201c\u7cbe\u7ec6\u5316\u6210\u672c\u6838\u7b97\u201d\u7684\u7126\u8651\u4e0a\u3002\u5f53AI\u6a21\u578b\u4ef7\u683c\u6218\u523a\u5200\u89c1\u7ea2\u65f6\uff0c\u5b9e\u65f6\u8fb9\u9645\u5229\u6da6\u7387\u8ffd\u8e2a\u7684\u4ef7\u503c\u4f1a\u6025\u5267\u4e0b\u964d\u3002\u6b64\u5916\uff0c\u90a3\u4e9b\u201c\u8d1f\u4f59\u989d\u5904\u7406\u201d\u3001\u201c\u5f02\u6b65\u7ed3\u7b97\u201d\u7b49\u8bc4\u8bba\u533a\u5173\u6ce8\u7684\u6280\u672f\u987d\u75be\uff0c\u5904\u7406\u4e0d\u5f53\u4f1a\u5bfc\u81f4\u4e25\u91cd\u7684\u8d44\u635f\u548c\u5ba2\u8bc9\uff0c\u8fd9\u5bf9\u521d\u521b\u56e2\u961f\u7684\u57fa\u7840\u8bbe\u65bd\u7a33\u5b9a\u6027\u63d0\u51fa\u4e86\u6781\u9ad8\u8981\u6c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u5b83\u662f\u201c\u4ea1\u7f8a\u8865\u7262\u201d\u7684\u8ba1\u8d39\u5de5\u5177\uff0c\u4e0d\u662f\u201c\u7f8a\u80a5\u6bdb\u957f\u201d\u7684\u5546\u4e1a\u5f15\u64ce\u3002\u5ba2\u6237\u613f\u610f\u4e3a\u4ef7\u503c\u4ed8\u8d39\uff0c\u800c\u4e0d\u662f\u4e3a\u4e00\u4e2a\u4ef7\u503c\u8861\u91cf\u5de5\u5177\u4ed8\u8d39\u3002\u9664\u975e\u5b83\u80fd\u8bc1\u660e\u81ea\u5df1\u662fAI\u516c\u53f8\u7684\u201cCFO\u201d\u800c\u975e\u53e6\u4e00\u4e2a\u201c\u51fa\u7eb3\u201d\uff0c\u5426\u5219\u5b83\u81ea\u5df1\u4e5f\u4f1a\u9762\u4e34\u5546\u4e1a\u5316\u7684\u5de8\u5927\u538b\u529b\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">UnitPay<\/span>\n                <\/div>\n<div class=\"comment-content\">UnitPay is the monetization OS for AI companies. Design pricing, run usage-based billing, track inference costs and margins in real time, and show every customer the value they&#8217;re actually getting \u2014 all in one system. Built ground-up for AI-native products: credits, hybrid pricing, per-token metering, cost tracking. Free until you hit $500K ARR.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thanks <a href=\"https:\/\/www.producthunt.com\/@fmerian\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a> for hunting us! \ud83d\ude4c <\/p>\n<\/p>\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<\/p>\n<p>I&#8217;m Vijay, founder of <a href=\"https:\/\/www.producthunt.com\/products\/unitpay\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"unitpay\" target=\"_blank\" rel=\"noopener\">@UnitPay<\/a> . Ex-CTO, and I spent the last two years buried in billing infrastructure. One thing I know for sure now: building an AI product has never been easier. Charging for it is still painfully hard.<\/p>\n<\/p>\n<p>Credits, usage pricing, free tiers, entitlements, &#8220;wait, what if they upgrade mid-cycle with a negative balance?&#8221; \ud83d\ude05 It&#8217;s a second startup hiding inside your startup. Most teams burn ~6 months on this before making their first dollar.<\/p>\n<\/p>\n<p>We compressed that into minutes.<\/p>\n<\/p>\n<p>\u26a1 <strong>The proof: our demo is literally a Lovable app. We added complete credit billing to it in 10 minutes.<\/strong> Go poke it, break it, check the ledger math.<\/p>\n<\/p>\n<p>UnitPay handles the whole monetization layer:<\/p>\n<\/p>\n<p>\ud83d\udcb3 Credits, metering, and usage billing in real time<\/p>\n<p> \ud83d\udd10 Entitlements, so every request gets an instant &#8220;do they have access?&#8221; answer <\/p>\n<p>\ud83d\udcca Margin tracking: what each customer <em>costs<\/em> you, not just what they pay <\/p>\n<p>\ud83e\uddfe Value receipts that show customers the value they got, not just an invoice<\/p>\n<\/p>\n<p>\ud83d\udc9a <strong>Free until you hit $500K ARR.<\/strong> No card, no clock. We only win when you win.<\/p>\n<\/p>\n<p>We&#8217;ll be here all day. Ask us anything, roast our pricing, tell us what&#8217;s missing.<\/p>\n<\/p>\n<p>But first, be honest: what&#8217;s your billing stack right now? Homegrown, Stripe duct tape, or a spreadsheet you&#8217;re ashamed of? \ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>15<\/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\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@vijay_gorfad2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vijay_gorfad2<\/a>&nbsp;Nice launch, Vijay. Quick honest question; what\u2019s the single billing problem that\u2019s keeping you up at night right now? If you could wave a magic wand and fix one thing today, what would it be?<\/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\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@vijay_gorfad2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vijay_gorfad2<\/a>&nbsp;How long from first line of code to 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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@vijay_gorfad2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vijay_gorfad2<\/a>&nbsp;Usage-based billing always looks clean in the demo and then falls apart on refunds, disputes, and the customer who swears they were charged for calls they never made. From the buyer side, the vendors I keep are the ones who can show a line-item breakdown a non-technical finance person can actually reconcile. Does UnitPay expose that audit trail to the end customer, or only to me as the operator?<\/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>thw lovable demo is a nice touch checked the ledger math and it holds up nicely. wishing you guys a massive launch day today\ud83d\udc4fqq can we map different credit burn rates for fast vs slow models directly in the dashboard?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@priya_kushwaha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priya_kushwaha1<\/a>&nbsp;credit burn rates are available on organisations and users both<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>8<\/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><a href=\"https:\/\/www.producthunt.com\/@vijay_gorfad2\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"vijay_gorfad2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vijay_gorfad2<\/a>  Congrats on bringing UnitPay to PH! \ud83d\ude80<br \/>For teams with an existing app already using standard Stripe subscriptions, how heavy is the lift to layer UnitPay on top for usage-based credits? Is it plug-and-play alongside Stripe, or does it work best as a complete replacement for the billing pipeline?<\/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\">@franz_briones it can be used as Sidecar with Stripe Subscriptions or we can completely migrate away from stripe<\/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>What a day. \ud83d\ude80<\/p>\n<p>Seeing <a href=\"https:\/\/www.producthunt.com\/products\/unitpay\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"unitpay\" target=\"_blank\" rel=\"noopener\">@UnitPay<\/a>  live on Product Hunt is something we&#8217;ve been working toward for a long time, and it&#8217;s honestly exciting to finally share it with everyone.<\/p>\n<p><strong>A lot of the vision behind UnitPay comes from our founder,  <\/strong><a href=\"https:\/\/www.linkedin.com\/in\/vijay-gorfad\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Vijay<\/a><strong>, who saw firsthand how AI teams were spending months building billing instead of building their products. That experience became the foundation for everything we&#8217;ve built.<\/strong><\/p>\n<p>Our goal is simple. We want to make monetisation feel effortless so builders can spend their time creating great products.<\/p>\n<p>If you&#8217;ve checked us out today, thank you. Every upvote, comment, and bit of feedback means a lot to our team.<\/p>\n<p>We&#8217;ll be here all day answering questions and listening to your feedback. We&#8217;d genuinely love to hear what you think and what you&#8217;d like to see next. \ud83d\udc9a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The \u201cprove value\u201d part of the UnitPay tagline is the piece I\u2019m most curious about. Is that meant to connect usage-based billing to customer-facing reports, or more for internal teams to understand which AI features are driving revenue? For AI agents and workflow automation tools, the unit of value can be pretty different from app to app, so I\u2019d be interested in how flexible that model is.<\/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\">@crystalmei we agent which will generate the metrics based in your AI agents, either be it hours saved, revenue generated, sales call booked and according we can map revenue to value and generate user facing sharable value reception or embed in the your agent or application <\/p>\n<p>so model pretty adaptable to any application<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Proud to have been part of this journey! \ud83d\ude80 <\/p>\n<p>I&#8217;ve seen firsthand how much thought and effort the team has put into building UnitPay. It&#8217;s exciting to finally see it live on Product Hunt. Huge congratulations to everyone involved, and wishing you an incredible launch! <\/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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting launch. Like the value receipt. Most billing tools show what a customer spent, almost none show what they got back. Congrats<\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch! AI pricing is becoming increasingly complex as products combine multiple models and usage patterns. I like that you&#8217;re tackling both billing and value measurement instead of treating them separately.<\/p>\n<p>I&#8217;m curious whether teams can define custom pricing metrics beyond tokens, such as API calls, workflows, or business outcomes.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@dasmat13 we support all kind of metrics outcome, workflow based anything you want to adapt to your pricing model can be built<\/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>Smart approach. Does it support metered billing rollups at custom intervals, or only monthly?<\/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>For the \u201cprove value\u201d part of UnitPay, how are you thinking about the actual proof layer? Is it more around usage and billing data, or do you help AI product teams connect outcomes back to customer-facing metrics too? Curious because pricing an AI agent or workflow tool can get messy fast when token costs, seats, and business value all point in different directions.<\/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! Billing infra is such an unglamorous but critical piece \u2014 we went through our own webhook-idempotency + subscription-state-sync headaches wiring Stripe + Lemon Squeezy for CancelKit&#8217;s save-offer flow, so I have a lot of respect for anyone tackling usage-based\/per-token billing at this level of complexity. Does UnitPay handle its own webhook retries\/idempotency, or does it sit on top of Stripe&#8217;s?<\/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\">@cancelkithq we handle all the stripe webhooks on our side , thanks<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@vijay_gorfad2\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"vijay_gorfad2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vijay_gorfad2<\/a>, congrats on the launch. I like the AI summary links on the website, cool touch. <\/p>\n<\/p>\n<p>I modeled some customers to give you some feedback:<\/p>\n<ol>\n<li>\n<p>One of the most common feedback points was that users want automated GAAP compliant revenue recognition mapping that syncs usage to their accounting tools like QuickBooks, Xero, and Sage.<\/p>\n<\/li>\n<li>\n<p>A number of users report already using Stripe&#8217;s Metronome (<a href=\"https:\/\/metronome.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">metronome.com<\/a>) for AI based usage billing, but uses with data sensitive products (like medical AI) say they would switch to a product that offers a self-hostable VPC gateway option with local event masking.<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The part that matters for anyone shipping AI is per-token metering tied to real inference cost and margin in one ledger \u2014 most teams bolt Stripe on and never see unit economics until the invoice lands. My one edge case: when usage settles late (an async\/batch job whose token cost only resolves hours after the request), does UnitPay reserve credits at request time, or reconcile against the balance at settlement \u2014 and what happens if that settlement pushes a prepaid customer negative mid-cycle?<\/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>been through the stripe duct tape phase twice so this one hit home. the part i actually stopped scrolling on was value receipts. everyone builds the charging side, nobody builds the part where the customers finance person opens the invoice at renewal and decides if it was worth it. that alone probably saves more accounts than any dunning email ever will. qq, can the receipt show things like documents processed or jobs completed instead of raw token counts? tokens mean nothing to the person who signs the renewal. solid launch vijay, the 10 min lovable demo is a smart flex<\/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>the margin tracking piece is the part I&#8217;d actually pay for, everyone does usage billing eventually but knowing true cost per customer when you&#8217;re mixing 3 different model providers with their own pricing changes is a much harder problem. how fast does the cost side update when a provider quietly changes their per-token pricing &#8211; is that a manual entry on your end or does it pull live rate cards?<\/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>&#8220;free until $500K ARR&#8221; raises a practical question &#8211; how is that ARR figure actually determined? is it self-reported, or does UnitPay verify it against the revenue flowing through its own metering, since that&#8217;s the same system tracking your usage. and when a company does cross the line, is it a clean forward-billing switch on the next cycle, or can it reach back and true-up the months you were technically over the threshold but hadn&#8217;t been flagged yet<\/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>Vijay, the margin-tracking pitch is what got me. WinBidIQ runs its AI summaries\/scoring through a multi-provider LLM setup (primary provider with a fallback when quota gets hit), so the actual inference cost per request isn&#8217;t fixed \u2014 it depends on which provider handled that specific call. Does UnitPay&#8217;s margin tracking capture the real per-request cost when it varies like that, or is it built around a single expected\/blended cost per action? That distinction is exactly the kind of thing I&#8217;d have gotten wrong building this myself.<\/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>Vijay \u2014 the line in your intro that jumped out was &#8220;what if they upgrade mid-cycle with a negative balance.&#8221; I run WinBidIQ (AI bid intelligence for U.S. federal contracts), and we meter AI-generated proposal drafts plus daily federal opportunity data pulls per customer. Our version of that problem is fiscal-year-driven usage bursts: a customer can blow through a month&#8217;s credit allotment in one week chasing an RFP deadline, then go quiet for three. Does UnitPay support any kind of temporary overage\/grace buffer before hard-stopping at zero balance, or is it strictly prepaid-and-cut-off?<\/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\/2MPLNBWN5RSVIQ\" class=\"app-title\">Fudge MCP<\/a><\/p>\n<div class=\"one-liner\">Give your AI agents design taste from existing websites<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">139<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Fudge MCP \u662f\u4e00\u6b3e\u4e3aAI\u7f16\u7a0b\u4ee3\u7406\u63d0\u4f9b\u201c\u8bbe\u8ba1\u54c1\u5473\u201d\u7684\u53c2\u8003\u5f15\u64ce\uff0c\u901a\u8fc7\u4ece\u8fd1\u4e07\u4e2a\u771f\u5b9e\u7f51\u7ad9\u63d0\u53d6\u5b57\u4f53\u3001\u989c\u8272\u3001\u5e03\u5c40\u7b49\u7ed3\u6784\u5316\u6570\u636e\uff0c\u66ff\u4ee3\u6a21\u7cca\u5f62\u5bb9\u8bcd\u6307\u4ee4\uff0c\u89e3\u51b3AI\u751f\u6210\u754c\u9762\u5343\u7bc7\u4e00\u5f8b\u3001\u7f3a\u4e4f\u771f\u5b9e\u8bbe\u8ba1\u4f9d\u636e\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\/d888b4c7-44e6-46a0-952a-aa6d8cca8f75.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\/197d9273-efc4-4d17-8d09-2a1a8bc3ec91.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\/94b9e3fd-25ff-4998-9c55-4af91015db7d.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\/71ce7802-c708-4e4a-8be4-faae10eb0a23.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\/925b4141-25da-4638-a46f-d88cf24bfc99.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\/51932aed-1033-4a1f-9cf0-25051f9f49ac.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\/4427c215-a939-46f1-8821-d98835b7dcbf.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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Design resources<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bbe\u8ba1\u53c2\u8003\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">MCP\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u524d\u7aef\u754c\u9762\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u7cfb\u7edf\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9\u76f8\u4f3c\u5ea6\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">Chrome\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u54c1\u5473<\/span><br \/>\n            <span class=\"tag\">\u771f\u5b9e\u7f51\u7ad9\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u751f\u6210\u8f85\u52a9<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u7528\u771f\u5b9e\u53c2\u8003\u4ee3\u66ff\u6a21\u7cca\u63d0\u793a\u201d\u7684\u7406\u5ff5\uff0c\u8ba4\u4e3a\u5bf9\u63d0\u5347AI\u8f93\u51fa\u54c1\u8d28\u5f88\u6709\u4ef7\u503c\u3002\u4e3b\u8981\u53cd\u9988\u70b9\u5305\u62ec\uff1a1\uff09\u5efa\u8bae\u589e\u52a0\u6309\u884c\u4e1a\/\u7c7b\u76ee\u8fc7\u6ee4\u529f\u80fd\uff08\u5982\u7535\u5546\u3001SaaS\uff09\uff1b2\uff09\u62c5\u5fe7\u8fc7\u5ea6\u5339\u914d\u5355\u4e00\u54c1\u724c\u53ef\u80fd\u5bfc\u81f4\u514b\u9686\uff1b3\uff09\u8be2\u95ee\u4fdd\u5b58\u7684\u53c2\u8003\u5e93\u662f\u672c\u5730\u8fd8\u662f\u4e91\u7aef\u540c\u6b65\uff1b4\uff09\u6307\u51fa\u7ed3\u679c\u8d28\u91cf\u6700\u7ec8\u53d6\u51b3\u4e8eAI\u6a21\u578b\u7684\u6307\u4ee4\u8bbe\u7f6e\uff0c\u800c\u975e\u5de5\u5177\u672c\u8eab\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                Fudge MCP\u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u987d\u56fa\u7684\u75db\u70b9\uff1a\u5f53\u524dAI\u751f\u6210\u524d\u7aef\u754c\u9762\u6700\u7f3a\u4e4f\u7684\u4e0d\u662f\u4ee3\u7801\u80fd\u529b\uff0c\u800c\u662f\u201c\u54c1\u5473\u201d\u3002\u5b83\u806a\u660e\u5730\u5c06\u95ee\u9898\u4ece\u201c\u8ba9AI\u7406\u89e3\u2018\u9ad8\u7ea7\u2019\u8fd9\u4e2a\u8bcd\u201d\u8f6c\u5316\u4e3a\u201c\u8ba9AI\u68c0\u7d22\u771f\u5b9e\u7684\u89c6\u89c9\u8bc1\u636e\u201d\uff0c\u672c\u8d28\u4e0a\u662f\u628a\u8bbe\u8ba1\u7075\u611f\u4ece\u4eba\u5de5\u7ffbDribbble\u7684\u6162\u901f\u5de5\u4f5c\u6d41\uff0c\u53d8\u6210\u4e86\u53ef\u91cf\u5316\u7684\u7ed3\u6784\u5316\u6570\u636e\u5e93\u3002\u8fd9\u4e2a\u601d\u8def\u6b63\u786e\uff0c\u4f46\u6709\u4e24\u4e2a\u6838\u5fc3\u98ce\u9669\uff1a\u5176\u4e00\uff0c\u5b83\u5ba3\u79f0\u201c\u8bc1\u636e\u201d\u5374\u65e0\u6cd5\u771f\u6b63\u89e3\u51b3\u5ba1\u7f8e\u5224\u65ad\u7684\u590d\u73b0\u95ee\u9898\u2014\u2014\u5373\u4fbf\u7ed9\u4e86\u989c\u8272\u548c\u95f4\u8ddd\uff0cAI\u5bf9\u201c\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7ec4\u5408\u597d\u770b\u201d\u4f9d\u7136\u65e0\u89e3\uff0c\u53c2\u8003\u53ea\u662f\u201c\u751f\u642c\u786c\u5957\u201d\u7684\u79cd\u5b50\uff1b\u5176\u4e8c\uff0c\u4ece\u8bc4\u8bba\u53ef\u89c1\uff0c\u5176\u4ef7\u503c\u9ad8\u5ea6\u4f9d\u8d56\u4e8e\u4e0a\u6e38\u6a21\u578b\uff08\u5982Claude\uff09\u7684\u6307\u4ee4\u8c03\u6559\u80fd\u529b\uff0c\u5de5\u5177\u672c\u8eab\u66f4\u50cf\u4e00\u4e2a\u88ab\u52a8\u7d22\u5f15\u800c\u975e\u8bbe\u8ba1\u601d\u7ef4\u7684\u53c2\u4e0e\u8005\u3002\u5982\u679cFudge\u4ec5\u505c\u7559\u5728\u201c\u6f02\u4eae\u7684\u6570\u636e\u96c6+\u622a\u56fe\u96c6\u5408\u201d\u7684\u89d2\u8272\uff0c\u5b83\u5f88\u5feb\u4f1a\u88abCursor\u3001Copilot\u7b49\u96c6\u6210\u66f4\u6df1\u7684IDE\u63d2\u4ef6\u541e\u5e76\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\uff0c\u5e94\u662f\u5efa\u7acb\u5728\u5bf9\u8bbe\u8ba1\u610f\u56fe\u7684\u62bd\u8c61\u2014\u2014\u6bd4\u5982\u4e0d\u4ec5\u80fd\u7ed9\u201c\u53c2\u7167\u7269\u7684\u989c\u8272\u201d\uff0c\u8fd8\u80fd\u8bc6\u522b\u51fa\u201c\u8fd9\u4e2a\u9875\u9762\u4e3a\u4ec0\u4e48\u7528\u9ad8\u5bf9\u6bd4\u5ea6\u5438\u5f15\u6ce8\u610f\u201d\u2014\u2014\u4f46\u8fd9\u5c5e\u4e8eAI\u76ee\u524d\u7684\u8ba4\u77e5\u74f6\u9888\uff0c\u975e\u4e00\u4e2a\u63d2\u4ef6\u80fd\u72ec\u7acb\u7a81\u7834\u3002\u6574\u4f53\u770b\uff0c\u8fd9\u662f\u4e00\u6b3e\u4f18\u79c0\u4e14\u771f\u8bda\u7684\u6548\u7387\u5de5\u5177\uff0c\u4f46\u522b\u9ad8\u4f30\u5b83\u8d4b\u4e88AI\u201c\u54c1\u5473\u201d\u7684\u80fd\u529b\uff0c\u5b83\u66f4\u591a\u662f\u51cf\u5c11\u4e86AI\u6478\u778e\u7684\u6982\u7387\uff0c\u800c\u975e\u76f4\u63a5\u8d4b\u4e88\u4e86\u5ba1\u7f8e\u51b3\u7b56\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\">Fudge MCP<\/span>\n                <\/div>\n<div class=\"comment-content\">Meet Fudge: a design reference engine for AI agents. Instead of asking AI to make another \u201cmodern, premium\u201d interface from scratch, let it search nearly 10,000 real websites by fonts, colors, components, layouts, page types, and visual similarity. Fudge combines measured design evidence with screenshots, runs locally through MCP, and remembers references you save with its Chrome extension. Give your coding agent better taste and not more adjectives.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on launching, I really like the idea because the AI is scanning real websites and gives the recommended website interface. I&#8217;m just wondering what&#8217;s the difference between Fudge and Lovable?<\/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>@Simdi Jinkins that makes sense, thanks. so in practice most of the &#8220;taste&#8221; enforcement ends up living in the agent&#8217;s prompt\/instructions rather than the tool itself &#8211; fudge just gives it the raw material to draw from. good to know, I was picturing more of it baked into the extraction step.<\/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>the part I&#8217;d want to be careful with is how close &#8220;measured design evidence&#8221; gets to a specific real company&#8217;s actual brand identity versus generic patterns. pulling fonts\/colors\/layout from a category of sites as inspiration is fine, but if the agent leans hard on one particular close visual match, the output could end up looking like a clone of that specific brand rather than &#8220;good taste&#8221; in general. is there anything nudging toward blending multiple references instead of over-indexing on the single best match<\/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>&#8220;Better taste and not more adjectives&#8221; is painfully accurate. We spend a lot of time on moodboards for client design work, and we&#8217;re actively integrating AI generation into that workflow right now \u2014 so searching real sites by fonts\/components\/layouts instead of prompting &#8220;cleaner, more premium&#8221; for the fifth time is exactly the missing piece. Definitely trying this one.<\/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>I like the concept of this, it definitely makes a big difference to agents having a solid design framework to work from. <\/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<ol>\n<li>\n<p>Interesting idea. Using real design references instead of vague prompts makes a lot of sense<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>really like this framing of &#8220;taste&#8221; as something extractable rather than just scraping colors and fonts. what happens when the source site is inconsistent, like a company mid-rebrand where half the pages still use the old design system &#8211; does it pick up on the dominant pattern and ignore the outliers, or does it get confused and blend both into something that matches neither<\/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\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;That&#8217;s really up to the model, fudge is mostly a database, how the agent decides to use it is up to your instructions<\/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 bit I like is it hands the agent measured design evidence \u2014 actual fonts, colors, spacing \u2014 instead of another screenshot to eyeball, plus the Chrome extension to save references as I browse. My day-one workflow question: does that saved-reference library live locally with the MCP or sync to a Fudge account, and when I&#8217;m on one project can I point my agent at just my saved set instead of searching the full 10k every time?<\/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>Tried it through Claude today and the visual similarity search is genuinely useful, found a couple of layouts I would have spent an hour hunting for on Dribbble. The Chrome extension saving references locally is a nice touch too.<\/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>honestly love the idea of giving agents actual references instead of vibes, that part is really smart. one thing though, it would be super helpful if you could filter by industry or specific site categories, like only e-commerce or only SaaS landing pages, so the results are way more targeted when you&#8217;re working on a particular project.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/CKYCTFP4BA4GQJ\" class=\"app-title\">NoMac.app<\/a><\/p>\n<div class=\"one-liner\">The headless iOS app publishing pipeline for AI agents.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">129<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>NoMac.app \u4e3aAI\u667a\u80fd\u4f53\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65e0\u9700Mac\u548cXcode\u7684\u539f\u751fiOS\u5e94\u7528\u53d1\u5e03\u7ba1\u9053\uff0c\u8ba9\u5f00\u53d1\u8005\u4eceClaude\u3001Cursor\u7b49\u667a\u80fd\u4f53\u4e0a\u76f4\u63a5\u5b8c\u6210\u4ece\u7f16\u8bd1\u7b7e\u540d\u5230TestFlight\u5206\u53d1\u76f4\u81f3App Store\u63d0\u4ea4\u7684\u5168\u6d41\u7a0b\uff0c\u6253\u7834\u201c\u5fc5\u987b\u6709\u4e00\u53f0Mac\u624d\u80fd\u4e0a\u67b6iOS\u5e94\u7528\u201d\u7684\u4f20\u7edf\u95e8\u69db\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\/51a4df0a-c6d2-4595-a948-086ae13e7e2d.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\/79cf2562-dfde-4288-b6ef-4aa38b03c2b8.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\/dd599e44-40ad-42db-a7dd-1c83bf160483.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\/2b73489d-1642-4507-b9e9-371eeb1d785e.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\/ce4ab34b-786a-4531-ae59-4bc6c88eef90.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\">iOS<\/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\u667a\u80fd\u4f53\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">iOS\u5e94\u7528\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u65e0Mac\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4e91\u6784\u5efa\u7ba1\u9053<\/span><br \/>\n            <span class=\"tag\">MCP\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">TestFlight\u5206\u53d1<\/span><br \/>\n            <span class=\"tag\">Codex\/Claude\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u8bc1\u4e66\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u63d0\u5ba1<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e00\u81f4\u8ba4\u53ef\u5b83\u6d88\u9664\u4e86\u5fc5\u987b\u7528Mac\u624d\u80fd\u53d1\u5e03iOS\u7684\u75db\u70b9\uff1b\u521b\u59cb\u4eba\u56de\u5e94\u79f0Agent\u53ef\u901a\u8fc7MCP\u83b7\u53d6\u63d0\u5ba1\u53cd\u9988\u5e76\u81ea\u52a8\u4fee\u590d\uff1b\u6709\u7528\u6237\u62c5\u5fe7\u81ea\u52a8\u5316\u53cd\u590d\u63d0\u5ba1\u53ef\u80fd\u89e6\u53d1Apple\u8d26\u53f7\u98ce\u63a7\uff0c\u53e6\u6709\u7528\u6237\u8ffd\u95ee\u8bc1\u4e66\u548c\u7b7e\u540d\u5bc6\u94a5\u5728\u7ba1\u9053\u4e2d\u7684\u5b89\u5168\u5b58\u50a8\u65b9\u5f0f\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                NoMac.app\u7cbe\u51c6\u5207\u4e2d\u4e86AI\u9a71\u52a8\u5f00\u53d1\u65f6\u4ee3\u6700\u523a\u773c\u7684\u201cMac\u7a0e\u201d\u2014\u2014\u4e00\u4e2a\u7eaf\u7cb9\u56e0\u4e3a\u786c\u4ef6\u95e8\u69db\u800c\u88ab\u8feb\u505c\u6b62\u8fed\u4ee3\u7684\u8352\u8c2c\u573a\u666f\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u5e2e\u4eba\u7701\u4e00\u53f0Mac\u201d\uff0c\u800c\u5728\u4e8e\u5c06iOS\u53d1\u5e03\u6d41\u7a0b\u5f7b\u5e95\u6a21\u5757\u5316\u3001API\u5316\uff0c\u4ece\u800c\u80fd\u88abAI\u667a\u80fd\u4f53\u65e0\u7f1d\u8c03\u7528\uff0c\u8ba9Claude\u5199\u5b8c\u4ee3\u7801\u540e\u80fd\u81ea\u95ed\u73af\u6784\u5efa-\u6d4b\u8bd5-\u63d0\u5ba1-\u91cd\u4fee\u7684\u5b8c\u6574\u94fe\u8def\u3002\u8fd9\u79cd\u201c\u628aApple\u9501\u95ed\u751f\u6001\u62c6\u6210\u53ef\u7f16\u6392\u539f\u5b50\u64cd\u4f5c\u201d\u7684\u601d\u8def\uff0c\u6bd4\u5355\u7eaf\u7684\u5de5\u5177\u66ff\u4ee3\u66f4\u6df1\u5c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u8fd9\u91cc\u6709\u4e24\u4e2a\u5fc5\u987b\u76f4\u9762\u7684\u9690\u60a3\u3002\u7b2c\u4e00\uff0cApple\u5f00\u53d1\u8005\u534f\u8bae\u660e\u6587\u8981\u6c42\u63d0\u4ea4\u8005\u4e3a\u4eba\uff0c\u81ea\u52a8\u5316\u91cd\u63d0\u5ba1\u6838\u7684\u6280\u672f\u53ef\u884c\u6027\u4e0e\u5408\u89c4\u6027\u4e4b\u95f4\u5b58\u5728\u51b2\u7a81\u3002NoMac\u8d4b\u4e88\u4e86Agent\u201c\u65e0\u9650\u8bd5\u9519\u201d\u80fd\u529b\uff0c\u5374\u65e0\u6cd5\u4fdd\u8bc1\u8d26\u53f7\u5b89\u5168\u9608\u503c\u4e0d\u88ab\u89e6\u53d1\u2014\u2014\u8fd9\u672c\u8d28\u4e0a\u662f\u7528\u7c97\u7c92\u5ea6\u81ea\u52a8\u5316\u5bf9\u6297\u7ec6\u7c92\u5ea6\u98ce\u63a7\uff0c\u8fdf\u65e9\u4f1a\u649e\u5899\u3002\u7b2c\u4e8c\uff0c\u7b7e\u540d\u8bc1\u4e66\u548c\u79c1\u94a5\u662fiOS\u751f\u6001\u6700\u9ad8\u6743\u9650\u51ed\u8bc1\uff0c\u4ea4\u7ed9Agent\u201c\u6258\u7ba1\u201d\u610f\u5473\u7740\u6cc4\u6f0f\u98ce\u9669\u4ece\u4eba\u8f6c\u79fb\u5230\u4e86MCP\/CLI\u7684\u51ed\u8bc1\u5b58\u50a8\u73af\u8282\uff0c\u82e5\u6ca1\u6709\u786c\u4ef6\u7ea7\u9694\u79bb\uff08\u5982Secure Enclave\u6216\u8fdc\u7a0b\u7b7e\u540d\u670d\u52a1\uff09\uff0c\u8fd9\u79cd\u4fbf\u5229\u662f\u4ee5\u5b89\u5168\u59a5\u534f\u4e3a\u4ee3\u4ef7\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aNoMac\u89e3\u51b3\u4e86\u5f00\u53d1\u201c\u80fd\u4e0d\u80fd\u52a8\u201d\u7684\u95ee\u9898\uff0c\u4f46\u6ca1\u89e3\u51b3\u201c\u52a8\u4e86\u4f1a\u4e0d\u4f1a\u51fa\u4e8b\u201d\u7684\u95ee\u9898\u3002\u77ed\u671f\u5185\u5b83\u662fAI Agent\u5f00\u53d1\u8005\u52a0\u901f\u8fed\u4ee3\u7684\u5229\u5668\uff1b\u957f\u671f\u770b\uff0c\u5b83\u9700\u8981\u548cApple\u5728\u81ea\u52a8\u5316\u5408\u89c4\u6027\u4e0e\u786c\u4ef6\u7ea7\u51ed\u8bc1\u4fdd\u62a4\u4e0a\u8fbe\u6210\u67d0\u79cd\u59a5\u534f\uff0c\u5426\u5219\u53ea\u80fd\u505c\u7559\u5728\u201c\u4e2a\u4eba\u5b9e\u9a8c\u54c1\u201d\u800c\u975e\u201c\u4f01\u4e1a\u7ea7\u7ba1\u9053\u201d\u7684\u5b9a\u4f4d\u3002\u8fd9\u4f9d\u7136\u662f\u773c\u4e0bAI+Apple\u751f\u6001\u4e2d\u6700\u503c\u5f97\u5173\u6ce8\u7684\u77db\u76fe\u4e4b\u4e00\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\">NoMac.app<\/span>\n                <\/div>\n<div class=\"comment-content\">The native app publishing pipeline built for AI agents: build signed iOS releases to validate your code, push to TestFlight ot see preview on your iPhone in minutes, and submit to the App Store directly form your agent. No Mac, no Xcode, all from your Claude, Codex, or Cursor agent via NoMac CLI and MCP.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Gary, needing one particular machine just to get an app out the door has always felt like a silly gate. Knocking that barrier down so more people can actually ship their ideas is lovely to see.<\/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\">Me and my friends moved our whole AI agent setup from my Mac to Hetzner. But we still kept getting stuck on the MacBook whenever working on native iOS apps.<\/p>\n<p>We didn\u2019t want to pay $100+\/month for a cloud Mac, and Mac Minis were out of stock.<\/p>\n<p>So we built this:<\/p>\n<p>NoMac.app &#8211; let your AI agents build and publish native iOS apps without a Mac.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gary_miklos\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gary_miklos<\/a>&nbsp;This removes one of the biggest friction points in AI-assisted app development. I like that agents can build, test, and even submit iOS apps without needing a Mac or Xcode, all through familiar tools like Claude, Cursor, and Codex. That could make shipping and iterating on apps much faster. Best of luck with the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does the App Store rejection feedback make it back to the agent through the MCP, or is that where a human takes over? Review is the one step in the pipeline that stays human on Apple&#8217;s side, so I wondered where the loop closes. Congrats on the launch, Gary.<\/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\/@vollos\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vollos<\/a>&nbsp;Yes, the agent can poll the the submission status and get back the whole feedback, so ready to act without human action!<\/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>cool idea, I was thinking of launching an iOS app but having to get Xcode and a newer mac to run it was annoying. How is using this better than me just asking claude code to make it for me on a PC? <\/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\/@mjohnson42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mjohnson42<\/a>&nbsp;Claude Code can absolutely write the app for you on a PC. The problem comes after that: it cannot run Xcode, compile the native iOS project, manage Apple certificates and provisioning, upload builds to TestFlight, or submit them to the App Store without access to a Mac.<\/p>\n<p>NoMac gives Claude Code that missing Mac-side pipeline through MCP or CLI. So Claude still writes and fixes the app on your PC, while NoMac builds, signs, uploads, and publishes it in the cloud.<\/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>the no-xcode pipeline feels like it was built by people who actually shipped an iOS app from Linux and got tired of the friction. love that the MCP integration is first-class instead of an afterthought.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;agent reads the rejection and ships the fix itself, no human action&#8221; answer is the part that would make me pause, not the no-Mac angle. Apple&#8217;s review process assumes a person is accountable for what gets resubmitted, and repeated automated resubmissions after a rejection is the kind of pattern that gets developer accounts flagged regardless of how good the fix is. also curious where Apple Developer certificates and provisioning keys actually live in this pipeline, since that&#8217;s the credential an agent would need custody of to sign and submit builds on its own<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HZBROGDNS2P6VK\" class=\"app-title\">TailMux<\/a><\/p>\n<div class=\"one-liner\">Multiple Tailscale tailnets at once, no switching + no VM<\/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>TailMux \u8ba9 macOS \u548c Linux \u7528\u6237\u80fd\u540c\u65f6\u4f7f\u7528\u591a\u4e2a Tailscale \u7f51\u7edc\uff08\u5982\u5de5\u4f5c\u4e0e\u4e2a\u4eba\uff09\uff0c\u65e0\u9700\u9891\u7e41\u5207\u6362\u3001\u8fd0\u884c\u591a\u4e2a\u7cfb\u7edf\u5b88\u62a4\u8fdb\u7a0b\u6216\u865a\u62df\u673a\uff0c\u5f7b\u5e95\u89e3\u51b3\u4e86\u201c\u4e00\u6b21\u53ea\u80fd\u8fde\u4e00\u4e2a tailnet\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\/da672042-3c66-414c-9f69-f7babd427700.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\/6af27568-99db-4adc-8ebf-1bed2e5efba2.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\/4de8cf5e-3a1b-45ef-8a9b-7b0c53e375ae.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\/37e82733-b0a0-463d-83d0-838047e7b339.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\/404ce955-fa98-4e6f-a0d6-fa36e84f08a3.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\/fa252af8-b179-4c3a-bb9e-292c604a21bb.gif?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\">Mac<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Tailscale\u591a\u7f51\u7edc\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">macOS\u7f51\u7edc\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Linux\u7f51\u7edc\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u591a\u7f51\u7edc\u9694\u79bb<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u673a\u540d\u8def\u7531<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7edc\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7edc\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">SSH\/RDP\u8def\u7531<\/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\u89e3\u51b3\u591a\u7f51\u7edc\u5207\u6362\u75db\u70b9\uff0c\u4e3b\u8981\u5173\u5fc3\uff1aMagicDNS\u4e0b\u91cd\u540d\u4e3b\u673a\u51b2\u7a81\uff08\u56de\u7b54\uff1a\u901a\u8fc7\u4e3b\u673a\u540d\u524d\u7f00\u8def\u7531\u89e3\u51b3\uff09\u3001macOS\u6743\u9650\u4e0e\u5b89\u5168\u6027\uff08\u56de\u7b54\uff1a\u65e0root\u5b88\u62a4\u8fdb\u7a0b\uff0c\u5df2\u516c\u8bc1\u7b7e\u540d\uff09\u3001\u91cd\u53e0IP\u53caDNS\u51b2\u7a81\uff08\u56de\u7b54\uff1a\u4e3b\u673a\u540d\u4f18\u5148\uff0c\u6a21\u7cca\u8def\u7531\u62d2\u7edd\uff09\u3001\u662f\u5426\u652f\u6301\u4e24\u4e2a\u4ee5\u4e0a\u7f51\u7edc\uff08\u56de\u7b54\uff1a\u65e0\u9650\u5236\uff0c\u4ec5\u53d7\u673a\u5668\u8d44\u6e90\u7ea6\u675f\uff09\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                TailMux \u4e0d\u662f Tailscale \u7684\u7ade\u4e89\u5bf9\u624b\uff0c\u800c\u662f\u5176\u751f\u6001\u4e2d\u4e00\u5757\u7cbe\u5999\u7684\u201c\u8865\u4e01\u201d\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u7528\u6781\u5c0f\u7684\u4ee3\u4ef7\u5b9e\u73b0\u4e86\u201c\u591a\u7f51\u7edc\u5e76\u884c\u201d\u8fd9\u4e00\u672c\u8be5\u7531\u5b98\u65b9\u57fa\u7840\u8bbe\u65bd\u89e3\u51b3\u7684\u95ee\u9898\u3002\u5b98\u65b9\u5ba2\u6237\u7aef\u201c\u4e00\u6b21\u53ea\u80fd\u6fc0\u6d3b\u4e00\u4e2a\u7f51\u7edc\u201d\u7684\u8bbe\u8ba1\uff0c\u5728\u62e5\u6709\u591a\u91cd\u8eab\u4efd\uff08\u5de5\u4f5c\u3001\u4e2a\u4eba\u3001\u5ba2\u6237\uff09\u7684\u6df1\u5ea6\u7528\u6237\u9762\u524d\uff0c\u5c31\u50cf\u662f\u4e00\u79cd\u88ab\u9ed8\u8ba4\u63a5\u53d7\u7684\u6280\u672f\u503a\u52a1\u3002\u521b\u9020\u8005\u6ca1\u6709\u7b49\u5f85\u5b98\u65b9\u6539\u53d8\u67b6\u6784\uff0c\u800c\u662f\u9009\u62e9\u5728\u5e94\u7528\u5c42\u7528\u4e00\u79cd\u201c\u4e3b\u673a\u540d\u8def\u7531 + \u9694\u79bb\u8282\u70b9\u201d\u7684\u5de7\u5999\u67b6\u6784\u6765\u586b\u8865\u8fd9\u4e2a\u7a7a\u767d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6280\u672f\u4e0a\u770b\uff0c\u5176\u201c\u62d2\u7edd\u6a21\u7cca\u3001\u5931\u8d25\u5b89\u5168\u201d\u7684\u8bbe\u8ba1\u539f\u5219\u975e\u5e38\u4e13\u4e1a\uff0c\u901a\u8fc7\u62d2\u7edd\u5408\u5e76\u8def\u7531\u8868\u3001\u4ee5\u4e3b\u673a\u540d\u524d\u7f00\u4e3a\u7b2c\u4e00\u8c03\u5ea6\u5355\u4f4d\uff0c\u4ece\u6839\u672c\u4e0a\u907f\u514d\u4e86 IP \u91cd\u53e0\u5e26\u6765\u7684\u707e\u96be\u6027\u6570\u636e\u6cc4\u9732\uff0c\u8fd9\u6bd4\u7edd\u5927\u591a\u6570\u4ee5\u201c\u7f51\u7edc\u6269\u5c55\u201d\u4e3a\u5671\u5934\u7684\u5de5\u5177\u8981\u4e25\u8c28\u5f97\u591a\u3002\u5728 macOS \u4e0a\u653e\u5f03\u5bf9\u6c99\u7bb1\u548c\u7cfb\u7edf\u5e95\u5c42\u6743\u9650\u7684\u4f9d\u8d56\uff0c\u4ec5\u4ee5\u666e\u901a\u7528\u6237\u8fdb\u7a0b\u8fd0\u884c\u5e76\u5b8c\u6210\u516c\u8bc1\u7b7e\u540d\uff0c\u4e5f\u4f53\u73b0\u4e86\u5bf9\u5b89\u5168\u6027\u7684\u6df1\u523b\u7406\u89e3\uff0c\u8fd9\u5728\u9700\u8981\u4fe1\u4efb\u7684\u8054\u7f51\u5de5\u5177\u4e2d\u81f3\u5173\u91cd\u8981\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5b83\u7684\u74f6\u9888\u4e5f\u663e\u800c\u6613\u89c1\u30024.99 \u7f8e\u5143\u7684\u4e00\u6b21\u6027\u4e70\u65ad\u5b9a\u4ef7\u867d\u7136\u4eb2\u6c11\uff0c\u4f46\u8fd9\u79cd\u4f9d\u9644\u4e8e\u7b2c\u4e09\u65b9\uff08Tailscale \u5b98\u65b9\u5ba2\u6237\u7aef\uff09\u7684\u903b\u8f91\uff0c\u4f7f\u5176\u751f\u547d\u5468\u671f\u5b8c\u5168\u53d6\u51b3\u4e8e\u5b98\u65b9 API \u7684\u7a33\u5b9a\u6027\u3002\u4e00\u65e6 Tailscale \u5b98\u65b9\u672a\u6765\u63a8\u51fa\u539f\u751f\u591a\u7f51\u7edc\u652f\u6301\uff0c\u8fd9\u6b3e\u5de5\u5177\u7684\u4ef7\u503c\u5c06\u77ac\u95f4\u5f52\u96f6\u3002\u540c\u65f6\uff0c\u5b83\u4e0d\u662f\u4e00\u4e2a\u5168\u573a\u666f\u89e3\u51b3\u65b9\u6848\uff1a\u5bf9\u975e\u4e3b\u673a\u540d\u8def\u7531\u7684\u7eaf IP \u8bbf\u95ee\u6709\u4e25\u683c\u9650\u5236\uff0c\u4e14\u9700\u8981\u4e00\u5b9a\u7684\u7f51\u7edc\u914d\u7f6e\u77e5\u8bc6\u624d\u80fd\u7528\u597d\uff0c\u666e\u901a\u7528\u6237\u7684\u5b66\u4e60\u6210\u672c\u4f9d\u7136\u5b58\u5728\u3002\u5b83\u975e\u5e38\u9177\uff0c\u4f46\u6ce8\u5b9a\u662f\u4e00\u6b3e\u7ed9\u201c\u77e5\u9053\u81ea\u5df1\u5728\u505a\u4ec0\u4e48\u201d\u7684\u4eba\u51c6\u5907\u7684\u7cbe\u81f4\u5de5\u5177\uff0c\u800c\u4e0d\u662f\u4e00\u4e2a\u5927\u4f17\u5316\u7684\u50bb\u74dc\u5f0f\u7f51\u7edc\u7ba1\u7406\u5668\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\">TailMux<\/span>\n                <\/div>\n<div class=\"comment-content\">The official Tailscale client keeps one tailnet active at a time. TailMux makes work and personal tailnets reachable simultaneously on macOS and Linux, without switching accounts, running multiple system daemons, or using a VM. It runs an isolated embedded node per profile and routes by hostname, with strict no-fallback isolation. Use SSH, RDP\/SMB, browsers, curl, git, and npm across tailnets at the same time.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b I&#8217;m the maker. TailMux started as a personal annoyance: I run a work tailnet and a personal one, and the official client can only be active on one at a time. Fast user switching means constantly running tailscale switch and dropping the other connection.<br \/>\nThe workarounds (two daemons, userspace SOCKS5, a whole VM) all felt clunky on macOS, so I built something that runs an isolated embedded Tailscale node per tailnet and routes traffic by hostname suffix. Both tailnets are live at the same time, with strict isolation so nothing leaks between them. It covers SSH, RDP\/SMB tunnels, per-tailnet browser routing, and routing curl\/git\/npm.<br \/>\nIt&#8217;s a one-time $4.99 license (a year of updates, keep your version forever). It&#8217;s not affiliated with Tailscale \u2014 just a companion tool. It scratched my own itch and I use it daily; I&#8217;d love feedback from anyone juggling multiple tailnets. Ask me anything.<\/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>this is exactly the kind of tool that&#8217;s obviously right once someone builds it &#8211; &#8220;just run tailscale switch&#8221; always felt like a workaround for a problem that shouldn&#8217;t exist. how do you handle MagicDNS when both tailnets happen to have a machine with the same short hostname? does the routing-by-suffix approach sidestep that collision entirely or is it still something you have to configure around?<\/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>the fail-closed approach to ambiguous routes is the right instinct, most tools would guess and silently leak traffic down the wrong tunnel. one thing I&#8217;m curious about given it&#8217;s running isolated embedded nodes per tailnet &#8211; what&#8217;s the permission footprint on macOS, does it need a persistent background helper with elevated network privileges, and is it notarized\/signed properly given how much trust you&#8217;re asking for on the network stack<\/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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Really fair question  &#8211; especially for an app that sits in the networking path.<\/p>\n<p>TailMux doesn\u2019t install a hidden root daemon, privileged helper, kernel extension, or Network Extension. The app and its embedded tailnet nodes run as normal user processes, and quitting TailMux stops them. Even \u201cLaunch at login\u201d simply starts the app itself.<\/p>\n<p>The only macOS network setting it can touch is the optional browser PAC configuration. macOS may require an administrator account to change it, but TailMux doesn\u2019t try to elevate or work around company policies. On a restricted Mac, the change simply fails and you can still use the local proxy or CLI. It also won\u2019t overwrite an existing PAC it doesn\u2019t own and cleans up only its own setting when it stops.<\/p>\n<p>One honest detail: the app isn\u2019t App Sandbox\u2013restricted today because it needs to launch the bundled CLI and call Apple\u2019s networking tools. It still runs as your user, not as root, and the public macOS build uses Hardened Runtime, is Developer ID signed, notarized, and stapled by Apple.<\/p>\n<p>I know networking tools ask for a lot of trust, so I want that boundary to be clear and verifiable. Thanks for asking such a thoughtful question.<\/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>Congratulations on the launch! Managing multiple Tailscale tailnets has always been one of those small but recurring workflow frustrations, so this looks genuinely useful.<\/p>\n<p>I&#8217;m curious about the networking side\u2014how does TailMux handle overlapping IP ranges or conflicting DNS configurations when multiple tailnets are active simultaneously? Looking forward to trying it out.<\/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\/@dasmat13\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dasmat13<\/a>&nbsp;Thank you \u2014 great question. This is exactly why TailMux is hostname-first rather than a second system VPN.<\/p>\n<p>TailMux never merges tailnets into one macOS routing table or one global DNS view. Each profile owns explicit hostname suffixes; overlapping suffixes are rejected at configuration time. Once a hostname is matched, it is resolved through that selected profile\u2019s own Tailscale DNS view (including MagicDNS and split DNS), with no cross-profile or system-DNS fallback.<\/p>\n<p>For overlapping IP ranges, TailMux does not guess. It doesn\u2019t install global routes, and raw IPs are denied by default. Explicit IP routes must be unique across profiles, so conflicting configured ranges are rejected. If two tailnets dynamically expose the same subnet or IP, TailMux removes that ambiguous route from automatic IP routing rather than sending it through either tailnet.<\/p>\n<p>The practical result: <a href=\"http:\/\/service.work.ts.net\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">service.work.ts.net<\/a> and <a href=\"http:\/\/service.home.ts.net\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">service.home.ts.net<\/a> can each resolve to overlapping private addresses and still work correctly, because the hostname selects the isolated profile before DNS and dialing happen. For a bare IP that exists in both tailnets, you explicitly pin the profile rather than relying on an unsafe guess.<\/p>\n<p>In short: no merged DNS, no route-table fight, and no cross-tailnet fallback. Ambiguity fails closed.<\/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 app, I absolutely want to try it; it would be super convenient even for me, since I live on two different tailnets. If so, are there no profile limits, meaning it can support more than two tailnets?<\/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\/@bsramin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bsramin<\/a>&nbsp;Exactly &#8211; two is just the common example. TailMux doesn\u2019t impose a two-profile limit: you can add one isolated profile per tailnet and keep them connected at the same time. Each hostname is routed only through the profile that owns it, with no cross-tailnet fallback. In practice, the limit is your machine\u2019s resources rather than an arbitrary profile quota.<\/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\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DJ3DJ5D5IJ2UQ7\" class=\"app-title\">Coding harness for C\/C++ developers<\/a><\/p>\n<div class=\"one-liner\">Debugs more than 40% of Multi SWE Bench C\/C++ tasks<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">30<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ByteAsk\u662f\u4e00\u4e2a\u4e13\u4e3aC\/C++\u5f00\u53d1\u8005\u8bbe\u8ba1\u7684AI\u7f16\u7a0b\u4ee3\u7406\uff0c\u80fd\u5728\u4f60\u770b\u5230\u4ee3\u7801\u5dee\u5f02\u4e4b\u524d\u81ea\u52a8\u8fd0\u884c\u6d88\u6bd2\u5668\u3001\u8c03\u8bd5\u5668\u548c\u6d4b\u8bd5\u5957\u4ef6\uff0c\u89e3\u51b3AI\u751f\u6210\u7684C++\u4ee3\u7801\u7f16\u8bd1\u901a\u8fc7\u4f46\u8fd0\u884c\u65f6\u5d29\u6e83\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\/c20e3394-908a-4516-8609-d3a516759999.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\/55854ed3-a8c4-46e7-80e7-605ebac1a21e.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\/159458da-7463-4dc1-ba5a-7353144a50e4.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\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7a0b\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">C\/C++\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u8c03\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u5185\u5b58\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5e76\u53d1\u9519\u8bef<\/span><br \/>\n            <span class=\"tag\">LLM\u4ee3\u7801\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u793e\u533a<\/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\u80fd\u81ea\u52a8\u9a8c\u8bc1\u4ee3\u7801\u7684\u6b63\u786e\u6027\uff0c\u89e3\u51b3C++\u5185\u5b58\u7ba1\u7406\u548c\u7ebf\u7a0b\u5b89\u5168\u96be\u9898\uff0c\u5b89\u88c5\u7b80\u4fbf\u4e14\u652f\u6301\u591a\u79cd\u7f16\u8f91\u5668\u3002\u521b\u59cb\u4eba\u5f3a\u8c03\u4ea7\u54c1\u907f\u514d\u4e86\u201c\u770b\u8d77\u6765\u5bf9\u4f46\u8dd1\u8d77\u6765\u5d29\u201d\u7684\u9677\u9631\uff0c\u5e76\u63d0\u4f9b\u4e86Discord\u793e\u533a\u548c\u591a\u4e2a\u6a21\u578bAPI\u652f\u6301\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                ByteAsk\u5207\u5165\u7684\u662f\u4e00\u4e2a\u88ab\u5ffd\u89c6\u4f46\u6781\u5176\u75db\u82e6\u7684\u201c\u786c\u6838\u201d\u5e02\u573a\uff1aC\/C++\u4ee3\u7801\u7684**\u8fd0\u884c\u65f6\u9a8c\u8bc1**\u3002\u5f53\u901a\u7528LLM\u5728\u9ad8\u5c42\u6b21\u903b\u8f91\u751f\u6210\u4e0a\u8868\u73b0\u5c1a\u53ef\uff0c\u5374\u5728\u5185\u5b58\u6cc4\u66b4\u9732\u3001\u6570\u636e\u7ade\u4e89\u8fd9\u7c7b\u201c\u7f16\u8bd1\u901a\u8fc7\u4f46\u8fd0\u884c\u65f6\u7206\u70b8\u201d\u7684\u9634\u6c9f\u91cc\u9891\u9891\u7ffb\u8239\u65f6\uff0cByteAsk\u9009\u62e9\u4e86\u4e00\u6761\u66f4\u7b28\u4f46\u66f4\u6709\u6548\u7684\u8def\u2014\u2014\u4e0d\u505a\u66f4\u597d\u7684\u4ee3\u7801\u751f\u6210\u5668\uff0c\u800c\u662f\u505a\u4ee3\u7801\u751f\u6210\u7684\u201c\u8d28\u68c0\u5458\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4ef7\u503c\u4e0d\u5728\u4e8eAI\u5199\u4ee3\u7801\u6709\u591a\u5feb\uff0c\u800c\u5728\u4e8e**\u5c06\u201c\u5199-\u6d4b-\u6539\u201d\u8fd9\u4e2a\u624b\u52a8\u7684\u3001\u6613\u88ab\u4eba\u4e3a\u8df3\u8fc7\u7684\u5fc3\u667a\u8d1f\u62c5\u95ed\u73af\u81ea\u52a8\u5316**\u3002\u5b83\u9a71\u52a8gdb\u3001Valgrind\u3001sanitizers\u8fd9\u4e9b\u4f20\u7edf\u5de5\u5177\u94fe\uff0c\u672c\u8d28\u4e0a\u662f\u7528\u5de5\u7a0b\u7eaa\u5f8b\u5f25\u8865\u4e86LLM\u5728C++\u5b89\u5168\u6027\u4e0a\u7684\u5929\u751f\u76f2\u533a\u3002\u8fd9\u79cd\u201cAI+\u4f20\u7edf\u4e25\u683c\u5de5\u5177\u201d\u7684\u6df7\u5408\u6a21\u5f0f\uff0c\u6bd4\u5355\u7eaf\u4f9d\u8d56AI\u751f\u6210\u66f4\u52a1\u5b9e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u8be5\u6a21\u5f0f\u7684\u6311\u6218\u4e5f\u5f88\u660e\u663e\uff1a**\u9a8c\u8bc1\u6210\u672c**\u3002\u8dd1\u4e00\u6b21\u5b8c\u6574\u7684\u5185\u5b58\u68c0\u67e5\u548c\u7ebf\u7a0b\u5206\u6790\u672c\u8eab\u8017\u65f6\uff0c\u5c24\u5176\u5728\u5927\u578b\u4ee3\u7801\u5e93\u4e2d\u3002\u82e5\u9a8c\u8bc1\u65f6\u95f4\u8fdc\u8d85\u751f\u6210\u65f6\u95f4\uff0c\u7528\u6237\u4f1a\u611f\u77e5\u5230\u5ef6\u8fdf\u3002\u6b64\u5916\uff0c\u4ea7\u54c1\u5ba3\u4f20\u7684\u201c40%+ Multi-SWE-Bench\u201d\u6027\u80fd\uff0c\u9700\u8981\u7528\u6237\u81ea\u884c\u62ff\u5176\u5b9e\u9645\u9879\u76ee\u590d\u73b0\u2014\u2014\u57fa\u51c6\u6d4b\u8bd5\u4e0e\u771f\u5b9e\u4e16\u754cC++\u6ce5\u6f6d\u7684\u5dee\u8ddd\uff0c\u53ea\u6709\u5f00\u53d1\u8005\u81ea\u5df1\u77e5\u9053\u3002\u603b\u4f53\u6765\u8bf4\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u771f\u6b63\u7684\u95e8\u69db\u5728\u4e8e\u5de5\u7a0b\u5316\u6548\u7387\u548c\u957f\u5c3e\u573a\u666f\u7684\u8986\u76d6\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\">Coding harness for C\/C++ developers<\/span>\n                <\/div>\n<div class=\"comment-content\">LLMs solve <10% of real world C++ tasks. ByteAsk is a community effort of 100+ volunteers working to change this. ByteAsk works with the sanitizers, the debugger, and your test suite before you see a diff. Built-in support for LLVM, GCC, gdb, Valgrind, CMake, and more. Used by engineers across Anthropic, Google, Microsoft, Amazon and more.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m an ex Optiver low latency guy working on ByteAsk.<\/p>\n<\/p>\n<p>Writing C++ was never really the hard part for me &#8211; proving it&#8217;s correct is. You write a fix, then you&#8217;re the one who has to remember to rerun it under sanitizers, step through gdb when it segfaults, and rerun the test suite before you trust the diff. That verification loop is manual, repetitive, and easy to skip when you&#8217;re tired.<\/p>\n<\/p>\n<p>So we built ByteAsk, an AI coding agent for C and C++ that verifies its own work. It doesn&#8217;t just hand you a diff &#8211; it drives the sanitizers, the debugger, and your test suite first, so what you see has already been proven to compile, run, and pass.<\/p>\n<p>Why ByteAsk is different:<\/p>\n<ul>\n<li>\n<p><strong>Works with any model<\/strong>: Opus (anthropic), Gemini, Codex, GLM 5.2 &#8211; 15+ models supported.<\/p>\n<\/li>\n<li>\n<p><strong>Bring Your Own API key<\/strong>: Add your own API key, no extra charges.<\/p>\n<\/li>\n<li>\n<p><strong>Zero Data Retention<\/strong>: No code or prompts are logged. Only abuse prevention metrics like token usage are logged.<\/p>\n<\/li>\n<li>\n<p><strong>Install in seconds<\/strong>: pip, uv, or npm &#8211; pick whichever fits your setup.<\/p>\n<\/li>\n<li>\n<p><strong>Verifies before it shows you anything<\/strong>: instead of &#8220;here&#8217;s a fix, hope it works,&#8221; ByteAsk reproduces the bug, drives ThreadSanitizer\/ASan\/gdb\/Valgrind, and confirms the fix actually holds.<\/p>\n<\/li>\n<li>\n<p><strong>Built for the C\/C++ toolchain you already use<\/strong>: native support for LLVM, GCC, gdb, Valgrind, and CMake \u2014 not a generic wrapper bolted onto a language it doesn&#8217;t understand well.<\/p>\n<\/li>\n<li>\n<p><strong>Runs from your terminal, in your repo<\/strong>: it edits your actual codebase, not a sandboxed snippet.<\/p>\n<\/li>\n<\/ul>\n<p>We built this because most AI coding tools treat C++ like just another language with slightly different syntax. It isn&#8217;t &#8211; memory safety and concurrency bugs are where the real time goes, and that&#8217;s exactly the loop we automated.<\/p>\n<p>Try it \u2192 <a href=\"http:\/\/byteask.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">byteask.ai<\/a><\/p>\n<\/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\/@anirudhabyteask\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anirudhabyteask<\/a>&nbsp;Foxy chose your launch out of today&#8217;s batch \ud83e\udd8a \u2014 a C\/C++ agent that proves its code compiles, runs and passes (40%+ of Multi-SWE-bench when general models sit under 10%) is a serious wedge. We wanted to give you more than an upvote, so here&#8217;s a launch video built from your own product \u2014 white-label, yours to post anywhere:<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=05SJUQrAGeg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=05SJUQrAGeg<\/a><\/p>\n<p>Make your own free at <a href=\"https:\/\/foxplug.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/foxplug.com<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this sounds really cool!! congrats on the launch Pratyush and Anirudh!<\/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\/@gagan_aryan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gagan_aryan<\/a>&nbsp;thanks! do checkout at <\/p>\n<pre><code>pip install byteask<\/code><\/pre>\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>Interested in where ByteAsk is headed? We post every major release, benchmark, and product update on LinkedIn:<\/p>\n<p><a href=\"https:\/\/www.linkedin.com\/company\/byteask\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.linkedin.com\/company\/byteask\/<\/a><\/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>C++ as a language gives broader control which makes it easier to shoot yourself in the foot. Memory management, thread safety, performance engineering are some of the fundamental concepts we needed to make sure it works in practice. One of the hardest challenge was to create the code graph over C++ with lots of templates. This requires working over compile time AST which can grow exponentially before making any edits.<\/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>You can directly get support from me and community of 100+ volunteers working on this project here: Discord community: <a href=\"https:\/\/discord.gg\/kENTnW6ubW\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.gg\/kENTnW6ubW<\/a><\/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>This is really cool. I just tried ByteAsk, and I&#8217;m genuinely impressed by how frictionless it is. It fits naturally into an existing coding workflow, and it&#8217;s surprising how well it handles even complex C++ problems. Huge kudos to the team. You guys are onto something. <a href=\"https:\/\/www.producthunt.com\/@anirudhabyteask\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"anirudhabyteask\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anirudhabyteask<\/a> <a href=\"https:\/\/www.producthunt.com\/@pratyush1505\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"pratyush1505\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pratyush1505<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Anirudha, so much of what a machine writes for me looks right and then quietly falls apart the moment I run it. Something that catches its own mistakes before I ever see them would earn my trust fast.<\/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>Sources:<\/p>\n<ol>\n<li>\n<p>All benchmarks: <a href=\"https:\/\/x.com\/4n1rudh4\/status\/2069108126524359115\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/x.com\/4n1rudh4\/status\/2069108126524359115<\/a><\/p>\n<\/li>\n<li>\n<p>Github: <a href=\"https:\/\/github.com\/ByteAsk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/ByteAsk<\/a><\/p>\n<\/li>\n<li>\n<p>Documentation: <a href=\"https:\/\/byteask.ai\/docs\/overview\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/byteask.ai\/docs\/overview<\/a><\/p>\n<\/li>\n<li>\n<p>Privacy policy: <a href=\"https:\/\/byteask.ai\/privacy\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/byteask.ai\/privacy\/<\/a><\/p>\n<\/p>\n<\/li>\n<\/ol>\n<p>Installation Sources:<\/p>\n<ol>\n<li>\n<p>PIP: <a href=\"https:\/\/pypi.org\/project\/byteask\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/pypi.org\/project\/byteask\/<\/a><\/p>\n<\/li>\n<li>\n<p>JetBrains: <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/32655-byteask\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/plugins.jetbrains.com\/plugin\/32655-byteask<\/a><\/p>\n<\/li>\n<li>\n<p>Cursor: <a href=\"https:\/\/open-vsx.org\/extension\/byteask\/byteask-vscode\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/open-vsx.org\/extension\/byteask\/byteask-vscode<\/a><\/p>\n<\/li>\n<li>\n<p>NVim: <a href=\"https:\/\/github.com\/ByteAsk\/ByteAsk.nvim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/ByteAsk\/ByteAsk.nvim<\/a><\/p>\n<\/li>\n<li>\n<p>Emacs: <a href=\"https:\/\/github.com\/ByteAsk\/byteask-extensions\/tree\/main\/emacs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/ByteAsk\/byteask-extensions\/tree\/main\/emacs<\/a><\/p>\n<\/li>\n<li>\n<p>NPM: <a href=\"https:\/\/www.npmjs.com\/package\/@byteask\/cli\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.npmjs.com\/package\/@byteask\/cli<\/a><\/p>\n<\/li>\n<\/ol>\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\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/CU4CDO2ZB4PLG5\" class=\"app-title\">Proxon<\/a><\/p>\n<div class=\"one-liner\">The management layer for your AI workforce<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">30<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Proxon \u662f\u4e00\u4e2aAI\u7ba1\u7406\u5e73\u53f0\uff0c\u4e3a\u4f01\u4e1a\u63d0\u4f9b\u7edf\u4e00\u7684\u4eea\u8868\u76d8\uff0c\u7528\u4e8e\u8ffd\u8e2a\u5e76\u7ba1\u7406\u5185\u90e8\u4f7f\u7528\u7684\u5404\u7c7bAI\u5de5\u5177\u3001\u667a\u80fd\u4f53\u548c\u5de5\u4f5c\u6d41\u7684\u6210\u672c\u3001\u6570\u636e\u66b4\u9732\u98ce\u9669\u548c\u4f7f\u7528\u60c5\u51b5\uff0c\u89e3\u51b3\u8001\u677f\u5bf9AI\u90e8\u7f72\u201c\u770b\u4e0d\u89c1\u3001\u7ba1\u4e0d\u4e86\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\/e598ffc8-44a0-4a2c-9a76-38e42ecbfca4.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\/9a95048e-fccb-45da-8c01-adb9d40082cd.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\/59fe440b-8a94-4145-a391-f9cbf526bef4.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\/bedb24b1-e9f2-4265-bb79-9eae0fb2834e.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\/9a778851-5d1f-4f31-8ba6-d299046a05b1.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\/3454119c-5054-4080-a56f-fd4732d89d73.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\/65b57c5b-d2aa-49bf-a00a-cb68cde3171b.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/54973473f3184589b0acc023ef989e9a\"><source src=\"https:\/\/www.loom.com\/share\/54973473f3184589b0acc023ef989e9a\" 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\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Data<\/span><br \/>\n            <span class=\"tag\">Business Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4f01\u4e1aAI\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u6cbb\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u6210\u672c\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5f71\u5b50AI\u53d1\u73b0<\/span><br \/>\n            <span class=\"tag\">AI\u8d44\u4ea7\u76d8\u70b9<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u5185\u90e8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7ba1\u7406\u9762\u677f<\/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\u53cd\u9988\u6b63\u9762\uff1a\u8ba4\u540c\u201c\u901a\u8fc7\u6563\u843d\u7684\u53d1\u7968\u548c\u7535\u5b50\u8868\u683c\u7ba1\u7406AI\u201d\u662f\u771f\u5b9e\u75db\u70b9\uff0c\u6210\u672c\u6309\u56e2\u961f\u62c6\u5206\u529f\u80fd\u4ee4\u4eba\u201c\u5927\u5f00\u773c\u754c\u201d\u3002\u6838\u5fc3\u5173\u5207\u5305\u62ec\uff1a\u80fd\u5426\u53d1\u73b0\u5458\u5de5\u79c1\u81ea\u4f7f\u7528\u672a\u6388\u6743\u7684ChatGPT\u7b49\u201c\u5f71\u5b50AI\u201d\u3002\u5b98\u65b9\u56de\u5e94\u79f0\u901a\u8fc7\u6d4f\u89c8\u5668\u3001\u684c\u9762\u3001\u7f51\u7edc\u63a2\u9488\u53ef\u5b9e\u73b0\u53d1\u73b0\u3002\u7528\u6237\u4e5f\u8be2\u95ee\u4e86\u65e0\u7f1d\u90e8\u7f72\uff08\u5982\u901a\u8fc7Jamf\/Intune\uff09\u7684\u53ef\u884c\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                Proxon\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u65e5\u76ca\u5c16\u9510\u7684\u771f\u7a7a\u5730\u5e26\uff1a\u5f53\u4f01\u4e1aAI\u91c7\u7528\u4ece\u201c\u5c1d\u9c9c\u201d\u98de\u901f\u6f14\u53d8\u4e3a\u201c\u6b66\u88c5\u6e17\u900f\u201d\uff0c\u7ba1\u7406\u5c42\u5374\u4f9d\u7136\u9760Excel\u548c\u9053\u542c\u9014\u8bf4\u5728\u7ba1\u7406\u3002\u8fd9\u4e2a\u9700\u6c42\u662f\u771f\u5b9e\u4e14\u521a\u6027\u7684\u3002\u4ea7\u54c1\u6700\u5927\u7684\u4eae\u70b9\u4e0d\u5728\u4e8e\u201c\u76d1\u63a7\u201d\uff0c\u800c\u5728\u4e8e\u6784\u5efa\u4e86\u4f01\u4e1aAI\u7684\u201c\u5ba1\u8ba1\u5355\u6e90\uff08system of record\uff09\u201d\uff0c\u5c06\u9690\u5f62\u6210\u672c\uff08\u5982\u5404\u90e8\u95e8\u7684API\u8c03\u7528\uff09\u3001\u6cd5\u5f8b\u98ce\u9669\uff08\u6570\u636e\u66b4\u9732\uff09\u548c\u6548\u7387\u9ed1\u6d1e\uff08\u65e0\u4ef7\u503c\u7684Agent\u6d3b\u52a8\uff09\u8fdb\u884c\u4e86\u91cf\u5316\u548c\u53ef\u89c6\u5316\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ece\u8bc4\u8bba\u548c\u4ea7\u54c1\u63cf\u8ff0\u6765\u770b\uff0cProxon\u9762\u4e34\u7684\u6838\u5fc3\u6311\u6218\u5728\u4e8e\u201c\u89c4\u6a21\u4e0e\u4fe1\u4efb\u201d\u7684\u5e73\u8861\u3002\u4e00\u65b9\u9762\uff0c\u5176\u5ba3\u79f0\u7684\u201c\u5f71\u5b50AI\u53d1\u73b0\u201d\u80fd\u529b\u2014\u2014\u901a\u8fc7\u6d4f\u89c8\u5668\u3001\u7f51\u7edc\u63a2\u9488\u6e17\u900f\u76d1\u6d4b\u2014\u2014\u6781\u6709\u53ef\u80fd\u89e6\u53ca\u5458\u5de5\u9690\u79c1\u654f\u611f\u5e26\u3002\u5c3d\u7ba1\u5ba3\u4f20\u4e2d\u5f3a\u8c03\u201c\u9690\u79c1\u5b89\u5168\u201d\uff0c\u4f46\u5b9e\u65bd\u4e2d\u5982\u4f55\u754c\u5b9a\u201c\u76d1\u63a7\u201d\u4e0e\u201c\u7ba1\u7406\u201d\u7684\u8fb9\u754c\uff0c\u5c06\u662f\u5176\u80fd\u5426\u88ab\u5feb\u8282\u594f\u3001\u5f3a\u5408\u89c4\u4f01\u4e1a\u63a5\u7eb3\u7684\u5173\u952e\u3002\u53e6\u4e00\u65b9\u9762\uff0c\u6784\u5efa\u7ba1\u7406\u5c42\u7684\u7edf\u4e00\u89c6\u56fe\u5e76\u4e0d\u96be\uff0c\u96be\u7684\u662f\u5982\u4f55\u8bf4\u670dCIO\u548cCFO\u4e0d\u4ec5\u4ec5\u662f\u201c\u770b\u5230\u201d\uff0c\u800c\u662f\u63d0\u4f9b\u53ef\u6267\u884c\u7684\u4f18\u5316\u5efa\u8bae\u4e0e\u9884\u7b97\u524a\u51cf\u65b9\u6848\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u76ee\u524d\uff0c\u4ea7\u54c1\u66f4\u50cf\u662f\u4e00\u4e2a\u201cAI\u65f6\u4ee3\u7684ITSM\uff08IT\u670d\u52a1\u7ba1\u7406\uff09\u201d\u4eea\u8868\u76d8\uff0c\u4f46\u5df2\u5c55\u73b0\u51fa\u4e0e\u5b89\u5168\u3001\u8d22\u52a1\u548c\u8fd0\u8425\u6df1\u5ea6\u8026\u5408\u7684\u6f5c\u529b\u3002\u5982\u679c\u5b83\u53ea\u6ee1\u8db3\u4e8e\u505a\u4e00\u4e2a\u6602\u8d35\u7684\u201c\u7ba1\u7406\u9762\u677f\u201d\uff0c\u4ef7\u503c\u6709\u9650\uff1b\u5f52\u6839\u7ed3\u5e95\uff0cProxon\u7684\u4ef7\u503c\u4e0d\u53d6\u51b3\u4e8e\u5b83\u770b\u5f97\u6709\u591a\u6e05\uff0c\u800c\u53d6\u51b3\u4e8e\u5b83\u662f\u5426\u80fd\u5e2e\u52a9\u4f01\u4e1a\u57fa\u4e8e\u8fd9\u4e9b\u6570\u636e\uff0c\u505a\u51fa\u5f71\u54cdAI\u6295\u8d44\u56de\u62a5\u7387\u548c\u5408\u89c4\u98ce\u9669\u7684\u3001\u975e\u51e1\u7684\u51b3\u7b56\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\">Proxon<\/span>\n                <\/div>\n<div class=\"comment-content\">AI is spreading across every company, but most leaders are still managing it through scattered tools, policy docs, invoices, and anecdotes. Proxon is the system of record for your AI workforce: it connects to the AI tools, agents, and workflows your teams already use, then shows who is using AI, what it costs, what data it touches, what outcomes it creates, and where ownership or governance is missing.<\/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<br \/>\nI&#8217;m Peter, one of the co-founders of Proxon.<br \/>\nA quick story on why we built this. Over the past year, almost every founder and exec I talked to said some version of the same thing: their teams had adopted AI everywhere, fast, and nobody at the top could actually see what was happening underneath. How much are we spending? What data are all these tools touching? What are these agents actually doing all day?<br \/>\nProxon is the system of record for AI in your company. One clear view for leadership across three things that matter most: your AI spend, your data exposure, and your agent activity. So you can let your team move fast on AI and still know exactly what&#8217;s going on.<br \/>\nWe&#8217;ve been building this heads-down with a small team that cares a lot about getting it right, and today we finally get to share it with you.<br \/>\nWe&#8217;d genuinely love your honest feedback, the good and the rough. I&#8217;ll be here all day in the comments, so ask me anything. \ud83d\ude4f<br \/>\n\u2014 Peter &amp; the Proxon team<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Dave here, CPO at Proxon. I&#8217;ve run dozens of customer discovery calls in recent months, and the response has been overwhelming. People start pulling in their eng leads mid-call, before I&#8217;ve even finished the demo. &#8220;This is the exact visibility I&#8217;ve been looking for&#8221; is the common refrain. That reaction is why we still do this, and why we\u2019re so excited about Proxon.<\/p>\n<p>We\u2019re still early, and still eager to talk to customers. I\u2019d love to chat with you about your AI adoption story!<\/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>Finally gave it a spin and the cost breakdown by team was genuinely eye opening, we had no idea how much some departments were burning on API calls. Mapping data exposure across all our agents in one view feels like the kind of thing every ops lead has been cobbling together in spreadsheets.<\/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\/@glhaneb63\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@glhaneb63<\/a>&nbsp;Thanks so much, G\u00fclhan! &#8220;Cobbling together in spreadsheets&#8221; is exactly the pain point we were trying to solve with the data exposure mapping. We&#8217;re thrilled to hear the cost breakdown is already bringing that level of visibility to your team. Let us know if there&#8217;s anything else you&#8217;d love to see added!<\/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>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I\u2019m <strong>Santiago<\/strong> from <a href=\"https:\/\/proxonai.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Proxon<\/strong><\/a>.<\/p>\n<p>A quick story on why we built this: Over the past year, almost every founder and operations leader we spoke to told us the exact same thing. Their teams were adopting AI tools, custom agents, and automated prompt loops incredibly fast, but leadership was completely blind to it. We kept hearing the same questions: <em>What are these tools actually costing us? What data are they touching? And who owns them if something drifts?<\/em><\/p>\n<p>Managing AI through scattered invoices, random policy docs, and manual spreadsheets just doesn&#8217;t scale.<\/p>\n<p>That\u2019s why we built Proxon, the definitive management layer and system of record for your AI workforce.<\/p>\n<p>Here is what you can do with Proxon starting today:<\/p>\n<ul>\n<li>\n<p><strong>Discover the Workforce \ud83d\udd0d:<\/strong> Map every AI tool, agent, prompt loop, and shadow AI asset running across your organization.<\/p>\n<\/li>\n<li>\n<p><strong>Govern &amp; Assign Ownership \ud83d\udee1\ufe0f:<\/strong> Establish data policies, review cadences, and approval paths so your team can move fast safely.<\/p>\n<\/li>\n<li>\n<p><strong>Attribute Spend &amp; ROI \ud83d\udcb0:<\/strong> Tie vendor and model costs directly back to specific teams and workflows instead of guessing at line-item invoices.<\/p>\n<\/li>\n<li>\n<p><strong>Propagate What Works \ud83d\udcc8:<\/strong> Automatically extract high-performing AI workflows from your power users and deploy them as templates for the rest of the team.<\/p>\n<\/li>\n<\/ul>\n<p>We\u2019ve been building this heads-down with a team that cares deeply about getting enterprise AI right. Today, we\u2019d genuinely love your honest feedback: the good, the bad, and the rough.<\/p>\n<p>I&#8217;ll be right here in the comments all day, so ask me anything! What do you think? \ud83d\udc47<\/p>\n<\/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>Maker here. We built Proxon because we were flying blind on what our own AI agents were actually doing \u2014 and spending. Every tool showed you tokens. None of them told you the work: which agent, which task, what it cost, whether it was worth it.<\/p>\n<p>So we built the thing we needed. It captures every agent&#8217;s activity and turns it into cost intelligence you can actually act on. We&#8217;ve been dogfooding it on ourselves for weeks and I genuinely can&#8217;t run without it now.<\/p>\n<p>This is day one for us. Would love your brutal feedback \u2014 we read everything. \ud83d\ude80<\/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>Dev on the <a href=\"https:\/\/www.producthunt.com\/products\/proxon\" target=\"_blank\" rel=\"noopener\">@Proxon<\/a> team here \ud83d\udc4b. <\/p>\n<p>We kept hearing the same thing from teams adopting AI fast: nobody had a clear picture of what was actually happening across all the tools once it spread past a handful of early adopters. Spend, usage, ownership \u2014 all of it scattered across vendors with no single view. That gap is what got us building.<\/p>\n<p>Personally I just wanted to build something people would actually enjoy using, not just tolerate. That&#8217;s been the bar for me the whole way through.<\/p>\n<p>Really proud of where it landed. Excited to finally have this out \u2014 let us know what&#8217;s rough, we&#8217;re reading everything.<\/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>Amazing team that is spot on with this problem. How does onboarding and setup work?<\/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\/@nimeshmc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nimeshmc<\/a>&nbsp;Thanks so much, Nimesh! Really appreciate the kind words from the Struct team.<\/p>\n<p>We designed setup to be highly modular so you don&#8217;t need everything to begin. Most teams start by rolling out our three <strong>Core Observers<\/strong> (Browser, Desktop, and Network), which you can push seamlessly through tools you already use like Jamf, Intune, or Google Admin (or just let folks self-install).<\/p>\n<p>That immediately gives you a baseline of how AI is being used. From there, you can layer on <strong>Targeted Sources<\/strong>\u2014like direct vendor API integrations or our drop-in SDK for your custom agents\u2014to get precise billing data. Happy to show you around if you want to see it in action!<\/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>Co-founder here. We built Proxon because everyone we talked to was burning real money on AI \u2014 Claude, GPT, Cursor, all of it \u2014 and nobody could say who was actually using it, whether it was helping, or where the spend went.<\/p>\n<p>Every tool that tried to answer that felt like surveillance. We went the other way: aggregated, privacy-safe views for managers, personal dashboards for everyone else, and a little recognition when you ship your first agent. Less Big Brother, more leveling up.<\/p>\n<p>Curious how you all handle this \u2014 how do you measure if AI is actually paying off at your company? Around all day, ask us anything.<\/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>the &#8220;who is using AI&#8221; question is the one I&#8217;d actually want answered honestly &#8211; a lot of the real exposure isn&#8217;t the sanctioned agents your team built, it&#8217;s someone pasting a customer contract into a random ChatGPT tab because it&#8217;s faster than asking IT for access to the approved tool. does Proxon have any way to see that shadow usage, or is it scoped to the tools\/agents that are already connected and reporting in?<\/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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Hey Gal! You hit the nail on the head, that exact scenario (pasting contracts into unauthorized AI tabs) is what keeps security leaders up at night. To answer your question directly: yes, Proxon absolutely has a way to see that shadow usage. We aren&#8217;t just scoped to the sanctioned tools; our platform is designed to map the entire shadow AI footprint across your organization so you can actually govern it<\/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\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/JVHKYFFB4KEK37\" class=\"app-title\">Willow<\/a><\/p>\n<div class=\"one-liner\">Own your personal AI agent. Runs locally.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">27<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Willow \u662f\u4e00\u6b3e\u672c\u5730\u4f18\u5148\u7684\u684c\u9762AI\u4ee3\u7406\uff0c\u8ba9\u7528\u6237\u901a\u8fc7\u81ea\u6301\u6a21\u578b\u6216API\u5bc6\u94a5\u5728\u81ea\u5df1\u7684Mac\u4e0a\u5b8c\u6210\u591a\u6b65\u9aa4\u81ea\u52a8\u5316\u4efb\u52a1\uff0c\u89e3\u51b3\u4e86\u4e91\u7aefAI\u8ba2\u9605\u6602\u8d35\u3001\u6570\u636e\u9690\u79c1\u65e0\u4fdd\u969c\u548cAI\u53ea\u5efa\u8bae\u4e0d\u6267\u884c\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                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/6633f3fc-8651-481a-8c52-c26be2dda96e.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/lV3l6j7Q3Y8\"><source src=\"https:\/\/youtu.be\/lV3l6j7Q3Y8\" 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\/e0a99e36-fe0f-424c-93f3-ef5d794cd36b.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\/f975be3f-9388-45ad-8c49-d1629ad8e055.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\/9b229ce7-cde2-42dc-9f32-83499c360515.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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u684c\u9762AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u8eab\u4e70\u65ad<\/span><br \/>\n            <span class=\"tag\">\u8ba1\u7b97\u673a\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u591a\u6b65\u9aa4\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">BYOK<\/span><br \/>\n            <span class=\"tag\">Ollama<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u786e\u8ba4\u673a\u5236\uff0c\u5982\u7834\u574f\u6027\u64cd\u4f5c\u662f\u5426\u9700\u8981\u624b\u52a8\u6279\u51c6\uff08\u5df2\u56de\u5e94\uff1a\u5220\u9664\u786c\u9650\u5236\u3001\u652f\u4ed8\u7b49\u9700\u786e\u8ba4\uff09\u3002\u6709\u7528\u6237\u8d28\u7591\u5176\u76f8\u5bf9\u4e8e\u514d\u8d39Ollama\u7684\u4ef7\u503c\uff0c\u5f00\u53d1\u8005\u56de\u5e94Willow\u662f\u201c\u4f7f\u7528\u6a21\u578b\u7684\u4ee3\u7406\u201d\u800c\u975e\u6a21\u578b\u672c\u8eab\u3002\u4e5f\u6709\u7528\u6237\u62c5\u5fe7\u7ec8\u8eab\u5236\u4e0b\u957f\u671f\u66f4\u65b0\u7684\u8d44\u91d1\u53ef\u6301\u7eed\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                Willow\u7684\u5dee\u5f02\u5316\u5b9a\u4f4d\u975e\u5e38\u6e05\u6670\uff1a\u5b83\u4e0d\u662f\u53c8\u4e00\u4e2a\u804a\u5929\u5305\u88c5\u5668\uff0c\u800c\u662f\u4e00\u4e2a\u771f\u6b63\u80fd\u66ff\u4f60\u64cd\u4f5c\u7535\u8111\u7684\u201c\u6570\u5b57\u5458\u5de5\u201d\u3002\u5728\u201cAI\u8ba2\u9605\u75b2\u52b3\u201d\u548c\u201c\u9690\u79c1\u89c9\u9192\u201d\u7684\u53cc\u91cd\u6d6a\u6f6e\u4e0b\uff0c299\u6b27\u5143\u7ec8\u8eab\u4e70\u65ad\u7684\u5b9a\u4ef7\u7b56\u7565\u7cbe\u51c6\u6253\u51fb\u4e86\u7528\u6237\u7684\u75db\u70b9\uff0c\u5c24\u5176\u5bf9\u5f00\u53d1\u8005\u3001\u6280\u672f\u7231\u597d\u8005\u8fd9\u7c7b\u201c\u5efa\u9020\u8005\u201d\u7fa4\u4f53\u5177\u6709\u81f4\u547d\u5438\u5f15\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u6f5c\u85cf\u7684\u98ce\u9669\u4e0e\u5b83\u7684\u5356\u70b9\u540c\u6837\u7a81\u51fa\u3002\u6700\u5927\u7684\u95ee\u9898\u5728\u4e8e\u201c\u8ba1\u7b97\u673a\u63a7\u5236\u201d\u7684\u80fd\u529b\u8fb9\u754c\u4e0e\u5b89\u5168\u6a21\u578b\u7684\u590d\u6742\u6027\u3002\u867d\u7136\u5f00\u53d1\u8005\u627f\u8bfa\u5bf9\u7834\u574f\u6027\u64cd\u4f5c\u8fdb\u884c\u786c\u5c01\u9501\uff0c\u4f46\u201c\u786e\u8ba4\u6bcf\u4e00\u6b65\u201d\u4e0e\u201c\u53ea\u786e\u8ba4\u5173\u952e\u6b65\u9aa4\u201d\u4e4b\u95f4\u7684\u754c\u9650\uff0c\u4ee5\u53ca\u5982\u4f55\u9632\u6b62\u6a21\u578b\u88ab\u6076\u610fPrompt\u8bf1\u5bfc\u8d8a\u6743\u6267\u884c\uff0c\u662f\u4fe1\u4efb\u94fe\u4e0a\u6700\u8106\u5f31\u7684\u4e00\u73af\u3002\u4e00\u65e6\u51fa\u73b0\u6388\u6743\u5931\u8bef\uff0c\u7528\u6237\u635f\u5931\u7684\u662f\u6570\u636e\u5b89\u5168\uff0c\u800c\u4ea7\u54c1\u635f\u5931\u7684\u662f\u6574\u4e2a\u201c\u81ea\u4e3b\u4ee3\u7406\u201d\u54c1\u7c7b\u7684\u4fe1\u4efb\u57fa\u77f3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u9690\u542b\u7684\u77db\u76fe\u662f\u5546\u4e1a\u6a21\u5f0f\u3002\u7ec8\u8eab\u4e70\u65ad\u4f9d\u8d56\u4e00\u6b21\u6027\u6536\u5165\uff0c\u4f46\u7ef4\u6301\u4e0eMacOS\u3001\u6d4f\u89c8\u5668\u7248\u672c\u4ee5\u53ca\u5404\u5927\u6a21\u578bAPI\u66f4\u65b0\u7684\u517c\u5bb9\u6027\u5374\u9700\u8981\u6301\u7eed\u6295\u5165\u3002\u5f53\u9500\u552e\u66f2\u7ebf\u653e\u7f13\uff0c\u7ef4\u62a4\u6210\u672c\u4e0a\u5347\u65f6\uff0c\u8981\u4e48\u4ea7\u54c1\u66f4\u65b0\u505c\u6ede\u8d70\u5411\u6b7b\u80e1\u540c\uff0c\u8981\u4e48\u53d8\u76f8\u63a8\u51fa\u4ed8\u8d39\u8ba2\u9605\u7684\u201c\u9644\u52a0\u529f\u80fd\u201d\uff0c\u8fd9\u4e0e\u5176\u201cno subscription\u201d\u7684\u627f\u8bfa\u76f8\u6096\u3002Willow\u672c\u8d28\u4e0a\u662f\u5728\u8d4c\u5b83\u80fd\u4ee5\u6781\u81f4\u7684\u53e3\u7891\u4f20\u64ad\u548c\u540e\u7eed\u589e\u503c\u670d\u52a1\uff08\u5982\u66f4\u9ad8\u7ea7\u7684\u81ea\u52a8\u5316\u6a21\u677f\u5e02\u573a\uff09\u6765\u5f25\u8865\u521d\u671f\u6536\u5165\u7684\u5929\u82b1\u677f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f52\u6839\u7ed3\u5e95\uff0cWillow\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u6280\u672f\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u5b83\u7cbe\u51c6\u5730\u56de\u5e94\u4e86AI\u65f6\u4ee3\u7528\u6237\u5bf9\u201c\u62e5\u6709\u611f\u201d\u548c\u201c\u63a7\u5236\u6743\u201d\u7684\u6df1\u5c42\u6e34\u671b\u3002\u4f46\u5b83\u5fc5\u987b\u8bc1\u660e\uff0c\u5728\u8d4b\u4e88AI\u201c\u624b\u811a\u201d\u7684\u540c\u65f6\uff0c\u4e5f\u80fd\u7ed9\u7528\u6237\u8db3\u591f\u575a\u56fa\u7684\u201c\u7f30\u7ef3\u201d\u3002\u76ee\u524d\u6765\u770b\uff0c\u8fd9\u66f4\u50cf\u662f\u4e00\u4e2a\u7ecf\u8fc7\u6df1\u601d\u719f\u8651\u7684\u3001\u4ef7\u503c\u4e0d\u83f2\u7684\u201c\u6280\u672f\u7eaa\u5ff5\u7891\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u80fd\u653e\u5fc3\u4ea4\u4ed8\u7ed9\u666e\u901a\u7528\u6237\u7684\u6210\u719f\u6d88\u8d39\u54c1\u3002\u5bf9\u4e8e\u6562\u5403\u8783\u87f9\u7684\u6781\u5ba2\uff0c\u5b83\u662f\u798f\u97f3\uff1b\u5bf9\u4e8e\u5927\u4f17\u5e02\u573a\uff0c\u5b83\u9700\u8981\u4e00\u4e2a\u8fdc\u4e0d\u6b62\u4e8e\u201c\u627f\u8bfa\u201d\u7684\u5b89\u5168\u62a4\u680f\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\">Willow<\/span>\n                <\/div>\n<div class=\"comment-content\">Willow is a local-first desktop AI agent you own \u2014 not another cloud chat you rent. It runs on your Mac, drives browser + desktop, and finishes multi-step tasks while data stays on-device. \u20ac299 lifetime, no subscription. BYOK\/BYOM (or Ollama offline). Local memory + Markdown vault. Real computer control, not just suggestions. Built for builders who want an agent that belongs to them.<\/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<br \/>\nMaker here. I built Willow because I got tired of renting AI \u2014 monthly plans, cloud lock-in, and chat tools that only suggest instead of actually doing the work.<br \/>\nWillow is a local-first desktop AI agent for Mac:<br \/>\nruns on your machine, not someone else\u2019s cloud<br \/>\ndrives browser + desktop (click, type, fill forms, multi-step tasks)<br \/>\nBYOK \/ BYOM \u2014 your Anthropic\/OpenAI\/Gemini keys, or Ollama offline<br \/>\nmemory + Markdown vault stay on-device<br \/>\n\u20ac299 lifetime \u2014 no subscription<br \/>\nWhat\u2019s different: ownership + real computer control. Not another chat wrapper.<br \/>\nWould love your feedback, especially:<br \/>\nWhat should an agent do on your desktop that chat still can\u2019t?<br \/>\nLifetime vs subscription \u2014 does that matter to you for AI tools?<br \/>\nPrivacy-first agents: must-have or nice-to-have?<br \/>\nHappy to answer anything \u2014 bugs, roadmap, Windows\/Linux, pricing, demos.<br \/>\nThanks for being here on day one \ud83d\ude4f<br \/>\n\u2014 Ali<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>20<\/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 &#8220;real computer control, not just suggestions&#8221; part is what would make me hesitate, not the local vs cloud question. an agent that can actually click and type on my desktop is a much bigger blast radius than one that drafts a suggestion I approve. is there a confirm-before-action step for anything destructive (deleting files, submitting forms, sending money), or does it just act once it decides on a plan?<\/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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Willow doesn\u2019t free-run destructive actions. Deletes are hard-blocked. Payments, form submits, sends, and other irreversible steps need explicit confirmation first \u2014 it can prepare them, not silently execute them. Read\/observe is freer; blast-radius actions stay gated.<\/p>\n<p>Curious where you\u2019d draw the line: confirm every click, or only destructive\/irreversible ones?<\/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>Local models are a neat idea, but aren&#8217;t there free easy ways to get Ollama to run on a Mac? What is better about using WIllow?<\/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\/@mjohnson42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mjohnson42<\/a>&nbsp;You\u2019re right: Ollama on Mac is easy and free.<\/p>\n<p>Different layer though:<br \/>\nOllama serves the model.<br \/>\nWillow is the personal agent that uses the model to control browser + desktop, keep memory on-device, and run multi-step work.<\/p>\n<p>Think \u201cengine\u201d vs \u201ccar.\u201d Willow happily runs on Ollama (or your API keys).<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\u20ac299 lifetime with real computer control is a bold bet against subscription fatigue, but lifetime pricing on something that needs ongoing updates to keep working with new OS versions\/model APIs makes me nervous long term &#8211; how are you planning to fund that without a recurring revenue stream once the initial sales dry up?<\/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\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3ZVSGSL5XPUX5F\" class=\"app-title\">SandyWP<\/a><\/p>\n<div class=\"one-liner\">WordPress sandbox, instantly.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">26<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>SandyWP \u80fd\u5728\u6570\u79d2\u5185\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u771f\u5b9e\u3001\u53ef\u4e22\u5f03\u7684 WordPress \u6d4b\u8bd5\u6c99\u76d2\uff0c\u89e3\u51b3\u5728\u6d4b\u8bd5\u63d2\u4ef6\u6216\u514b\u9686\u5ba2\u6237\u7ad9\u70b9\u65f6\u7e41\u7410\u7684\u73af\u5883\u642d\u5efa\u548c\u6210\u672c\u987e\u8651\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\/28622d47-d9c4-4c2b-82f9-c2daf2b93a66.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\/9d114b4c-0358-447e-b8de-748aaa6bd253.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\/beae45cd-0b86-4cdb-a19c-6b18d5194e80.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\/dedb5d2b-a969-46e0-8ee6-cac23b1269ec.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\/9e7fe325-5cde-497a-a265-701293a11184.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\/ea2d1bf4-8205-432f-980d-f46a9848a03c.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\/777ed060-774a-40ac-9f1d-ccce96e171f3.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/qdxqd7fo4EY\"><source src=\"https:\/\/youtu.be\/qdxqd7fo4EY\" 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\">WordPress<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">WordPress\u6c99\u76d2<\/span><br \/>\n            <span class=\"tag\">\u6d4b\u8bd5\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">\u514b\u9686\u7ad9\u70b9<\/span><br \/>\n            <span class=\"tag\">\u5373\u5f00\u5373\u7528<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u63d2\u4ef6\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u9898\u9884\u89c8<\/span><br \/>\n            <span class=\"tag\">\u6a21\u677f\u5206\u4eab<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">CLI\u7ba1\u7406<\/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\u201c\u5373\u65f6\u90e8\u7f72\u201d\u548c\u201c\u7528\u5b8c\u5373\u5f03\u201d\u7684\u4fbf\u5229\u6027\u3002\u4e3b\u8981\u5efa\u8bae\uff1a\u6dfb\u52a0\u4e00\u952e\u91cd\u7f6e\u6c99\u76d2\u6309\u94ae\uff08\u5df2\u5b9e\u73b0\uff09\uff1b\u987e\u8651\u514b\u9686\u7ad9\u70b9\u80fd\u5426\u65e0\u8ba4\u8bc1\u66b4\u9732\u524d\u53f0\u9875\u9762\uff0c\u5f00\u53d1\u8005\u6f84\u6e05\u654f\u611f\u6570\u636e\u4ecd\u5728\u9700\u8981\u767b\u5f55\u7684\u540e\u53f0\u3002\u540c\u65f6\u6709\u7528\u6237\u671f\u671b\u66f4\u4fbf\u6377\u7684\u56e2\u961f\u5171\u4eab\u548c\u5ba2\u6237\u9884\u89c8\u65b9\u5f0f\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                SandyWP \u89e3\u51b3\u4e86\u4e00\u4e2a\u6781\u5176\u771f\u5b9e\u4e14\u9ad8\u9891\u7684 WordPress \u5f00\u53d1\u8005\u75db\u70b9\uff1a\u6d4b\u8bd5\u73af\u5883\u7684\u201c\u5373\u7528\u5373\u5f03\u201d\u9700\u6c42\u88ab\u5b9a\u4ef7\u548c\u90e8\u7f72\u65f6\u95f4\u6240\u963b\u788d\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u81ea\u52a8\u5316\u201d\uff0c\u800c\u5728\u4e8e\u5c06\u201c\u4e22\u5f03\u201d\u7684\u64cd\u4f5c\u6210\u672c\u4ece\u201c\u5fc3\u7406\u548c\u8d22\u52a1\u51b3\u7b56\u201d\u964d\u4e3a\u96f6\u3002\u514b\u9686\u7ad9\u70b9\u3001\u5206\u4eab\u6a21\u677f\u3001Slack \u96c6\u6210\u7b49\u529f\u80fd\uff0c\u7cbe\u51c6\u5207\u5165\u5916\u5305\/\u4ee3\u7406\u5546\u5de5\u4f5c\u6d41\u4e2d\u7684\u201c\u4e0d\u6562\u78b0\u751f\u4ea7\u73af\u5883\u201d\u4e0e\u201c\u590d\u73b0\u5ba2\u6237Bug\u592a\u9ebb\u70e6\u201d\u7684\u6b7b\u89d2\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5728\u201c\u53ef\u5206\u4eab\u6027\u201d\u7684\u5b89\u5168\u6027\u4e0a\u5b58\u5728\u6a21\u7cca\u5730\u5e26\u3002\u867d\u7136\u524d\u53f0\u201c\u65e0\u8ba4\u8bc1\u201d\u662f\u529f\u80fd\u4eae\u70b9\uff0c\u4f46\u82e5\u4e00\u6b21\u901a\u77e5\u4e0d\u5230\u4f4d\u6216\u7528\u6237\u9057\u5fd8\u5173\u95ed\u94fe\u63a5\uff0c\u6781\u6613\u917f\u6210\u6570\u636e\u6cc4\u9732\u4e8b\u6545\u3002\u6b64\u5916\uff0c26\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u53cd\u6620\u5176\u5c1a\u672a\u83b7\u5f97\u793e\u533a\u5927\u89c4\u6a21\u9a8c\u8bc1\uff0c\u80fd\u5426\u5728\u514d\u8d39\u542f\u52a8\uff08\u65e0\u9700\u4fe1\u7528\u5361\uff09\u4e4b\u5916\u6784\u5efa\u8db3\u591f\u5feb\u7684\u4ed8\u8d39\u8f6c\u5316\u95ed\u73af\uff0c\u662f\u751f\u5b58\u5173\u952e\u3002\u77ed\u671f\u770b\uff0c\u5b83\u662f\u4e00\u4e2a\u4f18\u79c0\u7684\u5b9e\u7528\u5de5\u5177\uff1b\u957f\u671f\u770b\uff0c\u4e0e Flywheel\u3001Local \u7b49\u65e2\u6709\u751f\u6001\u7684\u5dee\u5f02\u5316\uff08\u5c24\u5176\u5728\u7ebf\u534f\u4f5c\u5c42\u9762\uff09\u5fc5\u987b\u66f4\u6df1\u5165\uff0c\u5426\u5219\u5bb9\u6613\u6ca6\u4e3a\u53e6\u4e00\u6b3e\u201c\u7528\u8fc7\u5373\u5fd8\u201d\u7684\u6c99\u76d2\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\">SandyWP<\/span>\n                <\/div>\n<div class=\"comment-content\">Spin up a fresh WordPress sandbox in seconds. Test plugins, themes, and ideas without breaking real sites.<\/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 Riza here, solo founder of SandyWP.<\/p>\n<p>After years of working in WordPress plugins companies and handled thousands of client sites, often times when I stumbled upon really difficult issue where I cannot replicate it on fresh installation, I will need to copy over their site into my server.<\/p>\n<p>That means I have to login to my server &gt; setup the DNS so it connect to my server &gt; install fresh WordPress &gt; export client site &gt; import it to this new site. <\/p>\n<p>And that&#8217;s fine when you do it once. But I could almost do it few times a week. That started to give me real pain.<\/p>\n<p>The Problem<br \/>\nA WordPress test site has to be three things at once:<\/p>\n<p>Real \u2014 a real server, real database, real wp-admin.<br \/>\nFast \u2014 if a clean install takes 10 minutes, you&#8217;ll reuse a dirty one instead, and now your test results are tainted.<br \/>\nDisposable \u2014 but per-site pricing punishes exactly the throwaway behavior that testing needs. Delete-and-recreate becomes a billing decision.<\/p>\n<p>The Solution: SandyWP<br \/>\nReal, disposable WordPress sandboxes in a seconds. No local stack, no credit card, and your first one doesn&#8217;t even need a signup. Three ways in:<\/p>\n<p>Create \u2014 pick WP 6.6\u20137.0 and PHP 8.1\u20138.3, hit the button, and get a live HTTPS URL with one-click magic login into wp-admin. Live in a seconds, timed, real.<br \/>\nClone \u2014 paste any live WordPress site&#8217;s URL and SandyWP pulls its database and files into an isolated sandbox. Debug the client&#8217;s site without ever touching production.<br \/>\nCLI &#8211; Manage your site directly from the terminal<br \/>\nTemplates &#8211; Save your sandbox as a template, and share it with your customers.<br \/>\nSlack &#8211; just mention @SandyWP in Slack with a ZIP \u2014 it replies in-thread with a live site and a login link.<\/p>\n<p>Launch deal for hunters: code PHLAUNCH = 30% off any paid plan \u2014 recurring on every renewal, forever, not a first-month gimmick \u2192 <a href=\"https:\/\/sandywp.com\/ph\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/sandywp.com\/ph<\/a><\/p>\n<p>I&#8217;ll be here all day answering everything. Honest question for the WordPress folks: how do you spin up test sites today, and what&#8217;s the most annoying part of it? Brutal feedback very welcome. \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the &#8220;clone a live site into a sandbox, share it with anyone via a link, no login needed&#8221; combo is the part I&#8217;d think twice about &#8211; if the sandbox is an exact clone of a client&#8217;s production site with no auth, doesn&#8217;t that mean any unpublished drafts, real customer data in the DB, or anything else on that site is now sitting on a public URL with no gate at all? feels like the disposability that makes this useful for testing is also what makes it easy to forget a sandbox is still live and exposed<\/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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;No of course not. When I say no login needed is to access the front page. Any unpublished draft, real customer data, or any sensitive data still live in the wp-admin. And to access wp-admin will require login as usual. <\/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>A one-click &#8220;reset to clean slate&#8221; button after each test session would save a lot of time, so I don&#8217;t have to manually wipe installs between experiments.<\/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\/@mihribanlf5i\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mihribanlf5i<\/a>&nbsp;Oh really nice idea on this. Will implement this. Please wait for a few hour and it will be there<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mihribanlf5i\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mihribanlf5i<\/a>&nbsp;Thanks for amazing idea. We have it now<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c503035c-7f9a-4fbd-b06c-07fbe4e2b5b6.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/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>Would be huge if you could share a sandbox via a simple public link so clients can preview changes without needing their own login. That kind of frictionless handoff would make this my go-to for client work.<\/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\/@atakandeftsjbn\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@atakandeftsjbn<\/a>&nbsp;The sandbox is not gated, so anyone could see the change without needing any login. Am I missing something?<\/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 instant spin-up is genuinely impressive, had a clean WordPress site ready in under a minute. Also appreciate that I can blow it away without worrying about my real installs. Solid for quick testing.<\/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\/@asiyeztemi7b1l\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asiyeztemi7b1l<\/a>&nbsp;Yes, That is true power of SandyWP. <\/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>one thing that would be super useful here is letting users share a sandbox with a teammate via a simple link, since right now it seems like everything is locked to your own account and collab on staging stuff kind of requires 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\/@aykut597715\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aykut597715<\/a>&nbsp;The sandbox itself is a live site. You can share it with any teammate and share the one click login and start collaborating <\/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\/UY2HT3MS2OXRVS\" class=\"app-title\">DueDocs<\/a><\/p>\n<div class=\"one-liner\">AI property contract review for Australian buyers and pros.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">24<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DueDocs\u662f\u4e00\u6b3e\u5229\u7528AI\u6280\u672f\u4e3a\u6fb3\u5927\u5229\u4e9a\u623f\u4ea7\u4e70\u5bb6\u3001\u6295\u8d44\u8005\u53ca\u4e13\u4e1a\u4eba\u58eb\u5feb\u901f\u89e3\u6790\u4ea7\u6743\u8f6c\u8ba9\u5408\u540c\u4e0e\u5356\u65b9\u58f0\u660e\u7684\u5de5\u5177\uff0c\u65e8\u5728\u4e94\u5206\u949f\u5185\u8bc6\u522b\u5173\u952e\u98ce\u9669\u3001\u63d0\u4f9b\u8c08\u5224\u8981\u70b9\uff0c\u5e76\u8f85\u4ee5AI\u8bed\u97f3\u4e0e\u804a\u5929\u95ee\u7b54\uff0c\u89e3\u51b3\u7528\u6237\u5728\u7e41\u5fd9\u770b\u623f\u5b63\u96be\u4ee5\u9010\u9875\u7ec6\u8bfb\u590d\u6742\u6cd5\u5f8b\u6587\u4ef6\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\/2a67d03b-9421-4ed5-9ad5-efb7f26f1096.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\/0e9853de-5a77-4ebe-af49-f0c1d18435b4.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\/6ad052f1-1c6f-48c7-893e-321724914fed.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\/e6b7508c-75a4-47c9-937d-deb6de87e4c3.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\/ee3e9594-a0ee-43b5-b929-01200f919228.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\/8085ba0c-9e49-4856-bcad-10d15a2abc15.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\/f67d1252-2ce1-4cd2-a8b3-805a65841d0a.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\/7bb38e42-e862-48c5-a9a7-ef25154a2b1a.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\/322909a3-dc2a-42e7-8172-6cd9b55828b5.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\/3ef27653-a529-4423-9675-51114cfab180.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\/b6b47664-aef0-4c87-8e04-21624d28c76b.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\/17fa01b7-8ddd-419c-be94-679e029e6784.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\/b34507f9-09b0-4953-9ff0-e07635680aed.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\/d18d4deb-5d4c-409e-9f03-416f565847db.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\/1f71f809-b373-43b5-b226-12c005ec485c.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\/e92bc19a-5440-4809-8d93-e395c1702577.webp?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\/6cfe3806-a31d-44d0-bfd8-7abb8e46c42f.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=HX5qFyh2Qqs\"><source src=\"https:\/\/www.youtube.com\/watch?v=HX5qFyh2Qqs\" 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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5408\u540c\u5ba1\u67e5<\/span><br \/>\n            <span class=\"tag\">\u623f\u4ea7\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u6743\u8f6c\u8ba9<\/span><br \/>\n            <span class=\"tag\">\u6fb3\u5927\u5229\u4e9a\u623f\u4ea7<\/span><br \/>\n            <span class=\"tag\">\u98ce\u9669\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u5c3d\u804c\u8c03\u67e5<\/span><br \/>\n            <span class=\"tag\">\u8d2d\u623f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6cd5\u5f8b\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u6279\u91cf\u5904\u7406<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a1\uff09\u6a21\u578b\u662f\u5426\u9488\u5bf9\u5404\u5dde\u4e0d\u540c\u62ab\u9732\u5236\u5ea6\uff08\u5982\u7ef4\u5ddeSection 32\u3001\u65b0\u5dde\u5408\u540c\uff09\u8fdb\u884c\u9002\u914d\uff1b2\uff09\u5de5\u5177\u7684\u6cd5\u5f8b\u8d23\u4efb\u4e0e\u5b9a\u4f4d\uff0c\u662f\u5426\u6e05\u6670\u58f0\u660e\u4ec5\u4f9b\u8f85\u52a9\u800c\u975e\u66ff\u4ee3\u5f8b\u5e08\uff1b3\uff09\u5efa\u8bae\u589e\u52a0\u4e0e\u6807\u51c6\u6a21\u677f\u7684\u6761\u6b3e\u6bd4\u5bf9\u548c\u5dee\u5f02\u89c6\u56fe\u529f\u80fd\uff0c\u4ee5\u63d0\u5347\u8c08\u5224\u6548\u7387\u3002\u5f00\u53d1\u8005\u56de\u5e94\u5df2\u6309\u6587\u6863\u683c\u5f0f\u81ea\u52a8\u8bc6\u522b\u53f8\u6cd5\u7ba1\u8f96\u533a\uff0c\u5e76\u660e\u786e\u5f3a\u8c03\u4e0d\u66ff\u4ee3\u4e13\u4e1a\u6cd5\u5f8b\u610f\u89c1\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                DueDocs\u5207\u4e2d\u4e86\u4e00\u4e2a\u6781\u5177\u75db\u70b9\u4f46\u5e38\u88ab\u5ffd\u89c6\u7684\u573a\u666f\uff1a\u6fb3\u5927\u5229\u4e9a\u623f\u4ea7\u4ea4\u6613\u7684\u6587\u4e66\u590d\u6742\u6027\u4e0e\u4e70\u5bb6\u8ba4\u77e5\u4e4b\u95f4\u7684\u9e3f\u6c9f\u3002\u5176\u4ef7\u503c\u4e0d\u5728\u201c\u66ff\u4ee3\u5f8b\u5e08\u201d\u2014\u2014\u8fd9\u662f\u5176\u5408\u89c4\u5e95\u7ebf\uff0c\u800c\u5728\u4e8e\u5c06\u539f\u672c\u9700\u8981\u6570\u5929\u624d\u80fd\u7406\u89e3\u7684200\u9875\u6cd5\u5f8b\u6587\u4ef6\uff0c\u538b\u7f29\u81f3\u4e94\u5206\u949f\u5373\u53ef\u6d4f\u89c8\u7684\u201c\u98ce\u9669\u5730\u56fe\u201d\u3002\u5c24\u5176\u5bf9\u9996\u6b21\u8d2d\u623f\u8005\u548c\u9891\u7e41\u770b\u623f\u7684\u6295\u8d44\u8005\u800c\u8a00\uff0c\u5728\u5f00\u653e\u53c2\u89c2\u73b0\u573a\u5c31\u80fd\u83b7\u5f97\u521d\u6b65\u98ce\u9669\u5224\u65ad\uff0c\u8fd9\u786e\u5b9e\u586b\u8865\u4e86\u4ece\u201c\u770b\u4e0d\u61c2\u6240\u6709\u6761\u6b3e\u201d\u5230\u201c\u51b3\u5b9a\u662f\u5426\u627e\u5f8b\u5e08\u7ec6\u770b\u201d\u4e4b\u95f4\u7684\u51b3\u7b56\u771f\u7a7a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u6279\u8bc4\u4e5f\u5fc5\u987b\u76f4\u63a5\uff1a24\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u8bf4\u660e\u5176\u4ecd\u5728\u9a8c\u8bc1\u671f\u3002\u7528\u6237\u5173\u4e8e\u201c\u5404\u5dde\u6cd5\u5f8b\u5dee\u5f02\u201d\u548c\u201c\u6cd5\u5f8b\u8d23\u4efb\u754c\u9650\u201d\u7684\u8d28\u7591\uff0c\u6070\u6070\u662f\u8fd9\u7c7b\u4ea7\u54c1\u6700\u5927\u7684\u62a4\u57ce\u6cb3\u4e0e\u9677\u9631\u3002\u5f00\u53d1\u8005\u867d\u58f0\u79f0\u80fd\u6309\u6587\u6863\u683c\u5f0f\u8bc6\u522b\u7ba1\u8f96\u5730\uff0c\u4f46\u82e5\u201c40+\u98ce\u9669\u7c7b\u522b\u201d\u7684\u901a\u7528\u626b\u63cf\u65e0\u6cd5\u7cbe\u51c6\u5339\u914d\u5404\u5dde\u7279\u6709\u6761\u6b3e\uff08\u5982\u7ef4\u5dde\u5bf9\u4e1a\u4e3b\u5efa\u7b51\u4fdd\u4fee\u671f\u7684\u7279\u6b8a\u89c4\u5b9a\uff09\uff0c\u53cd\u800c\u53ef\u80fd\u4ea7\u751f\u8bef\u5bfc\u6027\u7684\u201c\u5b89\u5168\u5047\u8c61\u201d\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u5373\u4fbf\u52a0\u4e0a\u201c\u975e\u6cd5\u5f8b\u5efa\u8bae\u201d\u7684\u514d\u8d23\u58f0\u660e\uff0c\u5f53\u4e70\u5bb6\u4f9d\u636e\u5176\u62a5\u544a\u505a\u51fa\u201c\u8df3\u8fc7\u5f8b\u5e08\u201d\u6216\u201c\u63a5\u53d7\u6761\u6b3e\u201d\u7684\u51b3\u7b56\u65f6\uff0c\u4ea7\u54c1\u5b9e\u8d28\u4e0a\u5df2\u5728\u627f\u62c5\u9690\u6027\u7684\u98ce\u9669\u987e\u95ee\u89d2\u8272\u2014\u2014\u8fd9\u9700\u8981\u66f4\u4e25\u8083\u7684\u4fdd\u9669\u4e0e\u5408\u89c4\u8bbe\u8ba1\uff0c\u800c\u975e\u4ec5\u9760\u6587\u5b57\u8bf4\u660e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5dee\u5f02\u5316\u770b\uff0c\u4e0e\u6807\u51c6\u6a21\u677f\u7684\u6bd4\u5bf9\u529f\u80fd\u547c\u58f0\u5f88\u9ad8\uff0c\u82e5\u80fd\u5b9e\u73b0\u8de8\u5dde\u53c2\u8003\u3001\u81ea\u52a8\u6807\u6ce8\u5f02\u5e38\u6761\u6b3e\uff0c\u5c06\u771f\u6b63\u4ece\u201c\u4fe1\u606f\u63d0\u53d6\u201d\u5347\u7ea7\u4e3a\u201c\u51b3\u7b56\u652f\u6301\u201d\u3002\u6279\u91cf\u4e0a\u4f20\u4e0e\u5bc6\u7801\u5171\u4eab\u529f\u80fd\u5219\u660e\u786e\u6307\u5411B\u7aef\u5ba2\u6237\uff08\u5f8b\u6240\u3001\u4e70\u65b9\u4ee3\u7406\uff09\uff0c\u8fd9\u6216\u8bb8\u662f\u6bd4C\u7aef\u4e2a\u4eba\u7528\u6237\u66f4\u53ef\u6301\u7eed\u7684\u4ed8\u8d39\u8def\u5f84\u3002\u603b\u4f53\u800c\u8a00\uff0cDueDocs\u6709\u6f5c\u529b\u6210\u4e3a\u6fb3\u5927\u5229\u4e9a\u623f\u4ea7\u4ea4\u6613\u94fe\u6761\u4e2d\u201c\u7b2c\u4e00\u9053\u4fe1\u606f\u8fc7\u6ee4\u201d\u7684\u5b9e\u7528\u5de5\u5177\uff0c\u4f46\u8ddd\u79bb\u6210\u4e3a\u4fe1\u4efb\u7684\u4e2d\u4ecb\uff0c\u8fd8\u6709\u5f88\u957f\u7684\u8def\u8981\u8d70\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\">DueDocs<\/span>\n                <\/div>\n<div class=\"comment-content\">DueDocs is AI\u2011powered contract review for Australian property buyers, investors, and conveyancers. Upload a Contract of Sale or vendor statement to see key risks, negotiation angles, Voice Agent and AI Chat to answer any question, and suburb insights with source\u2011linked findings in under 5 minutes. Built for buyers at open homes and teams handling volume via bulk upload. First report free. Check out our sample: https:\/\/duedocs.com.au\/sample Informational only, not legal advice.<\/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 DueDocs because buying property in Australia still means signing documents most people never fully read.<\/p>\n<p>Every weekend, buyers leave open homes with Contracts of Sale and vendor disclosures (Section 32, Form 30, and state equivalents) that can run to hundreds of pages. Restrictive covenants, planning overlays, vendor obligations, settlement terms. The details that change a deal are buried in clauses most people skim and hope their conveyancer catches later.<\/p>\n<p>We wanted contract clarity in 5 minutes, not 5 days.<\/p>\n<p>What DueDocs does<\/p>\n<p>Upload a PDF and get a structured AI report in under 5 minutes:<\/p>\n<p>40+ risk categories scanned<br \/>\nNegotiation points pulled from the contract<br \/>\nSuburb insights (crime, growth, yield, demographics)<br \/>\nEvery finding linked to the exact clause and page<br \/>\nAI chat and voice assistant on every report for follow-up questions<br \/>\nWho it&#8217;s for<\/p>\n<p>Buyers: First-home buyers, investors, anyone comparing properties on a busy inspection weekend. Upload at the open home, walk away with a report before other buyers have started reading.<\/p>\n<p>Professionals: Conveyancers, buyer&#8217;s advocates, law firms, and planning consultants. Bulk upload from the web dashboard, process multiple contracts in parallel, and share password-protected reports with clients.<\/p>\n<p>Where you can use it<\/p>\n<p>Web dashboard (including bulk upload), plus native iOS and Android apps for reviewing contracts between inspections.<\/p>\n<p>From $15 per report. Your first analysis is free.<\/p>\n<p>Why we&#8217;re launching here<\/p>\n<p>We think property buyers and professionals deserve the same speed and clarity AI has brought to other industries. DueDocs is informational only, not legal advice. It gives you and your conveyancer a head start so you can focus on strategy, not decoding 200 pages from scratch.<\/p>\n<p>We&#8217;d love your input:<\/p>\n<p>Are you a buyer or a professional? What would make this indispensable for you?<br \/>\nWhat\u2019s the one clause or risk you wish you\u2019d caught earlier on a past purchase?<br \/>\niOS, Android, or web. Which would you use most?<br \/>\nTry your first contract free and tell us what you think. Happy to answer anything in the comments.<\/p>\n<p>Thanks for checking us out \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@anuj_sachan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anuj_sachan1<\/a>&nbsp;fantastic. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@anuj_sachan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anuj_sachan1<\/a>&nbsp;It looks awesome!<\/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>disclosure regimes are genuinely different state to state in Australia &#8211; Section 32 is a Victoria thing, NSW has its own contract\/disclosure requirements, and it&#8217;s different again in QLD. does the model actually know which state&#8217;s rules apply based on the document format and check against that state&#8217;s specific requirements, or is the 40+ risk category scan more of a general pattern applied everywhere regardless of jurisdiction?<\/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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Fair question, and you&#8217;re right that disclosure regimes differ state to state.<\/p>\n<p>We detect jurisdiction from the document itself before analysis: Section 32 \/ Sale of Land Act \u2192 VIC, Contract for Sale + vendor disclosure annexures \/ s10.7 \u2192 NSW, Form 30 \u2192 QLD, Form 2 \u2192 SA, and equivalents for WA, TAS, NT, and ACT.<\/p>\n<p>The ~40 risk categories are universal \u2014 title, easements, planning, building compliance, body corporate\/OC, outgoings, contract terms \u2014 because buyers care about the same things everywhere. State-specific rules layer on top: statutory charges, cooling-off periods, owner-builder warranty periods, planning overlay systems, and authority names. We also guard against cross-state errors (e.g. GAIC on an NSW doc).<\/p>\n<p>This is AI-assisted due diligence to help you spot issues faster and ask your conveyancer better questions, not a replacement for one.<\/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>for something touching property contracts the real question for me is liability, not accuracy. if the tool misses a genuinely risky clause and someone signs based on a clean-looking report, is that positioned as &#8220;supplement your conveyancer, don&#8217;t replace them&#8221; with clear disclaimers, or are people actually using this standalone to skip paying for a solicitor review<\/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\/@omri_ben_shoham1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omri_ben_shoham1<\/a>&nbsp;That&#8217;s a really important question, and one we thought about from day one.<\/p>\n<p>DueDocs is designed to <strong>complement<\/strong> conveyancers and solicitors, not replace them. Every report clearly states that it isn&#8217;t legal advice and should be used alongside professional legal review.<\/p>\n<p>Our goal is to help buyers understand their documents earlier in the process, highlighting potential risks, explaining legal language in plain English, and providing page and clause citations so users can verify every insight in the original contract.<\/p>\n<p>Ultimately, the legal advice should always come from a qualified conveyancer or solicitor. We see DueDocs as helping buyers ask better questions and have more informed conversations, not encouraging them to skip professional advice.<\/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>Buying a place is one of those moments where you nod along to pages you barely understand and hope nothing bites you later. Having a calm second pair of eyes on all that fine print feels genuinely reassuring, Anuj.<\/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\/@fanny_guillou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fanny_guillou<\/a>&nbsp;Thanks, Fanny. I couldn&#8217;t agree more.<\/p>\n<p>For most people, buying a property is the biggest financial commitment they&#8217;ll ever make, yet they&#8217;re expected to work through pages of legal language under tight timeframes. That&#8217;s exactly why we built DueDocs, to act as that second pair of eyes, helping buyers understand the fine print, surface potential risks, and feel more confident before they sign.<\/p>\n<p>We believe informed buyers make better decisions.<\/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>One thing that would help a lot is comparing clauses side by side against a standard template so I can see at a glance what is unusual or missing. Even a simple diff view would make negotiation prep faster when reviewing contracts at open homes.<\/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\/@cemreb6dj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cemreb6dj<\/a>&nbsp;Thanks, I really like this idea.<\/p>\n<p>One of the tricky parts is that there isn&#8217;t a single &#8220;standard&#8221; contract in Australia. Every state has its own contract and disclosure requirements, and even within the same state it&#8217;s common to see additional special conditions added by the seller.<\/p>\n<p>That said, I completely agree with the underlying idea. As a buyer, you don&#8217;t necessarily want to read every clause, you want to know <strong>what&#8217;s different, what&#8217;s unusual, and what deserves your attention<\/strong>.<\/p>\n<p>A &#8220;what&#8217;s changed&#8221; or comparison view is something we&#8217;ve talked about internally because it would make reviewing contracts much quicker, especially when you&#8217;re moving fast after an open home. Thanks for sharing it, it&#8217;s exactly the kind of feedback that helps us decide what to build 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<\/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\/V5EMQKHO2VG3I4\" class=\"app-title\">AdTrigger.io<\/a><\/p>\n<div class=\"one-liner\">Ad automation triggered by weather, live sport &#038; more coming<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">24<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AdTrigger.io\u901a\u8fc7\u5b9e\u65f6\u76d1\u6d4b\u4f53\u80b2\u8d5b\u4e8b\u6bd4\u5206\u3001\u5929\u6c14\u7b49\u73b0\u5b9e\u4e8b\u4ef6\uff0c\u81ea\u52a8\u6267\u884cGoogle Ads\u5e7f\u544a\u7cfb\u5217\u7684\u6682\u505c\u3001\u542f\u7528\u6216\u9884\u7b97\u8c03\u6574\uff0c\u8ba9\u8425\u9500\u4eba\u5458\u65e0\u9700\u624b\u52a8\u201c\u76ef\u76d8\u201d\uff0c\u7cbe\u51c6\u63a7\u5236\u4e8b\u4ef6\u654f\u611f\u578b\u5e7f\u544a\u652f\u51fa\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\/f221af83-62a4-40b6-9a2b-29771150d176.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\/68410fdb-e088-4b27-96ad-1d86e9b4a5d2.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\/cf2a436a-f690-4ee5-9e60-41c4fcd6d486.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\/716f4778-82ae-4b52-a0bb-41a3371c8c97.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\/506557d6-0278-489f-9ace-b002bda687b5.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\/350760f5-c287-40b2-a546-6ef8b5690c03.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\/bf85daac-48ba-4a53-a86d-2809d13271bd.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\">Marketing<\/span><br \/>\n            <span class=\"tag\">Advertising<\/span><br \/>\n            <span class=\"tag\">Marketing automation<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5e7f\u544a\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u89e6\u53d1<\/span><br \/>\n            <span class=\"tag\">Google Ads\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4f53\u80b2\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u5929\u6c14\u54cd\u5e94<\/span><br \/>\n            <span class=\"tag\">\u9884\u7b97\u8c03\u63a7<\/span><br \/>\n            <span class=\"tag\">\u4e8b\u4ef6\u9a71\u52a8\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6295\u653e\u4f18\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u4f53\u80b2\u548c\u5929\u6c14\u89e6\u53d1\u521b\u610f\uff0c\u5173\u6ce8\u8fdb\u7403\u88ab\u53d6\u6d88\u540e\u89c4\u5219\u80fd\u5426\u5feb\u901f\u56de\u6eda\uff08\u5df2\u5b9e\u73b01\u5206\u949f\u5468\u671f\u6062\u590d\uff09\uff1b\u5e0c\u671b\u589e\u52a0\u80a1\u7968\u3001\u6c47\u7387\u7b49\u6570\u636e\u6e90\uff1b\u8ba4\u4e3a\u4eceAgency\u5230Enterprise\u7684\u5b9a\u4ef7\u8dc3\u5347\u8f83\u5927\uff0c\u5efa\u8bae\u7ec6\u5316\u8bf4\u660e\uff1b\u4ee5\u53ca\u8be2\u95eeMeta\u7b49\u5e73\u53f0\u54cd\u5e94\u5ef6\u8fdf\u95ee\u9898\uff0c\u521b\u59cb\u4eba\u6f84\u6e05\u662f\u76f4\u63a5\u901a\u8fc7API\u5207\u6362\u6295\u653e\u72b6\u6001\uff0c\u65e0\u7f13\u5b58\u95ee\u9898\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\u662f\u4e00\u4e2a\u201c\u5c0f\u800c\u950b\u5229\u201d\u7684\u5de5\u5177\uff0c\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u5927\u5e73\u53f0\u5ffd\u89c6\u7684\u7ec6\u5206\u573a\u666f\uff1a\u4e8b\u4ef6\u9a71\u52a8\u578b\u5e7f\u544a\u652f\u51fa\u63a7\u5236\u3002\u521b\u59cb\u4eba\u6ca1\u6709\u8d2a\u5927\u6c42\u5168\uff0c\u523b\u610f\u56de\u907f\u4e86\u7ade\u4ef7\u7ba1\u7406\u3001\u5f52\u56e0\u3001A\/B\u6d4b\u8bd5\u7b49\u7ea2\u6d77\u529f\u80fd\uff0c\u53cd\u800c\u8ba9\u4ea7\u54c1\u5b9a\u4f4d\u5f02\u5e38\u6e05\u6670\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u6280\u672f\u843d\u5730\u6765\u770b\uff0c\u6bcf\u5206\u949f\u8f6e\u8be2+AND\/OR\u6761\u4ef6\u7ec4\u5408+\u5168\u5ba1\u8ba1\u65e5\u5fd7\u7684\u8bbe\u8ba1\uff0c\u786e\u5b9e\u6bd4\u5927\u591a\u6570\u6ca1\u6709\u5b9e\u65f6\u54cd\u5e94\u80fd\u529b\u7684\u6295\u653e\u5de5\u5177\u8981\u624e\u5b9e\uff0c\u4e5f\u6bd4\u7528Zapier\u62fc\u63a5\u7684\u6d41\u7a0b\u66f4\u53ef\u63a7\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u5224\u7f5a\u53d6\u6d88\u540e\u80fd\u5426\u56de\u6eda\u201d\u7684\u987e\u8651\u5df2\u88ab\u5b9e\u9645\u6848\u4f8b\u56de\u5e94\uff0c\u8bf4\u660e\u4ea7\u54c1\u5bf9\u9ad8\u9891\u5931\u6548\u573a\u666f\u662f\u6709\u9884\u6848\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8981\u8b66\u60d5\u7684\u662f\uff1a\u8fd9\u7c7b\u89e6\u53d1\u5f15\u64ce\u7684\u4ef7\u503c\u9ad8\u5ea6\u4f9d\u8d56\u4e8b\u4ef6\u4e0e\u5e7f\u544a\u6548\u679c\u7684\u76f8\u5173\u6027\u3002\u5ba2\u6237\u5982\u679c\u65e0\u6cd5\u6e05\u6670\u91cf\u5316\u201c\u6674\u5929\u5356\u4f1e\u201d\u6216\u201c\u4e3b\u961f\u8d62\u7403\u5356\u5564\u9152\u201d\u7684\u56e0\u679c\u94fe\uff0c\u5c31\u5f88\u5bb9\u6613\u6ca6\u4e3a\u201c\u82b1\u91cc\u80e1\u54e8\u7684\u73a9\u5177\u201d\u3002\u800cGoogle Ads API\u672c\u8eab\u7684\u54cd\u5e94\u901f\u5ea6\u548c\u9884\u7b97\u53d8\u52a8\u9650\u5236\uff0c\u4e5f\u51b3\u5b9a\u4e86\u89e6\u53d1\u9897\u7c92\u5ea6\u4e0d\u53ef\u80fd\u505a\u5230\u6beb\u79d2\u7ea7\uff1b\u5bf9\u4e8e\u67d0\u4e9b\u6781\u9650\u573a\u666f\uff08\u5982\u7535\u5546\u5927\u4fc3\u7ade\u6807\uff09\u4f9d\u7136\u4e0d\u591f\u7528\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b9a\u4ef7\u7b56\u7565\u4e0a\uff0c\u653e\u5f03\u6309\u5e7f\u544a\u6d88\u8017\u62bd\u6210\u800c\u6539\u7528\u56fa\u5b9a\u4ed8\u8d39\uff0c\u5bf9\u91cd\u5ea6\u4f7f\u7528\u8005\u66f4\u53cb\u597d\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u65e9\u671f\u6536\u5165\u5929\u82b1\u677f\u660e\u663e\u3002\u5982\u679c\u7559\u5b58\u7387\u548c\u8f6c\u5316\u6f0f\u6597\u8bbe\u8ba1\u5f97\u4e0d\u591f\u7cbe\u7ec6\uff0c\u5f88\u5bb9\u6613\u9677\u5165\u201c\u4f4e\u5ba2\u5355\u9ad8\u9891\u5ba2\u670d\u201d\u7684\u9677\u9631\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u6765\u8bf4\uff0c\u8fd9\u662f\u4e00\u6b3e\u503c\u5f97\u4e8b\u4ef6\u654f\u611f\u578b\u5e7f\u544a\u4e3b\u5c1d\u8bd5\u7684\u201c\u5916\u6302\u201d\uff0c\u4f46\u80fd\u5426\u6269\u5c55\u81f3\u66f4\u591a\u6570\u636e\u6e90\uff08\u5982\u8d22\u52a1\u62a5\u8868\u3001\u653f\u7b56\u53d1\u5e03\u3001\u70ed\u95e8\u8bdd\u9898\uff09\u5e76\u5f62\u6210\u7f51\u7edc\u6548\u5e94\uff0c\u624d\u662f\u505a\u5927\u505a\u5f3a\u7684\u5173\u952e\u3002\u76ee\u524d\u662f\u4e2a\u5c1a\u9700\u6253\u78e8\u7684\u5229\u5668\uff0c\u800c\u975e\u5927\u89c4\u6a21\u5e73\u53f0\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\">AdTrigger.io<\/span>\n                <\/div>\n<div class=\"comment-content\">AdTrigger pauses, enables, or adjusts budget on Google Ads campaigns when real-world conditions hit (live sports and weather). Rules check as often as every minute, compound with AND\/OR, and every action is logged with its trigger reason. AI Analysis reads your account and recommends rules \u2014 one free run in every account. Built by a solo founder for marketers who babysit event-sensitive spend. All signups get PH bonus: World Cup live-match data access. Email bonus@adtrigger.io<\/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 solo founder here.<\/p>\n<p>Two nights ago during the World Cup quarter-final, a rule I&#8217;d set up enabled an ad group within 60 seconds of Norway scoring, paused it when England equalized, and caught the VAR-disallowed goal in between \u2014 logged in the audit trail, untouched by me while I sat and enjoyed the game. <\/p>\n<p>That&#8217;s the job AdTrigger exists to do: the work babysitting marketers still do by hand during live sports, storms, and market swings.You set a rule once \u2014 &#8220;when X is true, do Y to this campaign or ad group&#8221; \u2014 and AdTrigger watches the data and executes on Google Ads (working on meta ads). <\/p>\n<p>Data sources today: live sports scores and weather, checked as often as every minute \u2014 more engines are on the roadmap. Conditions compound with AND\/OR, and every action lands in an audit log with the trigger reason, so &#8220;why did this pause at 9:47pm?&#8221; always has an answer. No duct-taped Zapier flow to maintain.<\/p>\n<p>What it deliberately isn&#8217;t: bid management, attribution, A\/B testing, or creative. It&#8217;s a trigger engine. If your spend has no correlation with real-world events, it won&#8217;t help you \u2014 and I&#8217;d rather tell you that now.If you don&#8217;t know where to start, you don&#8217;t have to start from a blank canvas: the built-in AI Analysis reads your campaign structure and recommends the rules worth setting up. <\/p>\n<p>Every account gets one free run, including free accounts.There&#8217;s a free plan to try it, paid starts at $25\/mo, and I&#8217;m onboarding every signup personally right now, so rough edges get fixed fast.And a launch-day thank-you: everyone who signs up from <\/p>\n<p>Product Hunt gets free access to the soccer World Cup live-match data (normally on the $199 plan) \u2014 email <a href=\"mailto:bonus@adtrigger.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">bonus@adtrigger.io<\/a> after you sign up and I&#8217;ll switch it on your account personally. The semifinals are July 14\u201315; set a rule in the morning and watch it fire that night.<\/p>\n<p>A question for the comments: what real-world event moves your ad performance that you&#8217;re still reacting to by hand? That list will become my roadmap.<\/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\/@shaungouws\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shaungouws<\/a>&nbsp;Congrats on the launch \u2014 ad creative that builds itself from a URL is a real wedge, and leading with the automation angle is the right call.<\/p>\n<p>Noticed you went out without a demo video, so I made you one from your own site: <a href=\"https:\/\/www.youtube.com\/watch?v=Ubig2QAPBpw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=Ubig2QAPBpw<\/a> <br \/>\u2014 white-label, no watermark, yours to post anywhere (X, LinkedIn, your PH gallery). No strings.<\/p>\n<p>Made with FoxPlug \u2014 paste a URL, get a launch video in ~30s: <a href=\"https:\/\/foxplug.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/foxplug.com<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@saulfleischman Thanks, much appreciated. Cool tool \ud83d\udc4d\ud83c\udffc<\/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>Really cool idea, especially for sports and weather-based ads. What happens if something changes right after the trigger, like a goal being overturned?<\/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\">@john_marker3 Hi John, <\/p>\n<p>This actually happened in the Norway QF match last week. <\/p>\n<p>The rule conditions will be re-evaluate during the next trigger interval (1min) and the ad campaign will revert back to its previous state. <\/p>\n<p>I will be implementing a feature to turn this default behavior on or off depending on user preferences.<\/p>\n<p>Thanks for your question<br \/>\nShaun<\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I definitely like the concept behind this &#8211; congratulations. And sports and weather are great triggers to build from. What other triggers do you have in the pipeline? Stock market certainly seems like a good one to include. Plus (similar) money exchange markets. My only comment is there seems to be a significant jump in price between Agency and Enterprise. Would be useful to understand exactly what is offered in that plan&#8230; because the &#8220;every minute&#8221; refresh feels important for a sports related campaign. But the pricing feels quite painful! One last question&#8230; do the ad providers (Meta\/Google etc) respond quickly enough to ensure that the wrong ads aren&#8217;t cached when sport scores change?<\/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\/@martin_tanner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@martin_tanner<\/a>&nbsp;Hi Martin, thanks for your feedback!<\/p>\n<p>Yes, Stock Markets and Economics data are already in the pipeline and its great to get confirmation on these already.<\/p>\n<p>On pricing \u2014 fair push-back, here&#8217;s the logic. Most tools in this space charge a % of ad spend (around 5% on average), which scales painfully: 5% of a $100k\/mo account is $5,000 every month, forever. AdTrigger is flat, and tiers are priced on the three things that actually cost something: which data engines you use and how fast the trigger interval goes and what value that creates in cost savings. Agency checks down to every 15 minutes; the every-minute floor and the heaviest data usage live on Enterprise. It follows that these Enterprise accounts would see the most value benefit from avoiding wasteful expenditure by running their campaigns when conditions are not optimal.<\/p>\n<p>Caching: genuinely a non-issue, and here&#8217;s why \u2014 AdTrigger never touches creative. It flips delivery state (pause\/enable) or budget at the campaign\/ad-group level via the Google Ads API, so there&#8217;s nothing to cache-invalidate; the change takes effect on the campaign status and the campaign itself remains unchanged. In the World Cup quarter-final, a rule took an ad group from off to actively serving within ~60 seconds of the goal.<\/p>\n<p>Again thank you for taking the time to interact.<\/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\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/WKUPHNHK2FZAZP\" class=\"app-title\">Messello<\/a><\/p>\n<div class=\"one-liner\">One AI inbox for WhatsApp, Instagram, Telegram, and email<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">23<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Messello \u662f\u4e00\u4e2a\u7edf\u4e00\u6536\u4ef6\u7bb1\uff0c\u6574\u5408 WhatsApp\u3001Instagram\u3001Telegram \u53ca\u90ae\u4ef6\u7b49\u591a\u6e20\u9053\u5ba2\u6237\u6d88\u606f\uff0c\u5e76\u5185\u7f6e AI \u81ea\u52a8\u4ece\u5e2e\u52a9\u4e2d\u5fc3\u8349\u62df\u56de\u590d\uff0c\u89e3\u51b3\u5c0f\u56e2\u961f\u5728\u591a\u5e94\u7528\u95f4\u5207\u6362\u3001\u5e94\u5bf9\u9ad8\u989d\u6309\u6761\u8ba1\u8d39 AI \u65b9\u6848\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/1bead282-d25f-4cec-80b9-95eb0df1ce2c.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/uMIQphurv_g\"><source src=\"https:\/\/youtu.be\/uMIQphurv_g\" 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\/51d5d08d-e75a-4e20-8930-4f424a2ac9fc.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\/665a9c31-37f0-45b5-8d11-2249ec532a96.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\/0b2dff36-d8c8-4688-bb1f-52d11e56c8c0.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\/48db2d54-1efc-4785-b886-3692541d5313.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\">Sales<\/span><br \/>\n            <span class=\"tag\">Customer Communication<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5ba2\u670d\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u591a\u6e20\u9053\u6536\u4ef6\u7bb1<\/span><br \/>\n            <span class=\"tag\">AI \u56de\u590d<\/span><br \/>\n            <span class=\"tag\">WhatsApp \u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">Instagram \u6d88\u606f<\/span><br \/>\n            <span class=\"tag\">Telegram \u5ba2\u670d<\/span><br \/>\n            <span class=\"tag\">\u90ae\u4ef6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u7edf\u4e00\u6536\u4ef6\u7bb1<\/span><br \/>\n            <span class=\"tag\">SaaS \u5b9a\u4ef7<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u56e2\u961f\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u517619\u7f8e\u5143\/\u5e2d\u7684\u7edf\u4e00\u5b9a\u4ef7\uff0c\u8ba4\u4e3a\u6027\u4ef7\u6bd4\u7a81\u51fa\uff1b\u540c\u65f6\u63d0\u51fa\u6539\u8fdb\u5efa\u8bae\uff1a\u5e0c\u671b\u6dfb\u52a0\u8d85\u65f6\u672a\u56de\u590d\u7684\u81ea\u52a8\u8ddf\u8fdb\u3001\u652f\u6301\u6309\u6e20\u9053\u8bbe\u7f6e\u4e0d\u540c\u5feb\u6377\u56de\u590d\u6a21\u677f\uff1b\u4e5f\u6709\u4eba\u5bf9\u4ea7\u54c1\u5b89\u5168\u6027\u4e0e\u6570\u636e\u4fe1\u4efb\u63d0\u51fa\u7591\u8651\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                Messello \u5728\u4ea7\u54c1\u601d\u8def\u4e0a\u6253\u5bf9\u4e86\u70b9\uff1a\u7528\u201cAI \u5185\u7f6e+\u6309\u5e2d\u5305\u6708\u201d\u76f4\u63a5\u6311\u6218\u73b0\u6709\u5de5\u5177\u6309\u6d88\u606f\u91cf\u6536\u8d39\u7684\u9ad8\u95e8\u69db\uff0c\u5bf9\u5c0f\u56e2\u961f\u786e\u5b9e\u53cb\u597d\u3002\u5b83\u628a\u5ba2\u6237\u63a5\u89e6\u9891\u6b21\u6700\u9ad8\u7684\u51e0\u4e2a\u6e20\u9053\uff08WhatsApp\u3001Insta\u3001Telegram\u3001\u90ae\u4ef6\u3001\u7f51\u9875\u804a\u5929\uff09\u585e\u8fdb\u4e00\u4e2a\u6536\u4ef6\u7bb1\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u505a\u4e00\u4e2a\u8f7b\u91cf\u5168\u6e20\u9053\u5ba2\u670d\u53f0\uff0c\u800c\u4e0d\u662f\u590d\u6742\u7684\u5e2e\u52a9\u53f0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u660e\u663e\u3002\u7b2c\u4e00\uff0c\u8bc4\u8bba\u4e2d\u7528\u6237\u5bf9\u201c\u4fe1\u4efb\u201d\u7684\u62c5\u5fe7\u76f4\u6307\u8981\u5bb3\u2014\u2014\u4e00\u4e2a\u521d\u521b\u4ea7\u54c1\u8981\u63a5\u5165 WhatsApp\u3001Instagram \u7b49\u6838\u5fc3\u5546\u4e1a\u901a\u8baf\u6e20\u9053\uff0c\u7528\u6237\u51ed\u4ec0\u4e48\u628a\u8fd0\u8425\u6570\u636e\u548c\u5ba2\u6237\u5173\u7cfb\u4ea4\u7ed9\u5b83\uff1f\u5b89\u5168\u8ba4\u8bc1\u3001\u6570\u636e\u52a0\u5bc6\u3001API \u7a33\u5b9a\u6027\u9700\u8981\u66f4\u591a\u7684\u80cc\u4e66\u3002\u7b2c\u4e8c\uff0cAI \u56de\u590d\u7684\u5b9a\u5236\u9897\u7c92\u5ea6\u4e0d\u591f\uff0c\u7528\u6237\u6307\u51fa\u9700\u8981\u9488\u5bf9\u4e0d\u540c\u6e20\u9053\u8bbe\u7f6e\u4e0d\u540c\u7684\u56de\u590d\u6a21\u677f\uff0c\u8fd9\u8868\u660e\u5f53\u524d\u4ea7\u54c1\u5728\u5904\u7406\u6e20\u9053\u5dee\u5f02\u6027\u4e0a\u4ecd\u663e\u7c97\u7cd9\u3002\u7b2c\u4e09\uff0c\u529f\u80fd\u5e7f\u5ea6\u4e0d\u9519\uff0c\u4f46\u6df1\u5ea6\u6709\u9650\uff1aCRM \u662f\u201c\u8f7b\u91cf\u7ea7\u201d\uff0c\u81ea\u52a8\u5316\u3001SLA \u4ec5\u662f\u57fa\u7840\uff0c\u8fd9\u610f\u5473\u968f\u7740\u4e1a\u52a1\u589e\u957f\uff0c\u56e2\u961f\u5f88\u53ef\u80fd\u9700\u8981\u518d\u6b21\u5411\u66f4\u4e13\u4e1a\u7684 Zendesk\u3001Intercom \u8fc1\u79fb\u2014\u2014Messello \u76ee\u524d\u66f4\u50cf\u662f\u8fc7\u6e21\u578b\u89e3\u51b3\u65b9\u6848\uff0c\u800c\u4e0d\u662f\u589e\u957f\u578b\u57fa\u7840\u8bbe\u65bd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u9510\u8bc4\uff1aMessello \u662f\u4e00\u4e2a\u5b9a\u4ef7\u826f\u5fc3\u3001\u573a\u666f\u805a\u7126\u7684\u201c\u5c0f\u578b\u5168\u80fd\u5ba2\u670d\u5165\u95e8\u673a\u201d\uff0c\u4f46\u8981\u8ba9\u7528\u6237\u4e0d\u9000\u56de\u5230\u66f4\u91cd\u4f46\u66f4\u7a33\u59a5\u7684\u5de5\u5177\uff0c\u8fd8\u9700\u5728\u5b89\u5168\u4fe1\u4efb\u548c\u6e20\u9053\u5dee\u5f02\u4f53\u9a8c\u4e0a\u771f\u6b63\u4e0b\u529f\u592b\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\">Messello<\/span>\n                <\/div>\n<div class=\"comment-content\">Messello is an all-in-one customer communication platform: one shared inbox for WhatsApp, Telegram, Instagram, web chat, email &#038; SMS \u2014 with built-in AI that drafts replies from your help center. Every channel and AI included, flat $19\/agent. Free 3-day trial.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone \ud83d\udc4b<\/p>\n<p>I built Messello because running support across WhatsApp, Instagram, Telegram, live chat, and email meant juggling five different apps \u2014 and every &#8220;AI helpdesk&#8221; wanted to charge us per message on top of that.<\/p>\n<p>Messello puts every channel in one shared inbox, with AI that drafts replies from your own help center included \u2014 no per-message fees, just flat per-agent pricing. It also has a lightweight CRM, automations, canned responses, and SLAs, so small teams can deliver fast, personal support without a huge stack.<\/p>\n<p>You can try the live demo with no signup, and start free when you&#8217;re ready: <a href=\"https:\/\/messello.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/messello.com<\/a><\/p>\n<p>I&#8217;d love your honest feedback \u2014 what would make this a no-brainer for your team? I&#8217;ll be here all day answering questions. \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The flat $19 with AI included jumped out, most of the tools you&#8217;re replacing price per message and you called that out yourself. What keeps it from breaking, a cap on drafts somewhere, or is model cost per conversation just small enough that it never matters? Congrats on the launch, Artur.<\/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>It&#8217;s a nice idea to consolidate, but what makes users trust this product enough to connect it to their communication software?<\/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>honestly the flat $19 pricing is really nice, one thing though would be great if you could set up auto follow ups for unanswered conversations after like 24 hours, basically a nudge that goes out so nothing slips through the cracks<\/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>honestly this looks pretty solid, the flat pricing is a nice touch. one thing though, can you add a way to set up canned responses or templates per channel? like, sometimes my team needs slightly different replies for whatsapp vs email and right now it feels like it might be one shared library<\/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\/GRB4ZXRFXCOAQ4\" class=\"app-title\">Gitwork<\/a><\/p>\n<div class=\"one-liner\">Hire developers ranked by real GitHub output<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">21<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Gitwork\u5c06\u5f00\u53d1\u8005\u516c\u5f00\u7684GitHub\u8d21\u732e\u6570\u636e\u8f6c\u5316\u4e3a\u53ef\u91cf\u5316\u7684\u201c\u7403\u5458\u8bc4\u5206\u5361\u201d\uff0c\u5e2e\u52a9\u62db\u8058\u65b9\u7ed5\u8fc7\u7b80\u5386\u548c\u4e2d\u4ecb\uff0c\u76f4\u63a5\u6309\u771f\u5b9e\u4ee3\u7801\u4ea7\u51fa\u7b5b\u9009\u5e76\u8054\u7cfb\u5f85\u4e1a\u5f00\u53d1\u8005\uff0c\u8ba9\u201c\u7528\u4ee3\u7801\u8bf4\u8bdd\u201d\u7684\u62db\u8058\u573a\u666f\u66f4\u900f\u660e\u9ad8\u6548\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\/5036277c-ea85-43a0-8eff-7d027dab0e71.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\/fe691760-f898-4b59-9fc0-3c2b731c519d.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\/4e204a9c-7075-497b-a4fa-84a722229911.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\">Hiring<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u62db\u8058<\/span><br \/>\n            <span class=\"tag\">GitHub\u8bc4\u5206<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u8d21\u732e\u91cf\u5316<\/span><br \/>\n            <span class=\"tag\">\u4eba\u624d\u53d1\u73b0<\/span><br \/>\n            <span class=\"tag\">\u7403\u63a2\u6a21\u5f0f<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u62db\u8058\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u6280\u672f\u4eba\u624d\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u641c\u7d22\u8fc7\u6ee4<\/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\u559c\u6b22\u5361\u7247\u5316\u548c\u81ea\u7136\u8bed\u8a00\u641c\u7d22\u5e26\u6765\u7684\u4f53\u9a8c\u521b\u65b0\uff0c\u4f46\u666e\u904d\u8d28\u7591\u8bc4\u5206\u80fd\u5426\u516c\u6b63\u53cd\u6620\u79c1\u6709\u4ed3\u5e93\u8d21\u732e\uff0c\u62c5\u5fc3\u6709\u4eba\u5237\u661f\u6216\u6ce8\u6c34\u63d0\u4ea4\u3002\u5f00\u53d1\u8005\u8868\u793a\u7b97\u6cd5\u672a\u6765\u4f1a\u4f18\u5316\uff0c\u4f46\u575a\u6301\u201c\u4ec5\u57fa\u4e8e\u516c\u5f00\u8f93\u51fa\u201d\u7684\u7acb\u573a\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                Gitwork\u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5c06\u62db\u8058\u7684\u201c\u4fe1\u4efb\u951a\u70b9\u201d\u4ece\u7b80\u5386\u8bdd\u672f\u8f6c\u79fb\u5230\u4ee3\u7801\u63d0\u4ea4\u5386\u53f2\uff0c\u8fd9\u662f\u4e00\u6b21\u5bf9\u6280\u672f\u62db\u8058\u8bc4\u4ef7\u4f53\u7cfb\u7684\u6839\u672c\u6027\u91cd\u6784\u3002\u5b83\u5de7\u5999\u5229\u7528\u4e86\u5f00\u53d1\u8005\u5bf9\u5f00\u6e90\u8d21\u732e\u7684\u201c\u6e38\u620f\u5316\u201d\u51b2\u52a8\u2014\u2014GitHub\u672c\u8eab\u5df2\u662f\u6700\u5927\u7684\u4ee3\u7801\u4fe1\u7528\u4e2d\u4ecb\uff0cGitwork\u53ea\u662f\u628a\u8fd9\u4e2a\u76d8\u53e3\u4e0a\u7684\u8bb0\u5206\u677f\u516c\u5f00\u5316\u3002\u7136\u800c\uff0c\u5176\u201c\u516c\u5f00\u8f93\u51fa\u552f\u4e00\u8bba\u201d\u5728\u5546\u4e1a\u4e16\u754c\u5b58\u5728\u81f4\u547d\u76f2\u533a\uff1a\u7edd\u5927\u591a\u6570\u9ad8\u4ef7\u503c\u5f00\u53d1\u8005\u7684\u6838\u5fc3\u4ea7\u51fa\u5728\u4f01\u4e1a\u79c1\u6709\u4ed3\u5e93\u91cc\uff0c\u800c\u516c\u5171GihHub\u6d3b\u52a8\u4e30\u5bcc\u7684\u4eba\u8fdc\u4e0d\u5982\u5237PR\u3001\u5199\u6d4b\u8bd5\u6587\u6863\u6216\u7ecf\u8425\u5c0f\u9879\u76ee\u7684\u4eba\u3002\u8fd9\u610f\u5473\u7740\u8bc4\u5206\u5929\u7136\u504f\u8892\u5f00\u6e90\u6d3b\u8dc3\u5ea6\u9ad8\u7684\u5f00\u53d1\u8005\uff0c\u800c\u53ef\u80fd\u57cb\u6ca1\u771f\u6b63\u5728\u4f01\u4e1a\u7ea7\u9879\u76ee\u91cc\u89e3\u51b3\u6838\u5fc3\u96be\u9898\u7684\u5de5\u7a0b\u5e08\u3002\u66f4\u5371\u9669\u7684\u662f\uff0c\u5f53\u6c42\u804c\u8005\u610f\u8bc6\u5230\u201cGitHub\u5206\u6570=\u673a\u4f1a\u201d\u65f6\uff0c\u5237\u5206\u3001\u6ce8\u6c34\u3001\u660e\u661f\u53cb\u94fe\u7684\u5957\u5229\u884c\u4e3a\u5c06\u6279\u91cf\u6d8c\u73b0\uff0c\u8bc4\u5206\u4f53\u7cfb\u5f88\u5feb\u5c31\u4f1a\u9762\u4e34\u519b\u5907\u7ade\u8d5b\u5f0f\u7684\u53ef\u4fe1\u5ea6\u5371\u673a\u3002\u4ea7\u54c1\u76ee\u524d\u66f4\u50cf\u662fGitHub\u7684Top Contributor\u6392\u884c\u699c\uff0c\u800c\u975e\u666e\u9002\u7684\u201c\u4eba\u624d\u7504\u522b\u5668\u201d\u3002\u4f46\u4e0d\u53ef\u5426\u8ba4\uff0c\u5b83\u786e\u5b9e\u6495\u5f00\u4e86\u4f20\u7edf\u62db\u8058\u6587\u672c\u5316\u3001\u7b80\u5386\u5316\u7684\u88c2\u53e3\uff0c\u5982\u679c\u672a\u6765\u80fd\u5f15\u5165\u4f01\u4e1a\u79c1\u6709\u4ed3\u5e93\u7ecf\u6388\u6743\u540e\u7684\u52a0\u6743\u9a8c\u8bc1\uff0c\u5e76\u80fd\u7ed3\u5408\u9762\u8bd5\u8fc7\u7a0b\u7684\u6570\u636e\u56de\u6eaf\u6765\u52a8\u6001\u6821\u51c6\u8bc4\u5206\uff0c\u5b83\u5b8c\u5168\u6709\u53ef\u80fd\u6f14\u5316\u4e3a\u6280\u672f\u52b3\u52a8\u529b\u5e02\u573a\u7684\u57fa\u7840\u8bbe\u65bd\u3002\u76ee\u524d\u9636\u6bb5\uff0c\u5b83\u66f4\u9002\u5408\u4f5c\u4e3a\u5f00\u6e90\u9879\u76ee\u53d1\u73b0\u4e0e\u81ea\u7531\u5f00\u53d1\u8005\u63a5\u5355\u7684\u8f7b\u91cf\u6e20\u9053\uff0c\u800c\u975e\u4f01\u4e1a\u7ea7\u6838\u5fc3\u5c97\u4f4d\u7684\u51b3\u7b56\u4f9d\u636e\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\">Gitwork<\/span>\n                <\/div>\n<div class=\"comment-content\">Gitwork ranks developers from public GitHub output and turns each profile into a scored player card. Browse country squads by role, search in plain English, post hiring requests, and message developers who have claimed their profile and marked themselves available.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I loved what GitFut did: turn a GitHub profile into a rated player card from real output (commits, reviews, stars, languages). Once you have credibility on GitHub, people on freelancing sites start pointing at your profile as proof you can ship.<\/p>\n<p>That made me wonder: what if clients could skip the marketplace middleman and come straight to you when you&#8217;re open for work?<\/p>\n<p>Gitwork is that layer. Scout any @username and get a scored card. Browse top devs in a country by position. Or search in plain English (&#8220;Python backend in Nairobi&#8221;, &#8220;senior React dev in London&#8221;) and get a ranked shortlist. Developers claim via GitHub OAuth and mark themselves available. Clients post a request or message claimed talent directly.<\/p>\n<p>Scoring engine and card UI are ported from GitFut (MIT). I added search, claims, messaging, squad discovery, and shortlists on top.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@username\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@username<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@olebogeng_mbedzi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@olebogeng_mbedzi<\/a>&nbsp;Foxy chose your launch out of today&#8217;s batch \ud83e\udd8a \u2014 ranking developers by their real GitHub output instead of r\u00e9sum\u00e9 keywords (as playable cards, no less) is a sharp, overdue idea. More than an upvote: here&#8217;s a launch video built from your own product, white-label and yours to post anywhere:<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=pbemaEi1dJU\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=pbemaEi1dJU<\/a><\/p>\n<p>Make your own free at <a href=\"https:\/\/foxplug.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/foxplug.com<\/a><\/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>the oauth integration makes this a really smooth experience and the github stats base the profile in reality, well done.<\/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\/@salah_zeghdani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@salah_zeghdani<\/a>&nbsp;Thanks a lot for th feedback<\/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>honestly the player card idea is kind of fun, made browsing way more engaging than another boring list. plain english search worked pretty well when i tried it too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the part I&#8217;d want to understand before trusting a score is what it does to someone who does great work at a company with a private repo all day and only pushes weekend side projects publicly, versus someone who commits noisy formatting changes and doc typo fixes to public repos constantly. public GitHub activity correlates with output but it also correlates with how much of your job happens to be open source. does the scoring try to normalize for that at all, or is it explicitly &#8220;public output only, make your peace with it&#8221;?<\/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\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;Thats a legitimate concern including maybe people who will maybe now buy stars<\/p>\n<p>But I think the algorithm can be improved and I was on, Most non noisy high ranking public contributors also do great work at a company<\/p>\n<p>And for example if private repos were to be in the equation, the calibration will just change<\/p>\n<\/p>\n<p>Happy 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>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 player card scoring idea feels genuinely fresh, like turning GitHub activity into something you&#8217;d actually want to browse rather than another dry analytics dashboard.<\/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<\/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-07-13 PH\u70ed\u699c | 2026-07-13 #1 Osaur [&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-281","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/281","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=281"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/281\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}