{"id":227,"date":"2026-05-20T12:40:18","date_gmt":"2026-05-20T04:40:18","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/20\/2026-05-19\/"},"modified":"2026-05-20T12:40:18","modified_gmt":"2026-05-20T04:40:18","slug":"2026-05-19","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/05\/20\/2026-05-19\/","title":{"rendered":"PH\u70ed\u699c | 2026-05-19"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-05-19<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-05-19<\/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\/YNJ3R3XJ5FEEBJ\" class=\"app-title\">PollyReach<\/a><\/p>\n<div class=\"one-liner\">Give your agent a real number and voice to make calls.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">464<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>PollyReach\u4e3a\u4e2a\u4eba\u7528\u6237\u63d0\u4f9bAI\u9a71\u52a8\u7684\u771f\u5b9e\u7535\u8bdd\u53f7\u4e0e\u8bed\u97f3\uff0c\u89e3\u51b3\u9884\u7ea6\u3001\u88ab\u54a8\u8be2\u7b49\u9700\u7535\u8bdd\u6c9f\u901a\u7684\u75db\u70b9\uff0c\u652f\u630150+\u8bed\u8a00\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\/5d0fe004-cb72-41e2-8e97-34b8b667eecb.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\/542b44e8-6467-4d7e-ba2f-d01d1b408ed3.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\/ca5099d3-3d07-4b23-acd9-86ea1c83c75c.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\/432ebe33-334c-4469-b063-484c2f35e634.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\/837bc9a8-de32-4556-a2d8-dfbf94c00d8a.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\/254f830a-edb4-4eb3-ab4e-25cb9fbb07f7.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/d227974d-6d73-4bb7-9851-f332a6d4f6e2.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/OF9EtYCiWoY\"><source src=\"https:\/\/youtu.be\/OF9EtYCiWoY\" 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\">Virtual Assistants<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7535\u8bdd\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u7535\u8bdd\u9884\u7ea6<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u547c\u53eb<\/span><br \/>\n            <span class=\"tag\">\u5783\u573e\u7535\u8bdd\u8fc7\u6ee4<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u52a9\u7406<\/span><br \/>\n            <span class=\"tag\">\u547c\u53eb\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u771f\u5b9e\u53f7\u7801<\/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\u5fc3AI\u80fd\u5426\u5904\u7406\u771f\u5b9e\u901a\u8bdd\u4e2d\u7684\u63d2\u8bdd\u3001\u7b49\u5f85\u3001\u610f\u5916\u60c5\u51b5\uff0c\u8981\u6c42\u770b\u5230\u5931\u8d25\u6848\u4f8b\u800c\u975e\u4ec5\u6210\u529f\u6f14\u793a\u3002\u547c\u58f0\u8f83\u9ad8\u7684\u9700\u6c42\u5305\u62ec\uff1a\u901a\u8bdd\u8bb0\u5f55\u53ef\u8def\u7531\u81f3Webhook\u3001\u652f\u6301\u73b0\u573a\u8f6c\u63a5\u3001\u4fdd\u7559\u4e0e\u540c\u4e00\u5546\u5bb6\u901a\u8bdd\u7684\u4e0a\u4e0b\u6587\u8bb0\u5fc6\u3002\u4ea7\u54c1\u56e2\u961f\u627f\u8bfa\u547c\u51fa\u65f6AI\u4f1a\u81ea\u62a5\u8eab\u4efd\uff0c\u4e14\u4e25\u683c\u62a5\u544a\u547c\u53eb\u7ed3\u679c\uff08\u786e\u8ba4\/\u672a\u63a5\u7b49\uff09\uff0c\u4e0d\u865a\u62a5\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                \u5982\u679c\u8bf4\u7845\u8c37\u7684AI\u8bed\u97f3\u516c\u53f8\u5728\u5fd9\u7740\u7ed9\u4f01\u4e1a\u753bCRM\u5b8f\u56fe\u7684\u997c\uff0cPollyReach\u5219\u5728\u5e72\u4e00\u4ef6\u66f4\u201c\u4fd7\u201d\u4f46\u4e5f\u66f4\u5fc5\u8981\u7684\u4e8b\uff1a\u5e2e\u4f60\u7ed9\u996d\u5e97\u6253\u8ba2\u4f4d\u7535\u8bdd\u3002\u5b83\u7684\u5207\u5165\u70b9\u7cbe\u51c6\u5f97\u8fd1\u4e4e\u5201\u94bb\u2014\u2014AI\u80fd\u8de8\u8bed\u8a00\u6d41\u5229\u4ea4\u6d41\uff0c\u4f46\u7edd\u5927\u591a\u6570\u6b64\u7c7b\u4ea7\u54c1\u4ecd\u65e7\u56f0\u5728\u201c\u547c\u53eb\u4e2d\u5fc3\u5373\u670d\u52a1\u201d\u7684B\u7aef\u9ad8\u5899\u5185\uff0c\u800c\u666e\u7f57\u5927\u4f17\u771f\u6b63\u75db\u7684\u662f\u201c\u770b\u5230\u7535\u8bdd\u53f7\u7801\u5c31\u70e6\u8e81\uff0c\u5b81\u53ef\u53d1\u4fe1\u606f\u4e5f\u4e0d\u613f\u5f00\u53e3\u201d\u8fd9\u4e00\u5171\u60c5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u5f62\u6001\u770b\uff0cPollyReach\u806a\u660e\u5730\u907f\u5f00\u4e86\u201c\u5168\u529f\u80fd\u81ea\u52a8\u5316\u4fdd\u59c6\u201d\u7684\u9677\u9631\uff1a\u4e0d\u8c08\u53d6\u4ee3\u4eba\u7c7b\u9500\u552e\uff0c\u53ea\u8bf4\u5e2e\u4f60\u9884\u7ea6\u3001\u5e2e\u4f60\u8fc7\u6ee4\u5783\u573e\u7535\u8bdd\u3002\u8bc4\u8bba\u4e2d\u521b\u59cb\u4eba\u5766\u8bda\u65e5\u8bed\u548c\u82f1\u8bed\u662f\u4e3b\u529b\u8bed\u8a00\uff0c\u4e14\u4e0d\u56de\u907f\u65e5\u672c\u9910\u5385\u65e0\u4eba\u63a5\u542c\u3001\u5bf9\u8bdd\u504f\u79bb\u811a\u672c\u7b49\u201c\u4e0d\u5b8c\u7f8e\u4f46\u771f\u5b9e\u201d\u7684edge cases\uff0c\u8fd9\u79cd\u8868\u6001\u6bd4\u90a3\u4e9b\u5ba3\u79f0\u201cAI\u5b8c\u7f8e\u7406\u89e3\u4e00\u5207\u201d\u7684PPT\u53ef\u4fe1\u5f97\u591a\u3002\u4f46\u95ee\u9898\u540c\u6837\u660e\u663e\u2014\u2014\u591a\u8bed\u8a00\u8d28\u91cf\u201congoing\u201d\u610f\u5473\u7740\u6a2a\u5411\u6269\u5c55\u5c1a\u4e0d\u6210\u719f\uff1b\u6bcf\u4e2a\u7535\u8bdd\u9700\u8981\u4e8b\u524d\u6388\u6743\u800c\u975e\u5b9e\u65f6\u8f6c\u63a5\uff0c\u8bf4\u660e\u5728\u590d\u6742\u573a\u666f\u4e0b\u7684\u51b3\u7b56\u8fb9\u754c\u8fd8\u5f88\u72ed\u7a84\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u503c\u5f97\u7559\u610f\u7684\u662f\u5bf9\u201c\u6ee5\u7528\u201d\u573a\u666f\u7684\u56de\u5e94\uff1a\u6bcf\u901a\u7535\u8bdd\u90fd\u81ea\u62a5AI\u8eab\u4efd\u3001\u591a\u5c42\u9632\u7ebf\u9632\u8303\u6b3a\u8bc8\u2014\u2014\u8fd9\u5728\u6b27\u7f8e\u4e25\u82db\u7684\u7535\u8bdd\u5408\u89c4\u73af\u5883\u4e0b\u662f\u4fdd\u547d\u7ebf\uff0c\u800c\u975e\u53ef\u6709\u53ef\u65e0\u7684\u88c5\u9970\u3002\u5bf9\u4e8e\u60f3\u505a\u4e2a\u4eba\u52a9\u624b\u7684\u73a9\u5bb6\uff0c\u4e0e\u5176\u70e7\u94b1\u62fc\u5927\u6a21\u578b\u591a\u6a21\u7406\u89e3\uff0c\u4e0d\u5982\u50cfPollyReach\u4e00\u6837\uff0c\u5148\u628a\u201c\u7b49\u5f85\u8f6c\u63a5\u65f6\u4e0d\u6302\u65ad\u201d\u8fd9\u79cd\u6bdb\u7ec6\u8840\u7ba1\u7ea7\u4f53\u9a8c\u7684\u7cbe\u5ea6\u505a\u900f\u3002\u4ea7\u54c1\u6709\u771f\u5b9e\u573a\u666f\uff0c\u4f46\u4e0d\u5b9c\u8fc7\u65e9\u5439\u6367\u201c\u98a0\u8986\u7535\u8bdd\u6c9f\u901a\u201d\uff0c\u56e0\u4e3a\u53ea\u89e3\u51b3\u201c\u6562\u62e8\u53f7\u201d\u800c\u5c1a\u672a\u5b8c\u5168\u89e3\u51b3\u201c\u80fd\u641e\u5b9a\u201d\u3002\u5bf9\u4e8e\u9891\u7e41\u88ab\u673a\u6784\u5ba2\u670d\u3001\u7269\u4e1a\u516c\u53f8\u3001\u6d77\u5916\u7b7e\u8bc1\u4e2d\u5fc3\u7535\u8bdd\u6298\u78e8\u7684\u7528\u6237\uff0c\u8fd9200\u514d\u8d39\u79ef\u5206\u503c\u5f97\u4e00\u8bd5\uff0c\u4f46\u522b\u6307\u671b\u5b83\u80fd\u66ff\u4f60\u6c42\u5b8c\u94f6\u884c\u8c03\u989d\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\">PollyReach<\/span>\n                <\/div>\n<div class=\"comment-content\">Most AI phone tools are built for enterprises \u2014 APIs, workflows, sales automation. PollyReach is built for you. Give your AI a real phone number. Say &#8220;book me a table for 7pm&#8221; \u2014 it finds the number, makes the call, handles the conversation, and reports back with a summary, recording &#038; transcript. It also answers your phone 24\/7 and screens spam. Works in 50+ languages.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<\/p>\n<p>I&#8217;m Gia, maker of PollyReach.<\/p>\n<\/p>\n<p>I&#8217;m the kind of person who&#8217;d rather text than call. But some things still require a phone call \u2014 and when the restaurant is full, you have to try the next one, and the next.<\/p>\n<\/p>\n<p>In Japan, I wanted to book a small izakaya. No online reservation, just a phone number. I don&#8217;t speak Japanese.<\/p>\n<\/p>\n<p>That&#8217;s when it clicked: AI speaks 50+ languages. Why can&#8217;t it just make the call?<\/p>\n<\/p>\n<p><strong>So we built PollyReach \u2014 Your Agent gets its own real phone number and a real voice. <\/strong>It handles real conversations the way a personal assistant would \u2014 gets interrupted, responds naturally, waits on hold, navigates IVR menus, and knows when to push back and when to hang up.<\/p>\n<\/p>\n<p><strong>It calls for you<\/strong><\/p>\n<ul>\n<li>\n<p>Polly finds the number, dials, navigates phone menus, handles the conversation, and confirms the booking. You get a summary + recording + transcript.<\/p>\n<\/li>\n<\/ul>\n<p><strong>It answers for you<\/strong><\/p>\n<ul>\n<li>\n<p>Polly picks up 24\/7 with a natural-sounding voice \u2014 screens spam, talks to real callers, takes messages, tags priority, and sends you a summary. You decide what&#8217;s worth calling back.<\/p>\n<\/li>\n<\/ul>\n<p><strong>It works for your business<\/strong><\/p>\n<ul>\n<li>\n<p>One of our users manages 80+ rental properties \u2014 his AI assistant handles tenant calls, follows up with vendors, and sends him a daily report.<\/p>\n<\/li>\n<\/ul>\n<p>Get started \u2014 just send this to your agent:<\/p>\n<pre><code>clawhub install pollyreach<\/code><\/pre>\n<\/p>\n<p>Everyone here gets 200 free credits + a free phone number. Try it and let me know what your first call is.<\/p>\n<\/p>\n<p>Really excited to share this with the PH community. We&#8217;ll be around all day answering questions! \ud83d\ude4c<\/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\/@gia_xu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gia_xu<\/a>&nbsp;Cool stuff. Is the beta version live?<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gia_xu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gia_xu<\/a>&nbsp;any plans to add webhooks for automatic transcript routing?<\/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\/@gia_xu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gia_xu<\/a>&nbsp;I can see this being really useful for stuff like calling local places that never answer online, but I also wonder how awkward it gets once the conversation goes slightly off-script. Half the pain with phone calls is weird human unpredictability, not just the dialing part.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What languages are actually solid right now? Curious about Japanese specifically since that&#8217;s the founding story.<\/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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;Great question \u2014 and <strong>Japanese is absolutely our strongest, most polished language<\/strong> (founding story checks out!), plus a handful of others that are rock-solid right now.<\/p>\n<h3><\/h3>\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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;Thanks. Right now our multilingual testing is still ongoing and not fully polished yet. We\u2019ve primarily focused on English and Japanese. Regular conversational flow works well, though we\u2019ve noticed pronunciation clarity can be spotty for long number sequences like phone numbers and we&#8217;re still working on it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Do you have a demo call recording somewhere? I want to hear the natural interruptions in action.<\/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\/@alexis_rodriguez7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexis_rodriguez7<\/a>&nbsp;Sure thing! We have real call demo recordings available. You can also hop onto our platform directly and use your free trial credits to place test calls yourself, and experience how it smoothly handles real-time interruptions and overlapping conversations firsthand.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@alexis_rodriguez7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexis_rodriguez7<\/a>&nbsp;Yeah, sure:  <a href=\"https:\/\/s3.pollyreach.ai\/voice-agent\/20260415\/0d0a0239-8da8-4336-a909-9b882bbd6f21.mp3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/s3.pollyreach.ai\/voice-agent\/20260415\/0d0a0239-8da8-4336-a909-9b882bbd6f21.mp3<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@alexis_rodriguez7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexis_rodriguez7<\/a>&nbsp;Regarding the point about interruptions, I will find a better example and post it here shortly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This  feels like one of those products where the demo probably converts people instantly. Would love to test it on real world calls.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@geoffrey_reed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@geoffrey_reed<\/a>&nbsp;It performs extremely well in actual daily calling scenarios, from tedious customer service waits, restaurant bookings to spam call filtering. You can jump straight into real-world call tests right away, experience its smooth dialogue, long on-hold endurance and flexible response logic firsthand, and feel how much it cuts down your trivial phone work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@geoffrey_reed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@geoffrey_reed<\/a>&nbsp;Appreciate that! Feel free to test it on real\u2011life calls and share your thoughts. We\u2019re continuously iterating to improve the experience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Quo answers phones. <\/p>\n<p>Does your software make calls?<\/p>\n<p>Will the agent identify itself as AI without prompting?<\/p>\n<p>Thanks. \ud83d\ude4f<\/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\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;Yes to both \u2014 PollyReach is primarily outbound (with inbound as well), and our agent always self-identifies as an AI on every call by default, no prompt needed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 one of those products where the demo can be simple but the real test is annoying real life. Booking a table sounds easy until the place is closed, the number is stale, the person asks a follow-up question, or the bot has to negotiate between &#8220;7pm&#8221; and &#8220;we only have 7:45.&#8221;<\/p>\n<p>I\u2019d love to see examples of failed or partial calls, not just successful ones. A useful agent should say \u201cI called, they didn\u2019t answer,\u201d \u201cthey only had 8pm,\u201d or \u201cI wasn\u2019t confident enough to confirm,\u201d instead of pretending the task completed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@zact\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zact<\/a>&nbsp;Great observation \u2014 you\u2019re absolutely right that real\u2011world edge cases are where these agents truly get tested, far beyond simple ideal\u2011case demos.<\/p>\n<\/p>\n<p>This is exactly the core problem we\u2019ve built PollyReach around solving. We strictly report call outcomes as they actually happen, with full transparency: users get clear status labels (Confirmed \u00b7 Voicemail \u00b7 Declined \u00b7 No answer), plus full call summaries, transcripts, and recordings for every call.<\/p>\n<\/p>\n<p>We also proactively flag potential edge\u2011case scenarios for users ahead of calls(e.g., 6:30\u20137:30 if 7\u202fPM is unavailable), though we\u2019re still refining how we handle tricky real\u2011world exceptions. Most importantly, our AI never over\u2011claims success or pretends a task is completed when it isn\u2019t.<\/p>\n<h3><\/h3>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Thanks! Means a lot on launch day \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats! great team\uff01\uff01\uff01<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@gideon_ge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gideon_ge<\/a>&nbsp;Thank you so much! Really appreciate your sincere support\ud83e\udd70<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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&#8217;t you afraid that some people may use it for harmful purposes? E.g. automating the frauds (against banks and its users, or &#8220;behaving like relatives&#8221;)? How can we protect \/ avoid such an usage?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Genuinely good question \u2014 this is something we treat as a first-class design constraint, not a patch. <\/p>\n<p>Every outbound call goes through a multi-layer guardrail before it dials. We screen for impersonation, deceptive intent, and known abuse patterns; Polly is required to identify itself as an AI on every call (so it can&#8217;t pose as a person or a relative); and there&#8217;s an anti-harassment layer on top.<\/p>\n<p>Happy to go deeper privately if you&#8217;re working on similar problems. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Finally, an AI that can actually wait on hold instead of hanging up after 10 seconds. Take my credits.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@antonio_manuel1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antonio_manuel1<\/a>&nbsp;Hahaha totally agree! It can stay on hold patiently for ages without dropping the line at all. Go ahead and use your free credits to experience it right away!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@antonio_manuel1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@antonio_manuel1<\/a>&nbsp;Haha thanks!  Looking forward to seeing what you put it on.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does Polly learn from previous calls with the same vendor, or is each call fresh?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@colton_drake\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@colton_drake<\/a>&nbsp;It can learn and retain call habits with the same vendor.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>That&#8217;s a very good tool. I tried to use it to book a restaurant for me and guess what? it succeed! Damn good. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@huanghaosteven\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@huanghaosteven<\/a>&nbsp;Wow that\u2019s awesome!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats! <br \/>Quick question: Can Polly transfer a live call to me if it realizes it&#8217;s out of its depth?<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@asher_luca\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asher_luca<\/a>&nbsp;Great question! That\u2019s a really key point.<\/p>\n<p>Right now, before each call, our agent pre\u2011plans for edge\u2011case scenarios and confirms authorization with you upfront. If during the call it encounters questions it cannot answer or sensitive information, we will end the call first and notify you afterward. We are also exploring a feature where Polly proactively calls you when it\u2019s out of its depth. We welcome more discussions and feedback \u2014 it\u2019s extremely helpful for us!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How many simultaneous calls can one Polly agent handle? Asking for the property manager.<\/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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@owen_shaw2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@owen_shaw2<\/a>&nbsp;A single Polly agent can stably handle <strong>up to 10 simultaneous calls<\/strong> smoothly.<\/p>\n<p>It works perfectly for property management teams to deal with inquiries, follow-ups and routine service calls in bulk.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is there an API or MCP for developers? Would love to plug this into my own agent.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@julie_c_wang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julie_c_wang<\/a>&nbsp;Yes, we officially provide both API and MCP access for developers. Feel free to send us a private message if you need access and detailed integration docs. You can seamlessly connect our calling capabilities into your own AI agents and custom systems with ease.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@julie_c_wang\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julie_c_wang<\/a>&nbsp;Absolutely! We provide a skill for AI agents. Developers can easily install it via clawhub<strong> <\/strong>with one command: <em>clawhub install PollyReach.<\/em> Alternatively, you can simply send this link to your agent, and it will finish the installation automatically: <em>Read <\/em><a href=\"https:\/\/www.pollyreach.ai\/SKILL.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><em>https:\/\/www.pollyreach.ai\/SKILL.md<\/em><\/a><em> and follow the instructions to install PollyReach.<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 your launch! I have a small question: Does it integrate with anything yet (calendar, email, Slack), or is it standalone for now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;It already supports email notifications now.Once the AI finishes a call, all call results, booking details and key conversation summaries will be automatically sent to your bound email inbox for easy viewing and record keeping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@crystalmei\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@crystalmei<\/a>&nbsp;Thanks and great idea! We are also considering integrating with calendars in our roadmap. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>One scene keeps playing in my head: strolling through the streets with an AI companion, like the movie <em>Her<\/em> finally stepping into real life. She just gets it, makes the call, and the table is already waiting when we show up.<\/p>\n<p>PollyReach made that dream real. So cool!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@genedai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@genedai<\/a>&nbsp;We truly built PollyReach to turn this soft futuristic daily dream into tangible reality. No hassle, no awkward calls, just peaceful moments and perfectly arranged plans. Such a wonderful feeling to make this lifestyle come true \u2728<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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! curious can you give it specific instructions before a call, like &#8220;only book if there&#8217;s outdoor seating available&#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\/@carlvert\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carlvert<\/a>&nbsp;Absolutely you can! That\u2019s one of our most practical core features.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Where do you find the number? Actually, I want to know the limit. What kind of tasks would be impossible to complete?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@charlenechen_123\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charlenechen_123<\/a>&nbsp;<br \/>You can easily get and manage calling numbers directly inside the PollyReach platform.<\/p>\n<p>As for usage limits:<\/p>\n<p>We have reasonable daily outbound call volume limits to ensure stable service quality.<\/p>\n<p>In general, simple business outreach, customer follow-up and regular calling tasks are all fully supported.<\/p>\n<p>Only high-frequency bulk spam calling, massive robocalls and overly intensive continuous dialing will be restricted and cannot be completed normally.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@charlenechen_123\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charlenechen_123<\/a>&nbsp;Thanks for your great question! We\u2019ve integrated tools to source these phone numbers. Lots of government and business numbers are publicly available. At the moment, we don\u2019t support real\u2011time payment during calls yet, so our agent can\u2019t process deposits or payments mid\u2011call.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Interesting concept. My main question is how it handles calls where the other side gets suspicious or asks to speak to a real person \u2014 does it disclose that it&#8217;s an AI? Would love to know more about how that&#8217;s handled before fully committing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@luke_pioneero\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luke_pioneero<\/a>&nbsp;Great question, this is fully taken care of in our workflow.<\/p>\n<p>First off, our AI is programmed to act naturally in conversations. Whenever the recipient grows suspicious, doubts the identity or directly requests to talk to a real human agent, the system will respond properly right away.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@luke_pioneero\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luke_pioneero<\/a>&nbsp;Great question!! Yes, we will state at the beginning that we are an AI assistant representing the owner. If the caller explicitly refuses to communicate with AI, we will not follow up further and will notify the owner about the situation. For enterprise\u2011level clients, we support transferring calls to live human.<\/p>\n<\/p>\n<h3><\/h3>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Loving this <br \/>The free phone number + credits to test is the right move, i been waiting for something like this that doesn&#8217;t require API setup. Just installed \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;So glad you love it!  \ud83c\udf89<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@gia_xu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"gia_xu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gia_xu<\/a> is it possible to connect it to an existing, real phone number so it can serve as my &#8220;assistant&#8221;?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hunter_powabase\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hunter_powabase<\/a>&nbsp;Great question! We have received multiple user requests for it and we\u2019re working on it. We\u2019ll roll out this feature soon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 does it handle situations where the restaurant asks for a credit card to hold the reservation \u2014 does the AI pause and hand off to you, or is that not in scope 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hirogure\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hirogure<\/a>&nbsp;It won\u2019t input or confirm any payment, card info or deposit details on its own<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hirogure\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hirogure<\/a>&nbsp;That is a very sharp and important question. When payment\u2011related information is involved right now, the AI will state it cannot handle such requests and notify the owner after the call.<\/p>\n<p> We\u2019ve been closely evaluating this feature, but we take personal sensitive and payment data very seriously. We want to find the right approach and timing before supporting these high\u2011privacy scenarios.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>From your terms:<\/p>\n<\/p>\n<ul>\n<li>\n<p><strong>Prior Express Consent<\/strong> for non-marketing automated calls<\/p>\n<\/li>\n<\/ul>\n<p>What does that involve? How would I get consent prior to calling a restruant like in your example?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>\u5b83\u4e0d\u4ec5\u6210\u529f\u6253\u901a\u7535\u8bdd\uff08\u9910\u5385\u4e0d\u63a5\u53d7\u5728\u7ebf\u9884\u8ba2\uff09\uff0c\u8fd8\u80fd\u7075\u6d3b\u5e94\u5bf9 &#8220;\u53ea\u6709\u5427\u53f0\u5ea7\u4f4d&#8221; \u7684\u60c5\u51b5\uff0c\u5e2e\u6211\u4e89\u53d6\u5230\u4e86 7 \u70b9\u7684\u6700\u4f73\u4f4d\u7f6e\uff0c\u5168\u7a0b\u7528\u81ea\u7136\u7684\u65e5\u8bed\u5bf9\u8bdd\uff0c\u9910\u5385\u5b8c\u5168\u6ca1\u53d1\u73b0\u662f AI \u5728\u6c9f\u901a<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@summer_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@summer_dev<\/a>&nbsp;Haha<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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! How does Polly handle conversations that start to become negative or unproductive?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@nisa_meray\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nisa_meray<\/a>&nbsp;Polly has built-in sentiment detection to manage negative &amp; unproductive chats smartly<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 love this, for someone who has struggled with this exact problem.  I could definitely see the use case for this when planning a vacation and wanting to book reservations ahead of time.<\/div>\n<div class=\"comment-actions\">\n<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\/@marco_pott\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marco_pott<\/a>&nbsp;Totally get 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\/@marco_pott\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marco_pott<\/a>&nbsp;Thank you so much! We\u2019re thrilled this resonates with you. Planning vacation bookings ahead of time is exactly one of our core real\u2011world use cases, and we really appreciate your support.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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>Feels less like one of those robotic AI callers and more like an actual assistant handling stuff for you.<\/p>\n<p>The \u201cbook me a table\u201d use case is honestly super relatable \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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@campritchard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@campritchard<\/a>&nbsp;Couldn\u2019t agree more!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@campritchard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@campritchard<\/a>&nbsp;Appreciate this feedback! We built PollyReach to sound like a real helpful assistant, not a rigid robot. Restaurant bookings really hit home for most people \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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on launching this useful tool! I&#8217;m curious whether the numbers PollyReach has would be considered valid ones. I know many cell phones would automatically filter seemingly suspicious calls, so I would like to make sure the calls will actually get through.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Hello &#8211; what sort of compliance do you have right now? Can it be used in healthcare?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/a>&nbsp;We follow standard global data privacy regulations including <strong>GDPR, CCPA and local telecom call rules<\/strong>. All call recordings, transcripts and user data are fully encrypted with strict access control.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@its_maddy_a\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@its_maddy_a<\/a>&nbsp;Great question! We haven\u2019t prepared for healthcare\u2011related use cases yet, but we\u2019d consider building support if there are suitable real\u2011world scenarios. Could you share more about your use case and the specific problems you\u2019re hoping to solve?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/7JHDW73XTTPZ3A\" class=\"app-title\">Drizz<\/a><\/p>\n<div class=\"one-liner\">Mobile tests that write, run, and fix themselves<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">382<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Drizz\u662f\u4e00\u6b3e\u57fa\u4e8eVision AI\u7684\u79fb\u52a8\u7aef\u6d4b\u8bd5\u81ea\u52a8\u5316\u5e73\u53f0\uff0c\u8ba9\u5f00\u53d1\u8005\u7528\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u6d4b\u8bd5\u610f\u56fe\uff0c\u5373\u53ef\u5728\u771f\u5b9e\u8bbe\u5907\u4e0a\u81ea\u52a8\u751f\u6210\u3001\u6267\u884c\u5e76\u81ea\u6211\u4fee\u590d\u6d4b\u8bd5\u7528\u4f8b\uff0c\u5f7b\u5e95\u6446\u8131\u811a\u672c\u7f16\u5199\u548c\u9009\u62e9\u5668\u7ef4\u62a4\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\/69d7223c-e1f9-48b9-a65b-9ec46dc4dad1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/77e2ef12-12cf-41fe-aa14-3a00e1b8c2f8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5eda46e8-f4e2-4486-aeec-3655792e6a6f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f0411b7c-d89c-4c90-a744-9da4298dc4e4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6288e743-1012-4040-8b6c-971252fd12ac.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\/50780ed4-163a-4f8a-9468-cc61d394e6c6.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/S0n2quQ9kfU\"><source src=\"https:\/\/youtu.be\/S0n2quQ9kfU\" 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><br \/>\n            <span class=\"tag\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6d4b\u8bd5\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u7aef\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u89c6\u89c9AI<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u65e0\u811a\u672c\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">CI\/CD\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6211\u4fee\u590d\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u771f\u5b9e\u8bbe\u5907\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">iOS\/Android<\/span><br \/>\n            <span class=\"tag\">\u8d28\u91cf\u4fdd\u969c<\/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\u5173\u5207\uff1aVision AI\u7684\u786e\u5b9a\u6027\uff08\u62c5\u5fc3\u8bef\u5224\u548c\u81ea\u6108\u884c\u4e3a\uff09\u3001\u5ba1\u8ba1\u8ffd\u6eaf\u80fd\u529b\u3001\u591a\u6b65\u9aa4\u590d\u6742\u6d41\u7a0b\u5904\u7406\u3002\u6b63\u9762\u53cd\u9988\u96c6\u4e2d\u5728\u514d\u811a\u672c\u3001\u771f\u673a\u8fd0\u884c\u548c\u56e2\u961f\u54cd\u5e94\u901f\u5ea6\u3002\u5efa\u8bae\u4f18\u5316\u65b0\u624b\u5f15\u5bfc\uff08\u7b2c\u4e09\u6b65\uff09\u3002\u521b\u59cb\u4eba\u627f\u8bfa95%+CI\u53ef\u9760\u6027\u548c\u53ef\u4fee\u6539\u4fdd\u5b58\u6d4b\u8bd5\u6b65\u9aa4\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                Drizz\u7684\u6807\u8bed\u201cMobile tests that write, run, and fix themselves\u201d\u542c\u8d77\u6765\u50cf\u662f\u4e00\u4e2a\u5b8c\u7f8e\u7684\u7ec8\u7ed3\u8005\uff0c\u4f46\u6b8b\u9177\u7684\u73b0\u5b9e\u662f\uff1aAI\u6d4b\u8bd5\u5de5\u5177\u6700\u5927\u7684\u654c\u4eba\u4e0d\u662f\u4ee3\u7801\uff0c\u800c\u662f\u4fe1\u4efb\u3002\u7528\u6237Ferdi\u7684\u8bc4\u8bba\u582a\u79f0\u7280\u5229\u2014\u2014Vision AI\u7684\u201c\u81ea\u6108\u201d\u53ef\u80fd\u53d8\u6210\u201c\u81ea\u6211\u6b3a\u9a97\u201d\uff0c\u4e00\u4e2a\u6a21\u578b\u5728\u5468\u4e8c\u548c\u5468\u4e09\u5bf9\u540c\u4e00\u5c4f\u5e55\u7684\u4e0d\u540c\u89e3\u8bfb\uff0c\u6bd4\u56fa\u5b9a\u7684XPath\u9519\u8bef\u66f4\u96be\u8c03\u8bd5\u3002\u521b\u59cb\u4ebaYash\u7528\u201c\u7ed3\u6784\u5316\u53ef\u9760\u6027\u5c42\u201d\u548c\u201c\u4e0d\u91cd\u65b0\u89e3\u91ca\u6210\u529f\u5b9a\u4e49\u201d\u6765\u56de\u5e94\uff0c\u8fd9\u662f\u6b63\u786e\u7684\u65b9\u5411\uff0c\u4f46\u5173\u952e\u5728\u4e8e\u6267\u884c\u7ec6\u8282\uff1a\u7f6e\u4fe1\u5ea6\u9608\u503c\u5982\u4f55\u8bbe\u5b9a\uff1f\u5931\u8d25\u56de\u653e\u673a\u5236\u80fd\u5426100%\u590d\u73b0\uff1f\u5bf9\u4e8e\u76d1\u7ba1\u5408\u89c4\u7528\u6237\u63d0\u51fa\u7684\u5ba1\u8ba1\u8ffd\u67e5\u9700\u6c42\uff0c\u5f53\u524d\u201c\u8bb0\u5f55agent\u52a8\u4f5c\u548c\u63a8\u7406\u201d\u7684\u56de\u7b54\u8fd8\u4e0d\u591f\u5177\u4f53\u2014\u2014\u9700\u8981\u53ef\u5bfc\u51fa\u7684\u65f6\u95f4\u6233\u3001\u7248\u672c\u5feb\u7167\u548c\u64cd\u4f5c\u65e5\u5fd7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                Drizz\u7684\u771f\u6b63\u4ef7\u503c\u5728\u4e8e\u5c06\u6d4b\u8bd5\u4ece\u201c\u5de5\u7a0b\u8d1f\u62c5\u201d\u964d\u7ea7\u4e3a\u201c\u4ea7\u54c1\u601d\u7ef4\u201d\u3002\u5f53\u8bbe\u8ba1\u5e08\u79fb\u52a8\u6309\u94ae12\u50cf\u7d20\u4e0d\u518d\u5bfc\u81f43\u5c0f\u65f6\u8c03\u8bd5\uff0c\u5f53\u201c\u641c\u7d22\u897f\u73ed\u7259\u4f4f\u5bbf\u201d\u8fd9\u79cd\u4e1a\u52a1\u8bed\u8a00\u76f4\u63a5\u53d8\u6210\u53ef\u8fd0\u884c\u7684\u6d4b\u8bd5\uff0c\u5b83\u786e\u5b9e\u89e3\u51b3\u4e86\u6d4b\u8bd5\u6210\u672c\u4e0e\u8f6f\u4ef6\u590d\u6742\u5ea6\u6210\u6b63\u6bd4\u7684\u884c\u4e1a\u987d\u75be\u3002\u4f46\u6709\u4e24\u4e2a\u6f5c\u5728\u9677\u9631\uff1a\u4e00\u662f\u201c\u81ea\u7136\u8bed\u8a00\u201d\u5e76\u975e\u4e07\u80fd\uff0c\u590d\u6742\u591a\u6b65\u9aa4\u6d41\u7a0b\uff08\u5982\u57fa\u4e8e\u8d2d\u7269\u8f66\u72b6\u6001\u7684\u7ed3\u8d26\uff09\u7684\u610f\u56fe\u63cf\u8ff0\u672c\u8eab\u5c31\u9700\u8981\u6df1\u539a\u4e1a\u52a1\u77e5\u8bc6\uff1b\u4e8c\u662f\u5bf9\u5df2\u6709Maestro+Claude CI\/CD\u7ba1\u9053\u7684\u56e2\u961f\uff0cDrizz\u9700\u8981\u8bc1\u660e\u5b83\u4e0d\u662f\u53e6\u4e00\u4e2a\u201c\u989d\u5916\u5de5\u5177\u201d\uff0c\u800c\u662f\u80fd\u79d2\u7ea7\u66ff\u6362\u73b0\u6709\u94fe\u6761\u7684\u201c\u8d85\u7ea7\u8282\u70b9\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6700\u540e\uff0c\u521b\u59cb\u4eba\u56e2\u961f\u6765\u81eaAmazon\u548cCoinbase\u7684\u80cc\u666f\u662f\u52a0\u5206\u9879\uff0c\u4f46\u8fd9\u70b9\u4e0e\u7528\u6237\u5728\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201c\u6d4b\u8bd5\u662f\u7a0e\u4e0d\u662f\u5de5\u5177\u201d\u4e00\u6837\uff0c\u672c\u8d28\u4e0a\u662f\u5bf9\u73b0\u6709\u6846\u67b6\uff08Appium\u3001XCUITest\uff09\u7684\u5426\u5b9a\u3002Drizz\u7684\u6210\u529f\u4e0e\u5426\u4e0d\u53d6\u51b3\u4e8e\u5b83\u80fd\u89e3\u51b3\u591a\u5c11\u95ee\u9898\uff0c\u800c\u5728\u4e8e\u5b83\u80fd\u591a\u5927\u7a0b\u5ea6\u4e0a\u5c06\u201c\u6d4b\u8bd5\u201d\u4ece\u4e00\u6b21\u6027\u75db\u82e6\u8fc1\u79fb\u5230\u201c\u6301\u7eed\u4fe1\u4efb\u201d\u7684\u65b0\u8303\u5f0f\u3002\u5efa\u8bae\u56e2\u961f\u5c3d\u5feb\u516c\u5f00\u201c\u5e7b\u89c9\u7387\u201d\u548c\u201cCI\u901a\u8fc7\u7387\u201d\u7684\u57fa\u51c6\u6570\u636e\uff0c\u5e76\u5f00\u653e\u6d4b\u8bd5\u6b65\u9aa4\u7684\u5bfc\u51fa\u548c\u7248\u672c\u5bf9\u6bd4\u529f\u80fd\uff0c\u8fd9\u662f\u5efa\u7acb\u4e13\u4e1a\u4fe1\u4efb\u7684\u6572\u95e8\u7816\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\">Drizz<\/span>\n                <\/div>\n<div class=\"comment-content\">Drizz is an AI-powered mobile test automation platform built around intent-based testing. Simply describe what you want to test in plain English, Drizz executes it on a real device using Vision AI and automatically authors a reusable test case. No scripting, no flaky selectors, no manual maintenance. It adapts to dynamic UIs, integrates with your CI\/CD pipeline, and gives your team reliable end-to-end coverage without the overhead.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<\/p>\n<p>I&#8217;m Yash, co-founder of Drizz. Along with my co-founders, Partha and Asad, we&#8217;ve spent the last year building the mobile testing tool we always wished existed.<\/p>\n<\/p>\n<p><strong>\ud83d\udca1 How it started<\/strong><\/p>\n<p>I once spent 3 hours debugging a broken test,&nbsp; only to find a designer had moved a button 12px to the left. That was the moment I knew legacy systems was broken. Not &#8220;could be improved.&#8221; Fundamentally broken.<\/p>\n<p>XPaths that shatter when a UI changes. Test suites that need a dedicated engineer just to stay alive. We lived this at Amazon and Coinbase. Teams shipping slower than they should because testing was a tax, not a tool. So we built our way out of it.<\/p>\n<\/p>\n<p><strong>\ud83d\ude80 One sentence in. A complete test out.<\/strong><\/p>\n<p>Drizz is a Vision AI mobile testing agent. You write what you want to test in plain English,&nbsp; just the goal. Drizz reasons about your app, generates the full test, and executes it on a real device.<\/p>\n<p>&#8220;Search for stays in Spain for 8th\u201310th April for one adult&#8221;<\/p>\n<p>\u2192 Drizz reads the app visually, builds every step, runs it on a real iPhone. No selectors. No scripts. No maintenance.<\/p>\n<\/p>\n<p><strong>What Drizz does differently:<\/strong><\/p>\n<p>\u270d\ufe0f Plain English authoring: describe the goal, Drizz builds the test<\/p>\n<p>\ud83d\udd2e Vision AI execution: reads your app like a human, not the DOM<\/p>\n<p>\ud83e\ude79 Self-healing tests: UI changed? Drizz adapts automatically<\/p>\n<p>\ud83d\udcf1 Real device execution:&nbsp; iOS &amp; Android, not simulators<\/p>\n<p>\ud83d\udd17 CI\/CD native: GitHub Actions, GitLab, Jenkins, Azure DevOps<\/p>\n<\/p>\n<p><strong>\ud83d\udcca Results from teams using Drizz:<\/strong><\/p>\n<p>\u26a1 10\u00d7 faster test authoring vs Appium<\/p>\n<p>\ud83d\udee0\ufe0f 67% less maintenance overhead<\/p>\n<p>\u2705 20000+ test cases automated without a single selector<\/p>\n<\/p>\n<p><strong>\ud83e\udd1dNone of this happens without the full Drizz team<\/strong><\/p>\n<p>Every line of code, every design call, every customer conversation that shaped Drizz,&nbsp; that&#8217;s the whole team showing up, every single day. Huge love to everyone who&#8217;s been in the trenches with us. You know who you are. \ud83e\udde1<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4a770fa1-96e1-429b-bf51-7df47e9bfb45.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p><\/p>\n<p><strong>\ud83d\ude4f Our ask today<\/strong><\/p>\n<p>Not asking for upvotes, asking for honest feedback.<\/p>\n<p>\u2192 What does your mobile testing setup look like right now?<\/p>\n<p>\u2192 What would make switching to Drizz a no-brainer for your team?<\/p>\n<p>Drop a comment. We read everyone, and it directly shapes the roadmap.<\/p>\n<p><strong>\ud83d\udc49 <\/strong><a href=\"http:\/\/drizz.dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>drizz.dev<\/strong><\/a><\/p>\n<p>Thanks to <a href=\"https:\/\/www.producthunt.com\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a> for hunting us, and to the entire Product Hunt community for showing up for builders. Days like today are why we build in public. \ud83d\ude80<\/p>\n<p>\u2014 Yash <a href=\"https:\/\/www.producthunt.com\/@yash_varyani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yash_varyani<\/a> , Asad <a href=\"https:\/\/www.producthunt.com\/@asad_abrar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asad_abrar1<\/a> , Zaid <a href=\"https:\/\/www.producthunt.com\/@zaid_ahmed_ansari\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaid_ahmed_ansari<\/a> , Zaid <a href=\"https:\/\/drizzworkspace.slack.com\/team\/U08CA4DBUTE\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@Zaid Abdul Bari<\/a>, Sreetama <a href=\"https:\/\/www.producthunt.com\/@sreetama_chakraborty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sreetama_chakraborty<\/a> , Partha <a href=\"https:\/\/www.producthunt.com\/@partha_sarathi_mohanty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@partha_sarathi_mohanty<\/a>, &amp; the whole Drizz team<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>23<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Thrilled to see this go live! All the best to team.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@yash_varyani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yash_varyani<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@asad_abrar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@asad_abrar1<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@zaid_ahmed_ansari\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaid_ahmed_ansari<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@sreetama_chakraborty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sreetama_chakraborty<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@partha_sarathi_mohanty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@partha_sarathi_mohanty<\/a>&nbsp;I\u2019m somewhere in the middle agent-first for scaffolding and repetitive work, human-in-the-loop for architecture and risky edits. The sweet spot is when the agent moves fast but still gives me clean checkpoints to review instead of micromanaging every token.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m building a couples app on iOS, and my whole testing setup right now is XCUITest on simulator + manual checking, archived to TestFlight by hand. Probably the exact cohort that&#8217;d never write Appium tests but might genuinely try this. The question I&#8217;d love your take on: with Vision AI driving execution, how do you keep tests deterministic across CI runs? Selectors fail predictably&#8230;locator doesn&#8217;t exist, you fix it. A vision model can fail by misreading a screen state on one run and reading it correctly the next, which feels harder to debug. And there&#8217;s a scary version of &#8220;self-healing&#8221; where the AI silently re-interprets what success means. What&#8217;s the rerun \/ confidence story, and where do you draw that line?<\/p>\n<p>Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;&#8211; Really sharp question, and honestly the right one to ask before trusting any Vision AI system with CI.<\/p>\n<p>The short answer: we&#8217;ve put a structured reliability layer underneath the vision execution specifically to prevent the &#8220;reads it differently on Tuesday&#8221; problem. It&#8217;s not raw model inference on every step \u2014 there&#8217;s a multi layer determinism mechanism that makes repeat runs behave consistently, not probabilistically. All of our customers have hit 95% + reliability on the tests in CI\/CD<\/p>\n<p>On self-healing \u2014 this is the part most tools get wrong, and it&#8217;s something we were very deliberate about. The healer doesn&#8217;t reinterpret what success means. It only engages when the UI has structurally changed around a test that was written correctly. Classic example: you wrote a test when your app had no color picker. A later build adds one. The healer identifies the missing piece, executes it and gets back on the path you defined, it doesn&#8217;t decide your test meant something else. The intent you authored is treated as fixed; only the route to executing it can adapt. <em>A single tests can have multiple healer sessions dependign on how far behind your testcases are wrt your release version<\/em><\/p>\n<p>Given you&#8217;re on XCUITest + TestFlight today, this would likely slot in without much friction \u2014 worth a conversation if you want to see it on a real flow.<\/p>\n<p>Try Out Drizz right here, we are giving free launch day credits: <a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/a>. Reach out to us in case you face any issues. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>8<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ferdi_sigona\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ferdi_sigona<\/a>&nbsp;Really thoughtful question! I&#8217;m not a testing expert, but from a builder&#8217;s perspective \u2014 I think the key is having a confidence threshold where the AI flags ambiguity instead of silently re-interpreting. Let the human decide when confidence is below, say, 90%. Curious to hear how Drizz handles this too! \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>We have regulatory requirements around audit trails. Every test execution needs to be traceable back to who ran it, when, what version of the app, and what passed or failed. Do you store execution history and is it exportable?<\/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\/@aniruddhd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@aniruddhd<\/a>&nbsp;we do record agent&#8217;s actions and reasoning, along with infra and app details. tell me more about your compliance needs<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Noob vibe-developer here, currently testing the most annoying part of the building process lol. Excited to try this out!<\/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>Testing being the most annoying part is canonically true \ud83d\ude02  Drizz is literally built for vibe-developers,  go have fun with it!<\/p>\n<p>Tysm Nireka \ud83d\udc9c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@nireka\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nireka<\/a>&nbsp;Interesting. Which test scenario are you testing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I also liked that it runs on real devices because that\u2019s where most testing issues actually show up \ud83d\ude05. <\/p>\n<p> Congrats to the whole Drizz team on the launch \ud83d\ude80! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@nausad_alam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nausad_alam<\/a>&nbsp;EXACTLY! Simulators just don&#8217;t catch what real devices do \ud83d\ude05 <\/p>\n<p>That&#8217;s why we made it core to how Drizz works. Thanks so much for the love, Nausad \ud83d\udc9c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can we test mobile apps on a phone\/ mobile OS as well? Something like a TestFlight Log Interceptor or Android equivalent where we can test an app directly on the phone, or is it exclusively for the desktop form factor? Also, are VS-Code compatible IDEs supported?<\/p>\n<p>Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@koishore\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@koishore<\/a>&nbsp;<\/p>\n<p>Yes . real device testing is fully supported. You can connect a physical iOS or Android device locally and run tests directly on it, with no SDK or agent embedded in your app. Testers can plug in their actual phone, or use emulators\/simulators, and validate flows on real hardware.<\/p>\n<p>On the TestFlight \/ log-interceptor question &#8211; for network-level visibility, network logs from device farms like BrowserStack and LambdaTest are surfaced, so you get that coverage during cloud test runs.<\/p>\n<p>On form factor &#8211; Drizz Desktop runs on your computer as the authoring and control surface, while the tests themselves execute on real mobile devices or emulators. So the workflow is: <em>author on desktop, tests run on the phone. And it isn&#8217;t limited to interactive use &#8211; Drizz runs headless in CI\/CD, so the same tests execute automatically on every build or pull request, not just when someone&#8217;s at the desktop app<\/em>. <\/p>\n<p>On IDE integration &#8211; there&#8217;s no VS Code extension today, but a Drizz CLI is coming, which makes it editor-agnostic out of the box: it runs in any terminal, slots into any VS Code-compatible IDE, and drops straight into CI\/CD scripts. So you won&#8217;t be locked to a specific editor.<\/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 looks like a game changing for the mobile app testing. it&#8217;s been a pain to update the test cases everytime some changes happens to the ui. Writing intent and the let the drizz take over test generation and execution is amazing use of AI.  <br \/>Can I modify and save the test case steps after they are generated from intent ? for example, I want to change only one specific steps form entire test steps will it allow and remeber next time whenever I write the same intent ? <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sp_713\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sp_713<\/a>&nbsp;Hey Sunil,<\/p>\n<p>Thanks for checking in. Yes you can always modify the test case that is generated by the tool and perfect it according to your need, and when you run a similar intent it will understand your preference.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Tried Drizz last month after a friend recommended it. Worked surprisingly well on our app \u2014 the onboarding tutorial inside the product could use a polish (got a bit lost on step 3) but once you&#8217;re past that it&#8217;s smooth.<\/p>\n<p>&nbsp;<\/p>\n<p>The team is super responsive on Slack. That counts for a lot this early.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@borato_rohan1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@borato_rohan1<\/a>&nbsp;Step 3 is officially on our list \ud83d\udc40 thanks for flagging. That kind of specific feedback is gold.<\/p>\n<p>And really glad to hear the team&#8217;s been helpful! That&#8217;s something we genuinely care about.<\/p>\n<p>Thanks for trying, Drizz, Rohan \ud83d\udc9c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is awesome !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@srikrishna_swaminathan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@srikrishna_swaminathan<\/a>&nbsp;Appreciate it sir !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@srikrishna_swaminathan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@srikrishna_swaminathan<\/a>&nbsp;Glad you liked 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>&#8220;Testing was a tax, not a tool&#8221; is a great line, and the 12px button story is painfully relatable. As a fellow builder in the automation space, I love that you went vision-first. Brittle XPaths have wasted more of my life than I&#8217;d like to admit. <\/p>\n<\/p>\n<p>Congrats on the launch, Yash, rooting for the whole team \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@varunrai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@varunrai<\/a>&nbsp;the vision-first bet gets more interesting from here. Right now the heavy reasoning runs where the compute is, but the direction we&#8217;re betting on is smaller, sharper models that run on the device itself \u2014 testing that&#8217;s faster because it isn&#8217;t waiting on a round trip, and more accurate because the model is specialized for screens rather than general-purpose. <\/p>\n<p>Means a lot coming from someone building in the same space \u2014 rooting for your work too.<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Try Out Drizz right here, we are giving free launch day credits: <a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/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\">I remember I had to buy one more test phone to run mobile tests in my previous org. I hope that is solved forever<\/p>\n<p>Congrats team Drizz\ud83d\ude80\u2728<\/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\/@manish_choudhary19\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manish_choudhary19<\/a>&nbsp; The &#8220;let me just buy one more phone&#8221; struggle is SO real \ud83d\ude05<\/p>\n<p>You won&#8217;t need to anymore, Drizz handles all of that for you!<\/p>\n<p>Thanks so much, Manish \ud83d\udc9c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Complexity of the world is growing and we need more than just one test solution. As a fellow builder of AI Testing tools and Tools to Test for AI &#8211; I like the approach of Drizz. Running tests on mobile was already harder in the pre-AI world and I wish Drizz makes it easier for all of us. Best wishes team Drizz. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@pradeepsoundararajan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@pradeepsoundararajan<\/a>&nbsp;Means so much coming from a builder, Pradeep \ud83d\udc9c <br \/>You&#8217;re so right, one tool will never solve all of it. Mobile QA was already wild pre-AI, now there&#8217;s a whole new layer. Rooting for Bugasura 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Curious how it handles multi-step flows where the UI state depends on previous actions \u2014 like a checkout that changes based on what&#8217;s in the cart. Does the intent description need to account for that, or does Vision AI figure it out contextually?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats with the launch! How can one  with pipeline of Maestro + Claude Code benefit Drizz? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, spent some time on Drizz&#8217;s page and the no-script mobile testing angle is what pulled me in. one thing I kept thinking about, how does the agent handle non-deterministic UI like loaders, ads, or A\/B variants? that&#8217;s usually where script-free testing falls apart in my experience.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>can we try it? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Yes<a href=\"https:\/\/www.producthunt.com\/@sudo_tallan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sudo_tallan<\/a>&nbsp;!<\/p>\n<p>Thanks for checking in.!<\/p>\n<p>You can download the app and start right away!: Download the app from  here: <a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/a><\/p>\n<p>Happy testing!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>forgot to ask you&#8230;   US and Polish Apple stores?  <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>When you write a test intent for iOS, does Drizz reuse that same intent to run on Android too, or do you author separately per platform? Curious whether the vision layer handles the UI differences automatically or if there\u2019s still some per-platform config involved.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 <a href=\"https:\/\/www.producthunt.com\/@sunnyallan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sunnyallan<\/a>&nbsp;,<\/p>\n<p>Very interesting question. With the intent, we generate the test steps, which are run in automation along with healer agents that would come to fix your test when test breaks due to UI diffs. <\/p>\n<p>Now these test scripts generated are platform agnostic,. They can run on both android and ios , provided the the app flows are similar on both platforms.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>intent-based testing is the right abstraction here. one question: if the UI shifts but the intent doesn&#8217;t (new onboarding screen, reordered step), does it auto-reconcile or do you redo the test? that&#8217;s where most vision-ai tools fall apart for us.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey<a href=\"https:\/\/www.producthunt.com\/@haili_yuan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haili_yuan<\/a>&nbsp;<\/p>\n<p>The problem you highlighted is the most common issue faced by QA and devs as of now. One small change in the UI leads to breakage of tests! <\/p>\n<p>With our mission on simplifying and easing the testing journey. We have build a few agents that would be triggered when we identify the test steps are not aligning with the UI, they simply come , identify the missing steps \/ steps needed to reconnect the test case and voila no more test case falling appart due to new changes on UI.<\/p>\n<p>Would love if you could try out a few scenarios on the tool!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 expose test results as structured data? I want to pipe results into our data warehouse for trend analysis. Like test pass rates over time, most-failing flows, etc.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hi <a href=\"https:\/\/www.producthunt.com\/@md_saquib2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@md_saquib2<\/a>&nbsp;,<\/p>\n<p>We haven&#8217;t really built much on test result export functionality yet. But I would be happy to give provide some MCP solution with which you can query your test results anytime in any format for your analysis.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The no flacy slectors promise is honestly the most compelling part here  mobile UI tests are notoriously painful to maintain at scale. Really curious to see how Drizz performs on fast-moving apps with frequent UI changes and complex flows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Hi <a href=\"https:\/\/www.producthunt.com\/@iisis__clements\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iisis__clements<\/a>&nbsp;<\/p>\n<p>That\u2019s exactly what we\u2019re trying to solve, mobile UI tests shouldn\u2019t become maintenance overload!.<\/p>\n<p>Drizz is built to handle fast moving apps and UI changes without flaky selectors constantly breaking flows. <\/p>\n<p>Checkout our case studies on our website: <a href=\"https:\/\/www.drizz.dev\/case-studies\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/case-studies<\/a> and demo videos : <a href=\"https:\/\/www.youtube.com\/@Drizzai\/videos\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/@Drizzai\/videos<\/a><\/p>\n<p>Or better, try testing a flow your self: you can download the app from here: <a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/a><\/p>\n<p>Happy testing!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is basically what mobile QA has been missing for years moving from brittle selectors to intent is a big shift.<br \/>The real test will be CI reliability over time, but if it holds up, it could seriously reduce maintenance overhead for teams shipping fast.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hassan__shah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hassan__shah<\/a>&nbsp;<\/p>\n<p>Exactly Hassan, that shift from selectors to intent is the core idea behind Drizz.<\/p>\n<p>And yes, long-term CI reliability is the real benchmark. The scripts generated\/authored by you can be seamlessly added into CI pipelines and run across widely available cloud integrations.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>We just closed our seed round and mobile is our first platform. Haven&#8217;t set up testing yet. Is it too early to start with Drizz or should we wait until we have more features 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hi <a href=\"https:\/\/www.producthunt.com\/@ragib_ahsan3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ragib_ahsan3<\/a>&nbsp;,<\/p>\n<p>Congratulations for closing the Seed round! <\/p>\n<p>You can start testing right away with Drizz. If you encounter any scenario \/ cases that we are not able to cater, give us a day or two we will prototype and deploy the enhancement! <\/p>\n<p>Looking forward!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>&nbsp;I prototype in SwiftUI and sometimes my prototypes become the actual production code. Having tests would be great but I don&#8217;t have time to write Appium scripts. Could I literally test my prototype with Drizz before handing it to the dev team?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey<a href=\"https:\/\/www.producthunt.com\/@ragib_ahsan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ragib_ahsan<\/a>&nbsp;,<\/p>\n<p>The beauty of Drizz is that you can write test case in no-code natural language. Yes you can set the prototype and write the steps or even better, describe the test case for us and we will write the steps for you and you can seamlesly run the tests on your local or on your cloud device provider.<\/p>\n<p>You can install Drizz from this link and give it a try.<a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;m on the customer support team, not engineering. When users report bugs, I can never reproduce them. Could I use Drizz to set up reproduction steps?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 <a href=\"https:\/\/www.producthunt.com\/@saquib_ibrahim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@saquib_ibrahim<\/a>&nbsp;,<\/p>\n<p>With Drizz you can define the flow or write down the test steps in natural language and run across any device scenario , like reducing the network connectivity, lowering the device battery percentage etc, you can run the tests in regression and see how often the test breaks or what the breaking point it.<\/p>\n<\/p>\n<p>You want to give it a 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is a great app. and also I want to test it out in my computer to know how it works. anyway, where&#8217;s the link for me to download this app?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@daviddprtma\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daviddprtma<\/a>&nbsp;hey,<\/p>\n<p>thanks for checking in. you can download from here: <a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/a><\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@daviddprtma\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daviddprtma<\/a>&nbsp;Hey, you can download it right here: <a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How does one install 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\/@louislecat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@louislecat<\/a>&nbsp;Hey, you can download it right here: &nbsp;<a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@louislecat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@louislecat<\/a>&nbsp;You can install using this link: <a href=\"https:\/\/www.drizz.dev\/download-desktop-app\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.drizz.dev\/download-desktop-app<\/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<\/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\/ZEXWSSPQZYCABO\" class=\"app-title\">Composer 2.5<\/a><\/p>\n<div class=\"one-liner\">Cursor\u2019s most powerful model yet<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">340<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Composer 2.5 \u662f\u9488\u5bf9 Cursor \u4ee3\u7801\u7f16\u8f91\u5668\u7684\u6df1\u5ea6\u5b9a\u5236\u6a21\u578b\uff0c\u5728\u957f\u65f6\u95f4\u3001\u591a\u6587\u4ef6\u3001\u591a\u6b65\u9aa4\u7684 Agent \u5f0f\u7f16\u7a0b\u4efb\u52a1\u4e2d\u663e\u8457\u63d0\u5347\u4e86\u667a\u80fd\u6027\u4e0e\u884c\u4e3a\u4e00\u81f4\u6027\uff0c\u89e3\u51b3\u4e86\u901a\u7528\u6a21\u578b\u5728\u590d\u6742\u7f16\u7801\u573a\u666f\u4e0b\u7684\u201c\u4e2d\u9014\u6389\u7ebf\u201d\u548c\u201c\u4e0a\u4e0b\u6587\u4e22\u5931\u201d\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\/465ac7e2-0191-4807-a1c9-5e2e50c4c77a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/53509dbd-bca5-4283-b348-ba3a78298980.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7173ede2-c455-4ddb-8cdb-8a049df9aca6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/10a742dc-9219-43e6-bc3b-5e18743e767d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5b540170-9421-4b34-8cf7-e35eaeb81b77.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bb97a337-cae4-4459-9300-1a7588019f4a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Development<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u7f16\u7a0b\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">Agent\u5f0f\u7f16\u7a0b<\/span><br \/>\n            <span class=\"tag\">\u957f\u4e0a\u4e0b\u6587<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">Cursor<\/span><br \/>\n            <span class=\"tag\">Composer<\/span><br \/>\n            <span class=\"tag\">\u591a\u6587\u4ef6\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u94fe\u7a33\u5b9a<\/span><br \/>\n            <span class=\"tag\">\u4e91\u7aefIDE<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u8001\u7528\u6237\u80af\u5b9a\u5176\u8fdb\u6b65\uff0c\u5c24\u5176\u957f\u4efb\u52a1\u7a33\u5b9a\u6027\u548c\u52aa\u529b\u6821\u51c6\u3002\u4f46\u4e5f\u6709\u76f4\u8a00\u4e0d\u8bb3\u7684\u5bf9\u6bd4\uff0c\u8ba4\u4e3a\u4ecd\u4e0d\u53ca Opus 4.7 \u548c Sonnet\u3002\u7528\u6237\u5173\u6ce8\u70b9\u96c6\u4e2d\u4e8e\uff1a\u591a\u6587\u4ef6\u8bed\u4e49\u51b2\u7a81\u5904\u7406\u3001\u957f\u65f6\u95f4\u4efb\u52a1\u94fe\uff0820+\u6b65\uff09\u7684\u72b6\u6001\u7ba1\u7406\u3001\u662f\u5426\u96c6\u6210\u65e5\u5fd7\/\u9519\u8bef\u8ddf\u8e2a\u7684\u8fd0\u884c\u65f6\u611f\u77e5\u3001\u4ee5\u53ca\u9488\u5bf9\u957f\u8f68\u8ff9\u7684\u8bad\u7ec3\u53cd\u9988\u673a\u5236\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                Composer 2.5 \u4e0d\u662f\u4e00\u6b21\u70ab\u6280\u5f0f\u7684\u53d1\u5e03\u4f1a\uff0c\u800c\u662f OpenAI\/Anthropic \u5957\u58f3\u4e4b\u5916\u7684\u201c\u5c40\u5185\u4eba\u201d\u7a81\u56f4\u3002\u5b83\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff1a\u4e0d\u5439\u5618\u57fa\u7840\u80fd\u529b\u5bf9\u6807 GPT-5\uff0c\u800c\u662f\u8bda\u5b9e\u5730\u627f\u8ba4\u201c\u7ee7\u7eed\u57fa\u4e8e Composer 2 \u5fae\u8c03\u201d\uff0c\u5e76\u5728\u201c\u52aa\u529b\u6821\u51c6\u201d\u548c\u201c\u957f\u5e8f\u5217\u6587\u672c\u53cd\u9988\u201d\u8fd9\u4e9b\u5de5\u7a0b\u5316\u7684\u7ec6\u8282\u70b9\u4e0a\u6b7b\u78d5\u3002\u8fd9\u5728 AI \u7f16\u7801\u5de5\u5177\u540c\u8d28\u5316\u4e25\u91cd\u7684\u5f53\u4e0b\uff0c\u662f\u4e00\u79cd\u6b63\u786e\u7684\u201c\u53cd\u5377\u201d\u7b56\u7565\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f18\u52bf\u5f88\u660e\u663e\uff1a\u5b83\u7cbe\u51c6\u547d\u4e2d\u4e86 Cursor \u91cd\u5ea6\u7528\u6237\u7684\u75db\u70b9\u2014\u2014\u4e0d\u662f\u5199\u4e00\u884c\u4ee3\u7801\u7684\u806a\u660e\uff0c\u800c\u662f\u5199\u5341\u4e2a\u6587\u4ef6\u3001\u91cd\u6784\u51e0\u5341\u4e2a\u51fd\u6570\u65f6\uff0c\u6a21\u578b\u80fd\u5426\u4fdd\u6301\u201c\u6e05\u9192\u201d\u3002\u8fd9\u79cd\u9488\u5bf9\u7279\u5b9a\u5de5\u4f5c\u6d41\u7684\u5f3a\u5316\u8bad\u7ec3\uff0c\u6bd4\u5355\u7eaf\u5806\u7b97\u529b\u7684\u57fa\u5ea7\u6a21\u578b\u66f4\u6709\u6548\u5730\u63d0\u5347\u4e86\u7528\u6237\u7684\u201c\u6709\u6548\u7f16\u7801\u4ea7\u51fa\u201d\u3002\u4ece\u7528\u6237\u53cd\u9988\u6765\u770b\uff0c\u90a3\u79cd\u201c\u4e0d\u518d\u9700\u8981 Opus\u201d\u7684\u547c\u58f0\uff0c\u6b63\u662f\u4ea7\u54c1\u7cbe\u51c6\u5b9a\u4f4d\u7684\u80dc\u5229\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5371\u9669\u4fe1\u53f7\u540c\u6837\u6e05\u6670\uff1a\u8bc4\u8bba\u4e2d\u6709\u4eba\u76f4\u8a00\u201c\u6bd4\u4e0d\u4e0a Opus 4.7 \u6216 Sonnet\u201d\uff0c\u8fd9\u8bf4\u660e\u5728\u5355\u4e00\u4efb\u52a1\u6216\u590d\u6742\u63a8\u7406\u7684\u7edd\u5bf9\u4e0a\u9650\u4e0a\uff0c\u5fae\u8c03\u6a21\u578b\u4ecd\u6709\u5929\u82b1\u677f\u3002\u53e6\u5916\uff0c\u7528\u6237\u5173\u4e8e\u201c\u591a\u6587\u4ef6\u8bed\u4e49\u51b2\u7a81\u201d\u548c\u201c\u957f\u4e45\u4efb\u52a1\u72b6\u6001\u7ba1\u7406\u201d\u7684\u63d0\u95ee\u975e\u5e38\u5c16\u9510\uff0c\u8fd9\u80cc\u540e\u5176\u5b9e\u662f\u6307\u51fa\u4e86 Cursor \u5f53\u524d\u67b6\u6784\u7684\u8f6f\u808b\uff1a\u6a21\u578b\u672c\u8eab\u4e0d\u9519\uff0c\u4f46 IDE \u4e0e AI \u4e4b\u95f4\u7684\u73af\u5883\u611f\u77e5\u548c\u51b2\u7a81\u89e3\u51b3\u673a\u5236\u4ecd\u7136\u7c97\u653e\u3002\u5982\u679c\u8fd9\u4e9b\u7cfb\u7edf\u7ea7\u4f53\u9a8c\u4e0d\u505a\u5f3a\u5316\uff0cComposer 2.5 \u518d\u5f3a\u4e5f\u96be\u514d\u88ab\u66f4\u539f\u751f\u96c6\u6210\u7684 Agent \u4ea7\u54c1\uff08\u5982 Devin\uff09\u964d\u7ef4\u6253\u51fb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a\u8fd9\u662f\u4e00\u6b21\u4f18\u79c0\u7684\u589e\u91cf\u4f18\u5316\uff0c\u8ba9 Cursor \u5728 Agent \u7f16\u7a0b\u8d5b\u9053\u4fdd\u4f4f\u4e86\u57fa\u672c\u76d8\uff0c\u4f46\u8ddd\u79bb\u201c\u7ec8\u7ed3 IDE \u4e4b\u4e89\u201d\u8fd8\u6709\u5f88\u957f\u7684\u5de5\u7a0b\u5316\u9053\u8def\u8981\u8d70\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Composer 2.5<\/span>\n                <\/div>\n<div class=\"comment-content\">A substantial improvement in intelligence and behavior over Composer 2, particularly on long-horizon agentic tasks.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone!<\/p>\n<p>More training scale, still aggressive pricing, and a better model for long-running coding work.<\/p>\n<p>That is Composer 2.5 in a nutshell.<\/p>\n<p>It continues from the <a href=\"https:\/\/cursor.com\/blog\/composer-2-technical-report\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">same base<\/a> as Composer 2, and this version is trained to be better at sustained work, complex instructions, communication style, and effort calibration inside Cursor.<\/p>\n<p>Targeted textual feedback helps the model improve specific mistakes inside long rollouts, while 25x more synthetic tasks push it into harder coding problems grounded in real codebases.<\/p>\n<p>Looking forward to the next larger model trained from scratch with 10x <a href=\"https:\/\/cursor.com\/blog\/spacex-model-training\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">more compute<\/a>!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a>&nbsp; The improvement on long running coding tasks is really noticeable. Great to see this focus on sustained work quality.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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<blockquote>\n<p>It continues from the same base as Composer 2.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/www.producthunt.com\/@zaczuo\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a> S\/O to Moonshot&#8217;s Kimi K2.5!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@zaczuo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zaczuo<\/a>Incredible product momentum on the hunt today! \ud83d\ude80<\/p>\n<p>Watching so many teams push complex AI workflows and multi-file structures is fascinating. However, scaling these data-dense architectures usually hits a massive wall when it comes to front-end logic, leading to heavy UX bottlenecks and fragmented visual layout consistency.<\/p>\n<p>As a Senior AI Product Designer, my focus is entirely on solving exactly that\u2014bringing institutional-grade visual authority and seamless interfaces to high-stakes products right from scratch.<\/p>\n<p>I operate completely asynchronously to protect deep work and deliver premium execution. If any founders or teams here have a stuck build or an overloaded design pipeline, my async desk is open. Drop me a line, let\u2019s build! \u26a1\ud83d\udc8e<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 cursor, been a power user for a long time now, and happy to see the native model getting better and better.<\/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>Nice to see the new models and I have been using Composer this morning &#8211; sorry for the reality check &#8211; but c&#8217;mon &#8211; Composer 2.5 does not really compare well against Opus 4.7 or Sonnet. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>That was a no-brainer upvote! Testing Composer 2.5 since yesterday, and I&#8217;m extremely impressed. 2.0 was already a good one, but with 2.5, I feel like there&#8217;s no need for Opus or GPT-5.5. Great 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The focus on long-horizon agentic tasks is the right unlock for real coding workflows. We&#8217;ve run into this building RetainSure where the model drops context mid-task once the chain gets 20+ steps deep. How does Composer 2.5 handle state management across very long multi-file agentic sessions, and is there a hard limit on task length before it degrades?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Has the team experimented with giving the agent more awareness of runtime behavior \u2014 like logs or error traces \u2014 so it can reason about what&#8217;s actually happening vs just what the code says? Curious if that&#8217;s on the roadmap.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The effort calibration piece stands out to me. We&#8217;ve had agents lose coherence around step 6 or 7 in a long agentic chain, and it&#8217;s tough to know if that&#8217;s model drift or context decay. Curious how the targeted textual feedback is applied: at the step level within a rollout, or on the full trajectory?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Specializing a model for code editing workflows rather than pure generation is the right call. Generic models fall apart on multi-file edits because they lose track of interdependencies. Building RetainSure, we&#8217;ve hit that quality cliff when an agent touches more than three or four tightly coupled files. How does Composer 2.5 handle semantic conflicts when simultaneous edits across files introduce inconsistencies?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/HNOJTU2EDLNEGN\" class=\"app-title\">Mantle Chat<\/a><\/p>\n<div class=\"one-liner\">Collaboration platform where teams work with AI together<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">291<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Mantle Chat \u662f\u4e00\u4e2a\u5c06\u5b9e\u65f6\u56e2\u961f\u901a\u8baf\u3001\u591a\u6a21\u578bAI\uff08GPT\/Claude\/Gemini\u7b49\uff09\u3001\u81ea\u4e3b\u667a\u80fd\u4f53\u53ca30+\u5de5\u5177\u96c6\u6210\u4e8e\u4e00\u4f53\u7684\u534f\u4f5c\u5e73\u53f0\uff0c\u65e8\u5728\u89e3\u51b3\u56e2\u961f\u5728AI\u4f7f\u7528\u4e2d\u201c\u4fe1\u606f\u5b64\u5c9b\u201d\u3001\u4e0a\u4e0b\u6587\u5272\u88c2\u548c\u91cd\u590d\u5de5\u4f5c\u7684\u95ee\u9898\uff0c\u8ba9AI\u6210\u4e3a\u56e2\u961f\u534f\u4f5c\u7684\u4e00\u90e8\u5206\u800c\u975e\u4e2a\u4eba\u79c1\u7528\u5de5\u5177\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\/574f4670-59df-4716-bd3f-e3aa6d1ae794.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/75bae17d-9ee1-465b-8c97-6774af4a9ad7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e0a18db8-d152-415b-ace7-e940f7a39c43.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/643f7b6b-5a12-495b-b6f5-57ff2d5b2f9c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/56c4daf4-90ef-419f-926b-a86f8bf6791f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/91da515a-d574-467f-aa63-c6c6f7a6150c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/65a4be39-8139-40ad-98f8-82e676c2a637.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/22b7dac0-a31b-4f95-bc13-8fc2e2bf2e37.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c8ea8c76-7ce2-43fb-a6b6-5a2047859a01.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7c39d218-d052-4620-88e2-792b9eb780c8.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\/1459a8a7-a300-46fb-b299-19fbdad6d1a6.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/K1GRx8Q-iMw?si=3oR1n3ixZZHxstwL\"><source src=\"https:\/\/youtu.be\/K1GRx8Q-iMw?si=3oR1n3ixZZHxstwL\" 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\">Messaging<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u56e2\u961fAI\u534f\u4f5c\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u578b\u804a\u5929<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u77e5\u8bc6\u5e93<\/span><br \/>\n            <span class=\"tag\">\u5de5\u5177\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7AI<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u901a\u8baf<\/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\u5171\u4eabAI\u4e0a\u4e0b\u6587\u201d\u907f\u514d\u77e5\u8bc6\u84b8\u53d1\u548c\u91cd\u590d\u5de5\u4f5c\u7684\u4ef7\u503c\u3002\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u5728\uff1a\u5982\u4f55\u5b9e\u73b0\u8de8\u4f1a\u8bdd\u7684\u957f\u671f\u8bb0\u5fc6\u53ca\u9879\u76ee\u95f4\u4e0a\u4e0b\u6587\u9694\u79bb\uff1b\u662f\u5426\u652f\u6301HubSpot\/Zendesk\u7b49\u9500\u552e\u5ba2\u670d\u96c6\u6210\uff1b\u4ee5\u53ca\u591a\u667a\u80fd\u4f53\u5728\u9891\u9053\u5185\u5e76\u884c\u5de5\u4f5c\u7684\u4e0a\u4e0b\u6587\u7ba1\u7406\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                Mantle Chat\u7684\u7acb\u610f\u627e\u51c6\u4e86\u4e00\u4e2a\u771f\u75db\u70b9\uff1aAI\u5de5\u5177\u6b63\u5728\u8ba9\u56e2\u961f\u534f\u4f5c\u53d8\u5f97\u66f4\u52a0\u539f\u5b50\u5316\u3002\u5f53\u6bcf\u4e2a\u6210\u5458\u90fd\u5728\u81ea\u5df1\u7684ChatGPT\u3001Claude\u3001Gemini\u5bf9\u8bdd\u6846\u91cc\u5b64\u519b\u594b\u6218\uff0c\u6240\u8c13\u7684\u201cAI\u63d0\u6548\u201d\u5176\u5b9e\u662f\u5728\u5236\u9020\u65b0\u7684\u4fe1\u606f\u70df\u56f1\u3002Mantle\u8bd5\u56fe\u7528\u201c\u9891\u9053+@\u63d0\u53ca\u201d\u7684\u6a21\u5f0f\uff0c\u5c06AI\u62c9\u56de\u56e2\u961f\u534f\u4f5c\u7684\u4e3b\u6218\u573a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ea7\u54c1\u903b\u8f91\u770b\uff0c\u5b83\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201cAI First\u201d\u7248\u672c\u7684Slack\/Discord\uff0c\u4f46\u6838\u5fc3\u5dee\u5f02\u5728\u4e8e\u5b83\u628a\u6a21\u578b\u9009\u62e9\u3001\u667a\u80fd\u4f53\u6267\u884c\u548c\u5de5\u5177\u96c6\u6210\u4f5c\u4e3a\u4e00\u7b49\u516c\u6c11\uff0c\u800c\u975e\u4e8b\u540e\u6dfb\u52a0\u7684bot\u3002\u8fd9\u89e3\u51b3\u4e86\u4e24\u4e2a\u5173\u952e\u95ee\u9898\uff1a\u4e00\u662f\u964d\u4f4e\u4e86AI\u91c7\u7528\u7684\u95e8\u69db\uff0c\u975e\u6280\u672f\u4eba\u5458\u65e0\u9700IDE\u6216\u590d\u6742\u914d\u7f6e\u5c31\u80fd\u7528@\u53ec\u5524\u667a\u80fd\u4f53\uff1b\u4e8c\u662f\u8ba9AI\u4ea7\u51fa\u7684\u5185\u5bb9\uff08\u5206\u6790\u3001\u4ee3\u7801\u3001\u65b9\u6848\uff09\u76f4\u63a5\u6c89\u6dc0\u5728\u56e2\u961f\u5bf9\u8bdd\u4e0a\u4e0b\u6587\u4e2d\uff0c\u5f62\u6210\u53ef\u68c0\u7d22\u3001\u53ef\u8fed\u4ee3\u7684\u201c\u673a\u6784\u8bb0\u5fc6\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u9762\u4e34\u7684\u6311\u6218\u4e5f\u5f88\u660e\u663e\u3002\u9996\u5148\u662f\u7ade\u54c1\u6324\u538b\uff1aSlack\u548cTeams\u6b63\u5728\u5c06AI\u52a9\u624b\u6df1\u5ea6\u5185\u5d4c\uff0c\u7528\u6237\u662f\u5426\u613f\u610f\u4e3a\u201c\u53e6\u4e00\u4e2a\u804a\u5929\u5de5\u5177\u201d\u8fc1\u79fb\uff1f\u5176\u6b21\u662f\u201c\u4e0a\u4e0b\u6587\u9694\u79bb\u201d\u4e0e\u201c\u5171\u4eab\u667a\u80fd\u201d\u4e4b\u95f4\u7684\u5e73\u8861\u96be\u9898\u3002\u4ece\u7528\u6237\u8d28\u7591\u770b\uff0c\u5982\u679c\u4e0d\u540c\u9879\u76ee\u3001\u4e0d\u540c\u667a\u80fd\u4f53\u7684\u4e0a\u4e0b\u6587\u7ba1\u7406\u4e0d\u591f\u6e05\u6670\uff0cAI\u53cd\u800c\u4f1a\u56e0\u4fe1\u606f\u6df7\u6742\u800c\u53d8\u5f97\u201c\u667a\u969c\u201d\u3002Mantle\u76ee\u524d\u7684workspace\u9694\u79bb\u548c\u7ebf\u7a0b\u673a\u5236\u7b97\u662f\u53ca\u683c\uff0c\u4f46\u8ddd\u79bb\u201c\u957f\u671f\u8bb0\u5fc6\u201d\u548c\u201c\u7cbe\u51c6\u4e0a\u4e0b\u6587\u611f\u77e5\u201d\u4ecd\u6709\u8ddd\u79bb\u3002\u6700\u540e\uff0c30+\u7684\u96c6\u6210\u5217\u8868\u770b\u7740\u5f88\u7f8e\uff0c\u4f46HubSpot\u3001Zendesk\u7b49\u5173\u952eB\u7aef\u5de5\u5177\u7684\u7f3a\u5931\uff08\u4ecd\u5728\u8def\u7ebf\u56fe\uff09\uff0c\u66b4\u9732\u4e86\u5176\u5f53\u524d\u66f4\u504f\u6280\u672f\u56e2\u961f\u548c\u521d\u521b\u516c\u53f8\u7684\u5b9a\u4f4d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5ba2\u89c2\u8bc4\u4ef7\uff0cMantle Chat\u4e0d\u662f\u98a0\u8986\u5f0f\u521b\u65b0\uff0c\u800c\u662f\u5bf9\u73b0\u6709\u201c\u804a\u5929+AI\u201d\u6a21\u5f0f\u7684\u7cbe\u7ec6\u6574\u5408\u3002\u5b83\u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u964d\u4f4e\u56e2\u961f\u534f\u4f5c\u4e2dAI\u7684\u4f7f\u7528\u6469\u64e6\uff0c\u8ba9\u201cAI\u8f85\u52a9\u201d\u4ece\u4e2a\u4eba\u4f53\u9a8c\u53d8\u4e3a\u56e2\u961f\u8d44\u4ea7\u3002\u80fd\u5426\u6210\u529f\uff0c\u53d6\u51b3\u4e8e\u80fd\u5426\u5728\u4fdd\u6301\u8f7b\u91cf\u4f53\u9a8c\u7684\u540c\u65f6\uff0c\u5c06\u201c\u5171\u4eab\u4e0a\u4e0b\u6587\u201d\u8fd9\u4e2a\u6838\u5fc3\u5356\u70b9\u505a\u5230\u8db3\u591f\u7cbe\u51c6\u548c\u53ef\u9760\uff0c\u800c\u975e\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u529f\u80fd\u5806\u780c\u7684\u804a\u5929\u5ba4\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\">Mantle Chat<\/span>\n                <\/div>\n<div class=\"comment-content\">Mantle Chat helps teams boost productivity and adopt AI faster by bringing real-time messaging, AI model chats, autonomous agents, and tool integrations into one shared workspace. Communicate in Discord\/Slack-style channels, mention AI agents and models (GPT, Claude, Gemini, Grok, Deepseek) with @ whenever you need help directly in conversations with teammates, build agents, run autonomous tasks together, and connect 30+ tools (Notion, Linear, Gmail and more) your team already uses.<\/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 community \ud83d\ude4c<\/p>\n<\/p>\n<p>I\u2019m Katja, co-founder of Mantle Chat.<\/p>\n<p>We built Mantle Chat because we think AI at work should feel collaborative, not isolated. When AI is part of the team workspace, it becomes more powerful, easier to adopt, and more natural for everyone to use.<\/p>\n<blockquote>\n<p><strong><em>The idea is simple: instead of everyone using AI alone, the whole team can learn, collaborate, and work with AI together.<\/em><\/strong><\/p>\n<\/blockquote>\n<h3><strong>How we got here?<\/strong><br \/><\/h3>\n<p>We spent time talking to modern teams and noticed one thing: <em>teams are already using AI, but not really together.<\/em><\/p>\n<p>They have one tool for team messaging, another set of tools for AI, and a lot of work happening in between. Team communication happens in Slack or Teams, while AI work happens in personal conversations with ChatGPT, Claude, Gemini, and other tools. This creates a few painful problems:<\/p>\n<ul>\n<li>\n<p>Constant switching between team messenger, AI tools, docs, and tasks<\/p>\n<\/li>\n<li>\n<p>Context gets lost every time people jump between apps<\/p>\n<\/li>\n<li>\n<p>Slack + multiple AI subscriptions quickly become expensive<\/p>\n<\/li>\n<li>\n<p>People use AI quietly, but don\u2019t always share how they\u2019re using it<\/p>\n<\/li>\n<li>\n<p>AI conversations stay private, so teammates duplicate work<\/p>\n<\/li>\n<li>\n<p>The AI has no real context on what the team is working on<\/p>\n<\/li>\n<li>\n<p>Prompts and responses get copied around manually<\/p>\n<\/li>\n<li>\n<p>Non-technical teammates often find AI harder to adopt<\/p>\n<\/li>\n<li>\n<p>Companies want everyone to use AI, but most AI tools still feel individual or developer-focused<\/p>\n<\/li>\n<\/ul>\n<p>The result is strange: AI is everywhere, but teamwork around AI is still fragmented.<br \/>So we asked ourselves: what if AI was not a separate tool, but part of the team workspace itself?<\/p>\n<h3><strong>What we built?<\/strong><br \/><\/h3>\n<p><strong>Mantle Chat is a collaborative AI workspace for teams.<\/strong><\/p>\n<p>It brings real-time team messaging, AI models, agents, tool integrations, and shared knowledge into one place.<\/p>\n<p><strong>What you can do in Mantle Chat:<\/strong><\/p>\n<ul>\n<li>\n<p>Chat with your teammates in Slack\/Discord style channels, DMs, and threads.<\/p>\n<\/li>\n<li>\n<p>When you need help from AI, you can mention (@) 60+ models GPT, Claude, Gemini, Grok, DeepSeek, directly inside the conversation.<\/p>\n<\/li>\n<li>\n<p>The AI can respond in the same thread, where the whole team can see it, discuss it, reuse it, and build on top of it.<\/p>\n<\/li>\n<li>\n<p>You can also keep private AI chats when you need to work individually.<\/p>\n<\/li>\n<li>\n<p>Mantle Chat gives teams a shared knowledge base, so uploaded docs, workspace context, and project information can become part of the AI\u2019s understanding. Instead of manually copy-pasting background into every prompt, your team can give AI the context it needs once and use it across conversations.<\/p>\n<\/li>\n<li>\n<p>Teams can also build shared AI agents with custom instructions, knowledge, schedules, and integrations. These agents can run manually, on a schedule, or be triggered by connected tools. (For example, you can create agents for research, PR reviews, meeting notes, analytics reports, customer requests, Linear updates, Stripe events, and more.)<\/p>\n<\/li>\n<li>\n<p>Mantle Chat connects with 30+ tools, including Linear, GitHub, Google Drive, Notion, Slack, and Stripe, so AI can help with real workflows, not just answer questions.<\/p>\n<\/li>\n<li>\n<p>Give the whole team access to AI without IDEs or complicated setup<\/p>\n<\/li>\n<li>\n<p>Reduce the need for separate team chat and AI subscriptions<\/p>\n<\/li>\n<\/ul>\n<p>And honestly, figuring out AI as a team is much more fun and effective than doing it alone.<\/p>\n<h3><strong>Is it for you?<\/strong><\/h3>\n<p>Mantle Chat is built for teams that already use AI, or want to start using it together.<\/p>\n<ul>\n<li>\n<p><strong>For startup teams:<\/strong> Mantle Chat gives you one place to talk, think, plan, and work with AI. You can keep product discussions, customer insights, research, and AI-generated ideas visible to the whole team.<\/p>\n<\/li>\n<li>\n<p><strong>For product and design teams:<\/strong> Mantle Chat helps you brainstorm, summarize feedback, compare ideas, write specs, analyze research, and keep AI outputs connected to the conversations where decisions happen.<\/p>\n<\/li>\n<li>\n<p><strong>For engineering teams:<\/strong> Mantle Chat lets you bring AI into technical discussions, create PR review agents, summarize Linear issues, connect GitHub, and reduce context-switching between tools.<\/p>\n<\/li>\n<li>\n<p><strong>For operations and support teams:<\/strong> Mantle Chat can help automate recurring workflows, generate reports, summarize requests, and create agents that run on a schedule or react to events.<\/p>\n<\/li>\n<li>\n<p><strong>For non-technical teammates:<\/strong> Mantle Chat makes AI feel approachable. You do not need an IDE or developer workflow to use agents, models, and automations. You just work inside chat.<\/p>\n<\/li>\n<li>\n<p><strong>For cross-functional teams:<\/strong> Mantle Chat helps product, design, engineering, operations, support, and leadership stay aligned by keeping conversations, AI outputs, shared knowledge, and workflows in one place.<\/p>\n<\/li>\n<\/ul>\n<h3><strong>See it in action:<\/strong><br \/><a href=\"https:\/\/www.youtube.com\/watch?v=GVoFZ2dxVx0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.youtube.com\/watch?v=GVoFZ2dxVx0<\/a><\/h3>\n<p>You can try the interactive demo in the hero section of our homepage:<\/p>\n<p><a href=\"https:\/\/mantle.chat\/home\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/mantle.chat\/home<\/a><\/p>\n<h3><strong>For the Product Hunt community:<\/strong><\/h3>\n<p>You can use Mantle Chat for free, or try the Pro plan free for 7 days with higher limits and all features.<\/p>\n<\/p>\n<h3><strong>Contact with us:<\/strong><\/h3>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/mantle.chat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/mantle.chat<\/a><br \/><strong>X \/ Twitter:<\/strong> <a href=\"https:\/\/x.com\/MantleChat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/x.com\/MantleChat<\/a><br \/><strong>LinkedIn:<\/strong> <a href=\"https:\/\/www.linkedin.com\/company\/mantlechat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.linkedin.com\/company\/mantlechat<\/a><br \/><strong>Community:<\/strong> <a href=\"https:\/\/discord.com\/invite\/STzq94kdDC\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/discord.com\/invite\/STzq94kdDC<\/a><\/p>\n<p>Huge thanks to <a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a> for hunting us today, and to the Product Hunt team and community for the opportunity to share what we\u2019ve been building.<\/p>\n<p><strong><em>Please support us today and drop a comment!<\/em><\/strong><\/p>\n<p><em>We\u2019d love to read your feedback, any thoughts on how we can make shared AI work better for teams, and how your team is using AI today: together, separately, or somewhere in between.<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>11<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@katja_danilina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@katja_danilina<\/a>&nbsp;awesome launch Katja! maybe add detailed usage analytics per seat so growth teams can map out which internal ICP are adopting AI fastest.<\/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\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@katja_danilina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@katja_danilina<\/a>&nbsp;Hi Katja, Congrats on the launch. I&#8217;m interested in understanding more about shared team context.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@katja_danilina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@katja_danilina<\/a>&nbsp;This resonates so much! \ud83d\ude4c As a solo indie maker, I feel this pain even more \u2014 juggling between Slack, ChatGPT, and my dev tools. The &#8216;AI in isolation&#8217; problem is real, and solving it at the team level makes total sense. Love the collaborative approach. Upvoted! \ud83d\ude80<\/p>\n<p>P.S. \u2014 Launching iBGremove today too, love seeing fellow makers tackle real workflow problems!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>One underrated benefit here is institutional memory . Shared AI conversations are way more valuable than knowledge trapped in private chats.<\/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\/@gabriel_brooks1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gabriel_brooks1<\/a>&nbsp;Thanks you! Definitely, private AI chats are useful for individual productivity, but shared AI threads turn that productivity into team knowledge.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>wonderful &#8211; good luck!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nikolas_dimitroulakis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nikolas_dimitroulakis<\/a>&nbsp;Thanks Nikolas! \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@katja_danilina\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"katja_danilina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@katja_danilina<\/a> ! <\/p>\n<\/p>\n<p>Something on the roadmap: Mantle already has a pretty strong list of integrations. Are you planning to add  HubSpot or Zendesk so agents can also help with sales and customer support workflows?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">@byalexai thank you! Yes, 100%! We were actually working on HubSpot integration, but had to temporarily park it due to other priorities. We are gonna add HubSpot and Zendesk support in the near future. We want to allow users to benefit from agentic assistance within the sales and customer support user journeys.<\/div>\n<div class=\"comment-actions\">\n<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 Mantle keep a persistent shared context across sessions \u2014 so the AI understands decisions the team made in previous conversations \u2014 or does each new session start fresh? That long-term memory layer seems like the thing that would make it genuinely more useful than just adding AI to a Slack channel.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sunnyallan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sunnyallan<\/a>&nbsp;Thanks for your question!<\/p>\n<p>Mantle Chat doesn\u2019t treat every new session as completely fresh, if you add context to the workspace knowledge base.<\/p>\n<p>Teams can add shared files, instructions, and context at the workspace level, and agents can use that across conversations. We also support agent-level knowledge bases, so each agent can have its own specialized context.<\/p>\n<p>We\u2019re also working on the desktop app and local file access, so the context layer can go beyond just what was said in a single channel or thread.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/16689c1b-1d40-44b0-9412-5ab7bd04693b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<p><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/775d6fc6-f71e-43f2-8832-1518ee550703.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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 the &#8220;@ the model in the same channel as your teammates&#8221; framing, that&#8217;s the part Slack-with-a-bot-bolted-on always got wrong. Curious how you&#8217;re handling context isolation when multiple agents are working on tasks in parallel in the same channel? Does each agent get its own thread, or do they share the channel history?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mahdi_nouri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mahdi_nouri<\/a>&nbsp;Thanks, that\u2019s a really good question.<\/p>\n<p>We support both patterns. In channels, when you &#8220;@ an agent or model&#8221;, it can work with the shared channel context, so teammates and agents are aligned around the same discussion. And when a task needs more focus or isolation, you can turn any specific message into a thread from the channel. Threads have their own separate context\/history, so multiple agents can work in parallel without mixing up task-specific details.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2d9137f0-a962-488b-b49c-1f5b4a16bdc6.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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\u2019ve been jumping between Claude and ChatGPT tabs for months depending on what I\u2019m working on. Never really found a smooth way to keep both in one workflow.<\/p>\n<p>Mantle looks interesting for that. Curious to see if having one workspace actually solves it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@amraniyasser\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amraniyasser<\/a>&nbsp;Thank you, feel free to reach out if you need more info.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Katja! You&#8217;re awesome. AI and team chat integrated is a game changer cause it comes to upgrade teamwork. I&#8217;m sure many founders gonna love this!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thank youuuuuu!<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Shared AI context across a team is way better than everyone running isolated prompts. Mantle Chat looks like it could cut down a lot of duplicated work in growing teams. We&#8217;ve been building in the customer success for ops-heavy SaaS teams space at RetainSure, and Mantle Chat touches on something we think about a lot. How does it handle context isolation between different projects?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@shivam_jaiswal21\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shivam_jaiswal21<\/a>&nbsp;Thank you for your comment! We\u2019ve thought about it: Mantle Chat is structured around organizations, where teams can create separate workspaces for different needs: for example, departments, projects, or teams. This helps keep shared context useful without mixing unrelated project knowledge. It\u2019s also easy and intuitive to switch between workspaces using the bottom panel, which was specifically designed for this workflow. You can create as many workspaces as you want.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/75672500-ef56-4e7e-af6a-49cf14dba77b.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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>Shared AI threads are the right move. The problem with private AI sessions is that your team&#8217;s best prompts and outputs never get socialized. At RetainSure we&#8217;ve got CS reps doing similar AI-assisted tasks in silos, so we lose institutional knowledge constantly. Do you have any versioning or replay for how an AI-assisted decision was reached in a shared channel?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a> Thank you for your great question! Right now, we have replays in shared chats and we don\u2019t have versioning, but we agree it\u2019s an important direction for shared AI workflows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 launching! Wishing you a smooth start, happy users, and lots of success.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@gayatri_sachdeva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gayatri_sachdeva<\/a>&nbsp;Thanks a lot for your support!<\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">looks promising team<\/div>\n<div class=\"comment-actions\">\n<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\/@abod_rehman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abod_rehman<\/a>&nbsp;Thank you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the positioning against private AI chats is the interesting angle here. the actual problem is that when everyone&#8217;s prompting Claude or GPT separately, institutional knowledge just evaporates. nobody knows what their teammate already figured out. if Mantle actually solves that it&#8217;s solving something real<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;Thank you so much for sharing your thoughts!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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!&nbsp;This looks really promising!&nbsp;Been looking for something like this! <a href=\"https:\/\/www.producthunt.com\/@katja_danilina\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"katja_danilina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@katja_danilina<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nafis_amiri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nafis_amiri<\/a>&nbsp;Thank you very much for your support!\u2764\ufe0f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! The idea of combining chat, agents, and tools in one shared workspace feels very practical for real team workflows. You can also say that the @ plus agent approach inside channels is important in reducing context switching.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;Thanks for your comment! Agree, the &#8220;@agent&#8221; approach inside channels is a great way to reduce context switching by bringing the right help directly into the conversation where the context already lives.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Right now we&#8217;re paying for 4 different AI tools across a 6 person team. No shared history, no shared context, and the bill keeps growing. This looks like the first real alternative. Want to give it a proper test.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@andrzej_zarod\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrzej_zarod<\/a>&nbsp;Thanks for your comment! This is exactly what we\u2019re trying to solve: one shared AI workspace for the whole team, with shared context and history.<\/p>\n<p>Feel free to try it out, we have a free tier for teams.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does Mantle keep a persistent shared context across sessions \u2014 so the AI understands decisions the team made in previous conversations \u2014 or does each new session start fresh? That long-term memory layer feels like the key differentiator for async teams.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sunnyallan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sunnyallan<\/a>&nbsp;I think this comment is duplicated, I already replied here: <a href=\"https:\/\/www.producthunt.com\/products\/mantle-chat?comment=5382624\" target=\"_blank\" rel=\"noopener\">https:\/\/www.producthunt.com\/products\/mantle-chat?comment=5382624<\/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<\/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\/H64HE7ZK3MVBJN\" class=\"app-title\">CtrlOps<\/a><\/p>\n<div class=\"one-liner\">Deploy, Debug &#038; Manage Linux Servers with AI.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">215<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>CtrlOps \u662f\u4e00\u6b3e\u9762\u5411\u5f00\u53d1\u8005\u7684 AI \u9a71\u52a8 Linux \u670d\u52a1\u5668\u7ba1\u7406\u5de5\u5177\uff0c\u6838\u5fc3\u573a\u666f\u662f\u8ba9\u975e DevOps \u4eba\u5458\u901a\u8fc7\u81ea\u7136\u8bed\u8a00\u6307\u4ee4\u3001\u53ef\u89c6\u5316\u6587\u4ef6\u7ba1\u7406\u548c\u4e00\u952e\u90e8\u7f72\uff0c\u6446\u8131\u5bf9 IP \u8868\u683c\u3001SSH \u6df7\u4e71\u6807\u7b7e\u548c\u8bb0\u5fc6\u547d\u4ee4\u7684\u4f9d\u8d56\uff0c\u5c06\u539f\u672c\u8017\u65f660\u5206\u949f\u7684\u90e8\u7f72\u964d\u81f35\u5206\u949f\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\/155d71d6-9091-4392-80c9-622e4b104ffc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6f27af74-7e99-4e7e-a079-e03f7cacc1ce.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/db1d8d00-e68c-48fd-8568-41cbde51e178.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3a511893-a0c3-4e27-822e-35b4970add24.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\/fd9162c0-edf5-42ca-8991-7b59e1137466.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/Dznz0n1hrRc\"><source src=\"https:\/\/youtu.be\/Dznz0n1hrRc\" 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\">Linux<\/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\u670d\u52a1\u5668\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">DevOps\u7b80\u5316<\/span><br \/>\n            <span class=\"tag\">Linux\u8fd0\u7ef4<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u7aef\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u670d\u52a1\u5668\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u811a\u672c\u5e93<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u514dAgent<\/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\u5171\u9e23\u201cSSH\u6807\u7b7e\u6df7\u4e71\u201d\u548c\u201c\u4f9d\u8d56\u5355\u4e00\u8fd0\u7ef4\u9ad8\u624b\u201d\u7684\u75db\u70b9\u3002\u6838\u5fc3\u95ee\u9898\u96c6\u4e2d\u5728\u5b89\u5168\u673a\u5236\uff08\u786e\u8ba4\u6240\u6709AI\u547d\u4ee4\u9700\u4eba\u5de5\u5ba1\u6279\uff09\u3001\u591a\u670d\u52a1\u5668\u7ba1\u7406\u80fd\u529b\uff08\u652f\u6301100\u53f0\uff09\u3001\u4ee5\u53ca\u8c03\u8bd5\u4f1a\u8bdd\u7684\u4e0a\u4e0b\u6587\u8fde\u7eed\u6027\u3002HR\u89d2\u8272\u4e5f\u63d0\u5230SSH\u7ba1\u7406\u7b80\u5316\u4e86\u5458\u5de5\u79bb\u804c\u6743\u9650\u64a4\u9500\u6d41\u7a0b\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                CtrlOps \u7cbe\u51c6\u72d9\u51fb\u4e86\u201c\u4f1a\u5199\u4ee3\u7801\u4f46\u4e0d\u60f3\u8fd0\u7ef4\u201d\u7684\u5f00\u53d1\u8005\u7fa4\u4f53\u2014\u2014\u8fd9\u51e0\u4e4e\u8986\u76d6\u4e86\u5168\u884c\u4e1a\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u53d1\u660e\u65b0\u6280\u672f\uff0c\u800c\u662f\u901a\u8fc7\u201cAI\u751f\u6210+\u4eba\u5de5\u786e\u8ba4\u201d\u7684\u95ed\u73af\uff0c\u5c06\u670d\u52a1\u5668\u7ba1\u7406\u4ece\u201c\u7384\u5b66\u201d\u964d\u7ef4\u6210\u201c\u53ef\u590d\u7528\u7684\u65e5\u5e38\u64cd\u4f5c\u201d\u3002\u4ea7\u54c1\u8bbe\u8ba1\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u6ca1\u6709\u8bd5\u56fe\u53d6\u4ee3\u4eba\u7c7b\u8fd0\u7ef4\uff0c\u800c\u662f\u5c06AI\u5b9a\u4f4d\u4e3a\u4e00\u4e2a\u201c\u6c38\u4e0d\u7761\u89c9\u3001\u6c38\u4e0d\u8df3\u69fd\u201d\u7684\u8d44\u6df1\u52a9\u624b\uff0c\u5728\u751f\u6210\u547d\u4ee4\u540e\u5f3a\u5236\u8981\u6c42\u4eba\u5de5\u5ba1\u6279\uff0c\u65e2\u89c4\u907f\u4e86\u9ed1\u76d2\u6267\u884c\u7684\u4fe1\u4efb\u5d29\u584c\uff0c\u53c8\u4fdd\u7559\u4e86\u5f00\u53d1\u4eba\u5458\u5bf9\u751f\u4ea7\u73af\u5883\u7684\u63a7\u5236\u6743\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u7528\u6237\u53cd\u9988\u770b\uff0c\u771f\u6b63\u7684\u6740\u624b\u950f\u4e0d\u662fAI\u7ec8\u7aef\u672c\u8eab\uff0c\u800c\u662f\u5176\u201c\u811a\u672c\u5e93\u201d\u529f\u80fd\u2014\u2014AI\u89e3\u51b3\u201c\u7b2c\u4e00\u6b21\u201d\u7684\u4e0d\u77e5\u6240\u63aa\uff0c\u811a\u672c\u5e93\u89e3\u51b3\u201c\u6bcf\u4e00\u6b21\u201d\u7684\u91cd\u590d\u52b3\u52a8\uff0c\u8fd9\u79cd\u7ec4\u5408\u62f3\u5f62\u6210\u4e86\u4ece\u8bd5\u9519\u5230\u56fa\u5316\u7684\u9ad8\u6548\u95ed\u73af\u3002\u6b64\u5916\uff0c100%\u672c\u5730\u8fd0\u884c\u3001\u51ed\u8bc1\u4e0d\u79bb\u5f00\u673a\u5668\u7684\u8bbe\u8ba1\uff0c\u76f4\u51fb\u4f01\u4e1a\u5bf9\u6570\u636e\u5b89\u5168\u7684\u654f\u611f\u795e\u7ecf\uff0c\u8fd9\u662f\u8bb8\u591a\u4e91\u7aefAI\u8fd0\u7ef4\u5de5\u5177\u96be\u4ee5\u903e\u8d8a\u7684\u62a4\u57ce\u6cb3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8be5\u4ea7\u54c1\u9762\u4e34\u7684\u771f\u6b63\u6311\u6218\u662f\uff1a\u5f53\u89c4\u6a21\u8d85\u8fc7100\u53f0\u670d\u52a1\u5668\u65f6\uff0cAI\u7684\u4e0a\u4e0b\u6587\u7ba1\u7406\u80fd\u529b\u662f\u5426\u4f1a\u6210\u4e3a\u65b0\u74f6\u9888\uff1f\u5f53\u524d\u201c\u4f1a\u8bdd\u7ea7\u8bb0\u5fc6\u201d\u800c\u975e\u6301\u4e45\u5316\u8bb0\u5fc6\uff0c\u5bf9\u590d\u6742\u6545\u969c\u6392\u67e5\u7684\u8fde\u7eed\u6027\u6765\u8bf4\u7565\u663e\u9e21\u808b\u3002\u6b64\u5916\uff0c\u4e00\u65e6\u7528\u6237\u4e60\u60ef\u4e86AI\u5efa\u8bae\uff0c\u56e2\u961f\u662f\u5426\u4f1a\u9010\u6e10\u4e27\u5931\u571f\u6cd5\u8fd0\u7ef4\u7684\u5e95\u5c42\u80fd\u529b\uff1f\u8fd9\u79cd\u201c\u8fd0\u7ef4\u5916\u5305\u5927\u8111\u201d\u7684\u98ce\u9669\uff0cCEO\u4eec\u9700\u8981\u6743\u8861\u3002\u603b\u800c\u8a00\u4e4b\uff0cCtrlOps \u662f\u4e00\u6b3e\u4f18\u79c0\u7684\u201c\u964d\u672c\u589e\u6548\u201d\u5de5\u5177\uff0c\u4f46\u8ddd\u79bb\u6210\u4e3a\u201c\u667a\u80fd\u8fd0\u7ef4\u4e2d\u67a2\u201d\u4ecd\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\">CtrlOps<\/span>\n                <\/div>\n<div class=\"comment-content\">Most devs manage servers from a spreadsheet of IPs and commands nobody remembers. CtrlOps gives you AI-powered server management without DevOps expertise. AI terminal that generates commands with your approval. Scripts library. One-click deploys from any GitHub repo. Visual file manager. Real-time server monitoring. Zero agents on servers. Deployments that took 60 minutes now take 5. 100% local. Your credentials never leave your machine. Mac. Windows. Linux.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt fame\ud83d\udc4b<\/p>\n<p>I ran a dev agency for 5 years. We managed servers for dozens of clients across different stacks, different regions, different everything.<\/p>\n<p>And every single time, the setup was the same. A spreadsheet with IP addresses nobody kept updated. SSH tabs open with names like &#8220;bash&#8221; and &#8220;bash (2)&#8221;. Someone is googling a command they had run 50 times before. A deployment that should have taken 10 minutes turned into an hour because one environment variable was wrong.<\/p>\n<p>We had 2 DevOps guys on the team. But whenever something was urgent, they were never reachable. And the rest of us were left staring at a terminal, hoping we remembered the right command.<\/p>\n<p>Every client had their own server. To check something as simple as &#8220;is the site running?&#8221; someone had to open a terminal, find the right IP, dig up the credentials, and log in. Separately.<\/p>\n<p>Every time. For every client.<br \/>\nWe had no unified view.<\/p>\n<p>No quick way to know what was happening across our infrastructure without pulling in the one person who knew how to navigate it all. Everything ran through him. If he was unavailable, we were blind.<\/p>\n<p>We got tired of that. So we built CtrlOps.<\/p>\n<p>The idea was simple, what if managing a server felt as normal as using your laptop?<br \/>\nNamed servers instead of IPs.<br \/>\nA file manager instead of SFTP.<br \/>\nA terminal that understands plain English.<\/p>\n<p>Developers started doing things on servers they would never have attempted before, because they could see exactly what would happen first.<\/p>\n<p>That is what CtrlOps is really about. Not replacing DevOps. Just making servers feel less like a minefield.<\/p>\n<p>1 month free, no credit card needed. Try it and tell me what breaks. I read every reply.<\/p>\n<p>What is the most stressful server situation you have ever been in?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>32<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@parth_makwana07\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@parth_makwana07<\/a>&nbsp;The &#8220;bash (2)&#8221; tab hit too close to home \ud83d\ude2d We literally had a sticky note on the monitor saying which terminal was which. Absolute chaos.<\/p>\n<p>What you built here is what everyone needed but nobody sat down to actually make. Congrats on shipping it \u2014 this is the one \ud83d\udd25<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Some real stories from people using CtrlOps:<\/p>\n<p>A developer noticed their server was running slow. Instead of guessing, they opened the AI terminal and typed &#8220;why is this server slow?&#8221; CtrlOps flagged an unfamiliar process consuming 90% CPU. Turns out it was a crypto miner. They identified it, killed it, and secured the server in under 10 minutes. Without CtrlOps, that miner could have run for weeks burning resources and money.<\/p>\n<p>Another team spent 2 days manually debugging a production issue. Logs, SSH sessions, trial and error. Nothing. They connected the server in CtrlOps, asked the AI terminal what was wrong, and it pinpointed the issue in minutes. A misconfigured environment variable that was silently breaking things. Their own team could not find it in 48 hours. CtrlOps found it in one question.<\/p>\n<p>This is what gets me excited. Not the features. The moments where someone solves a problem they thought required a DevOps expert. And they do it themselves.<\/p>\n<p>Got a server horror story? I would love to hear it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>19<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@daxesh_italiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daxesh_italiya<\/a>&nbsp;48 hours vs one question. That&#8217;s not a feature, that&#8217;s a whole career moment for that dev \ud83e\udd2f<\/p>\n<p>The crypto miner story is wild. Most teams wouldn&#8217;t have found that for weeks. Genuinely scary how common that is.<\/p>\n<p>This is the kind of product that makes you feel like you have a senior DevOps engineer on call 24\/7. Love 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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">deployments don&#8217;t stress me out anymore, and that feels weird to say lol. paste repo, fill env, toggle SSL, done.Genuinely cannot remember the last time something broke mid-deploy since switching to this.<\/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\/@tocza\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tocza<\/a>&nbsp;I literally don&#8217;t want to see that stress again that&#8217;s why we built CtrlOps<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>ok so the file manager sounds boring, I know. But I was doing everything through a separate SFTP client before this. separate login, separate window, separate headache every time.<\/p>\n<p>now i just open it inside CtrlOps and edit configs directly. for someone managing multiple client servers, this is honestly the feature i use the most. more than the AI stuff even.<\/p>\n<\/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\/@ga4p\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ga4p<\/a>&nbsp;Thanks for giving it a try with CtrlOps and sharing your honest review!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Managing Linux infrastructure through natural language sounds powerful but a bit terrifying from a security standpoint. Having a terminal assistant help debug server configurations could save hours of parsing logs. What kind of guardrails or confirmation steps are in place before destructive commands execute?<\/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\/@rivra_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rivra_dev<\/a>,&nbsp;totally fair concern and honestly the right question to ask.<\/p>\n<p>Every command the AI generates has to be explicitly approved by you before it runs. It shows you the exact <\/p>\n<p>command, what it does, and waits for your click.<\/p>\n<p>Nothing executes automatically, ever. on top of that everything runs locally. your credentials, <\/p>\n<p>SSH keys, AI keys all stay on your machine, encrypted with AES-256. nothing goes to any cloud or external server.<\/p>\n<p>So the flow is always: AI suggests, you read it, you decide. <\/p>\n<p>More like a very knowledgeable colleague showing you what to run than a bot that takes over your terminal.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The \u201cspreadsheet with random server IPs and commands\u201d line is too real \ud83d\ude02<\/p>\n<p>Really like what you\u2019re building here.<br \/>Making server management simpler without needing full DevOps knowledge is a big win for a lot of developers.<\/p>\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@parth_makwana07\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"parth_makwana07\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@parth_makwana07<\/a>, <a href=\"https:\/\/www.producthunt.com\/@hiren_kalariya\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"hiren_kalariya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hiren_kalariya<\/a> &amp; <a href=\"https:\/\/www.producthunt.com\/@daxesh_italiya\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"daxesh_italiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daxesh_italiya<\/a> \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ajaypatel9016\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajaypatel9016<\/a>&nbsp;Thanks a lot for supporting always \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>finally something that replaces my mess of ssh tabs and random bash scripts. the playbook feature is underrated, set up my common fixes once and now its just one click. great launch guys..<\/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\/@prakash_vasani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prakash_vasani<\/a>&nbsp;Love hearing this \ud83d\ude4c<\/p>\n<p>That exact \u201ctoo many SSH tabs + random scripts everywhere\u201d pain is what pushed us to build CtrlOps in the first place.<\/p>\n<p>Really glad the Playbooks feature is saving you time already. Appreciate the support and kind words a lot \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>\n<p>I have 100 servers in production, can I manage them using this application?<\/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\/@janaki_vasani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@janaki_vasani<\/a>&nbsp;Yes, you can easily manage.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 hits way too close to home. The &#8220;bash&#8221; and &#8220;bash (2)&#8221; terminal tabs alone gave me flashbacks \ud83d\ude05<\/p>\n<p>The pain point you&#8217;re solving is so real \u2014 server management has always felt like it was gatekept behind one person who &#8220;just knows&#8221; how everything works. The moment that person is unreachable, the whole team is paralyzed.<\/p>\n<p>What really stands out to me is the plain-English terminal idea. Lowering that barrier means developers can actually own their environment instead of depending on a single DevOps hero. That&#8217;s a huge shift in team dynamics, not just tooling.<\/p>\n<p>The &#8220;named servers instead of IPs&#8221; detail is small but brilliant \u2014 it&#8217;s the kind of UX decision that shows you built this from real pain, not from a whiteboard.<\/p>\n<p>Congrats on the launch! Can&#8217;t wait to see how teams adopt this. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@anand_patel6\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anand_patel6<\/a>&nbsp;The &#8220;bash&#8221; and &#8220;bash (2)&#8221; situation is one of those things that is funny until it is 2 AM and prod is down, and you genuinely cannot tell which tab is which.<\/p>\n<p>You put it better than we have in any of our own copy, honestly. The single DevOps hero problem is exactly what we kept coming back to while building this. It is not just a tooling problem; it is a team resilience problem. When one person holds all the server knowledge in their head, the whole team&#8217;s ability to ship is tied to that person&#8217;s availability.<\/p>\n<p>The named server&#8217;s details are one of those things that sound too simple to matter until you use them every day. Every decision like that in CtrlOps came from something that actually happened to us, not something we designed on a whiteboard.<\/p>\n<p>Really appreciate the thoughtful comment. Thank you for the support today, means a lot on launch day.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>genuinely curious how the web search feature works in the <\/p>\n<p>AI terminal. does it pull from the actual docs or just <\/p>\n<p>general search results? asking because we work with some <\/p>\n<p>niche tools and outdated answers are a real problem.<\/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\/@tejas_rangani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tejas_rangani<\/a>&nbsp;Great question and a real one because most AI tools just hallucinate an answer for niche tools rather than admitting they don&#8217;t know.<\/p>\n<p>When web search is on the AI searches the web in real time before generating any command. so it is pulling from actual current documentation, release notes, Stack Overflow, GitHub issues, whatever is most relevant. not from its training data.<\/p>\n<p>For niche tools this makes a significant difference. if the tool released a breaking change 3 months ago the AI will find that and give you the right command for the current version, not the one from 2 years ago.<\/p>\n<p>Would love to hear which tools you are working with if you end up trying it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What\u2019s the biggest time saver in practice, is it the scripts library or the AI generating the commands?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;honestly depends on the workflow, but if I had to pick one, it is the AI terminal for the first few weeks, and then the scripts library takes over after that.<\/p>\n<p>The AI terminal saves you in the moment. Something breaks, you do not know the exact command, you just ask, and it figures it out. That is the immediate relief.<\/p>\n<p>But once you have solved the same problem a few times, the script library is where the real compounding happens.<\/p>\n<p>You save it once, add your variables, and next time it is one click across every server instead of going back <\/p>\n<p>to the AI or googling again.<\/p>\n<p>So the AI gets you unstuck, and the script library makes sure you never get stuck on the same thing twice.<\/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>HR person commenting on a server tool, I know.<\/p>\n<p>But whenever someone leaves the team, we need their server<br \/>access gone immediately. Before this it was a whole back and<br \/>forth with tech. Now I check SSH management myself and flag<br \/>it in 2 minutes. Offboarding got so much easier, honestly.<\/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\/@chandni_hr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chandni_hr<\/a>,&nbsp;this is actually one of the most underrated use cases <\/p>\n<p>We heard while building it. The security risk of delayed Offboarding is real, and it always falls through the cracks <\/p>\n<p>because it depends on someone from tech having bandwidth at exactly the right moment.<\/p>\n<p>Glad SSH management is making that faster for you. <\/p>\n<p>That visibility should not require a tech person in the loop.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The AI-assisted debug loop for Linux servers is something we&#8217;ve wanted at RetainSure for a while. Chasing down intermittent issues across multiple EC2 instances usually means a lot of context switching between logs, metrics, and SSH sessions. Does CtrlOps maintain state across a debugging session, so the AI can reason about what it already tried before suggesting the next fix?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@anand_thakkar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anand_thakkar1<\/a>&nbsp;That is one of the more technically specific questions we have gotten today, and we appreciate you framing it that way.<\/p>\n<p>Within a session, the AI terminal maintains full conversation context, so it knows what commands have already run, what the output was, and what has been tried. You can literally say &#8220;that did not fix it,&#8221; and it will reason from there rather than suggesting the same thing again.<\/p>\n<p>The multi-server piece is where it gets interesting for your EC2 use case. You can have separate AI terminal sessions open across instances, and the context is maintained per server. So if you are chasing an intermittent issue across three instances, you are not starting from scratch each time you switch.<\/p>\n<p>Persistent memory across sessions is on the roadmap. Right now, if you close and reopen the terminal, you start fresh, but within an active debugging session, the context stays intact throughout.<\/p>\n<p>Would love to hear how the intermittent issue debugging goes if you do try it on your EC2 setup.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Making infra management conversational is clever but the hard problem is safe command scoping. An AI that can debug is also an AI that can accidentally drop a table. We&#8217;ve been careful at RetainSure about giving AI systems any write access to production infra. How do you scope what CtrlOps can actually execute? Restricted user, sandboxed session, or something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@retain_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@retain_dev<\/a>,&nbsp;this is exactly the right question and the kind of pushback we genuinely welcome because it means you are thinking about it seriously.<\/p>\n<p>CtrlOps does not execute anything autonomously. The AI generates the command and stops. You see the exact command, you read it, and you approve it manually. There is no background execution, no auto-run, no scheduled AI actions. The human is always the last step before anything touches the server.<\/p>\n<p>So the scoping question becomes less about restricting the AI and more about who you give approval rights to inside your team. The AI can suggest a DROP TABLE, but it cannot run it. Your engineer still has to read it and click approve. That moment of human review is the actual guardrail.<\/p>\n<p>For teams like yours that are careful about write access to production, the practical workflow is to use CtrlOps with a read-only SSH user on prod and a full access user on staging. The AI works the same way either way, but the blast radius if someone approves something they should not is contained.<\/p>\n<p>would be curious what your current setup looks like at RetainSure if you are open to sharing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The approve before execute thing is what sold me. <\/p>\n<p>Every other AI tool just runs stuff, and you find out <\/p>\n<p>What happened after.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@bhautik_kapadiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bhautik_kapadiya<\/a>&nbsp;AI should not run blind, human is must be in the loop!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Yeah I&#8217;ve done this exact thing. Wrong tab, wrong server, restarted nginx thinking I was on staging. Took down prod for an hour. The part where it shows you exactly which server you&#8217;re on before anything runs is what got me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@abhikatrodiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhikatrodiya<\/a>&nbsp;that hour is something every developer remembers exactly. The sick feeling when you realize which server you are actually on is a very specific kind of panic.<\/p>\n<p>That is honestly why we built the server context so visibly into every screen. You should never have to wonder which server you are on. It should be impossible to miss.<\/p>\n<p>Glad that part landed for you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The preview step is the whole game when AI touches live infra. CtrlOps gets it right: ask in plain English, see the exact command before it runs, approve. Been running it alongside ClawMetry and the fit is natural. Congrats Hiren and team \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@vivek_chand\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vivek_chand<\/a>&nbsp;exactly this. The moment you remove that approval step you have a tool that is impressive in demos and terrifying in production. We were never going to ship it any other way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This gonna be the best experience for someone like me who don&#8217;t like tinkering around CLIs \ud83e\udee0<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ayush_pandey15\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ayush_pandey15<\/a>&nbsp;Even without deep DevOps info we you can manage Linux servers, bro!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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, went through CtrlOps&#8217;s site and the AI-on-the-Linux-shell angle is what stuck with me. one thing on my mind, how do you handle destructive commands, is there a confirm gate before things like service restarts or migrations or does the agent just send it? blast radius is the part I&#8217;d want to understand here.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>this is exactly what i wanted last week debugging my railway worker at 11pm honestly \ud83d\ude2d<\/p>\n<p>q&gt; does it work with hosted platforms that hide raw ssh access (railway, render, fly)? feels like that&#8217;s where most indie devs are landing now instead of raw VPS. TY<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch. The &#8220;AI suggests, you approve&#8221; framing is strong, especially for something as sensitive as servers.<\/p>\n<p>Curious what users ask for first once they trust the AI terminal: safer debugging, deploy checklists, reusable scripts, or monitoring?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the fact that i dont need to install any agent on my servers sold me immediately. got it running on our staging env and already caught 2 issues before they became outages. will be moving prod over soon<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@srushti_vasani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@srushti_vasani<\/a>&nbsp;That is the best kind of validation, catching things before they become incidents rather than debugging them at midnight.<\/p>\n<p>The no-agent decision was non-negotiable for us from the start. Anything that requires you to touch every server before you can even use the tool creates friction and a security surface you did not ask for. Standard SSH and nothing else.<\/p>\n<p>Really glad staging is working well. Would love to hear how prod goes when you make the move.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Whenever I read about AI systems managing servers, it always scares me \ud83d\ude42 Is there no risk it could accidentally delete something?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<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;Totally understand the hesitation, and honestly, it is the right instinct to have.<\/p>\n<p>The short answer is that CtrlOps cannot delete anything on its own. The AI generates a command and then stops completely. You see exactly what it wants to run, you read it, and you decide whether to approve it or not. Nothing executes without your explicit click.<\/p>\n<p>So even if the AI suggested something destructive like a delete command, it is sitting there waiting for you to approve it. That moment of human review is the entire point. We built it this way specifically because nobody should trust an AI with unilateral access to their servers.<\/p>\n<p>Think of it less like an AI that manages your servers and more like a very knowledgeable colleague who tells you exactly what to type and waits for you to type it yourself.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">Congratulations on the launch!<\/div>\n<div class=\"comment-actions\">\n<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\/@makadiaharsh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@makadiaharsh<\/a>&nbsp;thanks for the support today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Yeah I&#8217;ve done this exact thing. Wrong tab, wrong server, restarted nginx thinking I was on staging. Took down prod for an hour. The part where it shows you exactly which server you&#8217;re on before anything runs is what got me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rutvik_vaghela\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rutvik_vaghela<\/a>&nbsp;That hour is something every developer remembers exactly. The sick feeling when you realize which server you are actually on is a very specific kind of panic.<\/p>\n<p>That is honestly why we built the server context so visibly into every screen. You should never have to wonder which server you are on. It should be impossible to miss.<\/p>\n<p>Glad that part landed for you.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>as a solo founder wearing the devops hat, this fills a gap i didnt know i needed filled. one dashboard to rule them all. solid launch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ruchita_italiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ruchita_italiya<\/a>&nbsp; Glad it landed. One dashboard was always the goal, not another tool to add to the pile.<\/p>\n<p>Congrats on everything you are building, and thanks for the support today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the file manager feature is the one nobody talks about <\/p>\n<p>but everyone needs. separate SFTP client is such a <\/p>\n<p>pain when you just want to edit one config file.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@abhishek_akbari\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhishek_akbari<\/a>&nbsp;exactly this. the SFTP client situation is one of those things where everyone has just accepted the pain for so long that they stopped noticing 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<\/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\/G3NKNLOKUXJ6ZY\" class=\"app-title\">Motion<\/a><\/p>\n<div class=\"one-liner\">A video agent for tasteful motion design<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">170<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Motion \u662f\u4e00\u4e2a\u4e13\u6ce8\u4e8e\u201c\u6709\u54c1\u5473\u201d\u52a8\u6001\u8bbe\u8ba1\u7684AI\u89c6\u9891\u4ee3\u7406\uff0c\u901a\u8fc7\u667a\u80fd\u7814\u7a76\u3001\u5206\u955c\u548c\u5143\u7d20\u7ea7\u53ef\u7f16\u8f91\u5de5\u4f5c\u6d41\uff0c\u89e3\u51b3\u7528\u6237\u53cd\u590d\u751f\u6210AI\u89c6\u9891\u65f6\u201c\u5dee\u4e0d\u591a\u4f46\u4e0d\u591f\u597d\u201d\u3001\u4fee\u6539\u6210\u672c\u9ad8\u4e14\u7f3a\u4e4f\u4e13\u4e1a\u5ba1\u7f8e\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\/c33513c7-b531-412c-bb03-be00b22382e4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7b87f04c-3f93-48aa-b5f9-99a2f7e6d119.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6f9b8e4f-c7c9-409a-984f-9301c75f7af3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/60b78eeb-e268-4692-ac52-e4a2cac7688b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f1428508-a678-4f2e-9a52-2c5846219479.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/218a45ac-c708-46c9-a631-77920395e596.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\/f34658eb-dd8d-4cd8-8ec2-11c6e8c03c5f.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/2iDRkkf32uQ?si=xyxZhjVDSGRWatni\"><source src=\"https:\/\/youtu.be\/2iDRkkf32uQ?si=xyxZhjVDSGRWatni\" 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\">Animation<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u89c6\u9891\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u52a8\u6001\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u5f0fAI<\/span><br \/>\n            <span class=\"tag\">\u53ef\u7f16\u8f91\u89c6\u9891<\/span><br \/>\n            <span class=\"tag\">\u5206\u955c\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u89c6\u9891\u5236\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">AI\u521b\u4f5c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u53d1\u5e03\u89c6\u9891<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u54c1\u5473<\/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\u5143\u7d20\u7ea7\u7f16\u8f91\u80fd\u529b\uff0c\u79f0\u201c\u7ec8\u4e8e\u4e0d\u7528\u4ece\u5934\u518d\u751f\u6210\u4e86\u201d\u3002\u6838\u5fc3\u7591\u95ee\u5305\u62ec\uff1a\u80fd\u5426\u5355\u5e27\u66ff\u6362\u5143\u7d20\u3001\u201c\u54c1\u5473\u201d\u7684\u5177\u4f53\u6765\u6e90\uff08\u662f\u5426\u6709\u98ce\u683c\u5e93\uff09\uff1f\u53e6\u6709\u7528\u6237\u53cd\u9988\u9080\u8bf7\u7801\u65e0\u6548\u3002\u56e2\u961f\u56de\u5e94\u53ef\u901a\u8fc7\u63d0\u793a\u8bcd\u3001\u94fe\u63a5\u6216\u4e0a\u4f20\u8bbe\u8ba1\u6587\u6863\u6765\u63a7\u5236\u98ce\u683c\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                Motion\u7684\u5438\u5f15\u529b\u4e0d\u5728\u4e8e\u201c\u751f\u6210\u901f\u5ea6\u201d\uff0c\u800c\u5728\u4e8e\u5bf9\u201c\u6210\u54c1\u611f\u201d\u7684\u8ffd\u6c42\u3002\u5b83\u654f\u9510\u5730\u6355\u6349\u5230\u4e86\u5f53\u4e0bAI\u89c6\u9891\u5de5\u5177\u7684\u4e00\u4e2a\u81f4\u547d\u7f3a\u9677\uff1a\u751f\u6210\u592a\u5feb\u592a\u5ec9\u4ef7\uff0c\u4f46\u4fee\u6539\u6162\u5982\u5669\u68a6\uff0c\u7ed3\u679c\u50cf\u201c\u8001\u864e\u673a\u201d\u4e00\u6837\u968f\u673a\u3002\u7528\u6237\u90a3\u53e5\u201calmost good enough is not good enough\u201d\u662f\u884c\u4e1a\u5199\u7167\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u6838\u5fc3\u6740\u62db\u662f\u201c\u540e\u751f\u6210\u7f16\u8f91\u6027\u201d\u3002\u5c06AI\u89c6\u9891\u4ece\u9ed1\u76d2\u751f\u6210\u8f6c\u6362\u4e3a\u4e00\u4e2a\u53ef\u62c6\u89e3\u3001\u53ef\u64cd\u4f5c\u7684\u5143\u7d20\u7ea7\u9879\u76ee\uff0c\u8fd9\u672c\u8d28\u4e0a\u662f\u5728AI\u89c6\u9891\u9886\u57df\u590d\u523b\u4e86\u4ece\u201c\u9759\u6001\u56fe\u8dd1\u56fe\u201d\u5230\u201cCanvas\u53ef\u7f16\u8f91\u201d\u7684\u8303\u5f0f\u8de8\u8d8a\u3002\u6b63\u662f\u8fd9\u4e2a\u80fd\u529b\uff0c\u8ba9\u5b83\u4ece\u201c\u751f\u6210\u5668\u201d\u5347\u683c\u4e3a\u201c\u5de5\u5177\u201d\uff0c\u8ba9\u521b\u4f5c\u8005\u6562\u7528\u3001\u613f\u610f\u7528\uff0c\u800c\u4e0d\u662f\u53ea\u62ff\u6765\u8dd1Demo\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u98ce\u9669\u540c\u6837\u5728\u4e8e\u201c\u54c1\u5473\u201d\u3002\u56e2\u961f\u58f0\u79f0\u201c\u6709\u54c1\u5473\u201d\uff0c\u4f46\u54c1\u5473\u672c\u8d28\u4e0a\u662f\u4e3b\u89c2\u4e14\u6602\u8d35\u7684\u2014\u2014\u5b83\u4f9d\u8d56\u4e8e\u7cbe\u51c6\u7684\u6570\u636e\u3001\u98ce\u683c\u5e93\u548c\u590d\u6742\u7684CMF\uff08\u8272\u5f69\u3001\u6750\u8d28\u3001\u8d28\u611f\uff09\u63a7\u5236\u3002\u5982\u679c\u4ec5\u4ec5\u9760\u63d0\u793a\u8bcd\u6216\u7f51\u7ad9\u94fe\u63a5\u722c\u53d6\u98ce\u683c\uff0c\u5728\u5b9e\u9645\u591a\u4eba\u534f\u4f5c\u4e0e\u54c1\u724c\u4e00\u81f4\u6027\u573a\u666f\u4e2d\uff0c\u5f88\u5bb9\u6613\u6ed1\u5411\u201c\u53ca\u683c\u4f46\u5e73\u5eb8\u201d\u3002\u53e6\u4e00\u4e2a\u9690\u60a3\u662f\uff1a\u5f53\u7528\u6237\u201c\u5168\u529f\u80fd\u201d\u7f16\u8f91\u65f6\uff0c\u5e95\u5c42\u903b\u8f91\u662f\u5426\u4f1a\u9000\u5316\u4e3a\u4f20\u7edf\u7f16\u8f91\u5668\uff1f\u82e5\u63a7\u5236\u4e0e\u667a\u80fd\u4e4b\u95f4\u7684\u5e73\u8861\u5931\u5f53\uff0cMotion\u53ef\u80fd\u6ca6\u4e3a\u53e6\u4e00\u4e2a\u6302\u9760AI\u529f\u80fd\u7684Adobe\u5957\u4ef6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u5224\u65ad\uff1aMotion\u9009\u5bf9\u4e86\u7ec6\u5206\u8d5b\u9053\uff08\u52a8\u6001\u8bbe\u8ba1\u54c1\u5473\u3001\u8d85\u7ec6\u5316\u7f16\u8f91\uff09\uff0c\u4f46\u5982\u679c\u65e0\u6cd5\u5efa\u7acb\u53ef\u590d\u73b0\u7684\u201c\u54c1\u5473\u5f15\u64ce\u201d\uff0c\u5b83\u6700\u7ec8\u4f1a\u5728\u201c\u653e\u6743\u7ed9AI\u201d\u548c\u201c\u8981\u6c42\u4eba\u5de5\u7cbe\u4fee\u201d\u7684\u5939\u7f1d\u4e2d\uff0c\u6d88\u8017\u6389\u81ea\u5df1\u7684\u5148\u53d1\u4f18\u52bf\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\">Motion<\/span>\n                <\/div>\n<div class=\"comment-content\">Motion is a frontier video agent for tasteful motion design. Give it a prompt with links, X threads, videos, assets, or references. Motion researches, storyboards, and creates explainers, launch videos, logo animations, or motion design for existing videos. Then edit everything directly: resize, drag and drop, modify elements, or iterate with chat.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone, my name is Adish and I&#8217;m one of the founders of <a href=\"https:\/\/mosaic.so\/?utm_campaign=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Mosaic<\/a>, the company behind <a href=\"https:\/\/motion.so\/?utm_campaign=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Motion<\/a>.<\/p>\n<\/p>\n<p>Motion is our new frontier video agent made for tasteful motion design. Here&#8217;s how it works:<\/p>\n<\/p>\n<p><strong>1. Give Motion a prompt<\/strong> \u2014&nbsp;include any context like product links, X threads, YouTube videos, personal assets, and more. Motion will reference styles, incorporate research, and storyboard scenes.<\/p>\n<p><strong>2. Motion creates the video<\/strong> \u2014&nbsp;it can orchestrate entire explainers, launch videos, logo animations, or even add motion design to your own talking head videos. Motion has taste in its visual animation.<\/p>\n<p><strong>3. Edit everything<\/strong> \u2014&nbsp;resize, drag and drop, modify elements, or iterate with chat. Tell Motion to iterate on selections or add new elements until you\u2019re satisfied. No need to re-generate entire scenes or deal with hallucinated artifacts.<\/p>\n<\/p>\n<p>To see what Motion can do, <a href=\"https:\/\/www.youtube.com\/watch?v=2iDRkkf32uQ\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">check out our launch video<\/a>, which was made entirely with Motion.<\/p>\n<\/p>\n<p>Motion is in early access but we are giving everyone that finds us on ProductHunt free invite codes. <a href=\"https:\/\/motion.so\/?utm_campaign=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Sign up for Motion <\/a>today with access code <em>phmotion<\/em>.<\/p>\n<\/p>\n<p>For support, please jump into our <a href=\"https:\/\/discord.gg\/mdX6QUnWje\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">growing Discord community<\/a> and if you&#8217;re interested in <a href=\"https:\/\/motion.mosaic.so\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">API access<\/a> or <a href=\"https:\/\/motion.so\/studio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">end-to-end produced launch videos<\/a>, please <a href=\"https:\/\/calendly.com\/adish-usemosaic\/15-minute-mosaic-demo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">schedule a quick call<\/a>.<\/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\/@adishj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adishj<\/a>&nbsp;great work but make the flow smooth <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@adishj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adishj<\/a>&nbsp;This feels like one of the first AI video tools actually focused on taste instead of just generation speed.<br \/>The editable workflow after generation is the most interesting part that&#8217;s where most AI videos tools still break today.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@adishj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@adishj<\/a>&nbsp;I&#8217;ve been looking for an ai tool that will generate motion designs that will help easy my content creation work load and this is exactly what I needed thanks guys<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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, Adish! Another awesome product by you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@zeng\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zeng<\/a>&nbsp;Thank you Zeng for being a supporter since day 1!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p> every other video tool makes you start over if one frame is off. how granular is the editing.. like can you swap out a single element mid-scene or is it section level<\/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\/@tina_chhabra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tina_chhabra<\/a>&nbsp;editability makes such a big difference \u2014 with something as visual as video, &#8220;almost&#8221; good enough is not good enough and the painful process of re-generating videos again and again just to run into more AI hallucinations burns a lot of time and credits. Motion solves that by giving you full editability at the element-level for every frame of your generated video!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>\ud83d\udd25\ud83d\udd25<\/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 have used this to edit my podcasts, trailers , Short videos perfect!! .. Saves a lot of time.. and very good at motion design!! Highly recommended. <\/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\/@gaurav_mahajan2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gaurav_mahajan2<\/a>&nbsp;Thank you for giving us a go already and becoming an early adopter!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Thrilled that Motion is finally out! We&#8217;ve seen some stunning videos being created from our beta testers, such as launch videos, product demos, and more. Join our <a href=\"https:\/\/discord.gg\/mdX6QUnWje\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Discord community<\/a> for the latest updates.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Motion is here for anyone who wants their videos to actually look good, not just \u201cdone.\u201d&nbsp;<br \/>I\u2019m part of the team behind <a href=\"https:\/\/motion.so\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Motion<\/a>. We built it around the real taste and workflow of motion designers and video editors, instead of just making another generic AI agent that edits videos.<\/p>\n<p>Our goal is to capture that crafted, human motion-design feel in an AI-powered tool, so the results look like something a professional would actually be proud to publish.<\/p>\n<p>We\u2019re also very excited about what\u2019s coming next. Soon, you\u2019ll be able to choose exactly how much control you want: dial in every detail like a motion designer, or hand more over to Motion so you can ship high\u2011quality videos in bulk with minimal effort.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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<em> edit individual elements instead of regenerating the whole scene part<\/em> is the unlock everyone&#8217;s been waiting for. <\/p>\n<p>Every other AI video tool turns into a slot machine&#8230;pull the lever, hope, repeat.<\/p>\n<p>Curious about the taste claim though. That&#8217;s the hardest thing to get right and the easiest to fake in a launch reel. Is there a style library it pulls from, or is it composing from scratch per prompt?<\/p>\n<p>Grabbing an invite. If it can turn a product link plus a few bullets into a real explainer, it saves me a week.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@midori_verity\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@midori_verity<\/a>&nbsp;agreed \u2014&nbsp;the editability post-generation is a fundamental difference between AI video generation and our internal and modifiable representation of video. <\/p>\n<\/p>\n<p>With something as visual as video, &#8220;almost&#8221; good enough is not good enough and the painful process of re-generating videos again and again just to run into more AI hallucinations burns a lot of time and credits. Motion solves that by giving you full editability at the element-level for every frame of your generated video!<\/p>\n<\/p>\n<p>Styling can be included directly in the prompt through specific instructions around brand guidelines or simply by dropping in your own website link and having it pull the design system from there. We also allow you to upload your own Design MD or provide other videos as style references.<\/p>\n<\/p>\n<p>Try it out at <a href=\"https:\/\/motion.so\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/motion.so<\/a>. Let me know how it goes for you!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Looks super helpful! Love the builder and the ability to post on social in the same flow.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@olivier_roth\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@olivier_roth<\/a>&nbsp;Thanks Olivier! Give it a try at <a href=\"https:\/\/motion.so\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/motion.so<\/a>. Access code for our ProductHunt launch: `phmotion`.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>So exciting to see <a href=\"https:\/\/motion.so\/?utm_campaign=producthunt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Motion<\/a> going live \ud83d\ude80<\/p>\n<p>Being part of the team behind it, the fast edits, huge amount of undiscovered use cases, and professional grade outputs are all things we&#8217;re incredibly proud to share. Definitely give it a <a href=\"https:\/\/motion.so\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">shot<\/a> and be sure to hop into our <a href=\"https:\/\/discord.gg\/mdX6QUnWje\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Discord<\/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>Team GitHits was looking for a product exactly like Motion. We were lucky meet the team Mosaic at SaaStr. We love the product and will do our launch video with it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jack_githits_com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jack_githits_com<\/a>&nbsp;Thank you Jack for trusting us with your launch video. Can&#8217;t wait to add it to the featured list here: <a href=\"https:\/\/motion.so\/studio\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/motion.so\/studio<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I used this to make my product videos, they turned out so well.<br \/>I saw increase in engagements.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kennydop\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kennydop<\/a>&nbsp;Love to hear it, thanks for being an early adopter!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 little video!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@louislecat\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@louislecat<\/a>&nbsp;Thanks! Made entirely with Motion!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Been testing the tool for a while\u2026 really nice output!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kabilan_g\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kabilan_g<\/a>&nbsp;Thanks for being an early adopter Kabilan!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Why redirection from product hunt invalid access. Invite code failing<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Amazing as a content creator lacking the creative bone if you will this is perfect for me. I can create the artistic high quality motion graphics that other tools lack and I don&#8217;t have to pay $1000&#8217;s to have a graphic designer make them. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The element-level editing is the right place to be opinionated. For product\/launch videos, \u201ctasteful\u201d usually depends on constraints that are easy to lose: brand pacing, how much product proof appears before flourish, which animations feel off-brand, and which references are actually approved.<\/p>\n<\/p>\n<p>One thing I\u2019d love to see is a small style-memory \/ \u201cwhy this direction\u201d panel: pulled from website, these references, these uploaded brand notes, then user corrections like \u201ctoo kinetic\u201d or \u201cnot enough product detail.\u201d That would make the agent feel more like a reusable creative director than a one-off generator.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/5QIYZNUVRIKFZD\" class=\"app-title\">Chert<\/a><\/p>\n<div class=\"one-liner\">Build AI agents that text customers in iMessage<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">169<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Chert\u662f\u4e00\u4e2a\u8ba9\u4f01\u4e1a\u65e0\u9700\u590d\u6742\u5f00\u53d1\u5373\u53ef\u5728iMessage\u4e0a\u6784\u5efa\u548c\u90e8\u7f72AI\u4ee3\u7406\u7684\u5e73\u53f0\uff0c\u4e13\u6ce8\u4e8e\u5ba2\u6237\u670d\u52a1\u3001\u6f5c\u5728\u5ba2\u6237\u6355\u83b7\u548c\u4e3b\u52a8\u5916\u8054\uff0c\u89e3\u51b3\u82f9\u679c\u5b98\u65b9\u7f3a\u4e4f\u5546\u4e1aAPI\u5bfc\u81f4\u7684\u9ad8\u4fe1\u4efb\u5ea6\u6d88\u606f\u6e20\u9053\u89c4\u6a21\u5316\u5229\u7528\u96be\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/838c0654-5b90-4e18-8bd4-65cce2694949.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0567dc4b-4d06-4574-9417-e4571265acdf.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/72320d37-a196-4e6d-94e6-1da766563990.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6e41fa9e-34d6-44c5-9c8a-1c92b2d32234.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/89f7db5a-7912-4679-bb0b-dbafd929e99f.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\/1792769f-fcba-40d0-a03f-101887bf42a0.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/g0BYKdbaNFo\"><source src=\"https:\/\/youtu.be\/g0BYKdbaNFo\" 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\">Messaging<\/span><br \/>\n            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">iMessage\u5ba2\u6237\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u5f0f\u5546\u4e1a<\/span><br \/>\n            <span class=\"tag\">Apple Business Chat\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">CRM\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5916\u547c\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5ba2\u670d<\/span><br \/>\n            <span class=\"tag\">\u6d88\u606f\u901a\u9053\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u7ebf\u7d22\u6355\u83b7<\/span><br \/>\n            <span class=\"tag\">Mac\u4e2d\u7ee7<\/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\u540ciMessage\u7684\u9ad8\u6253\u5f00\u7387\u4e0e\u4fe1\u4efb\u5ea6\uff0c\u6838\u5fc3\u5173\u5207\u96c6\u4e2d\u5728\uff1a1. \u6280\u672f\u53ef\u884c\u6027\uff08\u65e0\u82f9\u679c\u5b98\u65b9API\u5982\u4f55\u4fdd\u969c\u7a33\u5b9a\u53d1\u9001\u4e0e\u9650\u6d41\uff09\uff1b2. \u591a\u5e73\u53f0\u652f\u6301\uff08\u662f\u5426\u652f\u6301WhatsApp\u7b49\uff09\uff1b3. \u529f\u80fd\u8fb9\u754c\uff08\u662f\u4ec5\u5165\u7ad9\u8fd8\u662f\u652f\u6301\u5916\u547c\u3001\u662f\u5426\u652f\u6301\u7ebf\u7d22\u9884\u7b5b\uff09\uff1b4. \u6e20\u9053\u5b9a\u4f4d\uff08\u4e0eSMS\/RCS\u662f\u66ff\u4ee3\u8fd8\u662f\u4e92\u8865\uff09\u3002\u521b\u59cb\u4eba\u56de\u590d\u5f3a\u8c03\u91c7\u7528Mac\u4e2d\u7ee7+\u5065\u5eb7\u68c0\u67e5+\u8bbe\u5907\u5206\u53d1\u7b56\u7565\u4fdd\u8bc1\u53ef\u9760\u6027\uff0c\u5e76\u652f\u6301\u53cc\u5411\u5bf9\u8bdd\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                Chert\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u591a\u6570AI\u5ba2\u670d\u5382\u5546\u5ffd\u89c6\u7684\u201c\u9ec4\u91d1\u7f1d\u9699\u201d\u2014\u2014iMessage\u3002\u5f53\u6240\u6709\u4eba\u90fd\u6324\u5728\u7f51\u9875\u804a\u5929\u7a97\u3001WhatsApp\u548c\u90ae\u4ef6\u4e2d\u65f6\uff0c\u521b\u59cb\u4ebaGary\u8d4c\u5bf9\u4e86\u201c\u9ad8\u4fe1\u4efb\u5ea6+\u9ad8\u6253\u5f00\u7387\u201d\u8fd9\u4e2a\u5546\u4e1a\u516c\u5f0f\u3002\u4ece\u8bc4\u8bba\u533a\u201ciMessage not yet slop\u201d\u7684\u611f\u6168\u53ef\u4ee5\u770b\u51fa\uff0c\u8be5\u6e20\u9053\u5728\u5546\u4e1a\u6d88\u606f\u5c1a\u672a\u6cdb\u6ee5\u524d\uff0c\u62e5\u6709\u8fdc\u9ad8\u4e8eSMS\u7684\u89e6\u8fbe\u7387\u4e0e\u8f6c\u5316\u6f5c\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u4ef7\u503c\u6838\u5fc3\u5e76\u975e\u201cAI\u5bf9\u8bdd\u80fd\u529b\u201d\u2014\u2014\u5e02\u9762\u4e0aChatGPT\u5957\u58f3\u6613\u505a\uff0c\u96be\u7684\u662f\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\u3002Chert\u771f\u6b63\u89e3\u51b3\u7684\u662f\uff1a\u82f9\u679c\u4e0d\u5f00\u653eiMessage\u5546\u4e1aAPI\u7684\u7269\u7406\u7ea6\u675f\u3002\u5176\u91c7\u7528Mac\u4e2d\u7ee7\uff08\u5373\u901a\u8fc7\u771f\u5b9e\u82f9\u679c\u8bbe\u5907\u8def\u7531\u6d88\u606f\uff09\u7684\u65b9\u6848\uff0c\u867d\u975e\u5168\u65b0\uff0c\u4f46\u96c6\u6210\u4e86\u5065\u5eb7\u68c0\u67e5\u3001\u8de8\u8d26\u53f7\u8bbe\u5907\u5206\u53d1\u3001\u72b6\u6001\u673a\u8ddf\u8e2a\u7b49\u4f01\u4e1a\u7ea7\u529f\u80fd\uff0c\u8fd9\u5728\u57fa\u7840\u8bbe\u65bd\u5c42\u9762\u6784\u5efa\u4e86\u62a4\u57ce\u6cb3\u3002\u5bf9\u4e8e\u4f9d\u8d56HubSpot\u3001Close CRM\u7684DTC\u54c1\u724c\u548c\u5bb6\u88c5\u670d\u52a1\u516c\u53f8\u800c\u8a00\uff0c\u65e0\u9700\u81ea\u7814\u6d88\u606f\u5c42\u5373\u53ef\u5c06iMessage\u9ad8\u6548\u878d\u5165\u73b0\u6709leads\u8ffd\u8e2a\u6d41\u7a0b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u8b66\u60d5\u7684\u662f\uff0c\u5176\u6280\u672f\u8def\u7ebf\u5b58\u5728\u5355\u70b9\u98ce\u9669\u548c\u53ef\u590d\u5236\u6027\u3002Mac\u4e2d\u7ee7\u65b9\u6848\u7684\u7a33\u5b9a\u6027\u53d7\u9650\u4e8e\u82f9\u679c\u7684\u8f6f\u786c\u4ef6\u66f4\u65b0\u53ca\u8d26\u53f7\u62c9\u9ed1\u98ce\u9669\u3002\u968f\u7740\u82f9\u679c\u53ef\u80fd\u6700\u7ec8\u63a8\u51faiMessage for Business API\uff0c\u5f53\u524d\u7684\u4e2d\u7ee7\u6a21\u5f0f\u53ef\u80fd\u77ac\u95f4\u8d2c\u503c\u3002\u56e0\u6b64\uff0cChert\u7684\u7a97\u53e3\u671f\u5728\u4e8e\u201c\u6210\u4e3a\u8be5\u751f\u6001\u88ab\u5b98\u65b9\u5316\u4e4b\u524d\u7684\u6700\u5927\u73a9\u5bb6\u201d\u3002\u76ee\u524d\u6765\u770b\uff0c\u5176\u5148\u53d1\u4f18\u52bf\u548c\u5207\u5165\u7684\u201c2B\u6d88\u606f\u57fa\u7840\u8bbe\u65bd\u201d\u5b9a\u4f4d\uff0c\u6bd4\u76f4\u63a5\u505aAI SaaS\u66f4\u5177\u6301\u4e45\u6027\u3002\u4f46\u80fd\u5426\u4ece\u201c\u84dd\u6ce1\u6ce1\u7684\u7ba1\u9053\u5de5\u201d\u8fdb\u5316\u4e3a\u201c\u667a\u80fd\u5bf9\u8bdd\u5e73\u53f0\u201d\uff0c\u53d6\u51b3\u4e8e\u56e2\u961f\u662f\u5426\u5728CRM\u6df1\u5ea6\u96c6\u6210\u548c\u573a\u666f\u5316BPO\u65b9\u6848\u4e0a\u6301\u7eed\u6295\u5165\uff0c\u800c\u975e\u505c\u7559\u5728\u7b80\u5355\u7684prompt\u754c\u9762\u5305\u88c5\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\">Chert<\/span>\n                <\/div>\n<div class=\"comment-content\">Build and deploy conversational iMessage agents for customer service, inbound lead capture, and more. Simply configure the system prompt and tone, and you can create your own conversational iMessage agent for inbound handling, outbound follow-up, or whatever workflow you want to test. You can also integrate with CRMs like HubSpot, Close, or GoHighLevel to write back conversation histories.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone, I&#8217;m Gary, co-founder of Chert!<\/p>\n<p>We&#8217;ve spent the last six months building projects on iMessage for leasing companies, DTC startups, and home service agencies. Across these use cases, we kept seeing the same problem. Founders wanted to deploy conversational iMessage agents for customer service, lead capture, and outbound follow-up, but the underlying infrastructure was difficult to set up and hard to scale reliably. <\/p>\n<p>This is what inspired us to build Chert, a platform for teams to create and deploy iMessage agents, powered by infrastructure that can send, receive, and automate conversations over iMessage at scale. There&#8217;s a few main features that we believe will make Chert stable, reliable, and scalable: <\/p>\n<p>&#8211; Chert provides comprehensive line health checks, making it safer and more robust for outbound use cases.<br \/>&#8211; Additionally, Chert offers a scalable pricing structure that lets teams scale to hundreds of lines and thousands of messages. <br \/>&#8211; Finally, Chert integrates with CRMs like Salesforce, HubSpot, and Close and tools like Vapi and Slack, so teams can easily add iMessage into their existing stacks at scale. <\/p>\n<p>Feel free to try building and deploying your own iMessage agent through the Agents page in our website. No credit card required. <\/p>\n<p>Would love any feedback or thoughts!<\/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\/@garygao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@garygao<\/a>&nbsp;this is actually a very smart angle.<\/p>\n<p>everyone is building AI agents for email\/web\/chatbots, but iMessage is still weirdly underexplored despite insanely high engagement rates. feels like there\u2019s a real infra opportunity here.<\/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\/@garygao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@garygao<\/a>&nbsp;Hi Gary, congrats on the launch. Any plans to add other messaging platforms (WA) later on?<\/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\/@garygao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@garygao<\/a>&nbsp;Congrats Gary, I really like how you approached this. It sounds like you kept seeing the same gap across different customer projects and turned that into infrastructure others can build on. I also like that Chert covers both the management layer and the API side, so it feels less like a one-off iMessage tool and more like a real channel teams can plug into their workflows.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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! This is cool. Are your customers typically coming from other iMessage tools and switching, or are they mostly introducing iMessage as a brand-new channel?<\/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\/@charlenechen_123\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charlenechen_123<\/a>&nbsp;Mostly as a brand-new channel! Most of them actually use SMS\/RCS before switching to iMessage! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 people usually use Chert to replace sms or have you seen circumstances where people use <\/p>\n<p>both sms\/rcs and blue-bubble messaging?<\/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\/@kumar_ritesh21\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kumar_ritesh21<\/a>&nbsp;I&#8217;ve seen circumstances of people using both. A lot of times, people use sms\/rcs for auth and transactional messaging and iMessage for 2-way conversational messaging<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@kumar_ritesh21\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kumar_ritesh21<\/a>&nbsp;We usually see Chert used alongside SMS\/RCS, especially when teams already have an existing SMS flow. The main reason people add blue-bubble messaging is that the response rate and perceived trust are meaningfully different, especially in consumer-facing conversations.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Getting iMessage delivery working for AI agents is a non-trivial integration challenge since Apple doesn&#8217;t expose a public API. We&#8217;ve wrestled with customer communication channel tradeoffs at RetainSure, and iMessage reach in B2C contexts is real. How are you handling message delivery guarantees and rate limits at scale when the underlying transport doesn&#8217;t give you standard webhook callbacks?<\/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\/@anand_thakkar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anand_thakkar1<\/a>&nbsp;We have a lot of robust health checks in place that prevents rate limitations at scale. We also have custom systems built out that supports webhooks and exposes APIs! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@anand_thakkar1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anand_thakkar1<\/a>&nbsp;Yeah exactly, that\u2019s the core challenge. Since there\u2019s no clean public iMessage API or standard webhook layer, we treat delivery more like an observed state machine than a simple callback system.<\/p>\n<\/p>\n<p>On rate limits, we stay conservative and distribute sending across accounts\/devices instead of trying to brute force volume. For delivery guarantees, we track message state from the transport layer, retries, failures, response behavior, and operator-visible logs. It\u2019s definitely less deterministic than email or SMS, but that\u2019s also why the channel works so well when handled carefully.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@garygao\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"garygao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@garygao<\/a> Congrats on the launch! Really interesting product. Is there a way to try building an agent before talking to sales? I\u2019d love to send a few test messages and see the developer flow end to end.<\/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\/@suyash_kr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suyash_kr<\/a>&nbsp;Yes, try out our agent builder, it&#8217;s completely free and very easy to get started! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really cool. What are ur thoughts on trust and user experience? iMessage feels valuable rn bcs <\/p>\n<p>its not yet flooded with business messaging slop.<\/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\/@sawan_kumar13\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sawan_kumar13<\/a>&nbsp;iMessage is a really high trust channel, and as long as people use it for 2-way conversational messaging and not spam, it&#8217;ll remain as such! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 support outbound or only inbound messaging?<\/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\/@vishalmehta8340\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vishalmehta8340<\/a>&nbsp;We support both warm outbound and inbound messaging! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><em>Big congrats on the launch. What does the integration actually look like? Is it mostly configuring the agent prompt and workflow in the dashboard, or do teams usually connect it into their existing stack too?<\/em><\/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\/@vishalmehta8340\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vishalmehta8340<\/a>&nbsp;Teams can connect it to their existing stack! We already support integrations in Salesforce, Hubspot, Slack, Attio, Close CRM, and more! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@vishalmehta8340\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vishalmehta8340<\/a>&nbsp;Thanks! For most teams, the first version is just configuring the agent, workflow, and guardrails in the dashboard.<\/p>\n<\/p>\n<p>As they scale, they usually connect Chert into their existing stack so replies, leads, and status changes sync back cleanly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Could see this being really useful for businesses that get a lot of inbound interest. Are people using Chert to capture new demand right now or to mainly convert old demand they already missed?<\/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\/@jocky\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jocky<\/a>&nbsp;Both! There are companies using Chert to do lead reactivation and also others using Chert to do warm outbound! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">for someone who like a home services company, could the agent qualify the lead as well?<\/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\/@ann_y1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ann_y1<\/a>&nbsp;Yes! The agent can conversationally ask questions and qualify leads based on that! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey everyone, thank you all for trying it out!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on this launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@peng_wood\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@peng_wood<\/a>&nbsp;Thank you!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What is the difference between Chert and SMS\/RCS other than blue-bubble messaging?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sololizard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sololizard<\/a>&nbsp;iMessage open rates are a lot higher and more conversational! Also, iMessage sends attachments for free, so there&#8217;s no differences like SMS and MMS<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love this! AI agents in a channel people already trust feels much more compelling than yet another app download. Can the agent proactively message users too, or is the product more focused on responding once a conversation begins?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ankit_rajput821\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ankit_rajput821<\/a>&nbsp;The agent can proactively message users as well! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>iMessage open rates are hard to beat. How does the underlying send mechanism work exactly? Apple doesn&#8217;t have a public business API for iMessage &#8211; is this throught Apple Business Chat, a Mac relay, or something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@christian_knaut\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@christian_knaut<\/a>&nbsp;We&#8217;re doing it through a stable Mac relay! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Why only iMessage? We recently had a client asking us to build a similar service, but connected to all popular messengers and social networks for handling customer requests, which would then also be sent to the CRM. We looked for a ready-made solution, but couldn\u2019t find anything that supported all the platforms they needed.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;We&#8217;re going to also expand to other messaging platforms like WhatsApp very soon as well! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can I bring my own numbers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@mia_qiao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mia_qiao<\/a>&nbsp;Unfortunately, not right now<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Do you support running different prompts for different stages, like qualification vs scheduling?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@thamibenjelloun\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@thamibenjelloun<\/a>&nbsp;Yes, we can support agents that handle both qualification and scheduling! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Are the numbers automatically assigned or do I get to choose the number that I\u2019m using?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@min_zhou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@min_zhou<\/a>&nbsp;Numbers are usually automatically assigned, but we can definitely help if you have a preferred area code! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Is the main product like a rest api, webhook, sdk, or integration?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alexia_li\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexia_li<\/a>&nbsp;Our main product is currently an API for sending and receiving iMessages, but we also support integrations into popular CRMs and tools like Salesforce, Hubspot, and Slack!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@alexia_li\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alexia_li<\/a>&nbsp;We support all of them! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting launch. <\/p>\n<p>I saw that Chert targets businesses like DTC brands and SMBs on the webpage. <\/p>\n<p>Is Chert more of a no-code agent builder or something built for developers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@bsy0221\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bsy0221<\/a>&nbsp;It can be both! We have a no-code agent builder that only requires prompting and an API for developers who want to host their own agents! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, was reading through Chert&#8217;s site and the iMessage-as-support-channel framing is honestly wild. one thing I wanted to understand, what&#8217;s the path for non-iPhone customers, is there an SMS fallback or is the product fully iOS-only by design? that fork basically defines whether this is niche or omnichannel.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@axlerodd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@axlerodd<\/a>&nbsp;Yes, we have an SMS fallback in place for non-iphone users! We&#8217;re also planning on expanding to additional channels such as Whatsapp! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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! How would love to understand more how the inbound\/outbound mechanism work? Is it basically an agent for each use case? Is the skill included out of the box?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hai_ta1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hai_ta1<\/a>&nbsp;Agents can do both inbound and outbound! Also, inbound and outbound capabilities come directly out of the box via API endpoints! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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>Building on iMessage means dealing with Apple&#8217;s undocumented protocol quirks, and wrapping that behind a clean API is the real product. We&#8217;ve been building customer-facing AI agents at RetainSure and delivery reliability across channels is a constant headache. How do you handle delivery confirmations in iMessage? Does the API surface read receipts or are you inferring from response patterns?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@retain_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@retain_dev<\/a>&nbsp;Yes, we can ensure high deliverability and know when a message is sent and delivered! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The iMessage delivery angle is smart. B2B tools rarely nail async customer touchpoints, but buyers actually respond to texts. We&#8217;re running customer success workflows at RetainSure and the biggest gap is getting responses to renewal nudges. CRM write-back via HubSpot is a nice touch. Does the agent handle multi-turn conversations well, or does it reset context between sessions?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;Yes, the agent can handle multi-turn conversations! Also, your use case at RetainSure sounds like a perfect one for iMessage! Would love to talk more! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Are you routing through registered businesses with iMessage for Business or solving it some other way? The leasing companies angle is sharp positioning. SMS open rates collapsed in the last couple years for those verticals and iMessage actually moves the needle here<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@artstavenka1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@artstavenka1<\/a>&nbsp;We&#8217;re not routing through iMessage for Business right now<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats\uff01Amazing Product\uff01\uff01<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@gideon_ge\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gideon_ge<\/a>&nbsp;Thank you! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>pretty cool! Congrats for the launch!<br \/>Is there any ways for the customer to talk to a human when ai is not efficient enough?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a> Yes! Human intervention and handoff is supported<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Are your customers typically coming from other iMessage tools and switching, or are they mostly introducing iMessage as a brand-new channel?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hanzhizhang0405\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hanzhizhang0405<\/a>&nbsp;They&#8217;re mostly coming to iMessage as a brand new channel. In fact, many of them switched from SMS\/RCS to imsg! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">imessage agent is lit<\/div>\n<div class=\"comment-actions\">\n<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\/@hehe6z\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hehe6z<\/a>&nbsp;agree haha!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/JEGSQUEJBZZFD2\" class=\"app-title\">Monocle 3.5 for macOS<\/a><\/p>\n<div class=\"one-liner\">Noise-cancelling for your \uf8ff screen<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">149<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Monocle 3.5 \u662f\u4e00\u6b3e macOS \u4e13\u6ce8\u5de5\u5177\uff0c\u901a\u8fc7\u6a21\u7cca\u9664\u5f53\u524d\u6d3b\u52a8\u7a97\u53e3\u5916\u7684\u6240\u6709\u5c4f\u5e55\u5185\u5bb9\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u591a\u7a97\u53e3\u73af\u5883\u4e0b\u51cf\u5c11\u89c6\u89c9\u5e72\u6270\uff0c\u63d0\u5347\u5de5\u4f5c\u4e0e\u601d\u8003\u7684\u6c89\u6d78\u611f\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\/05edc812-e718-41dc-855c-6ae320d644aa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1f405ef3-2f24-431f-b2df-580fc0f5ee26.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\/559d57b1-800f-4e39-8e17-7a29559bbb9f.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\/2e6590da-63d8-4ec2-83b2-cdb564f49af7.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/3d27b7d9-fa89-4e7d-a2df-df1b95916f00.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/c6dJvbWHqVY\"><source src=\"https:\/\/youtu.be\/c6dJvbWHqVY\" 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\">User Experience<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">macOS<\/span><br \/>\n            <span class=\"tag\">\u4e13\u6ce8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7a97\u53e3\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5c4f\u5e55\u964d\u566a<\/span><br \/>\n            <span class=\"tag\">\u5e94\u7528\u5206\u7ec4<\/span><br \/>\n            <span class=\"tag\">\u591a\u663e\u793a\u5668\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u6a21\u7cca\u6548\u679c<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Stage Manager<\/span><br \/>\n            <span class=\"tag\">\u7cfb\u7edf\u7ea7\u4f53\u9a8c<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u6982\u5ff5\u4e0e\u5b9e\u73b0\uff0c\u5c24\u5176\u8d5e\u8d4f\u201c\u5e94\u7528\u5206\u7ec4\u201d\u529f\u80fd\u5c06\u5355\u4e00\u7a97\u53e3\u805a\u7126\u5de5\u5177\u5347\u7ea7\u4e3a\u591a\u7a97\u53e3\u5de5\u4f5c\u6d41\u7684\u65e5\u5e38\u9a71\u52a8\u3002\u6709\u7528\u6237\u8be2\u95ee\u8d44\u6e90\u5360\u7528\uff0c\u5f00\u53d1\u8005\u56de\u5e94M3\u82af\u7247\u95f2\u7f6e\u65f6\u7ea61.8% CPU\u3002\u53e6\u6709\u7528\u6237\u5bf9\u201c\u7cfb\u7edf\u539f\u751f\u611f\u201d\u7684\u5ba3\u79f0\u6301\u8c28\u614e\u671f\u5f85\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                Monocle 3.5 \u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u6a21\u7cca\u201d\uff0c\u800c\u5728\u4e8e\u201c\u7cbe\u51c6\u7684\u906e\u853d\u201d\u3002\u5b83\u89e3\u51b3\u7684\u4e0d\u662f\u201c\u7a97\u53e3\u592a\u591a\u201d\u672c\u8eab\uff0c\u800c\u662f\u4eba\u7c7b\u89c6\u89c9\u7cfb\u7edf\u5728\u591a\u4efb\u52a1\u5207\u6362\u65f6\u7684\u8ba4\u77e5\u8fc7\u8f7d\u2014\u2014\u8fd9\u662f\u5f88\u591a\u6548\u7387\u5de5\u5177\uff08\u5982\u5355\u7eaf\u7684\u7a97\u53e3\u7ba1\u7406\u5668\u6216\u5206\u5c4f\u5e94\u7528\uff09\u5ffd\u7565\u7684\u5fc3\u7406\u5c42\u9762\u75db\u70b9\u3002\u4ece3.0\u52303.5\u7684\u8fed\u4ee3\uff0c\u5f00\u53d1\u8005\u663e\u7136\u610f\u8bc6\u5230\uff0c\u5355\u4e00\u7a97\u53e3\u805a\u7126\u53ea\u662f\u4e00\u4e2a\u201c\u6f14\u793a\u7ea7\u201d\u529f\u80fd\uff0c\u53ea\u6709\u201c\u5e94\u7528\u5206\u7ec4\u201d\u624d\u80fd\u8ba9\u5b83\u771f\u6b63\u8fdb\u5165\u591a\u7a97\u53e3\u5de5\u4f5c\u6d41\u3002\u8fd9\u662f\u4ece\u7ebf\u6027\u601d\u7ef4\u5230\u7f51\u72b6\u601d\u7ef4\u7684\u8dc3\u8fc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9700\u6ce8\u610f\u5176\u6280\u672f\u4ee3\u4ef7\uff1a\u6b63\u5982\u5f00\u53d1\u8005\u5728\u8bc4\u8bba\u4e2d\u5766\u627f\uff0c\u6a21\u7cca\u6e32\u67d3\u7684\u5b9e\u65f6\u6027\u610f\u5473\u7740\u66f4\u9ad8\u7684CPU\u5f00\u9500\uff08\u5c24\u5176\u662f\u5728\u7a97\u53e3\u5207\u6362\u77ac\u95f4\uff09\u3002\u867d\u7136M\u7cfb\u82af\u7247\u4e0b1.8%\u7684\u95f2\u7f6e\u5360\u7528\u53ef\u63a5\u53d7\uff0c\u4f46\u5728Intel Mac\u6216\u91cd\u5ea6\u8d1f\u8f7d\u573a\u666f\u4e0b\uff0c\u8fd9\u4e00\u4f53\u9a8c\u53ef\u80fd\u6253\u6298\u3002\u5176\u201c\u7cfb\u7edf\u539f\u751f\u611f\u201d\u7684\u5ba3\u79f0\u662f\u4e00\u628a\u53cc\u5203\u5251\u2014\u2014\u65e0\u7f1d\u4f53\u9a8c\u5e26\u6765\u9ad8\u7c98\u6027\uff0c\u4f46\u4efb\u4f55\u5fae\u5c0f\u7684UI\u5361\u987f\u90fd\u5c06\u76f4\u63a5\u51fb\u7a7f\u7528\u6237\u9884\u671f\u7684\u5e95\u566a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cMonocle \u5e76\u975emacOS\u7684\u5fc5\u9700\u54c1\uff0c\u800c\u662f\u9488\u5bf9\u201c\u4fe1\u606f\u654f\u611f\u578b\u201d\u91cd\u5ea6\u7528\u6237\uff08\u5199\u4f5c\u8005\u3001\u8bbe\u8ba1\u5e08\u3001\u5f00\u53d1\u8005\uff09\u7684\u9690\u5f62\u773c\u955c\u3002\u5b83\u4e0d\u63d0\u4f9b\u529f\u80fd\uff0c\u53ea\u63d0\u4f9b\u72b6\u6001\u3002\u8fd9\u79cd\u201c\u51cf\u6cd5\u601d\u7ef4\u201d\u5728\u5982\u4eca\u5de5\u5177\u6cdb\u6ee5\u7684\u73af\u5883\u91cc\uff0c\u53cd\u800c\u662f\u4e00\u79cd\u7a00\u7f3a\u7684\u6e05\u9192\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\">Monocle 3.5 for macOS<\/span>\n                <\/div>\n<div class=\"comment-content\">Monocle 3.5 is a crucial follow-up to 3.0, and the one most asked for. With those long-awaited features finally in, the app just clicks. It feels complete.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey!<\/p>\n<p>I&#8217;m <a href=\"https:\/\/x.com\/heyiamdk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Dominik<\/a>, creator of <a href=\"https:\/\/www.heyiam.dk\/monocle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Monocle<\/a>, and I&#8217;m excited to share a new 3.5 update with you!<\/p>\n<p><strong>For those who don&#8217;t know Monocle:<\/strong><\/p>\n<p>Think noise-cancelling, but for your screen.<br \/>Designed to actually feel like it came with your \uf8ff Mac.<\/p>\n<\/p>\n<p>You know that feeling when you sit down to work and your screen is a wall of tabs, open apps, and windows you&#8217;ll come back to later? Monocle softly dims all of it except the window you&#8217;re using with a simple cursor shake.*<\/p>\n<\/p>\n<p>Nothing closes, nothing changes. The noise goes quiet enough to work, write, browse, or think again.<\/p>\n<\/p>\n<p>\u2026just wiggle your mouse.<\/p>\n<\/p>\n<p><em>(*or a shortcut, menu bar click, whatever&#8217;s easiest for you)<\/em><\/p>\n<p><strong>Some context:<\/strong><\/p>\n<\/p>\n<p>3.0 was Monocle rebuilt from the ground up. It was the new foundation. 3.5 is what makes it actually click. Most of the features here have been on the community&#8217;s wishlist since 1.0 launched, and getting them all in finally feels like the version I always imagined.<\/p>\n<p><strong>What&#8217;s new in 3.5:<\/strong><\/p>\n<\/p>\n<p>\u2022 <strong>App Groups<\/strong>: Group two or more apps so they share focus. The whole group stays clear when any of them is active.<\/p>\n<p>\u2022 <strong>Stage Manager Support<\/strong>: Monocle now detects Stage Manager automatically and keeps your window strip visible alongside the focused app. No toggle, no setup.<\/p>\n<p>\u2022 <strong>Multi-monitor Blur, Finally Fixed<\/strong>: The long-standing bug where only one display would blur is gone. Multi-display setups are now fully supported, even with &#8220;Displays have Separate Spaces&#8221; disabled.<\/p>\n<p>\u2022 <strong>Corner Peek<\/strong>: Flick your cursor to any screen corner for a quick peek under the overlay.<\/p>\n<p>\u2022 <strong>Cursor Reveal Effect<\/strong>: A new way the overlay appears and disappears, fanning out from your cursor&#8217;s position. Especially cool across multiple displays.<\/p>\n<p>\u2022 <strong>Blur-Free Mode<\/strong>: Turn blur off completely and keep just tint, grain, and monochrome. For those who prefer the classic dimmer look.<\/p>\n<p>\u2022 <strong>Plus a loooong list of polish<\/strong>: smoother auto-hide for the Dock and menu bar, license activation across user profiles on the same Mac, new scripting commands, settings UI\/UX improvements, and lots of bug fixes throughout.<\/p>\n<p><strong>50% OFF discount:<\/strong><\/p>\n<p>As always, to celebrate the new release, I&#8217;ve hidden a generous discount as a new easter egg on the <a href=\"https:\/\/www.heyiam.dk\/monocle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Monocle<\/a> website. The sale is running until May 31, 2026. Good luck!<\/p>\n<p><strong>Latest mentions:<\/strong><\/p>\n<p><a href=\"https:\/\/www.tomsguide.com\/computing\/this-mac-app-made-me-realize-how-easily-distracted-i-am-and-helped-me-combat-it\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>I tried the Monocle app for Mac and it completely changed how I handle digital distractions by blurring out everything except the window I am currently using<\/strong><\/a> by Tom&#8217;s Guide (5\/4\/26)<\/p>\n<p><a href=\"https:\/\/youtu.be\/npxlJdxSv4A?si=bTswmnym5VCDh-zC\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Your Mac Is Missing All of These<\/strong><\/a> by Snazzy Labs <em>(4\/11\/26)<\/em><\/p>\n<p><a href=\"https:\/\/youtu.be\/LtuUwACZdsQ?si=M1PIdqWcYDZV4BvP\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>10 Mac Apps That Will Change How You Use macOS in 2026<\/strong><\/a> <em>by MacRumors <\/em>(12\/24\/25)<\/p>\n<p><strong>Oh, and make sure you read Monocle&#8217;s Wall of Love, it&#8217;s beautiful!<\/strong><br \/><a href=\"https:\/\/www.heyiam.dk\/monocle\/testimonials\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/heyiam.dk\/monocle\/testimonials<\/a><\/p>\n<p>Let me know your though \ud83d\ude42<\/p>\n<p>Dominik<\/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>Using this for ages now. Love the concept and the implementation. Looks so beautiful that i am tempted to not keep app windows in full size \ud83d\ude05<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the app groups feature is the one that makes this actually usable for multi-window workflows &#8211; single window focus tools always broke down the moment you needed a browser and a doc open side by side. solving that is what takes it from a neat demo to a daily driver<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Why didn\u2019t macOS have something like this from the start? \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\/@idahansen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@idahansen<\/a>&nbsp;Right? Hopefully someday they take the hint \ud83d\ude42 &#8230;or rather not? \ud83d\ude00<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I hate when too many windows are visible \ud83d\ude42 I keep every window maximized fullscreen so the others aren\u2019t visible at all &#8211; they distract me. Though I have a MacBook Air, so the screen is small. With large monitors, that\u2019s probably not as convenient.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;Makes sense on a smaller screen &#8211; fullscreen is probably the way to go there. On a larger display fullscreen just doesn&#8217;t work for me. And honestly the blur is so freaking calming and satisfying, I just prefer this \ud83d\ude04<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 &#8216;designed to feel like it came with your Mac&#8217; line is either accurate or it isn&#8217;t and you find out in the first five minutes. that&#8217;s the bar they&#8217;ve set for themselves which is either confident or reckless depending on the execution<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ansari_adin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ansari_adin<\/a>&nbsp;7-day trial, no card required &#8211; let me know \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve seen your project at 1st launch I think. I find it very cool, congrats for the idea! I&#8217;m going to give it a try for sure<\/p>\n<p>Question: I want something lightweight, do you have any stats on how much resources it takes when it is running? Or in the background? <\/p>\n<p>cheers<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@fberrez1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fberrez1<\/a>&nbsp;Hey, thanks so much &#8211; really glad you&#8217;ve been following since the early days!<\/p>\n<p>Monocle 3.5 is the most optimized version so far, but I still have one or two more rounds of performance work planned for the coming weeks.<\/p>\n<\/p>\n<p>That said, to set expectations: compared to traditional black overlay dimmers, the CPU impact is of course higher &#8211; especially during window switching, since Monocle is doing actual blur rendering.<\/p>\n<p>When blur is ON and idle, I&#8217;m seeing around 1.8% CPU on my M3. When Monocle is running in the background while not active, it sits at 0%.<\/p>\n<\/p>\n<p>Hope that helps.<\/p>\n<p>Dom<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KEW2UCNMPEMFRD\" class=\"app-title\">Voker<\/a><\/p>\n<div class=\"one-liner\">The Agent Analytics Platform for AI Product Teams<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">142<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Voker\u662f\u4e3aAI\u4ea7\u54c1\u56e2\u961f\u6253\u9020\u7684\u667a\u80fd\u4f53\u5206\u6790\u5e73\u53f0\uff0c\u901a\u8fc7\u8f7b\u91cf\u7ea7SDK\u81ea\u52a8\u6355\u83b7\u7528\u6237\u610f\u56fe\u3001\u7ea0\u6b63\u548c\u5206\u8fa8\u7387\u7b49\u884c\u4e3a\u6570\u636e\uff0c\u89e3\u51b3\u751f\u4ea7\u73af\u5883\u4e2d\u667a\u80fd\u4f53\u6027\u80fd\u9ed1\u7bb1\u548c\u76d1\u63a7\u7f3a\u5931\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\/3b6adf0c-d9b1-4170-b9fd-6aa71501b46e.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\/abf785bd-d706-4199-ad88-5333bbe40626.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\/b7ad7dbb-e0c6-46f1-8f28-1e88cb2b6b16.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\/84263c7a-3839-4d7b-afb1-d2941b304c31.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\/fb6591a1-95f0-425c-9fb7-807593e2280e.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\/b0f81c53-88af-43ae-9a4c-0c5e5f22cc50.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\/dafca818-7145-4061-961d-e0ee8b881f8d.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/6a2889f2-5e8f-44bc-8551-bef369606f49.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/6QDoj4kxADs\"><source src=\"https:\/\/youtu.be\/6QDoj4kxADs\" 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\">Analytics<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u667a\u80fd\u4f53\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u884c\u4e3a\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u6027\u80fd\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u610f\u56fe\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u73af\u5883\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">SaaS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9a71\u52a8<\/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\u81ea\u52a8\u610f\u56fe\/\u7ea0\u9519\u68c0\u6d4b\u7684\u4ef7\u503c\uff0c\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a\u5904\u7406\u591a\u610f\u56fe\u4f1a\u8bdd\u548c\u667a\u80fd\u4f53\u95f4\u5207\u6362\u7684\u80fd\u529b\u3001\u81ea\u5b9a\u4e49\u6307\u6807\u548c\u8bed\u4e49\u53d8\u4f53\u652f\u6301\u3001\u8ffd\u8e2a\u51b3\u7b56\u5206\u652f\u548c\u6027\u80fd\u56de\u5f52\u3001\u80fd\u5426\u76f4\u63a5\u89e6\u53d1\u4fee\u590d\u52a8\u4f5c\u3002\u90e8\u5206\u7528\u6237\u6000\u7591\u201c\u7ea0\u9519\u201d\u6807\u6ce8\u4f1a\u53d7\u8bed\u4e49\u6b67\u4e49\u548c\u91cd\u5b9a\u5411\u573a\u666f\u5e72\u6270\uff0c\u8981\u6c42\u964d\u4f4e\u8bef\u62a5\u7387\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Voker\u5207\u4e2d\u4e86AI Agent\u843d\u5730\u4e2d\u6700\u9690\u853d\u7684\u75db\u70b9\uff1a\u5f53LLM\u751f\u6210\u7684\u5bf9\u8bdd\u6d41\u53d8\u6210\u65b0\u7684\u201c\u9ed1\u7bb1\u201d\uff0c\u4f20\u7edf\u65e5\u5fd7\u548c\u8ffd\u8e2a\u5de5\u5177\u53ea\u63d0\u4f9b\u788e\u7247\u5316\u7684\u8c03\u7528\u6808\uff0c\u5374\u65e0\u6cd5\u56de\u7b54\u201c\u7528\u6237\u5230\u5e95\u5f97\u5230\u597d\u7684\u7ed3\u679c\u4e86\u5417\u201d\u8fd9\u4e2a\u6838\u5fc3\u95ee\u9898\u3002\u5b83\u7684\u201c\u81ea\u52a8\u610f\u56fe-\u7ea0\u9519-\u5206\u8fa8\u7387\u201d\u4e09\u5c42\u6807\u6ce8\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u6df7\u6c8c\u7684\u8bed\u4e49\u6d41\u4e2d\u5efa\u7acb\u53ef\u91cf\u5316\u7684\u201c\u597d\u574f\u201d\u6807\u5c3a\uff0c\u8fd9\u662f\u6bd4Token\u8ba1\u6570\u548c\u5ef6\u8fdf\u7edf\u8ba1\u66f4\u63a5\u8fd1\u4e1a\u52a1\u672c\u8d28\u7684\u76d1\u63a7\u7ef4\u5ea6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ea7\u54c1\u76ee\u524d\u7684\u950b\u5229\u7a0b\u5ea6\uff0c\u8fdc\u4e0d\u53ca\u5b83\u7684\u6d1e\u5bdf\u529b\u3002\u4ece\u8bc4\u8bba\u4e2d\u5927\u91cf\u5173\u4e8e\u201c\u591a\u667a\u80fd\u4f53\u5207\u6362\u201d\u3001\u201c\u610f\u56fe\u4e2d\u9014\u6f02\u79fb\u201d\u3001\u201c\u7ea0\u9519\u8bed\u4e49\u8bcd\u8868\u8bad\u7ec3\u201d\u7684\u8ffd\u95ee\u6765\u770b\uff0cVoker\u7684\u901a\u7528\u6a21\u578b\u5728\u9762\u5bf9\u9ad8\u5ea6\u5b9a\u5236\u5316\u7684\u751f\u4ea7\u573a\u666f\u65f6\uff0c\u5f88\u5bb9\u6613\u9677\u5165\u201c\u6807\u6ce8\u6b63\u786e\u4f46\u5bf9\u4e1a\u52a1\u65e0\u610f\u4e49\u201d\u7684\u5c34\u5c2c\u3002\u5c24\u5176\u662f\u521b\u59cb\u4eba\u5766\u627f\u76ee\u524d\u65e0\u6cd5\u533a\u5206\u201c\u6210\u529f\u4ea4\u4ed8\u201d\u548c\u201c\u7529\u9505\u4ea4\u63a5\u201d\u4e4b\u95f4\u7684\u5dee\u5f02\uff0c\u8fd9\u76f4\u63a5\u52a8\u6447\u4e86\u5176\u5728\u590d\u6742\u4e1a\u52a1\u6d41\u4e2d\u7684\u53ef\u4fe1\u5ea6\u2014\u2014\u5982\u679c\u8fde\u6838\u5fc3\u6307\u6807\u201c\u5206\u8fa8\u7387\u201d\u90fd\u53ef\u80fd\u88ab\u6c61\u67d3\uff0c\u540e\u7eed\u7684\u4f18\u5316\u51b3\u7b56\u5c31\u5bb9\u6613\u53d8\u6210\u6c99\u4e0a\u5efa\u5854\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u58c1\u5792\u4e0d\u5728\u4e8e\u6293\u53d6\u4e86\u591a\u5c11\u539f\u59cb\u5bf9\u8bdd\uff0c\u800c\u5728\u4e8e\u80fd\u5426\u8ba9\u6570\u636e\u89e3\u8bfb\u4e0e\u4e1a\u52a1\u903b\u8f91\u5bf9\u9f50\u3002Voker\u63d0\u51fa\u201cAmplitude for agents\u201d\u662f\u5bf9\u7684\uff0c\u4f46Amplitude\u4ef7\u503c\u7684\u524d\u63d0\u662f\u7528\u6237\u4e8b\u4ef6\u662f\u51c6\u786e\u4e14\u7ed3\u6784\u5316\u7684\u3002Voker\u76ee\u524d\u66f4\u50cf\u662f\u4e00\u4e2a\u5f3a\u5927\u7684LLM+\u542f\u53d1\u5f0f\u89c4\u5219\u9a71\u52a8\u7684\u4e8b\u4ef6\u6253\u6807\u5668\uff0c\u63a5\u4e0b\u6765\u8981\u770b\u5b83\uff1a\u4e00\u662f\u80fd\u5426\u8ba9\u7528\u6237\u4f4e\u6210\u672c\u7ea0\u6b63\u81ea\u52a8\u6807\u6ce8\u9519\u8bef\uff08\u53cd\u9988\u5faa\u73af\uff09\uff0c\u4e8c\u662f\u80fd\u5426\u901a\u8fc7API\u8ba9Agent\u76f4\u63a5\u5229\u7528\u5206\u6790\u7ed3\u679c\u81ea\u6211\u8fed\u4ee3\u3002\u5982\u679c\u53ea\u63d0\u4f9b\u4e86\u4e00\u5c42\u4f3c\u662f\u800c\u975e\u7684\u4eea\u8868\u76d8\uff0c\u90a3\u4e5f\u53ea\u662f\u53e6\u4e00\u79cd\u5f62\u5f0f\u7684\u201cAI\u9e21\u6c64\u201d\u2014\u2014\u770b\u8d77\u6765\u8425\u517b\u4e30\u5bcc\uff0c\u559d\u4e0b\u53bb\u5374\u672a\u5fc5\u80fd\u6cbb\u75c5\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\">Voker<\/span>\n                <\/div>\n<div class=\"comment-content\">Voker is the Agent Analytics Platform for AI product teams. It gives you the usage behavior and agent performance insights you need to monitor and optimize your production agents at scale. Install the lightweight, provider agnostic SDK and Voker handles the rest: automatic intent, correction and resolution detection on your user to agent interactions, conversation reconstructions, queryable timelines, agent performance tracking so you can build the best agents possible.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019m Tyler &#8211; CoFounder of Voker, and <strong>I\u2019m so tired of being disappointed by AI hype claims<\/strong>. I bet you are too.<\/p>\n<p>I studied physics in college, and worked in data science, ML, and analytics until founding Voker. I\u2019m a skeptical person by nature (I think it&#8217;s the scientist in me) and my gut reaction to any technology hype is to be cautiously optimistic until I see things proven out in data. <\/p>\n<p>I felt this way about LLMs when they first hit mainstream. I knew they had real potential applications, but was also worried about the lofty marketing buzz they were getting. <\/p>\n<p><strong>AI as an industry has written checks that individual builders are left to cash.<\/strong> Promising full automation, PhD-level intelligence, and perfect results. As someone who&#8217;s skeptical of that narrative, <strong>I still believe agents can genuinely deliver<\/strong>, but only if teams are rigorous about measuring performance in production. Every website or product has Amplitude or PostHog for click and pageview analytics; a standard way to understand who&#8217;s using it and how. Agents have no equivalent, so we built Voker.<\/p>\n<p>We are the <strong>Agent Analytics Platform<\/strong> where you can:<\/p>\n<p>&#8211; Monitor your agents<br \/>&#8211; Measure their performance<br \/>&#8211; See what users are asking<br \/>&#8211; Know for certain agents are delivering for your users<br \/>&#8211; Optimize based on real data<\/p>\n<p>You install our SDK, and Voker collects your agent conversation data, automatically detecting:<\/p>\n<p>&#8211; User intents (Book me a hotel in Vegas for next Saturday with a poolside view)<br \/>&#8211; Corrections (No, that room doesn\u2019t have a poolside view!! TRY AGAIN)<br \/>&#8211; Agent resolutions (Tool Result: Room Booked&#8230; Success!)<\/p>\n<p>These automated annotations are the foundation for building a holistic view of agent performance and user behavior in one analytics platform.<\/p>\n<p>We asked 100+ AI founders, product managers, and agent engineers how they monitor their agents in production and the answer was resounding: by combing through individual traces (with the occasional evals sprinkled in). They all reported that they depend on customer complaints to tell them when agents are messing up. We feel strongly that there is a third leg of the agent monitoring stool missing &#8211; Agent Analytics. <\/p>\n<p><strong>You shouldn\u2019t have to wait for users to complain <\/strong>to learn that a recent prompt change is breaking your hotel booking agent, or that the AI finance advisor you built is calling the wrong tool to look up realtime stock prices.<\/p>\n<p>Turns out the antidote to AI hype is simple: measure your agents diligently, then iterate until you get it right.<\/p>\n<p>Your users deserve better AI experiences (we all do)! <\/p>\n<p>Install the <a href=\"https:\/\/app.voker.ai\/docs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Voker SDK<\/a> on our <a href=\"https:\/\/voker.ai\/#pricing\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">free tier<\/a> (up to 2,000 events\/mo), and start building better agents today: <br \/><a href=\"https:\/\/voker.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/voker.ai\/<\/a><\/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\/@tyler_postle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tyler_postle<\/a>&nbsp;Hey Tyler \u2014 congrats on the launch \ud83d\udc4b<\/p>\n<p>The &#8220;third leg of the agent monitoring stool&#8221; framing really resonates. I&#8217;m running a few agents in production myself (Telegram + VK Teams bots fronting an OpenClaw agent), and the gap I keep hitting isn&#8217;t detecting that something went wrong &#8211; it&#8217;s reconstructing <em>why<\/em>. Logs show the tool calls, but the model&#8217;s reasoning between turns is gone unless I instrument it manually.<\/p>\n<p>Quick question: does Voker capture the reasoning\/thinking blocks, or just the user-facing turns and tool I\/O? That&#8217;s basically the line between &#8220;agent monitoring&#8221; and &#8220;agent debugging&#8221; for me.<\/p>\n<p>Either way &#8211; good to see someone taking the analytics angle seriously instead of just shipping another eval framework. Will give the SDK a spin this week.<\/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=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tyler_postle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tyler_postle<\/a>&nbsp; Can Voker track performance regressions after a prompt, model, or tool change, and show whether success rates dropped for specific intents?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>amazing team building something that\u2019s really needed! Congrats on the launch \ud83d\udc97<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ay_ush\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ay_ush<\/a>&nbsp;Appreciate you guys! Autumn has made billing seamless &#8211; and for a small but mighty team like ours that&#8217;s a huge time saver and value add. Esp love that you&#8217;re purpose built for AI products &lt;3 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really cool that we can get an idea what people are using our agent for. The downside of having a powerful agent is that you don&#8217;t always understand what people use it for and where it is not meeting expectations.<\/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\/@veskost\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@veskost<\/a>&nbsp;I guess being great at building agent products is a double-edged sword! Appreciate all the feedback you and the team have given to us to help make Voker better. We see Lightfield as the north-star for a great Agent product experience!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Oh this looks really interesting. How much of the setup is out of the box vs customizable?<\/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\/@mejackreed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mejackreed<\/a>&nbsp;great question! for launch we focused on making it super easy to get started, so we invested lots of time in great out-of-the-box automated annotations and analytics. (We kept hearing that obs tools took TOO much time investment to get insights, so we wanted to solve that problem!)<\/p>\n<p>Next up is custom metrics &#8211; so as you get more advanced with your analysis, you can go beyond our out of the box detections and analytics!<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Most observability tools treat agent calls as black boxes, logging tokens but missing the decision loop entirely. Building RetainSure&#8217;s AI workflows, we struggled to attribute downstream outcomes back to specific agent choices. Our logging was ad hoc and we ended up rebuilding it multiple times. Does Voker capture branching decisions when an agent picks between tool calls, or is it focused on input\/output tracing?<\/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\/@retain_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@retain_dev<\/a>&nbsp;Yes! Voker automatically tracks all the information your agent is provided to make its decisions, so you can see both the tools available and the tools used. This has helped our customers notice that their tools may need new descriptions when the agent has what it needs but isn&#8217;t calling the right tool.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Automatic intent and resolution detection is the right abstraction. Most agent monitoring tools just log tokens or latency, but you actually need to know if the user got what they came for. We&#8217;re building AI-driven customer success at RetainSure and agent quality drift between deployments is a real headache. How does Voker handle cases where the user&#8217;s intent shifts mid-conversation?<\/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\/@dhiraj_patel5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dhiraj_patel5<\/a>&nbsp;We&#8217;re actually purpose built for complex, long running, multi-intent conversations! When our SDK detects multiple intents within a conversation, they get categorized into &#8220;Session Paths&#8221; that show up in our session timeline. This way you can easily navigate to different parts of the conversation without scrolling through the whole session. You can also analyze the accuracy of the agent on these separate intents across other surfaces in our product. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/92f6a5df-f2aa-4021-aa29-ae48d3c1ce26.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>6<\/span>\n                            <\/div>\n<p>                            <span>\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 feedback cycle? Can we launch other agents to fix issues?<\/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\/@lakshminath_dondeti\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lakshminath_dondeti<\/a>&nbsp;Today most teams link the dashboards or screenshots to their coding agents to implement fixes. We&#8217;re working on releasing Analytics APIs so your agents can directly query Voker, make changes to prompts\/harnesses\/code\/tools and ship fixes on its own!<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the brutal honesty here AI has definitely written checks that devs are stuck cashing in production. Quick question on the SDK: how does it handle semantic variations for corrections? Will it catch things like actually scratch that versus no that&#8217;s wrong out of the box, or do we need to train it on our own domain vocabulary?<\/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\/@vikramp7470\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vikramp7470<\/a>&nbsp;Good question &#8211; Voker will detect those kind of phrases, even with semantic variation. That being said, if you have super specific domain vocabulary, where two words might mean the same thing to a lay-person but not to you as a domain expert &#8211; then you will need to pass Voker some context in the form of either knowledge docs or feedback on our annotations (APIs for these are in the works!) <\/p>\n<p>thanks Vikram!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>8<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! <br \/>How does Voker handle intent attribution when the agent proactively redirects the user, say, a billing agent that detects the user is actually in the wrong product area and routes them elsewhere? The intent the user arrived with and the intent the agent resolved can diverge legitimately, and in those cases it&#8217;s not clear whether that should register as a correction event or a successful resolution. Curious how the analytics model handles that distinction, since getting it wrong would skew correction rates significantly for agents designed to reroute.<\/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\/@binu_george\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@binu_george<\/a>&nbsp;Love this question. Today we don&#8217;t have an explicit way to tie two agents together. We know this is critical because most scaled agent products have multi-agent handoff systems like you mentioned. <\/p>\n<p>What we have customers do today is treat the handoff as a successful resolution. <br \/>Of course sometimes this is truly the resolution (in the case of an orchestrator agent for example ) but sometimes its actually just passing the buck.&nbsp; We dont have a good way to differentiate these situations today, other than decoding the name and description of the agent its handed off to &#8211; in addition to any other information you send to us through our events SDK.<\/p>\n<p>We absolutely intended to build direct features to support this pattern better because its very common. <\/p>\n<p>Thanks for the question!<\/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>Prompting Vibes definitely don&#8217;t scale when agents start failing silently in production. Being able to catch tool errors before a client screams at us is a huge lifesaver. great job <a href=\"https:\/\/www.producthunt.com\/@tyler_postle\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"tyler_postle\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tyler_postle<\/a> <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@priya_kushwaha1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priya_kushwaha1<\/a>&nbsp;thanks Priya, you&#8217;re not the first to tell us this, glad to see it resonates!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>5<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How do you determine the quality of answers? I have an AI service with its own vector database. For almost any user question, we know the answer, provide tourist attractions, and we have more of them than ChatGPT. Will you be able to understand whether these are top-tier attractions or not?<\/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\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;When you send the information from your vector DB to your agent, Voker will also track that context. We&#8217;ll use the information from your own RAG data to make our assessment on the quality of the response to the user! Essentially any information that your agent has to make its decision &#8211; Voker will also track and assess.<\/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<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Tyler, went through Voker&#8217;s site and the &#8220;Amplitude for agents&#8221; framing is honestly the cleanest take I&#8217;ve read on this gap. one thing I wanted to ask, how do you detect a &#8220;correction&#8221; automatically, is it sentiment delta on the next user message or something pattern-based? that label seems to do a lot of work in the 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@axlerodd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@axlerodd<\/a>&nbsp;good to know that &#8220;Amplitude for agents&#8221; resonated. <\/p>\n<p>We detect corrections by processing user messages across multiple turns, and evaluate them within the context of the conversation and the original user intents that were detected. We use LLMs for language processing, and then we have a technique for hierarchical classification to categorize atomic annotations like intents and corrections into more general and insightful categories (you don&#8217;t want to have to read a list of 1000s of corrections, you want a theme of &#8220;the agent is too happy&#8221; or &#8220;the agent claims it has tools it doesn&#8217;t&#8221; ) <\/p>\n<p>Does that help? Maybe we should add better examples on our homepage?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Do you also handle multi-agent, multi-turn orchestrations ?<\/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\/@raj_peko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@raj_peko<\/a>&nbsp;Yes! Our SDK is architected to ingest multi-agent, multi-turn orchestrations! That being said, we still have many more dashboards we want to add to make good use of that data. For example we&#8217;re working on user journey visualizations so you can see how users get handed off to multiple different agents. <\/p>\n<p>We also need to do more optimizing of our automated annotations (intents, corrections, resolutions) to make them even better for multi agent conversations (especially those where its not just a simple handoff, but a multi-player conversation). <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/GB2EXL52Q43ZUS\" class=\"app-title\">Insights by Omnia<\/a><\/p>\n<div class=\"one-liner\">Step-by-step action plans to improve your AI visibility.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">142<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Insights by Omnia \u662f\u4e00\u6b3e\u5c06AI\u5f15\u64ce\u53ef\u89c1\u6027\u76d1\u6d4b\u8f6c\u5316\u4e3a\u53ef\u6267\u884c\u884c\u52a8\u65b9\u6848\u7684\u5de5\u5177\uff0c\u5e2e\u52a9\u5185\u5bb9\u4e0e\u8425\u9500\u56e2\u961f\u8df3\u8fc7\u7e41\u7410\u7684\u4eba\u5de5\u5f15\u7528\u5206\u6790\uff0c\u76f4\u63a5\u83b7\u5f97\u4f18\u5316AI\u641c\u7d22\u7ed3\u679c\u7684\u5206\u6b65\u8ba1\u5212\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/58b00ae9-31aa-4dfb-a2e2-f1f598fe30c8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6fcc2c4b-6fda-4872-8638-144920ea5a60.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c20c54e7-3bac-4f40-bee5-387c6df807b9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d2830fb3-3ace-4586-b686-534dfcb8d2ec.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\/d042d90a-4f58-402a-9b85-50fa618fc2ce.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/C1vOhOlGnXo\"><source src=\"https:\/\/youtu.be\/C1vOhOlGnXo\" 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\">Marketing<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u53ef\u89c1\u6027\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">SEO\u884c\u52a8\u65b9\u6848<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f15\u7528\u5dee\u8ddd\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u8425\u9500\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u6309\u5f15\u64ce\u5b9a\u5236<\/span><br \/>\n            <span class=\"tag\">\u534f\u4f5c\u5206\u4eab<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u5206\u6790<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u5fc3\u884c\u52a8\u65b9\u6848\u7684\u8de8\u56e2\u961f\u53ef\u5206\u4eab\u6027\uff08\u5982\u542b\u8d1f\u8d23\u4eba\u6807\u7b7e\uff09\u3001\u662f\u5426\u6309\u641c\u7d22\u5f15\u64ce\uff08ChatGPT vs Perplexity\uff09\u5b9a\u5236\u3001\u591a\u8bed\u8a00\u535a\u5ba2\u7684\u5f15\u7528\u6ce2\u52a8\u5904\u7406\u3001\u53ef\u89c1\u6027\u6d4b\u91cf\u65b9\u6cd5\u8bba\uff08\u91c7\u6837 vs \u786e\u5b9a\u6027\uff09\u3001\u4ee5\u53ca\u80fd\u5426\u660e\u786e\u533a\u5206\u201c\u81ea\u5efa\u5185\u5bb9\u66f4\u65b0\u201d\u4e0e\u201c\u5916\u90e8\u5f15\u7528\u83b7\u53d6\u201d\u4e24\u7c7b\u4efb\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                Insights by Omnia \u672c\u8d28\u4e0a\u89e3\u51b3\u7684\u662f\u4e00\u4e2a\u884c\u4e1a\u901a\u75c5\uff1aAI\u53ef\u89c1\u6027\u76d1\u6d4b\u7684\u201c\u6700\u540e\u4e00\u516c\u91cc\u201d\u56f0\u5883\u3002\u5927\u591a\u6570\u5de5\u5177\u6b62\u6b65\u4e8e\u544a\u8bc9\u7528\u6237\u201c\u4f60\u5728\u54ea\u91cc\u88ab\u63d0\u53ca\u201d\uff0c\u5374\u628a\u6700\u8017\u65f6\u7684\u5f15\u7528\u5206\u6790\u548c\u884c\u52a8\u89c4\u5212\u7529\u7ed9\u4e86\u5ba2\u6237\u3002Omnia \u7684\u5dee\u5f02\u5316\u5728\u4e8e\u5c06\u201c\u6570\u636e\u5448\u73b0\u201d\u5347\u7ea7\u4e3a\u201c\u51b3\u7b56\u8f93\u51fa\u201d\uff0c\u901a\u8fc7\u6309\u5f71\u54cd\u7b49\u7ea7\u3001\u5b9e\u65bd\u6b65\u9aa4\u548c\u5f15\u7528\u7f3a\u53e3\u62c6\u89e3\u4efb\u52a1\uff0c\u8bd5\u56fe\u5f25\u5408\u6d1e\u5bdf\u4e0e\u6267\u884c\u4e4b\u95f4\u7684\u9e3f\u6c9f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u7528\u6237\u53cd\u9988\u770b\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u5df2\u5f97\u5230\u521d\u6b65\u9a8c\u8bc1\uff1a\u9488\u5bf9\u4e0d\u540cAI\u5f15\u64ce\uff08\u5982ChatGPT\u548cPerplexity\uff09\u5b9a\u5236\u884c\u52a8\u65b9\u6848\uff0c\u4ee5\u53ca\u901a\u8fc7\u6807\u7b7e\u533a\u5206\u201c\u81ea\u5efa\u5185\u5bb9\u201d\u548c\u201c\u5916\u90e8\u5f15\u7528\u201d\u4e24\u7c7b\u4efb\u52a1\uff0c\u76f4\u51fb\u4e86\u591a\u56e2\u961f\u534f\u4f5c\u573a\u666f\u7684\u75db\u70b9\u3002\u7279\u522b\u662f\u5bf9\u591a\u8bed\u8a00\u5e02\u573a\u7684\u5f15\u7528\u6ce2\u52a8\u5904\u7406\uff0c\u56de\u5e94\u4e86\u5168\u7403\u5316\u8425\u9500\u56e2\u961f\u7684\u5b9e\u9645\u6210\u672c\u2014\u2014\u8fd9\u8ba9\u5b83\u8d85\u8d8a\u4e86\u7b80\u5355\u7684\u4eea\u8868\u677f\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u540c\u6837\u660e\u663e\u3002\u4ea7\u54c1\u4f9d\u8d56\u201c\u957f\u671f\u76d1\u63a7\u6570\u636e\u201d\u6765\u63d0\u6548\uff0c\u7136\u800c\u8bc4\u8bba\u4e2d\u63d0\u5230\u7684\u201c\u5f15\u7528\u6765\u6e90\u6bcf\u5468\u6ce2\u52a8\u201d\u53ef\u80fd\u5bfc\u81f4\u201c\u5468\u4e00\u7684\u9ad8\u4f18\u5148\u7ea7\u8ba1\u5212\u5468\u4e94\u5c31\u5931\u6548\u201d\u3002\u5982\u679c\u884c\u52a8\u65b9\u6848\u65e0\u6cd5\u52a8\u6001\u9002\u5e94\u8fd9\u79cd\u9ad8\u9891\u53d8\u5316\uff0c\u5176\u201c\u8ba1\u5212\u201d\u4ef7\u503c\u4f1a\u968f\u65f6\u95f4\u5feb\u901f\u8870\u51cf\u3002\u6b64\u5916\uff0c\u5bf9\u5916\u90e8\u6765\u6e90\u7684RAG\u6846\u67b6\u5f15\u7528\u5c55\u793a\u867d\u6709\u4eae\u70b9\uff08\u5982Nike\u6848\u4f8b\uff09\uff0c\u4f46\u8fd9\u7c7b\u6570\u636e\u7684\u5177\u4f53\u6027\u548c\u83b7\u53d6\u96be\u5ea6\u4f9d\u7136\u662f\u672a\u77e5\u6570\u2014\u2014\u7528\u6237\u80fd\u5426\u771f\u6b63\u770b\u5230\u201c\u54ea\u4e9b\u5177\u4f53\u9875\u9762\u8be5\u6dfb\u52a0\u54c1\u724c\u4fe1\u606f\u201d\uff0c\u51b3\u5b9a\u4e86\u201c\u884c\u52a8\u201d\u662f\u5426\u53ea\u662f\u4f2a\u547d\u9898\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff1a\u5f53\u7528\u6237\u4ece\u201c\u76d1\u6d4b\u201d\u8f6c\u5411\u201c\u6267\u884c\u201d\u65f6\uff0cOmnia\u80fd\u5426\u8bc1\u660e\u5176\u751f\u6210\u7684\u884c\u52a8\u65b9\u6848\uff08\u5c24\u5176\u662f\u6280\u672fSEO\u548c\u7b2c\u4e09\u65b9\u5916\u8054\u90e8\u5206\uff09\u5728\u5b9e\u9645SEO\u6392\u540d\u6216AI\u5f15\u7528\u7387\u4e2d\u4ea7\u751f\u53ef\u91cf\u5316\u63d0\u5347\u3002\u5982\u679c\u53ea\u662f\u5c06\u4eba\u5de5\u5206\u6790\u6362\u4e86\u4e2aUI\u6253\u5305\uff0c\u90a3\u5b83\u6700\u591a\u662f\u6548\u7387\u5de5\u5177\uff0c\u800c\u4e0d\u662f\u589e\u957f\u5f15\u64ce\u3002\u76ee\u524d\u770b\u6765\uff0c\u65b9\u5411\u5bf9\u4e86\uff0c\u4f46\u8106\u5f31\u6027\u5c1a\u5b58\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\">Insights by Omnia<\/span>\n                <\/div>\n<div class=\"comment-content\">Omnia Insights turns any prompt you track into a prioritized action plan to improve your visibility in AI engines. Each plan includes impact level, why it matters, how to implement, and the citation gaps to close.<\/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>Daniel here, cofounder of Omnia. We&#8217;re back a few months after our last launch, when this community pushed us to #3 Product of the Day. Thank you for that, seriously.<\/p>\n<p>The feedback we kept hearing afterwards was the same: &#8220;Omnia shows me where I&#8217;m invisible in ChatGPT, cool. But what do I do about it?&#8221;<br \/>\nSo we&#8217;re launching the answer: Insights.<\/p>\n<p>What it does?<br \/>\nPick any prompt you&#8217;re tracking. Pick the engine where you want to improve. Omnia generates a prioritized action plan, built from your real citation data.<br \/>\nEach action includes:<br \/>\n\u2753 Action type: owned content, third-party outreach, technical SEO, social, and more.<br \/>\n\ud83c\udfaf Impact level: how much this task is likely to move your visibility.<br \/>\n\ud83e\udde0 Why it matters: the reasoning, pulled from the real citation data behind the prompt.<br \/>\n\ud83d\udee0\ufe0f How to implement: concrete steps you can hand to a writer or dev.<br \/>\n\ud83d\udd0d Citation gaps: the specific sources citing competitors but not you, including the ones shaping sentiment around your brand.<\/p>\n<p>Why now?<br \/>\nMonitoring AI visibility has become table stakes. Most tools, including ours until today, stop there. The next step is acting on it without spending 6 hours doing manual citation analysis per prompt.<br \/>\nThat&#8217;s the gap Insights closes.<\/p>\n<p>Who it&#8217;s for?<br \/>\nContent and marketing teams, SEO leads, in-house marketers, and agencies running AI visibility for multiple brands. Anyone who&#8217;s tired of staring at a dashboard wondering what to ship next.<\/p>\n<p>Huge thanks to everyone who gave us feedback after the last launch. Insights exists because of it.<\/p>\n<p>Drop questions in the comments, I&#8217;ll be here all day \ud83d\ude4c<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>9<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@danimirror\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danimirror<\/a>&nbsp;congrats on the launch! it looks an interesting tool!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@danimirror\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danimirror<\/a>&nbsp;Congrats on the launch Daniel. Nice tool<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@danimirror\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@danimirror<\/a>&nbsp;yeah, the 6h manual citation analysis is the actual cost \u2014 running this for a multi-language blog ourselves, the diff between english and non-english citation sets is where the hours go, not the visibility numbers. the thing i can&#8217;t quite picture from the screenshots is how impact ranking handles citation volatility between weekly runs. cited sources drop in and out faster than the actions targeting them can be shipped, so a &#8220;high impact&#8221; plan from monday can read stale by friday \u2014 would explain how prioritization holds up week to 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>Love this Guys!! Btw, does it track visibility down by country\/market too, or is it focused on global signals for now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey<a href=\"https:\/\/www.producthunt.com\/@munis_abbas\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"munis_abbas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@munis_abbas<\/a> ! <\/p>\n<p>Yes, you can track prompts and generate per-country insights. Citations in the UK rarely match the ones in Spain or the US, so with Omnia you monitor and act on the specific market you select.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Great work guys!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is cool!! How can I share these actions to other teams?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@matiszz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@matiszz<\/a>&nbsp;! That&#8217;s a great one! <br \/>Every insight has a shareable button so you can send it to your other marketing teams: Content, SEO, etc.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Let&#8217;s go! Congrats on the launch \ud83d\ude80<\/p>\n<p>How long do I need to monitor a prompt before I can get an insight?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@gulipad\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gulipad<\/a>&nbsp;! Thanks for the comment!<\/p>\n<p>You can generate insights as soon as you start monitoring the prompt, but it&#8217;s not the best approach. The more monitoring time you have, the more citation data Omnio will have to work with, and the more powerful the insight will be.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 feature! <\/p>\n<p>What a great work from the whole team building it! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What works for ChatGPT visibility doesn&#8217;t necessarily work for Perplexity. Are the action plans tailored per engine? Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey, went through Insights by Omnia and the brand-in-LLM-answers tracking is a smart wedge. one thing I wanted to ask, given LLM outputs vary call to call, how do you measure visibility, are you running sampled prompts on a schedule or do you have something more deterministic under the hood?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>That\u2019s helpful \u2014 the tagging is exactly the piece I was hoping existed.<\/p>\n<\/p>\n<p>The next thing I\u2019d watch is whether the insight carries enough \u201cwhy this owner\u201d context when it gets shared. A content person, SEO lead, and partnerships\/PR person may all see the same citation gap, but each needs a different next action and confidence level. If the share\/export preserves that owner-specific reasoning, it becomes much easier to hand off instead of just discuss.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Strong direction \u2014 monitoring without a next action is where teams tend to stall.<\/p>\n<\/p>\n<p>One thing I\u2019d look for in the action plan is a clean split between \u201ccreate or update owned content\u201d and \u201cearn\/repair external citations.\u201d They usually have different owners, timelines, and success signals. Are you exposing that split clearly in the plan\/export so content, SEO, and partnerships\/PR can each pick up their part?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Hey <a href=\"https:\/\/www.producthunt.com\/@jim_jeffers\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jim_jeffers<\/a>&nbsp;!<br \/>Yes! We &#8220;tag&#8221; each insight depending on what is the nature of it. Attaching here a few examples of them to show the differences.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7b3abda7-15c1-47cf-a275-70217bc0a264.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d1437360-9f6f-42b8-87ac-c8a95c186d44.png?auto=compress&amp;codec=mozjpeg&amp;cs=strip&amp;auto=format\" style=\"max-width: 100%\"><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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\u2019ve tested more than 10 similar services. Everyone focuses on internal website optimization, and very few show which data ChatGPT was trained on, even though external sources are the most important once the site itself is already optimized. Can you show external websites and specific pages on them that were included in the model\u2019s training and where information about us should be added?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>hello<a href=\"https:\/\/www.producthunt.com\/@natalia_iankovych\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@natalia_iankovych<\/a>&nbsp;!<br \/>It&#8217;s not only the training data, also the data in the RAG framework. <\/p>\n<p>For instance, I&#8217;m attaching here a insight based on a source from a prompt of Nike(citation) from an external website. You can see it here: <a href=\"https:\/\/share.useomnia.com\/shares\/b38b5d07-5ee5-41ac-b125-e6529decccf6.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/share.useomnia.com\/shares\/b38b5d07-5ee5-41ac-b125-e6529decccf6.html<\/a><\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/JI2YC3YH3GR6B5\" class=\"app-title\">imgproxy v4<\/a><\/p>\n<div class=\"one-liner\">A fast and secure self-hosted image processing server<\/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>imgproxy v4 \u662f\u4e00\u6b3e\u81ea\u6258\u7ba1\u7684\u56fe\u7247\u5904\u7406\u670d\u52a1\u5668\uff0c\u65e8\u5728\u89e3\u51b3\u4f01\u4e1a\u56e0\u4f7f\u7528\u7b2c\u4e09\u65b9\u56fe\u7247\u5904\u7406\u670d\u52a1\u5bfc\u81f4\u6210\u672c\u5931\u63a7\u3001\u6027\u80fd\u53d7\u9650\u548c\u4f9b\u5e94\u5546\u9501\u5b9a\uff0c\u6216\u81ea\u5efa\u65b9\u6848\u8017\u65f6\u6613\u9519\u7684\u95ee\u9898\uff0c\u80fd\u5728\u4e0d\u4fee\u6539\u4ee3\u7801\u7684\u60c5\u51b5\u4e0b\u6309\u9700\u5904\u7406\u56fe\u7247\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\/278557e3-b637-42c9-bb38-9207678aa185.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/889098e0-85ec-47d9-ae08-5ec933605d12.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3e26f15f-58c1-44f8-b166-504a744b3d19.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c4e791a1-5d52-4489-91ad-fe9042f7cead.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f75430a-fec3-4481-ac8f-c1f8ca935008.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fe088ae1-d6cb-40bb-a2d1-9148bfc5b68c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Tech<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u56fe\u7247\u5904\u7406\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u56fe\u7247\u7f29\u653e<\/span><br \/>\n            <span class=\"tag\">\u6027\u80fd\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u56fe\u7247\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">Docker\u90e8\u7f72<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7<\/span><br \/>\n            <span class=\"tag\">API\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u63a7\u5236<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u4e86imgproxy\u201c\u6309\u9700\u5904\u7406\u3001\u907f\u514d\u8d44\u4ea7\u53cd\u590d\u51c6\u5907\u201d\u7684\u7406\u5ff5\uff1bCEO\u5f3a\u8c03\u81ea\u6258\u7ba1\u53ef\u89c4\u907f\u7b2c\u4e09\u65b9\u6210\u672c\u4e0e\u9501\u5b9a\uff1b\u5f00\u53d1\u8005\u63d0\u95eev4\u7248\u672c\u65b0\u589e\u7684\u5185\u90e8\u7f13\u5b58\u5982\u4f55\u89e3\u51b3\u6e90\u56fe\u53d8\u66f4\u540e\u7684\u5931\u6548\u95ee\u9898\uff08\u662f\u5426\u652f\u6301ETag\/Last-Modified\uff09\uff0c\u793e\u533a\u56de\u5e16\u6307\u51fa\u4e0d\u5904\u7406\u6b64\u573a\u666f\uff0c\u5efa\u8bae\u53d8\u66f4\u65f6\u6362\u6587\u4ef6\u540d\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                imgproxy v4 \u7684\u5b9a\u4f4d\u5f88\u806a\u660e\uff1a\u5b83\u4e0d\u662f\u5728\u548c\u81ea\u7814\u7cfb\u7edf\u62fc\u7075\u6d3b\u6027\uff0c\u800c\u662f\u5728\u548c\u201cSaaS\u70e7\u94b1\u9677\u9631\u201d\u62a2\u5e02\u573a\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u521b\u65b0\uff0c\u800c\u662f\u201c\u6210\u672c\u7ed3\u6784\u91cd\u6784\u201d\u2014\u2014\u7528\u4e00\u6b21\u6027\u7684OPS\uff08\u8fd0\u8425\uff09\u6295\u5165\uff0c\u53d6\u4ee3\u6301\u7eed\u589e\u957f\u7684API\u8c03\u7528\u8d26\u5355\u3002\u5bf9\u4e8e\u65e5\u5904\u7406\u767e\u4e07\u7ea7\u56fe\u7247\u7684\u4e2d\u5927\u578b\u56e2\u961f\uff0c\u8fd9\u662f\u5178\u578b\u7684\u7ecf\u6d4e\u8d26\u6218\u80dc\u6280\u672f\u8d26\u7684\u6848\u4f8b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5728\u5de5\u7a0b\u601d\u7ef4\u4e0a\u5b58\u5728\u660e\u663e\u7684\u76f2\u533a\uff1a\u5bf9\u7f13\u5b58\u5931\u6548\u8fd9\u7c7b\u201c\u810f\u6d3b\u201d\u91c7\u53d6\u56de\u907f\u6001\u5ea6\uff0c\u7b80\u5355\u7c97\u66b4\u5730\u8981\u6c42\u201c\u6539\u6587\u4ef6\u540d\u201d\u3002\u8fd9\u5728\u52a8\u6001\u5185\u5bb9\u6216CMS\u7cfb\u7edf\u4e2d\u5c06\u5f15\u5165\u5927\u91cf\u8fd0\u7ef4\u8d1f\u62c5\uff0c\u66f4\u66b4\u9732\u4e86\u5176\u201c\u9ad8\u901f\u4f46\u4e0d\u591f\u667a\u80fd\u201d\u7684\u6280\u672f\u5e95\u8272\u3002v4\u7248\u65b0\u7279\u6027\u5982RAW\u683c\u5f0f\u652f\u6301\u548c\u56fe\u50cf\u5206\u7c7b\u7b97\u662f\u4e0d\u9519\u7684\u589e\u91cf\uff0c\u4f46\u201c\u5185\u5efa\u7f13\u5b58\u201d\u7684\u4ef7\u503c\u88ab\u8bc4\u8bba\u533a\u76f4\u63a5\u62f7\u95ee\uff0c\u8bf4\u660e\u6280\u672f\u7ec6\u8282\u5e76\u672a\u8ddf\u4e0a\u8425\u9500\u8bdd\u672f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7efc\u5408\u6765\u770b\uff0cimgproxy\u662f\u4f18\u79c0\u7684\u201c\u964d\u672c\u5de5\u5177\u201d\uff0c\u4f46\u8ddd\u79bb\u81ea\u79f0\u7684\u201c\u4f01\u4e1a\u7ea7\u89e3\u51b3\u65b9\u6848\u201d\u8fd8\u6709\u8ddd\u79bb\u3002\u771f\u6b63\u7684\u4f01\u4e1a\u7ea7\u610f\u5473\u7740\u4e0d\u4ec5\u8981\u5904\u7406\u6781\u9650\u6d41\u91cf\uff0c\u66f4\u8981\u5904\u7406\u590d\u6742\u4e1a\u52a1\u903b\u8f91\u4e0b\u7684\u6570\u636e\u4e00\u81f4\u6027\u3002\u5982\u679c\u56e2\u961f\u80fd\u63a5\u53d7\u201c\u53d8\u66f4\u56fe\u7247\u5c31\u5f97\u6539\u540d\u201d\u7684\u5f3a\u7ea6\u675f\uff0c\u5b83\u786e\u5b9e\u662f\u4e00\u6b3e\u9ad8\u6027\u4ef7\u6bd4\u7684\u5f00\u6e90\u66ff\u4ee3\u54c1\uff1b\u5426\u5219\uff0c\u6700\u7ec8\u4ecd\u9700\u5728\u524d\u7aef\u6216CDN\u5c42\u505a\u989d\u5916\u8865\u507f\u5de5\u4f5c\uff0c\u53cd\u800c\u5f97\u4e0d\u507f\u5931\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\">imgproxy v4<\/span>\n                <\/div>\n<div class=\"comment-content\">imgproxy is a fast and secure standalone server for resizing, processing, and converting images. The guiding principles behind imgproxy are speed, security, and simplicity. It is well equipped to handle huge volumes of image-processing requests with ease. imgproxy is a drop-in replacement for all the image-processing code in your web application. With imgproxy, you don\u2019t need to repeatedly re-prepare images to fit your design every time it changes, as imgproxy does this on demand.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<\/p>\n<p>Sergei here, the author and CTO of imgproxy.<\/p>\n<\/p>\n<p>Almost every product I have been involved in has dealt with images in some manner. So I know the pain of making the right choice for image processing. Building your own image processing solution is a huge time sink, and it can easily be done wrong. On the other hand, using a third-party service quickly becomes a money pit as your traffic grows.<\/p>\n<\/p>\n<p>That&#8217;s why we created imgproxy \u2013&nbsp;a self-hosted image processing server that just works. It&#8217;s packed in a single Docker image, deployable anywhere in minutes, with no third-party dependencies. Combine it with a caching layer of your choice, and you have an enterprise-grade image processing solution that can handle any load.<\/p>\n<\/p>\n<p>Since its first release back in 2017, imgproxy has been adopted by thousands of developers and companies worldwide. You probably see images processed by imgproxy every day without even realizing it: Medium, Dribbble, Substack, and many more use imgproxy to serve their images.<\/p>\n<\/p>\n<p>imgproxy comes in two flavors: a forever-free open-source version and a paid Pro version with additional features and support. The Pro version is available as a subscription and includes features such as video preview generation, object detection, SVG minification, and more. Both versions are self-hosted, so you have full control over your data and infrastructure.<\/p>\n<\/p>\n<p><strong>Today, we are happy to announce the new major release of imgproxy, version 4.0.<\/strong> This release includes a lot of new features and improvements, such as:<\/p>\n<ul>\n<li>\n<p>Better performance thanks to parallel source image downloading and processing<\/p>\n<\/li>\n<li>\n<p>Internal cache for processed images<\/p>\n<\/li>\n<li>\n<p>Support for digital cameras&#8217; RAW formats<\/p>\n<\/li>\n<li>\n<p>Image classification<\/p>\n<\/li>\n<li>\n<p>Improved SVG minification<\/p>\n<\/li>\n<li>\n<p>&#8230; and much more!<\/p>\n<\/li>\n<\/ul>\n<p>Check out the full release notes for all the details: <a href=\"https:\/\/github.com\/imgproxy\/imgproxy\/releases\/tag\/v4.0.0\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/imgproxy\/imgp&#8230;<\/a>.<\/p>\n<\/p>\n<p>Drop us a line in the comments if you have any questions or feedback. We are always happy to hear from the community!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@darth_sim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@darth_sim<\/a>&nbsp;Hey, really liked the direction behind imgproxy. <\/p>\n<p>The idea of handling image processing on demand instead of forcing teams to constantly re-prepare assets makes a lot more sense compared to how most applications still manage media pipelines.<\/p>\n<p>Products like this can get infrastructure-heavy pretty quickly once request volume scales, especially around performance, caching, and distributed processing.<\/p>\n<p>What\u2019s been the most challenging part so far while building imgproxy?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 PH!<\/p>\n<p>Marina here, co-founder &amp; CEO of imgproxy.<\/p>\n<p>One thing we\u2019ve noticed over the years is that more and more teams want to own their infrastructure again.<br \/>Not because self-hosting is trendy, but because image and video processing becomes surprisingly expensive and limiting at scale when it\u2019s fully outsourced to SaaS platforms.<\/p>\n<p>A lot of companies start with third-party image APIs because they\u2019re convenient early on. But later they run into:<\/p>\n<ul>\n<li>\n<p>unpredictable costs<\/p>\n<\/li>\n<li>\n<p>vendor lock-in<\/p>\n<\/li>\n<li>\n<p>limited control over caching and performance<\/p>\n<\/li>\n<\/ul>\n<p>imgproxy exists because we wanted a different tradeoff:&nbsp;a fast self-hosted system developers can run anywhere and fully control themselves. And honestly, seeing companies process billions of images through imgproxy every day is still surreal to us.<\/p>\n<p>Huge thanks to everyone who tested v4 early and helped shape this release.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>8<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi PH! Viktor here, developer of imgproxy!<\/p>\n<\/p>\n<p>One thing we cared about from the beginning was building imgproxy as a sustainable long-term open-source project.<\/p>\n<\/p>\n<p>Why? Because the tools developers rely on most should be the ones they can actually own.<\/p>\n<\/p>\n<p>Not &#8220;own&#8221; as in pay for a license. Own as in run it yourself, on your own infrastructure, and trust it to do exactly what it claims. No hidden calls home, no lock-in, no surprises in your bill at the end of the month.<\/p>\n<\/p>\n<p>v4 is probably our most significant release in that spirit. We didn&#8217;t just add features \u2014 we practically reworked the whole codebase. Cleaner architecture, better code quality, better performance. The kind of changes that don&#8217;t make great screenshots but make a real difference when you&#8217;re processing millions of images a day.<\/p>\n<\/p>\n<p>If imgproxy solves a problem for you, come say hi on GitHub. And if it doesn&#8217;t yet \u2014 tell us why. That&#8217;s how the best features get built<\/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>With the new internal cache for processed images in v4, how does cache invalidation work when the source image changes? Does imgproxy check source ETags or Last-Modified headers, or is expiry purely time-based?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sunnyallan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sunnyallan<\/a>&nbsp;imgproxy doesn&#8217;t handle this. Changing content without changing the filename is generally a bad idea. Even if you manage to make imgproxy and the CDNs handle this, there&#8217;s also cache in the user&#8217;s browser that you can&#8217;t invalidate.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">#12<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/OEZGABV5RL5UUX\" class=\"app-title\">Haystack<\/a><\/p>\n<div class=\"one-liner\">Review the pull requests that actually need human attention<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">115<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Haystack\u662f\u4e00\u6b3eAI\u9a71\u52a8\u7684\u4ee3\u7801\u5ba1\u67e5\u667a\u80fd\u8def\u7531\u5de5\u5177\uff0c\u5b83\u901a\u8fc7\u5206\u6790GitHub PR\u7684\u4ee3\u7801\u5dee\u5f02\u3001\u4e0a\u4e0b\u6587\u3001Agent\u8f68\u8ff9\u548c\u9a8c\u8bc1\u8bc1\u636e\uff0c\u81ea\u52a8\u5c06PR\u5206\u6d41\u4e3a\u201c\u5b89\u5168\u5408\u5e76\u201d\u3001\u201c\u9700\u4fee\u590d\u201d\u6216\u201c\u9700\u4eba\u5de5\u5ba1\u67e5\u201d\uff0c\u89e3\u51b3AI\u751f\u6210PR\u6fc0\u589e\u5bfc\u81f4\u7684\u4eba\u529b\u5ba1\u67e5\u8fc7\u8f7d\u548c\u8ba4\u77e5\u75b2\u52b3\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\/6165132f-72dd-4cde-9e74-fe0187ecdd0f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/df78d200-f79d-42fe-b6e2-dd11a40dd4a7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bf7689f5-a814-47c0-ac57-fcc39523888f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f2880338-6dbc-4a8b-a8e9-085b0273c6ad.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3baa15cd-7504-4ad7-a768-585d07044b0a.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\/c3923029-bb36-491e-9ec7-7cb80531f712.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/s589WsugATQ\"><source src=\"https:\/\/youtu.be\/s589WsugATQ\" 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><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ee3\u7801\u5ba1\u67e5\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7801\u5ba1\u67e5<\/span><br \/>\n            <span class=\"tag\">PR\u8def\u7531<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5de5\u7a0b\u6548\u7387<\/span><br \/>\n            <span class=\"tag\">GitHub\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">Agent\u4ee3\u7801\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u5408\u5e76\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">DevOps<\/span><br \/>\n            <span class=\"tag\">\u5ba1\u67e5\u961f\u5217\u7ba1\u7406<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u540cAI\u751f\u6210PR\u5e26\u6765\u7684\u201c\u4fe1\u53f7\u566a\u58f0\u6bd4\u201d\u95ee\u9898\uff0c\u4f46\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a\u89c4\u5219\u5224\u65ad\u5bf9AI\u7684\u201c\u826f\u597d\u5224\u65ad\u529b\u201d\u4f9d\u8d56\u98ce\u9669\uff1b\u662f\u5426\u652f\u6301\u591a\u4ed3\u5e93\u53camonorepo\u4e2d\u4e0d\u540c\u670d\u52a1\uff08\u5982\u652f\u4ed8vs\u5185\u5de5\u5177\uff09\u7684\u5dee\u5f02\u5316\u5ba1\u67e5\u89c4\u5219\uff1b\u4ee5\u53ca\u51b3\u5b9a\u5ba1\u67e5\u7ea7\u522b\uff08\u5b89\u5168\/\u9700\u4fee\u590d\/\u9700\u4eba\u5de5\uff09\u7684\u5173\u952e\u4fe1\u53f7\u662f\u4ec0\u4e48\u3002\u56e2\u961f\u56de\u5e94\u79f0\u89c4\u5219\u53ef\u914d\u7f6e\u3001\u652f\u6301\u591a\u4ed3\u5e93\uff0c\u5e76\u4e3e\u4f8b\u8bf4\u660e\u57fa\u4e8e\u53d8\u66f4\u654f\u611f\u6027\u548c\u9a8c\u8bc1\u5145\u5206\u6027\u505a\u5224\u65ad\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                Haystack\u7cbe\u51c6\u6233\u4e2d\u4e86AI\u7f16\u7a0b\u65f6\u4ee3\u7684\u6838\u5fc3\u75db\u70b9\uff1a\u5f53\u6bcf\u4e2a\u5de5\u7a0b\u5e08\u90fd\u80fd\u65e5\u4ea720+\u4e2aPR\u65f6\uff0c\u4f20\u7edf\u7ebf\u7ea7diff\u5ba1\u67e5\u5f7b\u5e95\u6ca6\u4e3a\u4f53\u529b\u6d3b\u3002\u4ea7\u54c1\u5de7\u5999\u5730\u5c06\u5ba1\u67e5\u903b\u8f91\u4ece\u201c\u770b\u4ee3\u7801\u6539\u4e86\u4ec0\u4e48\u201d\u8f6c\u5411\u201c\u9a8c\u8bc1\u4ee3\u7801\u662f\u5426\u8fbe\u6210\u4e86\u610f\u56fe\u4e14\u6709\u8bc1\u636e\u201d\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u4e3a\u7a00\u7f3a\u7684\u4eba\u7c7b\u6ce8\u610f\u529b\u5b9a\u4ef7\u2014\u2014\u8ba9\u673a\u5668\u505a\u673a\u5668\u64c5\u957f\u7684\u5408\u89c4\u68c0\u67e5\uff0c\u8ba9\u4eba\u505a\u4eba\u64c5\u957f\u7684\u4ef7\u503c\u5224\u65ad\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u6210\u529f\u7684\u5173\u952e\u6781\u5176\u8106\u5f31\uff1a\u5b83\u8981\u6c42\u56e2\u961f\u4e8b\u5148\u5b9a\u4e49\u9ad8\u5ea6\u660e\u786e\u7684\u89c4\u5219\u96c6\uff08\u201c\u54ea\u4e9b\u53d8\u66f4\u89e6\u78b0\u5b89\u5168\u7ea2\u7ebf\u201d\u201c\u600e\u6837\u7684\u6d4b\u8bd5\u7b97\u5145\u5206\u8bc1\u636e\u201d\uff09\uff0c\u800c\u8fd9\u672c\u8eab\u5c31\u662f\u9ad8\u8ba4\u77e5\u6210\u672c\u7684\u5de5\u4f5c\u3002\u5982\u679c\u89c4\u5219\u592a\u677e\uff0cAI\u5c06\u5b66\u4f1a\u94bb\u7a7a\u5b50\uff08\u5982\u622a\u4e2aUI\u56fe\u5047\u88c5\u8fc7\u4eba\u5de5\u9a8c\u8bc1\uff09\uff1b\u5982\u679c\u89c4\u5219\u592a\u4e25\uff0c\u53c8\u4f1a\u9000\u56de\u201c\u6240\u6709PR\u90fd\u9700\u4eba\u5de5\u201d\u7684\u8001\u8def\u3002\u66f4\u6df1\u5c42\u7684\u95ee\u9898\u662f\uff0c\u4ea7\u54c1\u5047\u8bbe\u201c\u610f\u56fe\u4e0e\u9a8c\u8bc1\u8bc1\u636e\u53ef\u88ab\u81ea\u52a8\u89e3\u6790\u201d\uff0c\u4f46\u5f53\u524dAI agent\u4ea7\u751f\u7684trace\u5f80\u5f80\u5197\u957f\u4e14\u7ed3\u6784\u6df7\u4e71\uff0cHaystack\u80fd\u5426\u7cbe\u786e\u63d0\u53d6\u8bbe\u8ba1\u51b3\u7b56\u94fe\uff0c\u51b3\u5b9a\u4e86\u5b83\u662f\u771f\u667a\u80fd\u8def\u7531\u8fd8\u662f\u9ad8\u7ea7\u5206\u7c7b\u5783\u573e\u6876\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u81f4\u547d\u9690\u60a3\u5728\u4e8e\uff0c\u4e00\u65e6\u5f00\u53d1\u56e2\u961f\u4e60\u60ef\u4f9d\u8d56Haystack\u81ea\u52a8\u653e\u884c\u201c\u5b89\u5168\u201dPR\uff0c\u4eba\u7c7b\u5ba1\u67e5\u80fd\u529b\u5c06\u52a0\u901f\u9000\u5316\u2014\u2014\u957f\u671f\u770b\uff0c\u8fd9\u4f1a\u524a\u5f31\u56e2\u961f\u5bf9\u4ee3\u7801\u8d28\u91cf\u7684\u6574\u4f53\u76f4\u89c9\u3002\u6b64\u5916\uff0c\u8be5\u4ea7\u54c1\u672c\u8d28\u4e0a\u662f\u5728\u7ed9GitHub PR\u7cfb\u7edf\u6253\u8865\u4e01\uff0c\u800c\u975e\u91cd\u6784\u534f\u4f5c\u6d41\u3002\u82e5GitHub\u6216GitLab\u539f\u751f\u63a8\u51fa\u7c7b\u4f3c\u529f\u80fd\uff0cHaystack\u7684\u751f\u5b58\u7a7a\u95f4\u5c06\u8fc5\u901f\u6536\u7a84\u3002\u77ed\u671f\u5b83\u786e\u5b9e\u662f\u6551\u706b\u961f\u957f\uff0c\u957f\u671f\u9700\u8b66\u60d5\u6ca6\u4e3a\u201cAI\u4ee3\u7801\u7684\u5851\u6599\u74f6\u76d6\u56de\u6536\u7ad9\u201d\u2014\u2014\u8868\u9762\u4e0a\u89e3\u51b3\u4e86\u6d41\u91cf\u95ee\u9898\uff0c\u5b9e\u9645\u4e0a\u53ea\u662f\u628a\u5851\u6599\u74f6\uff08\u4f4e\u8d28\u91cfPR\uff09\u538b\u6241\u4e86\u518d\u5206\u7c7b\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\">Haystack<\/span>\n                <\/div>\n<div class=\"comment-content\">Haystack helps engineering teams manage the growing volume of AI-generated pull requests. It sits on top of GitHub, analyzes each PR\u2019s diff, codebase context, agent trace, intent, and verification evidence, then routes it: safe to move forward, needs fixes, or needs human review. Teams use Haystack to keep code moving without rubber-stamping, focusing human attention where judgment actually matters.<\/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! We\u2019re building Haystack to help teams deal with the explosion in the number of pull requests that need to be reviewed due to the rise of coding agents.<\/p>\n<\/p>\n<p>Haystack replaces the GitHub PR review system with a queue that triages each PR before a human has to read any diffs. It looks at the diffs, the codebase, and the coding-agent conversation that produced the PR. Haystack then routes it into one of three buckets:<\/p>\n<\/p>\n<p>1. Safe to merge. This means the PR has enough evidence behind it that the team can merge it without another human\u2019s review.<\/p>\n<\/p>\n<p>Some examples:<\/p>\n<ul>\n<li>\n<p>A small UI copy change that includes a screenshot showing the final state<\/p>\n<\/li>\n<li>\n<p>A backend change where the author clearly tested the important paths and ran the changes in a real environment<\/p>\n<\/li>\n<\/ul>\n<p>2. Needs fixes. This means that the PR has bugs or violates a rule in your codebase and therefore the PR needs to be fixed by the author.<\/p>\n<p>Some examples:<\/p>\n<ul>\n<li>\n<p>The agent was asked to make loading a large table faster by adding pagination, but the PR still loads every result at once and \u201cimplements\u201d pagination in the UI<\/p>\n<\/li>\n<li>\n<p>The PR silently catches an error instead of logging, surfacing, or handling it. This violates the team\u2019s \u201cno silent error swallowing\u201d rule<\/p>\n<\/li>\n<\/ul>\n<p>3. Needs human review. This means that the PR could not be sufficiently verified by the author or is touching a sensitive part of the codebase (determined by user-input guidelines) and thus requires human review.<\/p>\n<p>Some examples:<\/p>\n<ul>\n<li>\n<p>The PR changes a significant amount of logic in billing<\/p>\n<\/li>\n<li>\n<p>The PR changes an important user flow like onboarding, but the author only ran unit tests and never opened the app to check the flow end-to-end. That violates the team\u2019s rule that high-impact user-facing changes need manual verification.<\/p>\n<\/li>\n<\/ul>\n<p>Instead of starting with line-by-line diffs, Haystack immediately tells the reviewer the goal behind the PR, what design decisions the author made (informed by their coding-agent conversation), and how much the author did to verify that the pull request works (e.g. run scripts, checked the frontend, etc.).<\/p>\n<p>In this way, review shifts from \u201cwhat changed?\u201d to \u201cis this the right behavior and is there evidence that it works?\u201d.<\/p>\n<p>Here\u2019s a quick demo: <a href=\"https:\/\/www.tella.tv\/video\/streamlining-code-reviews-with-haystack-65zj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.tella.tv\/video\/strea&#8230;<\/a><\/p>\n<p>We previously launched Haystack as a tool for understanding large PRs (<a href=\"https:\/\/news.ycombinator.com\/item?id=45201703\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/news.ycombinator.com\/ite&#8230;<\/a>). As many of you can probably relate to, the release of Opus 4.5 completely shattered our conception of how fast an engineer could craft a PR.<\/p>\n<p>And as coding agents got even better from 4.5, we realized that pull requests did not scale along with our coding velocity. With each member of our team being able to pump out more than 20 pull requests a day, code review quickly became cognitively exhausting and less helpful.<\/p>\n<p>After talking with other folks, we learned many feel similarly, and currently face the binary option of either not doing review at all or trying to keep up with a fire hose of pull requests. <\/p>\n<p>Haystack is our attempt at a third path. We still believe in code review, but as coding agents produce more code, human reviewer attention becomes more valuable and more expensive.<\/p>\n<p>Haystack helps teams spend that attention on the PRs where a human can meaningfully change the outcome of that PR. And for such PRs, Haystack shows the reviewer what the PR intended to do, whether the author showed that it works, and what design decisions need a second pair of eyes.<\/p>\n<p>We\u2019re still quite early and are figuring out whether Haystack truly makes code review better. We would love any and all feedback!<\/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\/@akshay_subramaniam\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@akshay_subramaniam<\/a>&nbsp;Congrats on the launch Akshay. Very cool but to my thinking, this requires either very good judgment (not an ai strong point) or very explicit rulesets. How do you deal with 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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does Haystack handle monorepo setups where different services need different review rules \u2014 e.g. stricter verification requirements for a payments service vs. internal tooling? Or is the ruleset currently global across all repos in a workspace?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sunnyallan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sunnyallan<\/a>&nbsp;The ruleset is per repo currently. If you have a monorepo with very different levels of verification needed, you can always specify &#8220;for payments, I want the author to prove that they did X&#8221; and Haystack will not apply this bar to internal tooling.<\/p>\n<p>Alternatively, you can always ask for a human review for payments, and the reviewer can easily see &#8220;oh author did X, so I&#8217;m more confident this can merge, although I might want to take a closer look at exactly what they did&#8221;.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi. This is a real problem now &#8211; AI makes it easy to create PRs, but review time is still human.<br \/>I like the idea of routing PRs instead of treating every diff the same. What signals matter most for deciding \u201csafe to move forward\u201d vs \u201cneeds human review\u201d?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ihorperkovskyi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ihorperkovskyi<\/a>&nbsp;That&#8217;s configurable by users! But, to give some examples:<br \/>1. The PR changes a significant amount of logic in billing. This might need a senior engineer who&#8217;s familiar with the billing stack to get things right.<br \/>2. The PR changes an important user flow like onboarding, but the author only ran unit tests and never opened the app to check the flow end-to-end. That violates the team\u2019s rule that high-impact user-facing changes need manual verification.<br \/>3. The author changes an agentic workflow, but does not do any A\/B testing (e.g. replaying a situation or running an eval) to prove that their changes improve the product<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The signal-to-noise problem with PRs is real. Does it work across multiple repos or is it scoped to one at a 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@rich_nashawaty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rich_nashawaty<\/a>&nbsp;This works across multiple repos!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 reason as to your inspiration for naming it Haystack?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@othman_katim\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@othman_katim<\/a>&nbsp;The original product was meant to help users understand the relationship of different parts of their codebase e.g. how different functions worked together to allow for user authentication. This was because pre LLMs finding code relating to a semantic concept was like finding a needle in a haystack.<\/p>\n<p>I guess you could retrofit the current product with the name by saying teams&#8217; PR queues look like haystacks and the needles are the PRs they need to review!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/YFMR7SBBFOPFGA\" class=\"app-title\">ShioriCode<\/a><\/p>\n<div class=\"one-liner\">Open-source alternative to Codex &#038; Claude Code<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">109<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>ShioriCode \u662f\u4e00\u4e2a\u684c\u9762\u7aef\u5e94\u7528\uff0c\u4e3a Claude Code\u3001Codex \u7b49\u7f16\u7801\u4ee3\u7406 CLI \u63d0\u4f9b\u9879\u76ee\u611f\u77e5\u7684\u7ebf\u7a0b\u7ba1\u7406\u3001\u6d3b\u52a8\u65f6\u95f4\u7ebf\u548c\u5dee\u5f02\u5ba1\u67e5\u754c\u9762\uff0c\u89e3\u51b3\u957f\u65f6\u7f16\u7801\u4efb\u52a1\u5728\u7ec8\u7aef\u4e2d\u4f1a\u8bdd\u6613\u4e2d\u65ad\u3001\u4fe1\u606f\u96be\u8ffd\u6eaf\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\/bbad66b8-aa4b-4368-a16c-abb0047ccfc1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2a5ba12c-06a0-47ce-ab10-ec4f0b52124c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/16beef99-8cdc-41dd-8b85-6fd822f50c70.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/607646a9-c49b-48a8-9edd-2e90fb5dcc52.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4e926db0-b136-4b8a-a7e6-330cab85bed2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/88c80428-ec37-424a-b61e-ca2805d12572.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f0c95414-cb56-4489-ae87-c127e66a44a5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f3eac2f3-e429-42ab-998c-31b0ae1c61f4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0a633ad0-1311-4bdd-80ca-257231a52177.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5f987ae8-90b6-4628-9270-610ccfc0e075.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0e2d014c-0d16-46cd-a460-2eaf73b10a49.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u5fc3\u591a\u4ee3\u7406\u95f4\u662f\u5426\u5171\u4eab\u4e0a\u4e0b\u6587\u4e0e\u5dee\u5f02\u6808\uff08\u662f\u542f\u52a8\u5668\u8fd8\u662f\u62bd\u8c61\u5c42\uff09\uff0c\u4ee5\u53ca\u662f\u5426\u7edf\u4e00\u4e0d\u540c\u4ee3\u7406\u7684\u5de5\u5177\u8c03\u7528\u683c\u5f0f\u3002\u53e6\u6709\u5173\u6ce8Elastic License\u539f\u56e0\uff0c\u4ee5\u53ca\u4ee3\u7406\u8fbe\u5230token\u9650\u5236\u65f6\u7684\u8fde\u7eed\u6027\u5904\u7406\u3002\u5b98\u65b9\u56de\u5e94\u901a\u8fc7\u539f\u751f\u538b\u7f29\u7ef4\u6301\u8fde\u7eed\u6027\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                ShioriCode\u5207\u4e2d\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u72ed\u7a84\u7684\u75db\u70b9\uff1a\u7f16\u7801\u4ee3\u7406CLI\u5728\u957f\u65f6\u3001\u591a\u6587\u4ef6\u4efb\u52a1\u4e2d\u7684\u4f1a\u8bdd\u7ba1\u7406\u51e0\u4e4e\u4e3a\u96f6\u3002\u5b83\u6ca1\u6709\u8bd5\u56fe\u518d\u9020\u4e00\u4e2a\u4ee3\u7801\u751f\u6210\u5f15\u64ce\uff0c\u800c\u662f\u8001\u8001\u5b9e\u5b9e\u505a\u201c\u80f6\u6c34\u5c42\u201d\u2014\u2014\u628a\u591a\u4e2aCLI\u7684\u788e\u7247\u5316\u8f93\u51fa\u6574\u7406\u6210\u53ef\u6d4f\u89c8\u3001\u53ef\u56de\u6eaf\u7684\u754c\u9762\u3002\u8fd9\u79cd\u5b9a\u4f4d\u806a\u660e\u5374\u4e5f\u5371\u9669\uff1a\u4ef7\u503c\u5b8c\u5168\u4f9d\u9644\u4e8e\u5e95\u5c42\u4ee3\u7406\u7684\u8868\u73b0\u4e0e\u63a5\u53e3\u7a33\u5b9a\u6027\u3002\u5f53Claude Code\u3001Codex\u4eec\u672a\u6765\u81ea\u8eab\u8865\u4e0a\u4f1a\u8bdd\u7ba1\u7406\u548c\u53ef\u89c6\u5316\u5dee\u5f02\u89c6\u56fe\uff08\u51e0\u4e4e\u5fc5\u7136\u5982\u6b64\uff09\uff0cShioriCode\u5c31\u53ea\u5269\u4e0b\u201c\u6574\u5408\u591a\u4e2a\u4ee3\u7406\u201d\u8fd9\u4e00\u4e2a\u8584\u5f31\u7684\u7406\u7531\u3002\u76ee\u524d\u8bc4\u8bba\u4e2d\u6700\u5173\u952e\u7684\u95ee\u9898\u201c\u662f\u542f\u52a8\u5668\u8fd8\u662f\u62bd\u8c61\u5c42\u201d\u4e00\u8bed\u9053\u7834\uff1a\u5982\u679c\u5b83\u53ea\u662f\u5404\u81ea\u9694\u79bb\u7684UI\u58f3\uff0c\u6362\u4ee3\u7406\u7b49\u4e8e\u6362\u5de5\u4f5c\u8bb0\u5fc6\uff0c\u90a3\u4e48\u534f\u540c\u4ef7\u503c\u5fae\u4e4e\u5176\u5fae\uff1b\u800c\u5982\u679c\u5b83\u80fd\u7edf\u4e00\u4e0a\u4e0b\u6587\u548c\u5dee\u5f02\u6808\uff0c\u5219\u9700\u8981\u9762\u5bf9\u5de5\u5177\u8c03\u7528\u683c\u5f0f\u7684\u6807\u51c6\u5316\u2014\u2014\u8fd9\u6bd4\u5b83\u81ea\u5df1\u5199\u4e00\u4e2a\u4ee3\u7406\u8fd8\u96be\u3002Elastic License\u7684\u9009\u62e9\u4e5f\u6697\u793a\u4e86\u5f00\u653e\u6027\u4e0e\u5546\u4e1a\u5316\u4e4b\u95f4\u7684\u6447\u6446\uff1a\u6e90\u7801\u53ef\u7528\u4f46\u4e0d\u81ea\u7531\uff0c\u793e\u533a\u8d21\u732e\u548c\u5546\u4e1a\u7ade\u54c1\u7684\u5f20\u529b\u672a\u6765\u5c06\u53cd\u590d\u6495\u88c2\u8fd9\u4e2a\u9879\u76ee\u3002\u6b64\u523b\u7684ShioriCode\u66f4\u50cf\u4e00\u4e2a\u7cbe\u81f4\u7684\u524d\u7aef\u7ec8\u7aef\u590d\u7528\u5668\uff0c\u8981\u6210\u4e3a\u771f\u6b63\u7684\u201c\u7f16\u7801\u534f\u4f5c\u5c42\u201d\uff0c\u8fd8\u9700\u8981\u5728\u4e0a\u4e0b\u6587\u6301\u4e45\u5316\u3001\u4ee3\u7406\u95f4\u77e5\u8bc6\u4f20\u9012\u548c\u5dee\u5f02\u5f52\u5e76\u4e0a\u4ed8\u51fa\u8fdc\u8d85UI\u6253\u78e8\u7684\u6280\u672f\u6df1\u5ea6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">ShioriCode<\/span>\n                <\/div>\n<div class=\"comment-content\">A desktop interface for the coding-agent CLIs you already use \u2014 Codex, Claude Code, Cursor, Gemini, Kimi, and a hosted Shiori provider. Run long-running sessions with project-aware threads, stream agent activity into a readable timeline, and review generated diffs without leaving the app. Source-available, built for work that doesn&#8217;t fit in one prompt.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt,<\/p>\n<p>I&#8217;m Sami, maker of Shiori (the AI chat app). ShioriCode is a different project \u2014 a desktop interface for running coding-agent CLIs in real projects.<\/p>\n<p>The core problem: the agent CLIs I rely on (Codex, Claude Code, Cursor, Gemini, Kimi) are great, but my coding work doesn&#8217;t fit in a single prompt. Long sessions die in the terminal, threads get crowded, diffs vanish into scrollback.<\/p>\n<p>ShioriCode keeps each agent run as a project-aware thread tied to a branch and workspace, streams activity into a readable timeline, and surfaces generated diffs without leaving the app. Pick whichever CLI you have authed (or use the hosted Shiori provider) and go.<\/p>\n<p>It&#8217;s still early and source-available \u2014 sharp edges around setup, packaging, and provider support are the part your feedback would help most.<\/p>\n<p>github.com\/shiorihq\/shioricode \u2014 happy to answer anything.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@samihindi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@samihindi<\/a>&nbsp;Hey Sami, congrats on shipping \ud83d\udc4b<\/p>\n<p>The &#8220;desktop UI over agent CLIs you already use&#8221; angle is the right framing &#8211; agent CLIs are great at execution but terrible at session continuity once a task spans more than one coffee.<\/p>\n<p>One question on the multi-provider story: when I switch between Claude Code and Codex inside the same ShioriCode project thread, what&#8217;s shared and what isn&#8217;t? Do they see the same diff stack and conversation history (re-injected as context), or is each provider its own isolated session that just happens to live in the same UI shell? Asking because the answer determines whether ShioriCode is a &#8220;launcher&#8221; or a real abstraction layer &#8211; very different products with very different moats.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Sami, went through ShioriCode&#8217;s page and the &#8220;long sessions die in the terminal&#8221; line basically described my last week. one thing I wanted to ask, when you unify Claude Code, Codex, and Gemini in one workspace, are you normalizing the tool-call format under the hood or just rendering each one&#8217;s native output? that abstraction call feels like make-or-break.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">The Elastic License is an interesting choice: <a href=\"https:\/\/github.com\/shiorihq\/ShioriCode\/blob\/main\/LICENSE\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/shiorihq\/Shio&#8230;<\/a><\/p>\n<p>Can you explain your thinking there?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The project-aware threads plus streaming diff review solves a real problem. Agent CLIs have terrible UX for work that spans hours across multiple files. Building RetainSure, we kept hitting context window limits in long-running sessions and had to externalize state manually. How does ShioriCode handle continuity when an underlying agent reaches its token limit mid-session?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@retain_dev\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@retain_dev<\/a>&nbsp;We trigger the agent-native compaction once the token limit is reached \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/S4INU5TXEPCTYH\" class=\"app-title\">Starchild-1 by Odyssey<\/a><\/p>\n<div class=\"one-liner\">The first real-time multimodal world model<\/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>Starchild-1\u662f\u5168\u7403\u9996\u4e2a\u5b9e\u65f6\u591a\u6a21\u6001\u4e16\u754c\u6a21\u578b\uff0c\u80fd\u540c\u6b65\u751f\u6210\u97f3\u89c6\u9891\u5e76\u5b9e\u65f6\u54cd\u5e94\u7528\u6237\u8f93\u5165\uff0c\u65e8\u5728\u4e3a\u6e38\u620f\u3001\u673a\u5668\u4eba\u3001\u6559\u80b2\u7b49\u573a\u666f\u63d0\u4f9b\u6c89\u6d78\u5f0f\u4ea4\u4e92\u4f53\u9a8c\uff0c\u89e3\u51b3\u4f20\u7edfAI\u6a21\u578b\u65e0\u6cd5\u5b9e\u65f6\u3001\u591a\u6a21\u6001\u534f\u540c\u6a21\u62df\u771f\u5b9e\u4e16\u754c\u52a8\u6001\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\/2735a22b-f652-4c9c-a533-4b050cc19b4c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5b9f20a0-fd9b-48ee-b55d-ad73537e9f18.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\/3264fad2-4652-40c5-a6ce-9139d92914fa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c8a8df9f-e3e1-418e-9ef6-9e36c4ea0378.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8b8aa720-6ab0-45ae-a7c4-45ba022451a3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3cec709a-a738-4c7e-a28d-81919ceb64a7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/448d120e-ca75-4c5a-bb41-e4bd31ba29a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/85f27dc6-b287-4d45-a80f-32213c5b0ee5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/072e86b2-dd29-4d1e-a792-c8b5942e66f0.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\/44c2c30d-59ef-4d57-879a-c2dbac4a1990.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/nKlkzp1o2E0?si=hZiy17uH3zZlwcKk\"><source src=\"https:\/\/youtu.be\/nKlkzp1o2E0?si=hZiy17uH3zZlwcKk\" 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\">Robots<\/span><br \/>\n            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5b9e\u65f6\u591a\u6a21\u6001<\/span><br \/>\n            <span class=\"tag\">\u4e16\u754c\u6a21\u578b<\/span><br \/>\n            <span class=\"tag\">\u97f3\u89c6\u9891\u540c\u6b65\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u6d41\u5f0f\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u4ea4\u4e92\u5f0fAI<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u673a\u5668\u4eba\u4eff\u771f<\/span><br \/>\n            <span class=\"tag\">\u6559\u80b2\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u6c89\u6d78\u5f0f\u6a21\u62df<\/span><br \/>\n            <span class=\"tag\">\u8ba4\u77e5\u8ba1\u7b97<\/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\u5176\u7a81\u7834\u6027\u2014\u2014\u5c06\u4e16\u754c\u6a21\u578b\u4ece\u79bb\u7ebf\u89c6\u89c9\u6269\u5c55\u81f3\u5b9e\u65f6\u97f3\u89c6\u9891\u4ea4\u4e92\uff0c\u5e76\u6307\u51fa\u8fde\u7eed\u6d41\u5f0f\u8f93\u5165\u4e0e\u97f3\u89c6\u9891\u56e0\u679c\u63a8\u8fdb\u662f\u5173\u952e\u4ef7\u503c\u3002\u8bbe\u8ba1\u5e08\u5efa\u8bae\u9700\u914d\u5907\u66f4\u76f4\u89c2\u7684\u754c\u9762\u7b56\u7565\u6765\u964d\u4f4e\u4ea4\u4e92\u95e8\u69db\uff0c\u4f53\u73b0\u5bf9\u7528\u6237\u4f53\u9a8c\u843d\u5730\u7684\u5173\u6ce8\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                Starchild-1\u7684\u201c\u9996\u4e2a\u5b9e\u65f6\u591a\u6a21\u6001\u4e16\u754c\u6a21\u578b\u201d\u5b9a\u4f4d\uff0c\u786e\u5b9e\u51fb\u4e2d\u4e86\u5f53\u524d\u5927\u6a21\u578b\u4e00\u4e2a\u5173\u952e\u76f2\u533a\uff1a\u7edd\u5927\u591a\u6570\u6a21\u578b\u4ecd\u505c\u7559\u5728\u6587\u672c\u6216\u9759\u6001\u56fe\u50cf\u54cd\u5e94\uff0c\u5373\u4fbf\u6709\u89c6\u9891\u751f\u6210\u4e5f\u591a\u4e3a\u79bb\u7ebf\u201c\u4e00\u5200\u5207\u201d\u3002\u5b83\u6240\u505a\u7684\uff0c\u662f\u901a\u8fc7\u56e0\u679c\u97f3\u89c6\u9891\u8054\u5408\u751f\u6210\uff0c\u8ba9AI\u4ece\u201c\u770b\u56fe\u8bf4\u8bdd\u201d\u8fdb\u5316\u5230\u201c\u8fb9\u542c\u8fb9\u770b\u8fb9\u804a\u201d\uff0c\u8fd9\u4e3a\u6e38\u620fNPC\u7684\u667a\u80fd\u4ea4\u4e92\u3001\u673a\u5668\u4eba\u5177\u8eab\u6a21\u62df\u3001\u751a\u81f3\u52a8\u6001\u6559\u80b2\u5185\u5bb9\u751f\u6210\u63d0\u4f9b\u4e86\u5e95\u5c42\u57fa\u7840\u8bbe\u65bd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5fc5\u987b\u6cfc\u4e00\u76c6\u51b7\u6c34\uff1a101\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u8bf4\u660e\u8fd9\u4ecd\u662f\u4e00\u6b3e\u6781\u65e9\u671f\u4ea7\u54c1\uff0c\u6280\u672f\u62a5\u544a\u5f88\u53ef\u80fd\u63ed\u793a\u5176\u5b9e\u65f6\u6027\u4f9d\u8d56\u6781\u9ad8\u7684\u7b97\u529b\u6216\u7279\u5b9a\u573a\u666f\u526a\u679d\uff0c\u8ddd\u79bb\u201c\u5546\u4e1a\u7ea7\u53ef\u7528\u201d\u8fd8\u9694\u7740\u663e\u5b58\u3001\u5ef6\u8fdf\u548c\u5185\u5bb9\u4e00\u81f4\u6027\u4e09\u5ea7\u5927\u5c71\u3002\u8bc4\u8bba\u4e2d\u8bbe\u8ba1\u5e08\u63d0\u5230\u7684\u201c\u754c\u9762\u7b56\u7565\u201d\u66b4\u9732\u4e86\u53e6\u4e00\u91cd\u98ce\u9669\u2014\u2014\u8fc7\u5ea6\u5f3a\u8c03\u6280\u672f\u521b\u65b0\u800c\u5ffd\u89c6\u4ea4\u4e92\u8303\u5f0f\u7684\u91cd\u65b0\u8bbe\u8ba1\uff0c\u5bb9\u6613\u8ba9\u7528\u6237\u9677\u5165\u201c\u5b83\u5f88\u5389\u5bb3\u4f46\u4e0d\u77e5\u600e\u4e48\u7528\u201d\u7684\u5c34\u5c2c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u201c\u66f4\u903c\u771f\u201d\uff0c\u800c\u5728\u201c\u66f4\u4f4e\u6210\u672c\u5730\u6a21\u62df\u56e0\u679c\u201d\u2014\u2014\u4f8b\u5982\u673a\u5668\u4eba\u8bad\u7ec3\u4e2d\u65e0\u9700\u7269\u7406\u5b9e\u4f53\u5373\u53ef\u6d4b\u8bd5\u89c6\u542c\u53cd\u9988\u56de\u8def\u3002\u4f46\u82e5\u4e0d\u80fd\u5feb\u901f\u964d\u4f4e\u96c6\u6210\u95e8\u69db\uff0c\u5e76\u5f00\u653eAPI\u7ed9\u6e38\u620f\u5f15\u64ce\u548c\u673a\u5668\u4eba\u4e2d\u95f4\u4ef6\uff0c\u5b83\u5f88\u53ef\u80fd\u6ca6\u4e3a\u53c8\u4e00\u4e2a\u201c\u6280\u672f\u8d85\u70ab\u3001\u843d\u5730\u7a00\u7f3a\u201d\u7684\u5b9e\u9a8c\u5ba4\u5c55\u54c1\u3002Odyssey\u56e2\u961f\u9700\u8981\u5c3d\u5feb\u7528\u5177\u4f53\u7684\u884c\u4e1a\u5408\u4f5c\u6848\u4f8b\uff08\u6bd4\u5982\u4e0eUnity\u96c6\u6210\u3001\u4e0eROS2\u6253\u901a\uff09\u6765\u8bc1\u660e\uff0c\u8fd9\u4e0d\u4ec5\u662fdemo\uff0c\u66f4\u662f\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\">Starchild-1 by Odyssey<\/span>\n                <\/div>\n<div class=\"comment-content\">Starchild-1 is the first real-time multimodal world model that generates synchronized audio + video while responding live to user input. Built for interactive AI, gaming, robotics, education, and beyond, bringing us closer to truly immersive world intelligence.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really exciting to see Starchild-1 pushing world models beyond just visuals into real-time synchronized audio + video generation.<\/p>\n<\/p>\n<p>What stands out:<\/p>\n<ul>\n<li>\n<p>Real-time multimodal interaction instead of fixed offline clips<\/p>\n<\/li>\n<li>\n<p>Continuous response to streaming user inputs<\/p>\n<\/li>\n<li>\n<p>Audio-video causal rollout for more immersive simulations<\/p>\n<\/li>\n<li>\n<p>Potential across gaming, robotics, education, healthcare &amp; more<\/p>\n<\/li>\n<\/ul>\n<p>A big step toward more natural, interactive AI systems grounded in how the real world evolves. <\/p>\n<\/p>\n<p>Read more here: <a href=\"https:\/\/odyssey.ml\/introducing-starchild-1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/odyssey.ml\/introducing-starchild-1<\/a> <\/p>\n<p>Technical report: <a href=\"https:\/\/starchild.odyssey.ml\/starchild-1.pdf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/starchild.odyssey.ml\/starchild-1.pdf<\/a> <\/p>\n<\/p>\n<p>P.S. I hunt the latest and greatest launches in tech, SaaS and AI, follow to be notified <strong>\u2192<\/strong> <a href=\"https:\/\/www.producthunt.com\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>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\/@rohanrecommends\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rohanrecommends<\/a>&nbsp;Real-time multimodal AI systems like Starchild-1 need an elite interface strategy to make continuous streaming user inputs feel completely intuitive.<\/p>\n<p>As a Senior AI Product Designer, I love untangling these complex visual frameworks. Let&#8217;s connect right here to talk shop! \u26a1\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<\/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\/3ZWPLYGA5EODNN\" class=\"app-title\">LearnHouse<\/a><\/p>\n<div class=\"one-liner\">The modern way to teach what you build<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">98<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>LearnHouse \u662f\u4e00\u6b3e\u4e13\u4e3a\u5f00\u53d1\u8005\u6253\u9020\u7684\u5f00\u6e90\u5b66\u4e60\u5e73\u53f0\uff0c\u80fd\u591f\u5e2e\u52a9\u4f60\u5728\u4ea7\u54c1\u5185\u90e8\u5feb\u901f\u521b\u5efa\u5e76\u5d4c\u5165\u4ea4\u4e92\u5f0f\u8bfe\u7a0b\uff0c\u89e3\u51b3\u7528\u6237\u7406\u89e3\u4ea7\u54c1\u96be\u3001\u5b66\u4e60\u52a8\u529b\u4f4e\u7684\u95ee\u9898\uff0c\u5b9e\u73b0\u201c\u8fb9\u7528\u8fb9\u5b66\u201d\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/84b1a321-fca5-4b27-96d9-8c7ab524fee6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/98875579-a292-4577-94c7-4d1cd9195b82.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c1bb6fc2-993f-4718-9dc6-a0f8a1da6700.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4be61435-7c57-4a97-a81d-965181bfe3d5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7d6a43a1-3409-4405-8388-f0df0657409c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Education<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Online Learning<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90\u5b66\u4e60\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u4ea7\u54c1\u5185\u6559\u80b2<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u6267\u884c<\/span><br \/>\n            <span class=\"tag\">AI\u6559\u5b66\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u4e92\u52a8\u6a21\u62df<\/span><br \/>\n            <span class=\"tag\">\u793e\u533a\u8ba8\u8bba<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">SaaS\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u6fc0\u6d3b<\/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\u81ea\u6258\u7ba1+\u4e91\u670d\u52a1\u201d\u6a21\u5f0f\u5bf9\u6570\u636e\u81ea\u4e3b\u6743\u7684\u4fdd\u969c\u3002\u6838\u5fc3\u5173\u6ce8\u70b9\u96c6\u4e2d\u5728\uff1a1\uff09AI\u5bf9\u516c\u5f0f\u6216\u4e13\u4e1a\u9886\u57df\u5185\u5bb9\u7684\u5904\u7406\u80fd\u529b\uff1b2\uff09\u6c99\u7bb1\u5316\u7684\u591a\u8bed\u8a00\u4ee3\u7801\u6267\u884c\u5728\u89c4\u6a21\u5316\u4e0b\u7684\u6210\u672c\u4e0e\u67b6\u6784\uff08\u7edf\u4e00\u5bb9\u5668 vs \u72ec\u7acb\u6c99\u7bb1\uff09\uff1b3\uff09\u5e0c\u671b\u5c06\u8bfe\u7a0b\u4e0e\u4ea7\u54c1\u7248\u672c\u53d8\u66f4\u52a8\u6001\u5173\u8054\uff0c\u5b9e\u73b0\u201c\u6d3b\u6587\u6863\u201d\u5f0f\u6301\u7eed\u6559\u80b2\uff0c\u907f\u514d\u8bfe\u7a0b\u5185\u5bb9\u6ede\u540e\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                LearnHouse \u5de7\u5999\u6293\u4f4f\u4e86\u201c\u8f6f\u4ef6\u5373\u6559\u5b66\u201d\u7684\u7f1d\u9699\u2014\u2014\u591a\u6570\u56e2\u961f\u8981\u4e48\u4f9d\u8d56\u751f\u786c\u7684\u77e5\u8bc6\u5e93\uff0c\u8981\u4e48\u88ab\u81c3\u80bf\u7684SaaS LMS\u7ed1\u67b6\u3002v1.0 \u7684\u4eae\u70b9\u4e0d\u5728\u529f\u80fd\u591a\uff0c\u800c\u5728\u4e8e\u5c06\u4ee3\u7801\u6267\u884c\u3001AI\u95ee\u7b54\u3001\u4ea4\u4e92\u6a21\u62df\u8fd9\u4e9b\u539f\u672c\u5c5e\u4e8e\u5f00\u53d1\u5de5\u5177\u7684\u80fd\u529b\uff0c\u4ee5\u5f00\u53d1\u8005\u719f\u6089\u7684\u65b9\u5f0f\uff08\u5f00\u6e90+\u81ea\u6258\u7ba1+API\uff09\u6574\u5408\u8fdb\u6559\u5b66\u573a\u666f\u3002\u8fd9\u6bd4 Moodle \u7b49\u4f20\u7edf\u9879\u76ee\u66f4\u5177\u73b0\u4ee3\u611f\uff0c\u6bd4 Teachable \u7b49\u5546\u4e1a\u5e73\u53f0\u66f4\u53ef\u63a7\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u4e5f\u663e\u800c\u6613\u89c1\u3002\u7b2c\u4e00\uff0cAI \u7684\u201c\u4e0a\u4e0b\u6587\u611f\u77e5\u201d\u76ee\u524d\u66f4\u591a\u662f\u8bfe\u7a0b\u5185\u5bb9\u5185\u68c0\u7d22\uff0c\u82e5\u6269\u5c55\u5230\u4ea7\u54c1API\u53d8\u66f4\u3001\u7248\u672c\u5dee\u5f02\u3001\u7528\u6237\u884c\u4e3a\u8f68\u8ff9\uff0c\u624d\u80fd\u771f\u6b63\u8ba9\u5b66\u4e60\u201c\u6d3b\u201d\u8d77\u6765\uff0c\u800c\u8fd9\u9700\u8981\u6781\u5f3a\u7684\u5de5\u7a0b\u96c6\u6210\u3002\u7b2c\u4e8c\uff0c\u591a\u8bed\u8a00\u4ee3\u7801\u6267\u884c\u662f\u53cc\u5203\u5251\u2014\u2014\u65e2\u53ef\u4ee5\u662f\u201c\u6740\u624b\u7ea7\u529f\u80fd\u201d\uff0c\u4e5f\u53ef\u80fd\u56e0\u6c99\u7bb1\u9694\u79bb\u590d\u6742\u5ea6\u4e0e\u670d\u52a1\u6210\u672c\uff0c\u5728\u89c4\u6a21\u5316\u540e\u62d6\u57ae\u4f53\u9a8c\u3002\u8bc4\u8bba\u4e2d\u5df2\u6709\u4eba\u8d28\u7591\u7edf\u4e00\u5bb9\u5668 vs \u72ec\u7acb\u6c99\u7bb1\u7684\u8bbe\u8ba1\u53d6\u820d\uff0c\u8fd9\u662f\u6280\u672f\u5e95\u8d26\uff0c\u7ed5\u4e0d\u5f00\u3002\u7b2c\u4e09\uff0c\u4ea7\u54c1\u8fdb\u5316\u901f\u5ea6\u8fc7\u5feb\uff0819\u79cd\u8bed\u8a00\u3001200+\u4fee\u590d\uff09\uff0c\u4f46\u6838\u5fc3\u6559\u5b66\u6548\u679c\u2014\u2014\u7528\u6237\u5b8c\u6210\u7387\u3001\u77e5\u8bc6\u7559\u5b58\u7387\u2014\u2014\u662f\u5426\u4f18\u4e8e\u89c6\u9891+\u6587\u6863\u7684\u7ec4\u5408\uff0c\u76ee\u524d\u7f3a\u4e4f\u6570\u636e\u80cc\u4e66\u3002\u8fd9\u53ef\u80fd\u662f\u65e9\u671f\u56e2\u961f\u6700\u5bb9\u6613\u5ffd\u89c6\u7684\u201c\u76f2\u533a\u201d\uff1a\u505a\u7684\u529f\u80fd\u5f88\u591a\uff0c\u4f46\u5bf9\u201c\u4ec0\u4e48\u529f\u80fd\u771f\u6b63\u9a71\u52a8\u4e86\u5b66\u4e60\u95ed\u73af\u201d\u7f3a\u4e4f\u805a\u7126\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cLearnHouse \u662f\u4e00\u4e2a\u9488\u5bf9\u5f00\u53d1\u8005\u7fa4\u4f53\u7684\u201c\u6b66\u5668\u7ea7\u201d\u5de5\u5177\uff0c\u4f46\u5c1a\u672a\u8131\u79bb\u5de5\u5177\u5c5e\u6027\uff0c\u8ddd\u79bb\u4e00\u4e2a\u201c\u81ea\u5e26\u751f\u6001\u7684\u5b66\u4e60\u5e73\u53f0\u201d\uff08\u5982\u8bfe\u7a0b\u5e02\u573a\u3001\u8bb2\u5e08\u8ba4\u8bc1\u7b49\uff09\u8fd8\u6709\u8ddd\u79bb\u3002\u5176\u771f\u6b63\u7684\u7a81\u56f4\u673a\u4f1a\u5728\u4e8e\uff1a\u6df1\u8015 product-led growth \u573a\u666f\uff0c\u6210\u4e3aAPI\u53d1\u5e03\u3001\u7248\u672c\u53d1\u5e03\u7b49\u4ea7\u54c1\u52a8\u4f5c\u4e0e\u5b66\u4e60\u5185\u5bb9\u52a8\u6001\u7ed1\u5b9a\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u800c\u975e\u53e6\u4e00\u4e2a\u9759\u6001\u7684\u8bfe\u7a0b\u7f16\u8f91\u5668\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">LearnHouse<\/span>\n                <\/div>\n<div class=\"comment-content\">LearnHouse is an open-source learning platform to teach your users everything about your product. Built for builders who ship great things but need their users to actually understand them. v1.0 is our first stable release &#8211; packed with AI, code execution, discussions, analytics, and everything you&#8217;d expect from modern developer tooling. Self-host it or use our cloud. Either way, your content, your data, your community.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>We&#8217;re the team behind LearnHouse &#8211; and today we&#8217;re shipping v1.0, our first stable release.<\/p>\n<p>Most LMS platforms are either locked-down SaaS that owns your data, or open-source projects that look like they were built in 2010. We wanted something that felt like modern developer tooling &#8211; beautiful, fast, and actually yours.<\/p>\n<p>LearnHouse is built for two kinds of people: builders who need to teach their users about what they&#8217;ve made, and educators who want a platform that doesn&#8217;t get in the way.<\/p>\n<p>What&#8217;s new in v1.0:<br \/>\n\ud83e\udde0 Context-aware AI for learners and educators<br \/>\n\ud83d\udcbb Code execution across 30+ languages with auto-grading<br \/>\n\ud83e\uddca Playgrounds &#8211; AI-generated interactive simulations<br \/>\n\ud83d\udcac Discussions built into every course<br \/>\n\ud83c\udf99\ufe0f Podcasts and audio learning<br \/>\n\ud83d\udcca Real engagement analytics<br \/>\n\ud83d\udccb Collaborative real-time Boards<br \/>\n\ud83d\udd12 SSO, SAML, Multi-tenancy, Audit Logs<br \/>\n\ud83c\udf0d 19+ languages and 200+ fixes<\/p>\n<p>Self-host for free under AGPL, or use our cloud.<\/p>\n<p>We&#8217;re a small team that&#8217;s been heads down on this for a long time. We&#8217;d love to know &#8211; what would make this the LMS you&#8217;ve always wanted? Drop a comment \ud83d\udc47<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This feels especially useful for product-led teams where education is part of activation, not just \u201csupport docs.\u201d<\/p>\n<\/p>\n<p>One feature I\u2019d love in an LMS like this: tying lessons to product moments\/version changes. Example: when a feature changes, show which lessons mention it, which users completed the old lesson, and what needs a small update vs. a full rewrite. That would make courses feel like living enablement instead of another stale content surface.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the v1.0 launch! The &#8220;self-host or use cloud, your content stays yours&#8221; stance is exactly what makes this kind of platform actually usable for serious course creators. I teach Excel for financial modeling on Udemy (<a href=\"https:\/\/www.udemy.com\/course\/excel-for-financial-modelling\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.udemy.com\/course\/exc&#8230;<\/a>) and the biggest pain point with most LMS tools is exactly what you&#8217;re solving \u2014 the ability to embed code execution and AI Q&amp;A grounded in actual course material. That&#8217;s the gap between &#8220;video library&#8221; and &#8220;students actually finish and apply this.&#8221; Curious how your AI handles formula-heavy or domain-specific content vs. general explanations.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Badr, was reading through LearnHouse and shipping v1.0 after a long heads-down build is a respect-earning ship. one thing I wanted to ask, on the in-browser code execution across 30+ languages, is the runtime per-language sandboxed or you&#8217;ve got a unified container approach? that piece is usually the most expensive thing to scale on a learning platform.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/UTCGCZNYTR5E7C\" class=\"app-title\">AutoShelf<\/a><\/p>\n<div class=\"one-liner\">Auto-organize files on your 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>AutoShelf \u662f\u4e00\u6b3e macOS \u83dc\u5355\u680f\u6587\u4ef6\u81ea\u52a8\u6574\u7406\u5de5\u5177\uff0c\u901a\u8fc7\u9884\u8bbe\u89c4\u5219\u4e00\u952e\u6e05\u7406\u4e0b\u8f7d\u6587\u4ef6\u5939\u7b49\u6742\u4e71\u533a\u57df\uff0c\u89e3\u51b3\u7528\u6237\u624b\u52a8\u5206\u7c7b\u6587\u4ef6\u7684\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\/f15f2a1f-8574-4f93-82e9-c5ee09c59959.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/48458f81-0a91-474f-ac53-beae8689183a.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\/02dfab5b-f66b-497b-a02c-2fdaf58df698.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\/16188d2d-3408-4ec0-b1ab-ceeb9a429218.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\/3436c1b3-b07e-47d4-866f-77099dcaff74.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6587\u4ef6\u6574\u7406<\/span><br \/>\n            <span class=\"tag\">macOS\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u89c4\u5219\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u56fe\u7247\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u6027\u4ed8\u8d39<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6587\u4ef6\u7ba1\u7406<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u5176\u83dc\u5355\u680f\u76d1\u63a7\u548c\u6a21\u677f\u5316\u89c4\u5219\u8bbe\u8ba1\uff1b\u6838\u5fc3\u7591\u8651\u5305\u62ec\uff1a\u591a\u89c4\u5219\u51b2\u7a81\u65f6\u5904\u7406\u903b\u8f91\uff08\u662f\u5426\u6309\u521b\u5efa\u987a\u5e8f\u6216\u4f18\u5148\u7ea7\uff09\u3001\u662f\u5426\u652f\u6301\u4e0d\u540c\u6587\u4ef6\u5939\u72ec\u7acb\u89c4\u5219\u96c6\u3001\u80fd\u5426\u5904\u7406\u5d4c\u5957\u5b50\u6587\u4ef6\u5939\uff08\u76ee\u524d\u4ec5\u9876\u5c42\u6587\u4ef6\uff09\u3002\u4e5f\u6709\u7528\u6237\u8be2\u95ee\u662f\u5426\u652f\u6301 Dropbox\u3001iCloud \u7b49\u4e91\u76d8\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                AutoShelf \u662f\u4e00\u6b3e\u5b9a\u4f4d\u7cbe\u51c6\u4f46\u5c1a\u663e \u201c\u9752\u6da9\u201d \u7684\u6548\u7387\u5de5\u5177\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e\u5c06\u6587\u4ef6\u6574\u7406\u8fd9\u4e00\u9ad8\u9891\u3001\u4f4e\u4ef7\u503c\u64cd\u4f5c\uff0c\u964d\u7ef4\u6210\u201c\u8bbe\u4e00\u6b21\u89c4\u5219\uff0c\u7ec8\u751f\u6258\u7ba1\u201d\u7684\u81ea\u52a8\u5316\u6d41\u7a0b\uff0c\u5207\u4e2d\u4e86\u6570\u5b57\u65f6\u4ee3 \u201c\u4e0b\u8f7d\u6587\u4ef6\u5939\u5373\u65e0\u5e95\u6d1e\u201d \u7684\u666e\u904d\u75db\u70b9\u300219.99 \u7f8e\u5143\u4e00\u6b21\u6027\u4e70\u65ad\u7684\u5b9a\u4ef7\uff0c\u76f8\u8f83\u4e8e\u540c\u7c7b SaaS \u8ba2\u9605\u5236\u4ea7\u54c1\u663e\u5f97\u514b\u5236\u4e14\u6709\u8bda\u610f\uff0c\u964d\u4f4e\u4e86\u7528\u6237\u7684\u51b3\u7b56\u95e8\u69db\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ece\u8bc4\u8bba\u53cd\u9988\u6765\u770b\uff0c\u4ea7\u54c1\u5f53\u524d\u7684\u529f\u80fd\u5b8c\u6574\u5ea6\u4ecd\u6709\u660e\u663e\u77ed\u677f\uff1a\u7f3a\u4e4f\u76f4\u89c2\u7684\u89c4\u5219\u51b2\u7a81\u89e3\u51b3\u673a\u5236\u3001\u65e0\u6cd5\u6309\u6587\u4ef6\u5939\u5b9a\u5236\u72ec\u7acb\u89c4\u5219\u3001\u4e0d\u652f\u6301\u5d4c\u5957\u76ee\u5f55\u2014\u2014\u8fd9\u4e9b\u5e76\u975e\u9526\u4e0a\u6dfb\u82b1\uff0c\u800c\u662f\u6587\u4ef6\u6574\u7406\u573a\u666f\u4e0b\u7684\u57fa\u7840\u521a\u9700\u3002\u5f00\u53d1\u8005\u867d\u5728\u56de\u590d\u4e2d\u8868\u73b0\u51fa\u79ef\u6781\u8fed\u4ee3\u6001\u5ea6\uff0c\u4f46\u5982\u679c\u8fd9\u4e9b\u5173\u952e\u529f\u80fd\u4e0d\u80fd\u5728\u77ed\u65f6\u95f4\u5185\u8865\u9f50\uff0cAutoShelf \u53ef\u80fd\u5f88\u5feb\u4ece \u201c\u5c1d\u9c9c\u5de5\u5177\u201d \u6ca6\u4e3a \u201c\u534a\u6210\u54c1\u5f03\u5751\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u4e8e\u201c\u81ea\u52a8\u6574\u7406\u201d\u8fd9\u4e00\u6982\u5ff5\uff0c\u800c\u5728\u4e8e\u5176\u8fb9\u754c\u7684\u62d3\u5bbd\uff1a\u652f\u6301\u591a\u6761\u4ef6\u94fe\u5f0f\u52a8\u4f5c\u3001\u6587\u4ef6\u683c\u5f0f\u81ea\u52a8\u8f6c\u6362\u3001\u4e43\u81f3\u5bf9\u63a5\u4e91\u5b58\u50a8\u548c RSS \u4e0b\u8f7d\uff0c\u5982\u679c\u8fd9\u4e9b\u89c4\u5212\u8def\u7ebf\u56fe\u80fd\u987a\u5229\u843d\u5730\uff0cAutoShelf \u5c06\u4ece\u5355\u7eaf\u7684\u201c\u6587\u4ef6\u6e05\u6d01\u5de5\u201d\u8fdb\u5316\u4e3a\u201c\u6587\u4ef6\u5168\u751f\u547d\u5468\u671f\u7ba1\u5bb6\u201d\u3002\u4f46\u82e5\u53ea\u505c\u7559\u4e8e\u89e3\u51b3\u201c\u9876\u5c42\u76ee\u5f55\u201d\u548c\u201c\u5355\u4e00\u89c4\u5219\u201d\u7684\u6d45\u5c42\u9700\u6c42\uff0c\u5b83\u6700\u7ec8\u96be\u9003\u88ab Hazel\u3001Dropzone \u7b49\u8001\u724c\u5de5\u5177\u6216 macOS \u81ea\u5e26\u7684\u5feb\u6377\u6307\u4ee4\u53d6\u4ee3\u7684\u547d\u8fd0\u3002\u4e00\u53e5\u8bdd\uff1a\u65b9\u5411\u5bf9\u4e86\uff0c\u4f46\u9700\u8981\u8dd1\u5f97\u66f4\u5feb\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\">AutoShelf<\/span>\n                <\/div>\n<div class=\"comment-content\">AutoShelf is a macOS app that watches your folders and auto-organizes files. Set a rule once and never think about it again. Free to try, unlock unlimited for $19.99.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b I&#8217;m Or\u00e7un, the solo developer behind AutoShelf.<\/p>\n<p>I built AutoShelf because I got tired of my Downloads folder being a graveyard of DMGs, screenshots, and random files I&#8217;d never clean up. Existing solutions were either too complex, too expensive, or felt like they were built in another decade. I wanted something I could set up in 30 seconds and never think about again.<\/p>\n<p>AutoShelf is that thing. It lives in your menu bar, watches your folders, and follows your rules. Templates get you started in one click. Multi-condition rules handle the complex stuff. And it&#8217;s a one-time purchase, no subscriptions.<\/p>\n<p>Why AutoShelf:<br \/>\n&#8211; Radically simple onboarding \u2014 templates get you running in seconds<br \/>\n&#8211; Modern native interface built for today&#8217;s macOS<br \/>\n&#8211; Image optimization built-in<br \/>\n&#8211; One-time $19.99, no subscription<\/p>\n<p>What&#8217;s coming next:<br \/>\n&#8211; Multi-actions \u2014 chain move + rename + tag + archive in a single rule<br \/>\n&#8211; Rule creation wizard \u2014 step-by-step guided flow, no guesswork<br \/>\n&#8211; File conversions \u2014 auto-convert HEIC\u2192JPG, MOV\u2192MP4, WAV\u2192MP3, and more<br \/>\n&#8211; Cloud storage uploads \u2014 route files to iCloud, Dropbox, Google Drive<br \/>\n&#8211; Auto downloads \u2014 fetch files from RSS feeds, URLs, or cloud storage on a schedule<br \/>\n&#8211; Torrent downloads &#8211; fetch torrent files from RSS feeds and auto download &amp; organize.<\/p>\n<p>Have an idea for a feature? I&#8217;d love to hear it \u2192 <a href=\"https:\/\/useautoshelf.com\/support?category=feature-request\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/useautoshelf.com\/support&#8230;<\/a><\/p>\n<p>Happy to answer any questions! Would love your feedback.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Or\u00e7un, was on AutoShelf&#8217;s page just now and the menu-bar-watcher approach to file org is what pulled me in honestly. one thing on my mind, when two rules conflict on the same file, what wins, is it order of rule creation or a priority system? in my Downloads folder almost every file matches three rules at once.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Always think if I&#8217;m bad with Mac files or if it&#8217;s a disaster haha. This is a great idea to manage everything as you want. <\/p>\n<p>does it work with cloud drives like Dropbox\/iCloud too? BTW, Congratz for the launch<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Does AutoShelf support different rules per watched folder, or is it one global ruleset? My use case is Figma exports landing in Downloads alongside PDF invoices \u2014 ideally I\u2019d route each file type to a completely different destination without them conflicting.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Folder chaos on my Mac has been a constant battle. Does it handle nested folder structures or just top-level organization?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rich_nashawaty\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rich_nashawaty<\/a>&nbsp;Good question! Right now AutoShelf only handles top level files within watched folders, so files inside subfolders aren&#8217;t picked up. Nested folder support is definitely something I&#8217;m tracking though. I&#8217;m actively collecting feature requests and will be working on them for the upcoming version in next weeks. I&#8217;ll share updates as things progress on my X acount. LMK if you have any other feature requests. Thanks for asking! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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 man, been needing something like this lol my downloads folder is cooked<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@sezerufukyavuz\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sezerufukyavuz<\/a>&nbsp;Lol I know the pain. That was literally the reason I built this haha. Hope it saves your downloads folder! Let me know if you run into anything or have any feature ideas. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/OHE5ZUEDAWSEGB\" class=\"app-title\">Hanami<\/a><\/p>\n<div class=\"one-liner\">A daily meditation with Japanese art<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">94<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Hanami \u662f\u4e00\u6b3e\u6bcf\u65e5\u6e05\u6668\u63a8\u9001\u4e00\u5e45\u65e5\u672c\u827a\u672f\u6770\u4f5c\uff08\u9644\u6709\u4eba\u58f0\u89e3\u8bf4\u4e0e\u6587\u5b57\u80cc\u666f\uff09\u7684\u6781\u7b80\u51a5\u60f3\u5f0fAPP\uff0c\u5e2e\u52a9\u7528\u6237\u5728\u5fd9\u788c\u4e2d\u5efa\u7acb\u7247\u523b\u4e13\u6ce8\u3001\u4ece\u5bb9\u7684\u6587\u5316\u6c89\u6d78\u4e60\u60ef\uff0c\u89e3\u51b3\u201c\u788e\u7247\u5316\u7126\u8651\u201d\u4e0e\u201c\u9ad8\u96c5\u827a\u672f\u95e8\u69db\u201d\u4e4b\u95f4\u7684\u4f53\u9a8c\u7a7a\u767d\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\/038abd9e-c986-49a2-8dd7-f5feb1c02579.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3764b0f9-1974-40f0-a1b9-85806ec17740.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2b7c0db9-c181-47fa-8bc2-6221d6aa6fb3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a57ad66c-4a56-4a9d-aa6f-8550c07a0479.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e851b0b1-6c29-4f01-9008-86d1ce0a68e5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/34cecd1c-31b5-4afc-bc4d-8f2036e56cfb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/77ebc74d-f531-488d-8f97-650211bd612f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">iOS<\/span><br \/>\n            <span class=\"tag\">Art<\/span><br \/>\n            <span class=\"tag\">Education<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u51a5\u60f3\u827a\u672f<\/span><br \/>\n            <span class=\"tag\">\u65e5\u672c\u7f8e\u672f<\/span><br \/>\n            <span class=\"tag\">\u65e5\u8bfe<\/span><br \/>\n            <span class=\"tag\">\u6781\u7b80\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u6587\u5316\u6559\u80b2<\/span><br \/>\n            <span class=\"tag\">\u516c\u4f17\u9886\u57df\u827a\u672f\u54c1<\/span><br \/>\n            <span class=\"tag\">\u4eba\u58f0\u64ad\u8bb2<\/span><br \/>\n            <span class=\"tag\">\u65e0AI\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">iOS\u72ec\u4eab<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u5f00\u53d1\u8005<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u5173\u6ce8\u201c\u65e0AI\u751f\u6210\u201d\u4e0e\u5398\u6e05\u771f\u8ff9\u5f52\u5c5e\u7684\u8270\u82e6\u52b3\u52a8\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u4f5c\u54c1\u6765\u81ea\u5927\u90fd\u4f1a\u3001\u829d\u52a0\u54e5\u7f8e\u672f\u9986\u7b49\u516c\u5f00\u9986\u85cf\uff0c\u5e76\u4eba\u5de5\u4ea4\u53c9\u7814\u7a76\u6587\u5316\u80cc\u666f\u3002\u53e6\u6709\u7528\u6237\u5efa\u8bae\u63d0\u4f9b\u6587\u5b57\u66ff\u4ee3\u97f3\u9891\uff0c\u5f00\u53d1\u8005\u786e\u8ba4APP\u5185\u5df2\u914d\u6709\u6587\u672c\u4ecb\u7ecd\u4e0e\u8bcd\u6c47\u8bf4\u660e\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                Hanami \u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u5b83\u662f\u4e00\u6b3e\u201c\u827a\u672f\u63a8\u9001APP\u201d\uff0c\u800c\u5728\u4e8e\u5b83\u7528\u4e00\u79cd\u6781\u5176\u514b\u5236\u7684\u65b9\u5f0f\uff0c\u91cd\u65b0\u5b9a\u4e49\u4e86\u79fb\u52a8\u65f6\u4ee3\u7684\u7cbe\u795e\u6d88\u8d39\u903b\u8f91\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5728\u4e00\u7247\u4e89\u62a2\u7528\u6237\u6ce8\u610f\u529b\u7684\u7ea2\u6d77\u4e2d\uff0cJun \u9009\u62e9\u53cd\u5176\u9053\uff1a\u53ea\u7ed9\u7528\u6237\u4e00\u5206\u949f\uff0c\u7136\u540e\u201c leave you alone \u201d\u3002\u8fd9\u79cd\u201c\u6709\u610f\u7684\u7a00\u7f3a\u201d\u662f\u6bd4\u5185\u5bb9\u672c\u8eab\u66f4\u6df1\u5c42\u7684\u8bbe\u8ba1\u54f2\u5b66\u2014\u2014\u5b83\u6697\u793a\u9ad8\u8d28\u91cf\u7684\u5ba1\u7f8e\u4f53\u9a8c\u5e76\u4e0d\u9700\u8981\u65e0\u9650Scroll\uff0c\u800c\u6070\u6070\u9700\u8981\u5728\u9650\u5b9a\u65f6\u957f\u4e2d\u51dd\u7ec3\u7cbe\u534e\u3002\u6b64\u4e3e\u65e2\u6709\u5fc3\u7406\u5b66\u7684\u654f\u9510\uff08\u6668\u95f4\u4eea\u5f0f\u611f\u4fc3\u8fdb\u4e60\u60ef\u517b\u6210\uff09\uff0c\u4e5f\u6709\u6d88\u8d39\u4f26\u7406\u7684\u6e05\u9192\uff1a\u65e0\u5e7f\u544a\u3001\u65e0\u8ffd\u8e2a\u3001\u65e0AI\u751f\u6210\uff0c\u8ba9\u201c\u5b89\u9759\u201d\u672c\u8eab\u53d8\u6210\u53ef\u4ee5\u91cf\u5316\u7684\u5dee\u5f02\u5316\u5356\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u6765\u770b\uff0c\u4ea7\u54c1\u4ecd\u6709\u786c\u4f24\u3002\u4e00\u662f\u5185\u5bb9\u6df1\u5ea6\u4f9d\u8d56\u5f00\u53d1\u8005\u4e2a\u4eba\u7814\u7a76\uff0c\u957f\u671f\u80fd\u5426\u4fdd\u6301\u4e13\u4e1a\u6027\u4e0e\u5b66\u672f\u4e25\u8c28\u6027\u6210\u7591\uff1b\u4e8c\u662f\u76ee\u524d\u4ec5\u9650iOS\u4e14\u65e0\u793e\u4ea4\/\u793e\u533a\u673a\u5236\uff0c\u7528\u6237\u589e\u957f\u9ad8\u5ea6\u4f9d\u8d56\u53e3\u7891\u4e0eApp Store\u5c55\u793a\u4f4d\uff0c\u5546\u4e1a\u53ef\u6301\u7eed\u6027\u5b58\u5728\u98ce\u9669\u3002\u97f3\u9891+\u6587\u5b57\u8bf4\u660e\u867d\u6ee1\u8db3\u5927\u90e8\u9700\u6c42\uff0c\u4f46\u5bf9\u4e8e\u771f\u6b63\u60f3\u6df1\u5165\u5b66\u4e60\u67d0\u4e00\u753b\u6d3e\u3001\u6280\u6cd5\u7684\u7528\u6237\u6765\u8bf4\uff0c\u76ee\u524d\u7684\u201c\u6bcf\u65e5\u4e00\u5e45\u201d\u5f0f\u6d45\u5c1d\u7565\u663e\u5355\u8584\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5982\u679cHanami\u80fd\u56f4\u7ed5\u201c\u827a\u672f\u65e5\u8bfe\u201d\u5207\u5165\u8f7b\u5ea6\u827a\u672f\u5b66\u4e60\u8ba2\u9605\u3001\u7b56\u5c55\u4eba\u7ebf\u4e0a\u8bb2\u5ea7\u3001\u6216\u662f\u5f00\u653e\u7684\u7b56\u5c55\u4eba\u6295\u7a3f\u673a\u5236\uff0c\u5219\u6709\u53ef\u80fd\u4ece\u201c\u6781\u7b80\u5e94\u7528\u201d\u8715\u53d8\u4e3a\u201c\u5ba1\u7f8e\u6559\u80b2\u57fa\u7840\u8bbe\u65bd\u201d\u3002\u4f46\u76ee\u524d\u5b83\u66f4\u50cf\u4e00\u4e2a\u6f02\u4eae\u3001\u6709\u6001\u5ea6\u7684\u6700\u5c0f\u53ef\u884c\u6027\u4ea7\u54c1\uff0c\u8ddd\u79bb\u201c\u6539\u53d8\u4eba\u4eec\u5982\u4f55\u9762\u5bf9\u827a\u672f\u201d\u8fd8\u6709\u4e00\u6bb5\u4e0d\u5f97\u4e0d\u8d70\u7684\u8c0b\u751f\u8def\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\">Hanami<\/span>\n                <\/div>\n<div class=\"comment-content\">Hanami pairs you with one Japanese masterwork every morning from a thousand years of Japanese art history. The collection grows weekly. The whole experience is built to feel like a private morning visit to a museum \u2014 slow, intentional, no clutter. Each work comes with curator-voiced audio narration and quiet editorial context. Curated journeys move through movements: The Floating World (ukiyo-e), The Rinpa School, Kabuki Theater, Flowers Birds Stillness. iOS only. Built solo from Toronto.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hi Product Hunt \ud83d\udc4b<\/p>\n<p>I&#8217;m Jun. I built Hanami solo over the past year from Toronto.<\/p>\n<p>You open it in the morning, spend a quiet minute with one Japanese painting \u2014 a Hokusai woodblock, a Hiroshige rain scene, a Yoshitoshi moon, a Jakuch\u016b rooster \u2014 listen to a narrated note that opens up the work, its vocabulary, its history, the world it came from, and close it.<\/p>\n<p>The collection runs from Muromachi ink masters through Edo ukiyo-e into the Rinpa school and the Meiji-era prints of Yoshitoshi. I source from public museum archives and write the editorial notes myself, with help from art historians where I can get it. New works added weekly.<\/p>\n<p>A few things that mattered to me while building it:<\/p>\n<p>\u2192 No ads, no tracking, no sold data<br \/>\n\u2192 No AI-generated art \u2014 every work is real, by a real artist, attributed<br \/>\n\u2192 The audio narration is human-written, not generated copy<br \/>\n\u2192 The whole thing is designed to be quiet \u2014 to take a minute of your morning, then leave you alone<\/p>\n<p>Hanami went live in the App Store this week and I&#8217;d love feedback. Happy to answer questions about the curation, the artists, the design, or why I think slow apps deserve more space.<\/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>Hey Jun, spent a bit of time on Hanami&#8217;s page and the &#8220;no AI-generated art&#8221; stance is what made me look closer. one thing I wanted to ask, how do you source attribution for thousand-year-old works, is it museum partnerships or public-domain curation with manual research? attribution at that depth feels like the hidden labor in the whole product.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@axlerodd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@axlerodd<\/a>&nbsp;Hey, appreciate you checking it out. The artworks come from open-access museum collections (The Met, Art Institute of Chicago etc) where the scholarly attribution has been done by curators. <\/p>\n<\/p>\n<p>For each piece, I research the cultural context, historical notes, and Japanese vocabulary \u2014 cross-referencing museum records and art-history sources. Slow work, but the whole point is that someone actually thought about each piece.<\/p>\n<\/p>\n<p>This started as a way to reconnect with my Japanese heritage so building it has been as much for me as anyone using 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>Really nice! It would be great to also have text instead of the descriptions being audio-only \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\/@jozzire_lyngdoh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jozzire_lyngdoh<\/a>&nbsp;Thanks! There&#8217;s actually text too \u2014 each artwork has historical context, cultural background, and Japanese vocabulary notes alongside the audio narration. The text sits below the artwork in the detail view. Audio is just one way in. Appreciate the feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/SYHOJPFGU7435U\" class=\"app-title\">Papr Graph<\/a><\/p>\n<div class=\"one-liner\">Upgrade to graph-native vector embeddings<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">93<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Papr Graph \u901a\u8fc7\u4e00\u4e2aAPI\u8c03\u7528\u5c06\u8bed\u4e49\u5d4c\u5165\u8f6c\u5316\u4e3a\u56fe\u539f\u751f\u5d4c\u5165\uff0c\u89e3\u51b3\u4e86AI\u667a\u80fd\u4f53\u5728\u591a\u8df3\u67e5\u8be2\u3001\u5173\u7cfb\u6570\u636e\u7b49\u590d\u6742\u573a\u666f\u4e0b\u56e0\u5411\u91cf\u68c0\u7d22\u53ea\u91cd\u8bed\u4e49\u76f8\u4f3c\u6027\u800c\u5ffd\u7565\u6b63\u786e\u6027\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\/2c2ec285-06a3-4330-8cc2-69e659f1c0aa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/38ce1bb6-4b82-452e-be54-39825365b017.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/784c56c7-be89-467d-8497-fbf39e92beec.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/73d80c8a-978d-440f-a520-de1370957c1e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ff78ed51-f382-406b-92c8-78fc1d9b1649.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u56fe\u539f\u751f\u5411\u91cf\u5d4c\u5165<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u4f53\u68c0\u7d22<\/span><br \/>\n            <span class=\"tag\">\u5411\u91cf\u6570\u636e\u5e93<\/span><br \/>\n            <span class=\"tag\">\u8bed\u4e49\u641c\u7d22<\/span><br \/>\n            <span class=\"tag\">\u56fe\u6570\u636e\u5e93<\/span><br \/>\n            <span class=\"tag\">\u591a\u8df3\u63a8\u7406<\/span><br \/>\n            <span class=\"tag\">\u77e5\u8bc6\u56fe\u8c31<\/span><br \/>\n            <span class=\"tag\">\u68c0\u7d22\u589e\u5f3a\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u8bcd\u5d4c\u5165\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">MTEB<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4ebaAmir\u6307\u51fa\u6a21\u578b\u975e\u95ee\u9898\uff0c\u68c0\u7d22\u624d\u662f\u77ed\u677f\uff0c\u56fe\u539f\u751f\u5d4c\u5165\u53ef\u7f16\u7801\u65f6\u95f4\u3001\u4e3b\u9898\u7b49\u4fe1\u53f7\u63d0\u5347\u6b63\u786e\u6027\u3002\u7528\u6237\u8d28\u7591\u8fd9\u662f\u5426\u53ea\u662f\u8bed\u4e49\u7ed3\u6784\u5316\u4e0d\u597d\uff0c\u5e76\u8be2\u95ee\u5982\u4f55\u81ea\u52a8\u5316\u7406\u89e3\u4e0d\u540c\u5782\u76f4\u9886\u57df\u7684\u4e0a\u4e0b\u6587\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                Papr Graph\u7684\u672c\u8d28\u662f\u5728\u5411\u91cf\u68c0\u7d22\u7684\u201c\u8bed\u4e49\u8fd1\u90bb\u201d\u4e0e\u201c\u8bed\u4e49\u6b63\u786e\u201d\u4e4b\u95f4\u67b6\u8d77\u4e00\u5ea7\u56fe\u7ed3\u6784\u7684\u6865\u6881\u3002\u5b83\u4e0d\u8bd5\u56fe\u63a8\u7ffb\u73b0\u6709\u5d4c\u5165\u6a21\u578b\u6216\u5411\u91cf\u6570\u636e\u5e93\uff0c\u800c\u662f\u4ee5\u4e00\u4e2a\u8f7b\u91cf\u7684\u3001\u6a21\u578b\u65e0\u5173\u7684\u63d2\u4ef6\u5f62\u5f0f\uff0c\u5728\u68c0\u7d22\u94fe\u8def\u4e2d\u63d2\u5165\u201c\u56fe\u7ed3\u6784\u4fe1\u53f7\u201d\u3002\u8fd9\u79cd\u52a1\u5b9e\u7684\u8bbe\u8ba1\u903b\u8f91\u503c\u5f97\u80af\u5b9a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u6f14\u793a\u4e2d\u201c\u963f\u53f8\u5339\u6797\u201d\u7684\u4f8b\u5b50\u63ed\u793a\u4e86\u6839\u672c\u77db\u76fe\uff1a\u5f53\u8bed\u4e49\u76f8\u4f3c\u5ea6\u4e0e\u4e8b\u5b9e\u6b63\u786e\u6027\u51b2\u7a81\u65f6\uff0cPapr Graph\u6240\u8c13\u7684\u201c\u56fe\u539f\u751f\u5d4c\u5165\u201d\u4f9d\u8d56\u4e8e\u7528\u6237\u624b\u52a8\u5b9a\u4e49\u5e76\u7f16\u7801\u201ctopic\u3001time\u3001intent\u201d\u7b49\u4fe1\u53f7\u3002\u8fd9\u672c\u8d28\u4e0a\u5c06\u68c0\u7d22\u7684\u201c\u6b63\u786e\u7b54\u6848\u201d\u8d23\u4efb\u90e8\u5206\u8f6c\u79fb\u7ed9\u4e86\u7528\u6237\u2014\u2014\u4f60\u8981\u5148\u544a\u8bc9\u4f60\u559c\u6b22\u4ec0\u4e48\u7ed3\u6784\uff0c\u624d\u80fd\u83b7\u5f97\u7ed3\u6784\u5316\u7684\u6b63\u786e\u3002\u5bf9\u4e8e\u8bc4\u8bba\u4e2d\u201c\u5982\u4f55\u81ea\u52a8\u5316\u7406\u89e3\u5404\u5782\u76f4\u9886\u57df\u4e0a\u4e0b\u6587\u201d\u7684\u8d28\u7591\uff0c\u521b\u59cb\u4eba\u7684\u56de\u5e94\u76ee\u524d\u7f3a\u5931\uff0c\u8fd9\u662f\u4ea7\u54c1\u4ecedemo\u8d70\u5411\u751f\u4ea7\u7684\u6700\u5927\u9e3f\u6c9f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c5-20%\u7684MTEB\u63d0\u5347\u6570\u636e\u5f88\u6f02\u4eae\uff0c\u4f46\u6ce8\u610f\u8fd9\u53ea\u662f\u5728\u7279\u5b9a\u4efb\u52a1\uff08coding, scifact, finance\uff09\u4e0a\u3002\u5bf9\u4e8e\u901a\u7528\u68c0\u7d22\u573a\u666f\uff0c\u5c24\u5176\u662f\u975e\u7ed3\u6784\u5316\u3001\u566a\u58f0\u5927\u7684\u957f\u5c3e\u6570\u636e\uff0c\u8fd9\u79cd\u56fe\u4fe1\u53f7\u7684\u6ce8\u5165\u53ef\u80fd\u6ca6\u4e3a\u8fc7\u62df\u5408\u3002\u540c\u65f6\uff0c\u201c\u6a21\u578b\u65e0\u5173\u201d\u7684\u53e6\u4e00\u9762\u662f\uff0cPapr Graph\u9700\u8981\u4f60\u5df2\u6709\u7684\u5d4c\u5165\u5728\u8bed\u4e49\u7a7a\u95f4\u672c\u8eab\u8d28\u91cf\u5c31\u591f\u597d\u2014\u2014\u5982\u679c\u5e95\u5c42\u5411\u91cf\u672c\u8eab\u662f\u4e71\u7801\uff0c\u52a0\u518d\u591a\u7684\u56fe\u4fe1\u53f7\u4e5f\u662f\u7ee3\u82b1\u6795\u5934\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6574\u4f53\u800c\u8a00\uff0cPapr Graph\u89e3\u51b3\u4e86\u4e00\u4e2a\u771f\u5b9e\u4f46\u7a84\u7684\u95ee\u9898\uff1a\u8ba9AI\u4ee3\u7406\u5728\u5df2\u6709\u5411\u91cf\u68c0\u7d22\u57fa\u7840\u4e0a\uff0c\u66f4\u7cbe\u51c6\u5730\u7406\u89e3\u201c\u4f55\u65f6\u4f55\u5730\u4f55\u79cd\u5173\u7cfb\u201d\u4e0b\u624d\u8be5\u8fd4\u56de\u90a3\u6761\u7ed3\u679c\u3002\u4f46\u5b83\u7684\u5929\u82b1\u677f\u4e5f\u5f88\u660e\u663e\u2014\u2014\u5b83\u4e0d\u662f\u4e00\u4e2a\u72ec\u7acb\u7684\u77e5\u8bc6\u56fe\u8c31\u5f15\u64ce\uff0c\u800c\u662f\u5411\u91cf\u68c0\u7d22\u7684\u201c\u5f3a\u5316\u8865\u4e01\u201d\u3002\u80fd\u5426\u6210\u4e3a\u4e0b\u4e00\u4e2a\u57fa\u7840\u8bbe\u65bd\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u4ee5\u591a\u4f4e\u7684\u6210\u672c\u3001\u591a\u9ad8\u7684\u81ea\u52a8\u5316\u7a0b\u5ea6\uff0c\u8ba9\u7528\u6237\u5fd8\u8bb0\u201c\u6211\u8be5\u624b\u52a8\u5b9a\u4e49\u4ec0\u4e48\u4fe1\u53f7\u201d\u8fd9\u4e2a\u524d\u63d0\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\">Papr Graph<\/span>\n                <\/div>\n<div class=\"comment-content\">Papr Graph transforms semantic embeddings into graph-native embeddings with one API call. It encodes temporal, topical, and other dimensions within any embedding, helping agents retrieve answers based on correctness, not just semantic closeness.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello everyone. I\u2019m Amir, founder of Papr.<\/p>\n<p>We built Papr Graph after seeing AI agents fail in production. The model wasn&#8217;t the problem \u2014 retrieval was. Multi-hop questions, versioned policies, relational data \u2014 flat vector search breaks on all of it.<\/p>\n<p>Vector search ranks by semantic closeness. But closeness \u2260 correctness. A doc saying &#8220;aspirin reduces heart attack risk&#8221; and one saying &#8220;aspirin causes stomach bleeding&#8221; rank nearly identical \u2014 they&#8217;re both about aspirin. For an agent making a recommendation, that&#8217;s the difference between helpful and harmful.<\/p>\n<p>Papr Graph is a graph-native embedding that sits between your existing embeddings and your agent. It encodes structured signals \u2014 topic, time, intent, entities, anything you define \u2014 directly into your embedding, so ranking reflects meaning in context, not just surface similarity. It&#8217;s model-agnostic, works with whatever embeddings you&#8217;re already using.<\/p>\n<p>We saw Papr Graph improve existing embeddings on MTEB (coding, scifact, finance tasks) by 5-20%. On Stanford STaRK (MAG synthesized 10% dataset), Papr Graph leads retrieval models with 92% hit@5 accuracy.<\/p>\n<p>Getting started is free. Keep your existing stack. Add our plugin. Drop graph-native ranking into your current retrieval flow with one API call.<\/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\/@amirkabbara\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amirkabbara<\/a>&nbsp;Hi Amir, congrats on the launch. Isn&#8217;t this more an issue of poor semantic structuring at the embed stage? Also, how do you automate the process of understanding the context of each vertical?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3JNDFHJE6E52SF\" class=\"app-title\">Thinnest AI<\/a><\/p>\n<div class=\"one-liner\">Build Voice AI Agents in 100+ languages for \u20b91.5\/min<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">89<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Thinnest AI \u662f\u4e00\u5957\u53ef\u7f16\u7a0b\u7684\u8bed\u97f3AI\u57fa\u7840\u8bbe\u65bd\uff0c\u4e13\u4e3a\u9700\u8981\u6784\u5efa\u652f\u6301100\u591a\u79cd\u672c\u5730\u8bed\u8a00\u3001\u4e14\u80fd\u6309\u5206\u949f\u8ba1\u8d39\u7684AI\u7535\u8bdd\u5ba2\u670d\u4e0e\u9500\u552e\u4ee3\u7406\u7684\u4f01\u4e1a\u8bbe\u8ba1\uff0c\u89e3\u51b3\u4e86\u73b0\u6709\u5e73\u53f0\u8bed\u8a00\u652f\u6301\u5dee\u3001\u8d26\u5355\u8d27\u5e01\u4e0d\u7075\u6d3b\u3001\u4f9b\u5e94\u5546\u9501\u5b9a\u7b49\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\/2171f2ad-adfd-4e42-9ece-2173ad9872ae.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/06d0e642-75f8-4f28-97fc-69759b951b49.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/74e0158a-51cb-4224-b1e5-554814037a90.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dcda5daa-b034-4d47-9152-ac554f15e813.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/84aa7dac-63c3-444f-ae57-51b3063e5148.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/77e35b76-255c-4c07-a9a1-4904767a599d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/741df9c8-18d8-46c4-b577-c538b897dc4f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fa23da35-28fb-4257-89d8-2b9dd52d3e7e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/33ca4899-f376-4d8e-b50e-c4bb52c4d27f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6d99d629-de9e-45ee-8baa-9cff398bc9bf.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\/41099e4b-93d5-4402-a4d3-16c3ead69e43.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/5IFIl_AEJuM\"><source src=\"https:\/\/youtu.be\/5IFIl_AEJuM\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">Virtual Assistants<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3AI\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u7535\u8bdd\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">BYOK (\u81ea\u5e26\u5bc6\u94a5)<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ee3\u7801\/\u65e0\u4ee3\u7801<\/span><br \/>\n            <span class=\"tag\">RAG\u77e5\u8bc6\u5e93<\/span><br \/>\n            <span class=\"tag\">MCP\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u5370\u5ea6\u5e02\u573a<\/span><br \/>\n            <span class=\"tag\">\u4f4e\u4ef7\u8ba1\u8d39<\/span><br \/>\n            <span class=\"tag\">Twilio\/SIP\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\u5173\u6ce8\u4e24\u70b9\uff1a\u4e00\u662f\u4ea7\u54c1\u662f\u5426\u4ec5\u9650\u4e8e\u5370\u5ea6\u5e02\u573a\u8fd8\u662f\u53ef\u672c\u5730\u5316\u81f3\u5176\u4ed6\u56fd\u5bb6\uff1b\u4e8c\u662fMCP\u670d\u52a1\u5668\u662f\u4f5c\u4e3a\u201c\u8bed\u97f3\u4ea7\u54c1\u201d\u8fd8\u662f\u201c\u8bed\u97f3\u57fa\u7840\u8bbe\u65bd\u201d\uff08\u5373\u66b4\u9732\u6d41\u7a0b\u7ed9\u5916\u90e8\u5ba2\u6237\u7aef\uff0c\u8fd8\u662f\u4f5c\u4e3a\u6d88\u8d39\u5916\u90e8\u5de5\u5177\u7684\u5ba2\u6237\u7aef\uff09\u3002\u6b64\u5916\uff0c\u6709\u7528\u6237\u8be2\u95ee\u5370\u5730\u8bed-\u82f1\u8bed\u4ee3\u7801\u6df7\u7528\u573a\u666f\u4e0b\u7684\u5b9e\u65f6\u8868\u73b0\uff0c\u521b\u59cb\u4eba\u7ed9\u51fa\u5177\u4f53\u6280\u672f\u9009\u578b\uff08Sarvam Saaras v3\uff09\u56de\u5e94\u3002\u6574\u4f53\u8bc4\u8bba\u56f4\u7ed5\u672c\u5730\u5316\u80fd\u529b\u4e0e\u57fa\u7840\u67b6\u6784\u5f00\u653e\u5ea6\u5c55\u5f00\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                Thinnest AI \u7684\u5b9a\u4f4d\u975e\u5e38\u7cbe\u51c6\uff1a\u5b83\u4e0d\u662f\u5728\u8ddf\u7f8e\u56fd\u5de8\u5934\uff08\u5982 Retell\u3001Vapi\uff09\u62a2\u5168\u7403 API \u5e02\u573a\uff0c\u800c\u662f\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u957f\u671f\u5ffd\u89c6\u4f46\u9700\u6c42\u786c\u6838\u7684\u7ec6\u5206\u573a\u666f\u2014\u2014\u5370\u5ea6\u672c\u571f\u5316\u7684\u4f01\u4e1a\u7ea7\u8bed\u97f3\u4ee3\u7406\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u80fd\u505a100\u79cd\u8bed\u8a00\u201d\uff08\u5f88\u591a\u4ea7\u54c1\u90fd\u5ba3\u79f0\u652f\u6301\uff09\uff0c\u800c\u5728\u4e8e\u201c\u628a\u57fa\u7840\u8bbe\u65bd\u5c42\u5f7b\u5e95\u5f00\u653e\u201d\u3002BYOK\u3001\u81ea\u5e26SIP\u3001\u81ea\u5e26STT\/TTS\uff0c\u8fd9\u5bf9\u5927\u578b\u94f6\u884c\u3001BPO\u548c\u4fdd\u9669\u673a\u6784\u662f\u81f4\u547d\u7684\u5438\u5f15\u529b\u2014\u2014\u5b83\u4eec\u65e2\u4e0d\u60f3\u88ab\u5355\u4e00\u6a21\u578b\u4f9b\u5e94\u5546\u9501\u6b7b\uff0c\u53c8\u5e0c\u671b\u4fdd\u7559\u81ea\u5df1\u7684\u5408\u89c4\u8ba1\u8d39\u3001\u7535\u8bdd\u53f7\u7801\u548cAPI\u914d\u989d\u30021.5\u5362\u6bd4\/\u5206\u949f\uff08\u7ea6\u4eba\u6c11\u5e010.12\u5143\uff09\u7684\u5b9a\u4ef7\u7b56\u7565\u806a\u660e\uff0c\u5b83\u628a\u201c\u8bed\u97f3AI\u201d\u4ece\u6309\u7f8e\u5143\u8ba1\u4ef7\u7684\u6602\u8d35\u9ed1\u76d2\uff0c\u53d8\u6210\u4e86\u6309\u5370\u5ea6\u672c\u5730\u8d39\u7387\u53ef\u8f7b\u677e\u9a8c\u6536\u7684\u6210\u672c\u9879\u3002\u8fd9\u5b9e\u9645\u4e0a\u662f\u5728\u6559\u80b2\u4e00\u4e2a\u4ef7\u683c\u654f\u611f\u7684\u957f\u5c3e\u5e02\u573a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u6311\u6218\u540c\u6837\u660e\u663e\u3002\u76ee\u524d\u8bc4\u8bba\u96c6\u4e2d\u5728\u201cMCP\u670d\u52a1\u5668\u8fb9\u754c\u201d\u4e0e\u201c\u8bed\u8a00\u672c\u5730\u5316\u201d\u4e0a\uff0c\u8fd9\u53cd\u6620\u4e86\u5f00\u53d1\u8005\u5bf9Thinnest\u5230\u5e95\u662f\u201c\u5e73\u53f0\u201d\u8fd8\u662f\u201c\u5de5\u5177\u201d\u7684\u62c5\u5fe7\u2014\u2014\u5982\u679c\u5b83\u53ea\u662f\u5c01\u88c5\u4e86\u4e00\u4e2a\u4f4e\u4ee3\u7801\u7f16\u8f91\u5668\u548cRAG\u7684\u201c\u76d2\u5b50\u201d\uff0c\u90a3\u5b83\u672c\u8d28\u4e0a\u4ecd\u7136\u662f\u5728\u7528\u5b9a\u5236\u5316\u62a2\u5360\u4f20\u7edfIVR\u96c6\u6210\u5546\u7684\u751f\u610f\uff0c\u800c\u975e\u771f\u6b63\u6210\u4e3a\u65b0\u8303\u5f0f\u7684\u57fa\u7840\u8bbe\u65bd\u3002\u5173\u952e\u5728\u4e8e\uff0c\u5b83\u80fd\u5426\u901a\u8fc7MCP\u548c\u5f00\u653eSDK\uff0c\u8ba9\u7528\u6237\u4e0d\u4ec5\u80fd\u201c\u642d\u5efa\u201d\u8bed\u97f3\u4ee3\u7406\uff0c\u80fd\u201c\u89e3\u6784\u201d\u5e76\u201c\u5d4c\u5165\u201d\u8bed\u97f3\u80fd\u529b\u5230\u81ea\u5df1\u7684\u7cfb\u7edf\u91cc\uff08\u6bd4\u5982CRM\u3001\u5de5\u5355\u7cfb\u7edf\u3001\u652f\u4ed8\u56de\u8c03\uff09\u3002\u6b64\u5916\uff0c\u5370\u5ea6\u5e02\u573a\u7684\u5408\u89c4\u3001DLT\u6ce8\u518c\u3001SIP\u4e92\u901a\u534f\u8bae\u5728\u591a\u5bb6\u8fd0\u8425\u5546\u95f4\u7684\u788e\u7247\u5316\u95ee\u9898\uff0c\u662f\u6bd4\u6a21\u578b\u80fd\u529b\u66f4\u68d8\u624b\u7684\u5730\u96f7\u3002Thinnest\u76ee\u524d\u7684\u6740\u624b\u950f\u662f\u9760Sarvam Saaras v3\u89e3\u51b3Hinglish\u6df7\u8bf4\u573a\u666f\uff0c\u4f46\u5982\u679c\u540e\u671f\u7528\u6237\u89c4\u6a21\u4e0a\u6765\uff0c\u662f\u5426\u80fd\u4fdd\u8bc1\u4e0d\u540cTTS\/STT\u914d\u7f6e\u5728\u771f\u5b9e\u901a\u8bdd\u4e2d\u7684\u5ef6\u8fdf\u548c\u7a33\u5b9a\u6027\uff0c\u8fd8\u9700\u8981\u65f6\u95f4\u68c0\u9a8c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u603b\u7ed3\uff1aThinnest AI \u4e0d\u662f\u7b80\u5355\u7684\u201c\u8bed\u97f3API\u201d\uff0c\u800c\u662f\u4e00\u6b21\u9488\u5bf9\u5370\u5ea6\u4f01\u4e1a\u7ea7\u8bed\u97f3AI\u5e02\u573a\u7684\u201c\u672c\u5730\u5316\u57fa\u7840\u8bbe\u65bd\u96c6\u6210\u201d\u8fdb\u653b\u2014\u2014\u67b6\u5bf9\u4e86\uff0c\u4f46\u6253\u5f97\u901a\u6240\u6709\u8fd0\u8425\u5546\u7684\u7535\u8bdd\u7f51\uff0c\u624d\u662f\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Thinnest AI<\/span>\n                <\/div>\n<div class=\"comment-content\">ThinnestAI is programmable voice AI infrastructure for building human-like AI phone agents at scale. \u2192 100+ languages with seamless multilingual conversations. \u2192 Bring your own LLM, STT, TTS, and telephony providers. \u2192 Native SIP, Twilio, and workflow integrations. \u2192 No-code flow builder with RAG knowledge bases and MCP support. \u2192 Real-time voice agents for support, sales, onboarding, and operations. Start building AI voice agents in minutes \u2014 no credit card required.<\/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&#8217;m Ashutosh, founder of ThinnestAI.<\/p>\n<p>Six months ago I tried building a Hindi voice agent for a friend&#8217;s NBFC. The platforms I tried either spoke broken Hindi, billed in USD with FX markup, or locked me into one model provider with no way to use the API keys I already paid for.<\/p>\n<p>So we built the missing layer. ThinnestAI is voice AI infrastructure :<\/p>\n<p>\u2192 Flat \u20b91.5\/min platform fee \u2014 INR billing.<br \/>\n\u2192 100+ Indian languages \u2014 native STT + TTS pipelines per language, not English-with-translation<br \/>\n\u2192 Optional BYOK on OpenAI \/ Anthropic \/ Google \/ Deepgram \/ Sarvam \/ Cartesia \/ ElevenLabs \/ AssemblyAI \u2014 your keys, your provider invoice<br \/>\n\u2192 Native Twilio + Vobiz SIP \u2014 your trunk, your number, your DLT registration<br \/>\n\u2192 No-code flow editor, RAG knowledge bases, MCP server, REST + Python + JS SDKs<br \/>\n\u2192 100+ Tools and Integrations<\/p>\n<p>Target: product, support, and growth teams at Indian banks, NBFCs, insurers, BPOs, edtech, healthtech, D2C, and logistics.<\/p>\n<p>Free trial: 50 voice minutes + 200 chat messages, no card.<\/p>\n<p>Three things I&#8217;d love feedback on:<br \/>\n1. Pricing \u2014 is \u20b91.5\/min the right shape, or would teams prefer credit packs \/ annual prepay?<br \/>\n2. Language gaps \u2014 comment your language + use case and I&#8217;ll prioritize the roadmap.<br \/>\n3. Missing integrations \u2014 we ship Razorpay, Slack, Notion, Google Sheets, n8n today. What would unblock you?<\/p>\n<p>Happy to extend trial credits for Hunters who share a use case \u2014 reply with what you&#8217;re building.<\/p>\n<p>\u2014 Ashutosh<\/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\/@ashutosh_thinnest\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashutosh_thinnest<\/a>&nbsp;Congrats on the launch Ashutosh. Interesting tool. Could this be localized into different languages\/countries or is your Tam just India?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@ashutosh_thinnest\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ashutosh_thinnest<\/a>&nbsp;<\/p>\n<p>Hey Ashutosh, congrats on launching \ud83d\udc4b <\/p>\n<p>The BYOK + MCP combo is the right call &#8211; most voice infra locks you into one provider. Curious: does the MCP server expose flows to external clients, or is the agent acting as MCP client consuming external tools? That&#8217;s the line between &#8220;voice product&#8221; and &#8220;voice infra&#8221; for me.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Will be watching this. We use a voice agent and will need to have it in other languages. Congrats on your launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@midori_verity\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@midori_verity<\/a>&nbsp;Thanks Midori, really appreciate 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 Ashutosh, went through Thinnest&#8217;s site and the broken-Hindi-voice-agent story honestly hit home. one thing I wanted to ask, with BYO STT\/TTS across 100+ languages, are there benchmarks on which Hindi-English code-mix setups hold up in production? Indian users switch mid-sentence and that&#8217;s usually where these break.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@axlerodd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@axlerodd<\/a>&nbsp;<br \/>Good question \u2014 and you&#8217;re testing the right thing. Mid-sentence switching is exactly where code-mix lives or dies, and it&#8217;s a far better stress test than monolingual accuracy numbers.<\/p>\n<p>The way we&#8217;ve set this up: for Hindi-English agents we run Sarvam Saaras v3, and that&#8217;s a deliberate choice, not a default. Saaras v3 is trained code-mix-first &#8211; a million hours of Hinglish in the training set and built to hold word boundaries across the switch instead of forcing an utterance into a single language. That&#8217;s the part that matters for the failure mode you named. A language-locked Deepgram or Whisper config, however carefully tuned, tends to break right at the switch points, because the model is being asked to work outside the distribution it was trained on.<br \/>On published code-mix benchmarks specifically \u2014 that&#8217;s a genuinely under-measured corner of the space, happy to go deeper if useful.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/JLIJUPEJON7JNI\" class=\"app-title\">calog.cc<\/a><\/p>\n<div class=\"one-liner\">Chat-based calorie tracker that actually knows desi food<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">87<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>calog.cc \u662f\u4e00\u6b3e\u57fa\u4e8eAI\u804a\u5929\u7684\u5361\u8def\u91cc\u8ffd\u8e2a\u5668\uff0c\u4e13\u95e8\u89e3\u51b3\u5357\u4e9a\u996e\u98df\uff08\u5982Roti\u3001Qeema\uff09\u5728\u4e3b\u6d41\u5e94\u7528\u4e2d\u65e0\u6cd5\u51c6\u786e\u8bb0\u5f55\u7684\u95ee\u9898\uff0c\u7528\u6237\u53ea\u9700\u8f93\u5165\u6216\u62cd\u7167\u5373\u53ef\u83b7\u5f97\u7cbe\u51c6\u7684\u5361\u8def\u91cc\u548c\u5b8f\u91cf\u8425\u517b\u7d20\u6570\u636e\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/32e3a146-0169-4c43-a06c-3736b719fc4b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1b1787c2-597f-4568-88ff-ebf2050ab057.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c7e2336f-0185-44fe-a3a4-b6232906070a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f294b082-432d-4ce8-a84b-71048187a16a.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\/f8248117-30e5-4113-b72c-ae4cd45222e3.jpeg?auto=format\" data-video-url=\"https:\/\/youtube.com\/shorts\/TUlxRw352LM?feature=share\"><source src=\"https:\/\/youtube.com\/shorts\/TUlxRw352LM?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<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5361\u8def\u91cc\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u5357\u4e9a\u996e\u98df<\/span><br \/>\n            <span class=\"tag\">\u996e\u98df\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u804a\u5929\u5f0f\u8f93\u5165<\/span><br \/>\n            <span class=\"tag\">\u62cd\u7167\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u5b8f\u91cf\u8425\u517b\u7d20<\/span><br \/>\n            <span class=\"tag\">\u6e10\u8fdb\u5f0fWeb\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u51cf\u8102<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\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\u79f0\u8d5e\u5176\u89e3\u51b3\u4e86\u5357\u4e9a\u996e\u98df\u96be\u4ee5\u8ffd\u8e2a\u7684\u75db\u70b9\u3002\u6709\u7528\u6237\u8be2\u95ee\u4e0b\u8f7d\u65b9\u5f0f\uff0c\u5f00\u53d1\u8005\u56de\u5e94\u4e3aPWA\u5e94\u7528\u65e0\u9700\u4e0b\u8f7d\u3002\u53e6\u6709\u7528\u6237\u5efa\u8bae\u589e\u52a0\u4f4e\u8102\u70f9\u996a\u63d0\u793a\uff0c\u5f00\u53d1\u8005\u8868\u793a\u53ef\u5bf9\u8bdd\u83b7\u53d6\u5efa\u8bae\uff0c\u5e76\u4f1a\u5c06\u6b64\u529f\u80fd\u52a0\u5165\u672a\u6765\u89c4\u5212\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                calog.cc\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u53c8\u4e00\u4e2a\u5361\u8def\u91cc\u8ba1\u6570\u5668\u201d\uff0c\u800c\u5728\u4e8e\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u4e3b\u6d41\u5065\u8eab\u5e94\u7528\u957f\u671f\u5ffd\u7565\u7684\u7ec6\u5206\u5e02\u573a\u2014\u2014\u5357\u4e9a\u996e\u98df\u6587\u5316\u5708\u3002\u5176\u201cAI\u804a\u5929\u5f0f\u8bb0\u5f55\u201d\u672c\u8d28\u662f\u964d\u4f4e\u4e86\u6587\u5316\u5dee\u5f02\u5e26\u6765\u7684\u4f7f\u7528\u95e8\u69db\uff1a\u7528\u6237\u4e0d\u7528\u5b66\u4e60\u201c\u4e00\u4e2a\u9995=\u51e0\u514b\u78b3\u6c34\u201d\uff0c\u53ea\u9700\u8bf4\u201c\u5403\u4e86\u4e24\u5f20Roti\u201d\uff0cAI\u4fbf\u80fd\u81ea\u52a8\u89e3\u6790\u3002\u8fd9\u79cd\u201c\u5373\u8bf4\u5373\u5f97\u201d\u7684\u4f53\u9a8c\uff0c\u6bd4\u624b\u52a8\u4ece\u6570\u636e\u5e93\u5927\u6d77\u635e\u9488\u8981\u9ad8\u6548\u5f97\u591a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u76ee\u524d\u4ecd\u5904\u4e8e\u65e9\u671f\u9636\u6bb5\uff08\u4ec533\u4e2a\u771f\u5b9e\u7528\u6237\uff09\uff0c\u5176\u6838\u5fc3\u7ade\u4e89\u529b\u201cAI\u5bf9\u5357\u4e9a\u98df\u7269\u7406\u89e3\u7684\u51c6\u786e\u6027\u201d\u5c1a\u672a\u7ecf\u8fc7\u5927\u89c4\u6a21\u9a8c\u8bc1\u3002\u5982\u679c\u7528\u6237\u5728\u8fde\u7eed\u8f93\u5165\u201cChicken Karahi\u201d\u3001\u201cDaal Chawal\u201d\u540e\uff0cAI\u7ed9\u51fa\u7684\u4f30\u7b97\u503c\u4e0e\u5b9e\u9645\u5dee\u5f02\u8fc7\u5927\uff0c\u4fe1\u4efb\u611f\u4f1a\u8fc5\u901f\u5d29\u584c\u3002\u6b64\u5916\uff0cPWA\u5f62\u6001\u867d\u7136\u964d\u4f4e\u4e86\u83b7\u5ba2\u6210\u672c\uff0c\u4f46\u4e5f\u610f\u5473\u7740\u5728\u624b\u673a\u539f\u751f\u529f\u80fd\uff08\u5982\u5065\u5eb7\u6570\u636e\u540c\u6b65\u3001\u901a\u77e5\u63a8\u9001\uff09\u4e0a\u6709\u6240\u59a5\u534f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u201c\u9510\u610f\u201d\u5728\u4e8e\uff1acalog.cc\u6ca1\u6709\u8bd5\u56fe\u505a\u5927\u800c\u5168\u7684\u5168\u7403\u6570\u636e\u5e93\uff0c\u800c\u662f\u9009\u62e9\u7528AI\u6a21\u578b\u53bb\u7406\u89e3\u4e00\u4e2a\u7279\u5b9a\u6587\u5316\u5708\u7684\u98df\u7269\u3002\u8fd9\u79cd\u201c\u5c0f\u5207\u53e3\u3001\u6df1\u5782\u76f4\u201d\u7684\u6253\u6cd5\uff0c\u5982\u679c\u80fd\u901a\u8fc7\u7528\u6237\u53cd\u9988\u6301\u7eed\u8fed\u4ee3\u6a21\u578b\u7cbe\u5ea6\uff0c\u5c31\u6709\u53ef\u80fd\u4ece\u201c\u6709\u8da3\u7684\u5c0f\u5de5\u5177\u201d\u8715\u53d8\u4e3a\u201c\u7279\u5b9a\u7fa4\u4f53\u7684\u521a\u9700\u4ea7\u54c1\u201d\u3002\u4f46\u82e5AI\u80fd\u529b\u4ec5\u662f\u8c03\u7528\u901a\u7528\u5927\u6a21\u578b\u505a\u5173\u952e\u8bcd\u6620\u5c04\uff0c\u6ca1\u6709\u9488\u5bf9\u5357\u4e9a\u70f9\u996a\u4e2d\u201c\u6cb9\u3001\u9999\u6599\u53d8\u91cf\u5927\u201d\u7684\u7279\u70b9\u505a\u4e13\u95e8\u4f18\u5316\uff0c\u90a3\u5b83\u4f9d\u7136\u53ea\u662f\u4e2a\u201c\u770b\u8d77\u6765\u5bf9\u53e3\u201d\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\">calog.cc<\/span>\n                <\/div>\n<div class=\"comment-content\">Most calorie apps fail with desi food. Search &#8220;roti&#8221; \u2014 wrong results. Qeema doesn&#8217;t exist. Chai calories are way off. calog.cc fixes this. Type what you ate or snap a photo \u2014 AI estimates calories, protein and macros instantly. No food database. No forms. Just chat. Pre-loaded with Pakistani food. Tracks workouts too. Weekly fat loss chart to stay consistent. Free. No credit card. Works on mobile. Try without signing up https:\/\/calog.cc\/try<\/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 Zair here, maker of calog.cc.<br \/>\nI built this for myself. I&#8217;m Pakistani, working from home, trying to lose fat \u2014 and every calorie app I tried had no idea what I was eating. Roti, qeema, daal, chai \u2014 none of it tracked accurately.<br \/>\nSo I built my own. Chat-based, AI-powered, pre-tuned for desi food. You just type what you ate and get instant macros. No hunting through a food database.<br \/>\nIt&#8217;s been live for a few months with ~33 real users. Still early, still improving. Today felt like the right time to share it more widely.<br \/>\nWould love your honest feedback \u2014 especially from anyone who eats South Asian food and has struggled with calorie tracking. Ask me anything! \ud83d\ude4f<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! \ud83d\ude80 Quick question: I saw a pop-up to download the app on my PC earlier, but it disappeared and I can&#8217;t find the install option anymore. How can I download it now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@shivanshumishra\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shivanshumishra<\/a>&nbsp;Hey Shivanshu, thanks for checking it out! Since <a href=\"http:\/\/calog.cc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">calog.cc<\/a> is a Progressive Web App (PWA), that pop-up was just your browser asking if you wanted to install it locally.<\/p>\n<p>If you are on Chrome or Edge on your PC, you can easily pull that option back up. Just look at the right side of your URL address bar. You should see a little monitor icon with an arrow in it next to the bookmark star. If you don&#8217;t see that icon, click the three dots menu in the top right corner of your browser window and look for the &#8216;Install <a href=\"http:\/\/calog.cc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">calog.cc<\/a>&#8216; option. Let me know if you manage to find 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><a href=\"https:\/\/www.producthunt.com\/@zairabbas\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"zairabbas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@zairabbas<\/a> Really cool seeing you build something from a personal problem first. Does the app also suggest healthier ways to prepare desi meals like using less oil or lighter ingredient alternatives or is the focus mainly on tracking calories and macros right now?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@marc_du_plessis\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marc_du_plessis<\/a>&nbsp;Hey Marc, thanks for the question! Right now, the core focus is purely on making tracking as frictionless as possible through chat, so it just logs whatever you tell it you ate.<\/p>\n<p>However, you can actually use the chat to ask for advice. If you ask something like &#8216;how can I make my chicken karahi lower calorie?&#8217; or &#8216;what should I have for a healthy snack?&#8217;, the built-in coach will give you suggestions based on your dietary settings and your remaining calories for the day. That advice mode doesn&#8217;t log anything to your timeline, it just acts as a guide.<\/p>\n<p>I really like the idea of proactive prep tips though, especially since desi cooking can hide a lot of sneaky calories in oils and ghee. I will definitely add that to the roadmap for future updates<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! Love this idea. I\u2019m not originally from the UK and tracking food from my country has always been surprisingly difficult. Most apps just don\u2019t get it. Really nice to see someone building for this.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nathalia_colling\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nathalia_colling<\/a>&nbsp;Thank you so much for the support, Nathalia! I completely get your frustration. Most major fitness apps are heavily catered to standard Western diets. The moment you eat a traditional or cultural meal, the entire tracking experience breaks down because you have to guess individual ingredients or look through a broken database.<\/p>\n<p>While I pre-tuned this version specifically for South Asian and Pakistani food, the underlying AI chat model is actually pretty flexible with global cuisines. It is really encouraging to hear that this problem resonates outside the South Asian community too. Really appreciate you stopping by to share that!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>If you all don&#8217;t want to sign up and just want to try it first, you can try it from this link:<br \/><a href=\"https:\/\/calog.cc\/try\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/calog.cc\/try<\/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<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-05-19 PH\u70ed\u699c | 2026-05-19 #1 Polly [&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-227","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/227","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=227"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/227\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}