{"id":308,"date":"2026-08-10T10:37:49","date_gmt":"2026-08-10T02:37:49","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/10\/2026-08-09\/"},"modified":"2026-08-10T10:37:49","modified_gmt":"2026-08-10T02:37:49","slug":"2026-08-09","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/10\/2026-08-09\/","title":{"rendered":"PH\u70ed\u699c | 2026-08-09"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-08-09<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-08-09<\/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\/M4Y5GPSVZTCBSU\" class=\"app-title\">Omniwork<\/a><\/p>\n<div class=\"one-liner\">The Creative Agent OS \u2014 create better with desktop AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">351<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Omniwork\u662f\u4e00\u6b3e\u5e38\u9a7b\u684c\u9762\u7684\u201c\u521b\u610f\u667a\u80fd\u4f53\u64cd\u4f5c\u7cfb\u7edf\u201d\uff0c\u901a\u8fc7\u591a\u667a\u80fd\u4f53\u534f\u4f5c\u4e0e\u4e3b\u52a8\u6c47\u62a5\u673a\u5236\uff0c\u89e3\u51b3\u521b\u4f5c\u8005\u5728\u811a\u672c\u3001\u89c6\u89c9\u3001\u89c6\u9891\u7b49\u591a\u5de5\u5177\u95f4\u9891\u7e41\u5207\u6362\u5bfc\u81f4\u7684\u7075\u611f\u6d41\u5931\u4e0e\u5de5\u4f5c\u6d41\u788e\u7247\u5316\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9028ef02-49f7-429c-8ca3-c8d7abd4753d.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\/b62be828-414a-4084-b14e-a06e16da0ab3.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\/15bc3683-f163-46ea-9494-45192f594a3b.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\/1b1a93d8-ea1b-4ea7-ba39-ac3a696599db.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\/c0c8be28-0da8-4891-9265-e23c719574a1.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\/54cae035-50bc-42bf-866f-218722758baa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Social media marketing<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u591a\u667a\u80fd\u4f53\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u521b\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u5fc6\u7cfb\u7edf<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u63d0\u5347<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\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\u201c\u684c\u9762\u5ba0\u7269\u201d\u4e3b\u52a8\u72b6\u6001\u63d0\u9192\u4e0eAgent\u95f4\u4e0a\u4e0b\u6587\u4f20\u9012\u673a\u5236\uff0c\u8ba4\u4e3a\u5176\u6bd4\u4f20\u7edfDashboard\u66f4\u81ea\u7136\u3002\u4e3b\u8981\u8d28\u7591\u96c6\u4e2d\u5728\u8bb0\u5fc6\u7cfb\u7edf\u80fd\u5426\u7ea0\u6b63\u98ce\u683c\u6f02\u79fb\u3001\u590d\u6742\u9879\u76ee\u662f\u5426\u4ecd\u9700\u4eba\u5de5\u5ba1\u67e5\uff0c\u4ee5\u53ca\u5b98\u7f51\u201cAbout\/Contact\u201d\u94fe\u63a5\u5931\u6548\u66b4\u9732\u7684\u6210\u719f\u5ea6\u4e0e\u5ba3\u4f20\u4e0d\u5339\u914d\u7684\u95ee\u9898\uff0c\u53e6\u6709\u8bc4\u8bba\u5173\u6ce8\u667a\u80fd\u4f53\u534f\u4f5c\u89c4\u5219\u662f\u5426\u81ea\u9002\u5e94\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Omniwork\u7684\u5b9a\u4f4d\u5207\u4e2d\u4e86\u5185\u5bb9\u751f\u4ea7\u94fe\u6761\u4e2d\u201c\u6d41\u7a0b\u65ad\u88c2\u201d\u7684\u771f\u5b9e\u75db\u70b9\u2014\u2014\u5b83\u8bd5\u56fe\u7528\u201c\u5e38\u9a7bAgent+\u4e3b\u52a8\u63a8\u9001\u201d\u7684\u4ea4\u4e92\u8303\u5f0f\uff0c\u66ff\u4ee3\u4eba\u7c7b\u5728\u5de5\u5177\u95f4\u7684\u81ea\u6211\u9a71\u52a8\u5207\u6362\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u8d29\u5356\u201c\u5fc3\u667a\u5e26\u5bbd\u201d\u7684\u8282\u7701\u3002\u8fd9\u4e00\u8bbe\u8ba1\u6bd4\u5355\u7eaf\u589e\u52a0\u4e00\u4e2aAI\u529f\u80fd\u66f4\u63a5\u8fd1\u4e0b\u4e00\u4ee3\u5de5\u4f5c\u53f0\u7684\u5f62\u6001\uff0c\u5176\u201c\u684c\u9762\u5ba0\u7269\u201d\u7684\u4eba\u6027\u5316\u5c01\u88c5\uff0c\u4e5f\u6210\u529f\u964d\u4f4e\u4e86\u6280\u672f\u95e8\u69db\u4e0e\u5fc3\u7406\u6212\u5907\uff0c\u662f\u503c\u5f97\u80af\u5b9a\u7684\u4ea7\u54c1\u7b56\u7565\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5149\u9c9c\u7684\u201cAgent OS\u201d\u53d9\u4e8b\u4e0b\u6f5c\u85cf\u7740\u4e24\u5c42\u9690\u60a3\u3002\u5176\u4e00\uff0c\u6280\u672f\u5b9e\u73b0\u4e0e\u771f\u5b9e\u573a\u666f\u7684\u9e3f\u6c9f\uff1a\u76ee\u524dAgent\u95f4\u7684\u534f\u4f5c\u4ecd\u4e3b\u8981\u4f9d\u8d56\u89c4\u5212\u5c42\u4e0e\u5171\u4eab\u4e0a\u4e0b\u6587\uff0c\u8fd9\u66f4\u50cf\u201c\u6d41\u6c34\u7ebf\u201d\u800c\u975e\u201c\u56e2\u961f\u201d\u3002\u7528\u6237\u5173\u4e8e\u201c\u98ce\u683c\u6f02\u79fb\u201d\u4e0e\u201c\u8bb0\u5fc6\u7ea0\u504f\u201d\u7684\u5c16\u9510\u63d0\u95ee\uff0c\u76f4\u6307\u7cfb\u7edf\u662f\u5426\u5177\u5907\u5143\u8ba4\u77e5\u80fd\u529b\u2014\u2014\u5373\u80fd\u5426\u901a\u8fc7\u957f\u671f\u53cd\u9988\u5efa\u7acb\u8d28\u91cf\u95ed\u73af\uff0c\u800c\u4e0d\u4ec5\u4ec5\u662f\u77ed\u671f\u8bb0\u5fc6\u5b58\u50a8\u3002\u82e5\u7f3a\u4e4f\u8fd9\u79cd\u81ea\u6211\u8fdb\u5316\u7684\u8bad\u7ec3\u673a\u5236\uff0c\u6240\u8c13\u201c\u8bb0\u5fc6\u589e\u957f\u201d\u6700\u7ec8\u53ea\u4f1a\u6ca6\u4e3a\u66f4\u9ad8\u7ea7\u7684\u6a21\u677f\u5e93\u3002\u5176\u4e8c\uff0c\u5546\u4e1a\u53d9\u4e8b\u7684\u4fe1\u7528\u88c2\u75d5\uff1a\u4ea7\u54c1\u5ba3\u79f0\u201cOS\u201d\u7ea7\u5b9a\u4f4d\u4e0e\u5927\u89c4\u6a21\u7528\u6237\uff0c\u4f46\u5b98\u7f51\u57fa\u7840\u9875\u9762\u5931\u6548\u7684\u7ec6\u8282\uff0c\u66b4\u9732\u4e86\u56e2\u961f\u5728\u201c\u4ea7\u54c1\u5b9a\u4e49\u201d\u4e0e\u201c\u6267\u884c\u843d\u5730\u201d\u4e4b\u95f4\u7684\u5931\u8861\u3002\u5728AI\u5de5\u5177\u7ade\u4e89\u6b8b\u9177\u7684\u5f53\u4e0b\uff0c\u8fc7\u65e9\u62d4\u9ad8\u6982\u5ff5\u800c\u5e95\u5c42\u4f53\u9a8c\u7c97\u7cd9\uff0c\u6781\u6613\u8ba9\u65e9\u671f\u4e13\u4e1a\u7528\u6237\u4ea7\u751f\u201cDemo\u7ea7\u201d\u4fe1\u4efb\u5371\u673a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u503c\u5f97\u671f\u5f85\u7684\u4e0d\u662f\u5b83\u73b0\u5728\u5c55\u793a\u7684\u201c\u591aAgent\u534f\u540c\u201d\uff0c\u800c\u662f\u5176\u80fd\u5426\u6210\u4e3a\u521b\u4f5c\u8005\u79c1\u57df\u8d44\u4ea7\u7684\u6c89\u6dc0\u5c42\u3002\u5982\u679cOmniwork\u7684\u8bb0\u5fc6\u80fd\u4e25\u683c\u7ed1\u5b9a\u7528\u6237\u7684\u5386\u53f2\u9879\u76ee\u4e0e\u5ba1\u7f8e\u9009\u62e9\uff0c\u5e76\u901a\u8fc7\u53ef\u9a8c\u8bc1\u7684\u8bc4\u6d4b\u673a\u5236\u8bc1\u660e\u5176\u8f93\u51fa\u968f\u65f6\u95f4\u663e\u8457\u53d8\u597d\uff0c\u5b83\u5c31\u6709\u673a\u4f1a\u4ece\u201c\u6548\u7387\u5de5\u5177\u201d\u5347\u7ef4\u4e3a\u201c\u6570\u5b57\u521b\u4f5c\u5206\u8eab\u201d\u3002\u53cd\u4e4b\uff0c\u82e5\u53ea\u505c\u7559\u5728\u4efb\u52a1\u81ea\u52a8\u5316\u7684\u7f16\u6392\u5c42\u9762\uff0c\u5219\u5f88\u5bb9\u6613\u88ab\u5de8\u5934\u4eec\u96c6\u6210\u5230\u64cd\u4f5c\u7cfb\u7edf\u6216\u901a\u7528AI\u5ba2\u6237\u7aef\u4e2d\u7684\u7c7b\u4f3c\u80fd\u529b\u6240\u541e\u566c\u3002\u5b83\u8d62\u5728\u521b\u610f\uff0c\u4f46\u51b3\u6218\u5728\u6570\u636e\u98de\u8f6e\u7684\u6df1\u5ea6\u4e0e\u5de5\u7a0b\u4fe1\u8a89\u7684\u539a\u5ea6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Omniwork<\/span>\n                <\/div>\n<div class=\"comment-content\">Omniwork is an always-on Creative Agent OS that turns ideas into finished work. Specialized AI agents research, create, monitor, and automate your creative workflows, while a proactive desktop companion keeps projects moving and pushes results, alerts, and progress straight to your screen.<\/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<br \/>I&#8217;m part of the team that built Omniwork. We&#8217;ve spent the past year building this, and I&#8217;m thrilled to finally share it with you today.<\/p>\n<p><strong>What is Omniwork?<\/strong><br \/>Omniwork is a Creative Agent OS \u2014 an always-on desktop workspace where specialized AI agents turn your ideas into finished creative work. If you&#8217;re a content creator juggling scripts, visuals, videos, music, and social posts across five different tools every day, Omniwork brings all of that into one place where agents do the heavy lifting for you.<\/p>\n<p><strong>Why we built it<\/strong><br \/>We watched creators lose hours every day switching between chat windows, asset folders, editing tools, and social media backends \u2014 losing momentum and creative flow with every context switch. The AI tools were getting smarter, but the workflow kept getting more fragmented. We asked ourselves: what if a team of creative agents could just live on your desktop, learn your style, and handle the work end-to-end?<br \/>What makes it different<\/p>\n<p><strong>Three things we&#8217;re especially proud of:<\/strong><br \/>&#8211; A desktop pet that works for you \u2014 Meet your always-on desktop companion. It watches your tasks, pushes results to your screen, flags issues the moment they happen, and starts new work \u2014 all without breaking your flow. Four states \u2014 idle, working, done, and error \u2014 tell you exactly where things stand at a glance. Don&#8217;t check your tasks. Let them check in with you.<br \/>&#8211; Memory that grows with your work \u2014 Agents learn your taste, context, standards, and project history from your past work, so every new draft feels like it was made by someone who already gets you.<br \/>&#8211; From idea to posted content in one flow \u2014 One conversation turns into posts, visuals, videos, and next steps. Spot trends, remix viral videos, publish to multiple platforms, and track results \u2014 all handled by your agents.<\/p>\n<p>To celebrate our launch, we&#8217;re offering 20% off your first subscription for the Product Hunt community. Use code PRODUCTHUNT at checkout.<br \/>\ud83d\udc49 Download the desktop app and let your agents do the creative work: <a href=\"https:\/\/www.omniwork.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.omniwork.ai<\/a><br \/>I&#8217;ll be hanging out here all day \u2014 ask me anything about how it works, what&#8217;s under the hood, or where we&#8217;re heading next. \ud83d\ude80<\/p>\n<\/p>\n<p>As a Product Hunt launch gift, the first 100 people to use the code [<strong>RC-6NNC8NX2LDQQ<\/strong>] will receive an extra 100 free credits!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>12<\/span>\n                    <\/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\/@zoeychen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zoeychen<\/a>&nbsp;The \u201cdesktop pet that works for you\u201d idea is honestly one of the most interesting parts here. \ud83d\udc40<\/p>\n<p>Most AI tools still require you to constantly check, prompt, copy, paste, and move things between apps. Having agents that can actually keep track of tasks and proactively surface results feels like a much more natural workflow.<\/p>\n<p>I\u2019m curious how the memory system handles changing preferences over time \u2014 especially when a creator\u2019s style evolves. \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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do the specialized agents work together on one project? For example, can the research agent pass context directly to the writing and visual agents?<\/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\/@luke_pioneero\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luke_pioneero<\/a>&nbsp;Yes. That\u2019s exactly how Expert Teams are designed to work. The agents operate around a shared project goal and context, while a planning layer coordinates the handoffs between them. So, for example, a research agent can surface insights that the writing and visual agents then use to create aligned copy and visuals. Their intermediate work is synchronized in the same workspace, and the final outputs are brought together into one cohesive result.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 focus on game development is what caught my attention; mechanics, art direction, code constraints, and playtest feedback stay aligned.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks, Gary! That\u2019s a really interesting use case.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>This is a use case I\u2019m personally excited about too, Gary. Game projects have so many moving parts, and keeping everyone on the same page is half the battle. Thanks for checking us 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The desktop pet is such a fun idea. This feels like a much more natural way to work with agents. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sandy_liusy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sandy_liusy<\/a>&nbsp;Thank you! We wanted agents to feel less like tools you have to constantly check and more like teammates who naturally keep you updated. The desktop pet brings that relationship to life in a fun, glanceable way. So glad you like the 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=\"reply-item\">\n<div class=\"reply-content\">\n<p>Glad you like it, Sandy! The pet has become a team favorite too. It makes working with an agent feel a little more friendly and a lot less abstract.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">This is awesome! Congrats on the launch. All the best<\/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>Context switching is probably the least visible part of creative burnout. You lose a little momentum every time you move an idea between apps. The idea of keeping the whole process flowing on the desktop makes a lot of sense.<\/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\/@orman_canida\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@orman_canida<\/a>&nbsp;You put this so well, Orman. Sometimes it\u2019s not the work itself that drains you, but all the little jumps between tools. Thanks for taking the time to share this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Creation is getting absurdly cheap. I think the next bottleneck for creators is turning all that output into something people can actually buy. More content without a commerce layer just creates a faster treadmill.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>That\u2019s a great point. Producing more content isn\u2019t enough if it doesn\u2019t lead anywhere. We\u2019re focused on helping creators move from an idea to a finished result, including distribution and performance feedback, but connecting creation more directly to real business outcomes is definitely an important part of where this space is heading.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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;don&#8217;t check your tasks, let them check you&#8221; is a real flip from every other agent tool right now. how do you decide what&#8217;s worth pushing to the screen vs just logging quietly, that&#8217;s usually where these things turn into notification spam<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Great question, Sabber. Our basic rule is to notify you when something needs your attention, like a task finishing, hitting an error, or waiting for your input. Routine progress stays in the workspace for you to check when you want. We\u2019re being very careful here because the pet should reduce interruptions, not create more of them.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>love the idle\/working\/done\/error states for the desktop pet, way better than polling a dashboard. is the handoff between research\/writing\/visual agents rule-based right now or does it get smarter about it the more you use it?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Memory that grows with your work is the interesting claim here. Running a blog content pipeline at volume, my biggest recurring problem was never ideas, it was tone drift, each new draft reading a little more generic than the last as the model settled into its own patterns. Does Omniwork&#8217;s memory actively correct for that drift over time, or does it still need periodic human review to catch it before it compounds across a big batch of output?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\u2019m building a social-first consumer brand where maintaining a consistent voice and visual identity is really important. How does Omniwork\u2019s memory work in practice? Can agents learn a brand\u2019s tone, aesthetic, and creative preferences well enough that the content feels genuinely \u201con brand\u201d rather than AI-generated?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">Hey just a quick Point<br \/>\nIts more for help your Company <\/p>\n<p>The product communicates very large claims (&#8220;Agent OS&#8221;, &#8220;Expert Agents&#8221;,<br \/>\n&#8220;10,000 + teams&#8221;), but the website execution does not match these claims.<\/p>\n<p>Basic structural elements such as the<br \/>\n&#8220;Contact&#8221; and &#8220;About&#8221; links in the footer are not implemented and only jump to the top of the page.<\/p>\n<p>This creates a credibility gap between the stated scale of the product and the actual maturity of the platform.<\/p>\n<p>Recommendation: ensure core navigation and company pages are functional before presenting OS-level positioning.<\/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>Using the desktop pet to communicate task status is a clever detail. Simple, visual, and easy to understand.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Thanks, Jody! That\u2019s exactly what we hoped the desktop pet would feel like. You can understand what\u2019s happening at a glance without interrupting your work. Glad you noticed this detail!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>We spent a lot of time thinking about how to make task updates feel useful without becoming another distraction. Happy to hear the simplicity came through.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Having agents remember your taste and project history could make a big difference over time. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@victorzh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@victorzh<\/a>&nbsp;Totally agree, Victor. We want Omniwork to get to know your taste and project context over time, so you don\u2019t have to explain everything again with every new task. Thanks for the 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>We think memory is what can turn an agent from something you use occasionally into something that actually fits the way you work. Appreciate the 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>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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@peng_wood\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peng_wood<\/a>&nbsp;Thank you so much! We really appreciate your kind words and support on launch day! \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks. Really appreciate the 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>Congrats on launching Omniwork! The product looks very polished.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Thank you so much, <a href=\"https:\/\/www.producthunt.com\/@carlvert\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carlvert<\/a>! We\u2019ve put a lot of care into the experience, so it means a lot to hear that. 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Really appreciate that! The team has obsessed over a lot of small details, so this is lovely to hear. Thanks for supporting our 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<\/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\/RAQNCR3ER46NG2\" class=\"app-title\">VoiceOS App Store<\/a><\/p>\n<div class=\"one-liner\">The app store for voice native apps that lives in your notch<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">276<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>VoiceOS App Store \u662f\u4e00\u4e2a\u201c\u957f\u5728\u7075\u52a8\u5c9b\u91cc\u7684\u8bed\u97f3\u539f\u751f\u5e94\u7528\u5546\u5e97\u201d\uff0c\u7528\u6237\u7528\u4e00\u53e5\u8bdd\u63cf\u8ff0\u9700\u6c42\uff08\u5982\u201c\u5e2e\u6211\u505a\u4e2a\u65e5\u8bb0\u5e94\u7528\u201d\uff09\uff0cAI\u5373\u523b\u751f\u6210\u4e13\u5c5e\u8bed\u97f3\u5e94\u7528\uff0c\u5e76\u80fd\u901a\u8fc7\u94fe\u63a5\u4e00\u952e\u5206\u4eab\u5b89\u88c5\uff0c\u5c06\u201c\u627e\u5e94\u7528\u201d\u53d8\u4e3a\u201c\u9020\u5e94\u7528\u201d\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\/ec0bfe10-3ee1-40ea-8891-bf52c750c419.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\/9e6d2016-40e4-4f7a-9354-048b50ab3aed.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\/4d173307-3548-4472-a4cc-94ce7e899e7d.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\/d240f914-f481-4f96-b2f8-65885361a32d.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\/673c879a-ae74-40ce-bf4a-55b449f3e88f.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\/f1622885-527c-4471-bb0e-ef2a406afd11.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/cm5zKXqna9E\"><source src=\"https:\/\/youtu.be\/cm5zKXqna9E\" 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\">Audio<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3\u539f\u751f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">AI\u5e94\u7528\u751f\u6210\u5668<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u5546\u5e97<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u6027\u5316\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Prompt\u5de5\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">ProductHunt<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u201c\u751f\u6210+\u5206\u4eab\u201d\u6a21\u5f0f\uff0c\u8ba4\u4e3a\u89e3\u51b3\u4e86\u957f\u5c3e\u3001\u4e2a\u6027\u5316\u9700\u6c42\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u2460\u5171\u4eab\u94fe\u63a5\u7684App\u80fd\u5426\u968f\u521b\u4f5c\u8005\u66f4\u65b0\uff1b\u2461\u751f\u6210\u540e\u80fd\u5426\u624b\u52a8\u5fae\u8c03\u5e95\u5c42\u903b\u8f91\uff08\u5b98\u65b9\u56de\u590d\uff1a\u53ef\u7f16\u8f91\uff0c\u751a\u81f3\u53ef\u8c03Claude\/Codex\uff09\uff1b\u2462\u597d\u53cb\u5b89\u88c5\u662f\u5426\u9700\u8981\u8d26\u53f7\uff08\u9700\u5b89\u88c5VoiceOS\uff09\u3002\u4ea6\u6709\u591a\u4eba\u79f0\u8d5e\u786e\u8ba4\u6b65\u9aa4\u4e0eMCP\u96c6\u6210\u4f53\u9a8c\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                VoiceOS App Store\u7684\u91ce\u5fc3\u4e0d\u6b62\u4e8e\u505a\u4e00\u4e2a\u8bed\u97f3\u52a9\u624b\uff0c\u800c\u662f\u8bd5\u56fe\u91cd\u65b0\u5b9a\u4e49\u201c\u8f6f\u4ef6\u5206\u53d1\u201d\u7684\u5e95\u5c42\u903b\u8f91\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u201c\u8bed\u97f3\u63a7\u5236\u7535\u8111\u201d\u8fd9\u4e00\u8868\u8c61\uff0c\u800c\u662f\u5c06\u5e94\u7528\u5f62\u6001\u4ece\u201c\u5f00\u53d1\u8005\u5b9a\u4e49\u7684\u6807\u51c6\u54c1\u201d\u63a8\u5411\u201c\u7528\u6237\u5373\u5174\u751f\u6210\u7684\u79c1\u4eba\u7269\u54c1\u201d\u3002\u8fd9\u79cd\u201c\u4e00\u4eba\u4e00\u4ee3\u201d\u7684\u6a21\u578b\uff0c\u7cbe\u51c6\u72d9\u51fb\u4e86\u4f20\u7edf\u5e94\u7528\u5546\u5e97\u7684\u957f\u5c3e\u5931\u6548\u95ee\u9898\u2014\u2014\u90a3\u4e9b\u592a\u5c0f\u3001\u592a\u79c1\u5bc6\u3001\u592a\u4e2a\u4eba\u5316\u7684\u9700\u6c42\uff0c\u5728\u5546\u4e1a\u4e0a\u4e0d\u503c\u5f97\u5f00\u53d1\uff0c\u4f46\u5bf9\u4f60\u6211\u800c\u8a00\u5374\u662f\u65e5\u5e38\u75db\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u771f\u6b63\u7684\u5174\u594b\u70b9\u5728\u4e8e\u201c\u521b\u9020\u201d\u7684\u96f6\u95e8\u69db\u4e0e\u201c\u5206\u4eab\u201d\u7684\u5f3a\u4f20\u64ad\u6027\uff0c\u8fd9\u6784\u6210\u4e86\u4e00\u4e2a\u6f5c\u5728\u7684UGC\u98de\u8f6e\u3002\u4f46\u4ea7\u54c1\u9762\u4e34\u4e09\u91cd\u8003\u9a8c\uff1a\u5176\u4e00\uff0c\u751f\u6210\u5e94\u7528\u7684\u201c\u8d28\u91cf\u5929\u82b1\u677f\u201d\u53d6\u51b3\u4e8e\u5e95\u5c42LLM\u7684\u610f\u56fe\u7406\u89e3\u4e0e\u4ee3\u7801\u751f\u6210\u80fd\u529b\uff0c\u82e5\u751f\u6210\u7684App\u53ea\u80fd\u505a\u7b80\u5355\u4efb\u52a1\uff0c\u65b0\u9c9c\u611f\u4f1a\u8fc5\u901f\u6d88\u9000\uff1b\u5176\u4e8c\uff0c\u7528\u6237\u63d0\u5230\u7684\u201c\u786e\u8ba4\u6b65\u9aa4\u201d\u867d\u7136\u63d0\u5347\u4e86\u4fe1\u4efb\u611f\uff0c\u4f46\u4e5f\u66b4\u9732\u4e86\u5f53\u524d\u751f\u6210\u7ed3\u679c\u7684\u4e0d\u786e\u5b9a\u6027\uff0c\u8fd9\u672c\u8d28\u662f\u6280\u672f\u4e0d\u6210\u719f\u7684\u59a5\u534f\u4e4b\u7b56\uff1b\u5176\u4e09\uff0c\u517c\u5bb9\u6027\u95ee\u9898\u2014\u2014\u76ee\u524dApp\u53ea\u80fd\u5728VoiceOS\u5185\u8fd0\u884c\uff0c\u8fd9\u5728\u57f9\u517b\u5fe0\u8bda\u5ea6\u7684\u540c\u65f6\uff0c\u4e5f\u9650\u5236\u4e86\u5176\u6210\u4e3a\u201c\u6807\u51c6\u201d\u7684\u53ef\u80fd\u3002\u672c\u8d28\u4e0a\uff0cVoiceOS\u8d4c\u7684\u662f\u201c\u8bed\u97f3\u5373OS\u201d\u7684\u672a\u6765\uff0c\u5982\u679cAI\u751f\u6210\u7684\u5e94\u7528\u8d28\u91cf\u80fd\u6301\u7eed\u903c\u8fd1\u751a\u81f3\u5c40\u90e8\u8d85\u8d8a\u4f20\u7edf\u539f\u751f\u5e94\u7528\uff0c\u90a3\u4e48\u5b83\u4eca\u5929\u6240\u505a\u7684\uff0c\u5c31\u662f\u5f53\u5e74App Store\u5728\u89e6\u5c4f\u65f6\u4ee3\u505a\u7684\u4e8b\u3002\u4f46\u82e5\u751f\u6210\u80fd\u529b\u505c\u6ede\uff0c\u5b83\u6700\u7ec8\u53ea\u4f1a\u6ca6\u4e3a\u4e00\u4e2a\u70ab\u9177\u7684\u201c\u8bed\u97f3\u5feb\u6377\u6307\u4ee4\u5de5\u5177\u201d\uff0c\u800c\u975e\u4e00\u4e2a\u201c\u5546\u5e97\u201d\u3002\u9510\u8bc4\u4e00\u53e5\uff1a\u60f3\u6cd5\u662f\u98a0\u8986\u7ea7\u7684\uff0c\u4f46\u8003\u9a8c\u4e0d\u5728\u4eca\u5929\uff0c\u800c\u5728\u7528\u6237\u7528\u5b8c\u7b2c100\u4e2a\u81ea\u521bApp\u4e4b\u540e\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\">VoiceOS App Store<\/span>\n                <\/div>\n<div class=\"comment-content\">The App Store for your voice, where building takes one sentence. Describe what you want &#8220;Create an app to help me to journal&#8221; and VoiceOS creates the app for you. Share it as a link and anyone can install it in a click.<\/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,<\/p>\n<p>I&#8217;m Jonah, co-founder of VoiceOS.<\/p>\n<p>When we launched VoiceOS, the most common reply we got was some version of &#8220;can it do [x]?&#8221;<\/p>\n<p>Usually the answer was no. Not because it was hard, but because nobody had built that one yet.<\/p>\n<p>That&#8217;s the ceiling on every app store. You can only use what someone else decided was worth building. And the apps that would actually change your day are the ones nobody ships. Too small, too personal, too specific to you. A journal that asks the right question at 10pm. A tracker for the one number your team actually cares about.<\/p>\n<p>So we made building the easy part.<\/p>\n<p>You say &#8220;create an app to help me journal.&#8221; VoiceOS writes it, you try it by voice, and it&#8217;s yours. No code, no docs, no waiting on us to build it.<\/p>\n<p>Then you share it as a link, and anyone who opens it has the same app in a click.<\/p>\n<p>That&#8217;s what we want this store to be: every app anyone needs, built by the person who needs it.<\/p>\n<p>Huge shoutout to our Japanese community. The marketplace is fully localized in Japanese from day one. You&#8217;ve backed us since the beginning.<\/p>\n<p>VoiceOS comes with a free 7-day Pro trial.<\/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\/@jonahdaian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonahdaian<\/a>&nbsp;This is LIT<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@jonahdaian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonahdaian<\/a>&nbsp;Nice launch congrats\ud83d\ude4cthe link-sharing model is super clever, If someone installs an app from a shared link, do they receive updates if the original creator improves the prompt?<\/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\/@jonahdaian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonahdaian<\/a>&nbsp;The idea of moving from an \u201capp store\u201d to a \u201cbuild what you personally need\u201d model is really compelling.<\/p>\n<p>What stood out to me is that the limitation isn\u2019t necessarily what AI can build, but what traditional apps are willing to build for everyone. Letting users create those highly specific tools themselves could unlock a completely different kind of software ecosystem.<\/p>\n<p>Curious to see what kinds of unexpected apps people end up creating with VoiceOS. \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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Super interested in the app builder, When VoiceOS creates an app from a prompt, can we edit the underlying logic\/JSON manually if we want to fine-tune 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\/@istiakahmad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@istiakahmad<\/a>&nbsp;thank you for your question! Yes, you have full control over everything. You can even ask Claude or Codex to make edits to the app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Installed and playing with it now. Super snappy response times.. qq when I do share an app link with a friend, do they need a VoiceOS account to test it out or does it run in-browser instantly? huge congrats for shipping \ud83d\udc4f\ud83d\udc4f<\/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\/@priya_kushwaha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priya_kushwaha1<\/a>&nbsp;Hi Priya! VoiceOS apps only are able to run on VoiceOS, so the other person would have to install VoiceOS in order for the app to work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@priya_kushwaha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priya_kushwaha1<\/a>&nbsp; Fascinating shift toward intent-driven, voice-native execution. Moving from traditional app-hopping and manual UI navigation to speaking a workflow or mini-app into existence is a massive leap for personal productivity.<\/p>\n<p>The real test for tools like this isn&#8217;t just the creation phase, but how cleanly the confirmation and execution layers handle edge cases system-wide across Mac and Windows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 feels like the kind of tool you appreciate more after using it for a few days. Constantly switching between apps for small tasks breaks my flow, so being able to just say what I want and have it happen feels genuinely useful. The confirmation step is a nice touch too<br \/>it keeps the control with 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=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m genuinely addicted to adding integrations to VoiceOS. Creating a new one is so easy, and the result looks stunning. Whenever a thought strikes me, I just ask VoiceOS. Having everything connected in one unified place makes it effortless.<\/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\/@kai_brokering\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kai_brokering<\/a>&nbsp;I could not agree more with you. I&#8217;ve been addicted to creating apps to solve even the smallest problems. It&#8217;s so fun!<\/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>Absolutely amazing product. It&#8217;s very well made. It&#8217;s very clear on how to use, and I&#8217;m currently using this as well to type this up, or actually speak this out loud and type it up onto Product Hunt. I really love the product, and I would definitely pay more for 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>VoiceOS is awesome! It basically turned my laptop into a hands free control center, very similar to using Jarvis from Iron Man. I love that you can connect in your own custom apps, so it&#8217;s not locked to only a fixed list of supported integrations. Bundling this with a great dictation layer similar to wisprflow on top makes it feel like one coherent operating system. I couldn&#8217;t imaging going back to clicking and typing using my hands.<\/p>\n<p>-Written using Voice OS<\/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>Feels like the future has arrived. Pretty cool what you can do with just your cursor and voice. The need to typing seems to be the thing that AI is going to replace soon.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s my first time trying VoiceOS, I feel like it is really easy to use and reliable. I&#8217;ve enjoy the design and how it deliver a smooth and efficient user experience!!! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 confirmation step before it executes is the detail I like, most voice agents just fire and hope. when the app-generation misreads what someone described, do people usually retry with different wording or drop into some kind of edit view?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 product is crazy, i tried it and have been enjoying the no code part of it alot. its very easy to make MCPs and the UI is very fluid. I could integrate it with my AI IDE seemlessly, such that i could just point out on the UI where I want the changes, the exact changes, and it would implement the necessary changes in the codebase using any AI IDE I have connected it with. I tested it with Kiro CLI, and works like magic!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/XAIWIH5Z6NGPYS\" class=\"app-title\">SoloUno<\/a><\/p>\n<div class=\"one-liner\">Take control of hair pulling, nail biting &#038; skin picking<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">254<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>SoloUno\u662f\u4e00\u6b3e\u9488\u5bf9\u62d4\u6bdb\u3001\u54ac\u6307\u7532\u3001\u62a0\u76ae\u80a4\u7b49\u8eab\u4f53\u805a\u7126\u91cd\u590d\u884c\u4e3a\uff08BFRB\uff09\u7684\u5f15\u5bfc\u5f0f\u81ea\u52a9\u5e94\u7528\uff0c\u901a\u8fc7\u6bcf\u65e5\u5c0f\u76ee\u6807\u3001\u4e60\u60ef\u8ffd\u8e2a\u548c\u51b2\u52a8\u63a5\u7eb3\u8bad\u7ec3\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u65e0\u7f9e\u803b\u611f\u6c1b\u56f4\u4e2d\u9010\u6b65\u638c\u63a7\u4e60\u60ef\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\/68703502-0357-41ff-96b0-aae3fc86f7f9.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\/f41fdf11-c17d-40e2-976c-500537dee342.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\/1b8ff67f-c7ae-4a10-80e5-e8f97cf48455.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\/2e671f39-99b8-455c-8541-a3251f2c393e.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\/146164e6-b4c4-4c8d-896c-5c6313dc4bae.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\/49131d5d-c308-4aeb-9cee-2957732ffaea.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/TSQW8fip4Ko\"><source src=\"https:\/\/youtu.be\/TSQW8fip4Ko\" 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\">iOS<\/span><br \/>\n            <span class=\"tag\">Health<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">BFRB<\/span><br \/>\n            <span class=\"tag\">\u4e60\u60ef\u9006\u8f6c\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u8ba4\u77e5\u884c\u4e3a\u7597\u6cd5<\/span><br \/>\n            <span class=\"tag\">\u63a5\u7eb3\u627f\u8bfa\u7597\u6cd5<\/span><br \/>\n            <span class=\"tag\">\u884c\u4e3a\u77eb\u6b63<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6211\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u5316<\/span><br \/>\n            <span class=\"tag\">\u5fc3\u7406\u5065\u5eb7<\/span><br \/>\n            <span class=\"tag\">\u51b2\u52a8\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u6bcf\u65e5\u6253\u5361<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u5c0f\u6b65\u8fdb\u6b65\u201d\u548c\u201c\u4e0d\u7f9e\u8fb1\u201d\u7406\u5ff5\uff0c\u8ba4\u4e3a\u5176\u6bd4\u201c\u5f3a\u884c\u6212\u65ad\u201d\u66f4\u53ef\u6301\u7eed\u3002\u591a\u4f4d\u7528\u6237\u53cd\u9988\u5e94\u7528\u6709\u6548\u6539\u5584\u4e86\u6570\u5e74\u751a\u81f3\u6570\u5341\u5e74\u7684\u54ac\u6307\u7532\/\u62d4\u53d1\u4e60\u60ef\uff0c\u5e76\u8d5e\u8d4f\u5177\u4f53\u60c5\u5883\u5316\u9009\u9879\u4e0e\u6b63\u5411\u6fc0\u52b1\u3002\u5c11\u6570\u8bc4\u8bba\u8be2\u95ee\u65e9\u671f\u7248\u672c\u56de\u5e94\uff0c\u6682\u65e0\u529f\u80fd\u7f3a\u9677\u53cd\u9988\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                SoloUno\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u7cbe\u51c6\u6293\u4f4f\u4e86BFRB\u7fa4\u4f53\u957f\u671f\u88ab\u4e3b\u6d41\u6212\u65ad\u7c7b\u5de5\u5177\u5ffd\u89c6\u7684\u5fc3\u7406\u673a\u5236\uff1a\u7f9e\u803b\u611f\u9a71\u52a8\u7684\u201c\u51b7 turkey\u201d\u7597\u6cd5\u53ea\u4f1a\u653e\u5927\u5931\u8d25\u540e\u7684\u81ea\u6211\u60e9\u7f5a\u5faa\u73af\u3002\u4ea7\u54c1\u7528\u6e38\u620f\u5316\u4e0e\u201c\u6bcf\u65e5\u5fae\u80dc\u5229\u201d\u6d88\u89e3\u4e86\u4f20\u7edf\u4e60\u60ef\u8ffd\u8e2a\u5668\u7684\u9053\u5fb7\u5ba1\u5224\uff0c\u5c06\u201c\u590d\u53d1\u201d\u91cd\u6784\u4e3a\u201c\u6570\u636e\u70b9\u201d\uff0c\u672c\u8d28\u662f\u8f6c\u5316\u4e86\u7528\u6237\u5bf9\u5931\u63a7\u7684\u7126\u8651\u2014\u2014\u8fd9\u6bd4\u4efb\u4f55\u610f\u5fd7\u529b\u5145\u503c\u90fd\u66f4\u63a5\u8fd1\u884c\u4e3a\u5fc3\u7406\u5b66\u771f\u8c1b\u3002\u4f46\u5176\u6f5c\u529b\u4e5f\u9690\u542b\u98ce\u9669\uff1a\u82e5\u201c\u8fde\u7eed\u6253\u5361\u201d\u673a\u5236\u8fc7\u5ea6\u5f3a\u8c03\u4e00\u81f4\u6027\uff0c\u4ecd\u4f1a\u53d8\u76f8\u5f3a\u5316\u975e\u9ed1\u5373\u767d\u7684\u632b\u8d25\u611f\uff1b\u800cACT\u4e0eCBT\u867d\u6709\u5faa\u8bc1\u80cc\u4e66\uff0cAPP\u5185\u80fd\u5426\u771f\u6b63\u5b9e\u73b0\u4e13\u4e1a\u6cbb\u7597\u4e2d\u7684\u201c\u8ba4\u77e5\u89e3\u79bb\u201d\u4e0e\u201c\u4ef7\u503c\u6f84\u6e05\u201d\uff0c\u800c\u975e\u6ca6\u4e3a\u6d45\u5c42\u81ea\u6211\u6697\u793a\uff0c\u503c\u5f97\u89c2\u5bdf\u3002\u5546\u4e1a\u4e0a\uff0c\u72ec\u7acb\u5f00\u53d1\u8005\u80cc\u666f\u51b3\u5b9a\u5176\u540e\u7eed\u4f9d\u8d56\u8ba2\u9605\u6536\u5165\uff0c\u4f46\u8fd9\u7c7b\u4f4e\u9891\u6b21\u3001\u957f\u5468\u671f\u4f7f\u7528\u7684\u5de5\u5177\u6613\u9677\u5165\u201c\u7528\u6237\u5eb7\u590d\u5373\u6d41\u5931\u201d\u7684\u6096\u8bba\u2014\u2014\u8fd9\u65e2\u662f\u4ea7\u54c1\u6210\u529f\u7684\u8bc1\u660e\uff0c\u4e5f\u662f\u5546\u4e1a\u6a21\u578b\u7684\u6b7b\u7a74\u3002\u66f4\u52a1\u5b9e\u7684\u8def\u5f84\u6216\u8bb8\u662f\u672a\u6765\u5207\u5165BFRB\u76f8\u5173\u7684\u4e13\u4e1a\u533b\u7597\u8f85\u52a9\u63a5\u53e3\u6216\u96c7\u4e3b\u5fc3\u7406\u5065\u5eb7\u798f\u5229\u5e02\u573a\uff0c\u5426\u5219\u6781\u6613\u6b62\u6b65\u4e8e\u5c0f\u800c\u7f8e\u7684\u793e\u533a\u5de5\u5177\u3002\u6574\u4f53\u800c\u8a00\uff0c\u5b83\u8bc1\u660e\u4e86\u201c\u5bf9\u6297\u81ea\u5df1\u201d\u7684\u6709\u6548\u7b56\u7565\u4e0d\u662f\u6218\u6597\uff0c\u800c\u662f\u8c08\u5224\uff0c\u4f46\u8c08\u5224\u684c\u7684\u6301\u4e45\u6027\u4ecd\u9700\u9a8c\u8bc1\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\">SoloUno<\/span>\n                <\/div>\n<div class=\"comment-content\">SoloUno helps people take control over body-focused repetitive behaviors (BFRBs) such as hair pulling (trichotillomania), skin picking (dermatillomania), and nail biting. Inspired by Habit Reversal Training, CBT, and ACT, it works as a gamified self-help tool. You progress by achieving small daily wins: habit-free challenges and streaks, quick habit logging, trigger analysis, and urge-acceptance sessions. No shame &#8211; just steady progress.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey all!<br \/>My name is Omer and Im a solopreneur &#8211; Im dealing with hair-pulling (trichotillomania) for many years now and that what inspired me to build SoloUno<\/p>\n<p>I used to smoke cigarettes and had successfuly rehabed using a rehab app so I thought it would be easy doing the same with my hair pulling, right?<\/p>\n<p>Apperntly not.<\/p>\n<p>I found out that hair pulling, like nail biting and skin picking are a part of a group defined by the DSM-5 as Body Focused Repetitive Behaviors (BFRBs)<\/p>\n<p>This group of habits are defined by peoples difficulty to completly stop them &#8220;cold turkey&#8221; and many people just tend to live with them<\/p>\n<p>One thing became very clear to me: for many people with BFRBs, simply deciding to \u201cjust stop\u201d isn\u2019t enough. And when an app is built entirely around the goal of never doing the behavior again, every slip can feel like failure.<\/p>\n<\/p>\n<p>So I decided to flip the equation with SoloUno.<\/p>\n<p>Instead of focusing only on one huge, all-or-nothing goal, SoloUno focuses on small daily wins &#8211; becoming more aware of the habit, resisting urges when possible, reducing the behavior over time, and building confidence along the way.<\/p>\n<p>And I wanted to make the process fun and engaging enough that people would actually want to keep practicing.<\/p>\n<p>I started reading research, tried therapy myself, and learned about evidence-based approaches used for BFRBs, including Habit Reversal Training (HRT), CBT, and ACT. I wanted to take principles inspired by these approaches and turn them into something people could practice in their everyday lives.<\/p>\n<p>And that became SoloUno \u2728<\/p>\n<\/p>\n<p>I\u2019d love to hear what you think! and especially from anyone who has dealt with a BFRB themselves<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>19<\/span>\n                    <\/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>I really like the shift from just stop to actually understanding the behavior and building around real progress . Turning slips into part of the process instead of failure feels much more sustainable . Wishing you the best with SoloUno.<\/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\/@omer_bialer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omer_bialer<\/a>&nbsp;I really like the shift from an all-or-nothing mindset to focusing on small, sustainable wins. That feels especially important for habits where setbacks can easily turn into frustration or self-blame.<\/p>\n<p>The idea of making awareness and gradual progress part of the journey, rather than treating every slip as failure, is genuinely thoughtful. Wishing you and SoloUno a successful launch. \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<div class=\"reply-item\">\n<div class=\"reply-content\">@omer_bialer Congratulations on the launch. Really clean concept. How has the response been so far<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Omer and team!<\/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>Thanks so much, Ben! Really appreciate it &#8211; and thanks again for hunting SoloUno and helping make today happen \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\">\n<p>Love the focus on building healthier habits through awareness. \ud83d\udc99<\/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\/@ajay_sharma85\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajay_sharma85<\/a>&nbsp;Thanks, Ajay! That\u2019s exactly the idea &#8211; building awareness first, then using it to make small changes over time. Really appreciate the support! \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\">\n<p><a href=\"https:\/\/www.producthunt.com\/@omer_bialer\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"omer_bialer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@omer_bialer<\/a> I wish there was something like this a few years ago, I was a nail biter for most of my life, but a few years ago I made an effort to stop, it was tough, and took a while but I managed it.  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>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\/@codeandsea\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@codeandsea<\/a>&nbsp;Thank you, and well done! It\u2019s really not an easy habit to break..<\/p>\n<p>Was there anything specific that helped you stop?<\/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\">Thanks for doing this.. I didn&#8217;t know HRTs for such issues also existed.. my wishes for its success..<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is such a needed tool. BFRBs get overlooked so often and the no shame, steady progress approach paired with real techniques like Habit Reversal Training and CBT feels like exactly the right way to help people. Congrats on the launch, wishing you a great 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\">@arunrajiah I agree! Thank you!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 have a few friends that have really struggled with this. Will definitely share this with them. <\/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\">@sseanyd Thanks for sharing! Would love to get some feedback along the way if they try it \ud83d\ude4f\ud83c\udffc<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 great app, got the earlier version last year and it helped me to avoid nail biting for months! motivating me to report and get rewards &#8211; try it and good luck!<\/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\/@checkmate9\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@checkmate9<\/a>&nbsp;Thanks Shahar! Making progress visible and rewarding was exactly the idea. Really appreciate the 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>A long time Omer follower on Twitter here. Great product and idea. Congrats on the launch. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gemanor\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gemanor<\/a>&nbsp;Thanks so much, Gabriel! Really appreciate you following my journey &#8211; and thanks for the support on the launch! \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\">\n<p>I appreciate that this app makes me cope with my situation directly, offers me options that are specific to my situation and support this sensitive and emotional struggle. The app is friendly, Pleasantly designed and allow me to control my own progress. Thank you for it \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\/@orna_lerman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@orna_lerman<\/a>&nbsp;Thank you so much, Orna! I\u2019m really glad SoloUno feels supportive and gives you a sense of control over your own progress &#8211; that\u2019s a big part of what I hoped to create. Really appreciate you sharing this \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\">\n<p>Like that you are not trying to make people perfect , But just focus on a small progress each day . Wishing you a lot of success with SoloUno.<\/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\/@farhan_nazir55\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@farhan_nazir55<\/a>&nbsp;Yep, thats the idea! thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What a great app!<\/p>\n<p>I&#8217;ve been using it since its very beginning.<\/p>\n<p>It helped me to (almost) get rid of decades of nail biting.<\/p>\n<p>Congrats Omer!<\/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\/@hagai_rechnitzer_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hagai_rechnitzer_<\/a>&nbsp;Thank you, Hagai!! Really happy to hear about the impact the app has had, and I really appreciate your support! \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\">\n<p>The app has helped me so much. At 36, I\u2019ve already realized that you can\u2019t simply stop a habit, but with the app, I can actually control it. I\u2019m much more aware of it now, and that has really helped me minimize it and even stop altogether. Thank you!<\/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\/@tel_aviv_widrich\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tel_aviv_widrich<\/a>&nbsp;Thank you so much, Tel Aviv! This really means a lot. What you described &#8211; becoming more aware, reducing the habit, and feeling more in control instead of defeated by every slip &#8211; is exactly what I hoped SoloUno could help with. So happy it\u2019s been useful for you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch, Omer!<\/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\/@dmytro_krasun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dmytro_krasun<\/a>&nbsp;Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the App, using it from day one, I wish it was available many years ago. <\/p>\n<p>SoloUno is friendly and easy to use but the most valuable feature for me is the fact that I do not feel defeated or failure when I do pull my hair.  I just continue my journey <\/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\/@shiri_ofer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shiri_ofer<\/a>&nbsp;Thanks so much, Shiri! You really are one of SoloUno\u2019s earliest users, so this means a lot. I\u2019m super happy the app is helping you, and your feedback along the way has been incredibly valuable in shaping and improving it. Thank you!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great app! Used it since its very early days<\/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\/@oren_avidan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oren_avidan<\/a>&nbsp;Thanks, Oren! You\u2019ve seen SoloUno evolve quite a bit since those early days \ud83d\ude04 Really appreciate the 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>The app really helped with stopping to pluck beard hairs.<\/p>\n<p>Very intuitive and simple to use.<\/p>\n<p>Thanks for the 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\/@or_reinis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@or_reinis<\/a>&nbsp;Thanks, Or! That\u2019s actually exactly what motivated me to build SoloUno in the first place. Really glad it\u2019s helping you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I had the pleasure of using SoloUno from its first versions. It helped me get over a habit of many (30+) years. I actually don&#8217;t need it anymore as the habit is gone.<\/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\/@yaniv_yaakubovich\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yaniv_yaakubovich<\/a>&nbsp;<br \/>Thank you, Yaniv! I\u2019m actually really happy to hear you don\u2019t need the app anymore \ud83d\ude04<\/p>\n<p>And thank you for all the feedback you gave me along the way &#8211; it really helped shape SoloUno.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 all-or-nothing streak trap is such a common failure mode in habit apps, good call flipping it. how do the urge-acceptance sessions work in the moment, guided right when the urge hits or more of a log-it-after reflection?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>flipping from &#8220;never do it again&#8221; to small daily wins is the right call, most habit apps let one slip nuke the streak and that&#8217;s exactly when people quit. what counts as a win day to day, awareness logging or something more concrete?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/LYYFNPIONQKLRK\" class=\"app-title\">Proxy Tester by ScrapeOps<\/a><\/p>\n<div class=\"one-liner\">Benchmark proxies for reliable, target-specific scraping<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">167<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong><\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f9a383d-e951-4335-8a94-557bf2070e19.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\/72bbfe5d-a89b-4052-b78b-79d0f5ab9551.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\/b41a112a-94a6-4989-b05b-f83c9b11f5fd.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\/7897a666-9f25-4bd5-a53a-b34e912a62f8.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\/19fb7c67-3f24-4d4b-9059-2c1dadbec6ba.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\/bae54832-41c4-4196-a95e-696f36192279.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\/c3e4a21b-2a1b-4c3a-a391-f96847229e61.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\/51660be1-d2e0-44f7-87cb-d90afee02e10.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\/9f6287c2-f768-4dae-98de-243772792c87.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\/f4154858-aa0e-4cde-ae1f-b1d0142881f6.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/GR67AIWkPn0\"><source src=\"https:\/\/youtu.be\/GR67AIWkPn0\" 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\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ee3\u7406\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u57fa\u51c6\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u722c\u866b\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u63d0\u4f9b\u5546\u5bf9\u6bd4<\/span><br \/>\n            <span class=\"tag\">\u53cd\u722c\u7ed5\u8fc7<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u91c7\u96c6\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Web Scraping<\/span><br \/>\n            <span class=\"tag\">\u6027\u80fd\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u4f18\u5316<\/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\u8ba4\u53ef\u201c\u9488\u5bf9\u76ee\u6807URL\u5b9e\u6d4b\u201d\u4f18\u4e8e\u901a\u7528\u6392\u540d\uff0c\u4f46\u63d0\u51fa\u4e09\u5927\u6838\u5fc3\u7591\u95ee\uff1a1) \u5f53\u524d\u4ec5\u6d4b\u5355\u6b21\u8bf7\u6c42\uff0c\u65e0\u6cd5\u8986\u76d6\u9700\u7ef4\u6301\u540c\u4e00IP\u7684\u4f1a\u8bdd\u578b\u53cd\u722c\u573a\u666f\uff1b2) \u7ed3\u679c\u5b58\u5728\u65f6\u6548\u6027\uff0cWAF\u89c4\u5219\u9891\u7e41\u66f4\u65b0\uff0c\u62a5\u544a\u662f\u5426\u53ef\u8ffd\u6eaf\u6216\u5b9a\u671f\u91cd\u8dd1\uff1b3) \u4ef7\u503c\u8bc4\u5206\u9ed8\u8ba4\u504f\u91cd\u6210\u672c\uff0c\u7f3a\u5c11\u6210\u529f\u7387\/\u5ef6\u8fdf\/\u6210\u672c\u7684\u6743\u91cd\u81ea\u5b9a\u4e49\u3002\u521b\u59cb\u4eba\u56de\u5e94\u627f\u8ba4\u5c40\u9650\uff0c\u5e76\u79f0\u540e\u7eed\u53ef\u80fd\u589e\u52a0\u4f1a\u8bdd\u6d4b\u8bd5\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                Proxy Tester \u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u6602\u8d35\u7684\u75db\u70b9\u2014\u2014\u4ee3\u7406\u9009\u62e9\u9519\u8bef\u76f4\u63a5\u5bfc\u81f45-10\u500d\u7684\u6210\u672c\u6d6a\u8d39\u548c\u6570\u5929\u8c03\u8bd5\u5468\u671f\u3002\u5176\u201c\u76ee\u6807\u5bfc\u5411\u201d\u7684\u5b9e\u6d4b\u903b\u8f91\u5728\u65b9\u6cd5\u8bba\u4e0a\u786e\u5b9e\u4f18\u4e8e\u4e00\u5207\u8425\u9500\u699c\u5355\uff0c\u8fd9\u662f\u4ea7\u54c1\u6700\u624e\u5b9e\u7684\u8d44\u4ea7\u3002\u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u5f53\u524d\u7248\u672c\u4ecd\u505c\u7559\u5728\u201c\u6d45\u5c42\u63a2\u6d4b\u201d\u9636\u6bb5\uff1a\u5355\u6b21\u8bf7\u6c42\u7684\u6210\u529f\u7387\u5bf9\u4e8e\u73b0\u4ee3\u53cd\u722c\u4f53\u7cfb\uff08\u5c24\u5176\u662fCloudflare\u7b49\uff09\u51e0\u4e4e\u6ca1\u6709\u53c2\u8003\u610f\u4e49\uff0c\u771f\u6b63\u51b3\u5b9a\u722c\u866b\u6210\u8d25\u7684\u5f80\u5f80\u662f\u4f1a\u8bdd\u4fdd\u6301\u3001\u6307\u7eb9\u4e00\u81f4\u6027\u53ca\u8bf7\u6c42\u9891\u7387\u63a7\u5236\u3002\u521b\u59cb\u4eba\u5bf9\u6b64\u7684\u56de\u5e94\u867d\u5766\u8bda\uff0c\u5374\u4e5f\u66b4\u9732\u4e86\u4ea7\u54c1\u62a4\u57ce\u6cb3\u6709\u9650\u2014\u2014\u82e5\u4ec5\u4f5c\u4e3a\u4e00\u6b21\u6027\u8bca\u65ad\u5de5\u5177\uff0c\u5b83\u65e0\u6cd5\u89e3\u51b3\u201c\u8dd1\u901a\u4e86\u4f46\u6301\u7eed\u4e09\u5929\u540e\u88ab\u5c01\u201d\u7684\u5e38\u6001\u5316\u8fd0\u7ef4\u95ee\u9898\u3002\u6b64\u5916\uff0c\u4ef7\u503c\u8bc4\u5206\u9ed8\u8ba4\u5411\u6210\u672c\u503e\u659c\uff0c\u5bf9\u4f4e\u5ef6\u8fdf\u654f\u611f\u578b\u573a\u666f\u4e0d\u591f\u53cb\u597d\uff0c\u4e14\u7ed3\u679c\u968f\u76ee\u6807\u7ad9\u70b9WAF\u66f4\u65b0\u800c\u5feb\u901f\u5931\u6548\uff0c\u7f3a\u4e4f\u6301\u7eed\u76d1\u63a7\u673a\u5236\u3002\u5546\u4e1a\u4e0a\uff0c\u514d\u8d39\u6d4b\u8bd5\u662f\u6781\u4f73\u7684\u5f15\u6d41\u94a9\u5b50\uff0c\u4f46\u82e5\u540e\u7eed\u4ec5\u5c06\u6d41\u91cf\u5bfc\u5411\u81ea\u5bb6ScrapeOps\u805a\u5408\u670d\u52a1\uff0c\u5219\u5b58\u5728\u201c\u65e2\u5f53\u88c1\u5224\u53c8\u5f53\u8fd0\u52a8\u5458\u201d\u7684\u4fe1\u4efb\u5371\u673a\u3002\u771f\u6b63\u7684\u589e\u91cf\u673a\u4f1a\u5728\u4e8e\uff1a\u628a\u4e00\u6b21\u6027\u6d4b\u8bd5\u5347\u7ea7\u4e3a\u6301\u7eed\u6027\u76d1\u63a7\u9762\u677f\uff0c\u5e76\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49\u8bc4\u5206\u6743\u91cd\u53ca\u6d4b\u8bd5\u6a21\u5f0f\uff08\u4f1a\u8bdd\/\u9ad8\u5e76\u53d1\uff09\u3002\u5426\u5219\uff0c\u5b83\u66f4\u53ef\u80fd\u662f\u4e00\u6b3e\u4f18\u79c0\u7684\u4f01\u4e1a\u91c7\u8d2d\u524d\u7f6e\u5de5\u5177\uff0c\u800c\u975e\u722c\u866b\u56e2\u961f\u7684\u57fa\u7840\u8bbe\u65bd\u5e38\u5907\u4ef6\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\">Proxy Tester by ScrapeOps<\/span>\n                <\/div>\n<div class=\"comment-content\">ScrapeOps Proxy Tester is a technical benchmarking platform for developers, scraping teams, data providers, SaaS companies, and AI agents selecting proxy infrastructure. Submit a target URL to test 20+ residential, datacenter, mobile, Proxy API, and unblocker configurations. It measures real-world success rate, latency, reliability, bandwidth, and estimated cost, then generates a use-case-specific ranking instead of relying on generic provider claims.<\/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 Ian, one of the people behind <a href=\"https:\/\/scrapeops.io\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>ScrapeOps<\/strong><\/a>.<\/p>\n<p>Over the years, we&#8217;ve spoken with hundreds of developers building web scraping pipelines, and one question kept coming up:<\/p>\n<blockquote>\n<p><strong>&#8220;Which proxy provider should I actually use for this website?&#8221;<\/strong><\/p>\n<\/blockquote>\n<p>The frustrating part is that there isn&#8217;t a universal answer. A provider that performs great on one target can perform poorly on another. Most teams end up buying credits, running manual tests, comparing logs, and spending days figuring it out.<\/p>\n<p>So we built <a href=\"https:\/\/scrapeops.io\/proxy-providers\/tester\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Proxy Tester<\/strong><\/a>.<\/p>\n<p>Instead of relying on generic rankings or vendor claims, Proxy Tester lets you submit your target URL and benchmark multiple proxy providers against that specific target.<\/p>\n<p><strong>Every benchmark compares:<\/strong><\/p>\n<ul>\n<li>\n<p>\u2705 Success rate<\/p>\n<\/li>\n<li>\n<p>\u26a1 Latency<\/p>\n<\/li>\n<li>\n<p>\ud83d\udcb0 Estimated cost<\/p>\n<\/li>\n<li>\n<p>\ud83d\udcca Overall value score<\/p>\n<\/li>\n<\/ul>\n<p>&#8230;then generates a custom report showing which provider performed best.<\/p>\n<p><strong>Our goal was simple:<\/strong><\/p>\n<p>Help developers make data-backed proxy decisions <strong>before<\/strong> spending money on proxy plans that may not work for their use case.<\/p>\n<p><strong>Today, Proxy Tester:<\/strong><\/p>\n<ul>\n<li>\n<p>Benchmarks <strong>20+ leading Proxy API, Residential, Datacenter and Unblocker proxy providers side by side<\/strong><\/p>\n<\/li>\n<li>\n<p>Tests providers against <strong>your exact target URL<\/strong><\/p>\n<\/li>\n<li>\n<p>Generates a <strong>free custom benchmark report<\/strong><\/p>\n<\/li>\n<li>\n<p>Helps compare providers side by side before you commit<\/p>\n<\/li>\n<\/ul>\n<p>Check out this <strong>1-minute demo: <\/strong><a href=\"https:\/\/youtu.be\/GR67AIWkPn0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/youtu.be\/GR67AIWkPn0<\/a><\/p>\n<p>If you&#8217;re building scrapers, data pipelines, AI workflows, or anything that depends on reliable web data, we&#8217;d genuinely love your feedback.<\/p>\n<p>Happy to answer any questions about our benchmarking methodology, proxy providers, scraping infrastructure, or where we&#8217;re taking the product next.<\/p>\n<p>Thanks for checking it out! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>10<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iankerins\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iankerins<\/a>&nbsp;Congratulations on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iankerins\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iankerins<\/a>&nbsp;Really useful approach. Instead of relying on generic \u201cbest proxy\u201d rankings, testing providers against the actual target URL makes the comparison much more actionable.<\/p>\n<p>I\u2019m especially curious about how consistent the results are across different times of day and traffic levels. Would love to see whether a provider that wins one benchmark continues to perform well over repeated tests. \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>The tester\u2019s free job is very clear. The commercial bridge is the strongest part of the page, but it arrives after the provider catalogue and methodology: \u201cDon\u2019t want to choose just one provider?\u201d I\u2019d put a redacted sample report directly after the URL field, then offer two next actions beside the winner: use that vendor, or keep production traffic on ScrapeOps\u2019 best validated route. That makes the free benchmark and paid aggregator feel like one workflow instead of two products. I mapped the page order if useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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, Ian. Good hunt, Hiten! <\/p>\n<p>A lot of SaaS data tools collect data from many different websites, but anti-bot systems such as Cloudflare can make scraping challenging. This tool is especially useful because it helps you identify the best proxy for a specific target website and use case, rather than relying on generic rankings. <\/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\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a>&nbsp;Thanks for the feedback, Rohan. I completely agree.<\/p>\n<p>Where the tool really stands out is on difficult-to-scrape websites using anti-bot systems such as Cloudflare. The differences in performance and price can be massive. Depending on the target, you could end up paying 5-10X more simply because you chose the wrong provider.<\/p>\n<p>Unfortunately, the only way to know which provider works best is to test them all, especially as more websites adopt increasingly sophisticated anti-bot measures.<\/p>\n<p>The Proxy Tester gives you a quick way to find which providers deliver the best performance on your specific target at the lowest cost.<\/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\/@iankerins\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"iankerins\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iankerins<\/a> &#8220;There is no universal answer&#8221; matches my experience exactly \u2014 I&#8217;ve watched a provider ace one retail site and get stonewalled by another with the same config, so benchmarking against the actual target URL is the right unit of measurement.<\/p>\n<\/p>\n<p>Two things I&#8217;m curious about from running into this myself: does the benchmark measure sustained multi-request sessions, or single fetches? Some anti-bot setups bind the session to an IP, so a rotating residential pool can pass a one-off GET with flying colors and then fall apart the moment you need request three of a flow.<\/p>\n<\/p>\n<p>And how do you handle staleness? Target sites update their WAF rules constantly, so a ranking from six weeks ago can be confidently wrong today. Are reports timestamped \/ re-run on a schedule, or is it fresh-per-request?<\/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>Great question<a href=\"https:\/\/www.producthunt.com\/@akbar_b\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akbar_b<\/a>&nbsp;<\/p>\n<p><strong>On staleness,<\/strong> the tester runs a live benchmark against the exact URL you provide, so the report is a snapshot of which providers are performing best for that target right now.<\/p>\n<p>Obviously, we can&#8217;t predict when a target will change its WAF rules or when a provider&#8217;s performance will shift. In our experience, though, the results generally hold up pretty well over time, often for weeks or even months, unless it&#8217;s a particularly sensitive or fast-changing target.<\/p>\n<p><strong>On sessions,<\/strong> the tester currently benchmarks individual requests rather than sustained multi-request sessions. So you&#8217;re right that it wont currently capture cases where a provider performs well on a one-off request but struggles when you need to maintain the same identity\/IP across a longer flow.<\/p>\n<p>That&#8217;s definitely something we could look at adding. <\/p>\n<p>Right now, the primary focus is benchmarking access to public pages where complex session management isnt required, and answering the simpler question: for this exact URL, which providers are giving you the best performance right now?<\/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>target-specific benchmarking over generic rankings makes way more sense, proxy performance is so site-dependent. is the value score weighted evenly across success\/latency\/cost or can you tune it per use case?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;The value score is currently weighted more toward cost. We group providers into performance tiers based on success rate and latency, then treat providers within the same tier as broadly comparable and rank them more heavily by cost.<\/p>\n<p>The thinking is that if one provider performs only 1\u20132% better but costs significantly more, that marginal improvement usually isn&#8217;t worth the premium for a typical scraping workload.<\/p>\n<p>That said, it&#8217;s good feedback. Allowing users to adjust the weighting between success rate, latency, and cost would make the score more useful for specialized cases, such as workloads where extremely low latency is essential. For general web scraping, though, the default weighting provides a fairly balanced comparison.<\/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\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SULGFU2UQH3T6Z\" class=\"app-title\">DocsAlot CLI<\/a><\/p>\n<div class=\"one-liner\">Let Claude or Codex create and maintain good looking docs<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">154<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DocsAlot CLI \u662f\u4e00\u4e2a\u8ba9 Claude\u3001Codex \u7b49\u7f16\u7801\u4ee3\u7406\u628a\u7c97\u7cd9\u7684\u6587\u6863\u521d\u7a3f\u81ea\u52a8\u8f6c\u5316\u5e76\u6301\u7eed\u7ef4\u62a4\u4e3a\u7cbe\u7f8e\u6587\u6863\u7ad9\u70b9\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u89e3\u51b3\u201c\u6587\u6863\u6613\u5199\u96be\u517b\u201d\u53ca\u201c\u6587\u6863\u4e0e\u4ee3\u7801\u8131\u8282\u201d\u7684\u75db\u70b9\uff0c\u5168\u7a0b\u7528\u81ea\u7136\u8bed\u8a00\u6307\u6325\uff0c\u65e0\u9700\u8bb0\u5fc6\u547d\u4ee4\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\/d2a4d783-3600-4eb5-8d81-2b71215d2386.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\/d0297a04-586e-4312-a988-c0b8ec81f4e9.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\/fb92df7e-577a-434f-80e5-bd60e39191fb.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\/c733b5bd-28e2-4b9e-ac66-bc9c3b2cba19.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\/2dce716d-194a-4604-b731-26ac88e44fc7.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\/1e80b772-13f0-4abe-b370-06028d56f46f.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\/87b83f57-8743-4e2a-80d8-97801ac37332.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\/360d8718-7778-405f-a354-10a12d7d2ea2.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\/19ebb6a3-c6a9-4173-9248-9c8957b7ae6a.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\/89ffab49-d4d1-44d5-84ad-9605e5a0b8d9.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/xInX42glW6M\"><source src=\"https:\/\/youtu.be\/xInX42glW6M\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884cCLI<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u7ef4\u62a4<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u7ad9\u70b9<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u6280\u672f\u5199\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u534f\u4f5c<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u8d28\u7591\u6587\u6863\u4e0e\u4ee3\u7801\u7684\u201c\u6f02\u79fb\u68c0\u6d4b\u201d\u80fd\u529b\uff1aDocsAlot \u662f\u4e3b\u52a8\u53d1\u73b0 API \u53d8\u66f4\u5e76\u63d0\u9192\u66f4\u65b0\uff0c\u8fd8\u662f\u4ecd\u9700\u4ee3\u7406\u88ab\u52a8\u89e6\u53d1\uff1f\u521b\u59cb\u4eba\u56de\u5e94\u79f0\u6838\u5fc3\u5728\u4e8e\u4e3a\u4ee3\u7406\u63d0\u4f9b\u5b8c\u6574\u5de5\u4f5c\u6d41\uff0c\u4f46\u672a\u660e\u786e\u56de\u7b54\u81ea\u52a8\u68c0\u6d4b\u673a\u5236\u3002\u53e6\u4e00\u7528\u6237\u8ba4\u53ef\u5176\u7cbe\u51c6\u89e3\u51b3\u6587\u6863\u66f4\u65b0\u7e41\u7410\u7684\u75db\u70b9\uff0c\u8ba4\u4e3a\u80fd\u7b80\u5316\u65b0\u529f\u80fd\u5c55\u793a\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                DocsAlot CLI \u5207\u4e2d\u7684\u662f\u4e00\u4e2a\u771f\u5b9e\u4e14\u6602\u8d35\u7684\u75db\u70b9\uff1a\u6587\u6863\u7684\u201c\u521d\u59cb\u751f\u6210\u201d\u65e9\u5df2\u88ab LLM \u89e3\u51b3\uff0c\u4f46\u201c\u6301\u7eed\u4fdd\u9c9c\u201d\u4ecd\u662f\u6240\u6709\u6280\u672f\u56e2\u961f\u7684\u5669\u68a6\u3002\u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u4e0d\u8bd5\u56fe\u66ff\u4ee3 Claude\/Codex\uff0c\u800c\u662f\u505a\u5b83\u4eec\u7684\u201c\u6587\u6863\u540e\u7aef\u201d\u2014\u2014\u628a\u4e00\u6b21\u6027\u8f93\u51fa\u53d8\u6210\u53ef\u9884\u89c8\u3001\u53ef\u7248\u672c\u5316\u3001\u53ef\u5ba1\u6279\u7684\u5de5\u7a0b\u5316\u6d41\u7a0b\uff0c\u8fd9\u7b26\u5408 AI \u7f16\u7a0b\u5de5\u5177\u4ece\u201c\u751f\u6210\u4ee3\u7801\u201d\u5411\u201c\u7ba1\u7406\u8f6f\u4ef6\u751f\u547d\u5468\u671f\u201d\u6f14\u8fdb\u7684\u8d8b\u52bf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u76ee\u524d\u5b58\u5728\u81f4\u547d\u6a21\u7cca\uff1a\u8bc4\u8bba\u4e2d\u5bf9\u201c\u6f02\u79fb\u68c0\u6d4b\u201d\u7684\u8ffd\u95ee\u76f4\u6307\u6838\u5fc3\u2014\u2014\u5982\u679c\u6587\u6863\u66f4\u65b0\u4ecd\u4f9d\u8d56\u4ee3\u7406\u88ab\u7528\u6237\u63d0\u9192\u624d\u53bb\u6267\u884c\uff0c\u90a3\u53ea\u662f\u628a Ctrl+C\/V \u6362\u6210\u4e86\u81ea\u7136\u8bed\u8a00\u6307\u4ee4\uff0c\u5e76\u672a\u89e3\u51b3\u201c\u6587\u6863\u4e0e\u4ee3\u7801\u540c\u6b65\u201d\u7684\u6839\u56e0\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e94\u662f\u4e3b\u52a8\u76d1\u542c\u4ee3\u7801\u53d8\u66f4\uff08\u5982 git diff\u3001AST \u53d8\u5316\uff09\u5e76\u89e6\u53d1\u66f4\u65b0\uff0c\u800c\u975e\u628a\u8d23\u4efb\u63a8\u7ed9\u4ee3\u7406\u7684\u81ea\u89c9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0cCLI \u5f62\u6001\u867d\u5229\u4e8e CI\/CD \u96c6\u6210\uff0c\u5374\u4e5f\u62ac\u9ad8\u4e86\u975e\u6280\u672f\u4f7f\u7528\u8005\u95e8\u69db\u2014\u2014\u5c3d\u7ba1\u521b\u59cb\u4eba\u5f3a\u8c03\u201c\u81ea\u7136\u8bed\u8a00\u5373\u53ef\u201d\uff0c\u4f46\u4ee3\u7406\u914d\u7f6e\u3001\u6743\u9650\u7ba1\u7406\u3001\u53d1\u5e03\u5ba1\u6838\u7b49\u73af\u8282\u4ecd\u9700\u4e00\u5b9a\u5de5\u7a0b\u7d20\u517b\u3002\u8fd9\u51b3\u5b9a\u4e86\u5b83\u76ee\u524d\u53ea\u80fd\u9762\u5411\u5f00\u53d1\u8005\u4e2a\u4eba\u6216\u5c0f\u56e2\u961f\uff0c\u800c\u975e\u4f01\u4e1a\u7ea7\u5168\u5458\u534f\u4f5c\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5546\u4e1a\u4e0a\uff0c\u9760\u201c\u6587\u6863\u5de5\u5177\u201d\u76f4\u63a5\u6536\u8d39\u96be\u5ea6\u9887\u5927\uff0c\u66f4\u53ef\u884c\u7684\u8def\u5f84\u662f\u6210\u4e3a AI \u7f16\u7a0b\u751f\u6001\u7684\u589e\u503c\u7ec4\u4ef6\uff08\u5982\u8ba2\u9605 Claude Code \u7528\u6237\u7684\u8fdb\u9636\u670d\u52a1\uff09\u3002\u6574\u4f53\u800c\u8a00\uff0cDocsAlot \u65b9\u5411\u6b63\u786e\uff0c\u4f46\u82e5\u4e0d\u5728\u4e3b\u52a8\u540c\u6b65\u673a\u5236\u4e0a\u505a\u51fa\u5dee\u5f02\u5316\uff0c\u5f88\u5bb9\u6613\u88ab OpenAI\/Anthropic \u5b98\u65b9\u540e\u7eed\u987a\u624b\u96c6\u6210\u6389\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\">DocsAlot CLI<\/span>\n                <\/div>\n<div class=\"comment-content\">Claude Code, Codex or Backboard are great at writing a first draft. DocsAlot turns that draft into a genuinely good-looking docs site, and gives your agent a complete workflow for keeping it current. Ask in plain English to create or pull docs, preview changes, migrate existing content, save versions, and publish only when approved. No commands to memorize or documentation workflow to manage by hand. You describe the outcome; your agent handles the work while you stay in control<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The stale context problem is the one that actually bites me. I hand edit <a href=\"https:\/\/CLAUDE.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CLAUDE.md<\/a> whenever an API changes and I forget more often than I would like to admit. Does DocsAlot detect drift between the docs and the real code on its own, or does it still depend on the agent being told to go re pull when something changes?<\/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>Hey Product Hunt &#8211; Faizan here, founder of DocsAlot.<\/p>\n<p>Claude and Codex can already write a documentations. The problem is what comes next: organizing it into a polished site that does not looking vibe-coded, previewing changes, publishing safely, and keeping everything current when the product changes.<\/p>\n<p>That is the problem we built DocsAlot CLI to solve. It gives coding agents the tools to handle the entire documentation workflow while you continue working in plain English.<\/p>\n<p>Getting started is simple. Ask your favorite coding agent:<\/p>\n<blockquote>\n<p>Go read <a href=\"https:\/\/docs.docsalot.dev\/cli\/index.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.docsalot.dev\/cli\/index.md<\/a> and create a new set of docs for me and run a preview.<\/p>\n<\/blockquote>\n<p>Your agent will follow the setup instructions and configure DocsAlot CLI for the workflow.<\/p>\n<p>From there, it can create new docs, pull existing docs, make updates, run a local preview, and publish the approved result.<\/p>\n<p>There is a real CLI underneath for developers and CI pipelines, but you do not need to memorize commands. You describe the outcome; your agent handles the steps.<\/p>\n<p>You stay in control: preview first, approve the result, then publish.<\/p>\n<\/p>\n<p>I will be here throughout the day answering questions and testing workflows with you.<\/p>\n<p>Thanks for checking out DocsAlot CLI.<\/p>\n<p>Faizan<\/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\/@new_user_2790a57d4d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@new_user_2790a57d4d<\/a>&nbsp;Has to be one of the most niche specific product I&#8217;ve seen in a while. Honestly automating the creation and upkeep of a documentation makes the show off of a new feature and its use much easier in my prespective. The pain of having to update a documentation of docs is real, to the point I&#8217;m open to try it out. But overall, congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/3MVNGFQSNZHTP4\" class=\"app-title\">AgentConnect<\/a><\/p>\n<div class=\"one-liner\">Tag any agent, wherever work happens.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">143<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AgentConnect \u662f\u4e00\u4e2a\u5f00\u6e90\u3001\u53ef\u81ea\u6258\u7ba1\u7684AI\u4ee3\u7406\u534f\u4f5c\u5e73\u53f0\uff0c\u8ba9\u56e2\u961f\u5728Slack\u3001Discord\u3001GitHub\u7b49\u73b0\u6709\u5de5\u4f5c\u6d41\u4e2d\u76f4\u63a5\u8fde\u63a5\u548c\u7ba1\u7406\u591a\u79cd\u7f16\u7801\u4ee3\u7406\uff08\u5982Claude Code\u3001Codex\uff09\uff0c\u4e3a\u6bcf\u4e2a\u4ee3\u7406\u5206\u914d\u89d2\u8272\u3001\u6a21\u578b\u3001\u6743\u9650\u548c\u8bb0\u5fc6\uff0c\u5e76\u652f\u6301\u4ee3\u7406\u95f4\u4e92\u76f8\u8c03\u7528\uff0c\u89e3\u51b3\u201c\u5355\u673a\u7248AI\u4ee3\u7406\u201d\u65e0\u6cd5\u88ab\u56e2\u961f\u5171\u4eab\u3001\u63a5\u7ba1\u548c\u590d\u7528\u4e0a\u4e0b\u6587\u7684\u534f\u4f5c\u96be\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\/219f7bdb-e71c-4b8f-9108-5fede3b01b9e.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\/38aed35f-d758-4759-a12d-5748f11e7a9f.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\/7e8f1537-58a6-4f72-8be3-b367b0a7d698.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\/6742c9fa-dcee-4c63-bad1-1efd1e5f1224.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\/4e8ad131-5a00-4be1-a808-e52b47e69de4.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\/3545e0d0-5fac-4d96-a755-c469ed4063b8.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=KA7xHF5JbJc\"><source src=\"https:\/\/www.youtube.com\/watch?v=KA7xHF5JbJc\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90AI\u4ee3\u7406\u534f\u4f5c\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u591a\u4ee3\u7406\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6211\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u65e0\u5173<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">GitHub\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">ACP\u8fd0\u884c\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u5207\u6362<\/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\u5176\u201c\u6a21\u578b\u4e2d\u7acb\u201d\u548c\u201c\u81ea\u6258\u7ba1\u201d\u7279\u6027\uff0c\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\u591a\u4ee3\u7406\u4f1a\u8bdd\u7684\u4e0a\u4e0b\u6587\u4e0e\u6743\u9650\u7ba1\u7406\uff08\u591a\u6210\u5458\u5982\u4f55\u534f\u540c\u540c\u4e00\u4f1a\u8bdd\uff09\u3001\u9632\u6b62\u4ee3\u7406\u201c\u804a\u5929\u6b7b\u5faa\u73af\u201d\u7684\u673a\u5236\uff08\u5b98\u65b9\u56de\u5e94\uff1a\u53ef\u8bbeno-op\u4fe1\u53f7\u53ca\u53d1\u5e03\u524d\u4e0a\u4e0b\u6587\u66f4\u65b0\u68c0\u67e5\uff09\u3001\u4ee5\u53caOAuth\u63a5\u5165\u96be\u5ea6\uff08\u5b98\u65b9\u56de\u5e94\uff1aSlack\u53ef\u4e00\u952e\u914d\u7f6e\uff09\u3002\u53e6\u6709\u63d0\u53ca\u63a7\u5236\u53f0\u9700\u9632\u6b62\u591a\u4ee3\u7406\u91cd\u590d\u64cd\u4f5c\uff0c\u5b98\u65b9\u5efa\u8bae\u901a\u8fc7\u4ee3\u7406\u884c\u4e3a\u63cf\u8ff0\u7ea6\u675f\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                AgentConnect \u5207\u4e2d\u4e86\u4e00\u4e2a\u88ab\u4e2a\u4eba\u82f1\u96c4\u4e3b\u4e49\u63a9\u76d6\u7684\u771f\u5b9e\u75db\u70b9\uff1a\u5f53AI\u4ee3\u7406\u4ece\u201c\u4e2a\u4eba\u7ec8\u7aef\u91cc\u7684\u73a9\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u56e2\u961f\u91cc\u627f\u62c5\u4e09\u7ebf\u4efb\u52a1\u7684\u865a\u62df\u5458\u5de5\u201d\u65f6\uff0c\u5176\u534f\u4f5c\u5c42\u51e0\u4e4e\u662f\u4e00\u7247\u7a7a\u767d\u3002\u5b83\u6ca1\u6709\u53bb\u548cSlack\u3001GitHub\u7ade\u4e89\u5165\u53e3\uff0c\u800c\u662f\u806a\u660e\u5730\u9009\u62e9\u5bc4\u751f\u5728\u5176\u5185\u90e8\u2014\u2014\u8fd9\u65e2\u907f\u5f00\u4e86\u8fc1\u79fb\u6210\u672c\uff0c\u4e5f\u987a\u5e94\u4e86\u201c\u5de5\u4f5c\u6d41\u5373\u4e3b\u573a\u201d\u7684\u73b0\u5b9e\u3002\u771f\u6b63\u7684\u4ef7\u503c\u5e76\u4e0d\u5728\u201c\u8fde\u63a5\u4ee3\u7406\u201d\u8fd9\u4e2a\u6d45\u5c42\u529f\u80fd\uff0c\u800c\u5728\u4e8e\u201c\u56e2\u961f\u6a21\u578b\u201d\u7684\u5f15\u5165\uff1a\u5b83\u628a\u4ee3\u7406\u4ece\u65e0\u72b6\u6001\u7684\u5de5\u5177\u53d8\u6210\u4e86\u6709\u89d2\u8272\u3001\u6709\u6743\u9650\u3001\u6709\u8bb0\u5fc6\u3001\u53ef\u4ea4\u63a5\u7684\u5b9e\u4f53\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u9510\u8bc4\u9700\u8981\u523a\u7834\u4e09\u70b9\u6ce1\u6cab\u3002\u7b2c\u4e00\uff0c\u6240\u8c13\u201c\u4ee3\u7406\u95f4\u4e92\u76f8\u8c03\u7528\u201d\u82e5\u65e0\u4e25\u683c\u7684\u6b7b\u9501\u68c0\u6d4b\u548c\u51b2\u7a81\u4ef2\u88c1\u673a\u5236\uff0c\u5728\u591a\u4ee3\u7406\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\u4f9d\u65e7\u662f\u5b9a\u65f6\u70b8\u5f39\uff0c\u5b98\u65b9\u5bf9\u201c\u5faa\u73af\u201d\u7684\u89e3\u6cd5\uff08no-op\u4fe1\u53f7\uff09\u7565\u663e\u5355\u8584\uff0c\u6cbb\u6807\u4e0d\u6cbb\u672c\u3002\u7b2c\u4e8c\uff0c\u81ea\u6258\u7ba1\u662f\u53cc\u5203\u5251\uff0c\u5b83\u5728\u4fdd\u62a4\u9690\u79c1\u7684\u540c\u65f6\uff0c\u5c06\u8fd0\u7ef4\u590d\u6742\u6027\u548c\u5b89\u5168\u52a0\u56fa\u538b\u529b\u5b8c\u5168\u63a8\u7ed9\u4f01\u4e1a\uff0c\u5bf9\u975e\u6280\u672f\u56e2\u961f\u95e8\u69db\u8fc7\u9ad8\uff0c\u8fd9\u53ef\u80fd\u4f7f\u5176\u6c38\u8fdc\u505c\u7559\u5728\u5f00\u53d1\u8005\u793e\u533a\u7684\u201c\u73a9\u5177\u201d\u5c42\u7ea7\u3002\u7b2c\u4e09\uff0c\u6743\u9650\u6a21\u578b\u505a\u5f97\u518d\u7cbe\u7ec6\uff0c\u4e5f\u67b6\u4e0d\u4f4f\u4ee3\u7406\u57fa\u4e8e\u81ea\u7136\u8bed\u8a00\u7406\u89e3\u505a\u51fa\u7684\u8bef\u5224\u2014\u2014\u5f53\u5408\u89c4\u5ba1\u8ba1\u9047\u5230\u201c\u4ee3\u7406\u81ea\u5df1\u89c9\u5f97\u53ef\u4ee5\u505a\u201d\u65f6\uff0c\u63a7\u5236\u53f0\u7684\u53ef\u89c6\u5316\u53ea\u662f\u9a6c\u540e\u70ae\u3002\u603b\u800c\u8a00\u4e4b\uff0c\u5b83\u89e3\u51b3\u7684\u662f\u201c\u80fd\u4e00\u8d77\u5e72\u6d3b\u201d\u7684\u95ee\u9898\uff0c\u4f46\u201c\u4e00\u8d77\u5e72\u597d\u4e14\u4e0d\u51fa\u4e8b\u201d\u7684\u8def\u8fd8\u5f88\u957f\u3002\u4f5c\u4e3a\u5f00\u6e90\u9879\u76ee\uff0c\u6f5c\u529b\u5de8\u5927\uff1b\u4f5c\u4e3a\u4f01\u4e1a\u7ea7\u4ea7\u54c1\uff0c\u4ecd\u9700\u5728\u51b2\u7a81\u89e3\u51b3\u3001\u5ba1\u8ba1\u8ffd\u8e2a\u548c\u8fd0\u7ef4\u4f53\u9a8c\u4e0a\u8bc1\u660e\u81ea\u5df1\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\">AgentConnect<\/span>\n                <\/div>\n<div class=\"comment-content\">AgentConnect is an open-source platform where teams and AI agents work together across Slack, Telegram, Discord, and GitHub. Connect Claude Code, Codex, Grok Build, DeepSeek, Pi, or any ACP-compatible runtime. Give each agent a role and choose its model, workspace, memory, tools, skills, and permissions. Start work from conversations, pull requests, issues, webhooks, or schedules. Agents can call one another while your team follows the work they are allowed to see from one console.<\/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 started like most teams: everyone running Claude Code or Codex in their own terminal. As agents took on more \u2014 triaging errors, reviewing PRs, answering support \u2014 they became real teammates, except nobody else could see a session, take it over, or reuse its context. So we all wrote our own glue, then realized we&#8217;d built nearly the same thing.<\/p>\n<p>We looked at what existed: great personal tools with no team model, team tools that require migrating into a brand-new chat app, and closed-source tools tied to one provider.<\/p>\n<p>So we built AgentConnect \u2014 open-source, provider-neutral (Claude Code, Codex, any ACP runtime), living inside Slack\/Discord\/Telegram plus GitHub, fully self-hosted. Agents run on your machines; we never see your code or messages.<\/p>\n<p>Would love your feedback \u2014 happy to answer anything!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chongzhe_li\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chongzhe_li<\/a>&nbsp;The provider-neutral and self-hosted approach really stands out here. As coding agents become more capable, the challenge is shifting from \u201ccan the agent do it?\u201d to \u201chow does the whole team interact with and build on what the agent already knows?\u201d<\/p>\n<p>Being able to hand off sessions, reuse context, and access agents directly from tools like Slack\/Discord\/GitHub sounds especially useful.<\/p>\n<p>Curious how you handle context and permissions when multiple teammates interact with the same agent session. \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>My worry with multi-agent setups has always been visibility, who approved what and why. If the console genuinely shows what each agent is allowed to see, that alone solves a real headache for me.<\/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\/@david_grunwald1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@david_grunwald1<\/a>&nbsp;yes, we are making this specific for team, following a screenshot in the console showing the agent visibilities. Sandbox options are also also available for agents so they can&#8217;t access each other&#8217;s data physically<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e01b8505-bd65-48bd-b1c1-119f19ada997.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>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like that it&#8217;s runtime-agnostic. Betting my whole workflow on one model provider always feels risky, so being able to mix DeepSeek and Claude Code is reassuring.<\/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\/@charlos_brat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charlos_brat<\/a>&nbsp;yeah that&#8217;s our major motivation indeed, give it a try and let us know 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\">I\u2019ve tried a few multi-agent setups, and the agents often just keep replying to each other without actually converging. How does AgentConnect behave in those situation?<\/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\/@sidraarifali\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sidraarifali<\/a>&nbsp;In short, AgentConnect agents behave more like thoughtful teammates: they do not speak unless they have something useful to add.<\/p>\n<p>Multi-agent conversations usually become chatty for two reasons:<\/p>\n<ol>\n<li>\n<p><strong>Unnecessary model output.<\/strong> Many models produce a response even when they have nothing meaningful to add. We can tune an agent to return an explicit no-op signal in that situation, allowing AgentConnect to safely filter the message before it reaches the conversation.<\/p>\n<\/li>\n<li>\n<p><strong>Responding to stale context.<\/strong> Two agents may begin working from the same conversation state and publish their answers without seeing what the other has said. In a counting game, for example, both agents may say \u201c1,\u201d then both say \u201c2\u201d\u2014producing four messages instead of two. Before an agent publishes its response, AgentConnect tells it whether new context has arrived, giving it a chance to update or suppress its output.<\/p>\n<\/li>\n<\/ol>\n<p>The result is deliberate turn-taking instead of an open-ended conversation between bots.<\/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\">This is awesome! Is it painful to go through all the OAuth with each platform?<\/div>\n<div class=\"comment-actions\">\n<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\/@claire_santiago\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@claire_santiago<\/a>&nbsp;we made it as easy as possible<\/p>\n<\/p>\n<p>e.g. for slack, you could add slack app with one click with configure token or builtin slack app:<\/p>\n<p><a href=\"https:\/\/docs.agentconnect.md\/docs\/slack\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.agentconnect.md\/docs\/slack<\/a><\/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>Ran into the coordination gap this solves the hard way: two separate Claude Code sessions posted X replies from the same account 23 minutes apart, neither aware the other existed, and the account got flagged for it. Does AgentConnect&#8217;s console block a second agent from acting on something an active session already claimed, or is that left to the team to notice?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@abdullah_javaid3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abdullah_javaid3<\/a>&nbsp;you should be able to control how you want agent to behave, e.g. when you create the agent, you can describe the agents like &#8220;you are&#8230;, when post, check if there already same\/similar posted already within 30min, if so,  don&#8217;t post and alert in #xxx channel&#8221; <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/FGKVBCQHSDLGO7\" class=\"app-title\">Prompt Golf<\/a><\/p>\n<div class=\"one-liner\">Prompt Engineering As a Sport<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">128<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Prompt Golf\u628a\u63d0\u793a\u8bcd\u5de5\u7a0b\u53d8\u6210\u4e00\u573a\u7ade\u6280\u89e3\u8c1c\u6e38\u620f\uff0c\u901a\u8fc7\u6700\u5c11\u5b57\u7b26\u548c\u6d88\u606f\u6570\u8ba9AI\u8bf4\u51fa\u6307\u5b9a\u8bcd\u53e5\uff0c\u5728\u8da3\u5473\u6311\u6218\u4e2d\u89e3\u51b3\u7528\u6237\u201c\u7ec3\u4e60\u63d0\u793a\u8bcd\u6280\u5de7\u67af\u71e5\u3001\u7f3a\u4e4f\u53cd\u9988\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\/b83f208e-7b27-4064-b923-a312d612e9f4.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\/2c77ebe3-2b74-491f-b463-e4c8ca6f5fb6.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\/d8118e94-6dde-4b06-b490-aaec1f9ff2ea.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\/0331a853-340e-4b82-8658-fd1a17a219df.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\/ab648de9-c1c0-478d-9368-a3f030deafac.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\">Puzzle Games<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Games<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u63d0\u793a\u8bcd\u5de5\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u7ade\u6280\u6e38\u620f<\/span><br \/>\n            <span class=\"tag\">AI\u4e92\u52a8<\/span><br \/>\n            <span class=\"tag\">\u8c1c\u9898\u6311\u6218<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u6392\u884c\u699c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">LLM\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u6bd4\u62fc<\/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\u89c9\u5f97\u73a9\u6cd5\u65b0\u5947\u6709\u8da3\uff0c\u5c24\u5176\u5b57\u7b26\u8ba1\u5206\u673a\u5236\u903c\u4eba\u601d\u8003\u7cbe\u7b80\u63d0\u793a\u3002\u6709\u8bc4\u8bba\u5efa\u8bae\u589e\u52a0\u66f4\u591a\u9ad8\u5c14\u592b\u672f\u8bed\u4ee5\u5f3a\u5316\u4e3b\u9898\u611f\uff1b\u591a\u4eba\u63d0\u5230\u201c42\u65e0\u6570\u5b57\u201d\u548cemoji\u5173\u5361\u96be\u5ea6\u8d85\u9884\u671f\uff1b\u529e\u516c\u5ba4\u5bf9\u6218\u548c\u5206\u4eab\u529f\u80fd\u53d7\u597d\u8bc4\u3002\u5f00\u53d1\u8005\u56de\u5e94\u4e86\u53cd\u9988\u5e76\u9080\u8bf7\u63d0\u4ea4\u65b0\u5173\u5361\u521b\u610f\uff0c\u6682\u65e0\u91cd\u5927\u529f\u80fd\u7f3a\u9677\u6295\u8bc9\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                Prompt Golf\u7684\u806a\u660e\u4e4b\u5904\uff0c\u5728\u4e8e\u628a\u7384\u5b66\u822c\u7684\u63d0\u793a\u8bcd\u8c03\u8bd5\u53d8\u6210\u4e86\u53ef\u91cf\u5316\u3001\u53ef\u7ade\u6280\u7684\u4f53\u80b2\u9879\u76ee\u3002\u5b83\u7cbe\u51c6\u51fb\u4e2d\u4e86AI\u7231\u597d\u8005\u7684\u4e24\u4e2a\u75d2\u70b9\uff1a\u4e00\u662f\u201c\u9ad8\u624b\u611f\u201d\u7684\u70ab\u8000\u6b32\u2014\u2014\u7528\u6700\u5c11\u5b57\u7b26\u64ac\u52a8\u6a21\u578b\uff0c\u5929\u7136\u5177\u5907\u793e\u4ea4\u4f20\u64ad\u57fa\u56e0\uff1b\u4e8c\u662f\u5b66\u4e60\u66f2\u7ebf\u4e0a\u7684\u5373\u65f6\u53cd\u9988\u2014\u2014\u4f20\u7edf\u8c03\u8bd5\u50cf\u5728\u9ed1\u5c4b\u91cc\u627e\u5f00\u5173\uff0c\u800c\u8fd9\u91cc\u6bcf\u8f6e\u90fd\u662f\u5e26\u6807\u7684\u7684\u9650\u65f6\u89e3\u8c1c\uff0c\u9519\u8bef\u6210\u672c\u6781\u4f4e\u5374\u6210\u5c31\u611f\u5bc6\u96c6\u3002\u4f46\u5265\u5f00\u8da3\u5473\u5916\u58f3\uff0c\u4ea7\u54c1\u672c\u8d28\u4ecd\u662f\u8bad\u7ec3\u5de5\u5177\uff0c\u53ef\u60dc\u201c\u7ec3\u4e60\u201d\u5c5e\u6027\u4e0e\u201c\u6e38\u620f\u201d\u6df1\u5ea6\u4e4b\u95f4\u5b58\u5728\u88c2\u7f1d\uff1a\u4e94\u8f6e\u5173\u5361\u592a\u77ed\uff0c\u96be\u5ea6\u66f2\u7ebf\u9661\u5ced\u4f46\u7f3a\u4e4f\u6e10\u8fdb\u6559\u5b66\uff0c\u65b0\u624b\u53ef\u80fd\u56e0\u632b\u8d25\u611f\u6d41\u5931\uff1b\u201c\u53cd\u4f5c\u5f0a\u56de\u653e\u201d\u867d\u9632\u5b88\u4e86\u4f5c\u5f0a\uff0c\u5374\u66b4\u9732\u51fa\u73a9\u6cd5\u6838\u5fc3\u5929\u82b1\u677f\u2014\u2014\u53d8\u91cf\u4ec5\u9650\u201c\u5b57\u7b26\u6570\u201d\u548c\u201c\u6d88\u606f\u6570\u201d\uff0c\u957f\u671f\u770b\u91cd\u590d\u53ef\u73a9\u6027\u5b58\u7591\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u5b83\u8003\u9a8c\u7684\u662f\u201c\u7406\u89e3\u6a21\u578b\u504f\u89c1\u201d\u800c\u975e\u201c\u901a\u7528\u63d0\u793a\u8bcd\u80fd\u529b\u201d\uff0c\u73a9\u5bb6\u4f1a\u5feb\u901f\u5b66\u4f1a\u9488\u5bf9\u5355\u4e00\u6a21\u578b\u7684\u6295\u673a\u8bdd\u672f\uff0c\u8fd9\u53ef\u80fd\u504f\u79bb\u201c\u5de5\u7a0b\u201d\u672c\u8d28\u3002\u76ee\u524d\u7684\u4eae\u70b9\u5728\u4e8e\u5f00\u6e90+SQLite\u7684\u8f7b\u91cf\u67b6\u6784\uff0c\u8ba9\u793e\u533a\u80fd\u81ea\u5efa\u5173\u5361\uff0c\u8fd9\u6216\u8bb8\u624d\u662f\u5176\u771f\u6b63\u5f52\u5bbf\u2014\u2014\u4e0d\u662f\u5927\u4f17\u6e38\u620f\uff0c\u800c\u662f\u786c\u6838\u6781\u5ba2\u5708\u7684\u201c\u6253\u9776\u7ec3\u4e60\u573a\u201d\u3002\u82e5\u60f3\u7834\u5708\uff0c\u9700\u5728\u5173\u5361\u8bbe\u8ba1\uff08\u5982\u589e\u52a0\u903b\u8f91\u94fe\u9650\u5236\uff09\u3001\u8d5b\u5b63\u673a\u5236\uff08\u5982\u52a8\u6001\u8bcd\u5e93\u5bf9\u6297\uff09\u4ee5\u53ca\u4e0e\u4e3b\u6d41AI\u5de5\u5177\u94fe\u8054\u52a8\u4e0a\u505a\u6587\u7ae0\u3002\u73b0\u9636\u6bb5\uff0c\u5b83\u66f4\u50cf\u4e00\u573a\u806a\u660e\u7684\u884c\u4e3a\u827a\u672f\uff0c\u79bb\u771f\u6b63\u7684\u201cAI\u8fd0\u52a8\u201d\u5c1a\u6709\u8ddd\u79bb\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\">Prompt Golf<\/span>\n                <\/div>\n<div class=\"comment-content\">Prompt Golf turns prompt engineering into a competitive puzzle game. Across five rounds, coax an out-of-the-box AI into saying an exact target word or phrase in as less characters as possible. Every round has a condition or banned input words. Every character and message adds strokes, so clever, compact prompts climb the live leaderboard. Replay the full course, check live leaderboard, challenge your friends and view their transcripts.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey AI tinkerers! \ud83d\udc4b<\/p>\n<p>My friends and I were having a debate on how well we understand LLMs and one thing led to another, I ended up making this fun silly idea to flex your prompting skills, formatted like Golf.<\/p>\n<\/p>\n<p>You get a vanilla AI model to chat with. You have to get it to respond with the target word \/ phrase using the least characters and messages.<\/p>\n<\/p>\n<p>Course 1 consists of 5 rounds (par 1): <\/p>\n<p>\ud83c\udfcc\ufe0f Make it say \u201chello world\u201d without using either word<br \/>\ud83c\udfac Describe Titanic using only emoji<br \/>4\ufe0f\u20e3 Get exactly \u201c42\u201d without typing digits<br \/>\ud83e\udd1d Trigger \u201cYou are absolutely right\u201d without those words<br \/>\ud83e\udd6d Jailbreak the forbidden word MANGO<\/p>\n<p>Scoring is simple: 1 point per character + 10 points per message.<br \/>Lowest score wins.<\/p>\n<p>There\u2019s a live leaderboard, replayable runs, anti-cheat transcript viewing, round idea submissions, and score sharing.<\/p>\n<p>It\u2019s free and open source, built with plain PHP + SQLite, and designed to be easy to self-host.<\/p>\n<p>I\u2019d love two things from you:<br \/>1. Post your final score (and your cleverest prompt)<br \/>2. Tell me what round should be added next<\/p>\n<p>My current score is 463. Please beat it \ud83d\ude05<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@holy_photon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@holy_photon<\/a>&nbsp;This is such a fun way to turn prompt engineering into an actual skill challenge \ud83d\ude02\ud83d\udd25<\/p>\n<p>I especially like the character-based scoring because it forces you to think about efficiency instead of just throwing increasingly complicated prompts at the model.<\/p>\n<p>The \u201c42 without typing digits\u201d round sounds deceptively simple\u2026 until you actually try it. \ud83d\ude05<\/p>\n<p>For a future round: <strong>make the model output a specific sentence while every word in the prompt starts with the same letter.<\/strong> That could get chaotic fast. \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@holy_photon\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@holy_photon<\/a>&nbsp;This was pretty fun, looking forward to the next puzzles! Submitted several ideas!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Fun challenges, but needs more golf terminology! \u26f3<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>so bloody fun and a really smart idea getting people into AI while trying to outwit their mates. Thanks!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@davethackeray\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@davethackeray<\/a>&nbsp;Thank you. Saw your prompt on the leaderboard, Titanic one is hilarious.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Starting a prompt golf league in my office now \ud83d\ude00<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jaimin_shroff\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jaimin_shroff<\/a>&nbsp;Go for it! Leaderboard needs more action right 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is so cool, did not expect that emoji one to be this tough. Loved the game, gonna flex my prompt score at work tomorrow<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@thecarabiner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thecarabiner<\/a>&nbsp;What was your score for the second 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<\/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\/WJACCINHOHJWJN\" class=\"app-title\">Macrobite<\/a><\/p>\n<div class=\"one-liner\">The fastest way to actually get your macros right<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">120<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Macrobite \u662f\u4e00\u6b3e\u901a\u8fc7\u62cd\u7167\u3001\u8bed\u97f3\u6216\u626b\u7801\u6781\u901f\u8bb0\u5f55\u9910\u98df\u5e76\u81ea\u52a8\u5206\u89e3\u70ed\u91cf\u4e0e\u4e09\u5927\u5b8f\u91cf\u8425\u517b\u7d20\u7684 AI \u8ffd\u8e2a\u5e94\u7528\uff0c\u4e13\u4e3a\u538c\u6076\u7e41\u7410\u624b\u52a8\u5f55\u5165\u3001\u8ffd\u6c42\u901f\u5ea6\u4e0e\u51c6\u786e\u7387\u517c\u987e\u7684\u5065\u8eab\u4e0e\u51cf\u8102\u4eba\u7fa4\u8bbe\u8ba1\uff0c\u5e76\u652f\u6301\u624b\u8868\u4e0e\u684c\u9762\u5c0f\u7ec4\u4ef6\u968f\u65f6\u67e5\u770b\u8fdb\u5ea6\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\/b5e9a5b0-a281-4319-b96a-d01fcf967db1.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\/e74de980-da9d-42e1-a864-65594f0867c1.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\/dc9a90ce-f774-46f2-a232-0dcf02d5b918.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\/325cc322-5935-4e4e-991b-ba5beb61df13.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\/8b1e1777-b0f3-4fe0-973d-56fad6dc99cb.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\/12e4b70d-441f-436f-8476-bddfc988a074.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\/1f21d20c-c4c1-4635-8965-fe90d2c071ef.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\/07c674a1-f987-4efe-8e94-25388b08296c.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/d4q028aN5LM?\"><source src=\"https:\/\/youtube.com\/shorts\/d4q028aN5LM?\" 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\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Quantified Self<\/span><br \/>\n            <span class=\"tag\">Food &#038; Drink<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI \u98df\u7269\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u5b8f\u91cf\u8425\u517b\u7d20\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u62cd\u7167\u8bb0\u5f55\u996e\u98df<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u82f9\u679c\u751f\u6001<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5361\u8def\u91cc\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">\u5065\u8eab\u996e\u98df<\/span><br \/>\n            <span class=\"tag\">\u5feb\u901f\u8bb0\u5f55\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u996e\u98df\u65e5\u5fd7<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005 Alex \u5f3a\u8c03\u4ea7\u54c1\u6838\u5fc3\u662f\u201c\u5feb\u4e14\u51c6\u201d\uff0c\u5e76\u9884\u544a\u672a\u6765\u5c06\u63a5\u5165 Instacart \u5b9e\u73b0\u6309\u5269\u4f59\u5b8f\u91cf\u4e00\u952e\u4e0b\u5355\u3002\u987e\u95ee\u7528\u6237\u5219\u70b9\u660e\u4f20\u7edf\u5de5\u5177\u5728\u201c\u62cd\u7167\u4e0d\u51c6\u201d\u4e0e\u201c\u624b\u52a8\u592a\u6162\u201d\u95f4\u7684\u77db\u76fe\uff0c\u8d5e\u8d4f\u5176\u8bed\u97f3\u3001\u626b\u7801\u4e0e\u5e38\u7528\u9910\u4fdd\u5b58\u529f\u80fd\uff0c\u5e76\u5411\u66fe\u5f03\u7528\u8ffd\u8e2a\u5668\u7684\u7528\u6237\u63d0\u95ee\uff1a\u662f\u4ec0\u4e48\u8ba9\u4f60\u653e\u5f03\uff1f\u76ee\u524d\u65e0\u5dee\u8bc4\uff0c\u65e0\u660e\u786e\u529f\u80fd\u7f3a\u9677\u6295\u8bc9\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                Macrobite \u7684\u5207\u5165\u70b9\u5f88\u7cbe\u51c6\uff1a\u5b83\u6ca1\u6709\u8bd5\u56fe\u5728\u201c\u98df\u7269\u6570\u636e\u5e93\u201d\u7684\u89c4\u6a21\u4e0a\u6311\u6218 MyFitnessPal\uff0c\u800c\u662f\u7784\u51c6\u4e86\u201c\u5f55\u5165\u6469\u64e6\u201d\u8fd9\u4e00\u7528\u6237\u6d41\u5931\u7684\u5934\u53f7\u6740\u624b\u3002\u62cd\u7167\u3001\u8bed\u97f3\u3001\u626b\u7801\u3001\u5c0f\u7ec4\u4ef6\uff0c\u6240\u6709\u4ea4\u4e92\u90fd\u5728\u505a\u51cf\u6cd5\uff0c\u8fd9\u786e\u5b9e\u662f\u8fce\u5408\u4e86\u201c\u5373\u65f6\u53cd\u9988\u201d\u7684\u73b0\u4ee3\u7528\u6237\u5fc3\u7406\u3002\u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a120 \u7968\u7684\u51b7\u542f\u52a8\u6210\u7ee9\u5728 Product Hunt \u5c5e\u4e8e\u4e2d\u4e0b\u6c34\u5e73\uff0c\u8bf4\u660e\u5176\u201cAI \u51c6\u786e\u7387\u201d\u53d9\u4e8b\u5e76\u672a\u5145\u5206\u6253\u52a8\u6838\u5fc3\u53d7\u4f17\u3002\u7167\u7247\u8bc6\u522b\u7684\u51c6\u786e\u6027\u662f\u6b64\u7c7b\u4ea7\u54c1\u7684\u751f\u6b7b\u7ebf\u2014\u2014\u5982\u679c\u7528\u6237\u6bcf\u6b21\u90fd\u9700\u8981\u4e8c\u6b21\u7f16\u8f91\u7ea0\u9519\uff0c\u90a3\u4e48\u201c\u5feb\u201d\u5c31\u6210\u4e86\u4f2a\u547d\u9898\uff0c\u8bed\u97f3\u5f55\u5165\u540c\u6837\u9762\u4e34\u540c\u97f3\u8bcd\u548c\u83dc\u54c1\u8bed\u4e49\u6b67\u4e49\u7684\u6311\u6218\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e76\u975e\u8bc6\u522b\u6280\u672f\uff0c\u800c\u662f\u8bda\u5b9e\u7684\u7ea0\u9519\u4f53\u9a8c\u548c\u57fa\u4e8e\u5269\u4f59\u5b8f\u91cf\u7684\u4e3b\u52a8\u63a8\u8350\uff08\u5982 Instacart \u96c6\u6210\uff09\uff0c\u8fd9\u624d\u80fd\u4ece\u201c\u8bb0\u5f55\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u996e\u98df\u51b3\u7b56\u5f15\u64ce\u201d\u3002\u7136\u800c\uff0c\u76ee\u524d\u6240\u6709\u8bc4\u8bba\u90fd\u6ca1\u6709\u63d0\u4f9b\u7b2c\u4e09\u65b9\u72ec\u7acb\u9a8c\u8bc1\u7684\u201c\u51c6\u786e\u7387\u201d\u6570\u636e\uff0c\u4e14\u65e0\u514d\u8d39\u5c42\u7ea7\u7684\u660e\u786e\u9650\u5236\u8bf4\u660e\u3002\u82e5\u65e0\u6cd5\u5728\u7cbe\u51c6\u5ea6\u4e0a\u5f62\u6210\u5bf9\u4f20\u7edf\u5de8\u5934\u7684\u4ee3\u5dee\uff0cMacrobite \u6781\u6613\u6ca6\u4e3a\u201c\u5c1d\u9c9c\u4e00\u9635\u5b50\uff0c\u56de\u5f52 Excel\u201d\u7684\u53c8\u4e00\u4e2a\u7cbe\u81f4\u73a9\u5177\u3002\u5b83\u9700\u8981\u5c3d\u5feb\u516c\u5f00\u5c55\u793a\u5176\u4e0e\u4e3b\u6d41\u6570\u636e\u5e93\u7684\u5bf9\u6bd4\u8bef\u5dee\uff0c\u5e76\u5f3a\u5316 Siri \u4e0e\u624b\u8868\u7aef\u7684\u65e0\u611f\u5316\u4f53\u9a8c\uff0c\u5426\u5219\u201c\u6700\u5feb\u201d\u7684\u53e3\u53f7\u53ea\u662f\u60ac\u5728\u534a\u7a7a\u7684\u613f\u666f\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\">Macrobite<\/span>\n                <\/div>\n<div class=\"comment-content\">Macrobite is the fastest way to get your macros right. Snap a photo of your meal and get an instant breakdown of calories, protein, carbs, and fat. Not perfect on the first try? Quick editing closes the gap in seconds, no scrolling through massive food databases. Prefer to talk? Log meals by voice, including through Siri. Track your day from your iPhone widget or Apple Watch without opening the app. Built for people who want accurate macros without the friction of traditional tracking apps.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! I\u2019m Alex, the developer behind Macrobite.<\/p>\n<p>We built Macrobite with one clear goal: make macro tracking fast without sacrificing accuracy. A tremendous amount of care went into making every meal easy to log, review, and correct whether you use a photo, voice description, or barcode.<\/p>\n<p>We also have some exciting integrations in the works, including personalized meal and product recommendations based on your remaining macros, with the ability to order what you need directly through Instacart.<\/p>\n<p>This launch is only the beginning. I\u2019m incredibly excited to share Macrobite with the Product Hunt community and continue turning it into a platform that makes reaching your health goals feel simpler, smarter, and more achievable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt!<\/p>\n<\/p>\n<p>I&#8217;ve been advising the Macrobite team for a while now, and I&#8217;m excited to see it live here!<\/p>\n<\/p>\n<p>Most macro trackers make you choose between fast and accurate. Photo logging gets you close but leaves you fixing wrong estimates through clunky menus. Manual entry is accurate but slow. Neither holds up if you&#8217;re trying to hit protein targets every day.<\/p>\n<\/p>\n<p>Macrobite snaps a photo, gives you a breakdown in seconds, then makes fixing anything that&#8217;s off just as fast as logging it in the first place. You can also describe your meal out loud or scan a barcode, plus you can save the meals you re-use for instant access.<\/p>\n<\/p>\n<p>Your tracker also lives as an iPhone widget and Apple Watch, so you can always see your Protein\/Calories\/Carbs\/Fat intake at a glance!<\/p>\n<\/p>\n<p>Would love feedback, especially from anyone who&#8217;s tried and dropped a macro tracker before. In particular we want to know: What made you quit?<\/p>\n<\/p>\n<p>Hopefully that&#8217;s exactly the friction this is built to kill!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/24VUQNT3HZ33Q2\" class=\"app-title\">ConferenceGrid<\/a><\/p>\n<div class=\"one-liner\">Conference database for B2B teams<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">116<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ConferenceGrid \u662f\u4e00\u4e2a\u9762\u5411B2B\u56e2\u961f\u7684\u4f1a\u8bae\u6570\u636e\u5e93\uff0c\u8f93\u5165\u4efb\u610f\u516c\u53f8\u5373\u53ef\u67e5\u770b\u5176\u8d5e\u52a9\u3001\u53c2\u5c55\u6216\u6f14\u8bb2\u7684\u5168\u90e8\u4f1a\u8bae\uff0c\u5e2e\u52a9GTM\u56e2\u961f\u9ad8\u6548\u5b8c\u6210\u7ade\u5bf9\u60c5\u62a5\u5206\u6790\u548c\u76ee\u6807\u5ba2\u6237\uff08ICP\uff09\u7684\u4f1a\u8bae\u89e6\u8fbe\u89c4\u5212\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/94d0ffa0-3130-4a44-8654-9f3fdb27c1d3.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>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">B2B\u4f1a\u8bae\u6570\u636e\u5e93<\/span><br \/>\n            <span class=\"tag\">\u7ade\u5bf9\u60c5\u62a5<\/span><br \/>\n            <span class=\"tag\">ICP\u5b9a\u4f4d<\/span><br \/>\n            <span class=\"tag\">\u8d5e\u52a9\u5546\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bae\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">GTM\u7b56\u7565<\/span><br \/>\n            <span class=\"tag\">\u6f14\u8bb2\u8005\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u5c55\u4f1a\u7ebf\u7d22<\/span><br \/>\n            <span class=\"tag\">\u9500\u552e\u8d4b\u80fd<\/span><br \/>\n            <span class=\"tag\">\u5e02\u573a\u8c03\u7814<\/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\u89e3\u51b3\u957f\u671f\u624b\u5de5\u7ef4\u62a4\u4f1a\u8bae\u8868\u683c\u7684\u75db\u70b9\u3002\u6709\u6548\u95ee\u9898\u805a\u7126\u4e24\u70b9\uff1a\u4e00\u662f\u6570\u636e\u5e93\u662f\u5426\u5305\u542b\u89c2\u4f17\u6784\u6210\u4e0e\u8d5e\u52a9\u5546\u91cd\u590d\u53c2\u4f1a\u7387\u7b49\u8d28\u91cf\u4fe1\u53f7\uff0c\u800c\u975e\u4ec5\u65e5\u671f\u3001\u5730\u70b9\u7b49\u8868\u5c42\u4fe1\u606f\uff1b\u4e8c\u662f\u7f3a\u5c11\u201c\u9644\u8fd1\u4f1a\u8bae\u201d\u7684LBS\u7b5b\u9009\u529f\u80fd\uff0c\u867d\u6709\u57ce\u5e02\u641c\u7d22\u4f46\u4f53\u9a8c\u5272\u88c2\u3002\u53e6\u6709\u8bc4\u8bba\u8d5e\u8d4f\u5176\u6570\u636e\u6293\u53d6\u5de5\u4f5c\u91cf\uff0c\u4f46\u672a\u63d0\u6df1\u5c42\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ConferenceGrid \u7684\u5207\u5165\u70b9\u6781\u4e3a\u7cbe\u51c6\u2014\u2014\u5b83\u7784\u51c6\u4e86B2B GTM\u56e2\u961f\u4e2d\u201c\u4f1a\u8bae\u60c5\u62a5\u201d\u8fd9\u4e00\u9ad8\u5ea6\u5206\u6563\u3001\u6781\u5ea6\u4f9d\u8d56\u4eba\u5de5\u7684\u6697\u89d2\u3002\u521b\u59cb\u4eba\u7528\u5341\u5e74Google Sheets\u7684\u75db\u611f\u80cc\u4e66\uff0c\u5b8c\u6210\u4e86\u4ece\u201c\u624b\u5de5\u7ef4\u62a4\u201d\u5230\u201c\u56fe\u8c31\u5316\u67e5\u8be2\u201d\u7684\u4f53\u9a8c\u8dc3\u8fc1\uff0c\u8fd9\u672c\u8eab\u662f\u624e\u5b9e\u7684\u82e6\u6d3b\u7d2f\u6d3b\u3002116\u7968\u7684\u51b7\u542f\u52a8\u867d\u4e0d\u60ca\u8273\uff0c\u4f46\u7528\u6237\u8bc4\u8bba\u4e2d\u66b4\u9732\u7684\u201c\u6570\u636e\u6df1\u6c34\u533a\u201d\u624d\u662f\u5176\u771f\u6b63\u7684\u751f\u6b7b\u7ebf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u76ee\u524d\u7684\u4ef7\u503c\u505c\u7559\u5728\u201c\u5e7f\u5ea6\u201d\u2014\u2014\u80fd\u544a\u8bc9\u4f60\u4e00\u5bb6\u516c\u53f8\u53bb\u4e86\u54ea\uff0c\u4f46\u8fd9\u53ea\u662f\u201cWhat\u201d\u3002\u771f\u6b63\u7684\u4ed8\u8d39\u58c1\u5792\u5728\u4e8e\u201c\u6df1\u5ea6\u201d\u2014\u2014\u8fd9\u5bb6\u516c\u53f8\u53bb\u7684\u4f1a\u8bae\uff0c\u89c2\u4f17\u8d28\u91cf\u7a76\u7adf\u5982\u4f55\uff1f\u8d5e\u52a9\u5546\u91cd\u590d\u7387\u662f\u591a\u5c11\uff08\u5373ROI\u4fe1\u53f7\uff09\uff1fCPP\uff08\u6bcf\u5ba2\u6237\u6210\u672c\uff09\u53ef\u6d4b\u7b97\u5417\uff1f\u8bc4\u8bba\u533a\u90a3\u4f4d\u4e70\u5bb6\u4e00\u9488\u89c1\u8840\uff1a\u4ed6\u613f\u610f\u4e3a\u201c\u91cd\u590d\u8d5e\u52a9\u7387\u201d\u4ed8\u8d39\uff0c\u800c\u4e0d\u662f\u4e3a\u201c\u65e5\u671f+\u5730\u70b9\u201d\u4ed8\u8d39\u3002\u8fd9\u8bf4\u660e\u5f53\u524d\u56fe\u8c31\u4ec5\u662f\u9aa8\u67b6\uff0c\u7f3a\u4e4f\u51b3\u7b56\u8840\u6db2\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u4e00\u4e2a\u88ab\u5ffd\u89c6\u7684\u98ce\u9669\u662f\u6570\u636e\u65f6\u6548\u6027\u3002\u4f1a\u8bae\u884c\u4e1a\u53d8\u52a8\u5267\u70c8\uff0cCFP\u622a\u6b62\u65e5\u671f\u3001\u8d5e\u52a9\u5546\u540d\u5355\u65e5\u65b0\u6708\u5f02\uff0c\u4e00\u65e6\u56fe\u8c31\u66f4\u65b0\u6ede\u540e\uff0c\u5176\u4f5c\u4e3a\u201c\u6570\u636e\u5e93\u201d\u7684\u4fe1\u4efb\u5ea6\u5c06\u5feb\u901f\u5d29\u584c\u3002\u6b64\u5916\uff0cLBS\u641c\u7d22\u7684\u7f3a\u5931\u66b4\u9732\u4e86\u4ea7\u54c1\u5bf9\u201c\u957f\u5c3e\u53d1\u73b0\u201d\u573a\u666f\u7684\u6de1\u6f20\u2014\u2014\u7528\u6237\u4e0d\u4ec5\u8981\u76ef\u7ade\u5bf9\uff0c\u8fd8\u8981\u53d1\u73b0\u201c\u8eab\u8fb9\u7684\u65b0\u673a\u4f1a\u201d\u3002\u82e5\u4e0d\u80fd\u628a\u6570\u636e\u4ece\u201c\u9648\u5217\u201d\u63a8\u5411\u201c\u9884\u6d4b\u201d\uff08\u5982\uff1a\u63a8\u8350\u4f60\u672a\u8986\u76d6\u4f46\u7ade\u5bf9\u5bc6\u96c6\u7684\u4f1a\u8bae\uff09\uff0cConferenceGrid \u5f88\u5bb9\u6613\u6ca6\u4e3a\u9ad8\u914d\u7248\u884c\u4e1a\u534f\u4f1a\u540d\u5f55\u3002\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u6df1\u5ea6\u51b3\u5b9a\u751f\u6b7b\uff0c\u5efa\u8bae\u5c3d\u5feb\u8865\u9f50\u89c2\u4f17\u8d28\u91cf\u6307\u6807\u5e76\u5f00\u653eAPI\uff0c\u5426\u5219\u5bf9\u624b\uff08\u5982PredictLeads\uff09\u4f1a\u8f7b\u677e\u622a\u80e1\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\">ConferenceGrid<\/span>\n                <\/div>\n<div class=\"comment-content\">Look up any company and see every conference it sponsors, exhibits at, or speaks at \u2014 6,000+ conferences, 62,000 speakers, 55,000 sponsor slots in one graph.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I have been tracking conference in google sheets for 10+ years now. I had to consistently update their CFP deadlines, links, prospectus and speakers. <\/p>\n<p>That&#8217;s why I created Conferece Grid.<\/p>\n<p>It lets you do 3 main things &#8211; <br \/>&#8211; track a conference &#8211; CFP, prospectus, agenda and more.<\/p>\n<p>&#8211; track your competitors &#8211; a lot of GTM teams want to know where their competitors are exhibiting or speaking and then evaluate those conferences.<br \/>&#8211; track your ICP &#8211; you can track companies from your TAL or overall ICP, find conferences where you can meet more than a few of your TAL companies. <\/p>\n<\/p>\n<p>Thank you for the hunt <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>.<\/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\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@natwar86\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natwar86<\/a>&nbsp;From the buyer side, the thing I can never get a straight answer on before committing to a conference is the real attendee mix versus the sponsor deck&#8217;s version. Does the database track anything on audience composition or sponsor repeat-rate, or is it mostly logistics like dates, cost, and location? That repeat-rate signal is the part I&#8217;d actually pay 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<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\/@natwar86\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natwar86<\/a>&nbsp;You are patient or simply that determined! Thank you for creating this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is there also any option to see the &#8220;conference near by me?&#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\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Hey Nika &#8211; there is no option like that. But, you should be able to find conferences in a given city &#8211; <a href=\"https:\/\/conferencegrid.com\/conferences\/city\/san-francisco\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/conferencegrid.com\/conferences\/city\/san-francisco<\/a><\/p>\n<p>Just look for the city in the search bar. <\/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!! Pulling 6,000 conference sites into one searchable graph is a lot of unglamorous work that nobody sees. Genuinely useful for anyone doing B2B events. Nice 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abhi030609\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhi030609<\/a>&nbsp;Thanks Abhijeet \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<\/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\/WHTBY2XSHARI7R\" class=\"app-title\">Argos<\/a><\/p>\n<div class=\"one-liner\">The AI that acts as you, right in your browser<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">113<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Argos \u662f\u4e00\u6b3e\u8fd0\u884c\u5728\u6d4f\u89c8\u5668\u91cc\u7684AI\u4ee3\u7406\uff0c\u80fd\u4f7f\u7528\u4f60\u81ea\u5df1\u7684\u5df2\u767b\u5f55\u8d26\u53f7\uff0c\u81ea\u52a8\u5b8c\u6210\u70b9\u51fb\u3001\u586b\u8868\u7b49\u771f\u5b9e\u64cd\u4f5c\uff0c\u89e3\u51b3AI\u201c\u53ea\u8bf4\u4e0d\u505a\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\/72063fc0-1343-4db4-9307-81842898aa43.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\/fac673e1-54d0-4a10-a068-3abaf0a4e9bb.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\/9f804d6d-33cc-40f0-9097-797cb5843c2b.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\/f5f89f64-d6f3-4e3b-a59c-6acec4002eb2.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\/e77a70bc-f662-4d93-906b-00a9ce44942d.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\/891fdb73-5890-4104-a81b-610fb5f9ccb0.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\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Chrome\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u591a\u5e73\u53f0\u96c6\u6210<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u6700\u5173\u5fc3\u4fe1\u4efb\u8fb9\u754c\uff1aTelegram\/WhatsApp\u8fdc\u7a0b\u89e6\u53d1\u65f6\u6570\u636e\u5982\u4f55\u6d41\u8f6c\u3001\u5f85\u673a\u65f6\u5982\u4f55\u5904\u7406\uff0c\u9700\u6e05\u6670\u5a01\u80c1\u6a21\u578b\uff1b\u5176\u6b21\u8d28\u7591\u70b9\u51fb\u64cd\u4f5c\u7684\u53ef\u9760\u6027\uff08\u5143\u7d20\u4f4d\u79fb\u3001\u4e8b\u4ef6\u672a\u89e6\u53d1\uff09\uff0c\u5b98\u65b9\u56de\u5e94\u4e86\u91cd\u5b9a\u4f4d\u4e0e\u7ed3\u679c\u9a8c\u8bc1\u673a\u5236\uff1b\u53e6\u6ce8\u610f\u4ea7\u54c1\u7cfbLyto\u6539\u540d\uff0c\u5b58\u5728\u54c1\u724c\u8fc7\u6e21\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                Argos\u7784\u51c6\u7684\u662fAI\u843d\u5730\u6700\u540e\u4e00\u516c\u91cc\u7684\u201c\u6267\u884c\u201d\u73af\u8282\uff0c\u5207\u4e2d\u5f53\u524d\u5927\u6a21\u578b\u201c\u91cd\u63a8\u7406\u3001\u8f7b\u64cd\u4f5c\u201d\u7684\u8f6f\u808b\u3002\u5176\u672c\u5730\u4f18\u5148\u4e0e\u201c\u7834\u574f\u6027\u64cd\u4f5c\u5148\u8be2\u95ee\u201d\u7684\u8bbe\u8ba1\uff0c\u662f\u5bf9\u7528\u6237\u9690\u79c1\u7126\u8651\u7684\u76f4\u63a5\u56de\u5e94\u2014\u2014\u8fd9\u662f\u5b83\u533a\u522b\u4e8e\u666e\u901aRPA\u6216\u4e91\u7aefAgent\u7684\u6838\u5fc3\u5356\u70b9\u3002\u7136\u800c\uff0c\u8bc4\u8bba\u533a\u4e00\u9488\u89c1\u8840\u5730\u6307\u51fa\u4e86\u5b83\u7684\u963f\u5580\u7409\u65af\u4e4b\u8e35\uff1a\u4fe1\u4efb\u5e76\u975e\u4ec5\u9760\u201c\u6570\u636e\u4e0d\u51fa\u8bbe\u5907\u201d\u5c31\u80fd\u5efa\u7acb\u3002\u8fdc\u7a0b\u6267\u884c\u65f6\uff0c\u6307\u4ee4\u4e0e\u72b6\u6001\u7684\u52a0\u5bc6\u4f20\u8f93\u5982\u4f55\u4e0e\u672c\u5730\u6570\u636e\u9694\u79bb\uff1f\u8bbe\u5907\u4f11\u7720\u65f6\u4efb\u52a1\u5982\u4f55\u8c03\u5ea6\uff1f\u8fd9\u66b4\u9732\u4e86\u201c\u4e2a\u4eba\u4ee3\u7406\u201d\u5728\u5de5\u7a0b\u5b9e\u73b0\u4e0e\u5a01\u80c1\u6a21\u578b\u4e0a\u7684\u6a21\u7cca\u5730\u5e26\u3002\u66f4\u6df1\u5c42\u7684\u95ee\u9898\u662f\uff0cArgos\u867d\u58f0\u79f0\u201c\u9a8c\u8bc1\u64cd\u4f5c\u7ed3\u679c\u201d\uff0c\u4f46\u6d4f\u89c8\u5668DOM\u72b6\u6001\u5343\u53d8\u4e07\u5316\uff0c\u5176\u201c\u91cd\u5b9a\u4f4d+\u7ed3\u679c\u786e\u8ba4\u201d\u673a\u5236\u80fd\u5426\u5728\u771f\u5b9e\u590d\u6742\u7f51\u9875\uff08\u5982SPA\u3001\u52a8\u6001\u6e32\u67d3\uff09\u4e2d\u4fdd\u6301\u9ad8\u6210\u529f\u7387\uff0c\u4ecd\u9700\u6253\u4e0a\u95ee\u53f7\u3002\u4ece\u4ea7\u54c1\u7b56\u7565\u770b\uff0c\u5b83\u6b63\u6ed1\u5411\u201c\u901a\u7528\u81ea\u52a8\u5316\u5de5\u5177\u201d\u7684\u7ea2\u6d77\u2014\u2014\u4e0e\u5df2\u6210\u719f\u7684Puppeteer\u811a\u672c\u6216Chrome\u6269\u5c55\u76f8\u6bd4\uff0cAI\u81ea\u7136\u8bed\u8a00\u9a71\u52a8\u7684\u4f18\u52bf\u867d\u660e\u663e\uff0c\u4f46\u7a33\u5b9a\u6027\u4e0e\u53ef\u8c03\u8bd5\u6027\u82e5\u4e0d\u80fd\u78be\u538b\uff0c\u5219\u96be\u4ee5\u7559\u4f4f\u6280\u672f\u578b\u7528\u6237\u3002LYTO\u6539\u540d\u7684\u75d5\u8ff9\u4e5f\u6697\u793a\u56e2\u961f\u5728\u4ed3\u4fc3\u8f6c\u578b\uff0c\u54c1\u724c\u6df7\u4e71\u4f1a\u6d88\u8017\u65e9\u671f\u53e3\u7891\u3002\u6700\u7ec8\uff0cArgos\u7684\u4ef7\u503c\u951a\u70b9\u5e94\u5728\u201c\u534a\u76d1\u7763\u7684\u5bb6\u5ead\u6216\u529e\u516c\u5de5\u4f5c\u6d41\u201d\uff0c\u800c\u975e\u201c\u653e\u624b\u4e0d\u7ba1\u7684\u81ea\u52a8\u9a7e\u9a76\u201d\u3002\u5b83\u5fc5\u987b\u7528\u6781\u81f4\u7684\u5931\u8d25\u56de\u6eda\u673a\u5236\u548c\u53ef\u5ba1\u8ba1\u7684\u64cd\u4f5c\u65e5\u5fd7\uff0c\u624d\u80fd\u628a\u201c\u4fe1\u4efb\u201d\u4ece\u53e3\u53f7\u53d8\u6210\u5de5\u7a0b\u73b0\u5b9e\u3002\u5426\u5219\uff0c\u5b83\u53ea\u662f\u53e6\u4e00\u4e2a\u201c\u6f14\u793a\u60ca\u8273\u3001\u5b9e\u6218\u7ffb\u8f66\u201d\u7684\u6d4f\u89c8\u5668\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Argos<\/span>\n                <\/div>\n<div class=\"comment-content\">Most AI just tells you what to do. Argos does it. It works right inside your browser using your own logged-in accounts \u2014 clicking, typing, filling forms, and finishing real tasks. Ask it in the sidebar or text it on Telegram\/WhatsApp, and it runs live or in the background, then hands you the result. Native in Gmail, Docs and Sheets. Connects GitHub, Slack, Notion and more. Your data stays on your device. Free to start.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I kept hitting the same wall with AI tools: they&#8217;d give me a great answer, then leave the actual doing to me \u2014 the copying between tabs, the form-filling, the &#8220;now go run this yourself.&#8221; So we built Argos to close that gap.<\/p>\n<p>Argos lives in your browser and acts as you, not just for you. It uses your own logged-in accounts to actually click, type, and finish tasks \u2014 live while you watch, or in the background while you&#8217;re somewhere else. You can even text it from Telegram or WhatsApp and get the finished file back.<\/p>\n<p>The hardest part was trust: an agent with real access to your accounts has to be safe. So everything runs locally, your data never leaves your device, and anything destructive stops to ask first.<\/p>\n<p>Would love your honest feedback \u2014 what would you hand off to it first?<\/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>The local-first claim is the part I\u2019d want clarified before handing over logged-in sessions. When a task is triggered from Telegram or WhatsApp, what crosses your relay: only an encrypted instruction and status, or can page content and results leave the device? And what happens when the machine is asleep? A small threat-model diagram would make the trust boundary much easier to evaluate.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Quick note on naming: Argos is a modified, rebranded version of a past project \u2014 same team, same underlying product, new name and a refreshed direction. You&#8217;ll still see &#8220;Lyto&#8221; in a few places (like the Chrome Web Store listing) while we finish rolling the rebrand out everywhere \u2014 that update is coming soon.<\/p>\n<p>You can install it here: <a href=\"https:\/\/chromewebstore.google.com\/detail\/lyto-ai-research-assistan\/nalekilafbipfallhlkbpidgfceoabcb\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Lyto AI (Argos) \u2014 Chrome Web Store<\/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>The stops-to-ask-first part for destructive actions makes sense. The failure mode I keep hitting with browser agents is quieter: a click reports success but the action never actually landed, usually from a late loading element shifting the page under it. How does Argos verify a click or form fill actually took, versus just trusting the click event fired?<\/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\/@abdullah_javaid3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abdullah_javaid3<\/a>&nbsp;Good catch, that&#8217;s the exact failure mode that makes browser agents feel flaky even when they &#8220;work.&#8221; A couple things have to hold for a click or fill to count as done, not just dispatched:<\/p>\n<ul>\n<li>\n<p>We re-locate the target element right before acting rather than reusing a handle from earlier in the plan, so a late-loading widget that shifts the layout doesn&#8217;t leave us clicking a stale or now-wrong node.<\/p>\n<\/li>\n<li>\n<p>After acting, we check for the actual consequence, not just that the event fired \u2014 a field&#8217;s value getting read back, a network request tied to a submit, a DOM\/URL change tied to a click \u2014 since a debounced handler or an invisible overlay can eat a click event with zero visible error.<\/p>\n<\/li>\n<li>\n<p>We wait on the DOM actually settling (not a fixed timeout) before deciding the page is ready to interact with, so a slow-loading element doesn&#8217;t just relocate the race to a different frame.<\/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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nice to see some new worthy products!<\/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\/@gleb_babichev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gleb_babichev<\/a>&nbsp;Thank you! Means a lot, especially on launch day. Let us know if you end up trying it out \u2014 always looking for 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<\/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\/6L5VEN2U26LI7W\" class=\"app-title\">Persodex<\/a><\/p>\n<div class=\"one-liner\">Your personal CRM that lives on top of your iOS contacts.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">106<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Persodex \u662f\u4e00\u6b3e\u57fa\u4e8e iOS \u539f\u751f\u901a\u8baf\u5f55\u7684\u4e2a\u4eba\u5173\u7cfb\u7ba1\u7406\uff08CRM\uff09\u5de5\u5177\uff0c\u901a\u8fc7\u5728\u8054\u7cfb\u4eba\u4e2d\u76f4\u63a5\u9644\u52a0\u7b14\u8bb0\u548c\u6807\u7b7e\uff0c\u5e2e\u52a9\u7528\u6237\u8bb0\u4f4f\u201c\u5728\u54ea\u8ba4\u8bc6\u3001\u804a\u8fc7\u4ec0\u4e48\u3001\u4e3a\u4f55\u4fdd\u5b58\u201d\uff0c\u89e3\u51b3\u793e\u4ea4\u573a\u666f\u4e0b\u201c\u4eba\u8bb0\u4f4f\u4e86\u3001\u4f46\u60f3\u4e0d\u8d77\u80cc\u666f\u201d\u7684\u5931\u5fc6\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\/09df5761-677f-491f-98bb-0cd5ec28b328.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\/5f617c6c-f11a-4f19-82be-3fb18d5ae132.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\/a751dc65-64b8-4018-abba-1d05ecfa355d.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\/80a3dd0c-0d51-4b49-baf6-88e2ffa7b675.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\/780a7213-41f4-4d43-9468-73c7f09ec440.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\">iOS<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">CRM<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4e2a\u4ebaCRM<\/span><br \/>\n            <span class=\"tag\">\u8054\u7cfb\u4eba\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">iOS\u539f\u751f<\/span><br \/>\n            <span class=\"tag\">\u901a\u8baf\u5f55\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u96f6\u9501\u5b9a<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u5173\u7cfb\u7ef4\u62a4<\/span><br \/>\n            <span class=\"tag\">\u7b14\u8bb0\u6807\u7b7e<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8d26\u53f7<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u6548\u7387<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u8d28\u7591\u201c\u4e0a\u4e0b\u6587\u662f\u5426\u81ea\u52a8\u4e30\u5bcc\u201d\uff0c\u62c5\u5fc3\u4ecd\u9700\u624b\u52a8\u7ef4\u62a4\u800c\u5f03\u7528\uff1b\u53e6\u6709\u5f00\u53d1\u8005\u6307\u51faiCloud\u540c\u6b65\u4e0b\u8054\u7cfb\u4eba\u7ec4\uff08\u6807\u7b7e\uff09\u53ef\u80fd\u51fa\u73b0\u7a7a\u503c\u6216\u91cd\u590d\uff0c\u8be2\u95ee\u8de8\u8bbe\u5907\u53ef\u9760\u6027\u3002\u6709\u6548\u53cd\u9988\u805a\u7126\u81ea\u52a8\u5316\u7a0b\u5ea6\u4e0e\u540c\u6b65\u7a33\u5b9a\u6027\uff0c\u5efa\u8bae\u4f18\u5316\u667a\u80fd\u63d0\u9192\u6216\u60c5\u5883\u6293\u53d6\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                Persodex \u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u66ff\u4ee3\u201d\uff0c\u800c\u5728\u4e8e\u201c\u5bc4\u751f\u201d\u2014\u2014\u5b83\u806a\u660e\u5730\u9009\u62e9\u4e86\u82f9\u679c\u901a\u8baf\u5f55\u4f5c\u4e3a\u5bbf\u4e3b\uff0c\u7528\u539f\u751f\u5b57\u6bb5\u5b58\u50a8\u7b14\u8bb0\u3001\u7528\u8054\u7cfb\u4eba\u7ec4\u5145\u5f53\u6807\u7b7e\uff0c\u4ece\u6839\u6e90\u4e0a\u6d88\u89e3\u4e86\u8fc1\u79fb\u6210\u672c\u548c\u6570\u636e\u9501\u5b9a\u7126\u8651\u3002\u8fd9\u79cd\u201c\u9690\u5f62\u201d\u7b56\u7565\u5bf9\u9690\u79c1\u654f\u611f\u578b\u7528\u6237\u6781\u5177\u5438\u5f15\u529b\uff0c\u4e5f\u7cbe\u51c6\u6253\u51fb\u4e86\u4f20\u7edf\u4e2a\u4ebaCRM\u201c\u592a\u91cd\u3001\u592a\u642c\u3001\u592a\u4f01\u4e1a\u201d\u7684\u81f4\u547d\u4f24\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u771f\u6b63\u7684\u5929\u82b1\u677f\u5728\u4e8e\u201c\u60f0\u6027\u5b9a\u5f8b\u201d\uff1aCRM\u7684\u6838\u5fc3\u4e0d\u662f\u5b58\u50a8\uff0c\u800c\u662f\u80fd\u5426\u5728\u5173\u7cfb\u51b7\u5374\u524d\u4e3b\u52a8\u5524\u9192\u5b83\u3002\u8bc4\u8bba\u4e2d\u4e00\u9488\u89c1\u8840\u7684\u63d0\u95ee\u2014\u2014\u201c\u4e0a\u4e0b\u6587\u662f\u5426\u81ea\u6211\u4e30\u5bcc\u201d\u2014\u2014\u76f4\u63a5\u6233\u7834\u4e86\u8be5\u4ea7\u54c1\u7684\u6839\u57fa\u3002Persodex \u76ee\u524d\u672c\u8d28\u662f\u4e00\u4e2a\u4f18\u96c5\u7684\u201c\u5907\u6ce8\u88c5\u9970\u5668\u201d\uff0c\u5b83\u6ca1\u6709\u4ece\u6d88\u606f\u3001\u90ae\u4ef6\u3001\u65e5\u5386\u7b49\u89e6\u70b9\u4e2d\u81ea\u52a8\u63d0\u53d6\u80cc\u666f\u4fe1\u606f\u7684\u80fd\u529b\u3002\u8fd9\u610f\u5473\u7740\u7528\u6237\u6240\u6709\u5173\u7cfb\u8bb0\u5fc6\u7684\u7ef4\u62a4\u6210\u672c\u4f9d\u7136\u538b\u5728\u81ea\u5df1\u80a9\u4e0a\uff0c\u65b0\u9c9c\u611f\u6d88\u9000\u540e\u6781\u6613\u91cd\u8e48\u201c\u6807\u7b7e\u6b7b\u5bc2\u201d\u7684\u8986\u8f99\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0ciOS\u8054\u7cfb\u4eba\u7ec4\u7684iCloud\u540c\u6b65\u9690\u60a3\u5e76\u975e\u675e\u4eba\u5fe7\u5929\u3002CNContactStore\u7684\u7ec4\u8bb0\u5f55\u4e0e\u8054\u7cfb\u4eba\u8bb0\u5f55\u7684\u5f02\u6b65\u5408\u5e76\u673a\u5236\u786e\u5b9e\u5bb9\u6613\u5728\u53cc\u8bbe\u5907\u573a\u666f\u4e0b\u4ea7\u751f\u810f\u6570\u636e\uff0c\u82e5\u6807\u7b7e\u9519\u4e71\uff0c\u8f7b\u5219\u4f53\u9a8c\u6df7\u4e71\uff0c\u91cd\u5219\u7834\u574f\u7528\u6237\u5bf9\u201c\u65e0\u9501\u5b9a\u201d\u627f\u8bfa\u7684\u4fe1\u4efb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7efc\u5408\u770b\uff0cPersodex \u662f\u4e00\u6b3e\u7406\u5ff5\u7eaf\u7cb9\u3001\u6267\u884c\u514b\u5236\u7684\u201c\u53cdCRM\u201d\uff0c\u9002\u5408\u4e14\u4ec5\u9650\u4e8e\u90a3\u4e9b\u5df2\u6709\u826f\u597d\u6574\u7406\u4e60\u60ef\u3001\u6781\u5ea6\u5728\u610f\u9690\u79c1\u7684\u8f7b\u5ea6\u7528\u6237\u3002\u5b83\u8d62\u5f97\u4e86\u9996\u4e2a100\u7968\u7684\u5c0a\u91cd\uff0c\u4f46\u82e5\u4e0d\u80fd\u5728\u201c\u667a\u80fd\u56de\u586b\u4e0a\u4e0b\u6587\u201d\u6216\u201c\u4e3b\u52a8\u5173\u7cfb\u63d0\u9192\u201d\u4e0a\u62ff\u51fa\u771f\u6b63\u7a81\u7834\uff0c\u5b83\u7ec8\u5c06\u6ca6\u4e3a\u4e00\u90e8\u7cbe\u81f4\u7684\u901a\u8baf\u5f55\u76ae\u80a4\uff0c\u800c\u975e\u80fd\u62b5\u6297\u65f6\u95f4\u78e8\u635f\u7684\u5173\u7cfb\u4e2d\u67a2\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\">Persodex<\/span>\n                <\/div>\n<div class=\"comment-content\">A smarter contacts app that helps you stay in touch with the people who matter. Or as we like to call it: Contacts with Context. Persodex syncs natively with Apple\u2019s Contacts instead of replacing them. We don\u2018t even require an account. No import. No migration. No lock-in.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt, I\u2019m Alex \ud83d\ude42<\/p>\n<p>It might sound like a clich\u00e9, but I originally built Persodex for myself. I\u2019ve been self-employed for over 15 years now, which means I\u2019ve met a lot of people &#8211; clients, freelancers, founders, partners, and friends. The problem was that, over time, my address book had become little more than a list of names.<\/p>\n<p>I could usually remember who someone was, but not always where we had met, what we had talked about, which company they worked for at the time, or why I had saved their number in the first place. Important context was all the place, across notes, messages, Instagram, and my own memory (which doesn&#8217;t exactly get any better with age \ud83d\udc74\ud83c\udffb\ud83d\ude05).<\/p>\n<p>I tried a few personal CRMs, but they all felt like business software. Too many fields. Too many features. And almost all of them wanted me to move my contacts into their own system. Privacy has always been extremely important to me &#8211; perhaps that\u2019s just my German side \ud83d\ude09<\/p>\n<p>That became the core idea behind Persodex.<\/p>\n<p>Persodex works directly with the native iOS address book. Notes are stored in the existing notes field, tags are saved as native contact groups, and your data remains accessible even without Persodex. I did not want to create another platform people would feel locked into.<\/p>\n<p>That principle shaped the entire launch: keep it native, private, simple, and focused on helping people remember people.<\/p>\n<p>Anyway, I hope this answers some of your questions. I\u2019d love to hear what you think!<\/p>\n<p>Alex<\/p>\n<p>P.S. The last link gives you 25% off the Lifetime plan.<\/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\/@poolie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@poolie<\/a>&nbsp;Personal CRMs never stick for me because of upkeep, contacts go stale the second I stop manually tagging. Since you sit on the native iOS contacts, does context enrich itself from where I actually interact with someone, or do I still have to feed it? That&#8217;s usually the line between a tool I keep and one I drop in a 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>Native contact groups for tags is the right call for the no lock in promise. The part I would be curious about, having built iOS apps that touch CNContactStore, is iCloud sync. Group membership through the Contacts framework has a history of showing up empty or duplicated on a second device right after a sync, since groups sync separately from the contact records themselves. Has that shown up in testing across devices, or does storing tags as groups avoid the issue entirely?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/HXE5WUPB3NI6R3\" class=\"app-title\">DuckDisk<\/a><\/p>\n<div class=\"one-liner\">Table-first storage analysis for Mac, cloud, and SSH<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">104<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DuckDisk \u662f\u4e00\u6b3e\u514d\u8d39\u5f00\u6e90\u7684 macOS \u5b58\u50a8\u5206\u6790\u5de5\u5177\uff0c\u4ee5\u201c\u8868\u683c\u4f18\u5148\u201d\u7684\u6811\u5f62\u89c6\u56fe\u66ff\u4ee3\u82b1\u54e8\u7684\u73af\u5f62\u56fe\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u626b\u63cf\u672c\u5730\u78c1\u76d8\u3001OneDrive\u3001Google Drive \u53ca SSH \u670d\u52a1\u5668\u65f6\uff0c\u5feb\u901f\u5b9a\u4f4d\u201c\u54ea\u4e2a\u6587\u4ef6\u5939\u5360\u7a7a\u95f4\u3001\u5b9e\u9645\u5206\u914d\u591a\u5c11\u3001\u5185\u90e8\u6587\u4ef6\u6784\u6210\u5982\u4f55\u201d\u7b49\u786c\u6838\u95ee\u9898\uff0c\u800c\u65e0\u9700\u4e0b\u8f7d\u4e91\u7aef\u6587\u4ef6\u5185\u5bb9\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\/54337166-edbf-4837-8256-13a80d9c31c2.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\/17d9ef28-1caf-45a2-9fef-690f6d96c040.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\/27d7767c-8e35-4637-b71e-323530759b59.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\/bb93edba-915d-4e9b-84d0-ed12b5d46f3c.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\/1a260c8a-00fa-4824-9dae-808477155aac.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=_WKBsRJAsUE\"><source src=\"https:\/\/www.youtube.com\/watch?v=_WKBsRJAsUE\" 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\">Open Source<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Computers<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5b58\u50a8\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u78c1\u76d8\u6e05\u7406<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u8868\u683c\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u4e91\u5b58\u50a8\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">SSH<\/span><br \/>\n            <span class=\"tag\">\u6587\u4ef6\u7c7b\u578b\u7edf\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5143\u6570\u636e\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u514d\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\u8ba4\u53ef\u201c\u5206\u914d\u7a7a\u95f4 vs \u6587\u4ef6\u5927\u5c0f\u201d\u7684\u533a\u5206\u5bf9\u6355\u6349\u7a00\u758f\u6587\u4ef6\u7684\u4ef7\u503c\uff0c\u4f46\u8ffd\u95ee\u662f\u5426\u80fd\u4e3b\u52a8\u6807\u8bb0 Xcode DerivedData\u3001node_modules \u7b49\u5e38\u89c1\u5f00\u53d1\u7f13\u5b58\u76ee\u5f55\uff0c\u800c\u975e\u4ec5\u9760\u7528\u6237\u81ea\u5df1\u5224\u65ad\u3002\u5f00\u53d1\u8005\u56de\u5e94\u79f0\u5f53\u524d\u4e3a\u7eaf\u5927\u5c0f\u9a71\u52a8\uff0c\u672a\u6765\u4f1a\u8003\u8651\u7f13\u5b58\u6807\u8bb0\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                DuckDisk \u7684\u5207\u5165\u70b9\u7cbe\u51c6\u4e14\u53cd\u53db\u2014\u2014\u5b83\u5bf9\u6297\u7684\u662f DaisyDisk \u4e00\u7c7b\u201c\u7f8e\u5219\u7f8e\u77e3\uff0c\u7136\u5e76\u5375\u201d\u7684\u89c6\u89c9\u5316\u5b58\u50a8\u5de5\u5177\u3002\u5728\u5b58\u50a8\u7ba1\u7406\u573a\u666f\u4e2d\uff0c\u7528\u6237\u771f\u6b63\u9700\u8981\u7684\u4e0d\u662f\u4e00\u5f20\u53ef\u4f9b\u6b23\u8d4f\u7684\u201c\u6570\u636e\u70df\u82b1\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u9ad8\u4fe1\u606f\u5bc6\u5ea6\u7684\u51b3\u7b56\u8868\u683c\uff1a\u54ea\u4e2a\u76ee\u5f55\u771f\u6b63\u6301\u6709\u7a7a\u95f4\u3001\u5206\u914d\u5757\u4e0e\u903b\u8f91\u5927\u5c0f\u5dee\u591a\u5c11\u3001\u5b50\u9879\u6570\u91cf\u4e0e\u6587\u4ef6\u7c7b\u578b\u5360\u6bd4\u5982\u4f55\u3002\u8fd9\u79cd WizTree \u5f0f\u7684\u514b\u5236\uff0c\u6070\u6070\u662f\u4e13\u4e1a\u7528\u6237\uff08\u5f00\u53d1\u8005\u3001\u8fd0\u7ef4\u3001\u591a\u4e91\u7aef\u7ba1\u7406\u8005\uff09\u7684\u521a\u9700\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u4ef7\u503c\u4e0d\u6b62\u4e8e\u8868\u683c\u5f0f UI\u3002\u591a\u6e90\u626b\u63cf\uff08\u672c\u5730\/OneDrive\/Google Drive\/SSH\uff09\u4e14\u4e91\u626b\u63cf\u4ec5\u8d70\u5143\u6570\u636e\uff0c\u5207\u4e2d\u4e86\u201c\u6df7\u5408\u5b58\u50a8\u65f6\u4ee3\u201d\u7684\u75db\u70b9\u2014\u2014\u4e0d\u5c11\u4f01\u4e1a\u7528\u6237\u4e0d\u6b62\u4e00\u5757\u76d8\uff0c\u800c\u662f\u6563\u843d\u5728\u672c\u673a\u3001\u591a\u4e2a\u4e91\u76d8\u548c\u8fdc\u7a0b\u670d\u52a1\u5668\u4e0a\u7684\u6570\u636e\u5b64\u5c9b\u3002\u7528\u540c\u4e00\u5957\u8868\u683c\u903b\u8f91\u7edf\u4e00\u5ba1\u89c6\uff0c\u7701\u53bb\u5207\u6362\u5de5\u5177\u7684\u8ba4\u77e5\u6210\u672c\uff0c\u4e14\u4e0d\u4e0b\u8f7d\u6587\u4ef6\u5185\u5bb9\u5929\u7136\u5177\u5907\u9690\u79c1\u4e0e\u5e26\u5bbd\u4f18\u52bf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u5fc5\u987b\u6307\u51fa\u4e24\u70b9\u9690\u5fe7\u3002\u5176\u4e00\uff0c\u8bc4\u8bba\u4e2d\u5f00\u53d1\u8005\u56de\u5e94\u201c\u7eaf\u5927\u5c0f\u9a71\u52a8\u3001\u65e0\u7f13\u5b58\u6807\u8bb0\u201d\u65f6\uff0c\u66b4\u9732\u4e86\u4ea7\u54c1\u5728\u201c\u667a\u80fd\u6027\u201d\u4e0a\u7684\u77ed\u677f\u3002\u5bf9\u4e8e\u7528\u6237\u6700\u75db\u6068\u7684 node_modules\u3001DerivedData \u8fd9\u7c7b\u201c\u5df2\u77e5\u5783\u573e\u201d\uff0c\u5982\u679c\u5de5\u5177\u4e0d\u80fd\u4e3b\u52a8\u6807\u8bb0\u800c\u8981\u7528\u6237\u81ea\u5df1\u8bc6\u522b\uff0c\u5176\u6548\u7387\u4f18\u52bf\u5c31\u6253\u4e86\u6298\u6263\u2014\u2014\u8fd9\u672c\u8d28\u4e0a\u662f\u201c\u5de5\u5177\u63d0\u4f9b\u6570\u636e\uff0c\u4eba\u6765\u505a\u5224\u65ad\u201d\u7684\u65e7\u8303\u5f0f\uff0c\u4e0e\u5f53\u4e0b\u201c\u5de5\u5177\u76f4\u63a5\u7ed9\u51fa\u53ef\u6267\u884c\u5efa\u8bae\u201d\u7684\u9884\u671f\u6709\u5dee\u8ddd\u3002\u5176\u4e8c\uff0cAGPL \u4e0e Mac App Store \u6c99\u76d2\u7684\u517c\u5bb9\u6027\u95ee\u9898\uff08Google Drive\u3001\u7cfb\u7edf SSH \u914d\u7f6e\u4ec5\u5728\u76f4\u88c5\u7248\u53ef\u7528\uff09\u4f1a\u5272\u88c2\u7528\u6237\u7fa4\uff0c\u589e\u52a0\u83b7\u53d6\u95e8\u69db\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cDuckDisk \u662f\u4e00\u6b3e\u201c\u61c2\u884c\u7684\u4eba\u9020\u7ed9\u61c2\u884c\u7684\u4eba\u7528\u201d\u7684\u4e25\u8083\u5de5\u5177\uff0c\u5b83\u4e0d\u6253\u7b97\u53d6\u60a6\u5c0f\u767d\uff0c\u4f46\u82e5\u80fd\u5728\u201c\u667a\u80fd\u63a8\u8350\u6e05\u7406\u9879\u201d\u548c\u201c\u4e91\u6e90\u589e\u91cf\u540c\u6b65\u201d\u4e0a\u7ee7\u7eed\u6df1\u5316\uff0c\u6709\u673a\u4f1a\u4ece\u201c\u4f18\u79c0\u7684\u67e5\u770b\u5668\u201d\u8fdb\u5316\u4e3a\u201c\u771f\u6b63\u7684\u7a7a\u95f4\u6cbb\u7406\u4e2d\u67a2\u201d\u3002\u76ee\u524d\u5b83\u8d62\u5f97\u7684\u662f\u4e13\u4e1a\u7528\u6237\u7684\u5c0a\u91cd\uff0c\u800c\u975e\u666e\u901a\u7528\u6237\u7684\u4f9d\u8d56\u2014\u2014\u8fd9\u662f\u53cc\u5203\u5251\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\">DuckDisk<\/span>\n                <\/div>\n<div class=\"comment-content\">DuckDisk is a free, open-source macOS storage analyzer built for people who want answers, not just colorful maps. Its WizTree-style, table-first tree keeps size, allocated space, parent %, item counts, and file-type totals visible while you drill down. Scan local disks, OneDrive, Google Drive, and SSH in one app. Cloud scans use metadata only\u2014file contents are not downloaded. The release is Apple-notarized and available 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>Hi! I built DuckDisk because most macOS disk cleaners make a beautiful daisy map, but I still end up asking: which folder owns this space, how much is allocated, how many files are inside, and what types dominate?<\/p>\n<p>DuckDisk takes a table-first, WizTree-style approach. One dense tree keeps directory size, allocated space, percentage of parent, file\/folder counts, and file-type totals visible as you drill down. The same interface scans local disks, OneDrive, Google Drive, and SSH servers. Cloud scans are metadata-only, so DuckDisk doesn&#8217;t download file contents.<\/p>\n<p>Performance mattered too: rows are virtualized, results are cached, and cloud sources can refresh incrementally. Cleanup is staged for review; cloud deletions go to Trash, while permanent local\/SSH deletion needs explicit confirmation.<\/p>\n<p>DuckDisk is free and open source (AGPL), Apple-notarized, and available on the Mac App Store. The Store build supports local disks, OneDrive, and SSH within Apple&#8217;s sandbox. The notarized direct build also adds Google Drive and uses your system SSH configuration.<\/p>\n<p>I&#8217;d love feedback from people who manage storage across a Mac, cloud accounts, and remote servers\u2014especially on which columns or workflows you&#8217;d want next.<\/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 allocated space versus file size distinction is the detail most disk tools skip, useful for catching sparse files. As someone juggling a lot of Xcode and Flutter build folders, curious whether DuckDisk knows to flag the usual dev suspects, DerivedData, node_modules, build caches, or if it&#8217;s purely size driven and I&#8217;d still have to know what I&#8217;m looking for.<\/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\/@abdullah_javaid3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abdullah_javaid3<\/a>&nbsp;Thanks! Currently the DuckDisk is size-driven, but I will consider adding this cache-flagging feature in the future release.<\/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\/4BYJRW2WZ4JJET\" class=\"app-title\">Workflo<\/a><\/p>\n<div class=\"one-liner\">Mac workspace automation that never sees your screen<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">96<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Workflo \u662f\u4e00\u6b3e\u57fa\u4e8e\u8f85\u52a9\u529f\u80fd\u6743\u9650\u7684 Mac \u5de5\u4f5c\u533a\u81ea\u52a8\u5316\u5de5\u5177\uff0c\u80fd\u5728\u4f1a\u8bae\u3001\u4e13\u6ce8\u65f6\u6bb5\u6216\u663e\u793a\u5668\u53d8\u66f4\u524d\u81ea\u52a8\u6392\u5217\u597d\u7a97\u53e3\u5e03\u5c40\uff0c\u89e3\u51b3\u7528\u6237\u9891\u7e41\u5207\u6362\u573a\u666f\u65f6\u624b\u52a8\u91cd\u6392\u7a97\u53e3\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\/f39132fa-3ea6-4cf4-8ce1-9a5f9d8cb47c.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9b0a3b60-38a9-4a0c-99cf-b525796d6cb1.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/68e1e751-240f-47a3-bc00-2b6e51f310d9.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/92a4196e-7730-4f2b-87bd-23f57e3c43e3.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\/9ea8a0d9-2282-442c-a555-f615c2b749d3.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\">Productivity<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7a97\u53e3\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u533a\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">\u8f85\u52a9\u529f\u80fd\u6743\u9650<\/span><br \/>\n            <span class=\"tag\">\u573a\u666f\u89e6\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u6027\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">\u539f\u751fSwift<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u6574\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\u4e3b\u52a8\u89e6\u53d1\u800c\u975e\u7b49\u5f85\u6307\u4ee4\u201d\u7684\u6d1e\u5bdf\uff0c\u8ba4\u4e3a\u201c\u65e0\u6cd5\u770b\u5c4f\u5e55\u201d\u7684\u9690\u79c1\u8bbe\u8ba1\u662f\u5dee\u5f02\u5316\u5356\u70b9\u3002\u4e3b\u8981\u5efa\u8bae\uff1a\u652f\u6301\u6309\u6d4f\u89c8\u5668Profile\u533a\u5206\u7a97\u53e3\uff08\u5f53\u524d\u6807\u9898\u5339\u914d\u903b\u8f91\u5bf9\u591aProfile\u8bc6\u522b\u4e0d\u51c6\uff09\uff1b\u5e0c\u671b\u589e\u52a0\u201c\u5f53\u7a97\u53e3\u6fc0\u6d3b\u65f6\u81ea\u52a8\u5438\u9644\u5230\u56fa\u5b9a\u4f4d\u7f6e\u201d\u7684\u89e6\u53d1\u89c4\u5219\uff1b\u5bf9\u85cf\u8d77\/\u6062\u590d\u7a97\u53e3\uff08Stash\uff09\u529f\u80fd\u5728\u5f55\u5c4f\u573a\u666f\u4e0b\u7684\u4ef7\u503c\u53cd\u9988\u5f3a\u70c8\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                Workflo \u7684\u806a\u660e\u4e4b\u5904\u4e0d\u5728\u7a97\u53e3\u7ba1\u7406\u672c\u8eab\uff0c\u800c\u5728\u201c\u81ea\u52a8\u5316\u89e6\u53d1\u201d\u8fd9\u4e2a\u5c42\u7ea7\u7684\u8dc3\u8fc1\u3002\u5e02\u9762\u4e0a\u7684 Magnet\u3001Rectangle \u4e4b\u6d41\u4f18\u5316\u7684\u662f\u201c\u624b\u52a8\u64cd\u4f5c\u201d\u7684\u901f\u5ea6\uff0c\u800c Workflo \u76f4\u63a5\u6d88\u706d\u4e86\u201c\u64cd\u4f5c\u201d\u8fd9\u4e2a\u52a8\u4f5c\u2014\u2014\u5b83\u7528\u65e5\u5386\u548c\u65f6\u95f4\u4f5c\u4e3a\u89e6\u53d1\u5668\uff0c\u5728\u7528\u6237\u610f\u8bc6\u5230\u9700\u8981\u6574\u7406\u7a97\u53e3\u4e4b\u524d\u5c31\u5df2\u7ecf\u5b8c\u6210\u5e03\u5c40\u3002\u8fd9\u786e\u5b9e\u662f\u4ea7\u54c1\u601d\u7ef4\u4e0a\u7684\u964d\u7ef4\u6253\u51fb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u771f\u6b63\u503c\u5f97\u73a9\u5473\u7684\u662f\u5b83\u7684\u9690\u79c1\u67b6\u6784\u8bbe\u8ba1\u3002\u9009\u62e9\u201c\u4ec5\u8f85\u52a9\u529f\u80fd\u6743\u9650\u201d\u800c\u62d2\u7edd\u201c\u5c4f\u5e55\u5f55\u5236\u6743\u9650\u201d\uff0c\u5e76\u975e\u6280\u672f\u59a5\u534f\uff0c\u800c\u662f\u6781\u5176\u7cbe\u51c6\u7684\u5e02\u573a\u5b9a\u4f4d\u7b56\u7565\u3002\u5728 LLM \u548c\u4e91\u7aef\u76d1\u63a7\u5f15\u53d1\u7528\u6237\u4fe1\u4efb\u5371\u673a\u7684\u5f53\u4e0b\uff0c\u201c\u7ed3\u6784\u6027\u65e0\u6cd5\u770b\u5c4f\u5e55\u201d\u6bd4\u4efb\u4f55\u9690\u79c1\u653f\u7b56\u58f0\u660e\u90fd\u66f4\u6709\u8bf4\u670d\u529b\uff0c\u8fd9\u76f4\u63a5\u5207\u4e2d\u4e86\u5f8b\u5e08\u3001\u533b\u751f\u3001\u91d1\u878d\u4ece\u4e1a\u8005\u7b49\u5bf9\u6570\u636e\u654f\u611f\u7684\u9ad8\u51c0\u503c\u4eba\u7fa4\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u7684\u5929\u82b1\u677f\u4e5f\u6e05\u6670\u53ef\u89c1\uff1a\u89e6\u53d1\u673a\u5236\u76ee\u524d\u4ec5\u4f9d\u8d56\u65f6\u95f4\u4e0e\u65e5\u5386\uff0c\u7f3a\u4e4f\u4e0a\u4e0b\u6587\u611f\u77e5\uff08\u5982\u6839\u636e\u5f53\u524d\u6d3b\u8dc3App\u6216\u7f51\u7edc\u72b6\u6001\u63a8\u65ad\u610f\u56fe\uff09\uff1b\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201cChrome\u591aProfile\u8bc6\u522b\u201d\u95ee\u9898\u66b4\u9732\u4e86\u5176\u7a97\u53e3\u5339\u914d\u903b\u8f91\u5c1a\u663e\u521d\u7ea7\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u7ea64MB\u7684\u4f53\u79ef\u548c\u4e00\u6b21\u6027\u4e70\u65ad\u6a21\u5f0f\uff0c\u610f\u5473\u7740\u5f00\u53d1\u8005\u65e0\u6cd5\u4f9d\u8d56\u6301\u7eed\u8ba2\u9605\u6536\u5165\uff0c\u957f\u671f\u8fed\u4ee3\u52a8\u529b\u5b58\u7591\u2014\u2014\u8fd9\u672c\u8d28\u4e0a\u662f\u72ec\u7acb\u5f00\u53d1\u8005\u7cbe\u54c1\u5de5\u5177\u7684\u901a\u75c5\uff1a\u505a\u51fa\u4e00\u4e2a\u60ca\u8273\u76841.0\uff0c\u7136\u540e\u5728\u7528\u6237\u4e0d\u65ad\u63d0\u51fa\u7684\u201c\u5982\u679c\u5b83\u80fd\u2026\u5c31\u597d\u4e86\u201d\u4e2d\u9010\u6e10\u6389\u961f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\u5176\u4ef7\u503c\uff1aWorkflo \u4e0d\u662f\u5728\u7a97\u53e3\u7ba1\u7406\u7ea2\u6d77\u91cc\u591a\u5207\u4e00\u5757\u86cb\u7cd5\uff0c\u800c\u662f\u91cd\u65b0\u5b9a\u4e49\u4e86\u201c\u4ec0\u4e48\u65f6\u5019\u8be5\u7ba1\u7406\u7a97\u53e3\u201d\u3002\u4f46\u82e5\u60f3\u771f\u6b63\u6210\u4e3a\u201c\u5de5\u4f5c\u533a\u64cd\u4f5c\u7cfb\u7edf\u201d\uff0c\u8fd8\u9700\u5728\u201c\u4e3b\u52a8\u9884\u5224\u7528\u6237\u610f\u56fe\u201d\u548c\u201c\u590d\u6742\u7a97\u53e3\u8eab\u4efd\u533a\u5206\u201d\u4e0a\u62ff\u51fa\u66f4\u6fc0\u8fdb\u7684\u89e3\u6cd5\u3002\u5426\u5219\uff0c\u5b83\u53ea\u662f\u4e00\u9897\u5b8c\u7f8e\u7684\u3001\u9759\u6001\u7684\u73cd\u73e0\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\">Workflo<\/span>\n                <\/div>\n<div class=\"comment-content\">Workflo sets up your Mac automatically \u2014 staging the right windows before a call or a focus block, and restoring your layout when displays change. Runs on Accessibility alone: it structurally cannot read your screen. Native Swift, ~4 MB, one-time purchase, local-only.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt, Chirag here! \ud83d\udc4b<\/p>\n<p><em>Workflo<\/em> is my answer to a small tax I paid every day: rebuilding my Mac workspace from scratch at every context switch. A call, a focus block, docking at my desk, each one meant another minute lost to reopen, drag, resize, and hide windows and my workspace.<\/p>\n<p>Every tool I tried made that minute faster, <strong>but they all wait to be asked.<\/strong> Workflo removes the asking. It learns your layout for each display setup <strong>(Desks)<\/strong>, stages the right windows before calendar events or at set times <strong>(Scenes)<\/strong>, and snaps everything back when displays change. One hotkey clears the screen for a share and restores it after <strong>(Stash).<\/strong><\/p>\n<p><strong>One design constraint I held onto: <\/strong>it runs on the Accessibility permission alone. It never asks for Screen Recording, so it structurally cannot see what&#8217;s in your windows; the preview-style tools need that permission; Workflo doesn&#8217;t. We do not collect, record, or transmit any data from your device. Everything stays local.<\/p>\n<p>($19.99 one-time, 7-day free trial, no account, ~4 MB of native Swift. 20% OFF to celebrate the launch this week. I&#8217;m also giving away 5 free licenses today; at the end of the day, I&#8217;ll send them to the people whose feedback shaped the roadmap most.)<\/p>\n<\/p>\n<p>I&#8217;ll be here all day &#8211; please tell me which context switch annoys you most, and what per-app rules you&#8217;d love 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ch1rag\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ch1rag<\/a>&nbsp;Congrats on the launch! <\/p>\n<p>&#8220;Every tool I tried made that minute faster, but they all wait to be asked.&#8221; <\/p>\n<\/p>\n<p>That&#8217;s a sharp product insight. The window manager space is crowded with tools that optimize the manual action, and you went after removing the trigger entirely. Staging windows BEFORE the calendar event is the kind of thing that sounds small and changes everything.<\/p>\n<\/p>\n<p>You asked which context switch annoys me most, so here&#8217;s mine: recording demos. I build LemmeBuyIt, a shopping and product intelligence platform, and I record product videos and walkthroughs regularly. Every session starts with the same ritual: clear the junk, hide the dock clutter, resize the browser to the exact recording layout, hunt down the terminal. <\/p>\n<\/p>\n<p>Then afterwards, rebuild my actual work mess. Stash with one hotkey before a recording and full restore after would pay for itself in a week, and honestly the $19.99 one-time price is already an easy yes.<\/p>\n<\/p>\n<p>The Accessibility-only permission is a real differentiator too, and worth shouting louder. &#8220;Structurally cannot see your windows&#8221; beats &#8220;we promise we don&#8217;t look&#8221; every single time. Local, no account, 4 MB of native Swift, this is how Mac utilities should be built.<\/p>\n<\/p>\n<p>Per-app rule I&#8217;d love: browser profiles as separate apps, so my work Chrome and personal Chrome land on different desks instead of being treated as one blob. <\/p>\n<\/p>\n<p>Upvoted!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 context switch that costs me most right now is jumping between Chrome windows during browser automation, several profiles connected at once, and I have to figure out which one is actually signed into the right account before every session. Is a rule that snaps a specific browser profile window to a fixed spot when it becomes the active target in scope for Workflo, or is this more about layout than window identity?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@abdullah_javaid3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abdullah_javaid3<\/a> Good news and one honest caveat. Chrome puts the profile name in the window title when you run multiple profiles (just tested: &#8220;\u2026 &#8211; Google Chrome &#8211; Person 1&#8221;), so each profile&#8217;s window is identifiable.<\/p>\n<p>The caveat: Workflo currently matches titles from the front, and the front of a Chrome title is whatever tab is active, so the stable part (the profile suffix) isn&#8217;t what the matcher reads yet. That&#8217;s a small fix, and it&#8217;s going on the roadmap alongside the other half of your ask: a &#8220;when this window becomes active, snap it here&#8221; trigger (today&#8217;s triggers are time and calendar).<\/p>\n<p>Two questions back: how many profiles at once, and are they regular Chrome profiles or automation-launched with their own user data dirs? The second kind drops the suffix, which changes how I&#8217;d build this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/Z2W7QXZXIHIDPI\" class=\"app-title\">Papaya<\/a><\/p>\n<div class=\"one-liner\">Your sex&#8217;s private recap \u2014 never leaves your phone<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">94<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Papaya\u662f\u4e00\u6b3e\u5b8c\u5168\u79bb\u7ebf\u7684\u79c1\u5bc6\u6027\u7231\u8bb0\u5f55\u5e94\u7528\uff0c\u901a\u8fc7\u624b\u673a\u9ea6\u514b\u98ce\u76d1\u6d4b\u58f0\u97f3\u4e0e\u52a8\u6001\uff0c\u81ea\u52a8\u751f\u6210\u5e26\u6807\u9898\u7684\u5361\u901a\u5f0f\u201c\u591c\u95f4\u56de\u987e\u201d\uff0c\u89e3\u51b3\u4eb2\u5bc6\u65f6\u523b\u6570\u636e\u7edd\u4e0d\u4e0a\u4e91\u7684\u6838\u5fc3\u9690\u79c1\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\/e8a15da0-714c-47ff-a75b-27a7bd135435.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\/a3893457-d0e4-4f57-b3d3-0ff692ff0cca.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\/e55d4cbe-f40d-4d3c-b714-7cda396d1f5e.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\/060072ba-5574-4a2e-b4ea-e261ae559e45.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\/2d90da8d-e668-4c08-9707-7f803d3f651f.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\">Privacy<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Intimacy<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u6027\u7231\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u58f0\u97f3\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u5361\u901a\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u60c5\u4fa3\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u8ba2\u9605\u5236<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI<\/span><br \/>\n            <span class=\"tag\">17+\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>\u5f00\u53d1\u8005\u81ea\u8ff0\u5f3a\u8c03\u96f6\u670d\u52a1\u5668\u67b6\u6784\u3001\u97f3\u9891\u4e0d\u843d\u76d8\u3001\u652f\u6301AirDrop\u52a0\u5bc6\u5206\u4eab\u53ca\u53ef\u81ea\u8bc1\u7684\u6570\u636e\u6d41\u3002\u6709\u7528\u6237\u5efa\u8bae\u8865\u514560\u79d2\u6f14\u793a\u89c6\u9891\u4ee5\u63d0\u5347\u8f6c\u5316\u3002\u6709\u6548\u53cd\u9988\u96c6\u4e2d\u4e8e\u9a8c\u8bc1\u9690\u79c1\u58f0\u660e\u771f\u5b9e\u6027\u3001\u8ba2\u9605\u8d2d\u4e70\u8def\u5f84\u517c\u5bb9\u6027\u53ca\u8da3\u5473\u6027\u7559\u5b58\u7684\u5e73\u8861\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                Papaya\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u628a\u201c\u6700\u4e0d\u80fd\u4e0a\u4e91\u7684\u6570\u636e\u201d\u53d8\u6210\u4e86\u4ea7\u54c1\u58c1\u5792\uff0c\u800c\u4e0d\u662f\u8425\u9500\u5671\u5934\u3002\u5b83\u7cbe\u51c6\u5207\u4e2d\u4e86\u4e00\u4e2a\u9690\u79d8\u5374\u5e9e\u5927\u7684\u9700\u6c42\uff1a\u4eb2\u5bc6\u65f6\u523b\u7684\u91cf\u5316\u4e0e\u53d9\u4e8b\u5316\uff0c\u5374\u7528\u201c\u96f6\u4fe1\u4efb\u201d\u67b6\u6784\u5835\u4f4f\u4e86\u6240\u6709\u7ade\u54c1\u90fd\u5728\u56de\u907f\u7684\u4fe1\u4efb\u6f0f\u6d1e\u3002\u4ece\u6280\u672f\u4e0a\u770b\uff0con-device\u5904\u7406\u3001AirDrop\u5206\u4eab\u3001\u65e0\u78c1\u76d8\u5199\u5165\uff0c\u8fd9\u4e9b\u8bbe\u8ba1\u770b\u4f3c\u7b28\u62d9\uff0c\u5b9e\u5219\u662f\u4e3a\u201c\u4e0d\u53ef\u4e3e\u8bc1\u201d\u7684\u654f\u611f\u573a\u666f\u91cf\u8eab\u5b9a\u5236\u7684\u5b89\u5168\u5197\u4f59\u2014\u2014\u5b83\u4e0d\u627f\u8bfa\u201c\u52a0\u5bc6\u201d\uff0c\u800c\u662f\u627f\u8bfa\u201c\u4e0d\u5b58\u5728\u201d\uff0c\u8fd9\u662f\u672c\u8d28\u5dee\u5f02\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7684\u771f\u6b63\u4ef7\u503c\u5e76\u4e0d\u5728\u4e8e\u201c\u542c\u5e8a\u201d\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u5b83\u91cd\u65b0\u5b9a\u4e49\u4e86\u9690\u79c1\u5e94\u7528\u7684\u4fe1\u4efb\u6a21\u578b\uff1a\u5f53\u5176\u4ed6\u60c5\u4fa3\u5e94\u7528\u90fd\u5728\u8981\u6c42\u4f60\u4ea4\u51fa\u5173\u7cfb\u6570\u636e\u6362\u53d6\u201c\u4eb2\u5bc6\u611f\u201d\u65f6\uff0cPapaya\u7528\u6280\u672f\u81ea\u6b8b\u7684\u65b9\u5f0f\uff08\u4e3b\u52a8\u653e\u5f03\u4e91\u7aef\u80fd\u529b\uff09\u6362\u6765\u4e86\u7528\u6237\u5bf9\u5176\u52a8\u673a\u7684\u7edd\u5bf9\u4fe1\u4efb\u3002\u8fd9\u662f\u4e00\u79cd\u6781\u7aef\u514b\u5236\u7684\u4ea7\u54c1\u54f2\u5b66\uff0c\u4e5f\u662f\u5176\u6700\u7280\u5229\u7684\u62a4\u57ce\u6cb3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\u98ce\u9669\u540c\u6837\u660e\u663e\uff1a\u9996\u5148\uff0c\u529f\u80fd\u672c\u8eab\u5e26\u6709\u5f3a\u70c8\u7684\u730e\u5947\u5c5e\u6027\uff0c\u7528\u6237\u65b0\u9c9c\u611f\u6d88\u9000\u540e\uff0c\u6bcf\u5468\u4e00\u6b21\u7684\u514d\u8d39\u989d\u5ea6\u80fd\u5426\u652f\u6491\u957f\u671f\u7559\u5b58\u5b58\u7591\uff1b\u5176\u6b21\uff0c\u201c\u5361\u901a\u56de\u987e\u201d\u957f\u671f\u770b\u6781\u6613\u6ca6\u4e3a\u523b\u677f\u91cd\u590d\u7684\u73a9\u7b11\uff0c\u7f3a\u4e4f\u60c5\u611f\u6df1\u5ea6\uff1b\u6700\u540e\uff0c17+\u8bc4\u7ea7\u4e0e\u793e\u4ea4\u5206\u4eab\u7684\u5929\u7136\u51b2\u7a81\uff0c\u4ee4\u5176\u5f88\u96be\u5f62\u6210\u7f51\u7edc\u6548\u5e94\u3002Papaya\u76ee\u524d\u66f4\u50cf\u4e00\u4e2a\u201c\u6027\u5f20\u529b\u5341\u8db3\u7684\u72ec\u7acb\u827a\u672f\u9879\u76ee\u201d\uff0c\u800c\u975e\u53ef\u6301\u7eed\u7684\u5546\u4e1a\u4ea7\u54c1\u3002\u5b83\u6700\u5927\u7684\u4ef7\u503c\uff0c\u6216\u8bb8\u662f\u4e3a\u6574\u4e2a\u9690\u79c1\u6280\u672f\u9886\u57df\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6781\u5177\u53c2\u8003\u610f\u4e49\u7684\u8303\u5f0f\uff1a\u4f60\u4e0d\u9700\u8981\u8bf4\u670d\u7528\u6237\u201c\u6211\u4eec\u662f\u5b89\u5168\u7684\u201d\uff0c\u4f60\u53ea\u9700\u8981\u8ba9\u4ed6\u4eec\u4eb2\u773c\u770b\u5230\u201c\u6211\u4eec\u6ca1\u6709\u4e1c\u897f\u53ef\u88ab\u653b\u7834\u201d\u3002\u8fd9\u4e00\u70b9\uff0c\u503c\u5f97\u6240\u6709\u6240\u8c13\u201c\u79c1\u5bc6\u793e\u4ea4\u201d\u4ea7\u54c1\u6df1\u601d\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\">Papaya<\/span>\n                <\/div>\n<div class=\"comment-content\">Papaya listens to you having sex and draws a cartoon about it. Sound and motion only, on-device: no account, no cloud, no audio saved. It gives the night a title. Mine was &#8220;Faster than an elevator pitch.&#8221;<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I built an app that listens to you having sex and then draws you a cartoon about it. A papaya narrates. \ud83c\udf48<\/p>\n<\/p>\n<p>I would rather have one honest reaction than an install, so tell me what you would say to a friend after closing this tab.<\/p>\n<\/p>\n<p>Every couples app in this category is an account, a cloud, and a server holding the most private thing about you. &#8220;Trust us, it&#8217;s encrypted&#8221; never sat right with me for this particular data, so I built it without the server. There is nothing to breach because I never collect it.<\/p>\n<\/p>\n<p>Set the phone down nearby and tap Start. Papaya measures how loud and how lively the room gets, turns that into a number on the device, and releases the raw audio in the same frame. It writes nothing to disk.<\/p>\n<\/p>\n<p>Afterward you get a 30-second illustrated recap: your rhythm, your peaks, and a title for the night. Real ones from my own testing: &#8220;Steady as a Metronome.&#8221; &#8220;About as loud as a busy caf\u00e9.&#8221; The one that ruined my week: &#8220;Faster than an elevator pitch. Sharp. No regrets.&#8221; I shipped it anyway.<\/p>\n<\/p>\n<p>I drew the mascot, wrote the encryption, and got to explain all of it to App Review, who rejected me once before we came to an understanding. Rated 17+ for reasons I trust you can work out.<\/p>\n<\/p>\n<p>The honest asterisks, because this crowd checks:<\/p>\n<\/p>\n<p>\ud83d\udd12 Network: for most people the only call is Apple&#8217;s subscription check. Subscribe from Russia, where Apple IAP does not work, and a separate path confirms your subscription through Sign in with Apple. It sends an Apple token, never session data. Run a packet trace. I would rather you verify than trust me.<\/p>\n<\/p>\n<p>\ud83c\udf99\ufe0f Audio never reaches disk. Turn on the optional transcript, off by default, and an on-device speech model converts it to encrypted text that stays on your phone.<\/p>\n<\/p>\n<p>\u231a Watch heart rate is read-only and for fun. Not medical. Papaya never writes to Health.<\/p>\n<\/p>\n<p>\ud83d\udcf2 Sharing with your partner goes over AirDrop, encrypted end to end. No server in between.<\/p>\n<\/p>\n<p>Free gives you 3 full recaps the first week, then one a week. No card, no trial wall. Pro is $4.99 a month or $39.99 a year.<\/p>\n<\/p>\n<p>Tear the privacy architecture apart. That is the part I am proudest of.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey there again! <\/p>\n<p>Here is the <a href=\"https:\/\/apps.apple.com\/am\/app\/papaya-couples-date-night\/id6766052572%20Papaya:%20Couples%20&amp;%20Date%20Night\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">link<\/a> to the 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\/@petros_tepoyan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@petros_tepoyan1<\/a>&nbsp;Hey! Congrats on the launch!<\/p>\n<p>I specialize in creating launch videos for startups and noticed you don&#8217;t have a demo clip on your landing page yet. A 60-second explainer\/promo video can boost conversion by showing how it works.<\/p>\n<p>I can create one for you in 48 hours.<\/p>\n<p>Open to a quick chat this week?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">#15<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ZPFYOX3G5HK2A5\" class=\"app-title\">Soup CLI<\/a><\/p>\n<div class=\"one-liner\">Fine-tune an 8B LLM on a 4 GB laptop GPU<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">93<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Soup CLI \u8ba9\u7528\u6237\u5728\u4ec5\u6709 4 GB \u663e\u5b58\u7684\u7b14\u8bb0\u672c\u4e0a\uff0c\u901a\u8fc7\u5c06\u51bb\u7ed3\u7684\u57fa\u5ea7\u6a21\u578b\u5206\u5c42\u6d41\u5f0f\u52a0\u8f7d\u5230 GPU\uff0c\u5b9e\u73b0 8B \u7ea7\u522b\u5927\u6a21\u578b\u7684 LoRA \u5fae\u8c03\uff0c\u53ea\u9700\u4e00\u6761 YAML \u547d\u4ee4\u5373\u53ef\u5b8c\u6210 SFT\u3001DPO \u7b49\u8bad\u7ec3\u4e0e\u8bc4\u4f30\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\/f4e5888e-7fd2-4234-a788-bc8fe041582b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/T1LCErE943E?si=wiOglDpcRgJOR-io\"><source src=\"https:\/\/youtu.be\/T1LCErE943E?si=wiOglDpcRgJOR-io\" 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\/182d3e75-ab72-449c-8875-ec2362117d80.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\/27d7c338-0bae-4d72-89c5-4ff56ea74e4f.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\/c7d30d69-2077-40b3-84a5-133ba256ffed.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\/0dee666c-085c-4137-bad5-1d983f649747.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\/f0e81ed3-e2fe-426d-8681-08b00c01f6eb.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\/725e1f49-0222-451a-bb53-f3c18a6378b2.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\/4a9995c0-c547-4446-8331-bd95dd8f9b3b.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\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5927\u6a21\u578b\u5fae\u8c03<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u663e\u5b58\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">LoRA<\/span><br \/>\n            <span class=\"tag\">\u6d41\u5f0f\u52a0\u8f7d<\/span><br \/>\n            <span class=\"tag\">\u7b14\u8bb0\u672cGPU<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u8bad\u7ec3\u6b63\u786e\u6027\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u5176\u201c\u5982\u5b9e\u516c\u5e03\u9519\u8bef\u6570\u636e\u201d\u7684\u79d1\u7814\u900f\u660e\u5ea6\uff0c\u8ba4\u4e3a\u8fd9\u6bd4\u4f18\u5316\u672c\u8eab\u66f4\u96be\u5f97\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u6d41\u5f0f\u52a0\u8f7d\u7684 logits \u4e00\u81f4\u6027\u6821\u9a8c\u662f\u5426\u8986\u76d6 4-bit \u91cf\u5316\u57fa\u5ea7\u6a21\u578b\uff0c\u8fd8\u662f\u4ec5\u9a8c\u8bc1\u4e86\u5168\u7cbe\u5ea6\u573a\u666f\u3002\u540c\u65f6\uff0c\u6709\u8bc4\u8bba\u79f0\u8d5e 119.6 tok\/s \u7684\u901f\u5ea6\u4e3a\u672c\u5730\u8fed\u4ee3\u63d0\u4f9b\u4e86\u5b9e\u7528\u57fa\u51c6\uff0c\u5e76\u8ba4\u4e3a\u81ea\u52a8\u68c0\u6d4b\u201c\u635f\u5931\u4e0b\u964d\u4f46\u68af\u5ea6\u9519\u8bef\u201d\u7684\u9759\u9ed8\u5d29\u6e83\u673a\u5236\u6781\u5177\u4ef7\u503c\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                Soup CLI \u7684\u4eae\u70b9\u4e0d\u5728\u4e8e\u201c\u5728 4GB \u663e\u5361\u4e0a\u8dd1 8B \u6a21\u578b\u201d\u8fd9\u4e2a\u7ed3\u679c\uff0c\u800c\u5728\u4e8e\u5b83\u628a\u201c\u53ef\u590d\u73b0\u7684\u6b63\u786e\u6027\u201d\u4f5c\u4e3a\u4e86\u7b2c\u4e00\u516c\u6c11\u3002\u591a\u6570\u5f00\u6e90\u5fae\u8c03\u5de5\u5177\u5728\u4f4e\u663e\u5b58\u65b9\u6848\u4e0a\u5f80\u5f80\u4ee5\u201c\u635f\u5931\u66f2\u7ebf\u4e0b\u964d\u201d\u4f5c\u4e3a\u6210\u529f\u6807\u51c6\uff0c\u8fd9\u6070\u6070\u662f\u6df1\u5ea6\u5b66\u4e60\u4e2d\u5178\u578b\u7684\u81ea\u6b3a\u6b3a\u4eba\u2014\u2014\u4e0a\u5c42\u7f51\u7edc\u7ee7\u7eed\u5b66\u4e60\u5b8c\u5168\u53ef\u4ee5\u63a9\u76d6\u5e95\u5c42\u68af\u5ea6\u7684\u9759\u9ed8\u5931\u6548\u3002\u4f5c\u8005\u7528\u201c\u6d41\u5f0f logits \u5fc5\u987b\u4e0e\u5e38\u9a7b\u5185\u5b58\u7248\u672c\u4e25\u683c\u4e00\u81f4\u201d\u4f5c\u4e3a\u9a8c\u6536\u95e8\u69db\uff0c\u5e76\u4e3b\u52a8\u516c\u5f00\u81ea\u5df1\u5728 H100 \u4e0a\u53d1\u73b0\u7684\u68af\u5ea6\u9519\u8bef\uff0c\u8fd9\u76f4\u63a5\u6233\u4e2d\u4e86\u5f53\u524d AI \u5de5\u7a0b\u793e\u533a\u7684\u8f6f\u808b\uff1abenchmark \u6587\u5316\u76db\u884c\uff0c\u4f46\u5e72\u51c0\u7684\u6570\u636e\u6bd4\u6f02\u4eae\u7684\u6570\u5b57\u7a00\u7f3a\u5f97\u591a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u5546\u4e1a\u4ef7\u503c\u770b\uff0c\u5b83\u7684\u5b9a\u4f4d\u7cbe\u51c6\u5207\u5165\u4e86\u201c\u4e2a\u4eba\u5f00\u53d1\u8005+\u6d88\u8d39\u7ea7\u786c\u4ef6\u201d\u7684\u5939\u7f1d\u5e02\u573a\uff0c\u89c4\u907f\u4e86\u4e0e\u4e91\u7aef\u8bad\u7ec3\u5e73\u53f0\u7684\u6b63\u9762\u7ade\u4e89\u3002\u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1aLoRA \u672c\u8eab\u53c2\u6570\u91cf\u6781\u5c0f\uff0c4GB \u663e\u5b58\u8dd1 8B \u7684\u74f6\u9888\u4ece\u6765\u4e0d\u53ea\u662f\u663e\u5b58\u5bb9\u91cf\uff0c\u8fd8\u6709 PCIe \u5e26\u5bbd\u5e26\u6765\u7684 I\/O \u538b\u529b\u3002\u867d\u7136\u4f5c\u8005\u6d4b\u51fa\u4e86 119.6 tok\/s \u7684\u6570\u636e\uff0c\u4f46\u8fd9\u591a\u534a\u5efa\u7acb\u5728\u7cfb\u7edf RAM \u8db3\u591f\u5feb\u3001\u4e14\u6a21\u578b\u5c42\u6570\u8f83\u5c11\u7684\u7406\u60f3\u524d\u63d0\u4e0b\u3002\u771f\u5b9e\u573a\u666f\u4e2d\u7684\u6ce8\u610f\u529b\u5934\u8ba1\u7b97\u3001\u957f\u5e8f\u5217\u5904\u7406\u3001\u4ee5\u53ca 4-bit \u91cf\u5316\u4e0b\u7684\u7b97\u5b50\u878d\u5408\uff0c\u90fd\u4f1a\u8ba9\u6d41\u5f0f\u52a0\u8f7d\u7684\u8fb9\u9645\u6536\u76ca\u8fc5\u901f\u8870\u51cf\u3002\u8bc4\u8bba\u4e2d\u90a3\u6761\u5173\u4e8e\u201c\u91cf\u5316\u57fa\u5ea7\u4e0b\u4e00\u81f4\u6027\u6821\u9a8c\u662f\u5426\u4ecd\u7136\u6210\u7acb\u201d\u7684\u8ffd\u95ee\uff0c\u6070\u6070\u6307\u51fa\u4e86\u6f5c\u5728\u8f6f\u808b\u2014\u2014\u5982\u679c\u91cf\u5316\u5c42\u7684\u820d\u5165\u8bef\u5dee\u7834\u574f\u4e86\u6d41\u5f0f\u4e0e\u5e38\u9a7b\u7248\u672c\u7684 logits \u4e00\u81f4\u6027\uff0c\u90a3\u8fd9\u5957\u6b63\u786e\u6027\u534f\u8bae\u5c31\u9700\u8981\u91cd\u65b0\u8bbe\u8ba1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6574\u4f53\u800c\u8a00\uff0cSoup CLI \u662f\u4e00\u4e2a\u8bda\u610f\u4e4b\u4f5c\uff0c\u6280\u672f\u4e0a\u5de7\u5999\uff0c\u6001\u5ea6\u4e0a\u4e25\u8c28\u3002\u5b83\u66f4\u9002\u5408\u4f5c\u4e3a\u7814\u7a76\u4eba\u5458\u7684\u53c2\u8003\u5b9e\u73b0\u6216\u5c0f\u89c4\u6a21\u5b9e\u9a8c\u5de5\u5177\uff0c\u800c\u975e\u751f\u4ea7\u7ea7\u8bad\u7ec3\u6846\u67b6\u3002\u771f\u6b63\u7684 8B \u5fae\u8c03\u6c11\u4e3b\u5316\uff0c\u4ecd\u9700\u8981\u786c\u4ef6\u5382\u5546\u5728\u7edf\u4e00\u5185\u5b58\u67b6\u6784\u4e0a\u7684\u7a81\u7834\uff0c\u8f6f\u4ef6\u5c42\u9762\u80fd\u505a\u7684\uff0c\u6216\u8bb8\u4e5f\u5c31\u662f\u50cf Soup \u8fd9\u6837\u628a\u6bcf\u4e00\u4efd\u6570\u636e\u90fd\u644a\u5728\u9633\u5149\u4e0b\uff0c\u8ba9\u540e\u6765\u8005\u5c11\u8d70\u5f2f\u8def\u3002\u8fd9\u5df2\u7ecf\u503c\u5f97\u4e00\u4e2a\u8d5e\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\">Soup CLI<\/span>\n                <\/div>\n<div class=\"comment-content\">LoRA keeps the base model frozen: read, never written. So Soup keeps it in system RAM and streams it into the GPU one decoder layer at a time. Peak VRAM becomes one layer instead of the whole model. Measured on an RTX 3050 Laptop 4 GB: Llama-3.1-8B trains at 119.6 tok\/s in 3.32 GB peak. One YAML, one command. SFT, DPO, GRPO, KTO, plus eval, gating and export. Apache-2.0. Every number is published, including the ones I measured and threw away.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I built Soup because I have a 4 GB laptop and wanted to fine-tune models that<br \/>\ndo not fit in it.<\/p>\n<p>The idea is simple. During LoRA the base model is frozen. It is read, never<br \/>\nwritten. So it does not have to live in the GPU, it only has to arrive before<br \/>\nthe matmul that uses it. It sits in system RAM and streams in one decoder layer<br \/>\nat a time.<\/p>\n<p>The hard part was not speed. It was proving it is correct. Streaming fails<br \/>\nsilently: cut the autograd path and the loss still goes down, because the upper<br \/>\nlayers keep learning. So every release compares a streamed run against a<br \/>\nresident one and requires the logits to match exactly.<\/p>\n<p>Last week someone lent me 8 H100s for three days. That protocol found a bug in<br \/>\nmy own released code: above a certain layer size the gradients are silently<br \/>\nwrong while the loss curve looks healthy. I published it, with a reproducer.<\/p>\n<p>Everything is Apache-2.0 and every measurement is in the repo, including the<br \/>\nones that turned out wrong.<\/p>\n<p>Happy to answer anything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Publishing the ones that turned out wrong is the detail that stands out. Ran into a smaller version of that this month, checked AI Overview traffic on three real sites expecting some signal and got zero across the board, and the honest move was publishing zero instead of only writing up the wins. Question on the streaming approach: does the correctness check, streamed logits matching a resident run, hold up against an already 4-bit quantized base model, or is that validated against full precision only so far?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@makazhanalpamys\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"makazhanalpamys\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@makazhanalpamys<\/a> The layer-streaming idea is neat, but the correctness protocol is the part that won me over \u2014 requiring streamed-run logits to exactly match a resident run, because &#8220;cut the autograd path and the loss still goes down&#8221; is exactly the kind of silent failure most tools never check for.<\/p>\n<\/p>\n<p>And publishing the H100-found bug (gradients silently wrong above a layer size while the loss curve looks healthy) with a reproducer, in your own released code, is rarer than the optimization itself. That&#8217;s how benchmarks earn trust.<\/p>\n<\/p>\n<p>119.6 tok\/s in 3.32 GB on a 3050 laptop is a genuinely useful floor for people who want to iterate locally before paying for cloud GPUs \ud83d\udc4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/FHITHYPPKNRGY5\" class=\"app-title\">radiusHQ<\/a><\/p>\n<div class=\"one-liner\">One link replaces your scheduling chaos<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">88<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>radiusHQ \u662f\u4e00\u6b3e\u9762\u5411\u4e2a\u4eba\u670d\u52a1\u8005\u7684\u201c\u4e00\u7ad9\u5f0f\u9884\u7ea6\u7ecf\u8425\u9875\u201d\uff0c\u628a\u670d\u52a1\u76ee\u5f55\u3001\u4ef7\u683c\u3001\u65e5\u5386\u3001\u6536\u6b3e\u548c\u5ba2\u6237\u63d0\u9192\u6574\u5408\u8fdb\u4e00\u4e2a\u53ef\u81ea\u5b9a\u4e49\u54c1\u724c\u7684\u94fe\u63a5\uff0c\u8ba9\u5ba2\u6237\u5728 30 \u79d2\u5185\u5b8c\u6210\u9884\u7ea6\uff0c\u5e2e\u52a9\u4f60\u544a\u522b\u201c\u79c1\u4fe1\u6765\u56de\u95ee\u3001\u94fe\u63a5\u5206\u6563\u4e71\u201d\u7684\u65e5\u5e38\u6392\u671f\u6df7\u4e71\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\/be70674a-05f8-4654-a34d-c72f0b0279c2.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\/e1419e08-f574-4f52-a8e8-a7d3114bce7b.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\/c65186c1-f648-4a2e-bbbb-37b786efcb9e.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\/2f0a8108-edfe-440d-9c69-b095d91ed17e.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\/a968425a-c10a-43f1-aea3-480510328219.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\/ff9e66fd-35e2-4460-8705-5e56ecf12985.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\/071b6301-7166-4d83-8a73-5f2793fa1732.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\/b8d04437-8311-4c9f-9202-24efb7ef10ee.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=UzNgsUSa_TM\"><source src=\"https:\/\/www.youtube.com\/watch?v=UzNgsUSa_TM\" 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\">Marketing<\/span><br \/>\n            <span class=\"tag\">Calendar<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u9884\u7ea6\u94fe\u63a5<\/span><br \/>\n            <span class=\"tag\">\u670d\u52a1\u9884\u7ea6<\/span><br \/>\n            <span class=\"tag\">\u65e5\u7a0b\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u6536\u6b3e\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u54c1\u724c\u9875<\/span><br \/>\n            <span class=\"tag\">\u670d\u52a1\u5546\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5efa\u7ad9<\/span><br \/>\n            <span class=\"tag\">\u5ba2\u6237\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">link-in-bio\u5347\u7ea7<\/span><br \/>\n            <span class=\"tag\">\u5c0f\u578b\u5546\u52a1SaaS<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4eba\u4ecb\u7ecd\u4ea7\u54c1\u521d\u8877\u4e0e\u4f4e\u4ef7\u4fc3\u9500\uff1b\u7528\u6237@subhrajbasu \u63d0\u51fa\u6838\u5fc3\u8d28\u7591\uff1a\u591a\u6210\u5458\u56e2\u961f\u573a\u666f\u4e0b\uff0c\u5355\u94fe\u63a5\u5982\u4f55\u8def\u7531\u5230\u6b63\u786e\u7684\u4eba\uff1f\u662f\u5426\u5171\u4eab\u540c\u4e00\u65e5\u5386\uff1f\u4ee5\u53ca\u5982\u4f55\u5728\u4e0d\u4e22\u5931\u5ba2\u6237\u5173\u7cfb\u7684\u524d\u63d0\u4e0b\u5b9e\u73b0\u8f6e\u6d41\u5206\u914d\uff08round-robin\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                radiusHQ \u7684\u5b9a\u4f4d\u5f88\u806a\u660e\u2014\u2014\u5b83\u7784\u51c6\u7684\u4e0d\u662f\u4f01\u4e1a\u7ea7\u8c03\u5ea6\u8f6f\u4ef6\u7684\u590d\u6742\u6d41\u7a0b\uff0c\u800c\u662f\u90a3\u4e9b\u201c\u4e00\u4eba\u5373\u516c\u53f8\u201d\u7684\u7406\u53d1\u5e08\u3001\u5065\u8eab\u6559\u7ec3\u3001\u6444\u5f71\u5e08\u7b49\u4e2a\u4f53\u670d\u52a1\u8005\u3002\u8fd9\u7c7b\u7528\u6237\u771f\u5b9e\u7684\u75db\u4e0d\u662f\u201c\u6ca1\u6709\u65e5\u5386\u201d\uff0c\u800c\u662f\u201c\u65e5\u5386\u3001\u62a5\u4ef7\u3001\u6536\u6b3e\u3001\u793e\u4ea4\u4e3b\u9875\u201d\u4e92\u76f8\u5272\u88c2\uff0c\u5bfc\u81f4\u5927\u91cf\u65f6\u95f4\u8017\u5728\u91cd\u590d\u7684\u79c1\u4fe1\u6c9f\u901a\u91cc\u3002\u7528\u4e00\u4e2a\u53ef\u81ea\u5b9a\u4e49\u7684\u94fe\u63a5\u6574\u5408\u5168\u90e8\u4ea4\u6613\u524d\u7f6e\u52a8\u4f5c\uff0c\u786e\u5b9e\u5207\u4e2d\u4e86\u9ad8\u9891\u3001\u4f4e\u5ba2\u5355\u3001\u91cd\u53e3\u7891\u7684\u670d\u52a1\u4e1a\u6001\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u76ee\u524d\u5b58\u5728\u660e\u663e\u7684\u5929\u82b1\u677f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e00\uff0c**\u8bc4\u8bba\u8005\u70b9\u51fa\u7684\u56e2\u961f\u534f\u4f5c\u95ee\u9898\u5e76\u975e\u4e2a\u4f8b**\uff0c\u800c\u662f\u4ece\u4e2a\u4f53\u6237\u5411\u5c0f\u578b\u5de5\u4f5c\u5ba4\u81ea\u7136\u8fc1\u79fb\u65f6\u7684\u5fc5\u7ecf\u95e8\u69db\u3002\u5982\u679c\u5355\u94fe\u63a5\u80cc\u540e\u53ea\u662f\u5171\u4eab\u4e00\u4e2a\u65e5\u5386\uff0c\u90a3\u201c\u8def\u7531\u201d\u548c\u201c\u5173\u7cfb\u5f52\u5c5e\u201d\u5c31\u65e0\u4ece\u8c08\u8d77\uff1b\u82e5\u8981\u505a\u591a\u6210\u5458\u6743\u9650\u3001\u8d1f\u8377\u5206\u914d\u548c\u5ba2\u6237\u5386\u53f2\u8bb0\u5f55\uff0c\u5176\u590d\u6742\u5ea6\u5c06\u8fdc\u8d85\u5f53\u524d\u201c10\u5206\u949f\u642d\u5efa\u201d\u7684\u5356\u70b9\u3002\u56e2\u961f\u7248\u76ee\u524d\u4ec5\u9760\u201c\u7ec8\u8eab $69\u201d\u5438\u5f15\u65e9\u671f\u7528\u6237\uff0c\u4f46\u8fd9\u6070\u6070\u66b4\u9732\u51fa\u8be5\u4ea7\u54c1\u5728\u534f\u540c\u529f\u80fd\u4e0a\u6ca1\u6709\u7ed9\u51fa\u660e\u786e\u8bbe\u8ba1\u7b54\u6848\uff0c\u4fbf\u5b9c\u53ef\u80fd\u53ea\u662f\u4e3a\u4e86\u907f\u514d\u9000\u8d27\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e8c\uff0c**\u201c100\u4e2a\u9884\u7ea6\u94fe\u63a5\u201d\u7684\u5546\u4e1a\u62a4\u57ce\u6cb3\u6781\u6d45**\u3002\u540c\u7c7b\u4ea7\u54c1\u5982 Calendly \u5df2\u8986\u76d6\u65e5\u7a0b\uff0cCarrd\/Linktree \u5df2\u8986\u76d6\u94fe\u63a5\u805a\u5408\uff0cStripe \u5df2\u8986\u76d6\u652f\u4ed8\u3002radiusHQ \u76ee\u524d\u53ea\u662f\u628a\u5b83\u4eec\u201c\u62fc\u201d\u5f97\u597d\u770b\u4e00\u70b9\u3002\u771f\u6b63\u7684\u58c1\u5792\u5e94\u662f\u201c\u5ba2\u6237\u5173\u7cfb\u8d44\u4ea7\u201d\u2014\u2014\u5373\u9884\u7ea6\u4e4b\u540e\u662f\u5426\u4ea7\u751f\u590d\u8d2d\u8ffd\u8e2a\u3001\u753b\u50cf\u6c89\u6dc0\u3001\u81ea\u52a8\u8425\u9500\u3002\u5426\u5219\u5b83\u53ea\u662f\u4e00\u4e2a\u6f02\u4eae\u7684\u4e2d\u95f4\u5c42\uff0c\u5f88\u5bb9\u6613\u88ab\u5e73\u53f0\u65b9\uff08Instagram\u3001Google\uff09\u6216\u8d85\u7ea7\u5e94\u7528\u53cd\u5411\u5438\u6536\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7b2c\u4e09\uff0c\u521b\u59cb\u4eba\u5f3a\u8c03\u201c\u65e0\u4ee3\u7801\u3001\u65e0\u7f51\u7ad9\u201d\uff0c\u8fd9\u65e2\u662f\u7b80\u5316\u4e5f\u662f\u9650\u5236\u3002\u670d\u52a1\u884c\u4e1a\u4e00\u65e6\u8981\u589e\u52a0\u4f1a\u5458\u3001\u62bc\u91d1\u3001\u5957\u9910\u6838\u9500\u3001\u5458\u5de5\u5206\u8d26\uff0c\u5f53\u524d\u9875\u9762\u6a21\u578b\u4f1a\u5f88\u5feb\u89e6\u53ca\u8fb9\u754c\u3002**\u4e0e\u5176\u8ffd\u6c42\u201c\u4ee3\u66ff\u7f51\u7ad9\u201d\uff0c\u4e0d\u5982\u52a1\u5b9e\u5c06\u9875\u9762\u7ec3\u6210\u9ad8\u8f6c\u5316\u843d\u5730\u9875\uff0c\u5e76\u5f00\u653e API \u7ed9\u73b0\u6709\u5de5\u5177\u94fe\u3002**\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u8bc4\u4ef7\uff1a**\u65b9\u5411\u6b63\u786e\uff0c\u5207\u5165\u70b9\u950b\u5229\uff0c\u6267\u884c\u529b\u65e9\u671f\u8868\u73b0\u826f\u597d**\u3002\u4f46\u82e5\u5728 3 \u4e2a\u6708\u5185\u4e0d\u8865\u4e0a\u201c\u56e2\u961f\u8def\u7531\u201d\u548c\u201c\u5ba2\u6237\u7559\u5b58\u201d\u8fd9\u4e24\u4e2a\u5b9e\u8d28\u6027\u7f3a\u53e3\uff0c\u4ea7\u54c1\u4f1a\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u201c\u597d\u770b\u4f46\u53ef\u66ff\u6362\u201d\u7684\u94fe\u63a5\u9875\u5de5\u5177\u3002\u76ee\u524d 88 \u7968\u7684\u53cd\u9988\u66f4\u591a\u662f\u60c5\u611f\u8ba4\u540c\uff0c\u6838\u5fc3\u4ea4\u6613\u573a\u666f\u7684\u4e25\u8c28\u6027\uff08\u591a\u4eba\u3001\u591a\u670d\u52a1\u3001\u591a\u4ef7\u683c\uff09\u624d\u662f\u8bd5\u91d1\u77f3\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\">radiusHQ<\/span>\n                <\/div>\n<div class=\"comment-content\">Your services, prices, calendar, payments, and reminders \u2014 all in one beautiful page. Clients book in 30 seconds. You set it up in 10 minutes.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I built **radiusHQ** after watching a barber friend lose nearly 2 hours every day answering the same questions:<\/p>\n<p>\u201cWhen are you free?\u201d<br \/>\n\u201cHow much does this service cost?\u201d<br \/>\n\u201cCan I book for Saturday?\u201d<\/p>\n<p>He had one link for his profile, another for scheduling, and still spent hours going back and forth in DMs.<\/p>\n<p>I kept thinking: **why can&#8217;t one link do all of this?**<\/p>\n<p>So I built radiusHQ \u2014 a business page that actually takes action.<\/p>\n<p>With one link, your clients can:<\/p>\n<p>\u2022 See your services and prices<br \/>\n\u2022 Book an available time instantly<br \/>\n\u2022 Choose a professional<br \/>\n\u2022 Find your important links<br \/>\n\u2022 And now, you can **design and customize the page to match your brand**<\/p>\n<p>Change the look, personalize your page, showcase your business, and take bookings \u2014 all from one place.<\/p>\n<p>No website. No code. No more \u201cDM to book.\u201d<\/p>\n<p>\ud83c\udfa5 Want to see it in action? Watch the 2-minute walkthrough:<br \/>\n<a href=\"https:\/\/youtu.be\/UzNgsUSa_TM\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/youtu.be\/UzNgsUSa_TM<\/a><\/p>\n<p>\u2728 Prefer exploring it yourself? Try the interactive demo:<br \/>\n<a href=\"https:\/\/app.supademo.com\/demo\/cmqjidmo01gdiqmx1pq83ajbd?utm_source=link\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/app.supademo.com\/demo\/cm&#8230;<\/a><\/p>\n<p>To celebrate the launch, I&#8217;m offering the **Team plan for $69 lifetime** instead of $348\/year, limited to the first 200 practitioners.<\/p>\n<p>If you run a service business \u2014 or know someone who does \u2014 I&#8217;d love your feedback:<\/p>\n<p>\u2022 Would you replace your current link-in-bio with this?<br \/>\n\u2022 What feels like it&#8217;s still missing?<br \/>\n\u2022 What would make radiusHQ a no-brainer for your business?<\/p>\n<p>Thanks for checking it out \ud83d\ude4c<\/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\/@subhrajbasu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@subhrajbasu<\/a>&nbsp;The scheduling sprawl I feel most is across a team, where four people each have a booking link and the prospect ends up with three of them in one thread. Does the single link route by context to the right person, or is it one shared calendar behind it? Curious how you do round-robin without losing who owns the relationship.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/EXCWHA2O7RAK3O\" class=\"app-title\">Grok Imagine 2.0<\/a><\/p>\n<div class=\"one-liner\">Next-gen AI image generator with segmentation editing.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">86<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Grok Imagine 2.0 \u662f\u96c6\u6210\u4e8e X \u5e73\u53f0\u7684\u4e0b\u4e00\u4ee3 AI \u56fe\u50cf\u751f\u6210\u5668\uff0c\u6838\u5fc3\u5356\u70b9\u662f\u6307\u4ee4\u8ddf\u968f\u3001\u6587\u5b57\u6e32\u67d3\u4e0e\u7248\u5f0f\u3001\u590d\u6742\u5e03\u5c40\u63a7\u5236\uff0c\u4ee5\u53ca\u901a\u8fc7\u201cMagic Wand\u201d\u5b9e\u73b0\u7cbe\u51c6\u533a\u57df\u7f16\u8f91\uff0c\u89e3\u51b3\u521b\u4f5c\u8005\u5728\u5e7f\u544a\u3001\u4ea7\u54c1\u56fe\u7b49\u573a\u666f\u4e2d\u201c\u6539\u4e00\u5904\u800c\u6bc1\u5168\u5c40\u201d\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/323cc680-01fa-4a9c-88b9-9e237516a031.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Lz464-9i3_0\"><source src=\"https:\/\/www.youtube.com\/watch?v=Lz464-9i3_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<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eb4191fe-774e-41e1-8328-6081f53957df.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\/5a8a61c7-bf8c-4a66-b175-e287aac2420d.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\/60424d4a-6ced-45c8-aaea-671f3240e644.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\/65022ac5-9ce0-4064-9142-65554ef3999c.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\/133caf12-8aac-463c-94f8-1780eaa7d59f.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>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u56fe\u50cf\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u533a\u57df\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">Magic Wand<\/span><br \/>\n            <span class=\"tag\">\u7248\u5f0f\u6e32\u67d3<\/span><br \/>\n            <span class=\"tag\">\u6307\u4ee4\u8ddf\u968f<\/span><br \/>\n            <span class=\"tag\">\u5e03\u5c40\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">X\u5e73\u53f0\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u521b\u4f5c\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5e7f\u544a\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u56fe\u50cf\u6a21\u578b\u5347\u7ea7<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u591a\u6570\u8bc4\u8bba\u8ba4\u53ef\u753b\u8d28\u63d0\u5347\u4e0e\u6587\u5b57\u6e32\u67d3\u8fdb\u6b65\uff0c\u4f46\u6307\u51fa\u4e0e\u9876\u7ea7\u6a21\u578b\uff08\u5982\u8d85\u5199\u5b9e\u65b9\u5411\uff09\u4ecd\u6709\u5dee\u8ddd\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728 Magic Wand \u662f\u5426\u4fdd\u6301\u672a\u7f16\u8f91\u533a\u57df\u50cf\u7d20\u7ea7\u7a33\u5b9a\uff0c\u4ee5\u53ca\u8be5\u5206\u5272\u7f16\u8f91\u662f\u5426\u5f00\u653e API\uff0c\u8fd8\u662f\u4ec5\u9650\u5e94\u7528\u5185\u4f7f\u7528\u3002\u53e6\u6709\u7528\u6237\u671f\u5f85 AI \u89c6\u9891\u5de5\u5177\u540c\u6b65\u8fdb\u5316\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                Grok Imagine 2.0 \u7684\u5b9a\u4f4d\u975e\u5e38\u806a\u660e\uff1a\u4e0d\u5728\u201c\u8d85\u5199\u5b9e\u201d\u8fd9\u79cd\u7ea2\u6d77\u8d5b\u9053\u786c\u62fc\uff0c\u800c\u662f\u62bc\u6ce8\u201c\u53ef\u63a7\u6027\u201d\u4e0e\u201c\u5c40\u90e8\u7cbe\u4fee\u201d\u8fd9\u4e2a\u88ab\u5927\u591a\u6570\u751f\u6210\u6a21\u578b\u5ffd\u89c6\u7684\u75db\u70b9\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u5bf9\u753b\u8d28\u5df2\u6709\u57fa\u672c\u6ee1\u610f\u5ea6\uff0c\u771f\u6b63\u7684\u804c\u4e1a\u521b\u4f5c\u8005\uff08\u505a\u4ea7\u54c1\u56fe\u3001\u5e7f\u544a\u56fe\uff09\u6700\u6015\u7684\u662f\u201c\u7275\u4e00\u53d1\u52a8\u5168\u8eab\u201d\u2014\u2014\u6539\u4e2a\u5546\u54c1\u989c\u8272\uff0c\u80cc\u666f\u6587\u5b57\u5168\u4e71\u3002Magic Wand \u82e5\u80fd\u505a\u5230\u50cf\u7d20\u7ea7\u7a33\u5b9a\uff0c\u54ea\u6015\u751f\u6210\u6574\u4f53\u80fd\u529b\u4e0d\u662f\u6700\u5f3a\uff0c\u4e5f\u80fd\u6210\u4e3a\u5de5\u4f5c\u6d41\u4e2d\u4e0d\u53ef\u66ff\u4ee3\u7684\u201c\u4fee\u8865\u5de5\u5177\u201d\uff0c\u8fd9\u662f\u5178\u578b\u7684\u5de5\u5177\u4ef7\u503c\u5927\u4e8e\u6a21\u578b\u4ef7\u503c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u4e5f\u660e\u663e\uff1a\u7b2c\u4e00\uff0c\u8bc4\u8bba\u4e2d\u201c\u4e0e\u8d85\u5199\u5b9e\u6709\u5dee\u8ddd\u201d\u610f\u5473\u7740\u666e\u901a\u7528\u6237\u5fc3\u667a\u4ecd\u88ab Midjourney \u7b49\u5934\u90e8\u4ea7\u54c1\u5360\u636e\uff0cGrok \u82e5\u6ca1\u6709\u72ec\u95e8\u7edd\u6280\uff0c\u5f88\u96be\u7834\u5708\uff1b\u7b2c\u4e8c\uff0c\u5206\u5272\u7f16\u8f91\u82e5\u4e0d\u5f00\u653e API\uff0c\u4ec5\u9760 X \u7ad9\u5185\u4f7f\u7528\uff0c\u4f1a\u4e25\u91cd\u9650\u5236\u5176\u88ab\u5d4c\u5165\u7b2c\u4e09\u65b9\u8bbe\u8ba1\u5de5\u5177\u7684\u53ef\u80fd\uff0c\u7b49\u4e8e\u81ea\u65ad\u589e\u957f\u8def\u5f84\uff1b\u7b2c\u4e09\uff0c\u7528\u6237\u5bf9\u201c\u6307\u4ee4\u8ddf\u968f\u201d\u7684\u5938\u5956\u5176\u5b9e\u662f\u5bf9\u57fa\u7840\u529f\u80fd\u7684\u786e\u8ba4\uff0c\u800c\u975e\u60ca\u559c\uff0c\u8bf4\u660e\u8be5\u9886\u57df\u540c\u8d28\u5316\u5df2\u6781\u4e25\u91cd\uff0c\u5355\u51ed\u201c\u66f4\u597d\u4e00\u70b9\u201d\u4e0d\u8db3\u4ee5\u6784\u6210\u6301\u7eed\u58c1\u5792\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u503c\u5f97\u5173\u6ce8\u7684\u4e0d\u662f\u5b83\u80fd\u751f\u6210\u591a\u597d\u7684\u56fe\uff0c\u800c\u662f\u5b83\u80fd\u5426\u5c06\u201c\u533a\u57df\u7f16\u8f91\u201d\u505a\u6210\u6807\u51c6\u80fd\u529b\uff0c\u5e76\u5feb\u901f\u5f00\u653e\u63a5\u53e3\uff0c\u8ba9 Figma\u3001Photoshop \u63d2\u4ef6\u751f\u6001\u4e3b\u52a8\u96c6\u6210\u5b83\u3002\u82e5\u53ea\u505c\u7559\u5728\u4ea7\u54c1\u529f\u80fd\u5c42\uff0c\u8fd9\u4e0d\u8fc7\u662f X \u751f\u6001\u7684\u52a0\u5206\u9879\uff0c\u8c08\u4e0d\u4e0a\u98a0\u8986\u3002\u4e00\u53e5\u8bdd\uff1a\u65b9\u5411\u5bf9\uff0c\u4f46\u683c\u5c40\u5f97\u6253\u5f00\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\">Grok Imagine 2.0<\/span>\n                <\/div>\n<div class=\"comment-content\">Grok Imagine 2.0 brings major upgrades to Grok&#8217;s image generation capabilities: significantly better instruction following, sharp text rendering &#038; typography, complex coherent layouts, and precise region editing with Magic Wand.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>To be honest, now, there are so many good AI models for creating images that it is difficult to chose only one. I would like to see more AI video tools improving as well.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Grok Imagine 2.0 brings major upgrades to Grok&#8217;s image generation model, including improved instruction following, sharp text rendering &amp; typography, complex coherent layouts, and precise region editing with Magic Wand. Excited to see what creators build with it!<\/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\">Honestly not as powerful and close to hyper realism as the others but it\u2019s a good addition to the X suite<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 nice improvements and sharper finer quality rendering. Grok has made some real quality gains the last few updates<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 Magic Wand region editing is the piece I&#8217;m most curious about \u2014 for product and ad images the usual failure is that editing one region subtly shifts everything else (text warps, layout drifts). Does 2.0 keep the untouched regions pixel-stable, or is it a full regenerate guided by the mask? Also curious if segmentation editing is exposed in the API or app-only 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<\/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\/W3WBPM5THSZEXR\" class=\"app-title\">Good Assistant 2<\/a><\/p>\n<div class=\"one-liner\">Turn life goals into daily progress.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">85<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Good Assistant 2 \u662f\u4e00\u6b3e\u5c06\u5b8f\u5927\u4eba\u751f\u76ee\u6807\u62c6\u89e3\u4e3a\u6bcf\u65e5\u53ef\u6267\u884c\u6b65\u9aa4\uff0c\u5e76\u901a\u8fc7\u539f\u751f\u96c6\u6210\u7684\u4efb\u52a1\u3001\u7b14\u8bb0\u4e0e\u65e5\u7a0b\u7ba1\u7406\uff0c\u4e3b\u52a8\u63d0\u9192\u548c\u966a\u4f34\u4f60\u843d\u5b9e\u884c\u52a8\u7684 AI \u6548\u7387\u52a9\u624b\uff0c\u4e13\u6cbb\u201c\u6709\u8ba1\u5212\u65e0\u6267\u884c\u201d\u7684\u62d6\u5ef6\u75c7\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\/0cb4afee-c0dc-41c1-88fb-dbccc0bfcb60.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\/28efdf86-714c-457b-984d-45dea51be2ad.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\/1def67d4-3101-4299-b883-a41e252af57b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Task Management<\/span><br \/>\n            <span class=\"tag\">Virtual Assistants<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u76ee\u6807\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u89c4\u5212<\/span><br \/>\n            <span class=\"tag\">\u65e5\u5e38\u5f85\u529e<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u52a8\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u7b14\u8bb0\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u65e5\u5386\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u6210\u957f<\/span><br \/>\n            <span class=\"tag\">\u8ba2\u9605\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>\u8001\u7528\u6237\u80af\u5b9a\u684c\u9762\u53cc\u680f\u5e03\u5c40\uff08\u5de6\u4fa7\u4efb\u52a1\/\u7b14\u8bb0\uff0c\u53f3\u4fa7\u804a\u5929\uff09\u63d0\u5347\u4e13\u6ce8\u5ea6\uff0c\u5e76\u8d5e\u8d4f\u201c\u4e0eAI\u534f\u4f5c\u7f16\u8f91\u7b14\u8bb0\u201d\u529f\u80fd\u3002\u4e3b\u8981\u5efa\u8bae\uff1a\u5e0c\u671b\u7b14\u8bb0\u652f\u6301\u8868\u683c\uff1b\u8981\u6c42\u589e\u52a0\u90e8\u5206\u533a\u5757\u7684\u201c\u53ea\u8bfb\u4fdd\u62a4\u201d\uff0c\u9632\u6b62AI\u6539\u5199\u65f6\u610f\u5916\u8c03\u6574\u683c\u5f0f\uff1b\u6574\u4f53\u53cd\u9988\u79ef\u6781\uff0c\u671f\u5f85\u6df1\u5ea6\u7f16\u8f91\u529f\u80fd\u66f4\u65b0\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                \u5728ChatGPT\u7b49\u901a\u7528\u52a9\u624b\u6c89\u8ff7\u4e8e\u201c\u65e0\u6240\u4e0d\u77e5\u201d\u65f6\uff0cGood Assistant 2 \u9009\u62e9\u4e86\u4e00\u6761\u66f4\u8270\u96be\u4f46\u66f4\u6027\u611f\u7684\u8def\u5f84\uff1a\u505a\u201c\u65e0\u6240\u4e0d\u8bb0\u5f97\u201d\u3002\u5176\u6838\u5fc3\u5356\u70b9\u4e0d\u662f\u66f4\u5f3a\u7684\u63a8\u7406\u80fd\u529b\uff0c\u800c\u662f\u591a\u5c42\u8bb0\u5fc6\u7f51\u7edc\u4e0e\u539f\u751f\u5de5\u5177\u8c03\u7528\u7684\u6df1\u5ea6\u878d\u5408\u3002\u8fd9\u7cbe\u51c6\u51fb\u4e2d\u4e86AI\u6548\u7387\u5de5\u5177\u7684\u8f6f\u808b\u2014\u2014\u5927\u591a\u6570\u4ea7\u54c1\u53ea\u662f\u628a\u5f85\u529e\u6e05\u5355\u4ea4\u7ed9AI\uff0c\u800c\u5b83\u7528\u8bb0\u5fc6\u8ba9AI\u6210\u4e3a\u4f60\u7684\u201c\u7b2c\u4e8c\u5927\u8111\u5916\u6302\u201d\u300285\u7968\u867d\u4e0d\u60ca\u8273\uff0c\u4f46\u8bc4\u8bba\u533a\u7684\u201c463\u5929\u4f7f\u7528\u65f6\u957f\u201d\u4e0e\u5f00\u53d1\u8005\u5bf9\u8bbe\u8ba1\u7ec6\u8282\u7684\u504f\u6267\uff0c\u6697\u793a\u4e86\u9ad8\u7559\u5b58\u548c\u6781\u9ad8\u7528\u6237\u9ecf\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u540c\u6837\u523a\u773c\uff1a\u6bcf\u670829\u7f8e\u5143\u7684\u5b9a\u4ef7\u8fdc\u8d85Notion AI\u6216ChatGPT Plus\uff0c\u82e5\u8bb0\u5fc6\u4f18\u52bf\u65e0\u6cd5\u5728\u201c\u8bed\u8a00\u5b66\u4e60\/\u521b\u4e1a\u63a8\u8fdb\u201d\u7b49\u573a\u666f\u4e2d\u8f6c\u5316\u4e3a\u53ef\u91cf\u5316\u7684\u4ea7\u51fa\uff08\u5982\u5b66\u4f1a300\u4e2a\u5355\u8bcd\uff09\uff0c\u7528\u6237\u5f88\u5bb9\u6613\u5728\u65b0\u9c9c\u611f\u6d88\u9000\u540e\u6d41\u5931\u3002\u8bc4\u8bba\u4e2d\u201cAI\u91cd\u6392\u7b14\u8bb0\u683c\u5f0f\u201d\u7684\u62b1\u6028\uff0c\u66b4\u9732\u51fa\u8bb0\u5fc6\u6a21\u578b\u5728\u7406\u89e3\u7528\u6237\u610f\u56fe\u4e0a\u7684\u8fb9\u754c\u2014\u2014AI\u80fd\u8bb0\u4f4f\u4f60\u4e00\u5e74\u524d\u7684\u4e00\u53e5\u8bdd\uff0c\u5374\u5206\u4e0d\u6e05\u4f60\u6b64\u523b\u662f\u5426\u60f3\u4fdd\u7559\u6bb5\u843d\u7f29\u8fdb\uff0c\u8fd9\u662f\u201c\u4e3b\u52a8\u201d\u4e0e\u201c\u5e72\u9884\u201d\u4e4b\u95f4\u7684\u5fae\u5999\u5e73\u8861\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\uff0c\u672a\u5fc5\u662f\u66f4\u591a\u5c42\u8bb0\u5fc6\uff0c\u800c\u662f\u5b66\u4f1a\u4f55\u65f6\u95ed\u5634\u3002\u82e5\u80fd\u5728\u7b14\u8bb0\u534f\u4f5c\u7684\u7ec6\u7c92\u5ea6\u6743\u9650\u548c\u7f16\u8f91\u514b\u5236\u4e0a\u5148\u505a\u5230\u6781\u81f4\uff0c\u8fd9\u6bd4\u4efb\u4f55\u70ab\u6280\u7684\u8bb0\u5fc6\u5c42\u90fd\u66f4\u80fd\u8d62\u56de\u7528\u6237\u7684\u4fe1\u4efb\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u50cf\u662f\u4e00\u53f0\u9ad8\u7cbe\u5c16\u4f46\u5076\u5c14\u5192\u8fdb\u7684\u624b\u672f\u673a\u5668\u4eba\uff0c\u65b9\u5411\u5bf9\u4e86\uff0c\u624b\u611f\u8fd8\u9700\u6253\u78e8\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\">Good Assistant 2<\/span>\n                <\/div>\n<div class=\"comment-content\">Good Assistant 2 turns your goals into daily steps and makes sure they happen. Plans your day with you, tracks progress, and helps you follow through.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Good Assistant is my passion project. I wanted a human-like assistant that would bring structure to pursuing my goals. Things like learning a language or taking my startup to the next phase. It felt like AI was there in terms of capability, but products like ChatGPT went in a different direction.<\/p>\n<p>I started in early 2025, released the first version in early 2026, and kept working to reach the level of usefulness I imagined from the start. Version 2 adds tasks, reminders, and a new structure for your work on the goals that matter to you. Every morning, your assistant suggests things to do based on your existing tasks and all other context. So that you move forward to where you want to be, without being overwhelmed by unfinished tasks that accumulated in your inbox.<\/p>\n<p>What makes it different from other AI apps:<\/p>\n<p>Memory. Good Assistant has many constantly maintained memory layers, static and dynamic. The result is an assistant that remembers what you mentioned once a year ago, naturally, without asking. The rich memory accounts for the majority of tokens used, which is also why it costs $29\/month.<\/p>\n<p>Native integration. Tasks, notes, goals, reminders, and calendar are woven into the app on all levels. With other AI tools you can connect these via MCP, but in practice you have to instruct the AI to use them. Good Assistant reads your tasks and notes on its own and uses that knowledge to be more helpful.<\/p>\n<p>It&#8217;s proactive: it messages you during the day whenever it&#8217;s helpful based on context, and it knows your schedule, so the planning stays realistic even when tasks pile up.<\/p>\n<p>There&#8217;s a 1-week free trial. I&#8217;d love to hear what you think!<\/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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I use Good Assistant for awhile now. 463 days to be exact, it&#8217;s pretty cute how you can see your &#8220;Days with Kiki&#8221; (or whatever your assistant is called) in the app.<\/p>\n<\/p>\n<p>Among the recent updates I&#8217;m really happy about how the desktop layout turned out. Working on a note or task on the left, and having a chat on the right is super-handy. The design is light, and allows for a lot of mindspace to think about what I need to think about. <\/p>\n<\/p>\n<p>Any planned updates for the notes formatting possibilities? e.g. the ability to create a table?<\/p>\n<p>I also really like how I can &#8220;cowork&#8221; on the note with the Assistant. But I would like the possibility to protect some parts of the note from being edited by an Assistant when I ask it to do something. Sometimes the note ends up reformatted when Assistant touches it. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yulia_ruda1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yulia_ruda1<\/a>&nbsp;Great that you&#8217;re already using and liking the updates! It was my goal to make the design light enough for the app to never feel too busy, I&#8217;m happy that&#8217;s true for you.<\/p>\n<\/p>\n<p>Notes is where biggest updates are coming soon. I am planning the redo the text-editing completely, so it&#8217;s more reliable and better to use, that will affect both iOS and web. Creating tables won&#8217;t be supported for a while. But there will be new features related to working on notes together with your assistant. Like the assistant automatically knowing which note you&#8217;re looking at, better indication when they are editing your note and other improvements that will make it easier to use and more understandable.<\/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\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/T5JP3XECKK6JLD\" class=\"app-title\">Bunzee 3.0<\/a><\/p>\n<div class=\"one-liner\">Idea \u2192 IA \u2192 wireframes \u2192 design \u2192 build via MCP<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">35<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Bunzee 3.0 \u662f\u4e00\u6b3e\u9762\u5411 AI \u8f85\u52a9\u5f00\u53d1\u6d41\u7a0b\u7684\u524d\u7aef\u89c4\u5212\u5de5\u5177\uff0c\u5c06\u201c\u60f3\u6cd5\u201d\u8f6c\u5316\u4e3a\u5305\u542b\u7ade\u54c1\u5206\u6790\u3001PRD\u3001IA\u3001\u7ebf\u6846\u56fe\u53ca\u8bbe\u8ba1\u7a3f\u7684\u7ed3\u6784\u5316\u89c4\u683c\u6587\u6863\uff0c\u5e76\u901a\u8fc7 MCP \u534f\u8bae\u8f93\u51fa\u7ed9 AI \u7f16\u7a0b\u5de5\u5177\uff0c\u89e3\u51b3 AI \u56e0\u7f3a\u4e4f\u4e0a\u4e0b\u6587\u800c\u201c\u778e\u731c\u201d\u5f0f\u5f00\u53d1\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\/492a29d6-6094-47df-ac38-4da51a3e114a.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\/c2d3e221-6c32-47d3-85a9-b91f623466a3.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\/379fa013-b17e-4622-a442-2d4626f14180.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\/b19beabf-7aa2-4c6d-96bb-bd3b2237ee91.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\/fa9b822e-ad78-4b89-b60b-ffd4ddbc03e9.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\/02f825bb-8bbf-44de-92b5-ba791725c3e2.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\/013f518b-084b-4830-ad3f-29b2f3804573.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\/5b574cc7-2650-4846-871d-3136c754f3f2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/ufJGDCyR6JE\"><source src=\"https:\/\/youtu.be\/ufJGDCyR6JE\" 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\">Growth Hacking<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">UX Design<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ea7\u54c1\u89c4\u5212\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u5f00\u53d1\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u7ade\u54c1\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">PRD\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u7ebf\u6846\u56fe<\/span><br \/>\n            <span class=\"tag\">UI\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u7a3f\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u5de5\u7a0b<\/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\uff1a\u751f\u6210\u7684\u8bbe\u8ba1\u662f\u5426\u53ef\u624b\u52a8\u7f16\u8f91\uff08\u652f\u6301 Figma \u5206\u5c42\u5bfc\u51fa\u83b7\u8ba4\u53ef\uff09\uff1b\u4e0e Lovable\/Bolt \u662f\u4e0a\u6e38\u5173\u7cfb\u800c\u975e\u7ade\u4e89\uff1b\u8bbe\u8ba1\u610f\u56fe\u5230\u4ee3\u7801\u5de5\u5177\u7684\u4fdd\u771f\u5ea6\u6709\u5f85\u52a0\u5f3a\uff1b\u80fd\u5426\u81ea\u5b9a\u4e49\u8bbe\u8ba1\u7cfb\u7edf\u6587\u4ef6\u3002\u7528\u6237\u603b\u4f53\u8ba4\u53ef\u201c\u5148\u9a8c\u8bc1\u518d\u5f00\u53d1\u201d\u7684\u8def\u5f84\uff0c\u4f46\u6df1\u5ea6\u4f53\u9a8c\u53cd\u9988\u8f83\u5c11\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                Bunzee 3.0 \u7684\u5546\u4e1a\u53d9\u4e8b\u8e29\u4e2d\u4e86\u5f53\u4e0b AI \u7f16\u7a0b\u7684\u75db\u70b9\u2014\u2014\u751f\u6210\u5f0f\u5de5\u5177\u6cdb\u6ee5\u5bfc\u81f4\u201c\u5783\u573e\u8fdb\uff0c\u5783\u573e\u51fa\u201d\u3002\u5b83\u8bd5\u56fe\u7528\u201c\u7ed3\u6784\u5316\u4e0a\u4e0b\u6587\u201d\u4f5c\u4e3a\u62a4\u57ce\u6cb3\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u4f46\u672c\u8d28\u4ecd\u662f\u201cAI \u8f85\u52a9\u9700\u6c42\u5206\u6790\u201d\u7684\u589e\u91cf\u6539\u8fdb\uff0c\u800c\u975e\u8303\u5f0f\u7a81\u7834\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u56e2\u961f\u6ca1\u6709\u505c\u7559\u5728\u201c\u62a5\u544a\u751f\u6210\u5668\u201d\u5c42\u9762\uff0c\u800c\u662f\u6253\u901a\u4e86\u5230 Figma \u548c MCP \u7684\u4ea4\u4ed8\u94fe\u8def\uff0c\u5c24\u5176\u652f\u6301\u56fe\u5c42\u7ea7\u5bfc\u51fa\uff0c\u8fd9\u5207\u4e2d\u4e86\u8bbe\u8ba1\u5e08\u201c\u60f3\u4eb2\u624b\u6539\u201d\u7684\u771f\u5b9e\u9700\u6c42\uff0c\u6bd4\u7eaf prompt \u8fd4\u5de5\u9ad8\u6548\u5f97\u591a\u3002\u4f46\u6838\u5fc3\u95ee\u9898\u4f9d\u65e7\uff1a\u7ade\u54c1\u6570\u636e\u4e0e\u201c250+ \u8bbe\u8ba1\u98ce\u683c\u201d\u7684\u63a8\u8350\uff0c\u662f\u5426\u771f\u7684\u80fd\u66ff\u4ee3\u4eba\u5bf9\u4ea7\u54c1\u5b9a\u4e49\u7684\u4ef7\u503c\u5224\u65ad\uff1f\u6570\u636e\u53ea\u80fd\u8bc1\u660e\u201c\u522b\u4eba\u600e\u4e48\u505a\u201d\uff0c\u65e0\u6cd5\u56de\u7b54\u201c\u4f60\u7684\u7528\u6237\u8981\u4ec0\u4e48\u201d\u2014\u2014\u82e5\u5206\u6790\u5c42\u4f9d\u8d56\u6a21\u677f\u5316\u903b\u8f91\uff0c\u4ea7\u51fa\u7684 PRD \u4ecd\u4f1a\u8d8b\u4e8e\u5e73\u5eb8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0e Lovable\/Bolt \u7684\u201c\u4e0a\u6e38\u5b9a\u4f4d\u201d\u662f\u660e\u667a\u4e4b\u4e3e\uff0c\u907f\u514d\u6b63\u9762\u51b2\u7a81\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u5b83\u5fc5\u987b\u8db3\u591f\u8f7b\u91cf\u3001\u8db3\u591f\u6807\u51c6\uff0c\u624d\u80fd\u5d4c\u5165\u65e2\u6709\u5de5\u4f5c\u6d41\u3002\u800c\u7528\u6237\u7684\u771f\u5b9e\u7591\u95ee\u201c\u8bbe\u8ba1\u610f\u56fe\u5230 Codex\/Claude \u7684\u4fdd\u771f\u5ea6\u201d\u4ecd\u662f\u6700\u8106\u5f31\u7684\u73af\u8282\u2014\u2014MCP \u4f20\u7684\u662f\u7ed3\u6784\u5316\u6570\u636e\uff0c\u4f46\u751f\u6210\u4ee3\u7801\u65f6\u7684\u8bbe\u8ba1\u8fd8\u539f\u5ea6\u53d6\u51b3\u4e8e\u76ee\u6807\u6a21\u578b\u7684\u7406\u89e3\u529b\uff0c\u8fd9\u4e0d\u662f Bunzee \u5355\u65b9\u80fd\u63a7\u5236\u7684\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f5c\u4e3a 3.0 \u7248\u672c\uff0c\u5b83\u5df2\u5177\u5907\u5de5\u5177\u96cf\u5f62\uff0c\u4f46\u9a8c\u8bc1\u6210\u529f\u7684\u5173\u952e\u5728\u4e8e\uff1a\u80fd\u5426\u8ba9\u7528\u6237\u5728\u4e00\u6b21\u5b8c\u6574\u6d41\u7a0b\u540e\uff08\u4ece idea \u5230\u53ef\u8fd0\u884c\u5e94\u7528\uff09\u663e\u8457\u8282\u7701\u8fd4\u5de5\u65f6\u95f4\uff0c\u800c\u975e\u4ec5\u4e3a\u201c\u5206\u6790\u800c\u5206\u6790\u201d\u3002\u5426\u5219\uff0c\u5b83\u4ecd\u662f\u7cbe\u81f4\u7684 API \u58f3\uff0c\u96be\u9003\u88ab\u4e0a\u6e38\u6a21\u578b\u80fd\u529b\u589e\u5f3a\u6240\u541e\u566c\u7684\u547d\u8fd0\u3002\u8bc4\u8bba\u533a maker \u8ffd\u95ee\u201c\u54ea\u91cc\u65ad\u4e86\u201d\u662f\u8bda\u6073\u7684\uff0c\u4f46\u6570\u636e\u91cf\u548c\u6df1\u5ea6\u53cd\u9988\u7684\u7f3a\u5931\uff0c\u8ba9\u8fd9\u6b21\u53d1\u5e03\u66f4\u50cf\u662f\u4e00\u6b21\u5b9a\u5411\u9080\u8bf7\u6d4b\u8bd5\uff0c\u800c\u975e\u6210\u719f\u7684\u5546\u4e1a\u53d1\u5e03\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\">Bunzee 3.0<\/span>\n                <\/div>\n<div class=\"comment-content\">AI can&#8217;t build your app right without context\u2014it&#8217;s just guessing the next token. Bunzee gives it the full picture: it analyzes your idea against real competitors and market data, then breaks everything into structured specs\u2014PRD, IA, wireframes, and designs you can shape from 250+ global app styles. Each step feeds the next, and every one is grounded in objective data, not opinion. Then it all pipes to your AI coding tool over MCP, so your AI builds from real context, not vibes.<\/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<br \/>I&#8217;m the maker of Bunzee, and <strong>this is our third launch here<\/strong>\u2014so let me be honest about how we got to 3.0.<\/p>\n<p><strong>1.0 was pure analysis<\/strong>. Type in an idea, and it found similar services and broke them down with AI. Useful, but it stopped at &#8220;here&#8217;s what&#8217;s out there.&#8221; People read the report and\u2026 then what?<\/p>\n<p><strong>2.0 tried to answer that. <\/strong>We plugged in real service data and workflows, so it didn&#8217;t just analyze\u2014it produced a report, a PRD, even mockups with user interaction. Both times we kept hearing the same thing: &#8220;okay, but I still don&#8217;t know what to actually build.&#8221;<\/p>\n<p><strong><em>That&#8217;s the problem 3.0 is built around. Most of us hand our ideas to an AI to build now\u2014but an AI can&#8217;t build the right thing without context. Give it a vague prompt and it hallucinates an app nobody asked for.<\/em><\/strong><\/p>\n<p>So Bunzee 3.0 prepares that context. It analyzes your idea against real competitor and market data, then breaks it down step by step: PRD \u2192 IA \u2192 wireframes \u2192 design (shaped from 250 real global app styles).\u2192 prototype \u2192 MCP<\/p>\n<\/p>\n<p>Each step feeds the next, and every one is grounded in objective data, not opinion. Then it all pipes straight into your AI coding tool over MCP\u2014so your AI builds from real context, not vibes.<\/p>\n<p>What I&#8217;d most love feedback on: the wireframe \u2192 design \u2192 MCP handoff.<\/p>\n<p>Does it match how you actually build with AI today? Where does it break for you?<\/p>\n<p>Thanks for taking a look\u2014I&#8217;ll be here all day answering everything.<\/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 Launch! Validating before building is the advice everyone gives and almost nobody follows, mostly because it&#8217;s tedious. Making that part fast is a good problem to go after. Good luck today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abhi030609\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhi030609<\/a>&nbsp;Hi Abhijeet, thanks for good advice for us. How to balance tedious things are most important things in AI business.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@jhj_ji\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jhj_ji\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jhj_ji<\/a> Hey! Great Product i must say. Now i have one question &#8211; can we give our <a href=\"https:\/\/design.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">design.md<\/a> file in some way and then the screens generated would they be according to 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\/@jhj_ji\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jhj_ji<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@ashish_khandelwal11\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashish_khandelwal11<\/a>&nbsp; Current version is covering already proven apps&#8217; <a href=\"https:\/\/design.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">design.md<\/a> for those who doesn&#8217;t have design guide or system , we need to make enhancement to meet your requirement. But it won&#8217;t take long.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 \ud83d\udc4f .<br \/>When it generates screens or wireframes, can I actually edit them, for example move things, restructure, fix the spacing myself or am I re-prompting until it lands somewhere close enough to live 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@chris_green0742\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chris_green0742<\/a>&nbsp;Yeah, totally editable, not just re-prompting until it lands close enough! It exports into Figma with layers intact, so you can move things, restructure, fix spacing by hand exactly like normal. That&#8217;s actually how I use it myself, generate the wireframe, then edit what I want and only go back to Bunzee for the parts that need regenerating.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@shyunbill\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"shyunbill\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shyunbill<\/a> Congrats on the launch! My question is where Bunzee actually sits relative to Lovable or Bolt.<\/p>\n<p>The MCP mention makes me think you&#8217;re upstream of them rather than competing, but the page reads like it could go either way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jordan_valuable\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jordan_valuable<\/a>&nbsp;You read it right upstream, not competing. Lovable and Bolt start at build; we&#8217;re the step before, deciding what gets built. So the pitch is the first one. Run Bunzee first, push the PRD, IA, and wireframes into Cursor over MCP, and keep your build step exactly as it is.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 idea of giving AI coding tools structured context before they start building really makes sense. Curious how well the design intent carries through once it reaches Codex or Claude Code. Great work on 3.0! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@carter_wang2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carter_wang2<\/a>&nbsp;Thanks so much, Carter! Good question. Since we hand off actual design specs, not just a text prompt, the intent tends to survive a lot better once it reaches the coding tool. Still tightening that further for 3.0!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH. I&#8217;m the planner on the team. This is our third launch here. <\/p>\n<p>3.0 is built around that gap. Everyone hands their idea to an AI now, but an AI with no context builds something adjacent to what you asked for. What we spent this cycle on was the context itself \u2014 making it come from real market data instead of a prompt.<\/p>\n<\/p>\n<p>What&#8217;s in it:<\/p>\n<p>\u2022 Idea validation against real competitors and the complaints people already leave in that category<\/p>\n<p>\u2022 PRD and IA where every screen has a reason to exist<\/p>\n<p>\u2022 Wireframes \u2192 design, shaped from 250+ real global app styles<\/p>\n<p>\u2022 Figma export with layers intact, so you can fix things by hand instead of re-prompting<\/p>\n<p>\u2022 MCP handoff straight into Cursor or Claude Code<\/p>\n<\/p>\n<p>Free to try. Run one idea through it and tell me where it breaks \u2014 the step that felt useless, or the one you&#8217;d skip entirely. That&#8217;s the feedback I actually need.<\/p>\n<\/p>\n<p>Have a great day!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH. I&#8217;m the designer on the team. Shyun covered how we got to 3.0, so I&#8217;ll talk about the part I worked on.<\/p>\n<p>Ten years of UI\/UX before this, and the mistake I made most often was always the same one. I opened Figma first. Beautiful screens, shipped, nobody needed them. Prompt-to-UI tools didn&#8217;t fix that for me. They just made it faster to build the wrong thing.<\/p>\n<\/p>\n<p>So the screens in 3.0 don&#8217;t start from my taste. They start from what the analysis found, the complaints people already leave about products in that category. And you pick a direction from 250+ real global app styles instead of taking whatever the model felt like generating.<\/p>\n<\/p>\n<p>The feature I use the most myself is Figma export.<\/p>\n<p>Bunzee generates the wireframes, but I&#8217;m a designer. I want to fix them myself. Asking an AI to nudge one box, waiting, burning tokens, then asking again is slower than just doing it. So the wireframes export into Figma with the layers intact. I edit what I want to edit by hand, and only go back to Bunzee for the parts that actually need regenerating.<\/p>\n<\/p>\n<p>That turned out to be the fastest way to work, at least for me.<\/p>\n<\/p>\n<p><strong>What I&#8217;d love to hear from other designers:<\/strong><\/p>\n<p>Is that how you&#8217;d want to work with a tool like this, or would you rather stay in one place and never open Figma at all? And when you get an AI-generated screen, does it feel like something you&#8217;d edit, or something you&#8217;d throw out and redraw from scratch?<\/p>\n<\/p>\n<p>I genuinely can&#8217;t tell from inside the team, so I&#8217;ll be here all day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/XLM7LSZQAL5BQQ\" class=\"app-title\">TAKT<\/a><\/p>\n<div class=\"one-liner\">Stop babysitting AI coding agents \u2014 reviews can&#8217;t be skipped<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">14<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>TAKT \u662f\u4e00\u6b3e\u5f00\u6e90\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u901a\u8fc7YAML\u5b9a\u4e49\u5f3a\u5236\u6027\u7684\u201c\u8ba1\u5212\u2192\u5b9e\u73b0\u2192\u5ba1\u67e5\u2192\u4fee\u590d\u201d\u5faa\u73af\uff0c\u5c06AI\u7f16\u7a0b\u4ee3\u7406\u4ece\u4e0d\u53ef\u63a7\u7684\u201c\u9ed1\u76d2\u52a9\u624b\u201d\u8f6c\u53d8\u4e3a\u6d41\u7a0b\u53ef\u8ffd\u6eaf\u3001\u5ba1\u67e5\u4e0d\u53ef\u8df3\u8fc7\u7684\u201c\u53d7\u7ba1\u5de5\u4eba\u201d\uff0c\u89e3\u51b3\u957f\u4efb\u52a1\u4e2dAI\u5065\u5fd8\u3001\u89d2\u8272\u6df7\u6dc6\u548c\u53cd\u9988\u91cd\u590d\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\/db65d6f8-7cd9-4dbd-a8c5-b5d486f3cb98.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\/4c4ed1b2-abeb-42a6-9ebf-c2134356fa9b.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\/12f0505b-29e2-434d-b6a1-132cd62f4c76.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\/69648072-51a2-4a21-a6bb-485dc258a041.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\/2408e4a9-89e5-499e-a88e-f6e01ca1c185.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\/0535c5f1-e45f-4eba-b7f5-38c2db8418d6.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\/15a1b976-fb64-44a4-850c-7bb109690364.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\/38cdf0a6-2caa-4fd9-a3bd-4bca4e963a2b.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/HUcFFvOy39I\"><source src=\"https:\/\/youtu.be\/HUcFFvOy39I\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7a0b\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">YAML\u914d\u7f6e<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5ba1\u67e5<\/span><br \/>\n            <span class=\"tag\">CLI\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u8d28\u91cf\u7ba1\u63a7<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">\u6d41\u7a0b\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u8bc4\u8bba\u4ec5\u4e00\u6761\u4e14\u6765\u81ea\u5236\u4f5c\u8005\u672c\u4eba\uff0c\u65e0\u7528\u6237\u53cd\u9988\u3002\u5236\u4f5c\u8005\u900f\u9732\u65e9\u671f\u75db\u70b9\uff08AI\u9057\u5fd8\u6307\u4ee4\u3001\u5ba1\u67e5\u4e0e\u5b9e\u73b0\u5728\u540c\u4e00\u4e0a\u4e0b\u6587\u6df7\u6dc6\uff09\uff0c\u5f3a\u8c03\u6d41\u7a0b\u5916\u90e8\u5f3a\u5236\u800c\u975e\u4f9d\u8d56\u63d0\u793a\u8bcd\uff0c\u5e76\u63d0\u53ca\u65e5\u672c\u5e02\u573a\u70ed\u5ea6\uff081.2k star\uff0c18k\u6708\u4e0b\u8f7d\uff09\u3002\u4f46\u7f3a\u4e4f\u7b2c\u4e09\u65b9\u9a8c\u8bc1\u6216\u5177\u4f53\u8d28\u7591\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                TAKT \u7684\u5207\u5165\u70b9\u5f88\u5201\u94bb\uff1a\u5b83\u4e0d\u8bd5\u56fe\u8ba9AI\u66f4\u806a\u660e\uff0c\u800c\u662f\u8ba9AI\u201c\u5b88\u89c4\u77e9\u201d\u3002\u8fd9\u5207\u4e2d\u4e86\u5f53\u524d\u4ee3\u7406\u5f0f\u7f16\u7801\u7684\u6700\u5927\u8f6f\u808b\u2014\u2014\u63d0\u793a\u8bcd\u5de5\u7a0b\u65e0\u6cd5\u4fdd\u8bc1\u884c\u4e3a\u4e00\u81f4\u6027\u3002\u7528YAML\u628a\u5de5\u4f5c\u6d41\u53d8\u6210\u5916\u90e8\u62a4\u680f\uff0c\u7528\u9694\u79bb\u5de5\u4f5c\u6811\u9632\u6c61\u67d3\uff0c\u7528\u5f3a\u5236\u5ba1\u67e5\u515c\u5e95\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u7ed9\u201c\u5931\u63a7\u201d\u7684\u4ee3\u7406\u5957\u4e0a\u5de5\u4e1a\u5316\u7684\u6d41\u6c34\u7ebf\u67b7\u9501\u3002\u8fd9\u4e2a\u601d\u8def\u6bd4\u5806\u66f4\u591a\u7684\u89c4\u5219\u6587\u4ef6\u8981\u9ad8\u7ef4\uff0c\u56e0\u4e3a\u5b83\u628a\u8d28\u91cf\u8d23\u4efb\u4ece\u6a21\u578b\u8f6c\u79fb\u5230\u4e86\u6d41\u7a0b\u7ed3\u6784\u4e0a\uff0c\u8fd9\u4e0e\u201c\u4eba\u6cbb\u201d\u5230\u201c\u6cd5\u6cbb\u201d\u7684\u8f6c\u53d8\u540c\u6784\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u6cfc\u51b7\u6c34\uff1a\u5176\u4e00\uff0cVote\u657014\uff0c\u4e14\u552f\u4e00\u7684\u201c\u8bc4\u8bba\u201d\u662f\u5236\u4f5c\u8005\u81ea\u767d\uff0c\u8fd9\u66f4\u50cf\u662f\u81ea\u6211\u5256\u6790\u800c\u975e\u5e02\u573a\u9a8c\u8bc1\u3002\u65e5\u672c\u5e02\u573a\u7684\u70ed\u5ea6\uff08star\u3001\u4e0b\u8f7d\uff09\u867d\u4eae\u773c\uff0c\u4f46\u80fd\u5426\u590d\u523b\u5230\u5168\u7403\u5de5\u7a0b\u6587\u5316\u5b58\u7591\uff0c\u6bd5\u7adf\u6b27\u7f8e\u5f00\u53d1\u8005\u5bf9CLI\u9b54\u6cd5\u548c\u6d41\u7a0b\u6781\u7b80\u7684\u5bb9\u5fcd\u5ea6\u4e0d\u540c\u3002\u5176\u4e8c\uff0c\u6346\u7ed1\u7279\u5b9a\u4ee3\u7406\uff08Claude Code\u3001Codex\u7b49\uff09\u5b58\u5728\u7248\u672c\u788e\u7247\u5316\u98ce\u9669\uff0c\u4ee3\u7406API\u4e00\u53d8\uff0cTAKT\u7684\u9002\u914d\u5c42\u5c31\u4f1a\u6210\u4e3a\u7ef4\u62a4\u9ed1\u6d1e\u3002\u5176\u4e09\uff0c\u6700\u6838\u5fc3\u7684\u6311\u6218\u5728\u4e8e\uff1a\u5ba1\u67e5\u89c4\u5219\u672c\u8eab\u7531\u8c01\u5b9a\u4e49\uff1f\u5982\u679cYAML\u662f\u4eba\u5199\u7684\uff0c\u90a3\u53ea\u662f\u628a\u201cAI\u7684\u968f\u673a\u6027\u201d\u6362\u6210\u4e86\u201c\u4eba\u7684\u6559\u6761\u6027\u201d\uff0c\u5bf9\u4e8e\u590d\u6742\u91cd\u6784\u6216\u8bbe\u8ba1\u6743\u8861\uff0c\u786c\u7f16\u7801\u7684\u6d41\u7a0b\u53ef\u80fd\u627c\u6740\u521b\u9020\u6027\uff0c\u751a\u81f3\u50ac\u751f\u51fa\u201c\u8d70\u8fc7\u573a\u201d\u7684\u5ba1\u67e5\u6587\u5316\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u5b83\u5c06AI\u7f16\u7801\u4ece\u201c\u5355\u6b21\u4f1a\u8bdd\u201d\u63a8\u5411\u201c\u5de5\u7a0b\u5316\u6cbb\u7406\u201d\uff0c\u4f46\u82e5\u4e0d\u80fd\u89e3\u51b3\u89c4\u5219\u7684\u81ea\u9002\u5e94\u4e0e\u53ef\u8fdb\u5316\u6027\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u201c\u66f4\u9ad8\u7ea7\u7684\u4fdd\u59c6\u201d\uff0c\u800c\u4e0d\u662f\u201c\u66ff\u4ee3\u4fdd\u59c6\u7684\u7ba1\u5bb6\u201d\u3002\u672a\u6765\u770b\u70b9\u5728\u4e8e\u5176\u5de5\u4f5c\u6d41\u5b9a\u4e49\u80fd\u5426\u793e\u533a\u5316\u79ef\u7d2f\uff0c\u5f62\u6210\u7c7b\u4f3c\u201c\u52a8\u4f5c\u5e93\u201d\u7684\u751f\u6001\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u505c\u7559\u5728\u5c0f\u4f17\u9ad8\u624b\u7684\u73a9\u5177\u5c42\u7ea7\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\">TAKT<\/span>\n                <\/div>\n<div class=\"comment-content\">Open-source CLI that turns AI coding agents (Claude Code, Codex, Cursor &#038; more) into repeatable YAML workflows: plan \u2192 implement \u2192 review \u2192 fix loops with per-step roles, isolated worktrees, and traceable reports. Reviews can&#8217;t be silently skipped.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I&#8217;m nrslib, the maker of TAKT.<\/p>\n<p>I built TAKT because I got tired of babysitting AI coding agents. They&#8217;re powerful, but in long-running work they forget instructions, blur the line between implementing and reviewing, and I kept repeating the same feedback over and over. That wears you down.<\/p>\n<p>Adding more rules to prompts or CLAUDE.md helps, but it can&#8217;t *enforce* a process \u2014 whether the rules are followed is still left to the agent.<\/p>\n<p>TAKT flips this around: the workflow controls the agents from the outside. You define plan \u2192 implement \u2192 review \u2192 fix loops in YAML. Each step gets its own persona, policies, and output contracts, so context stays focused instead of polluted. Reviews can&#8217;t be silently skipped \u2014 findings route work back to fix steps, and human judgment can be requested when it matters. Tasks run in isolated worktrees, and every step leaves logs and reports, so the path from task to PR stays traceable.<\/p>\n<p>A side effect I like: since quality comes from the process rather than the model alone, review loops lift output quality even with weaker models.<\/p>\n<p>It works with Claude Code, Codex, OpenCode, Cursor, GitHub Copilot CLI, and Kiro. And TAKT is built with TAKT itself \u2014 every PR goes through its own review workflow.<\/p>\n<p>TAKT took off in Japan first \u2014 1.2k+ GitHub stars, 18k+ npm downloads a month, and a 700-member Discord, with engineers and companies writing their own guides for it. Today I&#8217;m excited to bring it to the rest of the world.<\/p>\n<p>It&#8217;s open source (MIT). Try it in 5 minutes:<br \/>\nnpm install -g takt<\/p>\n<p>I&#8217;d love to hear how you run your AI coding workflows \u2014 I&#8217;m here all day to answer questions!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-08-09 PH\u70ed\u699c | 2026-08-09 #1 Omniw [&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-308","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/308","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=308"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/308\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}