{"id":306,"date":"2026-08-08T10:25:03","date_gmt":"2026-08-08T02:25:03","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/08\/2026-08-07\/"},"modified":"2026-08-08T10:25:03","modified_gmt":"2026-08-08T02:25:03","slug":"2026-08-07","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/08\/2026-08-07\/","title":{"rendered":"PH\u70ed\u699c | 2026-08-07"},"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-07<\/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-07<\/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\/WB4IUOEMBNYG5V\" class=\"app-title\">Coldtea.ai<\/a><\/p>\n<div class=\"one-liner\">Make your software delivery self-driving<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">415<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Coldtea.ai \u662f\u4e00\u4e2a\u8986\u76d6\u8f6f\u4ef6\u4ea4\u4ed8\u5168\u751f\u547d\u5468\u671f\u7684\u667a\u80fd\u4ee3\u7406\u5f00\u53d1\u73af\u5883\uff0c\u5c06\u7ec8\u7aef\u5e76\u884c\u4ee3\u7406\u3001\u53ef\u89c6\u5316QA\u56de\u5f52\u6d4b\u8bd5\u548cAI\u751f\u4ea7\u76d1\u63a7\u6574\u5408\u4e8e\u4e00\u4f53\uff0c\u89e3\u51b3AI\u7f16\u7801\u52a0\u901f\u540e\u201c\u4e0a\u7ebf\u5feb\u4f46\u7a33\u5b9a\u6027\u5931\u63a7\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\/f7841527-de48-4834-a8bd-34f7b688d409.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c9a4ff3e-9420-479f-aaef-cbc17c9f8a4a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ae46de40-c272-4c17-830b-9bc0c518881b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/98395ac0-43e3-4fc6-91fb-75fca2e937c3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/455f3db4-63a3-4ec5-a2b4-13625d556de2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/09a9c863-c9bd-4d0b-b1b5-8ace6da59977.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\/f0a9de42-1ae5-467d-9855-576d2a35bd73.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/e7nSAVjELYU\"><source src=\"https:\/\/youtu.be\/e7nSAVjELYU\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u667a\u80fd\u4ee3\u7406\u5f00\u53d1\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">AI\u53ef\u89c6\u5316QA<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u73af\u5883\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">Agent\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u5168\u751f\u547d\u5468\u671f\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u56de\u5f52\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">DevOps<\/span><br \/>\n            <span class=\"tag\">\u8f6f\u4ef6\u4ea4\u4ed8<\/span><br \/>\n            <span class=\"tag\">Claude Code\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\u666e\u904d\u8ba4\u53ef\u5176\u201c\u5168\u751f\u547d\u5468\u671f\u201d\u7406\u5ff5\uff0c\u533a\u522b\u4e8e\u53ea\u805a\u7126\u7f16\u7801\u7684\u5de5\u5177\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1aQA\u6d4b\u8bd5\u610f\u56fe\u6765\u6e90\u4e0e\u5931\u6548\u6d4b\u8bd5\u8bc6\u522b\u3001\u52a8\u6001\u5185\u5bb9\u573a\u666f\u4e0b\u7684\u6b63\u786e\u6027\u5224\u65ad\u3001\u5728\u5927\u578b\u4ee3\u7801\u5e93\u4e2d\u7684\u5b9e\u9645\u8868\u73b0\u3001\u51b2\u7a81\u4ee3\u7406\u7684\u534f\u8c03\u673a\u5236\uff0c\u4ee5\u53ca\u5404\u6a21\u5757\u53ef\u5426\u72ec\u7acb\u4f7f\u7528\u3002\u5b89\u5353\/iOS\u7aef\u652f\u6301\u7279\u6027\u4e5f\u6709\u8be2\u95ee\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                Coldtea\u7684\u5b9a\u4f4d\u5207\u4e2d\u4e86\u4e00\u4e2a\u6b63\u5728\u6025\u5267\u653e\u5927\u7684\u771f\u7a7a\u5730\u5e26\u3002\u5f53\u4e1a\u754c\u6c89\u8ff7\u4e8e\u8ba9Agent\u5199\u66f4\u591a\u4ee3\u7801\u65f6\uff0c\u5b83\u654f\u9510\u5730\u6307\u51fa\u201c\u6784\u5efa\u201d\u53ea\u662f\u8f6f\u4ef6\u4ea4\u4ed8\u7684\u7b2c\u4e00\u5e55\uff0c\u800c\u201c\u9a8c\u8bc1\u201d\u4e0e\u201c\u7a33\u5b9a\u201d\u624d\u662f\u7b2c\u4e8c\u5e55\u3002\u5176\u201c\u610f\u56fe\u800c\u975e\u5feb\u7167\u201d\u7684QA\u903b\u8f91\uff0c\u662f\u5e94\u5bf9\u52a8\u6001\u5185\u5bb9\u6700\u52a1\u5b9e\u7684\u89e3\u6cd5\uff0c\u76f4\u63a5\u51fb\u788e\u4e86\u4f20\u7edf\u89c6\u89c9\u56de\u5f52\u5728AI\u539f\u751f\u5e94\u7528\u4e0a\u7684\u6b7b\u7a74\u3002\u5c06\u7ec8\u7aef\u3001\u6d4b\u8bd5\u4e0e\u76d1\u63a7\u62c9\u901a\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u4e3a\u201c\u5feb\u901f\u5931\u8d25\u5e76\u81ea\u6211\u4fee\u590d\u201d\u6253\u9020\u95ed\u73af\uff0c\u8ba9\u56e2\u961f\u5728AI\u63d0\u901f\u7684\u60ef\u6027\u4e0b\u4e0d\u81f3\u4e8e\u7ffb\u8f66\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5b8f\u4f1f\u84dd\u56fe\u4e0b\u6697\u85cf\u9690\u5fe7\u3002\u201c\u8ba9\u60a8\u7684\u8f6f\u4ef6\u4ea4\u4ed8\u81ea\u52a8\u9a7e\u9a76\u201d\u662f\u6781\u5177\u717d\u52a8\u529b\u7684\u53d9\u4e8b\uff0c\u4f46\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u610f\u56fe\u7531\u8c01\u5b9a\u4e49\u201d\u7684\u8d28\u7591\u76f4\u6307\u6838\u5fc3\u2014\u2014\u5982\u679c\u521d\u59cb\u4e0a\u4e0b\u6587\u6709\u504f\u5dee\uff0cQA Agent\u4e0e\u7f16\u7801Agent\u53ea\u4f1a\u5171\u4eab\u540c\u4e00\u5957\u9519\u8bef\u7684\u201c\u955c\u50cf\u903b\u8f91\u201d\u3002\u6b64\u5916\uff0c\u201c\u76d1\u63a7\u3001QA\u3001Agent\u201d\u4e09\u5408\u4e00\u7684\u5f62\u6001\uff0c\u5728\u5b89\u5168\u6027\u8981\u6c42\u4e25\u82db\u7684\u4f01\u4e1a\u73af\u5883\u4e2d\uff0c\u662f\u5426\u4f1a\u88ab\u89c6\u4e3a\u4e00\u4e2a\u8fc7\u4e8e\u96c6\u4e2d\u7684\u201c\u5355\u70b9\u5ba1\u8ba1\u98ce\u9669\u201d\uff1f\u529f\u80fd\u6574\u5408\u7684\u6df1\u5ea6\u662f\u5426\u80fd\u627f\u53d7\u5927\u578b\u4ee3\u7801\u5e93\u7684\u590d\u6742\u6027\u4e0e\u6d77\u91cf\u5f02\u6784\u5de5\u5177\u7684\u63a5\u5165\u6210\u672c\uff0c\u4ecd\u662f\u672a\u77e5\u6570\u3002\u5b83\u66f4\u50cf\u4e00\u4e2a\u9488\u5bf9\u5feb\u8282\u594f\u5c0f\u56e2\u961f\u7684\u201c\u63d0\u6548\u653e\u5927\u5668\u201d\uff0c\u800c\u975e\u201c\u7a33\u5b9a\u6027\u4fdd\u9669\u7bb1\u201d\u3002\u82e5\u65e0\u6cd5\u5728\u5927\u578b\u4f01\u4e1a\u7ea7\u573a\u666f\u4e2d\u8bc1\u660e\u5176\u8303\u5f0f\u4ef7\u503c\uff0c\u5b83\u53ef\u80fd\u6700\u7ec8\u53ea\u662f\u53e6\u4e00\u4e2a\u5f00\u53d1\u8005\u4f53\u9a8c\u6109\u60a6\u4f46\u5f71\u54cd\u529b\u5c40\u9650\u4e8e\u751f\u6001\u5c40\u90e8\u7684\u7cbe\u81f4\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Coldtea.ai<\/span>\n                <\/div>\n<div class=\"comment-content\">The faster your team ships with AI, the harder it becomes to keep production stable. Not anymore. Coldtea is an agentic IDE where your coding agents build, visual QA agents catch regressions, and AI monitoring watches production, so your team can keep moving at agent speed without breaking anything<\/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&nbsp;Hunt, Ohans here from <a href=\"https:\/\/www.producthunt.com\/products\/coldtea-ai\" target=\"_blank\" rel=\"noopener\">@Coldtea.ai<\/a>.<\/p>\n<\/p>\n<p>Coldtea brings your terminal, end-to-end testing and production monitoring into one agentic development environment.<\/p>\n<ul>\n<li>\n<p><strong>Terminal<\/strong>: Run the agents you already use, in parallel, with shared context between them. No lock-in. Your workflows stay yours.<\/p>\n<\/li>\n<li>\n<p><strong>Visual QA agents<\/strong>: They drive your real app and catch regressions before your users do. And let you automate every release testing (supports iOS, Android and web)<\/p>\n<\/li>\n<li>\n<p><strong>AI production monitoring<\/strong>: Watches production after the deploy and tells you what broke, in plain language. Connects your logging, observability tools, and agent traces in one place, so you wake up to investigated fixes, not blind alerts<\/p>\n<\/li>\n<li>\n<p><strong>Tasks<\/strong>: Brings your engineering tasks closer to where you work. One place your team and your agents both work from, whether locally or in the cloud<\/p>\n<\/li>\n<\/ul>\n<p>Try it now: <a href=\"https:\/\/www.coldtea.ai\/?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">coldtea.ai<\/a><\/p>\n<\/p>\n<p>Would love your feedback; I&#8217;m in the comments all day.<\/p>\n<\/p>\n<p>Thanks!<\/p>\n<p><strong>Shipping faster was never our hardest problem.<\/strong><\/p>\n<\/p>\n<p>When I was a Staff Engineer at the world&#8217;s largest meal kit brand, HelloFresh, what I personally obsessed over was the part after merging a PR: how do you know a regression didn&#8217;t slip through, how do you know what production is doing right now, have we architected the product right, and where does the whole team go to see it all of this in one place? That question followed me home.<\/p>\n<\/p>\n<p>Then agents arrived and made it louder. I tried every tool out there, and my day turned into context-switching between them or stringing together a custom workflow. Orchestration in one tab, QA in another, monitoring somewhere else.<\/p>\n<\/p>\n<p>It took me a while to see why none of them fixed it. <em>Every other agentic development environment out there is pointed at the same thing: build. Run more agents in parallel, ship faster, orchestrate better.<\/em><\/p>\n<\/p>\n<p>All of that is genuinely good, and all of it is the first act. Software delivery was never just building, so the tools that only do build hand the rest back to you to figure out.<\/p>\n<\/p>\n<p>So we spent the last five months rethinking what a holistic agentic development environment for engineering teams could look like, alongside some fast-moving teams.<\/p>\n<\/p>\n<p>This is how Coldtea was born.<\/p>\n<\/p>\n<p>Coldtea is an agentic development environment for the entire software lifecycle. Not bolted on, not an afterthought. Day zero. Agents can already work across the entire stack. The next era of development environments has to do the same. That&#8217;s our thought process.<\/p>\n<\/p>\n<p>Would love your feedback, especially if you&#8217;re the one who gets paged when the thing your agent shipped breaks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>21<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a>&nbsp;Love the vision behind this.<\/p>\n<p>Most agentic dev tools stop at writing code, but bringing development, testing, and production monitoring into one workflow feels like the natural next step. Really like the focus on the <em>entire<\/em> software lifecycle, not just shipping faster.<\/p>\n<p>Congrats on the launch! You might also consider listing Coldtea on AI directories like iSEOAI to help more engineering teams discover 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=\"reply-item\">\n<div class=\"reply-content\">@ohansemmanuel good launch team! how does the terminal context-sharing work like if we\u2019re jumping between Claude Code and custom local scripts? does it sync shell settings without extra config?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a>&nbsp;Congrats on the launch!\ud83d\ude4c\ud83c\udffd<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love this direction. When most dev environments focus on <em>building faster<\/em>, <a href=\"https:\/\/www.producthunt.com\/products\/coldtea\" target=\"_blank\" rel=\"noopener\">@Coldtea.ai<\/a> takes a different, calmer approach, focusing on <em>building better.<\/em> Agentic QA and monitoring, terminal and tasks, all in one place for less context-switching, and beautifully crafted by <a href=\"https:\/\/www.producthunt.com\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a> and team.<\/p>\n<\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@naviradjou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naviradjou<\/a> could name <a href=\"https:\/\/www.producthunt.com\/products\/coldtea\" target=\"_blank\" rel=\"noopener\">@Coldtea.ai<\/a> &#8220;the frugal ADE.&#8221;<\/p>\n<\/p>\n<p>Try it now: <a href=\"https:\/\/www.coldtea.ai\/?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">coldtea.ai<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Excited to finally launch <strong>Coldtea<\/strong> on Product Hunt!<\/p>\n<p>Proud to be part of the team behind <strong>Coldtea <\/strong>and grateful for everyone who helped us get here. We&#8217;d love to hear your feedback, answer your questions, and learn how you&#8217;re using AI in your development workflow.<\/p>\n<p>Thanks for your support\u2014it means a lot!<\/p>\n<p>Try it now : <a href=\"https:\/\/www.coldtea.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.coldtea.ai\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>lfg! what&#8217;s your favorite feature in this product?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A PR can be green, and the app can still be broken. A deployment can go through, and users can still find the bug. Your logs can tell you something went wrong, and you can still spend an hour figuring out what.<\/p>\n<p>We spent a lot of time on that gap but also on what comes before it. What should an agent work on? What context does it need? And when it says it\u2019s done, did it actually work?<\/p>\n<p>That\u2019s what pushed us to build <a href=\"https:\/\/www.coldtea.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Coldtea<\/a> around the whole loop. The context carries through, from deciding what to build to an agent using the real app to check it to figuring out what happens when something breaks in production.<\/p>\n<p>How much of that should an agent actually own? Where would you draw the line?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>We build something internally like this, but this is next level greatness for any dev-team to use. Solving absolutely a problem shipping faster with AI. Nice integration with LangWatch \ud83d\ude09  <\/p>\n<\/p>\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@ohansemmanuel\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a> and team! Lets goo!<\/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\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@manouk_dr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manouk_dr<\/a>&nbsp;We are glad you see what we are building. Thank you very much for the kind words and support \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@manouk_dr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manouk_dr<\/a>&nbsp;Thanks, Manouk. The Langwatch integration was seamless \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<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>appreciate the support, Manouk. feel free to give <a href=\"https:\/\/www.producthunt.com\/products\/coldtea\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"coldtea\" target=\"_blank\" rel=\"noopener\">@Coldtea.ai<\/a> a try whenever you&#8217;re ready: <a href=\"https:\/\/www.coldtea.ai\/?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">coldtea.ai<\/a><\/p>\n<\/p>\n<p>keep up the great work building <a href=\"https:\/\/www.producthunt.com\/products\/langwatch\" target=\"_blank\" rel=\"noopener\">@LangWatch<\/a> \u270c\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch.. My big build issues lie upstream of the QA agent.<\/p>\n<\/p>\n<p>Where does the test intent come from? If the coding agent and the QA agent both work off the same idea of what the feature should do, the check is a mirror.<\/p>\n<\/p>\n<p>And can Coldtea catch a test that always passes? Mine sat green for a week while a bunch of stuff was breaking, because it was only checking that a metadata column was present. That column could never be null, so every run came back legit.<\/p>\n<\/p>\n<p>A check that has never failed once is the thing I want flagged.<\/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\/@himanshu_garg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himanshu_garg<\/a>&nbsp;It all begins with intent! Because this is a connected system, context from the original task flows into the QA agent (when needed). <\/p>\n<\/p>\n<p>In general, intent is set by you. Always. <\/p>\n<\/p>\n<p>I&#8217;m not sure what you mean by &#8220;mine sat green &#8230;.&#8221;, do you mean in some other software? <\/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>Receded my incorrect paste earlier here. Thanks for pointing out. In my defence soloop were no 2 today and when the product crashed I came back and posted in the other tab that was open. \ud83d\ude1b Thanks for the response here<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The promise sound great , but &#8220;agent speed without breaking anything&#8221; is a bold claim.  I&#8217;d be interested in seeing how it perform on large , real-world codebases.<\/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\/@craig_bennett1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@craig_bennett1<\/a>&nbsp;It is indeed a bold claim. At the risk of stating the obvious, there&#8217;s no such thing as 100% coverage (or when there is, there&#8217;s a tradeoff elsewhere &#8211; design\/speed\/other resource) <\/p>\n<\/p>\n<p>So, the way we approach this is to give teams what we think are the required verification signals to stay shipping fast but let them make the required tradeoffs wherever they see fit. <\/p>\n<\/p>\n<p>First, <strong>post-deployment monitoring<\/strong>:  There&#8217;s no such thing as zero-bug software. Whether written by humans or agents, software inevitably breaks for different reasons. <\/p>\n<\/p>\n<p>The problem is that when shipping so fast, this typically rises and becomes more obvious. So, this is a bigger problem than, say, 2 years ago.<\/p>\n<\/p>\n<p>One solution is to simply stop shipping fast. <\/p>\n<\/p>\n<p>Slow down. <\/p>\n<\/p>\n<p>That&#8217;s a valid solution. <\/p>\n<\/p>\n<p>Another is to react faster. Leverage agents as well further down the lifecycle, post-deployment. An incident is already too late. <\/p>\n<\/p>\n<p>This is the approach we&#8217;ve taken, or offer. <\/p>\n<\/p>\n<p>The second is <strong>automated regression testing<\/strong>: end-to-end testing gets a bad rep in general. They&#8217;re slow, and historically we&#8217;ve needed fewer of them. <\/p>\n<\/p>\n<p>In a world where the speed of shipping&#8217;s risen so high, I think a fair tradeoff is to balance that speed with the arguably slow automated visual regression testing (using slow as a reference to standard unit-type\/ functional tests)<\/p>\n<\/p>\n<p>Agents actually clicking, and using the software like a real user would. <\/p>\n<\/p>\n<p>I&#8217;ve seen too many green PRs still break visually. And agents are a bad judge of their own work, and extended impact when intent is isolated to a specific problem. <\/p>\n<\/p>\n<p>Now a team can decide: do I want these visual agents on every PR, or would we rather ship fast and just do a single bug bash-style release-regression check with the QA agent every week, or end of day? <\/p>\n<\/p>\n<p>These sort of calls are for the engineering team to make. <\/p>\n<\/p>\n<p>We try to give the tools required to manage the speed of shipping with stability signals, but ultimately leave the tradeoffs to the team. <\/p>\n<\/p>\n<p>Personally, we fall in the camp of those who think LLMs in their current state aren&#8217;t great at large codebases (or, to be frank, aren&#8217;t great at architecting great software), hence why we couple these in a single agentic development environment. <\/p>\n<\/p>\n<p>That&#8217;s our take. But it doesn&#8217;t solve underlying LLM issues (that&#8217;s a whole other conversation) <\/p>\n<\/p>\n<p>This turned out longer than I thought \ud83d\ude42 But I love the question and am happy to chat further! <\/p>\n<\/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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@craig_bennett1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@craig_bennett1<\/a>&nbsp;Fair point! \ud83d\ude0a The goal isn&#8217;t to promise perfection. It&#8217;s to help teams ship faster with better guardrails through visual QA and production monitoring. We&#8217;d love to hear your thoughts if you give it a try!<\/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>We love coldtea! We use it to catch regressions and monitor our agents so our small and mighty team can move fast. It wouldn&#8217;t be possible for us to move as fast as we do at <a href=\"https:\/\/www.producthunt.com\/products\/brew-5\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"brew-5\" target=\"_blank\" rel=\"noopener\">@Brew <\/a> without coldtea. 10\/10!<\/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>framing this, ?makers<\/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\/@philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a>&nbsp;Thank you very much for your support \ud83d\udc9c. Hearing that Coldtea helping the brew team ship faster means a lot to us. Thnx again<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thanks a lot! <a href=\"https:\/\/www.producthunt.com\/@philip_sorensen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@philip_sorensen<\/a>&nbsp; \u2764\ufe0f\u200d\ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@ohansemmanuel\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a> <a href=\"https:\/\/www.producthunt.com\/@favour_ohans\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"favour_ohans\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@favour_ohans<\/a> \ud83c\udf89 How does the visual QA agent handle apps with a ton of dynamic content, like feeds that change every load? Does it know what&#8217;s a &#8220;real&#8221; regression vs just normal content shuffling?<\/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\/@kate_ramakaieva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kate_ramakaieva<\/a>&nbsp; Great question.&nbsp;In general, it doesn&#8217;t diff pixels, so content shuffling isn&#8217;t a regression by default.<\/p>\n<p>&nbsp;<\/p>\n<p>A test is written as intent rather than a snapshot. Something like &#8220;open the feed, each item shows a title and a timestamp, clicking one opens the detail view.&#8221; The agent drives the real app and judges whether that still holds. A feed returning different posts on every load passes. A feed where timestamps stopped rendering, or where the click no longer opens anything, fails.<\/p>\n<\/p>\n<p>For edge cases, it&#8217;s also possible to pass on specific product context to the agent, so it \u201cknows\u201d your app. Most times I advise the opposite at first. New users don\u2019t know your app, so let the agent have a go at first!&nbsp;<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>psyched to have your support, Kate. you&#8217;re the best.<\/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\">Really looking forward to checking this out!<\/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\/@tessak22\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tessak22<\/a>&nbsp;Amazing, Tessa! get started at <a href=\"https:\/\/www.coldtea.ai\/?ref=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">coldtea.ai<\/a> and add your review here: <a href=\"https:\/\/www.producthunt.com\/products\/coldtea\/reviews\/new\" target=\"_blank\" rel=\"noopener\">producthunt.com\/products\/coldtea\/reviews\/new<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats Ohans! The \u201cevery agentic environment is pointed at build, and build is only the first act\u201d framing is the sharpest thing I\u2019ve read on a launch page this month.<\/p>\n<p>Here\u2019s a case I\u2019d love your take on. We run QA on a product whose output is itself AI-generated, so a given user action produces different content every run. Visual regression assumes a stable ground truth to compare against, and we don\u2019t have one. Two runs of the same flow look completely different and both are correct. Today our QA people end up checking structural things instead, whether layouts hold, nothing overlaps, no empty states. Can a Coldtea QA agent be pointed at that kind of check, where the intent is a property that must hold rather than a screen that should match? Feels like a growing category of app given how many products now generate their own output.<\/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\/@ridhwikvinod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ridhwikvinod<\/a> Good question! And short answer: yes. This is why we call this &#8220;agentic testing&#8221;. its a lot more intelligent than a simple visual diff check. So different content on every run is absolutely fine as long as you can define with &#8220;not-broken&#8221; means e.g., &#8220;5 new items, with pricing X,Y,Z&#8221;, the agent&#8217;s able to reason through it. <\/p>\n<\/p>\n<p>Give it a try and let me know! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does everything work as one integrated system, or can the different parts be used independently? We&#8217;re currently developing with Claude Code and Claude Design, but we don&#8217;t have any really good tools for QA. Could we use your service specifically for QA, independently of the other parts?<\/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\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;Yes, you can. And if you ever need to use Claude Code in the terminal, that&#8217;s always available in Coldtea too. <\/p>\n<\/p>\n<p>However, the individual systems work equally well<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What about downtine? How is that taken care of?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aarav27\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aarav27<\/a>&nbsp;If Coldtea goes down, the terminal and your local agents run on your machine, so they keep going. What you lose is the cloud side, so QA runs, monitoring agents, and task sync<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats <a href=\"https:\/\/www.producthunt.com\/@fmerian\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a> for hunting another gem and Congrats #makers for the successful launch.<\/p>\n<p>What happens when two agents make conflicting changes to the same part of the code?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp; they&#8217;re typically run in parallel worktrees (many ADEs do this today, so that&#8217;s not really a differentiator, to be honest) <\/p>\n<\/p>\n<p>The use cases we&#8217;ve found interesting, though, are leveraging agent teams. So spinning up multiple panes with different models and, e.g., having Claude implement and Codex review &#8211; with different assigned roles. <\/p>\n<\/p>\n<p>It&#8217;s pure theatre to watch the back and forth, but also effective! We find cross-model reviews catch a lot more bugs <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@fmerian my personal flow is codex always reviews. Claude implements (especially for UI heavy tasks, otherwise I flip roles)<\/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>Huge congratulations, Ohans and team! \ud83d\ude4c For iOS\/Android testing, do I need to already have an existing test suite, or can Coldtea generate the visual QA flows from scratch?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Yes! One of the advantages of a holistic platform is that the entire workspace is queryable context. <\/p>\n<\/p>\n<p>So the coding agents you already use (Claude, Codex, etc) have the right on-demand context to create a full-on suite with the knowledge of your codebase and our best practices<\/p>\n<p>No manual work needed (but also still visible and relevant for human control\/fine-tuning)<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>you&#8217;re the legend \u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Question: What are the 3 hardest things in software delivery that you managed to solve with this platform? thanks \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;That&#8217;s a difficult question. I can explain what we really set out to solve and have designed this for: <\/p>\n<ul>\n<li>\n<p><strong>Stability<\/strong>: there&#8217;s no shortage of tools to run 100s of agents in parallel. Even though you can do that in Coldtea, we think building isn&#8217;t enough. So, we&#8217;ve also focused on tying together the rest of the lifecycle &#8211; automated regression testing with QA agents and post-deployment monitoring <\/p>\n<\/li>\n<li>\n<p><strong>Simplicity: <\/strong>just bolting on different things together is bloat. So we took a lot of care crafting what initially feels like standalone items to work seamlessly. Every bit of the system is visible to your CLI coding agent out of the box, and works and feels like a single system. <\/p>\n<\/li>\n<li>\n<p><strong>Context switch<\/strong>: agents already work across the entire lifecycle. Why shouldn&#8217;t our development environment? <\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>\ud83d\udc10<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a very interesting design. How do the visual QA agents hold context of the actual intent?<\/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\/@zrk222\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zrk222<\/a>&nbsp;So intent is given. A test is a plain-language description of what should be true: what to open, what should be on the page, what should happen when you click.<\/p>\n<\/p>\n<p>The goal is to mimic how an actual users the application (web or mobile) <\/p>\n<\/p>\n<p>The agent checks that against the running app rather than guessing from the pixels what the screen was supposed to do.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/K3YBVXDB7SFOVL\" class=\"app-title\">Soloop<\/a><\/p>\n<div class=\"one-liner\">Approval-first Agent OS for solo founders<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">371<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Soloop \u662f\u4e00\u6b3e\u4e3a\u72ec\u7acb\u5f00\u53d1\u8005\u6253\u9020\u7684\u201c\u5ba1\u6279\u4f18\u5148\u201dAI \u4ee3\u7406\u64cd\u4f5c\u7cfb\u7edf\uff0c\u901a\u8fc7 AI CEO\/CTO\/CMO \u7684\u534f\u4f5c\uff0c\u8986\u76d6\u4ece\u521b\u610f\u3001\u5f00\u53d1\u5230\u83b7\u5ba2\u53d8\u73b0\u7684\u5168\u6d41\u7a0b\uff0c\u8ba9\u521b\u59cb\u4eba\u4e00\u4e2a\u4eba\u4e5f\u80fd\u9ad8\u6548\u8fd0\u4f5c\u4e00\u5bb6\u516c\u53f8\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\/a0447098-b73c-4c40-8ffa-e82c06a61145.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/156f6717-4ea5-4371-9bc9-8501c8666bc5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/10c305c4-1e96-43d2-9777-f826d7e5f588.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a847ab6a-0963-4b71-b00d-57e9611779b9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/89f54aa6-aef3-45ce-aac3-d089d1be3c13.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6ce8609c-b2db-4175-a623-e9b142668599.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\/d3ec18ad-6970-49aa-b687-9a8c20089b2b.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=4Lf0KXdS1as\"><source src=\"https:\/\/www.youtube.com\/watch?v=4Lf0KXdS1as\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Maker Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1\u8005<\/span><br \/>\n            <span class=\"tag\">\u4e00\u4eba\u516c\u53f8<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u5546\u4e1a\u8fd0\u8425<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u5e02\u573a\u8425\u9500<\/span><br \/>\n            <span class=\"tag\">\u589e\u957f\u83b7\u5ba2<\/span><br \/>\n            <span class=\"tag\">\u5ba1\u6279\u6d41<\/span><br \/>\n            <span class=\"tag\">Agent OS<\/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\u5c06\u591aAgent\u534f\u540c\u800c\u975e\u5b64\u7acb\u5de5\u5177\u7684\u7406\u5ff5\uff0c\u4f46\u4e3b\u8981\u7591\u8651\u96c6\u4e2d\u5728\u201c\u5ba1\u6279\u4f18\u5148\u201d\u6a21\u5f0f\u4f1a\u9020\u6210\u51b3\u7b56\u74f6\u9888\uff0c\u6d88\u8017\u521b\u59cb\u4eba\u6ce8\u610f\u529b\u3002\u6b64\u5916\uff0c\u7528\u6237\u53cd\u9988\u4e86\u7f51\u7ad9\u6d41\u91cf\u9ad8\u5cf0\u671f\u5b95\u673a\u3001\u5b9a\u4ef7\u4fe1\u606f\u4e0d\u660e\u786e\u7b49\u95ee\u9898\uff0c\u5e76\u5f3a\u70c8\u671f\u5f85CMO\u83b7\u5ba2\u529f\u80fd\u5c3d\u5feb\u5f00\u653e\u7ed9\u5df2\u6709\u4ea7\u54c1\u7684\u7528\u6237\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                Soloop \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u7cbe\u51c6\u51fb\u4e2d\u4e86\u201c\u540eAI\u7f16\u7a0b\u65f6\u4ee3\u201d\u72ec\u884c\u4fa0\u521b\u4e1a\u8005\u7684\u6838\u5fc3\u75db\u70b9\uff1a\u4ece\u201c\u80fd\u505a\u51fa\u4e1c\u897f\u201d\u5230\u201c\u80fd\u505a\u6210\u751f\u610f\u201d\u4e4b\u95f4\u7684\u9e3f\u6c9f\u3002\u5b83\u4e0d\u518d\u8d29\u5356\u5ec9\u4ef7\u7684\u201c\u964d\u672c\u589e\u6548\u201d\u6545\u4e8b\uff0c\u800c\u662f\u4ee5\u201cAI\u9ad8\u7ba1\u56e2\u961f\u201d\u7684\u6982\u5ff5\u5207\u5165\uff0c\u8bd5\u56fe\u91cd\u6784\u5355\u4eba\u516c\u53f8\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002\u4ece\u8bc4\u8bba\u533a\u7684\u6df1\u5ea6\u4e92\u52a8\u6765\u770b\uff0c\u5176\u56e2\u961f\u5bf9\u4e8e\u201c\u4fe1\u4efb\u8fb9\u754c\u201d\u548c\u201c\u6ce8\u610f\u529b\u7ecf\u6d4e\u201d\u7684\u601d\u8003\u662f\u6e05\u9192\u7684\u2014\u2014\u52a8\u6001\u7684\u201c\u4fe1\u4efb\u9636\u68af\u201d\u8bbe\u8ba1\uff0c\u4ee5\u53ef\u9006\u6027\u4f5c\u4e3a\u653e\u6743\u6807\u51c6\u7684\u5212\u5206\uff0c\u662f\u5bf9\u201c\u5ba1\u6279\u4f18\u5148\u201d\u7406\u5ff5\u7684\u6709\u6548\u4fee\u6b63\uff0c\u907f\u514d\u4e86\u5176\u6ca6\u4e3a\u65b0\u4e00\u4ee3\u7684\u201c\u51b3\u7b56\u74f6\u9888\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u7684\u6839\u672c\u6311\u6218\u5728\u4e8e\u5176\u91ce\u5fc3\u52c3\u52c3\u7684\u201c\u5168\u77e5\u5168\u80fd\u201d\u3002CEO\u7684\u89c4\u5212\u3001CTO\u7684\u4ea4\u4ed8\u3001CMO\u7684\u83b7\u5ba2\uff0c\u6bcf\u4e00\u73af\u90fd\u662f\u6781\u96be\u7684\u72ec\u7acbAI\u547d\u9898\uff0c\u5c06\u5b83\u4eec\u65e0\u7f1d\u96c6\u6210\u5e76\u4ea7\u751f\u771f\u6b63\u7684\u5546\u4e1a\u95ed\u73af\uff0c\u6280\u672f\u590d\u6742\u5ea6\u548c\u4ea7\u54c1\u5316\u96be\u5ea6\u5448\u6307\u6570\u7ea7\u4e0a\u5347\u3002\u76ee\u524d\u770b\u6765\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u9ad8\u914d\u7248\u7684\u201cAI\u4efb\u52a1\u534f\u8c03\u5668\u201d\uff0c\u800c\u975e\u771f\u6b63\u7684\u201c\u4ef7\u503c\u521b\u9020\u8005\u201d\u3002\u8bc4\u8bba\u4e2d\u7528\u6237\u5bf9CMO\u529f\u80fd\u7684\u5f3a\u70c8\u671f\u5f85\uff0c\u4e5f\u6070\u6070\u66b4\u9732\u4e86\u5176\u8f6f\u808b\uff1a\u4ee3\u7801\u751f\u6210\u662fAI\u6700\u6210\u719f\u7684\u5e94\u7528\uff0c\u800c\u627e\u5230\u4ed8\u8d39\u7528\u6237\u624d\u662f\u771f\u6b63\u7684\u201chard mode\u201d\u3002Soloop\u6700\u7ec8\u7684\u62a4\u57ce\u6cb3\uff0c\u4e0d\u53d6\u51b3\u4e8e\u5b83\u80fd\u591a\u6d41\u7545\u5730\u5199\u4ee3\u7801\uff0c\u800c\u53d6\u51b3\u4e8e\u5176AI CMO\u80fd\u5426\u771f\u7684\u6253\u7834\u6d41\u91cf\u5784\u65ad\uff0c\u5e26\u6765\u6301\u7eed\u3001\u4f4e\u6210\u672c\u7684\u7528\u6237\u589e\u957f\u3002\u5982\u679c\u4e0d\u80fd\u5728\u6b64\u7ef4\u5ea6\u8bc1\u660e\u81ea\u5df1\uff0c\u5b83\u5f88\u53ef\u80fd\u53ea\u662f\u53c8\u4e00\u4e2a\u7cbe\u81f4\u7684\u201c\u5355\u4eba\u73a9\u5177\u201d\u3002\u53e6\u5916\uff0c\u5bf9\u4e0e\u201c\u4ece0\u52301\u201d\u4e0e\u201c\u4ece1\u5230100\u201d\u7684\u53d6\u820d\uff0c\u5176\u6218\u7565\u4f3c\u4e4e\u4e5f\u5c1a\u5728\u6447\u6446\uff0c\u8fd9\u5c06\u662f\u51b3\u5b9a\u5176\u80fd\u5426\u4ece\u6781\u5ba2\u5708\u8d70\u5411\u5927\u4f17\u5e02\u573a\u7684\u5173\u952e\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Soloop<\/span>\n                <\/div>\n<div class=\"comment-content\">Soloop is an agentic company-building system for solo founders. It takes you from idea to revenue with an AI CEO to plan, manage and prioritize, an AI CTO to build and execute, and an AI CMO to find users and sell. Keep your own judgment and ownership while delegating the unfamiliar work that usually requires a team.<\/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>\n<p>I\u2019m Wenhao Yu, founder of Soloop.<\/p>\n<\/p>\n<p>Before Soloop, I built products at a large tech company. Our team could solve hard product problems, but we spent too much time waiting for decisions to move through meetings, quarterly reviews, reports, and handoffs.<\/p>\n<\/p>\n<p>AI coding tools later made it possible for one person to ship a working product. I could build the first version alone, then faced the work code could not cover: <strong>choosing an audience, finding users, reading their feedback, and deciding what to build next.<\/strong><\/p>\n<\/p>\n<p><strong>I built Soloop to give a solo founder a coordinated AI team.<\/strong><\/p>\n<\/p>\n<p>You give the <strong>AI CEO<\/strong> a company goal. It makes the plan and coordinates the other agents. The <strong>AI CTO<\/strong> builds and iterates from user signals. The <strong>AI CMO<\/strong> finds potential users, runs distribution, and brings their responses into the next decision.<\/p>\n<\/p>\n<p>While building Soloop, we stopped treating each agent as a standalone assistant. <strong>Separate assistants left the founder carrying context between chats and reconciling their plans.<\/strong> We organized the team around one company goal and a daily review. Soloop brings decisions that need judgment back to the founder for approval.<\/p>\n<\/p>\n<p>Soloop is early, and we want solo founders to shape it with us.<\/p>\n<ul>\n<li>\n<p><em>Where does the path between a working demo and a real business break down for you? <\/em><\/p>\n<\/li>\n<li>\n<p><em>Which part would you trust an AI team to run?<\/em><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>25<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@wenhao_yu on your \u201cwhich part would you trust\u201d question: product iteration (cto layer) i\u2019d trust the most because code has fast measurable feedback loops. Cmo decisions i\u2019d trust least because audience choice, messaging and distribution have slow noisy signals that make agent learning hard.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>9<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@wenhao_yu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wenhao_yu<\/a>&nbsp;Really like this vision \ud83d\udc4f<\/p>\n<p>Most AI tools help you build faster, but Soloop tackles everything that comes <em>after<\/em> shipping\u2014finding users, learning from feedback, and growing the business. The AI CEO\/CTO\/CMO concept is a clever way to keep everything aligned around one goal.<\/p>\n<p>Congrats on the launch! You might also consider listing Soloop on AI directories like iSEOAI to reach more indie founders and builders. \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@wenhao_yu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@wenhao_yu<\/a>&nbsp;daily review idea is interesting<strong> c<\/strong>oordinating agents around one goal feels much more useful than having several disconnected assistants<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt,<\/p>\n<p>I\u2019m Qingfeng Meng, CFO of Soloop.<\/p>\n<\/p>\n<p>I first knew this company as an investor. At Shuimu Tsinghua Alumni Seed Fund, I worked on investments in more than 30 Tsinghua-founded startups. I later worked on global GTM at Zhipu AI. After the fund invested, <strong>I crossed the table and joined the team.<\/strong><\/p>\n<p>Early-stage investing taught me to treat every important decision as an allocation of capital. That capital includes cash, a founder\u2019s time, and the paths given up by choosing one direction over another. <strong>Building, selling, and waiting all have a cost.<\/strong><\/p>\n<\/p>\n<p>I measure an AI team by <strong>how much uncertainty it removes<\/strong> each week. Soloop helps a founder turn a company thesis into a focused bet, test it in the market, and bring back evidence before making the next commitment. Most AI tools make an individual task cheaper. Soloop aims to reduce the cost of deciding what the company should do next.<\/p>\n<p>That is the vision I joined: <strong>a founder with conviction should be able to build a real company without first assembling a large organization.<\/strong><\/p>\n<\/p>\n<p>My job is to help make the economics of that model work. I\u2019d be glad to hear your stories and explore collaborations with founders, operators, and investors building or backing one-person companies.<\/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\/@qf_meng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qf_meng<\/a>&nbsp;Congrats on the launch team. How does the tool handle competing priorities between the various c level agents?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@qf_meng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qf_meng<\/a>&nbsp;We read your vision with great interest. We believe Soloop\u2019s mission of helping AI founders reduce uncertainty and move faster strongly aligns with what we are building at HUQAN: a reliable and verifiable infrastructure layer for AI agents.<br \/>We believe HUQAN could create value for the Soloop ecosystem and its users, and we would be interested in exploring potential synergies.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt,<\/p>\n<\/p>\n<p>I\u2019m Xinyu Shi, CTO of Soloop.<\/p>\n<\/p>\n<p>Building Soloop taught me that creating a useful AI team is very <strong>different<\/strong> from putting <em>several agents into the same product<\/em>.<\/p>\n<p>The hard part is not getting an agent to generate code, write a marketing post, or produce a plan. The hard part is making sure every agent <strong>understands<\/strong> the same company goal, works from the same context, and turns its output into something the next agent can actually use.<\/p>\n<\/p>\n<p>As CTO, I\u2019ve focused on building <strong>the system behind that coordination<\/strong>.<\/p>\n<p>When the AI CMO discovers a user need, the insight should not disappear inside a chat history. It should become structured context for the AI CEO to evaluate and, once approved, a clear task for the AI CTO to implement.<\/p>\n<p>That requires more than prompts. It requires <strong>shared memory, clear ownership, reliable handoffs, execution environments, approval checkpoints, and feedback loops<\/strong> that help the system improve without taking control away from the founder.<\/p>\n<\/p>\n<p>We are still early, and many of the most interesting technical problems are ahead of us: <\/p>\n<ul>\n<li>\n<p>how much autonomy agents should have<\/p>\n<\/li>\n<li>\n<p>how they should recover from failure<\/p>\n<\/li>\n<li>\n<p>and how founders can understand why a decision was made.<\/p>\n<\/li>\n<\/ul>\n<p>I\u2019d love to hear from other builders:<\/p>\n<ul>\n<li>\n<p>What would make you trust an AI agent with a real part of your company?<\/p>\n<\/li>\n<li>\n<p>And where do today\u2019s coding agents or multi-agent systems fail you most often?<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I designed almost exactly this for my own company \u2014 departments instead of loose agents, each with a manager, shared memory, daily reviews. The one place I landed differently is approval. I started approval-first and moved to &#8220;execute and report, stop only at what&#8217;s irreversible&#8221;, because the approval queue became the bottleneck it was meant to remove. As a solo founder my scarcest resource is attention, and a system that asks me twelve times a day is a slower version of doing it myself. Curious how you&#8217;re drawing that line \u2014 is &#8220;requires approval&#8221; a fixed category, or does it widen as the founder builds trust?<\/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\/@rodrigo_baigorria\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rodrigo_baigorria<\/a>&nbsp;Brilliant observation\u2014you\u2019ve hit on the exact friction point of approval-first systems. <\/p>\n<p>As a CFO, I view attention as our most non-renewable capital asset, so micro-approvals defeat the purpose of leverage.<br \/>To answer your question: it widens. We don&#8217;t view approval as a binary toggle, but as a dynamic &#8220;trust ladder.&#8221; Reversible, low-stakes actions (like drafting or routine reporting) shift toward &#8220;execute and log,&#8221; while high-stakes, irreversible actions (capital expenditure, publishing production code, launching ad spend) require hard sign-off. As confidence metrics grow, the threshold moves, keeping founder fatigue low without exposing the business to unbounded risk. <\/p>\n<\/p>\n<p>Love how you approached this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rodrigo_baigorria\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rodrigo_baigorria<\/a>&nbsp;That\u2019s a very sharp insight! Thank you for your time!!<\/p>\n<p>In practice, we\u2019ve found that many people want to do as little as possible at first. <strong>Watching the agents spring into action is almost a show in itself. For many people, that is the first aha moment.<\/strong> Decision quality takes much longer to judge, and many curious users move on before the results have time to show up.<\/p>\n<p>So we\u2019re still trying to find the balance between meaningful approvals and real autonomy. <strong>It feels a lot like the tradeoff between reaching more users and finding the right users.<\/strong> We don\u2019t know the perfect line yet, so we\u2019re testing it.<\/p>\n<p>But from a growth and first-time experience perspective, you may be right. I\u2019d love to compare notes again once we have more data.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the focus on keeping the founders in control. Ai should amplify decision making , not replace the vision and judgment that make  a company unique.<\/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\/@isaac_warren\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@isaac_warren<\/a>&nbsp;Couldn&#8217;t agree more. <\/p>\n<\/p>\n<p>Unchecked AI in business execution introduces major operational and financial risk. The core thesis behind our design is that AI should eliminate grunt work and optimize unit economics, but strategic judgment\u2014where capital gets deployed and why\u2014must always remain with the founder. <\/p>\n<\/p>\n<p>Thanks for capturing the essence of what we&#8217;re building!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@isaac_warren\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@isaac_warren<\/a>&nbsp;Exactly! That\u2019s the thinking behind Soloop. AI can take on more of the work, while the founder keeps the vision, judgment, and final say.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">Love the direction here. Building a company alone means constantly switching between product, engineering, and marketing roles. Having AI agents that can coordinate these workflows feels like a natural next step for solo funders.  Curious to see how Soloop helps funders go from ideas to real traction.<\/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\/@sylvialane\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sylvialane<\/a>&nbsp;Thank you so much! <br \/>We believe agents will keep learning every skill it takes to build a company, helping solo founders turn ideas into real traction without carrying every role alone \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sylvialane\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sylvialane<\/a>&nbsp;Totally get that constant role-switching whiplash\u2014before Soloop I&#8217;d spend half my morning in Figma, half writing copy, and realize I hadn&#8217;t actually <em>moved<\/em> anything forward by lunch.<\/p>\n<p>The coordination piece is the secret sauce here. It&#8217;s not just that you have AI doing each role\u2014it&#8217;s that they pass work between each other without you having to translate or re-explain.<\/p>\n<p>On traction: we&#8217;re focused on removing the operational friction between &#8220;I have an idea&#8221; and &#8220;I&#8217;m running experiments that tell me if it works.&#8221; Faster iterations = faster learning = faster traction.<\/p>\n<\/p>\n<p>Would love to hear what your biggest bottleneck is right now going from idea to 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\/@sylvialane\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sylvialane<\/a>&nbsp;Here&#8217;s a counterintuitive thing I learned from early-stage investing: <strong>the bottleneck for solo founders is almost never capability\u2014it&#8217;s allocation.<\/strong><\/p>\n<p>You can be great at product, engineering, and marketing individually. The problem is you can only do one at a time, and the cost of switching between them is brutal. Every hour you spend writing code is an hour you&#8217;re not talking to users, and vice versa.<\/p>\n<\/p>\n<p>Our bet is that the biggest change AI brings to collaboration isn&#8217;t better individual output\u2014it&#8217;s that <strong>human organizations shift from mostly serial to mostly parallel.<\/strong> One person can only do one thing at a time. An AI team can work on product, engineering, and marketing <em>simultaneously<\/em>, and you just steer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 team clearly having real conviction here. <br \/>For someone with zero technical background, how much do they actually need to understand to give useful approvals to the AI CTO?<\/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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thanks for checking out Soloop! <br \/>Very little on the technical side. Our goal is to make the path from idea to revenue accessible even if you\u2019re starting from zero.<\/p>\n<p>With the AI CTO, you only need to review a plain-English description of what the product should do and decide whether it matches what you want. You don\u2019t need to read code or understand deployment. Once you approve it, the AI CTO turns that description into code, deploys it, and hands you a live product link.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Honestly, as someone with zero technical background myself, this is <em>exactly<\/em> the question I ask our team every week. <\/p>\n<p><strong>You don&#8217;t need to understand how it&#8217;s built. You need to understand whether to keep going.<\/strong><\/p>\n<\/p>\n<p>Here&#8217;s what I&#8217;ve learned from approving tons of AI CTO output as a non-technical founder: most approval points aren&#8217;t really about &#8220;how&#8221;\u2014they&#8217;re about &#8220;should we move on?&#8221; The AI already handled the how. The decision you&#8217;re actually making is: does this direction feel right, or do we need to course-correct?<\/p>\n<p>The hard part\u2014and this is the real challenge, no sugarcoating it\u2014is making that decision low-cost for the founder. <\/p>\n<\/p>\n<p>We&#8217;re working on this in two ways:<\/p>\n<p>First, <strong>we break approvals into the small steps a founder actually cares about<\/strong>, not engineering milestones. Instead of &#8220;approve the backend architecture,&#8221; it&#8217;s &#8220;this approach will get you to launch 2 weeks faster but limits what you can build in month 3\u2014keep going?&#8221; Frame it as a trade-off a business person can reason about, not a tech spec.<\/p>\n<p>Second, <strong>we lead with results, not process<\/strong>. I&#8217;m the kind of person who iterates by looking at outcomes and working backwards\u2014&#8221;this landing page isn&#8217;t converting, let&#8217;s figure out why.&#8221; The AI CTO should work the same way: show me what&#8217;s working, what&#8217;s not, and let me decide if we&#8217;re on the right track. Don&#8217;t make me read a PRD to give a yes\/no.<\/p>\n<\/p>\n<p>Is this solved perfectly? Not yet. For a product where decision quality is everything for solo founders, this is the hardest UX problem we&#8217;re working on. But we&#8217;re iterating fast and I think we have something genuinely useful to show for it.<\/p>\n<p>Happy to swap notes on this\u2014Triforce&#8217;s approach to task structure is really interesting from this angle.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 love the concept, but what do you mean by &#8220;approval-first&#8221;?<\/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\/@lavana_cricko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lavana_cricko<\/a>&nbsp;We chose an &#8220;Approval-first&#8221; architecture. The AI agents handle the execution and handoffs, but they bring critical choices back to you. You supply the vision; they do the legwork.<\/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>Hi Product Hunt,<\/p>\n<p>I\u2019m David, co-founder of Soloop, leading market, brand, and commercialization.<\/p>\n<\/p>\n<p>Before Soloop, I worked across media, platform marketing, and creator operations, then co-founded a Gen Z social startup in MiraclePlus\u2019s 2020S program. That experience led me to a conclusion: <strong>at the start, attention is all you need. <\/strong>Once you make the right people care, you can figure out the rest with them.<\/p>\n<\/p>\n<p>Vibe coding gave one person a software team. <strong>Soloop is building the rest of the company.<\/strong><\/p>\n<\/p>\n<p>Soloop brings an AI CEO, CTO, and CMO into one company-building system for a founding team of one. They share the same company memory, coordinate product and GTM execution, bring key choices to the founder, and carry each decision into action. <strong>You keep the vision and final say.<\/strong> Soloop carries more of the operating load as the company moves toward users and revenue.<\/p>\n<\/p>\n<p>My job is to keep that ambition close to what users actually do. We\u2019d love to hear your founder stories, compare notes, and explore collaborations with people building the next generation of one-person companies.<\/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\/@daidoubledai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daidoubledai<\/a>&nbsp;As a solo founder, my next idea was actually to build a private app pretty similar to this one. I&#8217;ve looked into a few open-source projects, but I haven&#8217;t been able to dig into any of them in enough depth to find something close to what I have in mind. Still, I think it could turn into something great over time.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I have built my site already. Can I use your product CMO to put together a marketing plan, find and get users and sell? Or is your solution only usable from the onset of an idea?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@brent_kilner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brent_kilner<\/a>&nbsp;Spot on. You\u2019ve highlighted a critical transition phase. Right now, our core focus is taking users from 0 to 1 (ideation). However, scaling from 1 to 100\u2014structuring a GTM plan, driving traffic, and optimizing acquisition for an existing site\u2014is exactly where we are heading next. <\/p>\n<\/p>\n<p>We are actively building the infrastructure to onboard existing products for this exact purpose. Since you are facing this bottleneck now, I\u2019d love to connect and hear more about your current site to ensure what we&#8217;re building solves your specific growth hurdles.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@brent_kilner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@brent_kilner<\/a>&nbsp;Thanks for asking! It\u2019s not available yet, but we\u2019re shipping support for existing products within a week. Then the CMO can build your marketing plan, find users, and help sell what you\u2019ve built.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 <\/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\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;Thx very much!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@madalina_barbu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@madalina_barbu<\/a>&nbsp;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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Ambitious idea! Best luck on &#8220;really make things work&#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\/@sophialgrowth\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sophialgrowth<\/a>&nbsp;Thank you! Same wishes for Toki \u2014 love seeing fellow AI productivity tools building better workflows for founders.<\/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\/@sophialgrowth\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sophialgrowth<\/a>&nbsp;\u2764<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>As a solo founder who&#8217;s already shipped, the build was never my wall \u2014 it&#8217;s the distribution grind (posting daily, finding the right communities, actually reading feedback) that eats the week and doesn&#8217;t get cheaper the more I code. That&#8217;s the part I&#8217;d hand off first. Saw in the thread you&#8217;re bringing existing products into the CMO flow soon \u2014 that&#8217;s the version I&#8217;d genuinely try.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@lennoxbeflying\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lennoxbeflying<\/a>&nbsp;Thanks so much for the support. We\u2019re committing to ship a stable CMO flow for founders with existing products within two weeks. We\u2019d love to have you try it when it goes live!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey! Super cool in theory. The &#8216;get started&#8217; button didn&#8217;t work for me, and couldn&#8217;t find info around pricing.<\/div>\n<div class=\"comment-actions\">\n<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\/@chatace\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chatace<\/a>&nbsp;Thanks for flagging this, and I\u2019m really sorry that was your first experience with Soloop. About eight hours ago, a traffic spike took our server down for roughly an hour, but everything is back up now.<\/p>\n<p>You\u2019re also right about the pricing info. It wasn\u2019t easy enough to find, and we\u2019re fixing that. We\u2019d love to have you give Soloop another try. Thanks for bearing with us!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi team, was trying to take the product out for a spin &#8211; just have a look when  you get some time. I am on chrome. Love the concept btw, and hence was trying to check this out<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7854fc1e-11cf-4252-87e1-f6d3af94f44c.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@himanshu_garg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himanshu_garg<\/a>&nbsp;Thanks for flagging this, and so sorry you hit it!!<\/p>\n<p>It looks like a temporary server load issue on our side. It\u2019s fixed now, so you can try again. Thank you for your understanding. <\/p>\n<p>\u2570(*\u00b0\u25bd\u00b0*)\u256f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Approval-first is the hill I\u2019ve been dying on all year, so congrats, you built my argument.<\/p>\n<\/p>\n<p>I\u2019m a solo founder running 25 AI marketing agents, and the two rules that keep that sane are exactly your premise: agents produce drafts, not actions, and when they\u2019re missing information they ask instead of inventing. (Mine once invented an employee named Teri and assigned her support tickets. Approval-first is why Teri lasted one document review instead of reaching a customer.)<\/p>\n<\/p>\n<p>So here\u2019s the question I\u2019d ask before subscribing, because it\u2019s where I\u2019ve watched this model strain: how do you fight approval fatigue? At some volume, \u201capprove\u201d stops being a decision and becomes a reflex, and a human rubber-stamping fifty prompts a day is arguably worse than no gate at all, because now there\u2019s an audit trail saying someone reviewed it. Do you do anything structural to keep approvals meaningful: batching, risk-tiering, surfacing only diffs, anything?<\/p>\n<\/p>\n<p>Genuinely asking. This is the design problem I think decides whether approval-first scales or becomes approval theater.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tiffany_trboyevich\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tiffany_trboyevich<\/a>&nbsp;OK. &#8220;Approval theater&#8221; is such a perfect way to put it\u2014and you&#8217;re exactly right that it&#8217;s worse than no gate at all because it gives you a false sense of security. We&#8217;ve had so many internal debates about this.<\/p>\n<p>Here&#8217;s what we&#8217;re working on structurally to fight it:<\/p>\n<p><strong>Risk-tiering first.<\/strong> Not every approval is equal. A copy tweak on a landing page? Low stakes, batch it up and show you the diffs once a day. A pricing change or a new feature direction? High stakes, surface it immediately with full context. The goal is that your attention only goes to decisions that actually <em>need<\/em> your judgment.<\/p>\n<p><strong>Diff-only approvals.<\/strong> You shouldn&#8217;t have to re-read a whole document to approve one changed paragraph. We show you what moved, why it moved, and let you say yes\/no in seconds.<\/p>\n<p><strong>Batching by default.<\/strong> The default mode isn&#8217;t &#8220;ping me for everything&#8221;\u2014it&#8217;s &#8220;here&#8217;s everything that happened since you last checked, organized by what needs your call.&#8221; You set the rhythm, not the AI.<\/p>\n<p>That said\u2014this is still the hardest design problem we&#8217;re working on, and we haven&#8217;t cracked it perfectly. The line between &#8220;meaningful approval&#8221; and &#8220;rubber stamping&#8221; is thinner than people think, and it moves as you scale.<\/p>\n<p>Honestly, I&#8217;d love to swap notes with you more on this\u2014someone running 25 agents has way more battle scars than we do. Want to chat sometime?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\"><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f7494498-1501-4cec-9b5d-2584515e2074.png?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>Seems like there is a problem&#8230; <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@harry_douglas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harry_douglas<\/a>&nbsp;Thanks for flagging this, and I\u2019m really sorry that was your first experience with Soloop. About nine hours ago, a spike in traffic caused roughly an hour of downtime and a few related issues. Everything is back up and running now.<\/p>\n<p>We\u2019d love for you to give Soloop another try. Thanks so much for bearing with us!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, everyone from Soloop, do you use agents to seed your posts here with your tool, or do you actually posted it yourself (I don&#8217;t assume you put time to write it :))<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@agilek\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@agilek<\/a>&nbsp;Yep, we do use our own agents to help with the writing and the post. \ud83d\ude42 We\u2019re a small team and simply don\u2019t have enough hands to do everything manually. It\u2019s also a great way to dogfood Soloop. We still review and approve everything ourselves, and this is exactly how we keep improving our agents\u2019 skills.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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.. Is there a level of autonomy planned to baked in?  Also is the product only meant for solo folks &#8211; or in future can also accomodate co founders. Last connected issue is that our calendars, emails and usually slack &#8211; are filled with discussions and clutter &#8211; could those be connected and baked into the plan. Last but not the least &#8212; can real product signals from say feedback widgets, posthog, newrelic\/sentry, langfuse traces etc automatically be parsed to create and suggest product stories (sorry having been a PM for so many years &#8211; this is something I keep thinking about, product discovery).<\/p>\n<p>Have signed up will try to take this out for a spin soon \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@himanshu_garg\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himanshu_garg<\/a>&nbsp;Love these questions\u2014this is exactly the kind of PM-level thinking that makes building this fun.<\/p>\n<\/p>\n<p>Quick takes on each:<\/p>\n<p><strong>Autonomy:<\/strong> We&#8217;re building toward &#8220;human sets the direction, AI runs the execution.&#8221; The bar for when something needs your approval will get smarter over time, but you always have final say. Full autonomy without human oversight isn&#8217;t the goal\u2014<em>reduced decision fatigue<\/em> is.<\/p>\n<p><strong>Co-founders:<\/strong> Right now we&#8217;re laser-focused on solo founders (that&#8217;s where the pain is sharpest), but multi-person teams are definitely on the roadmap. The handoff and coordination problems get even more interesting with 2-3 people.<\/p>\n<p><strong>Calendar \/ email \/ Slack integrations:<\/strong> 100% on the list. The whole point is that your company&#8217;s context shouldn&#8217;t live only inside Soloop\u2014it should pull from wherever the work actually happens.<\/p>\n<p><strong>Product signals \u2192 product discovery:<\/strong> Okay, this one is the most exciting to me. The idea that real user data (feedback, analytics, error traces) could feed directly into the roadmap and suggest what to build next\u2026 that&#8217;s the <em>good stuff<\/em>. Our product team has been obsessing over this exact thing.<\/p>\n<\/p>\n<p>Really stoked you signed up\u2014would love to hear what you think once you&#8217;ve taken it for a spin. PMs are our favorite users to talk to, no bias at all \ud83d\ude04<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Soloop is a bold step toward empowering solo founders. Being a solo entrepreneur means juggling countless tasks, and having agentic AI roles \u2014 CEO, CTO, CMO \u2014 that handle planning, building, and selling can significantly improve efficiency. The balance of keeping judgment and ownership while delegating unfamiliar work is exactly what makes this system exciting. Look forward to seeing it envolve. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@charlenechen_123\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charlenechen_123<\/a>&nbsp;Thank you so much, this really means a lot! We believe agents will keep gaining the skills founders need, and we\u2019re all in on helping every solo founder turn an idea into revenue \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>I tried Soloop today and I really like the idea of having an AI team (CEO\/CTO\/CMO) helping solo founders move faster.<\/p>\n<p>One thing I\u2019m still trying to understand is the workflow after choosing an AI role. I selected a CEO agent and started discussing my idea, but I wasn\u2019t completely sure what happens next.<\/p>\n<p>Does the agent mainly help founders refine ideas, validate opportunities, and make decisions? Or does it also work together with other agents (like CTO\/CMO) to actually execute and build the product?<\/p>\n<p>I think clarifying this journey would help new users understand the value faster. Excited to see how this evolves!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@qiwap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qiwap<\/a>&nbsp;Thank you so much for taking the time to try Soloop and write all of this! <br \/>It honestly helps a lot. You pinpointed something that made sense in our heads, but wasn\u2019t clear enough in the product.<\/p>\n<p>Soloop is built around several agents working <strong>together<\/strong> to keep your company moving. The CEO is your home base. You talk through the direction there, and once it\u2019s clear, the CEO turns that conversation into concrete tasks for the Analyst, CTO, and CMO. The Analyst researches the market and users, the CTO builds and ships, and the CMO finds users and gathers feedback. You review and approve each task before it runs.<\/p>\n<p><strong>If you\u2019re ever unsure what to do next, just return to the CEO page and ask.<\/strong> When another role finishes a task or needs your approval, you\u2019ll see a red dot next to that role in the left sidebar.<\/p>\n<p>We really appreciate you calling this out. We\u2019ll make the guidance simpler and clearer so the path forward feels obvious next time. <strong>Thank you so much!!\ud83d\ude80<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@qiwap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@qiwap<\/a>&nbsp;Great question, and honestly this is such useful feedback\u2014thank you for taking the time to write this out.<\/p>\n<p>You&#8217;re totally right that the journey from &#8220;talking to an agent&#8221; to &#8220;shit gets built&#8221; isn&#8217;t clear enough right now. We think about this a lot because <strong>one of the core problems we&#8217;re solving is founders getting stuck mid-build and losing flow.<\/strong><\/p>\n<\/p>\n<p>Here&#8217;s how it actually works today:<\/p>\n<p><strong>Phase 1 \u2014 Refine the idea.<\/strong> This is where you are right now with the CEO agent. You&#8217;re not just brainstorming\u2014you&#8217;re pressure-testing the idea until it&#8217;s sharp enough to execute on. Two agents do most of the heavy lifting here:<\/p>\n<ul>\n<li>\n<p><strong>CEO agent<\/strong> breaks your idea down into concrete, actionable tasks and pushes on feasibility. It&#8217;s the &#8220;okay, but <em>how<\/em> do we actually do this by Friday?&#8221; voice.<\/p>\n<\/li>\n<li>\n<p><strong>Analyst agent<\/strong> is the outside perspective\u2014competitive landscape, gaps you might be missing, opportunities you haven&#8217;t spotted. The person who&#8217;d ask &#8220;why hasn&#8217;t anyone done this yet?&#8221; in a good way.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Phase 2 \u2014 Actually build it.<\/strong> Once the idea is solid enough, that&#8217;s where the handoffs happen. The CEO doesn&#8217;t just keep talking\u2014it kicks off work with CTO and CMO agents who take the plan and start executing. You&#8217;re not manually switching between agents; the system moves the work forward and brings you back in when a decision is needed.<\/p>\n<\/p>\n<p>The feature that ties this all together is called <strong>&#8220;What&#8217;s Next.&#8221;<\/strong> Instead of you figuring out what to do with each agent, the AI proactively suggests the next step\u2014who should work on what, what needs your approval, what&#8217;s ready to move forward. You stay in flow, the AI handles the transitions.<\/p>\n<p>That said, you&#8217;re 100% right that we need to make this journey way more obvious from the start. New users shouldn&#8217;t have to <em>figure out<\/em> the value\u2014they should feel it within the first few minutes. We&#8217;re actively working on making this clearer, and your feedback is exactly the kind of thing that helps.<\/p>\n<p>Would love to hear more about what you expected to happen vs. what actually happened. Super useful for us.<\/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\">Congrats on your launch. Wanted to try the app but it asked me to request to sign up.<\/div>\n<div class=\"comment-actions\">\n<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\/@sabit_ali\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabit_ali<\/a>&nbsp;\ud83d\ude02\ud83d\ude02<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@wenhao_yu what&#8217;s that for<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#3<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/FV5DV6VRVX77O7\" class=\"app-title\">Nitro 4.0<\/a><\/p>\n<div class=\"one-liner\">The first human translation platform built for AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">228<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Nitro 4.0 \u662f\u9996\u4e2a\u652f\u6301AI\u667a\u80fd\u4f53\u81ea\u4e3b\u4e0b\u5355\u5e76\u4ed8\u8d39\u7684\u4eba\u5de5\u7ffb\u8bd1\u5e73\u53f0\uff0c\u8ba9\u5e94\u7528\u66f4\u65b0\u3001\u5e7f\u544a\u6587\u6848\u7b49\u77ed\u6587\u672c\u65e0\u9700\u6ce8\u518c\u548cAPI\u5bc6\u94a5\u5373\u53ef\u83b7\u5f97\u6bcd\u8bed\u7ea7\u4eba\u5de5\u7ffb\u8bd1\uff0c\u89e3\u51b3\u5c0f\u6279\u91cf\u7ffb\u8bd1\u9700\u6c42\u4e0e\u7e41\u7410\u6d41\u7a0b\u4e4b\u95f4\u7684\u6838\u5fc3\u77db\u76fe\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\/4e73d1f4-cb21-41c4-a583-d6413dae06df.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/6_Hxm0xPnVA\"><source src=\"https:\/\/youtu.be\/6_Hxm0xPnVA\" 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\/81b5087d-fd2b-4e2c-bb53-dfb749e57a31.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8a7c6942-da21-4f3c-a072-cec1990fba06.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5396977a-bbf7-4d33-820c-5c291b511ed9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8ab1e253-1237-4ec6-8c77-9e44f63434b2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b6fc5e65-e6d1-42ef-8cc1-71df161d3058.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Languages<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4eba\u5de5\u7ffb\u8bd1<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u673a\u5668\u652f\u4ed8\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u7ffb\u8bd1\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5316<\/span><br \/>\n            <span class=\"tag\">\u77ed\u6587\u672c\u7ffb\u8bd1<\/span><br \/>\n            <span class=\"tag\">\u65e0\u8d26\u6237API<\/span><br \/>\n            <span class=\"tag\">\u8f6f\u4ef6\u5373\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u672c\u5730\u5316<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u7ffb\u8bd1\u5de5\u4f5c\u6d41<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u8df3\u8fc7\u8d26\u6237\/API\u7684\u4fbf\u6377\u6027\uff0c\u5173\u6ce8\u8d28\u91cf\u4e0e\u65f6\u6548\uff08\u8d28\u7591&#8221;\u6570\u5c0f\u65f6\u4ea4\u4ed8&#8221;\u7684\u6570\u636e\u771f\u5b9e\u6027\uff09\u3001\u4ea4\u4ed8\u65b9\u5f0f\uff08\u4ee3\u7406\u5982\u4f55\u53d6\u56de\u8bd1\u6587\uff09\u53ca\u8d28\u68c0\u673a\u5236\uff08\u65e0\u8d26\u6237\u5982\u4f55\u8ffd\u8d23\uff09\u3002\u5f00\u53d1\u8005\u56de\u5e94\uff1a\u5e73\u57472-24\u5c0f\u65f6\uff0c60%\u8ba2\u53552\u5c0f\u65f6\u5185\u5b8c\u6210\uff0c\u8bd1\u6587\u901a\u8fc7API\u8fd4\u56de\uff0c\u8d28\u91cf\u7531\u6bcd\u8bed\u8bd1\u8005\u4e13\u4e1a\u6807\u51c6\u4fdd\u969c\u3002\u53e6\u6709\u5bf9AI\u53d6\u4ee3\u4eba\u5de5\u7ffb\u8bd1\u7684\u62c5\u5fe7\uff0c\u5b98\u65b9\u8868\u793a\u672a\u6765\u6216\u63d0\u4f9bAI\u8bd1\u6587\u4eba\u5de5\u6da6\u8272\u670d\u52a1\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                Nitro 4.0 \u7684\u201cAI Agent\u53ef\u4e0b\u5355\u201d\u66f4\u50cf\u662f\u4e00\u6b21\u7cbe\u5fc3\u7b56\u5212\u7684\u53d9\u4e8b\u5347\u7ea7\uff0c\u800c\u975e\u6280\u672f\u9769\u547d\u3002\u5176\u6838\u5fc3\u58c1\u5792\u4ecd\u5728\u4e8eAlconost\u6c89\u6dc0\u7684\u8bd1\u8005\u7f51\u7edc\u548c\u4ea4\u4ed8\u8d28\u91cf\uff0c\u800cMPP\u534f\u8bae\u4e0e\u65e0\u8d26\u6237\u6d41\u7a0b\uff0c\u672c\u8d28\u4e0a\u662f\u5c06\u8fc7\u53bb\u7e41\u7410\u7684B2B\u4ea4\u6613\u538b\u7f29\u6210\u4e00\u4e2a\u51fd\u6570\u8c03\u7528\uff0c\u8fd9\u786e\u5b9e\u8e29\u4e2d\u4e86AI Agent\u5546\u4e1a\u5316\u843d\u5730\u7684\u5173\u952e\u75db\u70b9\u2014\u2014\u8ba9\u667a\u80fd\u4f53\u4e0d\u4ec5\u80fd\u201c\u60f3\u201d\uff0c\u8fd8\u80fd\u201c\u529e\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0c\u8fd9\u5c42\u201c\u673a\u5668\u5bf9\u673a\u5668\u201d\u7684\u5916\u58f3\u5e76\u672a\u89e3\u51b3\u7ffb\u8bd1\u884c\u4e1a\u6700\u6839\u672c\u7684\u4fe1\u4efb\u6210\u672c\u95ee\u9898\u3002\u8bc4\u8bba\u533a\u7684\u7075\u9b42\u62f7\u95ee\u2014\u2014\u65e0\u8d26\u6237\u5982\u4f55\u505aQA\u8ffd\u6eaf\u2014\u2014\u76f4\u6307\u547d\u95e8\uff1aNitro\u5c06\u8d28\u68c0\u8d23\u4efb\u524d\u7f6e\u7ed9\u4e86\u652f\u4ed8\u5c42\u548c\u8bd1\u8005\u6c60\uff0c\u4f46\u4e00\u65e6\u7ffb\u8bd1\u51fa\u9519\u5bfc\u81f4\u5ba2\u6237\u635f\u5931\uff08\u5982\u5e7f\u544a\u6587\u6848\u4e0a\u7ebf\u51fa\u9519\uff09\uff0c\u8ffd\u8d23\u94fe\u6761\u662f\u65ad\u88c2\u7684\u3002\u8fd9\u4f1a\u8ba9\u8be5\u670d\u52a1\u5929\u7136\u5730\u5c40\u9650\u4e8e\u201c\u4f4e\u98ce\u9669\u3001\u53ef\u5bb9\u5fcd\u9519\u8bef\u201d\u7684\u573a\u666f\uff0c\u96be\u4ee5\u64ac\u52a8\u4f01\u4e1a\u7ea7\u6838\u5fc3\u8d44\u4ea7\u7ffb\u8bd1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u6740\u624b\u950f\u5728\u4e8e\u5176\u201c\u4eba\u7c7b+AI\u201d\u7684\u5b9a\u4f4d\u3002\u5f53\u5168\u884c\u4e1a\u90fd\u5728\u7528\u5927\u6a21\u578b\u66b4\u529b\u78be\u538b\u7ffb\u8bd1\u4ef7\u683c\u65f6\uff0cNitro\u53cd\u5176\u9053\u800c\u884c\uff0c\u628a\u4eba\u7c7b\u8bd1\u8005\u53d8\u6210AI\u7684\u201c\u5916\u5305\u52b3\u52a8\u529b\u201d\uff0c\u65e2\u4fdd\u4f4f\u4e86\u8d28\u91cf\u6ea2\u4ef7\uff0c\u53c8\u987a\u5e94\u4e86\u81ea\u52a8\u5316\u6d6a\u6f6e\u3002\u7136\u800c\uff0c\u8fd9\u6761\u8def\u7684\u5929\u82b1\u677f\u6e05\u6670\u53ef\u89c1\uff1a\u82e5AI\u7ffb\u8bd1\u8d28\u91cf\u6301\u7eed\u903c\u8fd1\u4eba\u7c7b\uff0c\u4e14\u540e\u7f16\u8f91\u6210\u672c\u4f4e\u4e8e\u7eaf\u4eba\u5de5\uff0cNitro\u4fbf\u4f1a\u6ca6\u4e3a\u201c\u6602\u8d35\u7684\u4e2d\u95f4\u5546\u201d\u3002\u5176\u672a\u6765\u751f\u6b7b\uff0c\u4e0d\u53d6\u51b3\u4e8eAgent\u4e0b\u5355\u9009\u591a\u6d41\u7545\uff0c\u800c\u53d6\u51b3\u4e8e\u80fd\u5426\u5728\u201cAI\u76f4\u8bd1\u201d\u4e0e\u201c\u4eba\u7c7b\u7cbe\u8bd1\u201d\u4e4b\u95f4\uff0c\u5361\u4f4f\u4e00\u4e2a\u4e0d\u53ef\u66ff\u4ee3\u7684\u8d28\u91cf\u4ef7\u503c\u951a\u70b9\u3002\u5426\u5219\uff0c\u8fd9\u4e0d\u8fc7\u662f\u65e7\u9152\u88c5\u65b0\u74f6\uff0c\u70ed\u95f9\u4e4b\u540e\uff0c\u4ecd\u662f\u5c0f\u4f17\u751f\u610f\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\">Nitro 4.0<\/span>\n                <\/div>\n<div class=\"comment-content\">Nitro is now the first human translation service an AI agent can order and pay for on its own \u2014 no account, no API keys, no signup. Your agent sends the text, pays per request, and a professional native speaker translates it \u2014 publication-ready in hours. Great for the smaller texts that still need to be right: ads, app updates, email sequences, and more. The ordering is machine-to-machine. The translating stays human. 80+ languages. No plans, no minimums.<\/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!<br \/>I&#8217;m Diana, product manager for Nitro. I&#8217;ve been in this role for eight years, so I&#8217;ve watched Nitro grow up.<br \/>When we started, Nitro was a simple platform for one thing: getting short texts translated by professional human translators, fast. Over the years we built it into something much more powerful \u2014 adding context so translators get it right (screenshots, tone of voice, character limits) and expanding what you can send.<br \/>Each of our past Product Hunt launches marked one of those leaps:<\/p>\n<ul>\n<li>\n<p><strong>First launch:<\/strong> the core service, API, and export to Google Sheets<\/p>\n<\/li>\n<li>\n<p><strong>Second launch:<\/strong> file support \u2014 Google Docs translation with formatting preserved<\/p>\n<\/li>\n<li>\n<p><strong>Third launch:<\/strong> developer and content formats like JSON, HTML, iOS Strings, XML, and Google Sheets<\/p>\n<\/li>\n<\/ul>\n<p>Despite being a niche product, Nitro got noticed here. A #4 Product of the Day and two #5s for a product this niche still surprises us, and it&#8217;s thanks to this community. Grateful and a little humbled every time \u2014 that&#8217;s why we&#8217;re back today to show you what&#8217;s next.<br \/>What Alconost has always strived for is the same: pair genuinely good human translation with the most powerful tech we can build around it. This launch is the latest step. Nitro now supports MPP \u2014 the machine payments protocol \u2014 so an AI agent can order a human translation and pay for it on its own, with no account and no API keys. You hand your agent the task, it sends the text and pays per request, and a professional native speaker delivers the copy.<br \/>We think it&#8217;ll be interesting for folks building with agents \u2014 Nitro is the first translation service to offer this \u2014 and we hope the localization crowd finds it just as interesting. We&#8217;d love your thoughts and questions!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>18<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dioiv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dioiv<\/a>&nbsp;Really interesting update.<\/p>\n<p>Combining professional human translation with AI workflows is a smart direction, and MPP support opens up some exciting possibilities for autonomous agents. Love that you&#8217;re enhancing human expertise instead of replacing it.<\/p>\n<p>Congrats on the launch! You might also consider listing Nitro on AI directories like iSEOAI to help more AI builders and global teams discover 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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dioiv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dioiv<\/a>&nbsp;This is one of those updates that looks niche at first, but could become really important as AI agents start doing more work on their own.<\/p>\n<\/p>\n<p>Letting an agent order and pay for a professional human translation removes a surprisingly awkward step from the workflow. The human-in-the-loop part is especially interesting here \u2014 AI handles the task, but a native speaker still delivers the final quality.<\/p>\n<\/p>\n<p>Curious to see where this goes as more services become agent-accessible. Congrats on another PH launch! \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dioiv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dioiv<\/a>&nbsp;Congratulations on the launch! Eight years watching one product grow up, and you&#8217;re still finding new ground to cover. <\/p>\n<\/p>\n<p>What stands out to me isn&#8217;t the localization side (not something I encounter in my world) but the friction call. Letting an agent pay and get a human translator, with no account and no API keys,  is a real bet on trust over gatekeeping. <\/p>\n<\/p>\n<p>What do you think about quality assurance when there&#8217;s no account tying the request back to anyone? Does that live in the payment layer, or somewhere else in the flow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Publication-ready in hours is a bold claim. I&#8217;d love to see actual turnaround data from real orders before I trust it for anything client-facing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@morgan_nabors\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@morgan_nabors<\/a>&nbsp;you are right, it is. The actual figures on the landing page is 2-24 hours as the average turnaround time. We used to have a real-time dashboard on the landing page, and usually about 60% of orders were completed within 2 hours. <\/p>\n<p>But I should say most orders on Nitro are small volume &#8211; something for which a regular process with a project manager and invoicing is too much hassle. I&#8217;ve made a screenshot from some recent orders &#8211; again, most of them are small, but the one that&#8217;s marked &#8216;Google Docs&#8217; is over 2,000 characters &#8211; still not large, but anyway, finished by a real native-speaking translator in 1h 41 min.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c7e84874-079d-4b76-a321-35217a803002.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>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>As someone who&#8217;s dealt with clunky localization vendors, skipping the account and API key setup entirely is honestly refreshing. I&#8217;d try this for a small app update just to see the turnaround time.<\/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\/@jusiy_waller\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jusiy_waller<\/a>&nbsp;Thanks for your support Jessica! Yes, a small app update is perfect to give it a try. I hope you like it and let us know your feedback! \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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>If there&#8217;s no account and the agent placed the order \u2014 where do the finished translations actually come back to?<\/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\/@ksenia_khauyk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ksenia_khauyk<\/a>&nbsp;Good question if you&#8217;re new to working with agents: everything comes back through the agent itself. You don&#8217;t need to log in anywhere or go collect it &#8211; the agent that placed the order receives the finished translation and hands it back to you in the same flow. The whole exchange happens in one place.<\/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>80+ languages with no minimums is the part that stands out to me. I&#8217;ve been priced out of smaller translation jobs before because agencies wanted a monthly contract.<\/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\/@kimberly_west\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kimberly_west<\/a>&nbsp;thank you! Yes, that&#8217;s exactly the problem Nitro has been saving &#8211; ad hoc translation requests with a wide range of language pairs covered. It wouldn&#8217;t be possible to create such a service with a stable level of translation quality if it wasn&#8217;t for our &#8216;parental company&#8217;, so to say, that offers localization services and has a large pool of translators with a track of Alconost projects. Nitro is like a side job for them with occasional orders between their main projects.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Do you see this being used mostly for app localization, or are email campaigns and marketing copy becoming the bigger 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\/@james_wilson60\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@james_wilson60<\/a>&nbsp;a lot of Nitro customers come from Alconost (our company that specializes in localization), so they are mostly app &amp; game developers, but there is a growing base of marketers (say, for SaaS products, hospitality industry, etc.) who translate landing pages, email sequences, texts for their banners and promo videos. Apps and games also order translations for marketing &#8211; like app store copy, subtitles for videos, sometimes answer templates for app store reviews.<\/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>It&#8217;s impressive to see how Nitro has evolved over multiple launches while staying focused on quality. Wishing the team another successful launch! \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@aarav_pittman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aarav_pittman<\/a>&nbsp;Thank you very much for your support! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I wasn&#8217;t expecting machine-to-machine ordering with human delivery to be the next step in localization. It&#8217;ll be interesting to see what kinds of AI agents people end up connecting to Nitro first.<\/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\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;I agree, that&#8217;s not what one would expect in today&#8217;s &#8220;automate everything&#8221; world, right? But human translation is still in demand, so we started thinking in this direction &#8211; automation + human translation (but not machine translation post edited by humans!), and here it is &#8211; Nitro&#8217;s agentic flow \ud83d\ude42<br \/>Thanks very much for your support, Henry!<\/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>great idea, i\u2019m seeing many successful products that make interactions more convenient for ai agents useful. 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\/@arseniy_shishaev1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@arseniy_shishaev1<\/a>&nbsp;thanks very much Arseniy! ^_^<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! qq When an agent orders with no account, how does the translation get back to 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\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;Thanks! The agent gets an access token back when it places the order, then just polls and pulls the result through the API when it&#8217;s ready &#8211; no account or dashboard needed, it all stays in the agent&#8217;s flow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alieksia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alieksia<\/a>&nbsp;Also, I&#8217;ll share the docs in case you&#8217;d like to see the exact flow: <a href=\"https:\/\/docs.nitrotranslate.com\/agentic-flow\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/docs.nitrotranslate.com\/agentic-flow<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on a new launch, guys! I am wondering something: how do you ensure quality if an agent is placing the order?<\/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\/@elena_kozak\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@elena_kozak<\/a>&nbsp;thank you! Quality comes from the translators, not the ordering method &#8211; the same professional native speakers handle the work whether a human or an agent placed the order. The agent just automates the request; the human standard behind it is unchanged.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone!<\/p>\n<p>I&#8217;m Alex \u2014 I run Alconost, and Nitro has been my baby for years. I came up with it out of a simple frustration: for short texts \u2014 an app update, an ad, a few lines of email \u2014 professional translation was far too heavy. You shouldn&#8217;t need a project manager and a quote to translate three sentences. Nitro was my answer to that.<\/p>\n<p>I&#8217;ve since moved on to other projects, but I still keep an eye on it and bring ideas to the team \u2014 and seeing it come back to Product Hunt a fourth time, now with AI agents able to hire human translators directly, feels kind of surreal. Huge thanks to the Product Hunt crowd for all the support over the years.<\/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 people! \ud83d\udc4b <\/p>\n<p>This launch makes me a little nostalgic &#8211; I ran the first and second Nitro launches here, and spent a long while in customer support and customer development before that.&nbsp;<\/p>\n<p>What I love is that after all these years Nitro keeps catching up with what&#8217;s new; it doesn&#8217;t sit still. This launch is a great example: the moment AI agents became a real thing, we found a way for them to bring human translators <em>in<\/em> rather than replace them. It&#8217;s been a joy to watch it evolve. We&#8217;ll be happy to answer any questions about Nitro!<\/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\/@margarita_s88\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@margarita_s88<\/a>&nbsp;That OG launcher energy! It&#8217;s super inspiring to see a product continuously reinvent itself over the years while staying true to its core. Huge congrats on another milestone launch! \ud83d\ude4c<\/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>Congrats on the launch team!! <\/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\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a>&nbsp;thanks a lot! appreciate the support &lt;3<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Aren\u2019t you worried that AI could eventually make your service obsolete? Translation quality is already very good with AI, at least for the most widely spoken languages.<\/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\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;that&#8217;s a good question. We do work with AI translations a lot at Alconost, and there are still many cases when you can&#8217;t blindly trust AI translations &#8211; usually they require at least some kind of check and post-editing. The more high-stake content that is, the more serious and in-depth check it should be.<\/p>\n<p>Nitro may need to pivot in the future and maybe offer native-speaker post-editing for AI translations, but in that case it should be worth it for the translators &#8211; they need decent pay for the efforts put into their work. So perhaps in case of post-editing there should be larger volumes, not &#8220;post-edit these 5 lines and get $0.80&#8221; or something &#8211; I&#8217;m making up figures but just to give you an idea.<\/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\">What kind of texts is this good for?<\/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\/@kristina__grits\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kristina__grits<\/a>&nbsp;Nitro&#8217;s sweet spot is shorter texts that still need to be right &#8211; ads, app updates (whole apps with light text are fine too), store copy, email sequences, UI strings, articles, press releases. <br \/>For big, complex localization projects with dedicated managers and workflows, that&#8217;s what our parent company Alconost handles; Nitro is the fast, self-serve lane.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 I connect my agent to Nitro? how does it order a translation?<\/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\/@kseniya_avtukhovich\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kseniya_avtukhovich<\/a>&nbsp;It&#8217;s a standard MPP flow, so any MPP-compatible agent can do it &#8211; no account or stored balance needed. <br \/>In short: your agent sends a translation request to our API, gets back a &#8220;payment required&#8221; challenge, pays per request through its MPP provider, then retries with the payment credential and receives the order. It polls until the translation&#8217;s done and pulls the result. <br \/>Full docs and code examples are here: <a href=\"http:\/\/docs.nitrotranslate.com\/agentic-flow\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">docs.nitrotranslate.com\/agentic-flow<\/a>&nbsp;<\/p>\n<p><\/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\">Looks great. Congrats team! <\/p>\n<p>How does the agent know when a translation needs more context before sending it to the translator?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#4<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/N2UOXZWDJSNLZY\" class=\"app-title\">Rindler<\/a><\/p>\n<div class=\"one-liner\">Automate the web work your team does by hand<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">220<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Rindler \u662f\u4e00\u6b3e\u201c\u7f51\u7ad9\u9884\u6620\u5c04\u201d\u5f0f\u7684\u7f51\u9875\u81ea\u52a8\u5316\u5de5\u5177\uff0c\u7528\u6237\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u4efb\u52a1\uff0c\u5b83\u4fbf\u80fd\u6a21\u62df\u4eba\u5de5\u64cd\u4f5c\u771f\u5b9e\u7f51\u7ad9\uff08\u542b\u767b\u5f55\uff09\uff0c\u5b9a\u671f\u81ea\u52a8\u6267\u884c\u5e76\u8fd4\u56de\u7ed3\u6784\u5316\u6570\u636e\uff0c\u89e3\u51b3\u56e2\u961f\u91cd\u590d\u6027\u7f51\u9875\u64cd\u4f5c\u7684\u6548\u7387\u4e0e\u7a33\u5b9a\u6027\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\/e5f5ded9-53f3-4faa-83fd-1c4bd6ccab8d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bc2f07b8-a8c6-45e5-9ee2-0bb38aa887a3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/05358d8d-fddd-47ce-83cd-8b941348943c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6824ef80-529c-476e-94b6-df9caead0b67.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/341b3584-4c9b-4f2c-b16e-263c1e5cda28.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7774217e-970f-4681-9dc5-76f50042fd84.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\/b67c4dfe-1b2f-46ee-a104-5bebfbced244.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=V_nCIxYD-so\"><source src=\"https:\/\/www.youtube.com\/watch?v=V_nCIxYD-so\" 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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7f51\u9875\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">AI Agent<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u91c7\u96c6<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7ad9\u6620\u5c04<\/span><br \/>\n            <span class=\"tag\">\u5b9a\u65f6\u4efb\u52a1<\/span><br \/>\n            <span class=\"tag\">B2B SaaS<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u6548\u7387\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u591a\u6570\u8bc4\u8bba\u805a\u7126\u4e8e\u5176\u201c\u9884\u5efa\u5730\u56fe+\u6df7\u5408\u6267\u884c\u201d\u6a21\u5f0f\uff0c\u8d5e\u8d4f\u5176\u6bd4\u4f20\u7edf\u6d4f\u89c8\u5668\u4ee3\u7406\u66f4\u5feb\u66f4\u7a33\u3002\u6838\u5fc3\u8ffd\u95ee\u96c6\u4e2d\u5728\uff1a1) \u662f\u5426\u6709\u672c\u5730SDK\/TypeScript\u5ba2\u6237\u7aef\u4f9b\u540e\u7aef\u8c03\u7528\uff1b2) \u5982\u4f55\u5904\u7406\u9891\u7e41UI\u53d8\u66f4\u53caA\/B\u6d4b\u8bd5\uff08\u5b98\u65b9\u56de\u5e94\uff1a\u81ea\u6108\u57fa\u7840\u8bbe\u65bd+\u6620\u5c04\u65f6\u8003\u8651\uff09\uff1b3) \u5982\u4f55\u5e94\u5bf9\u52a8\u6001\u53d8\u5316\u7684\u767b\u5f55\u4e0e\u53cd\u722c\u5b89\u5168\u6d41\u7a0b\u3002\u53e6\u6709\u5efa\u8bae\u8865\u5145AI\u76ee\u5f55\u6536\u5f55\uff0c\u53ca\u8be2\u95ee\u7981\u6b62Agent\u8bbf\u95ee\u7684\u7ad9\u70b9\u5904\u7406\u65b9\u5f0f\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Rindler \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u8df3\u51fa\u4e86\u201c\u8ba9\u5927\u6a21\u578b\u6bcf\u6b21\u73b0\u573a\u731c\u7f51\u9875\u201d\u7684\u70e7\u94b1\u9677\u9631\uff0c\u8f6c\u800c\u91c7\u7528\u201c\u5148\u4eba\u5de5\/\u534a\u81ea\u52a8\u6d4b\u7ed8\u7ad9\u70b9\u72b6\u6001\u673a\uff0c\u540e\u6309\u56fe\u7d22\u9aa5\u201d\u7684\u5de5\u4e1a\u5316\u601d\u8def\u3002\u8fd9\u672c\u8d28\u4e0a\u4e0d\u662f\u4e00\u5bb6AI\u516c\u53f8\uff0c\u800c\u662f\u4e00\u5bb6\u201c\u7f51\u7ad9\u4ea4\u4e92\u903b\u8f91\u7684SaaS\u5316\u4e2d\u95f4\u5c42\u201d\u2014\u2014\u5b83\u5356\u7684\u4e0d\u662f\u6a21\u578b\u80fd\u529b\uff0c\u800c\u662f\u201c\u4e00\u6b21\u6d4b\u7ed8\u3001\u6301\u7eed\u590d\u7528\u201d\u7684\u786e\u5b9a\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u8fd9\u79cd\u6a21\u5f0f\u7684\u4ef7\u503c\u5728\u4e8e\u663e\u8457\u964d\u4f4e\u4e86\u5355\u6b21\u8fd0\u884c\u7684\u6210\u672c\u548c\u5ef6\u8fdf\uff0c\u5e76\u8ba9\u8f93\u51fa\u5b57\u6bb5\u53d8\u5f97\u7a33\u5b9a\uff0c\u8fd9\u5bf9\u4e8e\u4f01\u4e1a\u7ea7RPA\u573a\u666f\u662f\u81f4\u547d\u7684\u521a\u9700\u3002\u4f46\u4ece\u8bc4\u8bba\u4e2d\u7684\u8ffd\u95ee\u770b\uff0c\u5176\u771f\u6b63\u7684\u58c1\u5792\u5e76\u975e\u201c\u6620\u5c04\u201d\u672c\u8eab\uff0c\u800c\u662f\u201c\u6620\u5c04\u7684\u7ef4\u62a4\u6210\u672c\u201d\u2014\u2014\u5f53\u7f51\u7ad9\u6539\u7248\u3001A\/B\u6d4b\u8bd5\u6216\u5b89\u5168\u7b56\u7565\u8c03\u6574\u65f6\uff0c\u5176\u5ba3\u79f0\u7684\u201c\u81ea\u6108\u201d\u673a\u5236\u7a76\u7adf\u80fd\u5728\u591a\u5927\u7a0b\u5ea6\u4e0a\u5b9e\u73b0\u65e0\u4eba\u503c\u5b88\uff0c\u662f\u51b3\u5b9a\u6bdb\u5229\u7387\u7684\u5173\u952e\u3002\u82e5\u7ef4\u62a4\u4ecd\u9700\u5927\u91cf\u4eba\u5de5\u4ecb\u5165\uff0c\u90a3100\u7f8e\u5143\/100\u6b21\u4f1a\u8bdd\u7684\u5b9a\u4ef7\u6050\u96be\u8986\u76d6\u6210\u672c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u77ed\u677f\u540c\u6837\u660e\u663e\uff1a\u76ee\u524d\u4ec5\u652f\u6301\u201c\u53d7\u63a7\u7ad9\u70b9\u201d\uff0c\u4e14\u4ee5\u81ea\u7136\u8bed\u8a00\u9a71\u52a8\u7684\u5f62\u5f0f\u66f4\u50cf\u662f\u4e00\u4e2a\u201c\u5b9a\u5411\u722c\u866b+\u5b9a\u65f6\u5668\u201d\uff0c\u800c\u975e\u901a\u7528\u7684AI Agent\u3002\u5bf9\u4e8e\u5343\u5947\u767e\u602a\u7684\u767b\u5f55\u6001\u548c\u53cd\u722c\u673a\u5236\uff0c\u5176\u201c\u7528\u6d4f\u89c8\u5668+API\u6df7\u5408\u201d\u7684\u7b56\u7565\u867d\u52a1\u5b9e\uff0c\u4f46\u4e00\u65e6\u9047\u5230\u5f3a\u98ce\u63a7\uff08\u5982\u6ed1\u5757\u9a8c\u8bc1\u3001\u8bbe\u5907\u6307\u7eb9\uff09\uff0c\u53ef\u9760\u6027\u5b58\u7591\u3002\u6b64\u5916\uff0c\u6ca1\u6709\u63d0\u4f9b\u672c\u5730SDK\uff0c\u610f\u5473\u7740\u7528\u6237\u65e0\u6cd5\u5c06\u5176\u6df1\u5ea6\u5d4c\u5165\u81ea\u6709\u6d41\u7a0b\uff0c\u8fd9\u4f1a\u9650\u5236\u5176\u4ece\u201c\u5de5\u5177\u201d\u5411\u201c\u5e73\u53f0\u201d\u7684\u8dc3\u8fc1\u3002\u957f\u8fdc\u770b\uff0cRindler\u9700\u8981\u5c3d\u5feb\u8865\u9f50\u5f00\u53d1\u8005\u751f\u6001\uff0c\u5426\u5219\u5bb9\u6613\u6ca6\u4e3a\u201c\u9ad8\u7ea7\u7248\u516b\u722a\u9c7c\u91c7\u96c6\u5668\u201d\uff0c\u88ab\u5934\u90e8\u4e91\u5382\u5546\u6216AI Agent\u6846\u67b6\u7684\u5e95\u5c42\u80fd\u529b\u6240\u541e\u566c\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\">Rindler<\/span>\n                <\/div>\n<div class=\"comment-content\">Rindler automates the repetitive web work your team still does by hand. Say what you need in plain English, and Rindler goes to the real site, signs in when needed, completes the task, and returns clean structured data. Put it on a schedule and it keeps running. Instead of making a browser agent guess every time, Rindler maps each site ahead of time and repairs workflows when pages change, so recurring tasks stay reliable<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Rindler is a map of a website that an agent calls instead of reading the page. The map knows what screens the site has and what you can do on each one, and it knows what comes back when you do it. So your agent gets the same fields back every run, in the same shape. We&#8217;ve mapped more than 1000 sites so far.<\/p>\n<\/p>\n<p><strong>How a run works<\/strong><\/p>\n<p>We build the map ourselves, once, before anyone runs against it.<\/p>\n<ol>\n<li>\n<p>Our ingest picks up the site and works out what it&#8217;s looking at.<\/p>\n<\/li>\n<li>\n<p>The mapper drives the site click by click and drafts the map.<\/p>\n<\/li>\n<li>\n<p>A fleet of agents goes through and fixes what the draft got wrong, and the map has to pass a check against the live site before it serves anyone.<\/p>\n<\/li>\n<\/ol>\n<p>Every run after that just draws on the map. There&#8217;s no model sitting there working the page out again, so the run is fast and you get the same fields back in the same shape every time. Most browser agents redo all of that work on every single visit. That&#8217;s why the field names come back different each run, and it&#8217;s why every run takes as long and costs as much as the first one.<\/p>\n<\/p>\n<p>Inside a run we pick the transport step by step. For one action we drive a real browser, and for the next we call the site&#8217;s own endpoint. If you bet everything on those endpoints you end up thin at the hard flows. Drive a browser for every click and it&#8217;s slow.<\/p>\n<\/p>\n<p><strong>What happens when a site changes<\/strong><\/p>\n<p>Every map runs against the real site once a day, checking a list of things that site still has to be able to do. Most of the time that means we catch a break before it shows up in your run. Fixing it is on us, so it doesn&#8217;t end up as a ticket in your backlog. And if a step does fail mid run, a model works that one step out again while the run is going, and the request finishes.<\/p>\n<\/p>\n<p><strong>What it costs<\/strong><\/p>\n<p>Starter is $100 a month for 100 sessions, with a 7 day free trial and one site you pick that we map for you. Teams is $1,000 for 1,000 sessions and scheduled automations. A session costs a dollar at every tier, and you don&#8217;t pay for a run that fails.<\/p>\n<\/p>\n<p><a href=\"https:\/\/chat.rindler.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/chat.rindler.ai\/<\/a> is a playground with a few sites open so you can poke at one without signing up. If the site your team is stuck on isn&#8217;t in there, name it and tell me what you need done. I&#8217;ll be here all day!<\/p>\n<\/p>\n<p>Michael<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>16<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michael_serrano\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_serrano<\/a>&nbsp;Congrats for shipping\ud83d\ude4c qq Is there a local SDK or TypeScript client available to trigger Rindler sessions directly from our own backend application code?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michael_serrano\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_serrano<\/a>&nbsp;Really interesting approach \ud83d\udc4f<\/p>\n<p>Pre-building deterministic maps instead of having agents rediscover a site on every run is a clever way to improve both speed and reliability. I also like the hybrid browser\/API execution model\u2014it feels like a practical balance between performance and flexibility.<\/p>\n<p>Congrats on the launch! You might also consider listing Rindler on AI directories like iSEOAI to help more AI agent builders discover it. \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@michael_serrano\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_serrano<\/a>&nbsp;The concept is simple to explain but potentially huge in practice. That&#8217;s usually a great sign. Wishing the team an amazing launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A clean approach to browser automation always gets my attention. Looking forward to seeing how developers use this in real workflows.<\/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\/@1mirul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@1mirul<\/a>&nbsp;thank you, 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>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>Automation that feels reliable is hard to build. Excited to see what the team has created here. Best wishes for the launch!<\/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\/@monir_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@monir_<\/a>&nbsp;thank you! Our goal is to get agents on web workflows being something that you can really trust and lean on. Let us know any thoughts\/critiques you have on trying it out \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This made me stop scrolling. Instead of building another AI app, you&#8217;re improving the way AI interacts with the web itself. That&#8217;s a much bigger opportunity than it might seem at first glance. Looking forward to seeing real-world use cases. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tanjum\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tanjum<\/a>&nbsp;there&#8217;s a ton that gets unlocked once AI can interact on the web reliably and at scale, and we&#8217;re working hard to make that happen. Thanks for the support!<\/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>Congrats on the launch! Love the idea of turning websites into reusable maps instead of making agents rediscover everything on every run. Curious how Rindler handles frequent UI changes or A\/B tests\u2014does the map update automatically? Wishing you an amazing launch day! <\/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\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;Great question Suryansh! We operate with self-healing infrastructure that ensures our mapped sites remain mapped, maximizing up-time\/reliability and minimizing costs, and our infrastructure takes A\/B tests into account when creating site mappings. Thank you for the best wishes!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp; a lot of our time goes into making the maps robust up front, so they hold up on their own, and the self-healing Arthur described sits on top of that too. Long term we think mapping is what will make browser work efficient. Thanks for the support too!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The login and bot protection part caught my attention. How do you handle sites that frequently change their security flow?<\/p>\n<\/p>\n<p>Congrats <a href=\"https:\/\/www.producthunt.com\/@michael_serrano\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"michael_serrano\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_serrano<\/a> &amp; team! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p> <a href=\"https:\/\/www.producthunt.com\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;The same mapping and maintenance infrastructure works for the log-in pages as well, so updating log-ins don&#8217;t break the system. We try to adapt as best we can to the latest security measures as well.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;thanks! Happy to chat more about our login process and how we keep it efficient but secure. Appreciate the support!<\/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\">Good wishes for the launch.. and what if the site has disabled Agentic access..<\/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\/@dhirajwohra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhirajwohra<\/a>&nbsp;we don&#8217;t sit on an API or an integration, so there&#8217;s no access for anyone to grant us. The mapping lives on our side and Rindler works a site the way a person does, as it already is. The ones people most need handled are usually the ones that never shipped an API\/MCP endpoint at all. Thanks for the well wishes!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/VYGJWTFCKD3NFX\" class=\"app-title\">BrowserOS neo<\/a><\/p>\n<div class=\"one-liner\">The Missing Browser for Claude, Cowork &#038; Codex<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">178<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>BrowserOS neo \u662f\u4e00\u6b3e\u8fd0\u884c\u5728\u672c\u5730\u7684\u5f00\u6e90\u201cAI\u4ee3\u7406\u4e13\u7528\u6d4f\u89c8\u5668\u201d\uff0c\u8ba9Claude Code\u3001Codex\u7b49\u667a\u80fd\u4f53\u76f4\u63a5\u4f7f\u7528\u4f60\u7684\u767b\u5f55\u6001\uff0c\u5728\u771f\u5b9e\u7f51\u9875\u4e0a\u66ff\u4f60\u5b8c\u6210\u586b\u8868\u3001\u67e5\u6570\u636e\u3001\u8ba2\u65e5\u7a0b\u7b49\u590d\u6742\u4efb\u52a1\uff0c\u5e76\u652f\u6301\u5168\u7a0b\u53ef\u89c6\u5316\u76d1\u63a7\u4e0e\u56de\u653e\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\/20aff157-1a0f-44b7-b339-b0e79134557e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a1f41f25-2a8f-431b-b47a-926686201d2d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/81aae0bc-7b23-4168-869b-441741498c81.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ce1df4a5-6c85-4689-a4ee-08aa58780f66.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9b9b7572-5a91-4e2b-a148-f0e63de55e37.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e02ba5bb-166f-47d0-beca-ab276bc09d14.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\/f64c4c08-fead-4749-8963-b90532d941ce.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/AF05B1O9nq8\"><source src=\"https:\/\/youtu.be\/AF05B1O9nq8\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Privacy<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u6d4f\u89c8\u5668<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u8fd0\u884c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u64cd\u63a7<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u767b\u5f55\u6001\u5171\u4eab<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u56de\u653e<\/span><br \/>\n            <span class=\"tag\">\u591a\u4ee3\u7406\u5e76\u884c<\/span><br \/>\n            <span class=\"tag\">Mac\/Windows<\/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\u89e3\u51b3\u201cAI\u65e0\u6cd5\u64cd\u4f5c\u771f\u5b9e\u7f51\u7ad9\u201d\u7684\u75db\u70b9\uff0c\u7279\u522b\u662f\u767b\u5f55\u6001\u5bfc\u5165\u4e0e\u672c\u5730\u8fd0\u884c\u3002\u4e3b\u8981\u5efa\u8bae\uff1a\u5c3d\u5feb\u63a8\u51faLinux\u7248\u672c\uff1b\u90e8\u5206\u7528\u6237\u5e0c\u671b\u6269\u5927\u517c\u5bb9\u4ee3\u7406\u7c7b\u578b\u3002\u4ea6\u6709\u8bc4\u8bba\u79f0\u8d5e\u5176\u975e\u6280\u672f\u7528\u6237\u4e5f\u80fd\u4e0a\u624b\uff0c\u53cd\u9988\u6b63\u9762\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                BrowserOS neo \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5b83\u6ca1\u6709\u8bd5\u56fe\u505a\u4e00\u4e2a\u201c\u66f4\u597d\u7684Chrome\u201d\uff0c\u800c\u662f\u5e72\u8106\u628a\u81ea\u5df1\u964d\u7ef4\u6210AI\u7684\u201c\u624b\u548c\u773c\u201d\u3002\u5b83\u7cbe\u51c6\u51fb\u4e2d\u4e86\u5f53\u524dLLM\u5e94\u7528\u7684\u6700\u5927\u65ad\u5c42\uff1a\u6a21\u578b\u63a8\u7406\u80fd\u529b\u5df2\u7ecf\u6ea2\u51fa\uff0c\u4f46\u6267\u884c\u5c42\u8fd8\u505c\u7559\u5728\u201c\u7ed9\u6a21\u578b\u770b\u622a\u56fe+\u8ba9\u5b83\u731c\u5750\u6807\u201d\u7684\u539f\u59cb\u9636\u6bb5\u3002\u901a\u8fc7\u672c\u5730\u8fd0\u884c\u3001\u4e00\u952e\u5bfc\u5165\u767b\u5f55\u6001\u548c\u7b80\u5316\u9875\u9762\u5feb\u7167\uff08\u800c\u975e\u622a\u56fe\uff09\u6765\u964d\u4f4etoken\u6d88\u8017\uff0c\u8fd9\u4e09\u4e2a\u8bbe\u8ba1\u76f4\u6307\u4e91\u6d4f\u89c8\u5668\uff08IP\u88ab\u5c01\u3001\u767b\u5f55\u56f0\u96be\uff09\u548cheadless\u65b9\u6848\uff08\u4e0d\u53ef\u89c1\u3001\u96be\u8c03\u8bd5\uff09\u7684\u547d\u95e8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e76\u975e\u6280\u672f\u672c\u8eab\u2014\u2014\u5f00\u6e90\u610f\u5473\u7740\u6280\u672f\u58c1\u5792\u6709\u9650\u2014\u2014\u800c\u662f\u201c\u4fe1\u4efb\u57fa\u7840\u8bbe\u65bd\u201d\uff1a\u672c\u5730\u65e5\u5fd7\u3001\u53ef\u56de\u653e\u89c6\u9891\u3001\u9694\u79bb\u7684\u4ee3\u7406\u6807\u7b7e\u9875\uff0c\u8fd9\u4e9b\u8bbe\u8ba1\u672c\u8d28\u4e0a\u662f\u5728\u89e3\u51b3\u201c\u4f60\u51ed\u4ec0\u4e48\u6562\u628a\u5e26\u771f\u5b9e\u8d26\u53f7\u7684\u6d4f\u89c8\u5668\u4ea4\u7ed9\u4e00\u4e2aAI\u201d\u8fd9\u4e00\u6838\u5fc3\u4fe1\u4efb\u95ee\u9898\u3002\u8fd9\u6bd4\u4efb\u4f55\u82b1\u54e8\u7684\u529f\u80fd\u90fd\u66f4\u5177\u4ef7\u503c\uff0c\u56e0\u4e3a\u5b83\u7784\u51c6\u7684\u662fAI\u4ee3\u7406\u4ece\u201c\u73a9\u5177\u201d\u8d70\u5411\u201c\u751f\u4ea7\u529b\u5de5\u5177\u201d\u7684\u5173\u952e\u4e00\u8dc3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u6cfc\u51b7\u6c34\uff1a\u76ee\u524d\u5b83\u66f4\u50cf\u4e00\u4e2a\u201c\u9ad8\u7ea7\u6f14\u793a\u6846\u67b6\u201d\uff0c\u4f9d\u8d56Claude\u7b49\u6a21\u578b\u81ea\u8eab\u7684computer use\u80fd\u529b\uff0c\u81ea\u8eab\u5e76\u672a\u5728\u4efb\u52a1\u89c4\u5212\u6216\u6267\u884c\u6210\u529f\u7387\u4e0a\u63d0\u4f9b\u7a81\u7834\u3002\u5f53\u6a21\u578b\u5224\u65ad\u5931\u8bef\u65f6\uff0c\u56de\u653e\u89c6\u9891\u53ea\u662f\u4e8b\u540e\u8bf8\u845b\uff0c\u65e0\u6cd5\u9884\u9632\u9519\u8bef\u3002\u6b64\u5916\uff0c\u591a\u4ee3\u7406\u5e76\u884c\u5728\u672c\u5730\u673a\u5668\u4e0a\u5bf9\u8d44\u6e90\u5360\u7528\u548c\u8d26\u53f7\u5b89\u5168\uff08\u5c24\u5176\u591a\u7ad9\u70b9\u5e76\u53d1\u64cd\u4f5c\uff09\u7684\u8003\u9a8c\u672a\u7ecf\u9a8c\u8bc1\u3002\u5982\u679c\u672a\u6765\u4e91\u5382\u5546\u76f4\u63a5\u63d0\u4f9b\u5e26\u5408\u89c4\u767b\u5f55\u6001\u7684\u6258\u7ba1\u6d4f\u89c8\u5668\uff0c\u6216\u4e3b\u6d41\u6d4f\u89c8\u5668\u539f\u751f\u5d4c\u5165agent\u6a21\u5f0f\uff0c\u5176\u201csecondary browser\u201d\u7684\u5b9a\u4f4d\u53ef\u80fd\u88ab\u5feb\u901f\u6324\u538b\u3002\u773c\u4e0b\u5b83\u662f\u4e2a\u6781\u4f73\u7684\u5de5\u5177\uff0c\u4f46\u8981\u6210\u4e3a\u5e73\u53f0\uff0c\u8fd8\u9700\u8bc1\u660e\u81ea\u5df1\u4e0d\u662f\u4e00\u4e2a\u201c\u6f02\u4eae\u7684\u62d0\u6756\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">BrowserOS neo<\/span>\n                <\/div>\n<div class=\"comment-content\">BrowserOS neo is a web browser built NOT for you but for your AI agents. It runs on your machine and connects to Claude Code, Cowork, and Codex finishes real tasks on your behalf. It&#8217;s magical!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt! \ud83d\udc4b Nikhil here, co-founder of BrowserOS. Fun fact: I\u2019m building this product with my twin brother Nithin (@nithin_sonti)<\/p>\n<\/p>\n<p>Today we&#8217;re launching <strong>BrowserOS neo: a browser built NOT for you, but for YOUR AI.<\/strong><\/p>\n<\/p>\n<p>Here&#8217;s the problem we ourselves kept hitting: Claude Code and Codex got scary good at reasoning about work, but the moment a task touched the web, like checking a dashboard or filling out a form or booking your dentist appointment, they hit a wall.<\/p>\n<\/p>\n<p>We tried several solutions out there today and none of them were a good fit. Cloud browsers (like browser-use) run in a datacenter, so logging into your accounts is a pain, and sites like Twitter and LinkedIn block you because you are on a datacenter IP. And headless browsers (like agent-browser) don&#8217;t let you see what your agent is doing.&nbsp;<\/p>\n<\/p>\n<p>We realized what\u2019s needed is a browser that is run locally, has your logins but can be easily driven by YOUR agents.<\/p>\n<\/p>\n<p>That\u2019s what we built with BrowserOS neo! <strong>You import your logins from Chrome<\/strong> in one click and connect your agent (Claude Code, Cowork, Codex, OpenClaw, etc). And then you can start giving your agent any complex task and see it get magically done using neo!<\/p>\n<\/p>\n<p>To be clear, BrowserOS neo is NOT a Chrome replacement. It&#8217;s a secondary browser that sits next to Chrome, and we\u2019ve made it agent friendly.&nbsp;<\/p>\n<\/p>\n<p>The features you get today are:<\/p>\n<ul>\n<li>\n<p>\ud83d\udd13 <strong>Free and open source.<\/strong> It\u2019s available on <strong>macOS and Windows.<\/strong><\/p>\n<\/li>\n<li>\n<p>\ud83d\udc40 Watch your agent live. There&#8217;s a cockpit view on your new-tab page that shows every agent, every site, every step.<\/p>\n<\/li>\n<li>\n<p>\ud83e\ude99 <strong>Less tokens.<\/strong> BrowserOS neo hands your agent simplified snapshots of the web page instead of screenshots, so you burn way less tokens than using Claude\u2019s Chrome extension and other solutions.<\/p>\n<\/li>\n<li>\n<p>\u23ea Rewind anything. Every agent session gets saved as a scrubbable video, so you can find the mistake and coach the agent.<\/p>\n<\/li>\n<li>\n<p>\ud83d\uddc2\ufe0f Your tabs are sacred. Agents work in their own tabs and can&#8217;t touch the doc you&#8217;re writing \ud83d\ude42<\/p>\n<\/li>\n<li>\n<p>\ud83e\udd16 <strong>Parallel agents.<\/strong> You can run as many agents as you want at once, each in its own tabs.<\/p>\n<\/li>\n<li>\n<p>\ud83d\udd12 <strong>Privacy first.<\/strong> Everything stays on your machine, and every action is logged to a local file on your disk.<\/p>\n<\/li>\n<\/ul>\n<p>We&#8217;d genuinely love your feedback more than anything else today: what&#8217;s the first task you&#8217;d hand an agent? Reply and I&#8217;ll tell you honestly whether BrowserOS neo can do it today. <\/p>\n<p><strong>We also open source and you can find our full source code here<\/strong>: <a href=\"http:\/\/github.com\/browseros-ai\/BrowserOS\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">github.com\/browseros-ai\/BrowserOS<\/a>&nbsp;<\/p>\n<\/p>\n<p>We&#8217;re in the comments all day.<\/p>\n<\/p>\n<p>PS: We are big fans of OpenClaw, we initially named the product as BrowserClaw but had to rename it to BrowserOS neo because of SEO issues.<\/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\/@nikhilsv92\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikhilsv92<\/a>&nbsp;Hi product hunt!&nbsp;Nithin here, the other co-founder. Nikhil covered what neo is, so I&#8217;ll tell you what I actually do with it.<\/p>\n<\/p>\n<p>For the last few months <strong>I&#8217;ve been giving agents a lot more access to my accounts<\/strong> than most people are comfortable with! Not a sandbox but my real browser, signed into my real email, GitHub, and calendar \ud83d\ude42 I hand work to Claude Code and Codex the way I&#8217;d hand it to a person, and let them go while I do something else. Most of it is boring and it just works. Some of it still gets me: this launch you&#8217;re reading right now, an agent drove my browser to research it, pulled up other launches to learn from, and left edits in our doc. I never opened those tabs myself.<\/p>\n<p>The reason I&#8217;m willing to hand over that much is the part we spent the most time building. I can watch the many agents live through the cockpit dashboard, every session saves as a video I can scrub back through, and every action also gets recorded. Also, since Claude Opus 4.5, models have gotten quite smart and very good at computer use and claude code has largely been quite good at completing the task correctly.<\/p>\n<p>Honest question, since I&#8217;m still finding the edges of this: how much access would you give an agent today, and what would have to be true before you did?<\/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\/@nithin_sonti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nithin_sonti<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@nikhilsv92\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikhilsv92<\/a>&nbsp;Finally! Loving this! Been waiting for a proper browser built for agents for so long!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love using Neo, this really has been a passion project from the whole team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Browser as a tool for your AI is one of those things where you can\u2019t believe you lived without it before. This is literally a game changer my coding workflows where I need to drive a browser reliably. <\/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>Thank you for the support,<a href=\"https:\/\/www.producthunt.com\/@samuel_crombie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samuel_crombie<\/a>&nbsp;! <\/p>\n<p>Closing the coding QA loop with BrowserOS neo has been our favorite use case as well! Loop engineering FTW!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@samuel_crombie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samuel_crombie<\/a>&nbsp;yeah totally agree. giving agents eyes has been super handy for any work involving real world interactions!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Any plans for Linux 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\/@harry_douglas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harry_douglas<\/a>&nbsp;Neo is coming to Linux soon! <\/p>\n<p>(our full agentic browser, BrowserOS is already on Linux if you want to give it a shot)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I am more than satisfied with the functionality of BrowserOS neo (I have been using it since it was BrowserClaw). The primary pain point it has resolved for my workflow has been the ability to log in to platforms when providing browser access to desktop\/CLI agentic tools. It has been one of the best tools for AI that I have used interms of giving me that feeling of actually colaborating. There are only a handful of AI tools that I use on a daily basis as a non-developer\/non-technical person, and BrowserOS and BrowserOS neo are definitely among them. Wonderful job!<\/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\/@sura_tsegaye\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sura_tsegaye<\/a>&nbsp;Thank you for the feedback, appreciate it! Let us know what more you\u2019d like to see in BrowserOS neo. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/5L22D2Y4SZLAKB\" class=\"app-title\">Progress AI Observability<\/a><\/p>\n<div class=\"one-liner\">Trace, evaluate, and improve AI agents in production<\/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>Progress AI Observability \u662f\u4e00\u6b3e\u9762\u5411AI Agent\u751f\u4ea7\u73af\u5883\u7684\u53ef\u89c2\u6d4b\u6027\u5de5\u5177\uff0c\u901a\u8fc7\u8ffd\u8e2a\u6bcf\u4e00\u6b21\u8fd0\u884c\u3001\u6355\u83b7\u5e7b\u89c9\u4e0e\u65e0\u6839\u636e\u56de\u7b54\uff0c\u5e2e\u52a9\u5de5\u7a0b\u56e2\u961f\u5728\u51e0\u5206\u949f\u5185\u5b9a\u4f4d\u5e76\u4fee\u590dAgent\u6545\u969c\uff0c\u51cf\u5c11token\u6d6a\u8d39\uff0c\u63d0\u5347Agent\u8d28\u91cf\u4e0e\u4ea4\u4ed8\u901f\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\/f15b16b7-b5df-44f4-bc86-95749f0ba187.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1638ee8f-a612-46bb-89c4-e1b0261a5a9e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ab5942db-4f25-4a9d-8bfc-321102ca4f49.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f6921c38-f28c-47cb-8dae-9a4a07e88ec6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d041b437-4380-4c7a-bc63-cf2fa630f130.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9351b73b-98a1-4625-8355-93133b369a06.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eb262752-db12-4995-9680-460796077c7c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">Agent\u8c03\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u8ffd\u8e2a\u4e0e\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u5e7b\u89c9\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">.NET\/Python\/JS<\/span><br \/>\n            <span class=\"tag\">LLM\u8fd0\u7ef4<\/span><br \/>\n            <span class=\"tag\">\u6d4b\u8bc4\u4e00\u4f53\u5316<\/span><br \/>\n            <span class=\"tag\">DevOps\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\u6838\u5fc3\u8d5e\u8d4f\u201c\u6210\u529f\u4f46\u9519\u8bef\u201d\u8fd0\u884c\u7684\u53ef\u89c6\u5316\uff0c\u8ba4\u4e3a\u8ffd\u8e2a\u5168\u6d41\u7a0b+\u7ed3\u5408\u8bc4\u4f30\u662f\u5f3a\u7ec4\u5408\u3002\u4e3b\u8981\u7591\u95ee\uff1a\u5982\u4f55\u76d1\u63a7Claude Code\uff08\u5b98\u65b9\u5efa\u8bae\u7528OTLP\u91c7\u96c6\uff0cFiddler\u4ea6\u53ef\uff0c\u4f46\u4e0d\u6301\u4e45\u5b58\u50a8\uff09\u3002\u53e6\u6709\u7528\u6237\u5173\u5fc3\u751f\u4ea7\u73af\u5883\u5b9e\u9645\u8c03\u8bd5\u96be\u70b9\u4e0e\u4fe1\u53f7\u504f\u597d\uff08\u8ffd\u8e2a\/\u8bc4\u4f30\/\u5ef6\u8fdf\/\u6210\u672c\uff09\uff0c\u5e76\u8be2\u95ee\u514d\u8d39\u65b9\u6848\u7ec6\u8282\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u8fd9\u6b3e\u4ea7\u54c1\u7684\u4ef7\u503c\u5207\u53e3\u9009\u5f97\u5f88\u51c6\u2014\u2014\u4f20\u7edfAPM\u53ea\u56de\u7b54\u201c\u7cfb\u7edf\u5b95\u4e86\u6ca1\u201d\uff0c\u800cAI Agent\u7684\u5931\u8d25\u5f80\u5f80\u662f\u201c\u56de\u7b54\u6d41\u7545\u4f46\u9519\u8bef\u3001\u5de5\u5177\u9009\u62e9\u8be1\u5f02\u3001\u4e0a\u4e0b\u6587\u88ab\u5ffd\u7565\u3001\u9677\u5165\u6602\u8d35\u5faa\u73af\u201d\u3002Progress AI Observability\u628a\u201c\u8ffd\u8e2a-\u8bc4\u4f30-\u6539\u8fdb\u201d\u95ed\u73af\u505a\u4e86\u4ea7\u54c1\u5316\uff0c\u5c24\u5176\u5f3a\u8c03\u201c\u5e7b\u89c9\/\u65e0\u6839\u636e\u56de\u7b54\u201d\u7684\u68c0\u6d4b\uff0c\u8fd9\u662f\u4f20\u7edf\u76d1\u63a7\u7684\u76f2\u533a\uff0c\u4e5f\u662f\u4f01\u4e1a\u4eceDemo\u8d70\u5411\u751f\u4ea7\u7684\u6700\u5927\u5fc3\u7406\u969c\u788d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u770b\uff0c\u8be5\u8d5b\u9053\u5df2\u62e5\u6324\uff1aLangSmith\u3001Arize Phoenix\u3001Langfuse\u3001W&#038;B Weave\u7b49\u5747\u8986\u76d6trace+eval\uff0c\u4e14\u5f00\u6e90\u793e\u533a\u8fed\u4ee3\u6781\u5feb\u3002Progress\u7684\u6838\u5fc3\u58c1\u5792\u5728\u4e8e\u4e09\u70b9\uff1a\u4e00\u662f\u5bf9.NET\u7684\u539f\u751f\u652f\u6301\uff08\u5dee\u5f02\u5316\uff0c\u4f20\u7edf\u4f01\u4e1a\u5ba2\u6237\u591a\uff09\uff0c\u4e8c\u662f\u4e0eFiddler\uff08\u77e5\u540d\u6293\u5305\u5de5\u5177\uff09\u7684\u751f\u6001\u8054\u52a8\uff08\u8bc4\u8bba\u4e2d\u5df2\u6709\u4eba\u63d0\u53ca\uff09\uff0c\u4e09\u662fOTLP\u6807\u51c6\u63a5\u5165\u964d\u4f4e\u8fc1\u79fb\u6210\u672c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u9690\u60a3\u5728\u4e8e\u201c\u8bc4\u4f30\u201d\u672c\u8eab\u7684\u6709\u6548\u6027\u2014\u2014\u5982\u4f55\u5b9a\u4e49\u201c\u5e7b\u89c9\u201d\uff1f\u5982\u4f55\u907f\u514d\u8bef\u62a5\uff1f\u82e5\u8bc4\u4f30\u89c4\u5219\u7c97\u7cd9\uff0c\u53ea\u4f1a\u589e\u52a0\u566a\u97f3\u3002\u53e6\u5916\uff0c\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u751f\u4ea7\u73af\u5883\u6700\u96be\u7684\u8c03\u8bd5\u70b9\u201d\u7684\u63d0\u95ee\uff0c\u66b4\u9732\u4e86\u4ea7\u54c1\u5c1a\u5728\u65e9\u671f\uff0c\u7f3a\u4e4f\u5927\u91cf\u5ba2\u6237\u9a8c\u8bc1\u7684\u201c\u6700\u4f73\u5b9e\u8df5\u201d\u6c89\u6dc0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5efa\u8bae\u56e2\u961f\u5c3d\u5feb\u6c89\u6dc0\u884c\u4e1a\u6a21\u677f\uff08\u5982\u91d1\u878d\u3001\u5ba2\u670d\u573a\u666f\u7684\u5e7b\u89c9\u5224\u5b9a\u89c4\u5219\uff09\uff0c\u5e76\u5c06\u201c\u6210\u672c\/\u4ee4\u724c\u6d6a\u8d39\u201d\u4ece\u7edf\u8ba1\u62a5\u8868\u5347\u7ea7\u4e3a\u53ef\u81ea\u52a8\u89e6\u53d1\u7684\u9884\u7b97\u63a7\u5236\u7b56\u7565\u2014\u2014\u90a3\u624d\u662f\u5ba2\u6237\u613f\u610f\u4ed8\u8d39\u7684\u8fd0\u8425\u4ef7\u503c\uff0c\u800c\u975e\u4ec5\u201c\u770b\u5f97\u89c1\u201d\u3002\u76ee\u524d154\u7968\u5728PH\u5c5e\u4e8e\u4e2d\u89c4\u4e2d\u77e9\uff0c\u80fd\u5426\u7834\u5708\u53d6\u51b3\u4e8e\u80fd\u5426\u62ff\u4e0b.NET\u4f01\u4e1a\u5ba2\u6237\u4f5c\u4e3a\u6839\u636e\u5730\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\">Progress AI Observability<\/span>\n                <\/div>\n<div class=\"comment-content\">Debug and monitor AI agent failures in minutes. Trace every run, catch hallucinations and ungrounded answers that traditional monitoring misses, and see exactly what went wrong. Reduce token waste, improve agent quality, and ship faster with support forNET, Python, and JavaScript.<\/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\u2019m Lyubo, the Product Manager behind Progress AI Observability.<\/p>\n<p>&nbsp;<\/p>\n<p>We know a lot of teams are building AI agents now. The first demo comes together quickly but then you try to run it in production and things get more complicated.<\/p>\n<p>&nbsp;<\/p>\n<p>Traditional monitoring can tell you that an app is running, but it usually can&#8217;t explain why an agent chose a particular tool, ignored useful context, entered an expensive loop or produced an answer that looked convincing but was wrong.<\/p>\n<p>&nbsp;<\/p>\n<p>We built Progress AI Observability to give engineering teams that missing visibility.<\/p>\n<p>&nbsp;<\/p>\n<p>We want to move teams from \u201csomething went wrong\u201d to understanding why it happened, what needs to change and whether the next version is actually better.<\/p>\n<p>&nbsp;<\/p>\n<p>You can start tracing in minutes with support for .NET, Python, and JavaScript\/TypeScript. There\u2019s a free plan, and no credit card is required.<\/p>\n<p>&nbsp;<\/p>\n<p>We&#8217;d love to hear your feedback on:<\/p>\n<ul>\n<li>\n<p>What\u2019s hardest to debug once an agent reaches production?<\/p>\n<\/li>\n<li>\n<p>Which signals are most useful to you: traces, evaluations, latency, token usage, or cost?<\/p>\n<\/li>\n<li>\n<p>What would you need to see before using this with a production agent?<\/p>\n<\/li>\n<\/ul>\n<p>Thanks for checking it out \ud83d\ude4f<br \/>&#8211; Lyubo and the Progress AI Observability Team<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>15<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lyuatanasov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lyuatanasov<\/a>&nbsp;\ud83d\ude4f\ud83d\ude4f\ud83d\ude4f<\/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\/@lyuatanasov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lyuatanasov<\/a>&nbsp;soo excited for the ProductHunt community to check us out, hope this can be super useful to anyone building agents!<\/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\/@lyuatanasov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lyuatanasov<\/a>&nbsp;Super excited about this product and its impact! Congrats!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">Really like how this makes \u201csuccessful but wrong\u201d agent runs visible. Tracing the full flow and tying it to evals is a powerful combination.<\/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>Great to hear you see the value in our solution, Kris! Full observability + evaluations are indeed fundamental for any AI agent out in the wild.<\/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\/@yochev\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yochev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yochev<\/a> Congratulations. And happy product launch.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@huisong_li\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@huisong_li<\/a>&nbsp;TY mate!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 assume if I want to monitor how Claude Code works, then I have to use Fiddler? (I love Fiddler) <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Hey, Jay <a href=\"https:\/\/www.producthunt.com\/@jay_janarthanan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jay_janarthanan1<\/a>&nbsp;you can absolutely also capture the traces from Claude Code in Progress AI Observability (we support OTLP) .  Of course fiddler works perfectly fine, if you don&#8217;t have to peristently store the traces . Dropping you some instructions. If you can&#8217;t get it working DM me and I will try to help you out !<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/adb4aa97-09dd-404a-9621-c8324dd1bcab.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>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\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/5GX63ITCVZ2GQ6\" class=\"app-title\">Crew<\/a><\/p>\n<div class=\"one-liner\">A tiny crew of monsters for your Claude Code agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">135<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Crew \u662f\u4e00\u6b3e macOS \u4e0a\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4e3a\u6bcf\u4e2a Claude Code \u804a\u5929\u548c\u5b50\u4ee3\u7406\u751f\u6210\u4e00\u53ea\u50cf\u7d20\u5c0f\u602a\u517d\uff0c\u6cbf\u5c4f\u5e55\u5e95\u90e8\u884c\u8d70\u3001\u6316\u6d1e\u3001\u4f11\u7720\u3001\u6325\u624b\uff0c\u8ba9\u4f60\u65e0\u9700\u5207\u6362\u7a97\u53e3\u5373\u53ef\u5b9e\u65f6\u611f\u77e5 AI \u4ee3\u7406\u7684\u5de5\u4f5c\u72b6\u6001\uff0c\u5e76\u5728\u547d\u4ee4\u9700\u8981\u6388\u6743\u65f6\u76f4\u63a5\u5728\u5c0f\u602a\u517d\u8eab\u4e0a\u70b9\u51fb\u5141\u8bb8\u6216\u62d2\u7edd\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\/9f1e50b3-73d8-4845-ad71-a149434155c7.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/vLBq85jJNnY?feature=share\"><source src=\"https:\/\/youtube.com\/shorts\/vLBq85jJNnY?feature=share\" 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\/dce2eac9-d2d3-4250-921f-c02f6ccae7c0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ab0daa2b-ea39-4283-9949-c2db9798f9d6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/192bbde1-139a-4752-8b8a-509c73cc74fa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/508a2753-ed1e-4a4e-afe9-e8075760a78f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dc42ce99-528f-419b-9933-73a65fa6c954.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\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">macOS<\/span><br \/>\n            <span class=\"tag\">Claude Code<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u7aef\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u50cf\u7d20\u98ce<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u65e0\u7f51\u7edc\u4f9d\u8d56<\/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 Allow\/Deny \u6309\u94ae\u76f4\u63a5\u663e\u793a\u5728\u602a\u517d\u8eab\u4e0a\uff0c\u7701\u53bb\u9891\u7e41\u5207\u6362\u7a97\u53e3\u67e5\u627e\u6388\u6743\u63d0\u793a\u7684\u9ebb\u70e6\uff0c\u5e76\u8be2\u95ee\u6388\u6743\u65f6\u662f\u5426\u51bb\u7ed3\u7a97\u53e3\u2014\u2014\u4f5c\u8005\u56de\u5e94\uff1a\u4e0d\u51bb\u7ed3\uff0c30 \u79d2\u65e0\u54cd\u5e94\u5219\u56de\u9000\u5230\u7ec8\u7aef\u9ed8\u8ba4\u63d0\u793a\uff0c\u4e14\u4f1a\u8bdd\u963b\u585e\u65f6\u602a\u517d\u4f1a\u4e3e\u65d7\u63d0\u9192\u3002\u53e6\u6709\u7528\u6237\u8868\u8fbe\u559c\u7231\u5e76\u795d\u798f\uff0c\u6574\u4f53\u53cd\u9988\u79ef\u6781\uff0c\u672a\u89c1\u529f\u80fd\u7f3a\u9677\u6216\u62b1\u6028\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                Crew \u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u8bd5\u56fe\u201c\u4f18\u5316\u201dClaude Code \u7684\u6267\u884c\u6548\u7387\uff0c\u800c\u662f\u89e3\u51b3\u4e86\u591a\u4f1a\u8bdd\u573a\u666f\u4e0b\u7684\u6ce8\u610f\u529b\u5206\u914d\u95ee\u9898\u2014\u2014\u628a\u540e\u53f0 AI \u7684\u201c\u5b58\u5728\u611f\u201d\u4ece\u62bd\u8c61\u7684\u65cb\u8f6c\u83ca\u82b1\u53d8\u6210\u6709\u60c5\u7eea\u3001\u6709\u52a8\u4f5c\u7684\u5177\u8c61\u5b9e\u4f53\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u628a\u7ec8\u7aef\u91cc\u7684\u5f02\u6b65\u4efb\u52a1\u6620\u5c04\u4e3a\u4eba\u773c\u66f4\u6613\u6355\u6349\u7684\u5468\u8fb9\u89c6\u89c9\u4fe1\u53f7\u3002\u8bbe\u8ba1\u5e08\u51fa\u8eab\u7684\u4f5c\u8005\u7cbe\u51c6\u6293\u4f4f\u4e86\u91cd\u5ea6\u7528\u6237\u7684\u6838\u5fc3\u75db\u70b9\uff1a\u4e0d\u662f\u770b\u4e0d\u5230\u65e5\u5fd7\uff0c\u800c\u662f\u4e0d\u77e5\u9053\u8be5\u770b\u54ea\u4e2a\u7a97\u53e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0c\u8fd9\u4e2a\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u5e76\u4e0d\u6df1\u3002\u5b83\u4f9d\u8d56 Claude Code \u7684 hooks \u673a\u5236\u548c\u672c\u5730 marker \u6587\u4ef6\uff0c\u6280\u672f\u4e0a\u5c5e\u4e8e\u8f7b\u91cf\u5c01\u88c5\uff0c\u4efb\u4f55\u6709 Swift \u57fa\u7840\u7684\u4eba\u90fd\u80fd\u590d\u523b\u3002\u771f\u6b63\u7684\u9690\u6027\u95e8\u69db\u5728\u4e8e\u50cf\u7d20\u7f8e\u672f\u7684\u539f\u521b\u6027\u548c\u60c5\u7eea\u4f20\u8fbe\u7684\u7ec6\u817b\u5ea6\u2014\u2014\u8ba9\u7528\u6237\u5bf9\u4ee3\u7406\u4ea7\u751f\u201c\u966a\u4f34\u611f\u201d\uff0c\u8fd9\u624d\u662f\u96be\u4ee5\u6284\u88ad\u7684\u90e8\u5206\uff0c\u4e5f\u662f\u672a\u6765\u4ed8\u8d39\u6f5c\u529b\u6240\u5728\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5546\u4e1a\u4e0a\uff0c\u76ee\u524d\u514d\u8d39\u5168\u90e8\u529f\u80fd\u662f\u660e\u667a\u7684\u51b7\u542f\u52a8\u7b56\u7565\uff0c\u4f46\u201c\u4ed8\u8d39\u540e\u4e0d\u52a0\u56de\u5899\u201d\u7684\u627f\u8bfa\u9700\u8981\u540e\u7eed\u8c28\u614e\u5151\u73b0\u3002\u66f4\u5927\u7684\u9690\u60a3\u662f\uff1a\u5982\u679c Anthropic \u5b98\u65b9\u5728\u672a\u6765\u7248\u672c\u4e2d\u96c6\u6210\u7c7b\u4f3c\u7684\u53ef\u89c6\u5316\u53cd\u9988\uff0cCrew \u5c06\u88ab\u964d\u7ef4\u6253\u51fb\u3002\u56e0\u6b64\uff0c\u4f5c\u8005\u5e94\u8be5\u5c3d\u5feb\u4ece\u201c\u73a9\u5177\u7ea7\u4f34\u4fa3\u201d\u5411\u201c\u4ee3\u7406\u751f\u547d\u5468\u671f\u7ba1\u7406\u9762\u677f\u201d\u8fdb\u5316\uff0c\u4f8b\u5982\u52a0\u5165\u957f\u65f6\u95f4\u8fd0\u884c\u4efb\u52a1\u7684\u65f6\u5e8f\u56de\u6eaf\u3001\u591a\u4ee3\u7406\u5bb6\u65cf\u56fe\u8c31\u3001\u6216\u57fa\u4e8e\u602a\u517d\u60c5\u7eea\u7684\u5f02\u5e38\u62a5\u8b66\u2014\u2014\u5426\u5219\u5b83\u6c38\u8fdc\u53ea\u662f\u9526\u4e0a\u6dfb\u82b1\u7684\u684c\u9762\u5ba0\u7269\uff0c\u800c\u975e\u4e0d\u53ef\u6216\u7f3a\u7684\u57fa\u5efa\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u53e6\u5916\uff0c\u672a\u516c\u8bc1\u3001\u9700\u53f3\u952e\u6253\u5f00\u3001\u4f9d\u8d56 curl \u5b89\u88c5\u7684\u505a\u6cd5\u867d\u5c5e\u65e0\u5948\uff0c\u4f46\u4f1a\u663e\u8457\u963b\u788d\u975e\u6280\u672f\u7528\u6237\u4f20\u64ad\uff0c\u8fd9\u70b9\u5728\u516c\u6d4b\u9636\u6bb5\u5c1a\u53ef\u5bb9\u5fcd\uff0c\u6b63\u5f0f\u7248\u524d\u5fc5\u987b\u89e3\u51b3\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u5ba1\u7f8e\u5728\u7ebf\u3001\u6d1e\u5bdf\u7cbe\u51c6\u7684\u72ec\u7acb\u4f5c\u54c1\uff0c\u4f46\u8ddd\u79bb\u201c\u4f1f\u5927\u5de5\u5177\u201d\u8fd8\u5dee\u4e00\u4e2a\u751f\u6001\u4f4d\u5361\u4f4d\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\">Crew<\/span>\n                <\/div>\n<div class=\"comment-content\">Crew gives every Claude Code chat and subagent a body: a little pixel monster that walks along the bottom of your screen, digs while it works, sleeps when it&#8217;s idle, and waves when it&#8217;s done. Free for macOS. Nothing ever leaves your Mac.<\/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&#8217;m a designer, and this year I basically live inside Claude Code \u2014 usually with<br \/>\nfour or five chats going at once. It works, but it&#8217;s invisible. You sit there<br \/>\nwatching a spinner and you genuinely can&#8217;t tell whether something is thinking,<br \/>\nstuck waiting on you, or finished ten minutes ago.<\/p>\n<p>So I gave every one of them a body.<\/p>\n<p>Crew puts one little pixel monster along the bottom of your screen per Claude Code<br \/>\nchat and subagent. It digs while it edits, scribbles while it writes, pants when<br \/>\na command is long, droops when something failed, and curls up and sleeps when<br \/>\nyou&#8217;ve stopped. Subagents walk behind their parent like a small family. When a<br \/>\nchat needs your permission to run a command, its creature holds up the command<br \/>\nwith Allow and Deny \u2014 you approve it right there, without hunting for the window.<\/p>\n<p>It&#8217;s the fastest peripheral read on &#8220;what are my agents doing&#8221; that I&#8217;ve managed<br \/>\nto build. I stopped alt-tabbing to check.<\/p>\n<p>Some honest notes:<br \/>\n\u25aa macOS 13+, Apple Silicon and Intel. Needs Claude Code, and nothing else at all:<br \/>\n  no Homebrew, no command-line tools, no Terminal. Download, drag it in, click<br \/>\n  Connect and it wires up its own Claude Code hooks (keeping any you already<br \/>\n  have, with a backup).<br \/>\n\u25aa Nothing leaves your Mac. No accounts, no network calls, no telemetry. The<br \/>\n  whole thing runs off local marker files the Claude Code hooks drop in \/tmp.<br \/>\n\u25aa It&#8217;s free. All of it, today. There&#8217;s a paid tier coming later for the extras,<br \/>\n  but nothing you can see right now gets taken away when it lands.<br \/>\n\u25aa It isn&#8217;t notarised yet \u2014 I haven&#8217;t paid Apple the $99 \u2014 so a browser download<br \/>\n  gets flagged and the first launch needs right-click \u2192 Open. If you&#8217;d rather skip<br \/>\n  that, the terminal one-liner on the site avoids it entirely (curl doesn&#8217;t<br \/>\n  quarantine what it fetches). The SHA-256 is published next to the download.<br \/>\n\u25aa The six species are all original \u2014 drawn pixel by pixel in code, not sprites<br \/>\n  from anywhere else.<\/p>\n<p>Built solo in Swift, with Claude Code, over a few weeks of evenings. Happy to<br \/>\nanswer anything about the hooks, the pixel art, or how the physics ball works.<\/p>\n<p>What would you want your agents to look like?<\/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>the Allow\/Deny buttons on the creature are the sneaky-useful bit, I lose so much time hunting for which window wants something from me. How does it behave when it needs approval: does it freeze my window and wait or just sit there until I notice?<\/p>\n<p><a href=\"https:\/\/www.producthunt.com\/@ravindra_sisodia1\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"ravindra_sisodia1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ravindra_sisodia1<\/a> congrats, this is lovely!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alexei_lisnic\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexei_lisnic<\/a>&nbsp;Thanks Alexei, and that is exactly the bit I use most too.<\/p>\n<p>Neither, quite. It does not freeze anything, and it does not leave you to spot it<\/p>\n<p>on your own.<\/p>\n<p>When a command matches, the creature raises it with Allow and Deny and the session<\/p>\n<p>waits, exactly as it would have waited for the terminal&#8217;s own permission prompt.<\/p>\n<p>Nothing extra is blocked: the agent was going to sit there either way, the question<\/p>\n<p>just moves to the sprite. Your Mac carries on as normal, you can keep working in<\/p>\n<p>other windows.<\/p>\n<p>If you do not answer within 30 seconds the hook gives up and prints nothing, so<\/p>\n<p>Claude Code falls through to its usual prompt in the terminal. Worst case is<\/p>\n<p>precisely what would have happened without Crew installed.<\/p>\n<\/p>\n<p>And for the general &#8220;which window wants something from me&#8221; problem: whenever a<\/p>\n<p>session is blocked, its creature hops and raises a flag, whether or not the<\/p>\n<p>approve flow is switched on for that command.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>hehhe loved it! All the best here Ravindra<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thanks a ton!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/5B53WWLYMBD26A\" class=\"app-title\">Kitesurf<\/a><\/p>\n<div class=\"one-liner\">Browser built for agents, running on Cloudflare Workers<\/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>Kitesurf \u662f\u4e00\u6b3e\u8dd1\u5728 Cloudflare Workers \u4e0a\u7684\u65e0\u72b6\u6001\u3001\u9762\u5411 AI Agent \u7684\u6d4f\u89c8\u5668\uff0c\u901a\u8fc7 Browser Run \u63d0\u4f9b\u622a\u56fe\u3001HTML \u63d0\u53d6\u4e0e\u81ea\u52a8\u5316\u80fd\u529b\uff0c\u89e3\u51b3\u7684\u662f Agent \u5728\u4e91\u7aef\u6267\u884c\u7f51\u9875\u4ea4\u4e92\u4efb\u52a1\u65f6\u201c\u6ca1\u6709\u4e13\u7528\u6d4f\u89c8\u5668\u73af\u5883\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\/e0f03f50-1f6b-4018-bb7d-cccdf1e6af2c.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\/25f9dfc8-1fa5-40a8-add3-eb766460b63a.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\/7564c8d0-ffbc-41f2-a947-136dceda3cb4.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\/b24c5bbd-b66d-436a-a15b-18b986281de8.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\/48b18cea-0e6e-49c3-9645-e01752781b6b.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\/98931fbb-e5ff-41f2-8173-774e3f0c79c5.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\/33129e6d-f481-4768-870d-5d46db5c71d2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI Agent \u6d4f\u89c8\u5668<\/span><br \/>\n            <span class=\"tag\">\u65e0\u5934\u6d4f\u89c8\u5668<\/span><br \/>\n            <span class=\"tag\">\u4e91\u7aef\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">Cloudflare Workers<\/span><br \/>\n            <span class=\"tag\">\u65e0\u72b6\u6001\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u6570\u636e\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">\u622a\u56fe\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">Agent \u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u8fb9\u7f18\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6d4b\u8bd5<\/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\u4e3a Agent \u800c\u751f\u7684\u65e0\u5934\u6d4f\u89c8\u5668\u201d\u8fd9\u4e00\u65b9\u5411\uff0c\u4f46\u91cd\u70b9\u8d28\u7591\u65e0\u72b6\u6001\u8bbe\u8ba1\uff1a\u591a\u6b65\u9aa4\u4efb\u52a1\u4e2d\u6301\u4e45\u767b\u5f55\u6001\u5982\u4f55\u4fdd\u6301\uff1f\u662f\u6bcf\u6b21\u91cd\u65b0\u8ba4\u8bc1\uff0c\u8fd8\u662f\u53ef\u4f20\u9012\u4f1a\u8bdd\u4ee4\u724c\uff1f\u8fd9\u88ab\u89c6\u4e3a\u591a\u6b65 Agent \u5de5\u4f5c\u6d41\u7684\u4e3b\u8981\u6469\u64e6\u70b9\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                Kitesurf \u8e29\u4e2d\u4e86\u4e24\u4e2a\u98ce\u53e3\uff1aAI Agent \u7684\u201c\u5de5\u5177\u9965\u6e34\u201d\u4e0e\u8fb9\u7f18\u8ba1\u7b97\u7684\u201c\u65e0\u670d\u52a1\u5668\u6267\u5ff5\u201d\u3002\u628a\u6d4f\u89c8\u5668\u585e\u8fdb Workers \u786e\u5b9e\u591f\u8f7b\u3001\u591f\u4fbf\u5b9c\u3001\u591f\u51b7\u542f\u52a8\u5feb\uff0c\u4f46\u201c\u65e0\u72b6\u6001\u201d\u6070\u6070\u66b4\u9732\u4e86\u5b83\u5bf9\u771f\u5b9e Agent \u5de5\u4f5c\u6d41\u7684\u8bef\u5224\u3002\u8bc4\u8bba\u91cc\u7684\u8d28\u7591\u4e00\u9488\u89c1\u8840\uff1aAgent \u505a\u4e00\u6b21\u201c\u4e0b\u5355\u201d\u6216\u201c\u767b\u5f55\u540e\u6293\u6570\u636e\u201d\u7684\u6d41\u7a0b\uff0c\u5f80\u5f80\u662f\u591a\u6b65\u3001\u6709\u72b6\u6001\u7684\u3002\u5982\u679c\u6bcf\u6b21\u8c03\u7528\u90fd\u8981\u91cd\u65b0\u8ba4\u8bc1\uff0c\u90a3\u8fd9\u4e2a\u6d4f\u89c8\u5668\u53ea\u9002\u5408\u201c\u5355\u53d1\u5f0f\u201d\u6293\u53d6\uff0c\u800c\u4e0d\u662f\u201c\u8fde\u7eed\u6027\u201d\u6267\u884c\u2014\u2014\u8fd9\u4f1a\u8ba9\u5b83\u7684\u4ef7\u503c\u4ece\u201cAgent \u4e13\u5c5e\u201d\u964d\u7ea7\u4e3a\u201c\u9ad8\u7ea7 curl\u201d\u3002\u66f4\u5c34\u5c2c\u7684\u662f\uff0cCloudflare Workers \u7684\u6267\u884c\u65f6\u957f\u4e0e\u5185\u5b58\u9650\u5236\uff0c\u5929\u7136\u4e0d\u9002\u5408\u91cd\u5ea6\u6e32\u67d3\u7684\u9875\u9762\uff0c\u6240\u8c13\u201cBrowser Run\u201d\u5927\u6982\u7387\u53ea\u80fd\u5904\u7406\u8f7b\u91cf DOM\uff0c\u9047\u5230\u91cd JS \u7684\u73b0\u4ee3 Web \u5e94\u7528\u4f1a\u529b\u4e0d\u4ece\u5fc3\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u201c\u8dd1 Agent\u201d\uff0c\u800c\u5728\u4e3a\u5f00\u53d1\u8005\u63d0\u4f9b\u4e00\u4e2a\u4f4e\u6210\u672c\u7684\u201c\u6d4f\u89c8\u5668\u539f\u5b50\u64cd\u4f5c API\u201d\uff0c\u9002\u5408\u505a\u76d1\u63a7\u3001\u622a\u56fe\u3001\u7b80\u5355\u722c\u866b\u3002\u4f46\u82e5\u60f3\u6210\u4e3a Agent \u7684\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5b83\u5fc5\u987b\u5148\u89e3\u51b3\u72b6\u6001\u6301\u4e45\u5316\u3001\u4f1a\u8bdd\u590d\u7528\u4e0e\u957f\u4efb\u52a1\u7f16\u6392\uff0c\u5426\u5219\u53ea\u4f1a\u6ca6\u4e3a AI \u73a9\u5177\uff0c\u800c\u975e\u751f\u4ea7\u57fa\u7840\u8bbe\u65bd\u3002\u4ea7\u54c1\u65b9\u5411\u503c\u5f97\u80af\u5b9a\uff0c\u4f46\u76ee\u524d\u5f62\u6001\u66f4\u50cf\u201c\u96cf\u5f62\u201d\uff0c\u79bb\u201cAgent-first\u201d\u7684\u6807\u51c6\u7b54\u6848\u8fd8\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\">Kitesurf<\/span>\n                <\/div>\n<div class=\"comment-content\">Use Kitesurf, Cloudflare&#8217;s stateless, agent-first browser that runs entirely on Workers, with Browser Run for screenshots, HTML extraction, and automation.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Headless browsers, built for agents. Indeed, we are moving to the <a href=\"https:\/\/theforesightlab.substack.com\/p\/the-post-human-internet\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">post-human internet<\/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 stateless-per-call design is a real bet. Curious how you handle workflows that need persistent login state across steps, does the agent have to re-authenticate on every call, or is there a session token it can pass in? That tradeoff seems like the main friction point for multi-step agent tasks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/HJ2P4URTDUMTPW\" class=\"app-title\">DataBlur<\/a><\/p>\n<div class=\"one-liner\">Blur sensitive data on screen before anyone sees it<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">117<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>DataBlur \u662f\u4e00\u6b3e\u5c4f\u5e55\u5b9e\u65f6\u6a21\u7cca\u5de5\u5177\uff0c\u5728\u76f4\u64ad\u3001\u5f55\u5c4f\u548c\u6f14\u793a\u524d\u81ea\u52a8\u9690\u85cf\u5c4f\u5e55\u4e0a\u7684\u90ae\u7bb1\u3001\u5361\u53f7\u3001API\u5bc6\u94a5\u7b49\u654f\u611f\u4fe1\u606f\uff0c\u89e3\u51b3\u6570\u636e\u5728\u753b\u9762\u4e2d\u6cc4\u9732\u7684\u75db\u70b9\uff0c\u4e14\u5b8c\u5168\u672c\u5730\u5316\u5904\u7406\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\/30b39c02-a1ec-41ba-beb1-b9acd5b56386.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d0e4834a-421a-4dcd-a050-4c3de5cb28a6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e1184861-8270-435f-8913-f0dd32b7edb2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5bf01cfc-66d8-4cf4-b092-55a6d98a80c3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/321aa0bb-5ee3-4467-8439-cb01ef450d03.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\/b6d81d54-459a-471b-8cd5-05f0d0ca01dd.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=QZh5_BXABYI\"><source src=\"https:\/\/www.youtube.com\/watch?v=QZh5_BXABYI\" 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\">Privacy<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5c4f\u5e55\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u8131\u654f<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u6a21\u7cca<\/span><br \/>\n            <span class=\"tag\">\u6f14\u793a\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5f55\u5c4f\u9632\u62a4<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u6b63\u5219\u5339\u914d<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u4e0d\u786e\u5b9a\u65f6\u6a21\u7cca\u66f4\u591a\u201d\u7684\u9632\u9519\u8bbe\u8ba1\uff0c\u8be2\u95ee\u8bef\u62a5\u7387\u53ca\u6f14\u793a\u4e2d\u8fc7\u5ea6\u6a21\u7cca\u7684\u5e94\u5bf9\u65b9\u6848\uff1b\u5173\u6ce8\u81ea\u52a8\u68c0\u6d4b\u662f\u5426\u57fa\u4e8eDOM\u76d1\u542c\u3001\u89c4\u5219\u662f\u5426\u53ef\u81ea\u5b9a\u4e49\uff1b\u5efa\u8bae\u589e\u52a0Stream Deck\u539f\u751f\u652f\u6301\uff0c\u5e76\u63a2\u8ba8\u201c\u672a\u88ab\u8bc6\u522b\u5b57\u6bb5\u9759\u9ed8\u6f0f\u8fc7\u201d\u7684\u8fb9\u754c\u573a\u666f\u3002\u5f00\u53d1\u56e2\u961f\u56de\u5e94\u4e86\u5feb\u6377\u952e\u3001Alt\u952e\u900f\u89c6\u53ca\u89c4\u5219\u8c03\u4f18\u7b49\u7ec6\u8282\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                DataBlur \u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u6a21\u7cca\u201d\u8fd9\u4e2a\u52a8\u4f5c\uff0c\u800c\u5728\u4e8e\u628a\u9690\u79c1\u4fdd\u62a4\u4ece\u201c\u4e8b\u540e\u526a\u8f91\u201d\u524d\u7f6e\u4e3a\u201c\u4e8b\u4e2d\u9632\u5fa1\u201d\uff0c\u5207\u4e2d\u4e86\u76f4\u64ad\u6f14\u793a\u3001\u5ba2\u6237POC\u3001\u5f55\u5c4f\u6559\u5b66\u7b49\u9ad8\u538b\u573a\u666f\u4e0b\u7684\u4eba\u6027\u5f31\u70b9\u2014\u2014\u4eba\u5728\u7d27\u5f20\u65f6\u5fc5\u7136\u6f0f\u770b\uff0c\u800c\u673a\u5668\u4e0d\u4f1a\u3002\u5176\u201c\u786e\u5b9a\u6027\u89c4\u5219\u800c\u975eML\u201d\u7684\u5b9a\u4f4d\u503c\u5f97\u73a9\u5473\uff1a\u5728\u9690\u79c1\u5de5\u5177\u91cc\uff0c\u8bef\u62a5\u7684\u4ee3\u4ef7\u8fdc\u4f4e\u4e8e\u6f0f\u62a5\uff0c\u89c4\u5219\u5f15\u64ce\u7684\u201c\u53ef\u9884\u6d4b\u6027\u201d\u53cd\u800c\u6210\u4e86\u804c\u4e1a\u573a\u666f\u4e0b\u7684\u4f18\u70b9\uff0c\u4e14\u80fd\u5b8c\u5168\u79bb\u7ebf\u8fd0\u884c\uff0c\u89c4\u907f\u4e86\u201c\u9690\u79c1\u5de5\u5177\u672c\u8eab\u6536\u96c6\u6570\u636e\u201d\u7684\u4fe1\u4efb\u6096\u8bba\u3002\u4f46\u4ea7\u54c1\u5929\u82b1\u677f\u540c\u6837\u6e05\u6670\uff1a\u5b83\u53ea\u89e3\u51b3\u201c\u5c4f\u5e55\u8f93\u51fa\u7aef\u201d\u7684\u6cc4\u9732\uff0c\u5bf9\u622a\u56fe\u5206\u4eab\u3001\u6587\u4ef6\u4f20\u8f93\u7b49\u94fe\u8def\u65e0\u80fd\u4e3a\u529b\uff1b\u4e14\u89c4\u5219\u5339\u914d\u5bf9\u975e\u7ed3\u6784\u5316\u5185\u5bb9\uff08\u5982\u81ea\u7136\u8bed\u8a00\u4e2d\u7684\u5ba2\u6237\u540d\uff09\u9632\u62a4\u6709\u9650\uff0c\u7528\u6237\u4ecd\u9700\u624b\u52a8\u7ef4\u62a4\u8bcd\u8868\u3002\u5546\u4e1a\u6a21\u5f0f\u4e0a\uff0c\u514d\u8d39\u7248\u5e26\u6c34\u5370\u7684\u8bbe\u8ba1\u806a\u660e\uff0c\u4f464.99\u7f8e\u5143\u6708\u8d39\u5728\u5de5\u5177\u7c7b\u4ea7\u54c1\u4e2d\u504f\u9ad8\uff0c\u4e14\u201c\u672c\u5730\u5904\u7406\u201d\u867d\u662f\u597d\u5356\u70b9\uff0c\u5bf9\u975e\u6280\u672f\u7528\u6237\u611f\u77e5\u4e0d\u5f3a\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u80fd\u5426\u6c89\u6dc0\u4e3a\u201c\u4f01\u4e1a\u6f14\u793a\u5b89\u5168\u201d\u7684\u6807\u51c6\u52a8\u4f5c\u2014\u2014\u82e5\u80fd\u628a\u201c\u89c4\u5219\u5e93\u201d\u505a\u6210\u56e2\u961f\u5171\u4eab\u3001\u6309\u884c\u4e1a\u9884\u8bbe\u7684\u534f\u4f5c\u5c42\uff0c\u800c\u975e\u5355\u673a\u5c0f\u5de5\u5177\uff0c\u624d\u6709\u4ece\u201c\u597d\u7528\u201d\u8dc3\u8fc1\u5230\u201c\u79bb\u4e0d\u5f00\u201d\u7684\u53ef\u80fd\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u662f\u4e00\u6b3e\u7cbe\u51c6\u3001\u950b\u5229\u4f46\u8fb9\u754c\u6e05\u6670\u7684\u5782\u76f4\u5200\u5177\uff0c\u80fd\u5426\u64ac\u52a8\u66f4\u5927\u5e02\u573a\uff0c\u53d6\u51b3\u4e8e\u540e\u7eed\u751f\u6001\u800c\u975e\u5f53\u524d\u529f\u80fd\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\">DataBlur<\/span>\n                <\/div>\n<div class=\"comment-content\">DataBlur blurs sensitive data on your screen in real time \u2014 during live calls, demos and recordings. Auto-detects emails, cards and API keys. 100% local: no cloud, no AI, no signup. When detection fails, it blurs more, not less.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey PH! \ud83d\udc4b<\/p>\n<p>DataBlur exists because redacting leaks *after* the fact is a losing game \u2014 one missed frame in a recording and the data is out.<\/p>\n<p>So it flips the order: hide the data *before* it&#8217;s captured.<br \/>\n&#8211; Click any element or drag an area to blur it \u2014 live, while you present<br \/>\n&#8211; Auto-detection catches emails, phone numbers, cards, passwords and API keys you&#8217;d miss under pressure<br \/>\n&#8211; Blur, Redact or Transparent styles; a blur list for your own keywords\/regex<br \/>\n&#8211; Fail-safe by design: if detection breaks, it blurs everything rather than exposing everything<br \/>\n&#8211; 100% local processing. No cloud, no AI, no account. It can&#8217;t leak what it never receives<\/p>\n<p>Everything above is free. Pro ($4.99\/mo or $39 lifetime) removes the badge on auto-applied blurs and adds saved per-client profiles.<\/p>\n<p>Would love feedback \u2014 especially from anyone doing client demos or screen recordings daily.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kosta_zanin26\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kosta_zanin26<\/a>&nbsp;Congrats for launch \ud83d\ude4c does the local auto-detection engine run on a MutationObserver DOM listener to capture dynamically loaded sensitive text as you scroll?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kosta_zanin26\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kosta_zanin26<\/a>&nbsp;Congratulations on the launch! The case I&#8217;d think about is where detection doesn&#8217;t break, it just doesn&#8217;t recognise something. Running fine, but a field it hasn&#8217;t seen before slips through unblurred. Blur-everything covers a crash. Is there anything for the quiet miss?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@kosta_zanin26\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kosta_zanin26<\/a>&nbsp;amazing \ud83d\udc4f congrats on the launch \ud83c\udf8a <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Congrats on launching DataBlur! Blurring more instead of less when in doubt is such a smart move. Are shortcuts (or Stream Deck support) on your roadmap for quick toggles during calls?<\/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\/@hannesh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hannesh<\/a>&nbsp;Thanks! Shortcuts are already in \u2014 toolbar, text blur, removing blurs and toggling auto-detect all have keybindings, plus hold Alt to peek under any blur mid-call. No native Stream Deck yet, but since everything is keyboard-driven you can map it to a Deck today. Native support \u2014 noted for the roadmap, great idea.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">@kosta_zanin26 Awesome, thanks for the quick breakdown! That Alt-peek feature sounds super handy. I\u2019ll give mapping the keybindings to my Stream Deck a try this weekend.<\/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\">What\u2019s the false-positive rate feel like in daily use? And what to do if overbluring happens during a demo?<\/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\/@michael_vavilov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_vavilov<\/a>&nbsp;Good question. Detection is deterministic pattern matching, not ML \u2014 so false positives are rare and, more importantly, predictable: it&#8217;s things that genuinely look like an email or a card number, not random noise. Mid-demo you have three quick outs: hold Alt to peek under any blur without removing it, one click removes that specific blur, and there&#8217;s a shortcut to clear blurs entirely. If something keeps matching that shouldn&#8217;t, the blur list is editable so you can tune the pattern once and it stays fixed.<\/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>Detection is based on deterministic rules or some local small ML-model? Should I setup a rules for my projects before sharing or DataBlur will just do the 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ikuznetsov_com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ikuznetsov_com<\/a>&nbsp;Deterministic rules, no ML \u2014 and it works out of the box: emails, phone numbers, cards, passwords and API keys are caught without any setup, so for a typical demo you just switch it on. The blur list is an optional layer on top: add your own keywords or regex once (client names, internal project codes) and they stay covered on every page after that.<\/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\">#10<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/HMYSG37SE5XNVK\" class=\"app-title\">Merge<\/a><\/p>\n<div class=\"one-liner\">AI-native code review assessments<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">111<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Merge \u662f\u4e00\u4e2a AI \u539f\u751f\u7684\u4ee3\u7801\u8bc4\u5ba1\uff08Code Review\uff09\u6d4b\u8bc4\u5e73\u53f0\uff0c\u8ba9\u5019\u9009\u4eba\u76f4\u63a5\u5ba1\u9605\u771f\u5b9e PR\uff0c\u5e76\u7531 AI \u6a21\u62df\u5de5\u7a0b\u5e08\u5b9e\u65f6\u56de\u5e94\u8bc4\u8bba\uff0c\u4ee5\u8bc4\u4f30\u5176\u5de5\u7a0b\u5224\u65ad\u529b\uff0c\u800c\u975e\u5355\u7eaf\u5199\u7801\u80fd\u529b\uff0c\u89e3\u51b3\u4f20\u7edf\u6280\u672f\u9762\u8bd5\u4e0e\u5c97\u4f4d\u5b9e\u9645\u8131\u8282\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\/72879251-41f6-4ed2-9dba-22f807eb6cfc.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\/4275539d-c93d-4b00-b702-5321a4773fe0.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\/318196d8-e922-4e83-b271-e9ab6b13cf8d.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\/01170d3a-780d-4902-a6b6-02873550075f.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\/f392f887-d57b-43b2-bfa7-49a5ff01553c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0eb46e46-b8ef-48cb-9fa4-5f76d841e76d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/47860945-f355-4ac8-9a87-e8309ae3c224.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\/313aff0d-7a30-4102-995b-b46f9fdf7647.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/S4kpc_AVsfs?si=GjLYYAvPnLlbgiw8\"><source src=\"https:\/\/youtu.be\/S4kpc_AVsfs?si=GjLYYAvPnLlbgiw8\" 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\">Hiring<\/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\">AI\u62db\u8058<\/span><br \/>\n            <span class=\"tag\">\u6280\u672f\u9762\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u8bc4\u5ba1<\/span><br \/>\n            <span class=\"tag\">\u5de5\u7a0b\u5224\u65ad\u529b<\/span><br \/>\n            <span class=\"tag\">PR\u5ba1\u67e5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u6d4b\u8bc4<\/span><br \/>\n            <span class=\"tag\">AI\u6a21\u62df\u9762\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u4eba\u624d\u7b5b\u9009<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u8bc4\u5206\u673a\u5236\u662f\u5426\u504f\u5411\u201c\u6700\u7ec8\u4ea7\u51fa\u201d\u800c\u975e\u201c\u63a8\u7406\u8fc7\u7a0b\u201d\uff0c\u62c5\u5fe7\u5019\u9009\u4eba\u4f7f\u7528\u5916\u90e8AI\u5de5\u5177\u4f5c\u5f0a\uff0c\u5f62\u6210\u201cAI\u8bc4AI\u201d\u7684\u519b\u5907\u7ade\u8d5b\uff1b\u540c\u65f6\u8d28\u7591\u5728\u5019\u9009\u4eba\u81ea\u5e26\u6a21\u578b\u7684\u73af\u5883\u4e0b\u5982\u4f55\u4fdd\u8bc1\u516c\u5e73\u6027\u3002\u5efa\u8bae\u660e\u786e\u8fc7\u7a0b\u5206\u5360\u6bd4\u53ca\u9632\u4f5c\u5f0a\u624b\u6bb5\uff0c\u800c\u975e\u4ec5\u4f9d\u8d56\u7ed3\u679c\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                Merge \u7684\u5b9a\u4f4d\u5f88\u806a\u660e\u2014\u2014\u5b83\u51c6\u786e\u6355\u6349\u5230\u4e86 AI \u7f16\u7a0b\u65f6\u4ee3\u201c\u5199\u4ee3\u7801\u201d\u8d2c\u503c\u3001\u201c\u5ba1\u4ee3\u7801\u201d\u5347\u503c\u7684\u8d8b\u52bf\u3002\u7528 AI \u6a21\u62df\u5de5\u7a0b\u5e08\u56de\u5e94\u8bc4\u8bba\uff0c\u4e5f\u6bd4\u4f20\u7edf\u7b14\u8bd5\u66f4\u63a5\u8fd1\u771f\u5b9e\u534f\u540c\u573a\u666f\uff0c\u8fd9\u662f\u4ea7\u54c1\u6700\u5927\u7684\u4eae\u70b9\uff0c\u4e5f\u786e\u5b9e\u662f Leetcode \u548c Take-home \u7684\u964d\u7ef4\u6253\u51fb\u3002\u4f46\u5b83\u7684\u547d\u95e8\u5728\u4e8e\u8bc4\u4ef7\u7cfb\u7edf\u7684\u53ef\u4fe1\u5ea6\uff1a\u6807\u699c\u8bc4\u4f30\u201c\u5de5\u7a0b\u5224\u65ad\u529b\u201d\uff0c\u5374\u5728\u8bc4\u8bba\u4e2d\u88ab\u7528\u6237\u4e00\u9488\u89c1\u8840\u5730\u6307\u51fa\u2014\u2014\u7ed3\u679c\u53ef\u80fd\u53ea\u662f\u201c\u8c01\u5f00\u7684\u5916\u6302\u66f4\u597d\u201d\u3002\u5982\u679c Merge \u4e0d\u80fd\u62ff\u51fa\u53ef\u4fe1\u7684\u673a\u5236\u8bc1\u660e\u5176\u8ffd\u8e2a\u4e86\u5019\u9009\u4eba\u7684\u63a8\u7406\u8f68\u8ff9\uff08\u800c\u975e\u53ea\u770b\u6700\u7ec8 diff\uff09\uff0c\u4ee5\u53ca\u6709\u6548\u9694\u79bb\u5916\u90e8 AI \u5e72\u6270\uff0c\u90a3\u4e48\u5b83\u6d4b\u51fa\u7684\u201c\u5224\u65ad\u529b\u201d\u8bf4\u670d\u529b\u5b58\u7591\u3002\u66f4\u81f4\u547d\u7684\u662f\uff0c\u4ea7\u54c1\u5728\u6d4b\u8bc4\u4e2d\u5f15\u5165\u201ctoken \u4f7f\u7528\u6548\u7387\u201d\u4f5c\u4e3a\u6307\u6807\uff0c\u8fd9\u770b\u4f3c\u5148\u8fdb\uff0c\u5374\u53ef\u80fd\u662f\u8fc7\u5ea6\u8ff7\u604b\u201cAI \u539f\u751f\u201d\u7684\u4ea7\u7269\u2014\u2014\u5bf9\u4e8e\u975e AI \u8d44\u6df1\u7528\u6237\uff0ctoken \u6d88\u8017\u66f4\u591a\u53cd\u6620\u5de5\u5177\u719f\u7ec3\u5ea6\uff0c\u800c\u975e\u5de5\u7a0b\u5929\u8d4b\u3002\u5b83\u50cf\u4e00\u9762\u955c\u5b50\uff0c\u5728\u8861\u91cf\u5019\u9009\u4eba\u5224\u65ad\u529b\u4e4b\u524d\uff0c\u9996\u5148\u68c0\u9a8c\u7684\u662f\u62db\u8058\u65b9\u662f\u5426\u771f\u6b63\u7406\u89e3\u201cAI \u539f\u751f\u8bc4\u4f30\u201d\u7684\u8fb9\u754c\u3002\u503c\u5f97\u5c1d\u8bd5\uff0c\u4f46\u522b\u795e\u8bdd\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Merge<\/span>\n                <\/div>\n<div class=\"comment-content\">Merge is a online code review assessment that helps engineering teams assess engineering judgement. With Merge, candidates review a PR, just like on the job. Then, our AI agent addresses PR comments in realtime, simulating a real engineer. At the end, we assess bug coverage, communication, PR quality, and token use efficiency.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey ProductHunt \ud83d\udc4b!<\/p>\n<p>We\u2019re 5 founders who\u2019ve collectively done over <strong>250 interviews<\/strong> &#8211; everywhere from startups to FAANG+ to quant shops. Most of the interviews we\u2019ve done were Leetcode based or tested skills that <strong>weren\u2019t used on the job<\/strong>.<\/p>\n<p>Meanwhile, at each of our companies, though, PR counts have nearly <strong>tripled<\/strong>. Most of us haven\u2019t manually edited a line of code in a year. Our teams are putting more and more emphasis on <strong>code and architecture reviews<\/strong>, yet hiring processes haven\u2019t changed whatsoever. <\/p>\n<\/p>\n<p>Even the AI-assisted ones we\u2019ve done still assess code output as the primary evaluation metric. As agents develop, we truly believe this will not be the most challenging ability for an engineer to have.<\/p>\n<p>We\u2019ve seen that the real difficulty with using AI is <strong>not just reviewing code your AI generates<\/strong>; it&#8217;s reviewing code that <strong>another engineer\u2019s AI has generated<\/strong>, having little context yourself.<\/p>\n<p>That\u2019s why we\u2019re launching Merge today: to help hiring teams <strong>assess engineering judgement<\/strong>. Here\u2019s how it works:<\/p>\n<p>1. Candidates are shown a small codebase to understand and a PR to review and comment on.<\/p>\n<p>2. An AI agent addresses each PR comment via a code change or reply, <strong>simulating a real engineer<\/strong>.<\/p>\n<p>3. Candidates can repeat until 5 revisions are used up or time runs out.<\/p>\n<p>Throughout this process, we assess the following:<\/p>\n<p>1. Coverage &#8211; How many bugs or vulnerabilities did the candidate identify and address?<\/p>\n<p>2. Communication &#8211; Was the candidate <strong>efficient<\/strong> and <strong>constructive<\/strong> with their feedback?<\/p>\n<p>3. Efficiency &#8211; How many <strong>revisions<\/strong> and <strong>tokens<\/strong> did the review take?<\/p>\n<p>We\u2019re the <strong>first platform<\/strong> that can show you exactly how efficient a candidate is with <strong>token use, LLM costs, and PR revisions<\/strong> \u2014 all of which are becoming exceedingly important in industry positions.<\/p>\n<p>If you\u2019re interested in the next-generation of engineering hiring, book a demo with us! Feel free to ask any questions below as well.<\/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\/@harshithl1777\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@harshithl1777<\/a>&nbsp;Hey. On the hiring side, take-homes and live coding both broke for us once candidates started running the same AI we do. Curious how you&#8217;re scoring: the final diff, or the reasoning during the review itself? Mostly wondering how you keep it from just rewarding whoever has the better model open in another tab.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how do you stop a candidate from just running the take home assessment through an AI code review tool of their own before submitting it back to you? feels like an arms race where both sides eventually just have AI grading AI<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/5GRBFEBDBATCT5\" class=\"app-title\">HAR<\/a><\/p>\n<div class=\"one-liner\">Open Source harness for multi-agent coding workflows<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">107<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>HAR\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u591a\u667a\u80fd\u4f53\u7f16\u7a0b\u5de5\u4f5c\u6d41\u7f16\u6392\u6846\u67b6\uff0c\u901a\u8fc7\u4e3a\u6bcf\u4e2a\u7f16\u7801Agent\u63d0\u4f9b\u9694\u79bb\u7684git\u5de5\u4f5c\u6811\u3001\u7aef\u53e3\u548c\u6570\u636e\u5e93\uff0c\u5e76\u5f3a\u5236\u6267\u884c\u786e\u5b9a\u6027\u9a8c\u8bc1\u95e8\u7981\uff0c\u89e3\u51b3\u5e76\u884c\u8fd0\u884c\u591a\u4e2aAI\u7f16\u7a0bAgent\u65f6\u7684\u73af\u5883\u51b2\u7a81\u3001\u7ed3\u679c\u4e0d\u53ef\u4fe1\u548c\u914d\u7f6e\u6f02\u79fb\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\/f1719e67-6d9f-4dd0-ba8f-9f26c4864047.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1e63b343-b89c-4e0f-b429-57f226a3f807.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/679f6895-e83e-4ca6-b637-4ee9b8575305.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e153bd1f-4de7-4e3f-9719-61096aaa3288.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\/46ebba8d-68e2-4c1a-8180-7bcecc850b2a.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/XKl4ZzWy7mQ\"><source src=\"https:\/\/youtu.be\/XKl4ZzWy7mQ\" 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\">\u591a\u667a\u80fd\u4f53\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u6846\u67b6<\/span><br \/>\n            <span class=\"tag\">\u7f16\u7801\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">Agent\u7f16\u6392<\/span><br \/>\n            <span class=\"tag\">\u5e76\u884c\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">CLI<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u9a8c\u8bc1\u95e8\u7981<\/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>\u7528\u6237\u8ba4\u53ef\u5355\u4e00\u4ed3\u5e93\u5951\u7ea6\u66ff\u4ee3\u6563\u843d\u914d\u7f6e\u7684\u8bbe\u8ba1\uff0c\u80fd\u6709\u6548\u89e3\u51b3\u591aAgent\u914d\u7f6e\u6f02\u79fb\u95ee\u9898\u3002\u6838\u5fc3\u7591\u95ee\u805a\u7126\u4e8ehar init\u751f\u6210\u7684\u5951\u7ea6\u6a21\u677f\u7684\u5b9a\u5236\u7a0b\u5ea6\uff1b\u5f00\u53d1\u8005\u56de\u5e94\u79f0\u6a21\u677f\u6309\u4ed3\u5e93\u7c7b\u578b\uff08web\/cli\/mobile\uff09\u63d0\u4f9b\u5b8c\u6574\u793a\u4f8b\u4e14\u5b8c\u5168\u53ef\u81ea\u5b9a\u4e49\uff0c\u6240\u6709\u6743\u5f52\u56e2\u961f\uff0c\u5e76\u900f\u9732\u5c06\u63a8\u51fahar doctor\u547d\u4ee4\u68c0\u6d4b\u67b6\u6784\u53d8\u66f4\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                HAR\u5207\u5165\u7684\u75db\u70b9\u771f\u5b9e\u4e14\u81f4\u547d\uff1a\u5355Agent\u6f14\u793a\u7684\u201c\u795e\u8bdd\u201d\u4e0e\u591aAgent\u5e76\u884c\u65f6\u7684\u201c\u6df7\u4e71\u201d\u4e4b\u95f4\u5b58\u5728\u5de8\u5927\u9e3f\u6c9f\uff0c\u800c\u73b0\u6709\u5de5\u5177\u94fe\uff08Claude Code\u3001Cursor\u7b49\uff09\u5bf9\u6b64\u51e0\u4e4e\u65e0\u89e3\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5c06\u201c\u73af\u5883\u542f\u52a8\u4e0e\u9a8c\u8bc1\u201d\u8fd9\u4e00\u975e\u786e\u5b9a\u6027\u3001\u9690\u6027\u7684\u77e5\u8bc6\uff0c\u663e\u6027\u5316\u4e3a\u4ed3\u5e93\u5185\u4e00\u4efd\u673a\u5668\u53ef\u8bfb\u3001Agent\u53ef\u6267\u884c\u7684\u201c\u5951\u7ea6\u201d\uff0c\u5e76\u7528git worktree+\u72ec\u7acb\u7aef\u53e3\/\u6570\u636e\u5e93\u5b9e\u73b0\u4e86\u5f3a\u9694\u79bb\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5728\u4e3aAgent\u7f16\u7a0b\u5efa\u7acb\u201c\u5de5\u4e1a\u6807\u51c6\u201d\u4e2d\u7684\u8d28\u68c0\u73af\u8282\uff0c\u76f4\u51fb\u201c\u5982\u4f55\u4fe1\u4efb\u673a\u5668\u4ea7\u51fa\u201d\u7684\u7ec8\u6781\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6307\u51fa\uff0cHAR\u7684\u6210\u529f\u5e76\u975e\u53d6\u51b3\u4e8e\u6280\u672f\u5b9e\u73b0\uff0c\u800c\u5728\u4e8e\u751f\u6001\u4f4d\u4e89\u593a\u3002\u5176\u201cAgent\u65e0\u5173\u201d\u5b9a\u4f4d\u806a\u660e\uff0c\u4f46\u9762\u4e34\u53cc\u91cd\u6311\u6218\uff1a\u4e00\u662f\u201c\u5951\u7ea6\u201d\u672c\u8eab\u9700\u8981\u968f\u4e3b\u6d41\u6846\u67b6\u6f14\u8fdb\u6301\u7eed\u7ef4\u62a4\uff0c\u82e5\u672a\u6765Claude Code\u6216Cursor\u539f\u751f\u5185\u7f6e\u6b64\u80fd\u529b\uff0cHAR\u6050\u88ab\u8fb9\u7f18\u5316\uff1b\u4e8c\u662f\u5176\u9a8c\u8bc1\u903b\u8f91\u4f9d\u8d56\u9879\u76ee\u81ea\u8eab\u7684\u6d4b\u8bd5\u4f53\u7cfb\uff0c\u82e5\u9879\u76ee\u6d4b\u8bd5\u8106\u5f31\u6216\u7f3a\u5931\uff0cHAR\u7684\u201c\u786e\u5b9a\u6027\u201d\u4fbf\u65e0\u4ece\u8c08\u8d77\uff0c\u53cd\u800c\u53ef\u80fd\u6210\u4e3a\u6d41\u7a0b\u8d1f\u62c5\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u56e2\u961f\u5bf9\u53ef\u5b9a\u5236\u6027\u548c\u6240\u6709\u6743\u601d\u8003\u5230\u4f4d\uff0c\u4f46\u201char doctor\u201d\u8fd9\u7c7b\u667a\u80fd\u7ef4\u62a4\u529f\u80fd\u624d\u662f\u786e\u4fdd\u6301\u4e45\u751f\u547d\u529b\u7684\u5173\u952e\u2014\u2014\u5426\u5219\u5951\u7ea6\u53c8\u4f1a\u6210\u4e3a\u65b0\u7684\u201c\u6f02\u79fb\u6e90\u201d\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u9762\u5411\u201c\u8f6f\u4ef6\u5de5\u5382\u201d\u800c\u975e\u201c\u4e2a\u4f53\u5f00\u53d1\u8005\u201d\u7684\u524d\u77bb\u6027\u5de5\u5177\uff0c\u4ef7\u503c\u5728\u5927\u578b\u4ee3\u7801\u5e93\u548c\u4e25\u8083\u56e2\u961f\u4e2d\u624d\u80fd\u5145\u5206\u91ca\u653e\u3002\u82e5\u80fd\u5c06\u201c\u9a8c\u8bc1\u5373\u8bc1\u636e\u201d\u7684\u7406\u5ff5\u63a8\u5411\u66f4\u901a\u7528\u7684CI\/CD\u6807\u51c6\uff0c\u6f5c\u529b\u5de8\u5927\uff0c\u5426\u5219\u5bb9\u6613\u6ca6\u4e3a\u5c0f\u4f17\u6280\u672f\u7231\u597d\u8005\u7684\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\">HAR<\/span>\n                <\/div>\n<div class=\"comment-content\">HAR is an open-source, agent-agnostic framework for building multi-agent coding workflows. Run a fleet of coding agents in parallel on any repository, with deterministic validation gates, verifiable proof, and full observability across every agent, all extensible and customizable to your own workflow and tooling.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH! <\/p>\n<p>I\u2019m Antoine, and over the past year, as I tried to scale our agentic coding workflows and software factories at my company, I kept hitting the same set of problems. So I built HAR to solve them, and I&#8217;m open sourcing it today.<\/p>\n<p>Getting a single coding agent to work in a repo is easy. Scaling to a real multi-agent workflow, where several runs at once and you still trust the output, is where it breaks down. A few things go wrong at the same time:<\/p>\n<ol>\n<li>\n<p><strong>No standard way to run or verify a repo<\/strong>. That knowledge is scattered across a README, a CLAUDE.md, editor rules, and CI config, all drifting out of sync with each other and the actual code.<\/p>\n<\/li>\n<li>\n<p><strong>Agents on one repo collide<\/strong>. Shared dev server, shared database, shared ports, conflicting git state.<\/p>\n<\/li>\n<li>\n<p><strong>Trusting a change means re-verifying it yoursel<\/strong>f. Which defeats the point of running a fleet.<\/p>\n<\/li>\n<li>\n<p><strong>Vendor sandboxes lock you in<\/strong>. If the setup lives in someone&#8217;s hosted dashboard, switching agents later means rebuilding the whole thing.<\/p>\n<\/li>\n<\/ol>\n<p><strong>What HAR does<\/strong><\/p>\n<p>HAR is a CLI and an MCP server. It works with Claude Code, Cursor, Codex, or any MCP agent, and it closes each of those gaps:<\/p>\n<ol>\n<li>\n<p><strong>Isolation<\/strong>. Each agent gets its own git worktree, branch, ports, and database. Nothing is shared with the main checkout or another agent&#8217;s slot, so a fleet runs in parallel without colliding on a dev server, DB, or ports.<\/p>\n<\/li>\n<li>\n<p><strong>Deterministic validation gates<\/strong>. HAR runs your project&#8217;s real checks through a fixed pipeline, same result every time. The result is bound to the exact code that passed and enforced at commit time, so an unverified tree cannot land.<\/p>\n<\/li>\n<li>\n<p><strong>Verifiable proof<\/strong>. Every run leaves logs, artifacts, and a validated tree hash tied to the exact code checked. A reviewer inspects the evidence instead of trusting the agent&#8217;s self-report.<\/p>\n<\/li>\n<li>\n<p><strong>Full observability<\/strong>. Mission Control is a local dashboard showing every repo, worktree, run, and validation in one place, so you can watch a whole fleet as it works.<\/p>\n<\/li>\n<\/ol>\n<p>All of this lives in one contract committed to your repo, which every agent reads the same way. It replaces the usual scatter of a README, a CLAUDE.md, editor rules, and CI config that drift apart. You start from a profile that matches your stack, your agent adapts it to the real repo, and you extend verification with plugins (like Playwright) or with any command you already run.<\/p>\n<p>Give it a try and let me know what you think \ud83d\ude42<\/p>\n<\/p>\n<p>I&#8217;d genuinely love feedback, especially from anyone already trying to run multiple agents in parallel.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the single in-repo contract replacing scattered CLAUDE.md \/ README \/ editor rules \/ CI config is a genuinely sharp design call. config drift across those files is what makes multi-agent setups brittle, every agent reading a slightly stale version of the truth. curious how opinionated the contract schema is on init: does `har init` scaffold a full contract template, or does it leave most of the structure to the team to define?<\/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\/@rnagulapalle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rnagulapalle<\/a>&nbsp;Yea har init` scaffold a full contract template, but you can customize each stage to your own workflow everything is configurable and extensible<\/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\/@rnagulapalle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rnagulapalle<\/a> Thanks for the feedback, we made sure that the contract is as little opinionated as possible, what we offer on har init, is a template per type of repository contract (web, cli, mobile, ect.). So for example on a web app, we will provide in the template an example of how to start a full web application stack (backend, frontend, postgres, redis, minio, ect..), we found that providing this kind of example allow the coding agent to correctly adapt by searching for this type of information in the targeted repository, because it&#8217;s able to do a matching more easily. <br \/>And as <a href=\"https:\/\/www.producthunt.com\/@karim_traiaia\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"karim_traiaia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@karim_traiaia<\/a> said, the template is fully customizable, and similar to shadcn (if you know) we create the file in your repository so you own it, and you customized it has you want. The teams own and know how to start the app, so you can even guide a bit your coding agent to adapt it, as I&#8217;m trying to do in the demo video here:<\/p>\n<p><a href=\"https:\/\/youtu.be\/XKl4ZzWy7mQ?si=fVofvkBUT583kI7T\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/youtu.be\/XKl4ZzWy7mQ?si=fVofvkBUT583kI7T<\/a><\/p>\n<\/p>\n<p>On the drift part we have only `har env maintain`, it checks the drift with the initial har template configuration. The next step will probably to have a har doctor command to prompt your coding agent to seek for any recent changes of the architecture (or any other type of structural changes) in your codebase that could break the environment startup flow. We know those changes are a bit rarer so we focus on core feature right now.<\/p>\n<\/p>\n<p>Cheers<\/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>Super interesting concept, not an obvious solution to that problem. Will need to give it a bash! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/LTBZ3FL47DP5JK\" class=\"app-title\">The new Firecrawl MCP<\/a><\/p>\n<div class=\"one-liner\">Agent-ready web context for any MCP client.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">101<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Firecrawl MCP \u4e3a\u4efb\u4f55 MCP \u5ba2\u6237\u7aef\u63d0\u4f9b\u641c\u7d22\u3001\u6293\u53d6\u548c\u4ea4\u4e92\u5f0f\u7f51\u9875\u6570\u636e\u83b7\u53d6\u80fd\u529b\uff0c\u901a\u8fc7\u964d\u4f4e 50% \u7684\u4e0a\u4e0b\u6587\u5360\u7528\u548c\u514d\u5bc6\u94a5\/OAuth \u5feb\u901f\u63a5\u5165\uff0c\u89e3\u51b3\u4e86 AI Agent \u5728\u83b7\u53d6\u5b9e\u65f6\u7f51\u9875\u6570\u636e\u65f6\u7684\u9ad8\u4ee4\u724c\u6d88\u8017\u4e0e\u914d\u7f6e\u7e41\u7410\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\/05ad203b-9a6d-40ac-94fe-d76b2f6c5e83.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\/71d13843-c730-4522-99f5-a2df1c8b76b7.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/iSIpslYIM2Q\"><source src=\"https:\/\/youtu.be\/iSIpslYIM2Q\" 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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Web\u6570\u636e\u6293\u53d6<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">AI Agent\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u538b\u7f29<\/span><br \/>\n            <span class=\"tag\">OAuth\u767b\u5f55<\/span><br \/>\n            <span class=\"tag\">\u514d\u5bc6\u94a5\u63a5\u5165<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u641c\u7d22API<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u7ad9\u70b9\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u4f18\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u964d\u4f4e\u4ee4\u724c\u6d88\u8017\u4e0e\u7b80\u5316\u63a5\u5165\u7684\u6539\u8fdb\uff0c\u8ba4\u4e3a\u201c\u5bf9\u5f00\u53d1\u8005\u548cAI\u4ee3\u7406\u53cc\u8d62\u201d\u3002\u5efa\u8bae\u6027\u8bc4\u8bba\u8f83\u5c11\uff0c\u4e00\u6761\u63d0\u53ca\u53ef\u5728AI\u76ee\u5f55\uff08\u5982iSEOAI\uff09\u63a8\u5e7f\u4ee5\u589e\u52a0\u66dd\u5149\uff0c\u53e6\u4e00\u6761\u8d5e\u8d4f\u5176\u9ad8\u9891\u8fed\u4ee3\uff083\u4e2a\u67085\u6b21\u53d1\u5e03\uff09\uff0c\u6574\u4f53\u53cd\u9988\u79ef\u6781\uff0c\u65e0\u5b9e\u8d28\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                \u8fd9\u6b21\u66f4\u65b0\u672c\u8d28\u662f\u4e00\u6b21\u201c\u6210\u672c\u4e0e\u6469\u64e6\u201d\u7684\u53cc\u91cd\u524a\u51cf\uff0c\u800c\u975e\u529f\u80fd\u521b\u65b0\u3002\u5728MCP\u8d5b\u9053\u62e5\u6324\u3001\u5404\u5bb6\u5de5\u5177\u80fd\u529b\u8d8b\u540c\u7684\u80cc\u666f\u4e0b\uff0cFirecrawl\u806a\u660e\u5730\u628a\u7ade\u4e89\u7126\u70b9\u4ece\u201c\u80fd\u6293\u4ec0\u4e48\u201d\u8f6c\u5411\u201c\u6293\u53d6\u6709\u591a\u7701\u201d\u300250%\u7684\u4e0a\u4e0b\u6587\u538b\u7f29\u76f4\u51fbAgent\u5e94\u7528\u6700\u654f\u611f\u7684Token\u8d26\u5355\u2014\u2014\u8fd9\u662f\u6240\u6709\u5f00\u53d1\u8005\u90fd\u4f1a\u7b97\u7684\u8d26\uff0c\u6bd4\u4efb\u4f55\u82b1\u54e8\u7279\u6027\u90fd\u66f4\u80fd\u64ac\u52a8\u91c7\u7528\u7387\u3002OAuth\u4e0e\u514d\u5bc6\u94a5\u7248\u672c\u5219\u662f\u7cbe\u51c6\u7684\u6f0f\u6597\u8bbe\u8ba1\uff1a\u5bf9\u4eba\u7c7b\u7528\u6237\u964d\u4f4e\u4e0a\u624b\u95e8\u69db\uff0c\u5bf9Agent\u63d0\u4f9b\u96f6\u6210\u672c\u8bd5\u7528\uff0c\u5f85\u89c4\u6a21\u5316\u540e\u518d\u53d8\u73b0\uff0c\u5546\u4e1a\u5316\u8def\u5f84\u6e05\u6670\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u8b66\u60d5\uff1a\u538b\u7f29\u4e0a\u4e0b\u6587\u53ef\u80fd\u5bfc\u81f4\u6570\u636e\u5b8c\u6574\u6027\u53d7\u635f\uff0c\u5c24\u5176\u590d\u6742\u52a8\u6001\u7ad9\u70b9\u7684\u62bd\u53d6\u8d28\u91cf\u662f\u5426\u7f29\u6c34\uff0c\u8bc4\u8bba\u4e2d\u65e0\u4eba\u9a8c\u8bc1\u3002\u4e14\u201ckeyless\u201d\u672c\u8d28\u662f\u6d41\u91cf\u83b7\u53d6\u94a9\u5b50\uff0c\u4e00\u65e6\u4ee3\u7406\u4ea7\u751f\u7a33\u5b9a\u8c03\u7528\uff0c\u540e\u7eed\u5f3a\u5236\u5347\u7ea7\u7684\u8ba1\u8d39\u6a21\u5f0f\u53ef\u80fd\u5f15\u53d1\u53cd\u5f39\u3002\u53e6\u5916\uff0c\u4ea7\u54c1\u9ad8\u5ea6\u4f9d\u8d56MCP\u751f\u6001\u6807\u51c6\uff0c\u81ea\u8eab\u7f3a\u4e4f\u6570\u636e\u6e90\u58c1\u5792\uff0c\u9762\u5bf9Browser-use\u3001Perplexity\u7b49\u76f4\u63a5\u7ade\u54c1\u65f6\uff0c\u5149\u9760\u7701Token\u96be\u4ee5\u5f62\u6210\u957f\u671f\u62a4\u57ce\u6cb3\u3002\u66f4\u9690\u853d\u7684\u98ce\u9669\u662f\uff0cOAuth\u4fbf\u5229\u6027\u4f1a\u8bf1\u4f7f\u7528\u6237\u5c06\u654f\u611f\u6d4f\u89c8\u6743\u9650\u6388\u4e88\u7b2c\u4e09\u65b9\uff0c\u8fd9\u5728\u4f01\u4e1a\u7ea7\u573a\u666f\u4e2d\u53ef\u80fd\u89e6\u53d1\u5b89\u5168\u5408\u89c4\u987e\u8651\u3002\u5f53\u524d101\u7968\u7684\u53d1\u5e03\u70ed\u5ea6\u5c1a\u53ef\uff0c\u4f46MCP\u5e02\u573a\u6dd8\u6c70\u5feb\uff0c\u82e5\u4e0d\u80fd\u5feb\u901f\u5411\u201c\u6570\u636e\u89e3\u6790\u667a\u80fd\u201d\u6216\u201c\u5782\u76f4\u573a\u666f\u5de5\u4f5c\u6d41\u201d\u5ef6\u4f38\uff0c\u4ecd\u4f1a\u88ab\u66f4\u5ec9\u4ef7\u7684\u901a\u7528\u65b9\u6848\u66ff\u4ee3\u3002\u5efa\u8bae\u56e2\u961f\u5c06\u6548\u7387\u4f18\u52bf\u8f6c\u5316\u4e3a\u6570\u636e\u8d28\u91cf\u7684\u53ef\u91cf\u5316\u62a5\u544a\uff0c\u800c\u975e\u505c\u7559\u5728\u201c\u7701\u4e00\u534a\u201d\u7684\u8425\u9500\u8bdd\u672f\u4e0a\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\">The new Firecrawl MCP<\/span>\n                <\/div>\n<div class=\"comment-content\">Introducing the new Firecrawl MCP. It now uses 50% less context on every \/search, \/scrape, and \/interact call. Plus, instant onboarding with OAuth for humans and a keyless version for agents. Get agent-ready web context in any MCP client today!<\/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 Eric, Caleb, and Nick from Firecrawl here!<\/p>\n<p>Today we&#8217;re launching the new Firecrawl MCP. It brings everything Firecrawl can do to any MCP client, from searching and scraping the web to interacting with dynamic sites to get hard-to-reach data.<\/p>\n<p>We upgraded it in three big ways:<br \/>\n&#8211; 50% less context per call. Every call now uses half the tokens it did before, leaving more room for your agent to think.<br \/>\n&#8211; Instant onboarding for humans. Connect with OAuth in seconds, no API key required.<br \/>\n&#8211; A keyless version for agents. Your agent can start using Firecrawl for free. Only sign up when you need to scale!<\/p>\n<p>We\u2019d love to hear your feedback!<\/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\/@ericciarla\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ericciarla<\/a>&nbsp;Great update.<\/p>\n<p>Reducing token usage while making onboarding easier is a win for both developers and AI agents. The keyless access is a particularly nice touch for getting started quickly.<\/p>\n<p>Congrats on the launch! You might also consider listing Firecrawl MCP on AI directories like iSEOAI to help more AI builders discover 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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ericciarla\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ericciarla<\/a>&nbsp;S\/O for this new launch! 5 launches in 3 months is impressive. Keep it up, keep launching \ud83d\udc4f\ud83d\udc4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/OSZA7PMGFRWY7S\" class=\"app-title\">Troopr AI Scrum Master<\/a><\/p>\n<div class=\"one-liner\">Writes your standup from real work. Remembers your team.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">101<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Troopr AI Scrum Master \u662f\u4e00\u6b3e\u81ea\u52a8\u751f\u6210\u7ad9\u4f1a\u62a5\u544a\u7684AI\u5de5\u5177\uff0c\u5b83\u901a\u8fc7\u8bfb\u53d6Jira\u3001GitHub\u548cSlack\u4e2d\u7684\u771f\u5b9e\u5de5\u4f5c\u52a8\u6001\uff0c\u66ff\u56e2\u961f\u6210\u5458\u64b0\u5199\u6bcf\u65e5\u66f4\u65b0\uff0c\u5e76\u6807\u8bb0\u4e0e\u5b9e\u9645\u72b6\u6001\u4e0d\u7b26\u7684\u4fe1\u606f\uff0c\u89e3\u51b3\u201c\u7ad9\u4f1a\u53d8\u6210\u5f62\u5f0f\u4e3b\u4e49\u6c47\u62a5\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\/ac8c2b0e-3137-448e-aa18-397b530ccea5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9dd93bcc-152d-48a6-aaa7-e02146487e90.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/02efc21e-8451-479d-a73d-b9365c0b12ad.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5d5eaa9a-e226-4448-98bb-80ac6edb4e49.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9541bc0a-feeb-4f29-80d3-546f95539b75.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1cfa21ac-cf1e-481c-85d4-2ebffcf69f74.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ea0a18c4-d8e6-49ef-a07d-9482c13c0ae7.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\/6741bc27-5b2c-471d-baaa-e25f4e7ad5ec.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Auu90SGjOXU\"><source src=\"https:\/\/youtu.be\/Auu90SGjOXU\" 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\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7ad9\u4f1a\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u654f\u6377\u5f00\u53d1\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5de5\u7a0b\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u62a5\u544a<\/span><br \/>\n            <span class=\"tag\">\u9879\u76ee\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">Jira\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">GitHub\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">Scrum Master<\/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\u7528\u6237\u8ba4\u53ef\u201c\u4ece\u771f\u5b9e\u6570\u636e\u751f\u6210\u62a5\u544a\u201d\u800c\u975e\u4f9d\u8d56\u81ea\u6211\u6c47\u62a5\u7684\u7406\u5ff5\uff0c\u8d5e\u8d4f\u53ef\u8ffd\u6eaf\u3001\u53ef\u7ea0\u6b63\u7684\u56e2\u961f\u8bb0\u5fc6\u529f\u80fd\u3002\u4e3b\u8981\u7591\u95ee\u805a\u7126\u4e8e\uff1a\u662f\u5426\u771f\u6b63\u4ece\u63d0\u4ea4\u548c\u5de5\u5355\u62c9\u53d6\u6570\u636e\u800c\u975e\u4f9d\u8d56\u81ea\u8ff0\u3001\u62a5\u544a\u662f\u5426\u63a5\u8fd1\u5b9e\u65f6\u751f\u6210\uff0c\u4ee5\u53ca\u5982\u4f55\u5728\u5927\u578b\u56e2\u961f\u4e2d\u907f\u514d\u566a\u97f3\u3002\u6709\u8bc4\u8bba\u5efa\u8bae\u589e\u52a0AI\u76ee\u5f55\u6536\u5f55\u4ee5\u6269\u5927\u89e6\u8fbe\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                Troopr\u7684\u5207\u5165\u70b9\u7cbe\u51c6\u4e14\u8001\u8fa3\uff1a\u5b83\u6ca1\u6709\u518d\u9020\u4e00\u4e2a\u201c\u66f4\u806a\u660e\u7684\u804a\u5929\u673a\u5668\u4eba\u201d\uff0c\u800c\u662f\u76f4\u63a5\u5e9f\u9664\u4e86\u201c\u8ba9\u4eba\u7c7b\u6c47\u62a5\u201d\u8fd9\u4e00\u52a8\u4f5c\u672c\u8eab\u3002\u5728AI Agent\u6210\u4e3a\u56e2\u961f\u65b0\u201c\u8d21\u732e\u8005\u201d\u7684\u5f53\u4e0b\uff0c\u534f\u8c03\u6210\u672c\u6b63\u4ee5\u8d85\u7ebf\u6027\u901f\u5ea6\u541e\u566c\u4ea7\u51fa\u6548\u7387\uff0cTroopr\u672c\u8d28\u4e0a\u662f\u5728\u66ff\u5de5\u7a0b\u4e3b\u7ba1\u627f\u62c5\u201c\u4eba\u7c7b\u4e2d\u95f4\u4ef6\u201d\u7684\u82e6\u6d3b\u2014\u2014\u5b83\u4e0d\u95ee\u4f60\u5e72\u4e86\u4ec0\u4e48\uff0c\u5b83\u53bb\u770b\u4f60\u5e72\u4e86\u4ec0\u4e48\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6700\u6838\u5fc3\u7684\u62a4\u57ce\u6cb3\u5e76\u975eNLP\u80fd\u529b\uff0c\u800c\u662f\u201c\u53ef\u7ea0\u504f\u7684\u56e2\u961f\u8bb0\u5fc6\u201d\u3002\u5927\u591a\u6570AI\u5de5\u5177\u505c\u7559\u5728\u201c\u4e0a\u4e0b\u6587\u7a97\u53e3\u201d\uff0cTroopr\u5219\u5728\u6784\u5efa\u4e00\u4e2a\u6301\u7eed\u6f14\u5316\u7684\u3001\u5173\u4e8e\u56e2\u961f\u8fd0\u4f5c\u65b9\u5f0f\u7684\u663e\u5f0f\u4e8b\u5b9e\u5e93\u3002\u6bcf\u4e2a\u4e8b\u5b9e\u90fd\u53ef\u6eaf\u6e90\u3001\u53ef\u7ea0\u6b63\u3001\u53ef\u5220\u9664\uff0c\u8fd9\u76f4\u63a5\u56de\u5e94\u4e86\u4f01\u4e1a\u5bf9AI\u201c\u9ed1\u7bb1\u201d\u7684\u4fe1\u4efb\u7126\u8651\uff0c\u4e5f\u628a\u201cAI\u5e7b\u89c9\u201d\u8f6c\u5316\u4e3a\u4e00\u79cd\u53ef\u63a7\u7684\u3001\u53ef\u6821\u51c6\u7684\u673a\u5236\u3002\u8fd9\u79cd\u8bbe\u8ba1\u6bd4\u5355\u7eaf\u8ffd\u6c42\u62a5\u544a\u51c6\u786e\u7387\u9ad8\u660e\u5f97\u591a\uff0c\u56e0\u4e3a\u5b83\u628a\u201cTruth\u201d\u7684\u5b9a\u4e49\u6743\u4fdd\u7559\u7ed9\u4e86\u4eba\u7c7b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u98ce\u9669\u540c\u6837\u660e\u663e\u3002\u9996\u5148\uff0c\u5b83\u9ad8\u5ea6\u4f9d\u8d56Jira\u548cGitHub\u7684\u6570\u636e\u8d28\u91cf\u2014\u2014\u5982\u679c\u5de5\u5355\u672c\u8eab\u5c31\u662f\u810f\u7684\uff08\u4e8b\u5b9e\u4e0a\u7edd\u5927\u591a\u6570\u516c\u53f8\u7684\u5de5\u5355\u90fd\u662f\u810f\u7684\uff09\uff0cTroopr\u7684\u201c\u51c6\u786e\u201d\u5c31\u662f\u7cbe\u5fc3\u4fee\u9970\u7684\u5783\u573e\u3002\u5176\u6b21\uff0c\u5176\u4ef7\u503c\u4e3b\u5f20\u5efa\u7acb\u5728\u201c\u5de5\u5177\u662f\u4e8b\u5b9e\u6765\u6e90\u201d\u7684\u5047\u8bbe\u4e0a\uff0c\u4f46\u5927\u91cf\u9690\u6027\u534f\u8c03\u53d1\u751f\u5728\u8bed\u97f3\u3001\u767d\u677f\u548c\u7ebf\u4e0b\u5bf9\u8bdd\u4e2d\uff0c\u65e0\u6cd5\u88ab\u5de5\u5177\u6355\u6349\uff0c\u8fd9\u53ef\u80fd\u5bfc\u81f4\u62a5\u544a\u201c\u7cbe\u786e\u5730\u8bef\u5bfc\u201d\u3002\u6700\u540e\uff0c\u514d\u8d3910\u5e2d\u7684Launch Offer\u786e\u5b9e\u964d\u4f4e\u4e86\u8bd5\u7528\u95e8\u69db\uff0c\u4f46\u5982\u4f55\u4ece\u201c\u5de5\u7a0b\u5e08\u7684\u4fbf\u5229\u8d34\u201d\u5347\u7ea7\u4e3a\u201c\u7ba1\u7406\u8005\u7684\u51b3\u7b56\u4eea\u8868\u76d8\u201d\uff0c\u624d\u662f\u51b3\u5b9a\u5b83\u80fd\u5426\u4ece101\u7968\u7684Launch\u8d70\u5411Netflix\u7ea7\u7eed\u8d39\u7684\u5173\u952e\u3002\u5426\u5219\uff0c\u5b83\u5f88\u5bb9\u6613\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u201c\u770b\u8d77\u6765\u5f88\u806a\u660e\u3001\u7528\u4e24\u5468\u5c31\u5fd8\u201d\u7684AI\u73a9\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Troopr AI Scrum Master<\/span>\n                <\/div>\n<div class=\"comment-content\">Troopr joins your standup, writes each person&#8217;s update from real Jira, GitHub, and Slack activity, and flags what doesn&#8217;t add up. It builds a memory of how your team works, so every standup gets more accurate.<\/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, Rajesh here, founder of Troopr.<\/p>\n<p>I&#8217;ve spent years watching engineering leads act as human middleware: chasing updates in Slack, reconciling Jira against GitHub, running a standup that exists mostly to find out what&#8217;s going on.<\/p>\n<p>And the problem is getting worse, not better. AI agents are joining teams as contributors and multiplying output, but every contributor adds coordination cost. The bottleneck is shifting from producing work to knowing what&#8217;s happening.<\/p>\n<p>We&#8217;ve been building standup tools longer than we&#8217;d like to admit, and for years we watched the same loop: the bot pings at 9am, everyone alt-tabs away, and at 4pm someone types &#8220;same as yesterday.&#8221; Eventually we admitted the uncomfortable part. The bot was never the problem. The form was. A standup bot is just a meeting that follows you into Slack.<\/p>\n<p>So we built the AI Scrum Master to know the real state of the team.<\/p>\n<p>It doesn&#8217;t ask. It reads what your team actually did: the PR that merged last night, the ticket that hasn&#8217;t moved in four days even though its owner said it was done, the thread where someone mentioned they&#8217;re blocked on staging access. From that, it writes each person&#8217;s standup. You read it, fix a line if you want, done.<\/p>\n<p>If your team kept the live standup, Troopr joins your Google Meet, listens, and delivers a report cross-checked against your live Jira and GitHub state. Every notetaker we tried gave us a context-free summary of one call. Troopr&#8217;s report knows what the team said last week and what the tools show right now, so it catches what doesn&#8217;t add up.<\/p>\n<\/p>\n<p>The part I&#8217;m proudest of is the memory. Troopr learns how your specific team works, who owns what, what &#8220;done&#8221; means for you, and every standup gets more accurate because of it. Everything it retains is inspectable: you can see, correct, and delete exactly what it knows about your team. No training on your data, no raw message storage.<\/p>\n<p>We&#8217;re not new at this. Troopr has served 600+ engineering teams including Netflix and Snowflake, and today it becomes AI-native.<\/p>\n<p>It&#8217;s free for 10 seats as a launch offer, everything included, so you can point it at tomorrow&#8217;s standup and judge the report yourself. I&#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>16<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raj42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raj42<\/a>&nbsp;Hey. The &#8220;remembers your team&#8221; line is what caught me. We killed live standups a while back but the async written ones still turned into status theater. Does it pull from actual commits and tickets, or does it still lean on people self-reporting? The failure mode I keep hitting is a summary that looks productive while nothing actually got unblocked.<\/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\/@raj42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raj42<\/a>&nbsp;Congrats on the launch Raj. My immediate thought on this was fantastic but is this (write\/review against backlog &amp; updates then decision\/flag) real\/near real time? Good luck for today!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@raj42\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raj42<\/a>&nbsp;This is a smart evolution of the standup workflow.<\/p>\n<p>Replacing status updates with real context from Jira, GitHub, and Slack feels much more useful than asking everyone to repeat what they already did. The team memory feature is a nice touch too.<\/p>\n<p>Congrats on the launch! You might also consider listing Troopr on AI directories like iSEOAI to help more engineering teams discover it. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations on the launch! Having an AI that actually understands team patterns and flags discrepancies in updates is a huge step up from standard standup bots.<\/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\/@vickyonit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vickyonit<\/a>&nbsp;Thanks Vignesh. The discrepancy bit is my favourite. Ticket says Done, PR is still open, and Troopr just points it out instead of tidying it up.<\/p>\n<p>The patterns part you don&#8217;t configure. It works out who owns what on its own, and gets better each 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Siva here \ud83d\udc4b I&#8217;m on the engineering team at Troopr, and the best part of building this has been using it with my own team every day.<\/p>\n<p>We point it at our daily standup, and every morning it writes each person&#8217;s update from what they actually did \u2014 the PR opened late last night, the ticket that moved, the discussion where someone got unblocked. Most days I read my update and think, <em>&#8220;Yep, that&#8217;s exactly what I did.&#8221;<\/em> Nobody has to type a status update anymore.<\/p>\n<p>My favorite part is the validation. If a ticket is marked <strong>Done<\/strong> but the PR is still open, it catches it. If someone reports the same work for days without any activity in Jira or GitHub, it flags that too. And when there&#8217;s a real blocker, it doesn&#8217;t just say <em>&#8220;Blocked&#8221;<\/em> \u2014 it includes the context and possible next steps. It has no problem calling me out either \ud83d\ude05<\/p>\n<p>For teams that still have live standups, it handles both sides:<\/p>\n<ul>\n<li>\n<p>A pre-read arrives before the meeting, so nobody spends 10 minutes reading updates.<\/p>\n<\/li>\n<li>\n<p>During the call, it listens, captures decisions, action items, and owners, then publishes a recap that reflects everything that changed during the discussion.<\/p>\n<\/li>\n<\/ul>\n<p>One thing that surprised me is how much it improves over time. It has learned our projects, who owns which services, and even what <em>&#8220;blocked&#8221;<\/em> means for our team\u2014without us configuring any of that. The reports today are noticeably better than they were in week one.<\/p>\n<p>We&#8217;ve completely stopped preparing for standups. We just show up, skim the report, and spend the meeting discussing the two or three things that actually need attention.<\/p>\n<p>If you run an engineering team, try it with just one team for a week. That&#8217;s the fastest way to understand the value.<\/p>\n<p>Happy to answer any questions about how it works under the hood! \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the shift from collecting stand ups to actually understanding what&#8217;s happening across the team. Excited to see where this goes. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>7<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been following Troopr for a while, mostly for the Slack and Jira side of it. Good to see the AI layer land on top of something that already worked rather than showing up as a brand new tool with no track record behind it. Congrats to the team.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Mani here from the Troopr GTM team. <\/p>\n<p>Every conversation I&#8217;ve had with an eng lead this year lands in the same place: output is up, visibility is down. Agents ship more, and nobody has a reliable read on what&#8217;s actually happening. <\/p>\n<p>That&#8217;s the gap we built for, and it&#8217;s why the memory matters more than the meeting. <\/p>\n<p>Curious whether that matches what people here are seeing, or whether it&#8217;s just the teams that end up talking to us.<\/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 like that that the retained memory is inspectable instead of being a black box. Congrats team!<\/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\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Thanks Henry. That was close to a non-negotiable for us. If something is going to hold a view of how your team works, you should be able to open it and argue with it.<\/p>\n<p>So every fact shows where it came from, whether Troopr inferred it or a human told it. Corrections always beat inference. Each person also gets a private view of what Troopr knows about them that only they can see.<\/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>Soumya here from the Troopr Product team \ud83d\udc4b<\/p>\n<p>The hardest part of building this honestly wasn&#8217;t the standups. It was getting the AI to remember the right things without drowning everyone in noise.<\/p>\n<p>A team says a hundred things a day, and most of it is clutter. What took the longest was teaching it to hold onto the few that actually matter &#8211; the blocker from Tuesday, the call you made last sprint, that risk someone flagged once and everyone forgot about and resurface them right when they matter again.<\/p>\n<p>That&#8217;s what we wanted Troopr to do : remember what the team forgot, and give everyone a clear, honest picture of where things really stand so the whole team stays in sync as the work moves<\/p>\n<p>If you run a distributed or async team, I&#8217;d really love to know if this resonates. <\/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>Hi Product Hunt! \ud83d\udc4b I&#8217;m <strong>Garvit Bandil<\/strong>, Product Manager at Troopr.<\/p>\n<\/p>\n<p>Here&#8217;s the problem we kept running into: the true status of an engineering team is scattered across three places that rarely tell the same story. Jira says one thing, GitHub says another, and the real context is buried in Slack. Someone ends up piecing it all together manually, usually during a meeting that&#8217;s mostly about surfacing work that already happened.<\/p>\n<\/p>\n<p>That&#8217;s why we built <strong>Troopr<\/strong>.<\/p>\n<p>Troopr reads your team&#8217;s real activity across Jira, GitHub, and Slack, then handles the coordination work for you. It drafts each person&#8217;s standup including relevant code diffs, so meaningful work doesn&#8217;t get lost behind vague commit messages. It flags stalled reviews, unresolved blockers, and low-signal updates, and even checks in with quieter teammates before the report is posted.<\/p>\n<p>Most importantly, every insight links back to its source: a Jira ticket, pull request, commit, or Slack thread-so you can verify everything yourself.<\/p>\n<p>Few more things<\/p>\n<ul>\n<li>\n<p><strong>Humans stay in control.<\/strong> Troopr asks for approval in a DM before making any changes to Jira.<\/p>\n<\/li>\n<li>\n<p><strong>Free forever for up to 3 seats.<\/strong> No credit card required.<\/p>\n<\/li>\n<\/ul>\n<p>I&#8217;ll be here in the comments all day, and I&#8217;d genuinely love your feedback.<\/p>\n<p><strong>Where do you think Troopr would break on your team&#8217;s workflow? What would you want it to handle better?<\/strong><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/BTXIPPRX2OJAEF\" class=\"app-title\">Whop CLI<\/a><\/p>\n<div class=\"one-liner\">Run your entire business from the terminal<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">99<\/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                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/c20c1ea5-33fd-471a-9c72-3b4a8bc3003f.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/05LwF4iDiyc?si=ly0j4x6XSyk8wOJa\"><source src=\"https:\/\/youtu.be\/05LwF4iDiyc?si=ly0j4x6XSyk8wOJa\" 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\/fa515c6e-6257-441c-8321-3cf3992644d2.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\/879384ae-0105-4be2-aa25-35e64e5e7e94.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ee602a23-96cd-4422-929a-f87336ba748f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/41cb3900-8240-4373-bc2a-d728f0e0f607.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7ec8\u7aef\u5546\u4e1a\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u547d\u4ee4\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u64cd\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u7535\u5546SaaS<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u53d1\u5e03<\/span><br \/>\n            <span class=\"tag\">\u5e7f\u544a\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">API\u5c01\u88c5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e1a\u52a1\u6d41\u7a0b\u7f16\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>\u591a\u6570\u7528\u6237\u8ba4\u53ef\u201c\u5c06\u5546\u4e1a\u64cd\u4f5c\u53ef\u7f16\u7a0b\u5316\u201d\u7684\u7a81\u7834\u6027\uff0c\u7279\u522b\u662f\u5bf9\u201c\u65e5\u5fd7\u8bb0\u5f55\u201d\u4e0e\u201c\u5355\u6307\u4ee4\u94fe\u5f0f\u6267\u884c\u201d\u8868\u793a\u8d5e\u8d4f\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u591a\u6b65\u64cd\u4f5c\u65f6\u5982\u4f55\u4fdd\u8bc1\u6743\u9650\u8fb9\u754c\u4e0e\u5b89\u5168\u9632\u62a4\uff1f\u540c\u65f6\uff0c\u6709\u7528\u6237\u8c03\u4f83\u201c\u53d1\u5e03\u9875\u85cf\u5f69\u86cb\u201d\uff0c\u6697\u793a\u9700\u5173\u6ce8\u7ec6\u8282\u4f53\u9a8c\u3002\u6574\u4f53\u53cd\u9988\u79ef\u6781\uff0c\u4f46\u5b89\u5168\u673a\u5236\u662f\u6700\u5927\u5f85\u660e\u786e\u70b9\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                Whop CLI \u7684\u672c\u8d28\u4e0d\u662f\u201c\u7ec8\u7aef\u7248\u540e\u53f0\u201d\uff0c\u800c\u662f\u4e00\u6b21\u5bf9 SaaS \u4ea4\u4e92\u8303\u5f0f\u7684\u6fc0\u8fdb\u79c1\u6709\u5316\u2014\u2014\u5c06\u5e73\u53f0\u65e2\u6709 API \u5305\u88c5\u6210\u7edf\u4e00\u4e8c\u8fdb\u5236\uff0c\u5b9e\u9645\u662f\u5411\u201cAI \u4ee3\u7406\u5373\u7528\u6237\u201d\u7684\u5e95\u5c42\u8d8b\u52bf\u7f34\u68b0\u3002\u5176\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff1a\u4e0d\u5f3a\u8feb\u7528\u6237\u5b66\u4e60\u547d\u4ee4\uff0c\u800c\u662f\u628a CLI \u5f53\u4f5c AI \u7684\u201c\u624b\u548c\u773c\u201d\uff0c\u7528\u6237\u4ec5\u9700\u7528\u81ea\u7136\u8bed\u8a00\u4e0b\u8fbe\u610f\u56fe\uff0c\u8fd9\u6070\u597d\u51fb\u4e2d\u4e86\u5f53\u524d LLM \u843d\u5730\u4e2d\u6700\u7f3a\u7684\u201c\u53ef\u6267\u884c\u5de5\u5177\u5c42\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u51b7\u6c34\u7684\u662f\uff0c\u8fd9\u5e76\u975e\u4e07\u80fd\u89e3\u836f\u3002\u5176\u4e00\uff0c\u201c\u6574\u4e2a\u4e1a\u52a1\u53ef\u7f16\u7a0b\u201d\u610f\u5473\u7740\u6743\u9650\u7206\u70b8\u2014\u2014\u5f53 AI \u53ef\u4e32\u8054\u201c\u521b\u5efa\u4ea7\u54c1\u2192\u6263\u6b3e\u2192\u6295\u5e7f\u544a\u201d\u65f6\uff0c\u4e00\u4e2a\u63d0\u793a\u8bcd\u6ce8\u5165\u6216\u8d8a\u6743\u8c03\u7528\u5c31\u53ef\u80fd\u9020\u6210\u8d44\u91d1\u635f\u5931\uff0c\u8bc4\u8bba\u4e2d\u5df2\u6709\u4eba\u7cbe\u51c6\u8ffd\u95ee\u5b89\u5168\u8bbe\u8ba1\uff0c\u800c\u4ea7\u54c1\u65b9\u5e76\u672a\u7ed9\u51fa\u5b9e\u8d28\u7b54\u590d\u3002\u5176\u4e8c\uff0cCLI \u5316\u89e3\u51b3\u4e86\u201c\u81ea\u52a8\u5316\u201d\uff0c\u5374\u672a\u89e3\u51b3\u201c\u51b3\u7b56\u667a\u80fd\u5316\u201d\uff0c\u5b9a\u4ef7\u7b56\u7565\u3001\u5e7f\u544a\u7d20\u6750\u4ecd\u9700\u4eba\u5de5\u7ecf\u9a8c\uff0c\u5de5\u5177\u53ea\u662f\u7f29\u77ed\u4e86\u6267\u884c\u94fe\u3002\u5176\u4e09\uff0c99 \u7968\u7684\u53d1\u5e03\u91cf\u8bf4\u660e\u5176\u4ecd\u5c5e\u5c0f\u4f17\u6781\u5ba2\u5708\u5c42\u72c2\u6b22\uff0c\u771f\u6b63\u7684\u65e0\u6280\u672f\u8001\u677f\u5927\u6982\u7387\u4e0d\u4f1a\u76f4\u63a5\u4f7f\u7528\uff0c\u800c\u662f\u4f9d\u8d56\u670d\u52a1\u5546\u4ee3\u64cd\u4f5c\uff0c\u8fd9\u53ef\u80fd\u8ba9\u201c\u7ed9\u6bcf\u4e2a\u4eba\u53ef\u7f16\u7a0b\u751f\u610f\u201d\u7684\u613f\u666f\u6253\u6298\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u5c06 MCP\uff08\u6a21\u578b\u4e0a\u4e0b\u6587\u534f\u8bae\uff09\u4e0e skills \u5185\u5efa\uff0c\u8fd9\u6bd4\u4f20\u7edf API \u6587\u6863\u66f4\u8d34\u8fd1 AI \u539f\u751f\u5e94\u7528\u8d8b\u52bf\uff1b\u82e5\u80fd\u5728\u6743\u9650\u6c99\u7bb1\u3001\u64cd\u4f5c\u5ba1\u8ba1\u3001\u56de\u6eda\u673a\u5236\u4e0a\u505a\u51fa\u4f01\u4e1a\u7ea7\u53ef\u4fe1\u5ea6\uff0c\u5b83\u6709\u671b\u6210\u4e3a AI \u5546\u4e1a\u4ee3\u7406\u7684\u4e8b\u5b9e\u6807\u51c6\u5e95\u5ea7\u3002\u5426\u5219\uff0c\u5f88\u5bb9\u6613\u6ca6\u4e3a\u201c\u66f4\u65f6\u9ae6\u7684\u811a\u672c\u5de5\u5177\u201d\uff0c\u88ab\u771f\u6b63\u7684\u5934\u90e8\u5e73\u53f0\u5185\u7f6e\u81ea\u52a8\u5316\u529f\u80fd\u6240\u541e\u6ca1\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\">Whop CLI<\/span>\n                <\/div>\n<div class=\"comment-content\">Everything you can do from your Whop dashboard now runs from a terminal. Build a business, create products, set pricing, run ads, move money, ship apps, and read the numbers. Run it yourself, or hand it to an AI agent like Claude, Cursor, or Codex. The entire Whop API, one binary, your business is completely programmable. You don&#8217;t need to be a dev wizard. Just tell your agent what you want, and it runs the commands for you. It&#8217;s that easy.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">We&#8217;ve worked hard to make the Whop dashboard as simple as possible, but everything is still manual. Creating your business, adding products, setting pricing, running ads. It&#8217;s all clicks and time.<\/p>\n<p>The Whop CLI makes your entire business programmable. It brings Whop\u2019s end-to-end business API straight to your terminal. Hand it to an agent, describe what you want, and it chains together every step for you. &#8220;Set up a $20 product with a checkout link and draft an ad for it&#8221; becomes one instruction instead of twenty clicks. Every action is logged, so you always see what happened.<\/p>\n<p>Install:<br \/>\ncurl -fsSL <a href=\"https:\/\/whop.com\/install.sh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/whop.com\/install.sh<\/a> | sh<\/p>\n<p>Then simply run `whop` to get started, with skills and an MCP built right in. We\u2019re excited to see what you ship!<\/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\/@ryanouyang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ryanouyang<\/a>&nbsp;great launch site &#8211; where&#8217;s the last easter egg tho? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ryanouyang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ryanouyang<\/a>&nbsp;This is a thoughtful step toward making business operations programmable. I upvoted Whop, and I like the focus on visibility through logged actions. Curious how you\u2019re handling permissions and safeguards when agents execute multiple actions in sequence?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/Z2GHP6WYMR4NGN\" class=\"app-title\">AndroMeld<\/a><\/p>\n<div class=\"one-liner\">Bring a continuity-style experience to Android and Mac<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">95<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>AndroMeld \u5c06 Android \u5e94\u7528\u4ee5\u201c\u8fde\u7eed\u6027\u201d\u4f53\u9a8c\u955c\u50cf\u5230 Mac \u4e0a\uff0c\u652f\u6301\u591a\u7a97\u53e3\u72ec\u7acb\u8fd0\u884c\u3001\u8de8\u8bbe\u5907\u63a5\u529b\u3001\u6587\u4ef6\u4e0e\u526a\u8d34\u677f\u540c\u6b65\uff0c\u89e3\u51b3 Android \u7528\u6237\u5728\u4f7f\u7528 Mac \u65f6\u9891\u7e41\u5207\u6362\u8bbe\u5907\u3001\u65e0\u6cd5\u9ad8\u6548\u64cd\u4f5c\u624b\u673a\u5e94\u7528\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/84d1f517-8bc3-4dde-95d4-3a125f783831.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0d3f1980-5236-46e7-848e-9488b0ab01de.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f572e73a-bec2-4d26-bad1-3f8474b43120.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4d9c25d0-0467-4012-8f52-bfa9fa9300ed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/74452fc5-efe2-49b7-bc44-5dd217f9ee53.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\/4405c22a-44cf-4647-8c2e-4e1024653ea9.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=Z1HgxI4hkRA\"><source src=\"https:\/\/www.youtube.com\/watch?v=Z1HgxI4hkRA\" 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\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android\u955c\u50cf<\/span><br \/>\n            <span class=\"tag\">Mac\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8de8\u8bbe\u5907\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u8fde\u7eed\u6027\u4f53\u9a8c<\/span><br \/>\n            <span class=\"tag\">\u591a\u7a97\u53e3\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u6587\u4ef6\u540c\u6b65<\/span><br \/>\n            <span class=\"tag\">\u526a\u8d34\u677f\u5171\u4eab<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">USB\/Wi-Fi\u8fde\u63a5<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u80af\u5b9a\u72ec\u7acb\u5f00\u53d1\u8005\u80cc\u666f\u4e0e\u4ea7\u54c1\u5b8c\u6210\u5ea6\uff0c\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\u591a\u5e94\u7528\u5e76\u884c\u7a97\u53e3\u3001Spotlight\/Dock \u6df1\u5ea6\u6574\u5408\u53ca\u672c\u5730\u5316\u6570\u636e\u4f20\u8f93\u3002\u6709\u6548\u5efa\u8bae\u5305\u62ec\uff1a\u5e0c\u671b\u6269\u5c55\u81f3 Intel Mac \u652f\u6301\u3001\u4f18\u5316 Wi-Fi \u8fde\u63a5\u7a33\u5b9a\u6027\u3001\u589e\u52a0\u5bf9\u65e7\u7248 Android \u8bbe\u5907\u7684\u517c\u5bb9\uff0c\u4ee5\u53ca\u8865\u5145\u66f4\u591a\u624b\u52bf\u81ea\u5b9a\u4e49\u9009\u9879\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                AndroMeld \u7684\u5b9a\u4f4d\u806a\u660e\u4e14\u5201\u94bb\u2014\u2014\u5b83\u4e0d\u8bd5\u56fe\u518d\u9020\u4e00\u4e2a\u201c\u5b89\u5353\u6a21\u62df\u5668\u201d\uff0c\u800c\u662f\u7528\u201c\u5e94\u7528\u7ea7\u955c\u50cf\u201d\u5207\u5165 Android \u4e0e macOS \u4e4b\u95f4\u7684\u751f\u6001\u65ad\u5c42\uff0c\u8fd9\u6b63\u662f Google \u5b98\u65b9\u957f\u671f\u672a\u89e3\u51b3\u7684\u4f53\u9a8c\u7a7a\u767d\u3002\u5176\u4ef7\u503c\u6838\u5fc3\u5728\u4e8e\u201c\u539f\u751f\u611f\u201d\uff1a\u591a\u7a97\u53e3\u53ef\u8c03\u6574\u3001Spotlight \u5524\u8d77\u3001Finder \u6d4f\u89c8\u5b58\u50a8\u3001\u901a\u77e5\u4e0e\u526a\u8d34\u677f\u53cc\u5411\u540c\u6b65\uff0c\u52a0\u4e0a\u672c\u5730\u76f4\u8fde\u4e0d\u7ecf\u8fc7\u4e91\u4e2d\u7ee7\uff0c\u5207\u4e2d\u4e86\u9690\u79c1\u654f\u611f\u578b\u7528\u6237\u548c\u6548\u7387\u578b\u7528\u6237\u7684\u53cc\u91cd\u9700\u6c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a95 \u7968\u7684 Product Hunt \u6210\u7ee9\u5e76\u4e0d\u4eae\u773c\uff0c\u8bf4\u660e\u5b83\u5c1a\u672a\u5f62\u6210\u7834\u5708\u52a8\u80fd\u3002\u72ec\u7acb\u5f00\u53d1\u8005\u7684\u8eab\u4efd\u662f\u53cc\u5203\u5251\u2014\u2014IceBox \u7684 500 \u4e07\u4e0b\u8f7d\u8bc1\u660e\u5176\u6280\u672f\u5b9e\u529b\uff0c\u4f46 AndroMeld \u9762\u5bf9\u7684\u662f\u9700\u8981\u957f\u671f\u7ef4\u62a4\u7684\u590d\u6742\u7cfb\u7edf\u96c6\u6210\uff08Android \u7248\u672c\u788e\u7247\u5316\u3001\u7f51\u7edc\u73af\u5883\u5dee\u5f02\u3001macOS \u7cfb\u7edf\u66f4\u65b0\uff09\uff0c\u8fd9\u5bf9\u5355\u4eba\u56e2\u961f\u7684\u6301\u7eed\u8fed\u4ee3\u548c\u552e\u540e\u54cd\u5e94\u662f\u5de8\u5927\u8003\u9a8c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5546\u4e1a\u6a21\u578b\u4e5f\u9700\u5ba1\u89c6\uff1a\u514d\u8d39\u8bd5\u7528\u52a0 Mac App Store \u552e\u5356\uff0c\u4f46\u201c\u5b8c\u5168\u514d\u8d39 Web App\u201d\u53ef\u80fd\u524a\u5f31\u4ed8\u8d39\u8f6c\u5316\u3002\u6b64\u5916\uff0cAndroid 16+ \u7684\u9650\u5236\u76f4\u63a5\u780d\u6389\u5927\u91cf\u5b58\u91cf\u7528\u6237\uff0c\u4ec5\u9760\u6781\u5ba2\u7528\u6237\u96be\u4ee5\u652f\u6491\u89c4\u6a21\u5316\u6536\u5165\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u60f3\u8c61\u529b\u5728\u4e8e MCP \u670d\u52a1\u5668\uff08Claude Code\u3001Codex \u63a5\u5165\uff09\u2014\u2014\u8fd9\u6697\u793a AndroMeld \u4e0d\u53ea\u662f\u6d88\u8d39\u8005\u5de5\u5177\uff0c\u66f4\u53ef\u80fd\u662f\u5f00\u53d1\u8005\u7684\u5b89\u5353\u8c03\u8bd5\u7ec8\u7aef\u3002\u82e5\u80fd\u5c06\u201c\u624b\u673a\u5373\u5916\u8bbe\u201d\u7684\u8303\u5f0f\u5bfc\u5165 AI \u7f16\u7a0b\u5de5\u4f5c\u6d41\uff0c\u5176\u5929\u82b1\u677f\u5c06\u8fdc\u8d85\u73b0\u5728\u7684\u201c\u624b\u673a\u955c\u50cf\u5de5\u5177\u201d\u6807\u7b7e\u3002\u4f46\u524d\u63d0\u662f\uff0c\u5b83\u5f97\u5148\u6d3b\u8fc7\u7528\u6237\u62b1\u6028 Wi-Fi \u6389\u7ebf\u7684\u7b2c\u4e00\u5468\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\">AndroMeld<\/span>\n                <\/div>\n<div class=\"comment-content\">AndroMeld brings a Continuity-style experience to Android and Mac. Mirror multiple Android apps in separate, resizable, native-like Mac windows, hand off the app already open on your phone, and control it with keyboard &#038; trackpad gestures. Browse Android storage in Finder, sync notifications and clipboard, and turn on your phone\u2019s hotspot over Bluetooth. Support any Android 16+ devices connect by USB or Wi-Fi, with a free Web App available.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt, I\u2019m Ruoxin, an independent developer behind IceBox (5M+ downloads on Google Play) and FilterBox.<\/p>\n<p>AndroMeld brings app-by-app Android mirroring to Mac, with a Continuity-style experience across Android and macOS.<\/p>\n<p>Instead of mirroring the entire phone in one fixed window, it can open multiple Android apps at the same time, each in its own resizable Mac window.<\/p>\n<p>You can launch Android apps from Spotlight, see them in the Dock, type with the Mac keyboard, navigate with trackpad gestures, add app shortcuts to the desktop, and continue an app that is already open on your phone.<\/p>\n<p>AndroMeld also includes:<\/p>\n<p>\u2022 Android storage directly in Finder, with drag and drop and Quick Look<br \/>\n\u2022 Notification syncing and two-way clipboard sync<br \/>\n\u2022 File drops directly into the current Android app<br \/>\n\u2022 USB and Wi-Fi connections with automatic reconnection<br \/>\n\u2022 APK preview and installation<br \/>\n\u2022 An MCP server for tools such as Claude Code and Codex<br \/>\n\u2022 A free Web App for controlling up to 4 Android apps from a browser at the same time<\/p>\n<p>Screen and audio streams, clipboard content, and files travel directly between your devices. AndroMeld does not relay this data through a cloud server, and there is no account to create.<\/p>\n<p>AndroMeld is available now on the Mac App Store, with every feature free to try, plus a completely free Web App. Try it today and experience a more seamless connection between Android and Mac.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/CDLWMS7BGHWSKN\" class=\"app-title\">Prompt Bridge<\/a><\/p>\n<div class=\"one-liner\">Keep AI Context Portable<\/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>Prompt Bridge \u662f\u4e00\u6b3e\u514d\u8d39\u7684 Chrome \u6269\u5c55\uff0c\u8ba9\u4f60\u5728\u4e0d\u540c AI \u5e73\u53f0\u95f4\u5207\u6362\u65f6\uff0c\u80fd\u4e00\u952e\u6355\u83b7\u3001\u538b\u7f29\u5e76\u8fc1\u79fb\u5b8c\u6574\u5bf9\u8bdd\u4e0a\u4e0b\u6587\uff0c\u5f7b\u5e95\u544a\u522b\u53cd\u590d\u201c\u590d\u5236\u7c98\u8d34\u91cd\u8ff0\u201d\u7684\u75db\u70b9\uff0c\u5b9e\u73b0\u8de8\u5e73\u53f0 AI \u5bf9\u8bdd\u7684\u65e0\u7f1d\u8854\u63a5\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/0d1ba63c-9850-4918-bc3e-7b4ab02a5592.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/eMSqBMZ7orY?si=lsaJxIGVljeaYG2e\"><source src=\"https:\/\/youtu.be\/eMSqBMZ7orY?si=lsaJxIGVljeaYG2e\" 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\/1641f65f-e07c-4b9e-8627-a12364b58dc4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/98a7c7f2-b338-4856-aecc-745c0e287976.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cfd85ef0-5ccb-4c33-a72b-db56c8edf6e8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cbef1a6b-3601-4b3a-a471-89feaf1063a7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3c71e2ba-2798-4bad-91c3-9cf78160dc26.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\">Chrome\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">AI\u4e0a\u4e0b\u6587\u8fc1\u79fb<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u538b\u7f29<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0AI<\/span><br \/>\n            <span class=\"tag\">\u63d0\u793a\u8bcd\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u52a0\u5bc6<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5de5\u4f5c\u6d41\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u578b\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\u6838\u5fc3\u8bc9\u6c42\u96c6\u4e2d\u5728\u4e24\u70b9\uff1a\u4e00\u662f\u5e0c\u671b\u660e\u786e\u201c\u538b\u7f29\u201d\u6280\u672f\u662f\u5426\u4f1a\u4e22\u5931\u5173\u952e\u903b\u8f91\u6216\u7ec6\u8282\uff0c\u4e8c\u662f\u8be2\u95ee Priority \u6392\u5e8f\u4f9d\u636e\uff08\u5373\u6700\u5e38\u642d\u914d\u4f7f\u7528\u7684 AI \u7ec4\u5408\uff09\u3002\u6b64\u5916\uff0c\u591a\u6570\u8bc4\u8bba\u8868\u8fbe\u4e86\u5bf9\u672c\u5730\u5b58\u50a8\u4e0e\u96f6\u670d\u52a1\u5668\u67b6\u6784\u7684\u9ad8\u5ea6\u8ba4\u53ef\uff0c\u5e76\u671f\u5f85\u5c3d\u5feb\u652f\u6301 Firefox \u4e0e Perplexity\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 Bridge \u7cbe\u51c6\u5207\u4e2d\u4e86 AI \u91cd\u5ea6\u7528\u6237\u5728\u9ad8\u9891\u5de5\u5177\u5207\u6362\u4e2d\u7684\u201c\u9690\u6027\u65f6\u95f4\u7a0e\u201d\u2014\u2014\u91cd\u8ff0\u4e0a\u4e0b\u6587\u3002\u5b83\u7684\u4ef7\u503c\u4e0d\u6b62\u4e8e\u201c\u7701\u4e8b\u201d\uff0c\u800c\u662f\u901a\u8fc7\u201c\u6355\u83b7-\u538b\u7f29-\u6865\u63a5\u201d\u4e09\u6b65\uff0c\u5c06\u7528\u6237\u7684\u5de5\u4f5c\u6d41\u4ece\u201c\u4ee5\u5e73\u53f0\u4e3a\u4e2d\u5fc3\u201d\u91cd\u6784\u4e3a\u201c\u4ee5\u4efb\u52a1\u4e3a\u4e2d\u5fc3\u201d\uff0c\u8fd9\u624d\u662f\u771f\u6b63\u7684\u6548\u7387\u9769\u547d\u3002\u5176\u201c\u538b\u7f29\u201d\u80fd\u529b\uff0812,400\u2192890 tokens\uff09\u662f\u6280\u672f\u62a4\u57ce\u6cb3\uff0c\u4f46\u98ce\u9669\u4e5f\u5728\u4e8e\u6b64\uff1a\u538b\u7f29\u672c\u8d28\u662f\u6709\u635f\u7684\uff0c\u82e5\u6458\u8981\u7b56\u7565\u65e0\u6cd5\u533a\u5206\u201c\u5e9f\u8bdd\u201d\u4e0e\u201c\u5173\u952e\u7ec6\u8282\u201d\uff0c\u5728\u590d\u6742\u6280\u672f\u8ba8\u8bba\u6216\u957f\u94fe\u6761\u63a8\u7406\u4e2d\u6781\u6613\u9020\u6210\u4fe1\u606f\u5931\u771f\uff0c\u7528\u6237\u5bf9\u201c\u4fe1\u53f7\u800c\u975e\u8f6c\u5199\u201d\u7684\u4fe1\u4efb\u9700\u8981\u957f\u671f\u6253\u78e8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u806a\u660e\u7684\u8bbe\u8ba1\u662f\u201c\u96f6\u670d\u52a1\u5668\u201d\u67b6\u6784\u3002\u8fd9\u4e0d\u4ec5\u662f\u9690\u79c1\u5356\u70b9\uff0c\u66f4\u662f\u4e00\u79cd\u6218\u7565\u9632\u5b88\u2014\u2014\u628a\u6570\u636e\u4e3b\u6743\u4ea4\u7ed9\u7528\u6237\uff0c\u65e2\u89c4\u907f\u4e86\u5e73\u53f0\u4fa7\u7684\u6570\u636e\u5408\u89c4\u98ce\u9669\uff0c\u53c8\u8ba9\u201c\u6211\u4eec\u4e0d\u770b\u4f60\u7684\u6570\u636e\u201d\u4ece\u8425\u9500\u8bdd\u672f\u53d8\u6210\u4e86\u53ef\u9a8c\u8bc1\u4e8b\u5b9e\u3002\u5c3d\u7ba1\u4e0a\u7ebf\u8bc4\u8bba\u4e2d\u7f3a\u5931\u771f\u5b9e\u7684\u8d1f\u9762\u53cd\u9988\uff0c\u4f46\u7528\u6237\u5bf9\u6d4f\u89c8\u5668 IndexedDB \u5b58\u50a8\u5bb9\u91cf\u9650\u5236\u3001\u538b\u7f29\u5ef6\u8fdf\u3001\u4ee5\u53ca\u5bc6\u94a5\u6cc4\u9732\u540e\u672c\u5730\u52a0\u5bc6\u7684\u5931\u6548\u6027\u4e09\u5927\u9690\u60a3\u7684\u8ffd\u95ee\u53ea\u662f\u65f6\u95f4\u95ee\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6218\u7565\u4e0a\uff0c\u5b83\u6b63\u8d70\u5728\u201c\u5de5\u5177-\u534f\u8bae-\u6807\u51c6\u201d\u7684\u8fdb\u5316\u8def\u5f84\u4e0a\u3002\u4e00\u65e6\u201c\u4e0a\u4e0b\u6587\u5305\u201d\uff08Context Pack\uff09\u683c\u5f0f\u6210\u4e3a\u5f00\u6e90\u4e8b\u5b9e\u6807\u51c6\uff0c\u5b83\u5c31\u4e0d\u518d\u662f\u4e00\u4e2a\u6269\u5c55\uff0c\u800c\u662f AI \u534f\u4f5c\u5c42\u7684\u57fa\u7840\u8bbe\u65bd\u3002\u98ce\u9669\u5728\u4e8e\u6280\u672f\u5de8\u5934\u968f\u65f6\u53ef\u80fd\u539f\u751f\u652f\u6301\u8de8\u6a21\u578b\u8fc1\u79fb\uff0cPrompt Bridge \u9700\u8981\u5c3d\u5feb\u79ef\u7d2f\u793e\u533a\u5171\u8bc6\u4e0e\u683c\u5f0f\u751f\u6001\uff0c\u5426\u5219\u6781\u6613\u6ca6\u4e3a\u5de8\u5934\u7684\u201c\u529f\u80fd\u9884\u544a\u7247\u201d\u3002\u76ee\u524d86\u7968\u7684\u58f0\u91cf\uff0c\u5bf9\u4e8e\u4e00\u6b3e\u57fa\u7840\u8bbe\u65bd\u7ea7\u4ea7\u54c1\u800c\u8a00\uff0c\u8fd8\u8fdc\u8fdc\u4e0d\u591f\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 Bridge<\/span>\n                <\/div>\n<div class=\"comment-content\">Prompt Bridge is the free Chrome extension that carries your full AI conversation context across all major AI platforms \u2014 never restart a thread again.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey hunters \ud83d\udc4b<\/p>\n<p>I use ChatGPT to draft, Claude to think, Gemini to search, Grok to get roasted. And every single switch started the same way:<br \/>\n&#8220;So, context: I&#8217;m working on\u2026&#8221; \u2192 paste 40 messages \u2192 wait \u2192 do it all again tomorrow.<\/p>\n<p>I was spending more time re-explaining myself to AIs than doing the actual work. So I built the thing I kept wishing existed \ud83c\udf09<\/p>\n<p>\u26a1 THREE CLICKS, NO RE-EXPLAINING<br \/>\n\ud83c\udfaf Capture \u2014 grab your full thread from ChatGPT, Claude, Gemini, Grok or DeepSeek<br \/>\n\ud83d\udddc\ufe0f Compress \u2014 squeeze it into a tight context pack (12,400 tokens \u2192 890 in my last test), so the next AI gets the signal, not the transcript<br \/>\n\ud83c\udf09 Bridge \u2014 drop it straight into the other AI&#8217;s input box. Switch tabs and it auto-detects where you landed. Zero setup.<\/p>\n<p>\ud83d\udd12 THE PART I&#8217;M STUBBORN ABOUT<br \/>\nIt never leaves your machine. Threads live in your browser&#8217;s IndexedDB. Provider keys are AES-256-GCM encrypted locally. I run zero servers \u2014 there is physically nowhere for your conversations to go. No telemetry, no analytics, no account, no email wall.<br \/>\nDon&#8217;t take my word for it. Open DevTools \u2192 Network and watch it stay empty \ud83d\udd75\ufe0f<\/p>\n<p>\ud83d\udcb8 FREE, WITH ONE HONEST ASTERISK<br \/>\nCapture and Bridge cost nothing, forever. Summarising runs on your own provider key (OpenAI, Anthropic, Google, DeepSeek, xAI) and talks to them directly \u2014 never through me. Your key, your bill, your data.<\/p>\n<p>It&#8217;s the only setup where &#8220;we never see your conversations&#8221; is literally true instead of a marketing line.<\/p>\n<p>\ud83d\udee3\ufe0f SHIPPING NEXT<br \/>\nPerplexity + Copilot \u00b7 shareable context packs \u00b7 Firefox<\/p>\n<p>\ud83d\ude4f ONE THING I&#8217;D LOVE FROM YOU<\/p>\n<p>Which two AIs do you bounce between most? Genuinely asking \u2014 that ordering decides what I optimise next. And if the compression ever eats something it shouldn&#8217;t, tell me right here. That&#8217;s the feedback I need most today.<\/p>\n<p>\u2014 Atharv<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/BVUGVY3MH7GILE\" class=\"app-title\">StepShot<\/a><\/p>\n<div class=\"one-liner\">AI that turns real workflows into step-by-step guides<\/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>StepShot\u662f\u4e00\u6b3e\u57fa\u4e8e\u672c\u5730AI\u7684macOS\u539f\u751f\u5e94\u7528\uff0c\u80fd\u5728\u4f60\u64cd\u4f5c\u771f\u5b9e\u8f6f\u4ef6\u65f6\u81ea\u52a8\u6355\u6349\u5c4f\u5e55\u548c\u70b9\u51fb\uff0c\u5c06\u96f6\u6563\u64cd\u4f5c\u5b9e\u65f6\u8f6c\u5316\u4e3a\u53ef\u7f16\u8f91\u3001\u53ef\u8131\u654f\u7684\u56fe\u6587\u6b65\u9aa4\u6307\u5357\uff0c\u5f7b\u5e95\u544a\u522b\u624b\u52a8\u622a\u56fe\u548c\u7f16\u5199\u8bf4\u660e\u6587\u6863\u7684\u7e41\u7410\u5de5\u4f5c\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0f756d9c-a79c-4a22-9452-103856dac17c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a65d0668-50fe-4699-a399-ea26b15609df.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ce3aaa7d-f6eb-42b6-9258-5aa5f19b0cfa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fb6e2bcc-5868-461a-8730-50eed4aa45f2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9fb5092e-4bc3-4ac3-886a-d1c842e23d9e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6cd60802-bb38-4c27-92d2-d8ade84179e9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d59e452a-aa52-4ab2-92c2-af910ff5be17.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\">Mac<\/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\">\u64cd\u4f5c\u6587\u6863\u81ea\u52a8\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">AI\u622a\u56fe\u6807\u6ce8<\/span><br \/>\n            <span class=\"tag\">\u6b65\u9aa4\u6355\u83b7<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5c4f\u5e55\u5f55\u5236<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u5bfc\u51fa<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u4ed8\u8d39\u8f6f\u4ef6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\uff1aUI\u754c\u9762\u53d8\u52a8\u540e\u6307\u5357\u662f\u5426\u9700\u91cd\u5efa\uff08\u521b\u59cb\u4eba\u627f\u8ba4\u5f53\u524d\u7248\u672c\u4e0d\u505a\u81ea\u52a8\u9002\u914d\uff09\uff1b\u8bd5\u7528\u7533\u8bf7\u6d41\u7a0b\u9700\u90ae\u4ef6\u6c9f\u901a\uff0c\u7565\u7e41\u7410\uff1b\u6709\u5efa\u8bae\u63d0\u4ea4AI\u76ee\u5f55\u7f51\u7ad9\u505a\u63a8\u5e7f\uff0c\u975e\u529f\u80fd\u6027\u53cd\u9988\u3002\u6838\u5fc3\u80af\u5b9a\uff1a\u70b9\u51fb\u524d\u622a\u5e27\u3001\u672c\u5730\u5b58\u50a8\u3001\u7834\u574f\u6027\u8131\u654f\u8bbe\u8ba1\u83b7\u8d5e\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                StepShot\u672c\u8d28\u4e0a\u4e0d\u662f\u4e00\u4e2a\u201cAI\u6587\u6863\u5de5\u5177\u201d\uff0c\u800c\u662f\u4e00\u4e2a\u806a\u660e\u7684\u201c\u5c4f\u5e55\u4e8b\u4ef6\u8bb0\u5f55\u5668\u201d\u3002\u5b83\u7cbe\u51c6\u547d\u4e2d\u4e86\u6280\u672f\u4eba\u5458\u548cSaaS\u516c\u53f8\u5728\u4ea4\u4ed8\u3001\u5185\u90e8\u57f9\u8bad\u3001\u5408\u89c4\u5ba1\u8ba1\u4e2d\u90a3\u4e2a\u9ad8\u9891\u7387\u3001\u4f4e\u6210\u5c31\u611f\u3001\u5916\u5305\u53c8\u8d35\u7684\u75db\u70b9\u2014\u2014\u64cd\u4f5c\u8bb0\u5f55\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5e76\u975e\u672c\u5730\u5927\u6a21\u578b\uff0c\u800c\u662f\u201c\u70b9\u51fb\u524d\u622a\u5e27\u201d\u7684\u65f6\u5e8f\u903b\u8f91\u548c\u201c\u7834\u574f\u6027\u8131\u654f\u201d\u7684\u5b89\u5168\u8bbe\u8ba1\uff0c\u8fd9\u4e24\u70b9\u76f4\u51fb\u4e86\u73b0\u6709\u540c\u7c7b\u5de5\u5177\uff08\u5982Scribe\uff09\u5728\u590d\u6742\u684c\u9762\u5e94\u7528\u4e0a\u5931\u6548\u7684\u81f4\u547d\u4f24\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u7b56\u7565\u4e0a\u7684\u514b\u5236\u4e5f\u66b4\u9732\u4e86\u5546\u4e1a\u987e\u8651\u3002\u5355\u673a\u4e70\u65ad\u5236\u3001\u65e0\u4e91\u540c\u6b65\u3001\u65e0\u56e2\u961f\u534f\u4f5c\uff0c\u867d\u7136\u8fce\u5408\u4e86\u9690\u79c1\u654f\u611f\u4eba\u7fa4\u7684\u53e3\u5473\uff0c\u5374\u662f\u4e00\u79cd\u53cd\u6f6e\u6d41\u9009\u62e9\u3002\u5728Notion\u3001Confluence\u7b49\u534f\u4f5c\u5de5\u4f5c\u6d41\u4e3b\u5bfc\u7684\u4eca\u5929\uff0c\u5b83\u523b\u610f\u56de\u907f\u4e86\u201c\u5206\u53d1\u4e0e\u5171\u4eab\u201d\u73af\u8282\uff0c\u8fd9\u4f1a\u8ba9\u5b83\u5728\u72ec\u7acb\u5f00\u53d1\u8005\u7fa4\u4f53\u4e2d\u6d41\u884c\uff0c\u5374\u5f88\u96be\u8fdb\u5165\u9700\u8981\u5ba1\u6279\u3001\u8bc4\u8bba\u3001\u7248\u672c\u7ba1\u7406\u7684\u4f01\u4e1a\u91c7\u8d2d\u6d41\u7a0b\u3002\u521b\u59cb\u4eba\u627f\u8ba4\u201cWindows\u662f\u79c1\u6709\u6d4b\u8bd5\u7248\u201d\u548c\u201c\u65e0Notion\u5bfc\u51fa\u201d\uff0c\u610f\u5473\u7740\u56e2\u961f\u89c4\u6a21\u548c\u6280\u672f\u50a8\u5907\u79bb\u670d\u52a1\u5168\u7403\u4e3b\u6d41\u684c\u9762\u7528\u6237\u4ecd\u6709\u8ddd\u79bb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u5173\u952e\u7684\u662f\uff0c\u7528\u6237\u5bf9\u201cUI\u53d8\u52a8\u540e\u6307\u5357\u5931\u6548\u201d\u7684\u8ffd\u95ee\u6ca1\u6709\u5f97\u5230\u89e3\u51b3\u65b9\u6848\uff0c\u8fd9\u662f\u6240\u6709\u64cd\u4f5c\u6355\u83b7\u7c7b\u5de5\u5177\u7684\u6839\u6280\u672f\u6b7b\u7a74\u3002\u82e5\u4e0d\u80fd\u57fa\u4e8e\u8bed\u4e49\uff08\u800c\u975e\u5750\u6807\uff09\u7406\u89e3UI\u63a7\u4ef6\uff0cStepShot\u518d\u597d\u4e5f\u53ea\u662f\u4e2a\u5347\u7ea7\u7248\u622a\u56fe\u5de5\u5177\u3002\u5b83\u76ee\u524d\u7684AI\u53ea\u505a\u63cf\u8ff0\uff0c\u4e0d\u505a\u63a8\u7406\uff0c\u957f\u671f\u6765\u770b\u5bb9\u6613\u6ca6\u4e3a\u7ade\u4e89\u5bf9\u624b\u7684\u57ab\u811a\u77f3\u3002\u4f46\u5982\u679c\u56e2\u961f\u80fd\u5728\u89c6\u9891\u9a71\u52a8\u3001\u667a\u80fd\u53bb\u566a\u548c\u8bed\u4e49\u5339\u914d\u4e0a\u6301\u7eed\u6295\u5165\uff0c\u5b83\u5b8c\u5168\u6709\u53ef\u80fd\u6210\u4e3a\u4f01\u4e1a\u77e5\u8bc6\u5e93\u5e95\u5c42\u7684\u201c\u8f6c\u5f55\u5668\u5b98\u201d\u2014\u2014\u4e0d\u8fc7\uff0c\u5728\u4e00\u6b21\u6027\u4ed8\u8d39\u6a21\u5f0f\u5c40\u9650\u4e0b\uff0c\u8fd9\u6761\u8def\u6050\u6015\u8d70\u5f97\u4f1a\u6bd4\u9884\u671f\u66f4\u8270\u96be\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\">StepShot<\/span>\n                <\/div>\n<div class=\"comment-content\">StepShot is an AI-powered documentation tool that turns real on-screen workflows into polished step-by-step guides as you work. It captures clicks and typing; local AI frames screenshots, writes instructions, and explains which actions to keep or skip. Edit, annotate, reorder, and redact every step, then export to PDF, Markdown, or HTML. It runs locally on your Mac with no account or product telemetry, while optional cloud AI polishing uses your own OpenAI-compatible provider.<\/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 kept writing the same kind of document: click here, then here, screenshot, crop, arrow, number, repeat. An hour of work to describe four minutes of clicking. Every tool that promised to fix it was a browser extension \u2014 useless the moment the workflow touched System Settings, a native app, or a terminal.<\/p>\n<p>So StepShot is a native Mac app. It watches clicks and keystrokes through the accessibility layer, grabs the screen <em>before<\/em> each click lands (the frame you want is the one showing the button you&#8217;re about to press, not the menu that opened), and assembles a document while you work. Two capture modes: action-driven for tight step lists, screen-recording when you want the full video kept as evidence. Three targets: active window, full screen, or a fixed region.<\/p>\n<p>Four decisions I&#8217;d defend:<\/p>\n<p><strong>The preview is the export.<\/strong> The editor canvas, the preview pane, and all three exporters run the same renderer. A tool whose entire output is images cannot let you approve one image and ship another.<\/p>\n<p><strong>Local-first, and specific about it.<\/strong> Projects and screenshots live in a folder on your Mac. There is no account and no telemetry. Passwords are never read at all \u2014 secure-input fields are excluded at the engine level, so the characters never reach memory. The AI is deterministic and local by default; if you want a model to polish the wording, you bring your own OpenAI-compatible endpoint and key, and it only refines a draft that&#8217;s already complete. Sending screenshots to a model is a separate, off-by-default consent, and samples are redacted locally before they leave.<\/p>\n<p><strong>Redaction is destructive.<\/strong> Sensitive regions are resampled down and back up, burned into the bitmap. Not a blur, not an overlay someone can strip. Local Vision OCR proposes them; you confirm each one before export unblocks.<\/p>\n<p><strong>One-time purchase.<\/strong> $129 Pro, $599 Team (5 seats), perpetual, all future versions included. The free tier isn&#8217;t a trial: capture and editing are unlimited and never expire, exports cover the first 10 steps in Markdown and HTML.<\/p>\n<p>macOS 14+, Universal (Apple Silicon + Intel), signed and notarized. UI in English, \u7b80\u4f53\u4e2d\u6587, and \u65e5\u672c\u8a9e.<\/p>\n<p><strong>If you&#8217;d rather try the paid tier than read about it:<\/strong> drop your email in a comment and I&#8217;ll send you a 30-day key with everything Pro unlocked \u2014 unlimited steps, PDF, branding. No card, no account, one per address. When it ends the app goes back to the free tier and nothing you recorded is touched.<\/p>\n<p>Honest about what&#8217;s not there: no Notion export, no auto-translation, no cloud sync or team accounts, and Windows is a private test build \u2014 not a release. I&#8217;ll be here all day for questions, including the annoying ones.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thomas_ellon_stewie_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_ellon_stewie_<\/a>&nbsp;Hey there. This is the job I hate most when onboarding a new vendor or hire: documenting the &#8220;obvious&#8221; clicks nobody ever wrote down. How well does it hold up when the underlying app UI changes? Every guide tool I&#8217;ve tried looks great on day one and quietly rots the moment a button moves.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@thomas_ellon_stewie_\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thomas_ellon_stewie_<\/a>&nbsp;Love the attention to detail here.<\/p>\n<p>Capturing the screen <em>before<\/em> each click, keeping everything local-first, and making redaction truly irreversible are thoughtful decisions that really stand out. It feels built for people who create documentation every day.<\/p>\n<p>Congrats on the launch! You might also consider listing StepShot on AI directories like iSEOAI to help more creators and teams discover it. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, looks interesting. May I email to get the trial please?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@andrea_j\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrea_j<\/a>&nbsp;Absolutely \u2014 DM me the address you&#8217;d like it on and I&#8217;ll send a key today. (Or drop it here if you don&#8217;t mind it being public.)<\/p>\n<p>It&#8217;s 30 days with everything Pro unlocked: unlimited steps, PDF export, branding. No card, no account. When it ends the app just goes back to the free tier \u2014 nothing you recorded gets deleted or locked.<\/p>\n<p>macOS 14+. Happy to hear what breaks.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/L5C2P26WPT4UNO\" class=\"app-title\">Blueberry<\/a><\/p>\n<div class=\"one-liner\">Stop Ghosting People You Actually Like<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">84<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Blueberry \u662f\u4e00\u6b3e macOS \u83dc\u5355\u680f\u5e94\u7528\uff0c\u80fd\u5728\u4f60\u61d2\u5f97\u56de iMessage \u65f6\uff0c\u7528\u4f60\u7684\u8bed\u6c14\u81ea\u52a8\u8349\u62df\u56de\u590d\uff0c\u4f46\u7edd\u4e0d\u81ea\u52a8\u53d1\u9001\uff0c\u89e3\u51b3\u201c\u5df2\u8bfb\u4e0d\u56de\u201d\u5bfc\u81f4\u7684\u957f\u671f\u5931\u8054\u4e0e\u793e\u4ea4\u5c34\u5c2c\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\/9d6d3943-4af0-492e-9790-be8264ffeafd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/cb1d9200-9a52-4070-879e-d828c3710010.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1ce419c3-66f5-4562-b9b9-2941349182b6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f628c74-1bb9-49a3-a43d-1ca4e82497c0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a57a15d3-3262-40f8-976a-075f5e5b01b6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/869287ef-27d4-433d-adbd-d3bdcde40c65.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\/29e96890-684d-4c4d-86bb-1d5c662e066f.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=kcoBSdBw1Ns\"><source src=\"https:\/\/www.youtube.com\/watch?v=kcoBSdBw1Ns\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span><br \/>\n            <span class=\"tag\">iMessage Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u56de\u590d<\/span><br \/>\n            <span class=\"tag\">iMessage\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u63d0\u5347<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u793c\u4eea<\/span><br \/>\n            <span class=\"tag\">AI\u5199\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6d88\u606f\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5173\u7cfb\u7ef4\u62a4<\/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\u624b\u52a8\u786e\u8ba4\u53d1\u9001\u201d\u7684\u673a\u5236\uff0c\u8ba4\u4e3a\u8fd9\u5e73\u8861\u4e86\u4fbf\u5229\u4e0e\u63a7\u5236\u611f\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\u4e24\u70b9\uff1a\u5982\u4f55\u7cbe\u786e\u5b66\u4e60\u5e76\u6a21\u4eff\u201c\u4f60\u7684\u8bed\u6c14\u201d\uff1f\u662f\u5426\u80fd\u6839\u636e\u5bf9\u8c61\uff08\u5982\u7236\u6bcd vs \u540c\u4e8b\uff09\u52a8\u6001\u8c03\u6574\u8bed\u6c14\uff1f\u53e6\u6709\u4e00\u4f4d\u7528\u6237\u53cd\u9988Facebook\u6d88\u606f\u79ef\u538b\u672a\u56de\uff0c\u521b\u59cb\u56e2\u961f\u56de\u5e94\u5c06\u652f\u6301Messenger\u3002\u603b\u4f53\u53cd\u9988\u79ef\u6781\uff0c\u4f46\u5bf9AI\u4e2a\u6027\u5316\u7a0b\u5ea6\u671f\u5f85\u8f83\u9ad8\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                Blueberry\u5207\u4e2d\u7684\u75db\u70b9\u771f\u5b9e\u4e14\u666e\u904d\u2014\u2014\u201c\u610f\u5ff5\u56de\u590d\u201d\u5bfc\u81f4\u7684\u793e\u4ea4\u8d1f\u503a\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u66ff\u4ee3iMessage\uff0c\u800c\u662f\u9009\u62e9\u5728\u53d1\u9001\u524d\u52a0\u4e00\u9053\u201c\u4eba\u5de5\u95f8\u95e8\u201d\uff0c\u8fd9\u65e2\u662f\u4ea7\u54c1\u4f26\u7406\u7684\u660e\u667a\u8ba9\u6b65\uff08\u907f\u514d\u81ea\u52a8\u53d1\u9001\u5e26\u6765\u7684\u707e\u96be\u6027\u793e\u6b7b\uff09\uff0c\u4e5f\u662f\u5546\u4e1a\u4e0a\u52a1\u5b9e\u7684\u5b89\u5168\u9501\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u5bf9\u4e8e\u201c\u6a21\u4eff\u6211\u7684\u8bed\u6c14\u201d\u6709\u6781\u9ad8\u671f\u5f85\uff0c\u800c\u8fd9\u6070\u662f\u4ea7\u54c1\u7684\u6280\u672f\u547d\u95e8\u3002\u76ee\u524d\u4f9d\u8d56\u4e91\u7aef\u5927\u6a21\u578b\uff08AWS Bedrock\/Google Vertex\uff09\u5904\u7406\u4e0a\u4e0b\u6587\uff0c\u867d\u7136\u5f3a\u8c03\u4e86\u6570\u636e\u9694\u79bb\uff0c\u4f46\u201c\u53d1\u9001\u5230\u4e91\u7aef\u201d\u672c\u8eab\u5c31\u4f1a\u8fc7\u6ee4\u6389\u4e00\u6279\u9ad8\u5ea6\u6ce8\u91cd\u9690\u79c1\u7684\u6838\u5fc3\u7528\u6237\u2014\u2014\u6bd5\u7adf\uff0c\u6700\u6015\u6f0f\u56de\u6d88\u606f\u7684\u4eba\uff0c\u5f80\u5f80\u4e5f\u662f\u901a\u8baf\u5f55\u91cc\u85cf\u7740\u6700\u591a\u79d8\u5bc6\u7684\u4eba\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u4e8e\u201c\u5e2e\u4f60\u5199\u201d\uff0c\u800c\u5728\u4e8e\u201c\u5199\u5f97\u50cf\u4f60\u201d\u3002\u5982\u679c\u8bed\u6c14\u8fc1\u79fb\u4ec5\u505c\u7559\u5728\u201c\u6b63\u5f0f\/\u968f\u610f\u201d\u7684\u7c97\u7cd9\u5207\u6362\uff0c\u90a3\u5b83\u53ea\u662f\u4e00\u4e2a\u52a0\u5f3a\u7248\u5feb\u6377\u77ed\u8bed\u6a21\u677f\uff1b\u4f46\u82e5\u80fd\u5728\u591a\u6b21\u4eba\u5de5\u7ea0\u504f\u540e\uff0c\u7cbe\u51c6\u6355\u6349\u4e2a\u4eba\u8bed\u6599\u5e93\u4e2d\u7684\u53e3\u5934\u7985\u3001\u6807\u70b9\u4e60\u60ef\u548c\u51b7\u5e7d\u9ed8\uff0c\u5219\u6709\u673a\u4f1a\u4ece\u201c\u6548\u7387\u5de5\u5177\u201d\u5347\u7ef4\u4e3a\u201c\u6570\u5b57\u793e\u4ea4\u5206\u8eab\u201d\u3002 \u53e6\u4e00\u4e2a\u9690\u85cf\u98ce\u9669\u662f\uff1a\u5b83\u6cbb\u6807\u4e0d\u6cbb\u672c\u3002\u957f\u671f\u4f9d\u8d56AI\u4ee3\u7b14\uff0c\u4f1a\u8ba9\u7528\u6237\u7684\u771f\u5b9e\u6587\u5b57\u8868\u8fbe\u80fd\u529b\u8fdb\u4e00\u6b65\u9000\u5316\uff0c\u751a\u81f3\u5f62\u6210\u201c\u793e\u4ea4\u56de\u907f\u95ed\u73af\u201d\u2014\u2014\u8d8a\u4e0d\u7528\u81ea\u5df1\u56de\uff0c\u8d8a\u6015\u81ea\u5df1\u56de\u3002\u6b64\u5916\uff0c5\u79d2unsend\u529f\u80fd\u770b\u4f3c\u8d34\u5fc3\uff0c\u5b9e\u5219\u6697\u793a\u4e86\u53d1\u9001\u5185\u5bb9\u53ef\u80fd\u5b58\u5728\u660e\u663e\u7684\u63aa\u8f9e\u5931\u8bef\uff0c\u8fd9\u4f1a\u524a\u5f31\u7528\u6237\u5bf9\u201cAI\u62df\u771f\u5ea6\u201d\u7684\u4fe1\u4efb\u3002 \u7ed9\u56e2\u961f\u7684\u5efa\u8bae\uff1a\u4e0e\u5176\u94fa\u5f00\u591a\u5e73\u53f0\uff0c\u4e0d\u5982\u5148\u628aiMessage\u573a\u666f\u6253\u78e8\u5230\u201c\u7f16\u8f91\u6b21\u6570\u6781\u4f4e\u201d\u7684\u6c34\u5e73\uff0c\u5e76\u628a\u201c\u8bed\u6c14\u6821\u51c6\u201d\u505a\u6210\u4e00\u4e2a\u7528\u6237\u53ef\u89c1\u7684\u3001\u6709\u53cd\u9988\u7684\u8da3\u5473\u8fc7\u7a0b\uff08\u6bd4\u5982\u201c\u4f60\u66f4\u7231\u7528\u611f\u53f9\u53f7\u8fd8\u662f\u53e5\u53f7\u201d\u7684\u5f15\u5bfc\u5f0f\u8bad\u7ec3\uff09\uff0c\u8ba9\u7528\u6237\u611f\u89c9\u81ea\u5df1\u5728\u5851\u9020AI\uff0c\u800c\u975e\u88abAI\u8bc4\u5224\u3002\u5426\u5219\uff0c\u5b83\u5bb9\u6613\u6ca6\u4e3a\u4e00\u6b21\u6027\u4e0b\u8f7d\u7684\u65b0\u5947\u73a9\u5177\uff0c\u800c\u975e\u6bcf\u65e5\u9a7b\u7559\u83dc\u5355\u680f\u7684\u521a\u9700\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\">Blueberry<\/span>\n                <\/div>\n<div class=\"comment-content\">Blueberry is a mac menu bar app that drafts responses to your iMessages in your voice. Nothing goes out until you click send. Great for the chronic ghosters and terrible texters!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi <\/p>\n<p>My name is Rishi, I\u2019m the one of the creators of Blueberry. <\/p>\n<p>Our journey began when I very publicly got roasted for being a horrible texter. <\/p>\n<p>In my defense, I didn\u2019t do it on purpose. When I \u201caccidentally ghost\u201d, it usually goes something like this:<\/p>\n<p>1. I see a text while I\u2019m busy<br \/>2. I think, \u201cI\u2019ll respond to this later\u201d<br \/>3. I completely forget about it <\/p>\n<p>Once I\u2019ve forgotten about it, it gets buried by the endless spam, group messages, and general noise that clutters my iMessage inbox, never to be found again. <\/p>\n<p>This has had real consequences for me. Genuinely, I\u2019ve lost work opportunities, fallen out of touch with previously close friends, and let potential dates fizzle out simply because I forgot to reply.<\/p>\n<p>So we made Blueberry, it&#8217;s a mac menu bar app that finds the messages that need a reply and auto-drafts a response in your voice. <\/p>\n<p>You can view and send responses in one click, you can edit the response, or choose an alternative variation. And, it works with individual or group messages.<\/p>\n<p>I want to be very clear, we don\u2019t want to replace your iMessage app or automate your texting. Our goal is to remove the small bit of friction that turns \u201cI\u2019ll answer this later\u201d into three months of accidental ghosting.<\/p>\n<p>We also added some fun features like an unhinged mode, which is deranged and hilarious, and a flirt mode, for those of us who struggle to send that perfect text \ud83d\ude09 <\/p>\n<p>I want to also address privacy and security. Blueberry needs Full Disk Access to read your iMessages and Automation permission to send replies you approve.<\/p>\n<p>Recent thread context is sent to the cloud to generate drafts. Our models are hosted on AWS Bedrock or Google Vertex servers. This means that your iMessages stay private and secure, and model providers cannot see your data or use it to train on.<\/p>\n<p>Blueberry will never send messages automatically &#8211; you will always be the person to hit send, and we have a 5 second unsend just in case you change your mind! <\/p>\n<p>It&#8217;s great for people who:<\/p>\n<p>&#8211; Live in Do Not Disturb mode, <br \/>&#8211; Read texts but don\u2019t reply <br \/>&#8211; Get overwhelmed by group chats<br \/>&#8211; Constantly say, \u201cSorry, I just saw this.\u201d<\/p>\n<p>We&#8217;d love your feedback on Blueberry, what is it missing? What can we do to make this something you use every day?<\/p>\n<p>This is our first launch on product hunt, and we&#8217;re excited to share all of the other products we&#8217;re building.<\/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>I think that this is somehow related to me. My Facebook messages are unanswered from 2021 \ud83d\ude00<\/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;Hahaha it might be! We&#8217;re bringing messenger in next \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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The &#8220;nothing goes out until you click send&#8221; choice is the part I like most. I&#8217;m building a voice AI at Callie Care that calls aging parents every day, so I spend a lot of time on the same problem from the other side: people love someone, but the activation energy to reach out is just high enough that weeks slip by. Curious how you capture &#8220;your voice&#8221; per recipient early on. Does the tone shift based on relationship closeness (a parent vs a coworker), and roughly how many corrections does it take before the drafts actually feel like 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi, <\/p>\n<p>Use this code for 30 days of free pro access, exclusively for folks on producthunt! <\/p>\n<pre><code>BB-6UWS-FZW2-BXZT-SVZC-JL5X-R7TL-PA<\/code><\/pre>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/B7VHXE54LQMLBM\" class=\"app-title\">Rescript for Desktop<\/a><\/p>\n<div class=\"one-liner\">A free, open source, Descript alternative. Runs on-device.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">83<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Rescript for Desktop\u662f\u4e00\u6b3e\u514d\u8d39\u5f00\u6e90\u7684\u672c\u5730\u5316\u8f6c\u5f55\u89c6\u9891\u7f16\u8f91\u5668\uff0c\u7528\u6237\u901a\u8fc7\u76f4\u63a5\u4fee\u6539\u8f6c\u5f55\u6587\u672c\u6765\u526a\u8f91\u89c6\u9891\uff0c\u5728\u6d4f\u89c8\u5668\u6216\u684c\u9762\u7aef\u79bb\u7ebf\u8fd0\u884c\uff0c\u89e3\u51b3\u4e86\u521b\u4f5c\u8005\u5728\u540e\u671f\u526a\u8f91\u4e2d\u56e0\u5de5\u5177\u4ed8\u8d39\u5899\u3001\u4e91\u7aef\u4f9d\u8d56\u548c\u590d\u6742\u64cd\u4f5c\u5e26\u6765\u7684\u9ad8\u95e8\u69db\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\/a62c2f6b-7adf-47e5-9625-0e306a9ff80c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bc6c175c-54f6-4505-a694-4d4417a8ba97.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/62891ec0-7720-4984-9cf9-a26ce3d78c26.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\/e12a788e-22d2-4e10-80d4-4936b2f331b7.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/nfcNoqSR5e8?is=w5RGNb9YRoE3HR8x\"><source src=\"https:\/\/youtu.be\/nfcNoqSR5e8?is=w5RGNb9YRoE3HR8x\" 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\">Photo &#038; Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u8f6c\u5f55\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u64ad\u5ba2\u526a\u8f91<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">Descript<\/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\u6587\u672c\u526a\u8f91\u5bf9\u72ec\u7acb\u521b\u4f5c\u8005\u7684\u6613\u7528\u6027\uff0c\u5e76\u56e0Descript\u4ed8\u8d39\u5899\u8f6c\u5411\u6b64\u5de5\u5177\uff1b\u5173\u5fc3\u8de8\u97f3\u8f68\u65f6\u8bf4\u8bdd\u4eba\u6807\u7b7e\u662f\u5426\u6301\u7eed\u51c6\u786e\uff0c\u4ee5\u53ca\u957f\u5f55\u97f3\u7684\u5185\u5b58\u5904\u7406\u4e0e\u5bfc\u51fa\u662f\u5426\u5b8c\u5168\u5728\u672c\u5730\u5b8c\u6210\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                Rescript\u7684\u5b9a\u4f4d\u5f88\u806a\u660e\u2014\u2014\u7cbe\u51c6\u8e29\u4e2dDescript\u7684\u4ed8\u8d39\u5899\u548c\u521b\u4f5c\u8005\u5bf9\u201c\u9690\u79c1+\u96f6\u6210\u672c\u201d\u7684\u53cc\u91cd\u7126\u8651\u3002\u5b83\u7528\u201c\u5355\u5468\u672b\u5f00\u53d1\u201d\u7684\u539f\u578b\u6545\u4e8b\u548c600+\u661f\u6807\u6362\u53d6\u4e86\u65e9\u671f\u793e\u533a\u4fe1\u4efb\uff0c\u8fd9\u672c\u8eab\u5c31\u662f\u4e00\u573a\u9ad8\u6548\u7684\u8425\u9500\u53d9\u4e8b\u3002\u4f46\u51b7\u9759\u770b\uff0c\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u514d\u8d39\u66ff\u4ee3\u201d\uff0c\u800c\u5728\u4e8e\u9a8c\u8bc1\u4e86\u201c\u8f6c\u5f55\u5373\u526a\u8f91\u201d\u8fd9\u4e00\u4ea4\u4e92\u8303\u5f0f\u5728\u672c\u5730\u8bbe\u5907\u4e0a\u7684\u53ef\u884c\u6027\u3002\u5f53\u524d\u7248\u672c\u652f\u63015\u79cd\u8bed\u8a00\u3001\u5bfc\u51fa\u97f3\u9891\u548c\u5b57\u5e55\uff0c\u8bf4\u660e\u4f5c\u8005\u5728\u54ac\u7259\u8865\u9f50\u57fa\u7840\u95ed\u73af\uff0c\u4f46\u95ee\u9898\u4e5f\u660e\u663e\uff1a\u8bc4\u8bba\u4e2d\u7684\u8bf4\u8bdd\u4eba\u6807\u7b7e\u8de8\u8f68\u4e00\u81f4\u6027\u3001\u957f\u97f3\u9891\u5185\u5b58\u7ba1\u7406\uff0c\u662f\u4e13\u4e1a\u526a\u8f91\u7684\u786c\u95e8\u69db\uff0c\u800c\u975e\u201c\u5468\u672b\u539f\u578b\u201d\u80fd\u89e3\u51b3\u7684\u3002\u82e5\u53ea\u505c\u7559\u5728\u201c\u591f\u7528\u5c31\u597d\u201d\u7684\u6781\u5ba2\u73a9\u5177\u5c42\u9762\uff0c\u5b83\u65e0\u6cd5\u771f\u6b63\u64bc\u52a8Descript\u6216\u526a\u6620\u7684\u4e13\u4e1a\u7528\u6237\u3002\u6b64\u5916\uff0c\u5f00\u6e90\u9879\u76ee\u7684\u7ef4\u62a4\u53ef\u6301\u7eed\u6027\u3001\u8f6c\u5f55\u7cbe\u5ea6\u5728\u53e3\u97f3\/\u566a\u58f0\u4e0b\u7684\u8868\u73b0\uff0c\u4ee5\u53ca\u684c\u9762\u7aef\u6027\u80fd\u4e0e\u6d4f\u89c8\u5668\u7248\u7684\u5b9e\u9645\u5dee\u5f02\uff0c\u90fd\u662f\u672a\u88ab\u8bc1\u4f2a\u7684\u77ed\u677f\u3002\u52a1\u5b9e\u5efa\u8bae\u662f\uff1aRescript\u4e0d\u5e94\u76f2\u76ee\u5bf9\u6807\u5546\u4e1a\u5de8\u5934\uff0c\u800c\u8be5\u805a\u7126\u64ad\u5ba2\/\u91c7\u8bbf\u7b49\u7a84\u573a\u666f\uff0c\u628a\u8bf4\u8bdd\u4eba\u8bc6\u522b\u548c\u5bfc\u51fa\u6d41\u7a0b\u6253\u78e8\u5230\u6781\u81f4\uff0c\u5f62\u6210\u201c\u5c0f\u800c\u9510\u201d\u7684\u5229\u57fa\u3002\u5426\u5219\uff0c\u5b83\u5bb9\u6613\u6ca6\u4e3a\u4e00\u573a\u5f00\u6e90\u7406\u60f3\u4e3b\u4e49\u7684\u70df\u82b1\u2014\u2014\u7eda\u70c2\uff0c\u4f46\u8f6c\u77ac\u5373\u901d\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\">Rescript for Desktop<\/span>\n                <\/div>\n<div class=\"comment-content\">\ud83c\udfac An open source, transcript-based video editor that lives in the browser. Edit videos by simply editing the transcript text. Runs fully on your device or in the browser: Local, free and offline! Now available as a Desktop app on Mac OS, Windows and Linux. Since the last launch we&#8217;ve added: &#8211; More accurate transcriptions &#8211; Desktop app + Dark mode &#8211; Support for 5 languages &#8211; Export formats + ability to export as audio &#8211; Importing\/exporting transcripts and captions.. and more!<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey all,<\/p>\n<\/p>\n<p>After a great first launch with 600+ Github stars and top 10 on PH, we\u2019re launching a Desktop app for Rescript \u2013 the open source text-based video editor.<\/p>\n<\/p>\n<p>I built Rescript in a single weekend to prove that personal software can be as good as the commercial options. Rescript is an on-device, private, free and open source video\/audio editor that allows you to edit your podcasts and recordings by simply editing the transcript.<\/p>\n<\/p>\n<p>No subscriptions, no accounts, no servers.<\/p>\n<\/p>\n<p>The desktop app pushes Rescript even further with improved performance and 10+ of the most requested features already shipped!<\/p>\n<\/p>\n<p>\u2192 Try it <a href=\"https:\/\/getrescript.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/getrescript.com\/<\/a><\/p>\n<\/p>\n<p>\u2192 Github <a href=\"https:\/\/github.com\/wassgha\/rescript\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/wassgha\/rescript<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Text-based editing is what finally makes video approachable for solo creators. Ran into Descript&#8217;s paywall hard after a few projects. The desktop app looks like the answer. Does it keep speaker labels consistent across a full session, or do you have to re-identify after switching between tracks?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Love that this runs fully in-browser \u2014 local-first tools are underrated. How do you handle long recordings memory-wise, and does export happen client-side too?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/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\/EXUW2GJSYQWYAP\" class=\"app-title\">Reference<\/a><\/p>\n<div class=\"one-liner\">Local semantic search for AI agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">80<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Reference \u662f\u4e00\u6b3e\u4e3a AI \u7f16\u7a0b\u4ee3\u7406\u6253\u9020\u7684\u672c\u5730\u8bed\u4e49\u641c\u7d22\u5de5\u5177\uff0c\u8ba9 Claude Code \u7b49\u4ee3\u7406\u76f4\u63a5\u57fa\u4e8e\u4f60\u7684\u771f\u5b9e\u4ee3\u7801\u5e93\u63d0\u95ee\u5e76\u83b7\u53d6\u7cbe\u786e\u5230\u51fd\u6570\u7684\u5f15\u7528\u7b54\u6848\uff0c\u5f7b\u5e95\u544a\u522b\u8017\u65f6\u8017\u94b1\u7684 grep \u5faa\u73af\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/36c43df2-ea42-4139-b33d-a655969ceb79.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/X62Jg9G1c5I\"><source src=\"https:\/\/youtu.be\/X62Jg9G1c5I\" 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\/ce7a3ab2-d6c6-4de7-9a48-0db4dc1c6789.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/92f33799-f5e7-43ce-9286-ef4d69af7997.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8b74a763-1ba7-44af-b789-c984d32c614d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/147453f9-dbae-46ac-a998-95eaca8a0c10.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\">Mac<\/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\">\u672c\u5730\u8bed\u4e49\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u68c0\u7d22<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u7d22\u5f15<\/span><br \/>\n            <span class=\"tag\">\u8bed\u4e49\u7f13\u5b58<\/span><br \/>\n            <span class=\"tag\">Claude\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\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>\u5f00\u53d1\u8005\u8ba4\u53ef\u201c\u672c\u5730+\u7cbe\u786e\u5b9a\u4f4d\u51fd\u6570\u201d\u7ec4\u5408\uff0c\u91cd\u70b9\u8be2\u95ee\u5e95\u5c42\u5d4c\u5165\u6a21\u578b\u9009\u578b\u53ca\u5927\u6570\u636e\u91cf\u4e0b\u5ef6\u8fdf\u8868\u73b0\u3002\u4f5c\u8005\u56de\u5e94\u9ed8\u8ba4\u7528 all-MiniLM-L6-v2\uff08Metal\u52a0\u901f\uff09\uff0c\u5168\u5185\u5b58\u626b\u63cf\uff0c\u7ea60.5ms\/\u5343\u884c\uff0c5k\u6587\u4ef6\u7ea620ms\uff0c20\u4e07\u884c\u540e\u9700\u4f18\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                Reference \u5207\u4e2d\u7684\u662f\u5f53\u524d AI \u7f16\u7a0b\u5de5\u5177\u6700\u75db\u7684\u201c\u4e0a\u4e0b\u6587\u8d2b\u7620\u201d\u95ee\u9898\u2014\u2014\u5927\u6a21\u578b\u5bf9\u4ee3\u7801\u5e93\u8bb0\u5fc6\u662f\u6a21\u7cca\u7684\uff0c\u800c\u5f00\u53d1\u8005\u88ab\u8feb\u7528 grep + \u624b\u5de5\u7c98\u8d34\u6765\u5582\u517b\u4e0a\u4e0b\u6587\u3002\u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u7528\u6781\u8f7b\u7684\u5d4c\u5165\u6a21\u578b\uff08\u800c\u975e\u672c\u5730LLM\uff09\u505a\u8bed\u4e49\u7d22\u5f15\uff0c\u628a\u201c\u68c0\u7d22\u201d\u4ece LLM \u7684\u8d1f\u62c5\u4e2d\u5f7b\u5e95\u5265\u79bb\uff0c\u518d\u901a\u8fc7 MCP \u534f\u8bae\u65e0\u7f1d\u5ac1\u63a5\u5230 Claude Code \u7684\u5de5\u4f5c\u6d41\u91cc\uff0c\u8ba9\u4ee3\u7406\u81ea\u5df1\u201c\u77e5\u9053\u53bb\u54ea\u627e\u201d\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u7ed9 AI \u52a0\u4e86\u4e00\u4e2a\u5916\u6302\u8bb0\u5fc6\u76ae\u5c42\uff0c\u4e14\u660e\u786e\u6307\u5411\u201c\u7cbe\u786e\u5f15\u7528\u201d\u800c\u975e\u201c\u6cdb\u6cdb\u5efa\u8bae\u201d\uff0c\u4ef7\u503c\u5bc6\u5ea6\u6781\u9ad8\u3002\u4f46\u5b83\u7684\u62a4\u57ce\u6cb3\u5e76\u4e0d\u7b97\u6df1\uff1a\u6838\u5fc3\u662f\u540c\u6b3e\u5d4c\u5165\u6a21\u578b+\u5168\u5185\u5b58\u626b\u63cf\uff0c\u6280\u672f\u4e0a\u6ca1\u6709\u4e0d\u53ef\u903e\u8d8a\u7684\u58c1\u5792\uff0c\u4e14\u201c20\u4e07\u884c\u5f00\u59cb\u5403\u529b\u201d\u610f\u5473\u7740\u5bf9\u5927\u578b monorepo \u6216\u771f\u5b9e\u4f01\u4e1a\u7ea7\u4ee3\u7801\u5e93\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u73a9\u5177\u800c\u975e\u751f\u4ea7\u5de5\u5177\u3002\u66f4\u73b0\u5b9e\u7684\u95ee\u9898\u662f\uff0c\u5b83\u53ea\u670d\u52a1 Claude Code \u751f\u6001\uff08\u867d\u58f0\u660e\u652f\u6301MCP\uff0c\u4f46\u5b9e\u9645\u6740\u624b\u950f\u7ed1\u5b9aClaude\uff09\uff0c\u4e00\u65e6 Anthropic \u5728\u5b98\u65b9\u5c42\u63a8\u51fa\u6df1\u5ea6\u6587\u4ef6\u7cfb\u7edf\u8bbf\u95ee\u6216\u8bed\u4e49\u7f13\u5b58\uff0c\u7b2c\u4e09\u65b9\u5de5\u5177\u77ac\u95f4\u88ab\u67b6\u7a7a\u3002\u5b83\u7684\u6700\u5927\u610f\u4e49\u6216\u8bb8\u662f\u9a8c\u8bc1\u4e86\u201c\u672c\u5730\u8bed\u4e49\u68c0\u7d22\u201d\u662f AI \u7f16\u7a0b\u5de5\u5177\u7684\u5fc5\u9700\u54c1\uff0c\u4f46\u4f5c\u4e3a\u72ec\u7acb\u4ea7\u54c1\uff0c\u5b83\u66f4\u50cf\u662f\u5de8\u8f6e\u4e0a\u7684\u4e00\u5757\u4f18\u8d28\u7532\u677f\uff0c\u800c\u975e\u4e00\u8258\u8239\u3002\u5efa\u8bae\u56e2\u961f\u5c3d\u5feb\u5f00\u653e\u63a5\u5165\u66f4\u591a\u4ee3\u7406\u3001\u652f\u6301\u8fdc\u7a0b\u7d22\u5f15\u6216\u6df7\u5408\u68c0\u7d22\uff0c\u5426\u5219\u5bb9\u6613\u88ab\u5e73\u53f0\u65b9\u201c\u987a\u624b\u201d\u541e\u566c\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\">Reference<\/span>\n                <\/div>\n<div class=\"comment-content\">Reference is local semantic search for your files and code, built for AI agents. No cloud, nothing leaves your machine. Ask it &#8220;how did I implement rate limiting here&#8221; and get your actual code back, cited down to the exact function, not generic advice. Live index that updates as you save, code-aware chunking (tree-sitter), and a built-in MCP server (\/search, \/explain, \/find_similar, \/check_doc_drift)so Claude Code gets precise cited results instead of burning tokens on grep loops.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Built this after burning tokens and context for every new Claude thread I open. An embedding model uses a fraction of the memory a local LLM does, and gives me back what I (or Claude) are looking for instantly. It&#8217;s local, offline, and now Claude can just ask the index directly. Would love to hear what you think!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Local + cited-to-the-exact-function is the right combo. Which embedding model runs locally, and how large can an indexed codebase get before search latency starts to hurt?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kosta_zanin26\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kosta_zanin26<\/a>&nbsp;Thanks! Default is all-MiniLM-L6-v2 via Candle, running on Metal. A couple other models are selectable in app if you want more accuracy over speed.<\/p>\n<p>On latency, it&#8217;s a full in-memory scan, no ANN index, scales at about 0.5ms per 1k rows. A ~5k file codebase lands around 20ms, which you basically can&#8217;t feel next to the embedding step itself. Starts to matter past ~200k rows, haven&#8217;t needed to solve for that yet.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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-07 PH\u70ed\u699c | 2026-08-07 #1 Coldt [&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-306","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/306","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=306"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/306\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}