{"id":312,"date":"2026-08-14T10:49:09","date_gmt":"2026-08-14T02:49:09","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/14\/2026-08-13\/"},"modified":"2026-08-14T10:49:09","modified_gmt":"2026-08-14T02:49:09","slug":"2026-08-13","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/08\/14\/2026-08-13\/","title":{"rendered":"PH\u70ed\u699c | 2026-08-13"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"zh-CN\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n    <title>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-08-13<\/title><\/p>\n<style>\n        \/* --- \u5168\u5c40\u91cd\u7f6e\u4e0e\u5b57\u4f53 --- *\/\n        :root {\n            --ph-orange: #FF6154;\n            --text-main: #21293C;\n            --text-secondary: #4B587C;\n            --bg-ai: #F7F7F9;\n            --border-color: #E6E6E6;\n        }<\/p>\n<p>        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n            color: var(--text-main);\n            background-color: #ffffff;\n            line-height: 1.6;\n            margin: 0;\n            padding: 20px;\n        }<\/p>\n<p>        .container {\n            max-width: 800px;\n            margin: 0 auto;\n        }<\/p>\n<p>        \/* --- \u5361\u7247\u6837\u5f0f --- *\/\n        .app-card {\n            border-bottom: 1px solid var(--border-color);\n            padding-bottom: 40px;\n            margin-bottom: 40px;\n        }<\/p>\n<p>        \/* --- 1. \u5934\u90e8\u533a\u57df --- *\/\n        .app-header {\n            display: flex;\n            align-items: flex-start;\n            gap: 16px;\n            margin-bottom: 20px;\n        }<\/p>\n<p>        .rank {\n            font-size: 24px;\n            font-weight: 300;\n            color: #999;\n            min-width: 30px;\n            padding-top: 4px;\n        }<\/p>\n<p>        .title-group {\n            flex: 1;\n        }<\/p>\n<p>        .app-title {\n            font-size: 24px;\n            font-weight: 800;\n            margin: 0 0 4px 0;\n            color: var(--text-main);\n            text-decoration: none;\n            display: inline-block;\n        }<\/p>\n<p>        .app-title:hover {\n            color: var(--ph-orange);\n            text-decoration: underline;\n        }<\/p>\n<p>        .vote-btn {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 8px 12px;\n            background: #fff;\n            min-width: 60px;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.05);\n        }<\/p>\n<p>        .vote-arrow {\n            color: var(--ph-orange);\n            font-size: 14px;\n            margin-bottom: -2px;\n        }<\/p>\n<p>        .vote-count {\n            font-weight: 600;\n            font-size: 14px;\n        }<\/p>\n<p>        \/* --- 2. \u5347\u7ea7\u7248\u5a92\u4f53\u753b\u5eca (\u5173\u952e\u4fee\u6539) --- *\/\n        .media-gallery {\n            display: flex;\n            gap: 16px;\n            overflow-x: auto; \/* \u5141\u8bb8\u6a2a\u5411\u6eda\u52a8 *\/\n            padding-bottom: 16px; \/* \u7559\u51fa\u6eda\u52a8\u7a7a\u95f4 *\/\n            scroll-snap-type: x mandatory; \/* \u6eda\u52a8\u5438\u9644\u6548\u679c *\/\n            -webkit-overflow-scrolling: touch; \/* iOS \u5e73\u6ed1\u6eda\u52a8 *\/\n            margin-bottom: 20px;<\/p>\n<p>            \/* \u9690\u85cf\u9ed8\u8ba4\u6eda\u52a8\u6761\u4f46\u4fdd\u7559\u529f\u80fd (Firefox) *\/\n            scrollbar-width: thin;\n            scrollbar-color: #ddd transparent;\n        }<\/p>\n<p>        \/* Webkit \u6eda\u52a8\u6761\u6837\u5f0f\u4f18\u5316 *\/\n        .media-gallery::-webkit-scrollbar {\n            height: 6px;\n        }\n        .media-gallery::-webkit-scrollbar-track {\n            background: transparent;\n        }\n        .media-gallery::-webkit-scrollbar-thumb {\n            background-color: #eee;\n            border-radius: 10px;\n        }<\/p>\n<p>        .media-item-wrapper {\n            flex: 0 0 auto; \/* \u9632\u6b62\u88ab\u538b\u7f29 *\/\n            width: 80%;     \/* \u79fb\u52a8\u7aef\u9ed8\u8ba4\u9732\u51fa\u4e00\u70b9\u4e0b\u4e00\u5f20\uff0c\u63d0\u793a\u53ef\u6ed1\u52a8 *\/\n            max-width: 500px; \/* \u684c\u9762\u7aef\u6700\u5927\u5bbd\u5ea6 *\/\n            aspect-ratio: 16\/9; \/* \u7edf\u4e00\u6bd4\u4f8b *\/<\/p>\n<p>            position: relative;\n            border-radius: 12px;\n            overflow: hidden;\n            border: 1px solid rgba(0,0,0,0.08);\n            background-color: #f5f5f5;\n            scroll-snap-align: center; \/* \u6eda\u52a8\u505c\u6b62\u65f6\u5c45\u4e2d *\/\n        }<\/p>\n<p>        .media-content {\n            width: 100%;\n            height: 100%;\n            object-fit: cover; \/* \u586b\u5145\u5bb9\u5668 *\/\n            display: block;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u6807\u7b7e\u7279\u6b8a\u5904\u7406 *\/\n        video.media-content {\n            background-color: #000;\n            cursor: pointer;\n        }<\/p>\n<p>        \/* \u5982\u679c\u53ea\u67091\u4e2a\u5a92\u4f53\uff0c\u4e0d\u8981\u6eda\u52a8\uff0c\u4e14\u5bbd\u5ea6\u81ea\u9002\u5e94 *\/\n        .media-gallery.single-item .media-item-wrapper {\n            width: 100%;\n            max-width: 100%;\n        }<\/p>\n<p>        \/* --- 3. \u63cf\u8ff0\u4e0e\u6807\u7b7e --- *\/\n        .one-liner {\n            font-size: 18px;\n            color: var(--text-secondary);\n            margin-bottom: 12px;\n            font-weight: 500;\n        }<\/p>\n<p>        .tags-container {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 8px;\n            margin-bottom: 24px;\n        }<\/p>\n<p>        .tag {\n            font-size: 12px;\n            color: var(--text-secondary);\n            background-color: #F2F2F2;\n            padding: 4px 10px;\n            border-radius: 20px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }<\/p>\n<p>        \/* --- 4. AI \u6458\u8981\u533a --- *\/\n        .ai-section {\n            background-color: var(--bg-ai);\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 20px;\n            border-left: 4px solid var(--ph-orange);\n        }<\/p>\n<p>        .ai-title {\n            font-size: 14px;\n            font-weight: 700;\n            color: var(--text-main);\n            margin: 0 0 12px 0;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }<\/p>\n<p>        .ai-content {\n            font-size: 15px;\n            color: #333;\n            margin-bottom: 0;\n            line-height: 1.7;\n        }<\/p>\n<p>        \/* --- 5. \u8bc4\u8bba\u533a --- *\/\n        .reviews-section {\n            margin-top: 10px;\n        }<\/p>\n<p>        .review-item {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .review-avatar {\n            font-size: 18px;\n            margin-top: 2px;\n            min-width: 24px;\n        }<\/p>\n<p>        .review-bubble {\n            background: #fff;\n            border: 1px solid var(--border-color);\n            padding: 8px 12px;\n            border-radius: 0 12px 12px 12px;\n            color: var(--text-secondary);\n            line-height: 1.5;\n        }<\/p>\n<p>        .review-author {\n            font-weight: 700;\n            color: var(--text-main);\n            margin-right: 4px;\n            font-style: normal;\n        }<\/p>\n<p>        .comments-section {\n            margin-top: 30px;\n            border-top: 1px solid var(--border-color);\n            padding-top: 20px;\n        }<\/p>\n<p>        .comments-toggle {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 12px 20px;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            width: 100%;\n            font-size: 14px;\n            font-weight: 600;\n            color: var(--text-main);\n            transition: all 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle:hover {\n            background-color: #e9ecef;\n        }<\/p>\n<p>        .comments-toggle .toggle-arrow {\n            font-size: 18px;\n            transition: transform 0.3s ease;\n        }<\/p>\n<p>        .comments-toggle.open .toggle-arrow {\n            transform: rotate(180deg);\n        }<\/p>\n<p>        .comments-container {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.5s ease;\n            margin-top: 15px;\n        }<\/p>\n<p>        .comments-container.open {\n            max-height: 800px;\n            overflow: auto;\n        }<\/p>\n<p>        .comment-item {\n            background-color: #fff;\n            border: 1px solid var(--border-color);\n            border-radius: 8px;\n            padding: 16px;\n            margin-bottom: 12px;\n            font-size: 14px;\n        }<\/p>\n<p>        .comment-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-start;\n            margin-bottom: 8px;\n        }<\/p>\n<p>        .comment-author {\n            font-weight: 600;\n            color: var(--text-main);\n            margin-right: 8px;\n        }<\/p>\n<p>        .comment-content {\n            color: var(--text-secondary);\n            line-height: 1.5;\n            margin-bottom: 10px;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        .comment-content p {\n            margin: 0;\n            word-break: break-word;\n            word-wrap: break-word;\n            overflow-wrap: anywhere;\n            white-space: normal;\n        }<\/p>\n<p>        \/* \u4f18\u5316\u8868\u60c5\u7b26\u53f7\u663e\u793a *\/\n       .emoji {\n            display: inline;\n            max-width: 15px;\n            overflow-wrap: normal;\n        }<\/p>\n<p>        .comment-actions {\n            display: flex;\n            align-items: center;\n            gap: 16px;\n            font-size: 12px;\n            color: var(--text-secondary);\n        }<\/p>\n<p>        .comment-vote {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n            cursor: pointer;\n        }<\/p>\n<p>        .comment-replies {\n            margin-top: 12px;\n            margin-left: 20px;\n            padding-left: 12px;\n            border-left: 2px solid var(--border-color);\n        }<\/p>\n<p>        .reply-item {\n            background-color: #f8f9fa;\n            border: 1px solid var(--border-color);\n            border-radius: 6px;\n            padding: 12px;\n            margin-bottom: 8px;\n            font-size: 13px;\n        }<\/p>\n<p>        .reply-content {\n            color: var(--text-secondary);\n            line-height: 1.4;\n            margin-bottom: 6px;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }<\/p>\n<p>        \/* --- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846\u6837\u5f0f --- *\/\n        .modal {\n            display: none;\n            position: fixed;\n            z-index: 1000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            overflow: auto;\n            transition: opacity 0.3s ease;\n        }<\/p>\n<p>        .modal-content {\n            display: block;\n            max-width: 90%;\n            max-height: 90vh;\n            margin: 5vh auto;\n            object-fit: contain;\n            animation: zoom 0.3s;\n        }<\/p>\n<p>        @keyframes zoom {\n            from {transform: scale(0.8); opacity: 0;}\n            to {transform: scale(1); opacity: 1;}\n        }<\/p>\n<p>        .close {\n            position: absolute;\n            top: 20px;\n            right: 35px;\n            color: #fff;\n            font-size: 40px;\n            font-weight: bold;\n            transition: 0.3s;\n            cursor: pointer;\n            \/* \u6dfb\u52a0\u89e6\u63a7\u4f18\u5316 *\/\n            padding: 10px;\n            line-height: 1;\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        .close:hover,\n        .close:focus {\n            color: #bbb;\n            text-decoration: none;\n        }<\/p>\n<p>        \/* \u89c6\u9891\u70b9\u51fb\u63d0\u793a\u6837\u5f0f *\/\n        .video-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background-color: rgba(0, 0, 0, 0.2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            touch-action: manipulation;\n            cursor: pointer;\n        }<\/p>\n<p>        .media-item-wrapper:hover .video-overlay {\n            opacity: 1;\n        }<\/p>\n<p>        \/* \u4e3a\u89e6\u6478\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u6548\u679c *\/\n        .media-item-wrapper:active .video-overlay {\n            opacity: 0.8;\n        }<\/p>\n<p>        .play-icon {\n            width: 80px;\n            height: 80px;\n            background-color: rgba(255, 255, 255, 0.9);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            color: var(--ph-orange);\n            font-size: 24px;\n            font-weight: bold;\n            \/* \u89e6\u63a7\u4f18\u5316 *\/\n            user-select: none;\n            -webkit-user-select: none;\n        }<\/p>\n<p>        \/* --- \u54cd\u5e94\u5f0f\u5fae\u8c03 --- *\/\n        @media (min-width: 600px) {\n            .media-item-wrapper {\n                width: 60%; \/* \u684c\u9762\u7aef\u7a0d\u5fae\u7a84\u4e00\u70b9\uff0c\u5c55\u793a\u66f4\u591a\u5f20 *\/\n                scroll-snap-align: start; \/* \u684c\u9762\u7aef\u9760\u5de6\u5bf9\u9f50 *\/\n            }\n        }<\/p>\n<p>        \/* \u79fb\u52a8\u8bbe\u5907\u54cd\u5e94\u5f0f\u4f18\u5316 *\/\n        @media (max-width: 599px) {\n            \/* \u6a21\u6001\u6846\u4f18\u5316 *\/\n            .modal-content {\n                max-width: 95%;\n                max-height: 85vh;\n                margin: 10vh auto;\n            }<\/p>\n<p>            .close {\n                top: 10px;\n                right: 20px;\n                font-size: 30px;\n                \/* \u589e\u5927\u70b9\u51fb\u533a\u57df *\/\n                padding: 15px;\n            }<\/p>\n<p>            \/* \u89c6\u9891\u64ad\u653e\u56fe\u6807\u4f18\u5316 *\/\n            .play-icon {\n                width: 60px;\n                height: 60px;\n                font-size: 18px;\n            }<\/p>\n<p>            \/* \u786e\u4fdd\u5a92\u4f53\u5185\u5bb9\u5728\u5c0f\u5c4f\u5e55\u4e0a\u6b63\u786e\u663e\u793a *\/\n            .media-content {\n                object-fit: cover;\n            }\n        }\n    <\/style>\n<p><\/head><br \/>\n<body><\/p>\n<div class=\"container\">\n<h1 style=\"text-align:center; margin-bottom:40px; font-weight:900;\">PH\u70ed\u699c | 2026-08-13<\/h1>\n<p>    <!-- \u5c55\u793aapp\u5361\u7247 --><\/p>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#1<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3OE7IF5ZP7LPWJ\" class=\"app-title\">Kane CLI<\/a><\/p>\n<div class=\"one-liner\">Natural language browser &#038; mobile app tests from terminal<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">378<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kane CLI \u662f\u4e00\u6b3e\u9762\u5411\u5f00\u53d1\u8005\u4e0eAI\u7f16\u7801\u4ee3\u7406\u7684\u81ea\u7136\u8bed\u8a00\u6d4b\u8bd5\u5de5\u5177\uff0c\u8ba9\u7528\u6237\u7528\u4e00\u53e5\u65e5\u5e38\u82f1\u8bed\u63cf\u8ff0\u6d4b\u8bd5\u76ee\u6807\uff0c\u5373\u53ef\u5728\u771f\u5b9eChrome\u6d4f\u89c8\u5668\u6216\u79fb\u52a8\u7aef\u6a21\u62df\u5668\u4e2d\u81ea\u52a8\u6267\u884c\u5e76\u8fd4\u56de\u201c\u901a\u8fc7\/\u5931\u8d25\u201d\u7ed3\u8bba\u53ca\u53ef\u5206\u4eab\u7684\u8bc1\u636e\u5305\uff0c\u7701\u53bb\u7f16\u5199\u548c\u7ef4\u62a4\u9009\u62e9\u5668\u7684\u7e41\u7410\u5de5\u4f5c\uff0c\u89e3\u51b3\u201cAI\u5199\u4ee3\u7801\u5feb\u3001\u9a8c\u8bc1\u6162\u201d\u7684\u4fe1\u4efb\u74f6\u9888\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\/e5c5b6bb-38a2-4eb3-898d-9b3c4958dc77.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/7d09236f-d282-404d-a5ca-53df123bfdf2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/02ca7739-f047-4de0-bd2d-a410a6b9112f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/29978990-5412-4169-baa8-198d8b8bbbb3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4e5e1298-d2a5-44bf-9279-ef50e045c749.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/770aec5c-846d-4582-a96a-35f20624cad2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e727466c-20a7-44ab-a0e1-63b890ba6694.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4c585d76-5c2d-430e-8798-357b008d1d31.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ec096799-cecb-4e69-9e87-b7eb49e66192.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f72c782f-6f98-4caf-8c21-acf4d20d2f02.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d39b8590-73d0-401f-adcb-c2e27e134c36.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\/73b07213-b530-4813-8fb6-aebbcfeae0bd.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=sE_mp_TMjFY\"><source src=\"https:\/\/www.youtube.com\/watch?v=sE_mp_TMjFY\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6d4b\u8bd5\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u79fb\u52a8\u7aef\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8d28\u91cf\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u8bc1\u636e\u5305<\/span><br \/>\n            <span class=\"tag\">\u56de\u5f52\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">Agent\u539f\u751f<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u8bc1\u636e\u5305+\u786e\u5b9a\u6027\u56de\u653e\u201d\u6a21\u5f0f\uff0c\u8ba4\u4e3a\u89e3\u51b3\u4e86AI\u751f\u6210\u4ee3\u7801\u540e\u7684\u9a8c\u8bc1\u75db\u70b9\u3002\u6709\u6548\u95ee\u9898\u5305\u62ec\uff1aPRD\u4e0a\u4e0b\u6587\u7406\u89e3\u4e0a\u9650\uff08\u5b98\u65b9\u56de\u5e94\u79f0\u9760\u573a\u666f\u5206\u89e3\u800c\u975e\u957f\u63d0\u793a\uff09\u3001\u4e0eClaude in Chrome\u7684\u5dee\u5f02\uff08\u56de\u5e94\u5f3a\u8c03\u5bfc\u51fa\u786e\u5b9a\u6027\u7528\u4f8b\u4e0eCI\u96c6\u6210\uff09\u3002\u65e9\u671f\u7528\u6237\u8fd8\u5c06\u5176\u7528\u4e8ePR CI\u5173\u952e\u8def\u5f84\u68c0\u67e5\u548c\u81ea\u52a8\u5316\u65e5\u5e38\u4e8b\u52a1\uff0c\u60ca\u559c\u7528\u4f8b\u662f\u5496\u5561\u8ba2\u8d2d\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                Kane CLI\u8e29\u4e2d\u7684\u4e0d\u662f\u201c\u6d4b\u8bd5\u5de5\u5177\u201d\u8d5b\u9053\uff0c\u800c\u662fAI\u7f16\u7a0b\u65f6\u4ee3\u201c\u4fe1\u4efb\u751f\u4ea7\u201d\u7684\u771f\u7a7a\u5730\u5e26\u3002\u5176\u771f\u6b63\u91ce\u5fc3\u5e76\u975e\u66ff\u4ee3Playwright\u6216Selenium\uff0c\u800c\u662f\u5c06\u201c\u8d28\u91cf\u786e\u8ba4\u201d\u4ece\u4eba\u5de5\u4e3b\u89c2\u5224\u65ad\u91cd\u6784\u4e3a\u4e00\u79cd\u53ef\u673a\u5668\u8bfb\u53d6\u3001\u53ef\u8bc1\u636e\u8ffd\u6eaf\u3001\u53ef\u786e\u5b9a\u6027\u56de\u653e\u7684\u5ba2\u89c2\u534f\u8bae\u2014\u2014\u8fd9\u6070\u597d\u662fAI Coding Agent\u89c4\u6a21\u5316\u843d\u5730\u65f6\u552f\u4e00\u7f3a\u5931\u7684\u95ed\u73af\u3002\u4ea7\u54c1\u8bbe\u8ba1\u6709\u51e0\u4e2a\u6781\u4e3a\u5201\u94bb\u7684\u5207\u5165\u70b9\uff1a\u4e00\u662f\u201cAgent\u539f\u751f\u201d\u800c\u975e\u201c\u7528\u6237\u53cb\u597d\u201d\uff0c\u8ba9Claude Code\u7b49\u4ee3\u7406\u80fd\u76f4\u63a5\u6d88\u8d39NDJSON\u8f93\u51fa\u5e76\u81ea\u4e3b\u8fed\u4ee3\uff0c\u610f\u5473\u7740\u5b83\u7ed1\u5b9a\u7684\u662f\u4e0b\u4e00\u4ee3\u5f00\u53d1\u8303\u5f0f\u800c\u975e\u67d0\u4e2aIDE\uff1b\u4e8c\u662f\u201c\u786e\u5b9a\u6027\u56de\u653e\u201d\u7b56\u7565\uff0c\u5c06\u4e00\u6b21\u6027\u7684AI\u63a2\u7d22\u56fa\u5316\u4e3a\u53ef\u91cd\u590d\u6267\u884c\u7684\u56de\u5f52\u8d44\u4ea7\uff0c\u65e2\u89e3\u51b3\u4e86AI\u884c\u4e3a\u7684\u968f\u673a\u6027\uff0c\u53c8\u4e3aCI\/CD\u63d0\u4f9b\u4e86\u5408\u7406\u89e3\u91ca\uff1b\u4e09\u662f\u201c\u672c\u5730\u4f18\u5148+\u514d\u8d39\u8d77\u6b65\u201d\u7684\u83b7\u5ba2\u903b\u8f91\uff0c\u76f4\u63a5\u964d\u4f4e\u4e86\u4f01\u4e1a\u5c1d\u9c9c\u7684\u4fe1\u4efb\u6210\u672c\u3002\u4f46\u98ce\u9669\u540c\u6837\u660e\u663e\uff1a\u81ea\u7136\u8bed\u8a00\u6d4b\u8bd5\u7684\u95e8\u69db\u867d\u4f4e\uff0c\u590d\u6742\u4e1a\u52a1\u6d41\u7684\u72b6\u6001\u7ba1\u7406\u3001\u5f02\u6b65\u903b\u8f91\u548c\u8de8\u57df\u8ba4\u8bc1\u573a\u666f\u7684\u201c\u786e\u5b9a\u6027\u201d\u5c06\u9762\u4e34\u4e25\u5cfb\u8003\u9a8c\uff1b\u4e14\u5e02\u9762\u4e0a\u5df2\u6709Playwright MCP\u7b49\u66ff\u4ee3\u8def\u5f84\uff0c\u82e5Kane\u7684\u667a\u80fd\u751f\u6210\u8d28\u91cf\u4e0e\u624b\u5de5\u7f16\u5199\u7684Playwright\u4ee3\u7801\u5dee\u8ddd\u8fc7\u5927\uff0c\u5219\u201cAI\u751f\u6210\u6d4b\u8bd5\u201d\u53ef\u80fd\u53ea\u662f\u53e6\u4e00\u5c42\u6280\u672f\u503a\u3002\u5176\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\uff0c\u6216\u8bb8\u4e0d\u5728\u4e8e\u81ea\u7136\u8bed\u8a00\u8f6c\u4ee3\u7801\u7684\u6a21\u578b\u80fd\u529b\uff0c\u800c\u5728\u4e8e\u56f4\u7ed5\u201c\u8bc1\u636e\u5305+AC\u8986\u76d6\u7387+\u6d4b\u8bd5\u7ba1\u7406\u5668\u201d\u6784\u5efa\u7684\u8d44\u4ea7\u6c89\u6dc0\u4f53\u7cfb\u2014\u2014\u4f46\u8fd9\u9700\u8981\u8db3\u591f\u7684\u7528\u6237\u89c4\u6a21\u6765\u9a8c\u8bc1\u662f\u5426\u771f\u7684\u4ea7\u51fa\u4e86\u53ef\u91cf\u5316\u7684\u5de5\u7a0b\u6548\u80fd\u63d0\u5347\uff0c\u800c\u975e\u4ec5\u4ec5\u505c\u7559\u5728Demo\u6f14\u793a\u7684\u60ca\u8273\u77ac\u95f4\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\">Kane CLI<\/span>\n                <\/div>\n<div class=\"comment-content\">An agentic quality verifier for developers and AI coding agents. Describe a test in natural language, and Kane CLI runs it in a real Chrome browser and returns pass or fail with shareable proof. No selectors to write. Local-first, free to start.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi, I&#8217;m Jay Singh, Co-Founder of TestMu AI.<\/p>\n<\/p>\n<p>Every technology wave has the same shape. Capability jumps first. Trust catches up later. We saw it with cloud, and we are watching it again with AI.<\/p>\n<\/p>\n<p>The gap we kept seeing<\/p>\n<p>\u26a1 AI writes the code in minutes now<\/p>\n<p>\ud83d\uddb1\ufe0f But someone still has to open the app and confirm it actually works<\/p>\n<p>\u23f3 The building got fast. The assurance never did<\/p>\n<\/p>\n<p>That gap is the defining problem of this era of software, and it is why we built Kane CLI.<\/p>\n<\/p>\n<p>How it closes the loop<\/p>\n<p>\ud83d\udce5 Ingests your source or PRD<\/p>\n<p>\ud83e\udde9 Designs the use cases and test scenarios<\/p>\n<p>\ud83c\udf10 Runs them in a real Chrome browser, or on Android emulators and iOS simulators<\/p>\n<p>\ud83d\udcf8 Returns an evidence pack, AC coverage, and a verdict<\/p>\n<\/p>\n<p>Not just &#8220;did it run&#8221;. Did it work, and can you prove it. \u2705<\/p>\n<\/p>\n<p>We believe the next generation of software teams will not be measured by how fast they build. Everyone will build fast. They will be measured by how fast they can trust what they built. \ud83d\ude80<\/p>\n<\/p>\n<p>Would love to hear how your team is dealing with this gap.<\/p>\n<\/p>\n<p>Learn more: <a href=\"https:\/\/www.testmuai.com\/kane-cli-ph\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.testmuai.com\/kane-cli-ph\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>22<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jay_0687\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jay_0687<\/a>&nbsp;AI has officially reached the stage where it can build the house faster than we can check whether the front door opens. Haha\ud83e\udd23<\/p>\n<\/p>\n<p>That \u201cbuilding got fast, assurance never did\u201d line hits hard. The bottleneck has quietly moved from \u201ccan we build it?\u201d to \u201ccan we actually trust the damn thing?\u201d<\/p>\n<p>And I really like the evidence pack angle. A green checkmark is nice. Proof is better.<\/p>\n<\/p>\n<p>The interesting question for me is what happens when agents can both build and verify at the same speed. That feels like the point where software development stops being a faster version of what we do today and starts becoming something fundamentally different.<\/p>\n<\/p>\n<p>Curious how far Kane can push that 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>Hi, I&#8217;m Shantanu Wali, Head of AI Products at TestMu AI.<\/p>\n<p>Most tools give you a test runner. We built an assurance loop:<\/p>\n<p>\ud83d\udce5 Ingest \u2192 your source, your PRD<\/p>\n<p>\ud83e\udde9 Design \u2192 use cases, acceptance criteria, test scenarios<\/p>\n<p>\u25b6\ufe0f Run \u2192 <a href=\"http:\/\/test.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">test.md<\/a>, executed in a real browser or on a mobile device<\/p>\n<p>\ud83d\udcf8 Evidence \u2192 evidence pack for every run<br \/>\ud83d\udcca Coverage \u2192 how many ACs are covered<\/p>\n<p>\u2705 Verdict \u2192 shipping confidence, backed by proof<\/p>\n<p><strong>Decisions we fought hard for<\/strong><\/p>\n<p>\ud83d\udcbb Local first, running on your own Chrome<br \/>\ud83d\udcac Natural language objectives instead of selectors<br \/>\ud83d\udd27 Autoheal, so cosmetic UI changes never break a flow<br \/>\ud83e\udd16 Agent-native output, so Claude Code or Cursor can call Kane CLI and read the verdict on their own<\/p>\n<p><strong>And starting today, mobile<\/strong> \ud83d\udcf1<br \/>v0.8.1 makes mobile a first-class platform. Same setup, same sessions, same evidence model, now on Android emulators and iOS simulators. Run devices list, pick a target, and the AI reasons about mobile screens the way it reasons about web pages.<\/p>\n<p><strong>For the skeptics<\/strong><br \/>Hacker Mode exports any flow to native<br \/>Playwright code. Never locked in. \ud83d\udd13<\/p>\n<p>Ask me anything technical, I will be here all day.<\/p>\n<p>Learn more:<a href=\"https:\/\/www.testmuai.com\/kane-cli-ph\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> <\/a><a href=\"http:\/\/testmuai.com\/kane-cli-ph\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">testmuai.com\/kane-cli-ph<\/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\/@shantanuwali23\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shantanuwali23<\/a>&nbsp;This is a really interesting approach to AI-powered testing. I especially like the idea of combining test execution with evidence and coverage, rather than simply reporting whether a test passed or failed.<\/p>\n<p>Making mobile testing a first-class platform is also a great step, particularly with Android emulators and iOS simulators using the same workflow. The local-first approach and autoheal capabilities sound especially useful for teams that want reliable automated testing without constantly updating selectors after small UI changes.<\/p>\n<p>The assurance loop from requirements through to a confidence-backed verdict makes the product feel much more practical for real-world development workflows. Looking forward to seeing how the mobile capabilities evolve!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi everyone, I&#8217;m one of the engineers building Kane CLI. Good to finally have this out in the world.<\/p>\n<p>The part I&#8217;m personally most proud of: <strong>we built it agent-native from day one<\/strong>. I&#8217;ve spent 2+ years shipping frontend at TestMu AI, and if that taught me anything, it&#8217;s that writing UI was never the slow part, proving it still works after every change is. AI has made the writing nearly instant, which makes <strong>verification the real bottleneck<\/strong>. So we designed for it: every command can emit machine readable output, meaning it&#8217;s not just humans in a terminal, your coding agent (Claude Code, Cursor, whatever you use) can invoke kane-cli, stream the run, read the verdict, and act on it inside its own loop. AI writes the code, Kane CLI verifies it in a real browser (or on mobile), and the agent gets machine-readable proof back. Closing that loop is what makes autonomous dev workflows actually trustworthy.<\/p>\n<p>The other thing we obsessed over: <strong>a pass has to actually mean something<\/strong>. Every verdict ships with an <strong>evidence pack<\/strong>; screenshots, console logs, network responses; so a green check is never &#8220;the model felt good about it.&#8221; You can see exactly what was verified, and when something fails you&#8217;re not guessing.<\/p>\n<p>It&#8217;s local-first and free to start. Happy to answer any questions in the comments.<\/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>Big day for us at TestMu AI<\/p>\n<p>I have watched Kane CLI come together from the inside, and the part that still gets me is watching it in action. You type what you want verified in natural language, a real Chrome window opens, it works through the flow, and comes back with an evidence pack and a verdict. No selectors written. No framework set up.<\/p>\n<p>And the timing of this launch could not be better. As of today it does the same thing on Android emulators and iOS simulators. Same commands, same evidence, now on mobile. <\/p>\n<p>The team has poured months into getting the details right, determinism, Autoheal, agent-native output, and it shows.<\/p>\n<p>Proud of this one. If you ship with AI agents, or you are just tired of clicking through your app before every release, give it a run. First verdict lands in minutes. <\/p>\n<p>Learn more: <a href=\"https:\/\/www.testmuai.com\/kane-cli-ph\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.testmuai.com\/kane-cli-ph\/<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How much context can Kane understand from a PRD before generating the actual browser scenarios?<\/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\/@nuseir_yassin1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nuseir_yassin1<\/a>&nbsp;Kane doesn&#8217;t read the PRD as one giant prompt. Durable context &#8211; domain terms, roles, business rules &#8211; goes into a project context file that applies to every run. Each scenario is then one objective, with multiple acceptance criteria. The constraint isn&#8217;t context window, it&#8217;s decomposition.<\/p>\n<\/p>\n<p>The limit isn&#8217;t how long your PRD is, it&#8217;s how well it decomposes into self-contained scenarios.<\/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>Hi, I&#8217;m Mudit Singh, Co-Founder of TestMu AI.<\/p>\n<p>The thing I love most about Kane CLI: the whole loop works for everyone.<\/p>\n<p>\ud83d\udc68\u200d\ud83d\udcbb <strong>Developers<\/strong> feed it a PRD and get scenarios, runs, and a verdict before the PR<br \/><strong>\u270d\ufe0f Business teams<\/strong> can describe flows in natural language and automate the boring browser stuff<br \/><strong>\ud83e\udd16 AI agents<\/strong> run it to verify their own work and read the verdict straight from the output<br \/><strong>\ud83d\udcf1 Mobile teams<\/strong>, starting today: point the same commands at Android emulators and iOS simulators<\/p>\n<p>Every run leaves an evidence pack. Every verdict is backed by AC coverage. Nothing rests on &#8220;trust me, I checked&#8221;.<\/p>\n<p><strong>Getting started is the easy part<\/strong><\/p>\n<p>The Starter plan is free. One install command, npm, brew, or curl, and your first verdict lands in minutes.<\/p>\n<p>Try it, break it, tell us what is missing. Your feedback this week directly shapes the roadmap.<\/p>\n<p>Learn more:<a href=\"https:\/\/www.testmuai.com\/kane-cli-ph\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> <\/a><a href=\"http:\/\/testmuai.com\/kane-cli-ph\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">testmuai.com\/kane-cli-ph<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Kane CLI is the future of agentic verification systems. <\/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\/@chaitgpt1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chaitgpt1<\/a>&nbsp;Thank you Chaitanya \ud83d\ude4c Agentic verification is exactly the category we are building. The agent builds it, Kane CLI proves it works.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>how is this different from Claude in Chrome?<\/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\/@naima_dar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@naima_dar<\/a>&nbsp;Kane-CLI does everything Claude in Chrome does: drives a real browser from natural language, navigates, fills, clicks, verifies. The difference is what it leaves behind.<\/p>\n<\/p>\n<p>Claude in Chrome reasons its way through the task every time you ask. Kane does that once, then hands you a deterministic test case: exported code, structured NDJSON, per-step logs and screenshots, all persisted to Test Manager. The next thousand runs replay that artifact instead of re-deriving it. Same result every time, in CI, with a real exit code.<\/p>\n<\/p>\n<p>That&#8217;s the future-proofing. Agentic exploration is how you <em>author<\/em> the test; determinism is what makes it a regression suite you can trust six months from now.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>7<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi, I&#8217;m Mayank Bhola, Co-Founder and Head of Products <a href=\"https:\/\/www.producthunt.com\/products\/lambdatest\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"lambdatest\" target=\"_blank\" rel=\"noopener\">@TestMu AI<\/a> <\/p>\n<p>It started with a pattern that would not go away. Agent ships the code. PR merges. Tests pass. Three days later someone opens the app and the button does not work. <\/p>\n<p>Everyone kept asking how to make agents write better code. Wrong question. Agents could already open browsers and check their work. The output was the problem. Different result every run. No verdict you could trust. Loop it enough times to be sure and you have burned real money for a maybe.<\/p>\n<p><strong>So we set one non-negotiable bar: determinism<\/strong>  <\/p>\n<p>Same flow, same result, every time. A pass is granted only when the expected state is verified through explicit evidence:<\/p>\n<ul>\n<li>\n<p>DOM state and URL changes<\/p>\n<\/li>\n<li>\n<p>Network responses<\/p>\n<\/li>\n<li>\n<p>Screenshots and console logs<\/p>\n<\/li>\n<li>\n<p>AC coverage behind every verdict<\/p>\n<\/li>\n<\/ul>\n<p><strong>And as of today, that bar holds on mobile too<\/strong> <\/p>\n<p>v0.8.1 brings the same verification contract to Android emulators and iOS simulators. Same evidence, same replay, same verdict you can defend.<\/p>\n<p>This is the layer I wished existed every time a merged PR broke in production. Now it does, on web and mobile.<\/p>\n<p>Break it. Question it. I am here all day. <\/p>\n<p>Learn more:<a href=\"https:\/\/www.testmuai.com\/kane-cli-ph\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> <\/a><a href=\"http:\/\/testmuai.com\/kane-cli-ph\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">testmuai.com\/kane-cli-ph<\/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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Testing across browsers and real devices already creates plenty of complexity. Adding agentic reasoning could make that easier to manage. <\/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\/@bastienrenard\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bastienrenard<\/a>&nbsp;That&#8217;s exactly the bet \ud83d\ude4c The matrix is rarely the hard part, maintaining it is. One DOM change and you&#8217;re patching selectors across every target.<\/p>\n<\/p>\n<p>Agentic reasoning keeps the objective stable and lets the agent resolve the path each run. Which is also why every Kane CLI run ships with evidence, not just a green tick \u2705<\/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 is super useful, especially with how much code is being written by AI now.<\/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\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Thanks Henry! That is exactly the gap. AI made writing code fast, verifying it stayed manual. Kane CLI closes that 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>What has been the most surprising use case you&#8217;ve seen from early users?<\/p>\n<p>Congrats <a href=\"https:\/\/www.producthunt.com\/@jay_0687\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jay_0687\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jay_0687<\/a> &amp; team!<\/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\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;Ooh fun question thanks Hamza \ud83d\ude4f<\/p>\n<p>Most fun one: a user runs Kane CLI with their agent to order coffee on a schedule \u2615\ud83d\ude02 we built a quality verifier, he built a barista.<\/p>\n<p>Most clever one: teams dropping Kane CLI into PR CI as a critical path check. Every PR gets asked &#8220;does the money flow still work?&#8221; in a real browser before it merges. Synthetic monitoring, shifted left into the review loop \ud83e\udee1<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Launch day energy is real today \ud83c\udf89<\/p>\n<p>I have told the Kane story on stages and in campaigns for months, and the reaction is the same every time. People assume they will need to write code or learn a framework. Then they watch someone type a sentence in natural language, a real browser opens, and it comes back with an evidence pack and a verdict.<\/p>\n<p>That moment when the room goes &#8220;wait, that&#8217;s it?&#8221; never gets old. <\/p>\n<p>And today the story got a new chapter: the same commands now run on Android emulators and iOS simulators too. <\/p>\n<p>Even outside engineering, I use Kane CLI for my own repetitive browser work. That is the part I love most, it is not just for engineers.<br \/>The Starter plan is free, so go break it and tell us what you think. The team is here in the comments all day. <\/p>\n<p>Learn more: <a href=\"https:\/\/www.testmuai.com\/kane-cli-ph\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.testmuai.com\/kane-cli-ph\/<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I had been looking for such a product that can help me in validation during my development sessions. Kane CLI seems like the perfect tool that will really help me keep my work bug-proof. Amazing!!<\/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\/@shreyash_pandey2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@shreyash_pandey2<\/a>&nbsp;Thanks Shreyash \ud83d\ude4c That is the exact workflow it was built for: verify while you build, not after. The Starter plan is free, would love to hear how your first runs go.&#8217;<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Agentic mobile test was the missing piece of the puzzle. Kane CLI seems to be solving that perfectly well!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@misbah_farooqi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@misbah_farooqi<\/a>&nbsp;Thanks a lot Misbah \ud83d\ude4f\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>Could developers trigger Kane directly from CI\/CD and block deployments automatically when critical browser workflows fail?<\/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\/@himani_sah1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@himani_sah1<\/a>&nbsp;KaneCLI can directly run from CI\/CD pipelines and allow you to create validation harness. If critical flows break, you changes can be blocked. More information available here: <a href=\"https:\/\/www.testmuai.com\/docs\/kane-cli-cicd\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.testmuai.com\/docs\/kane-cli-cicd<\/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>The build-fast, trust-slow gap is very real. I like how Kane CLI focuses not just on running tests, but on producing evidence teams can actually trust and share. <\/p>\n<p>How do you see Kane CLI fitting into an AI coding workflow,should testing happen automatically after every code change?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hareesh_vemasani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hareesh_vemasani<\/a>&nbsp;Yes, exactly, verification after every change, not as a phase at the end. Your coding agent calls Kane CLI after writing code and fixes its own bugs before you look, and in CI it acts as a deploy gate that blocks merges when critical flows fail. When building is this fast, verification has to be just as continuous.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I really love KaneAI\u2019s conversational approach to generating critical test scenarios from the provided documentation. It frees up my local machine\u2019s resources while helping me explore and work with different aspects of the platform more efficiently. Overall, KaneAI has made the testing process smoother, faster, and more collaborative.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@anmol_soin1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@anmol_soin1<\/a>&nbsp;Thank you Anmol, love hearing this \ud83d\ude4c KaneAI keeps doing exactly that, conversational scenario generation from your docs, and it is going strong. The fun part: Kane CLI shares the same engine, brought to the terminal. Same intelligence, now living where developers and coding agents work, with an evidence pack and verdict on every run. Two surfaces, one engine, and the workflow you described gets faster on both.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Excited to use it ! Is this free to try ?<\/div>\n<div class=\"comment-actions\">\n<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\/@lt_prakhar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lt_prakhar<\/a>&nbsp;Yes! The Starter plan is free with 100 credits, no framework setup. One install command and your first run lands in minutes \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>Congrats, team! How does Kane decide whether a natural-language test has actually passed when the page behavior is slightly different than expected?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@kate_ramakaieva\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kate_ramakaieva<\/a>&nbsp;Thanks Kate! A pass is never vibes. It is granted only when the expected state is verified through explicit evidence: DOM state, URL changes, network responses, screenshots. If the page differs cosmetically (moved button, new label), Autoheal re-resolves the intent and continues. If the expected outcome itself is not met, or the match is genuinely ambiguous, it fails loudly. Real bugs still fail.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 ask-tool pause on OTP\/CAPTCHA instead of guessing is the right call. since the exported case replays deterministically, what happens when the site&#8217;s UI shifts a little, a moved button or new copy, does it re-derive from the original NL description or does someone have to re-record?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;That is handled a level above element healing. Run with &#8211;retry and Kane CLI auto-detects when the flow itself has changed, a new step in the journey, a reordered screen, and adapts the run to the live flow instead of dying on the old script. Checks heal on replay as well, so the <a href=\"http:\/\/test.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">test.md<\/a> keeps working without anyone re-authoring 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>Does Kane handle logged-in flows automatically, or do we need to set up auth ourselves?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@deepak144\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@deepak144<\/a>&nbsp;Both work. You can log in as part of the objective itself, just describe it in natural language with your credentials as variables. Or for flows that depend on an existing session, use a named Chrome profile: run kane-cli config chrome-profile, log in once, and every run after that starts already authenticated. No auth code to write either way.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Awesome, i have been needing to formalise our test releases.. this is just what i was looking for.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@lachlan_greenbank\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lachlan_greenbank<\/a>&nbsp;Love that Lachlan \ud83d\ude4f That&#8217;s the exact gap we built for. Tests live as _<a href=\"http:\/\/test.md\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">test.md<\/a> in your repo, every run comes back with an evidence pack, and you can gate the deploy on 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>Does the product integrate with other systems?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@dan_rotaru\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@dan_rotaru<\/a>&nbsp;Yes! CI\/CD out of the box (GitHub Actions, GitLab, Jenkins) via exit codes, coding agents like Claude Code and Cursor via structured NDJSON output, and two-way Playwright\/Selenium: import your existing scripts or export any run to native Playwright 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>the machine-readable verdict for agent loops is the right instinct, that&#8217;s the same gap I hit running voice model evals: a pass\/fail with no provenance just means trusting the model again. does the evidence pack capture intermediate state, or just the final screenshot, when a flaky animation causes a false fail?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Great instinct, and it goes well beyond a final screenshot. The evidence pack captures per-step screenshots (with annotated copies), a full HAR network log, console output as NDJSON, and failure records, all replayable step by step. So on a flaky animation you can see exactly which intermediate state the check ran against, not just the end frame. Provenance is the whole point: a verdict you cannot trace is just trust with extra 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>AI coding agents desperately need something like this. Writing code is becoming easy; reliably verifying the result is becoming the bottleneck.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@subhash_kanagamani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@subhash_kanagamani<\/a>&nbsp;Exactly the thesis we built on. The bottleneck moved from writing code to trusting it. That is why Kane CLI is agent-native out of the box: Claude Code or Cursor can call it, read the verdict from structured output, and close their own loop. Would love to hear how you are handling verification 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\">What happens when a test encounters a CAPTCHA, unexpected modal, or authentication challenge halfway through execution?<\/div>\n<div class=\"comment-actions\">\n<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\/@priyankamandal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priyankamandal<\/a>&nbsp;Kane CLI does not fail silently or try to bypass these. It has a built-in Ask tool: when a run hits an OTP screen, a CAPTCHA, a payment confirmation, or any ambiguous state, it pauses, asks the human for input, and resumes exactly where it left off once answered.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\/ZLCM32IRDVPZ5C\" class=\"app-title\">Ito<\/a><\/p>\n<div class=\"one-liner\">AI code review that runs your code<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">362<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Ito\u662f\u4e00\u6b3e\u5728\u4ee3\u7801\u8bc4\u5ba1\u524d\u771f\u6b63\u8fd0\u884c\u5e94\u7528\u7684AI\u5ba1\u67e5\u5de5\u5177\uff0c\u901a\u8fc7\u4e3a\u6bcf\u4e2aPR\u521b\u5efa\u4e34\u65f6\u73af\u5883\u5e76\u9a71\u52a8\u4ee3\u7406\u6267\u884c\u6d4b\u8bd5\uff0c\u7528\u8fd0\u884c\u65f6\u8bc1\u636e\u6355\u83b7\u9759\u6001\u5206\u6790\u4e0e\u7eaf\u6a21\u578b\u5ba1\u67e5\u9057\u6f0f\u7684\u6df1\u5c42Bug\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\/d7bf8087-1835-4dbf-b262-d99db3d52d35.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ccdf2694-ecb9-478a-b3f7-01775586e8f3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b94339c3-695f-4a6d-b9fb-428cd8511677.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/460f1162-3d36-4b7a-a8a6-d2816eab2c78.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9dc8b6f6-5e0d-4cc0-8d83-554fd961f43c.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\/b04f3876-b9ac-42e2-b5a8-a61ee2c36d0c.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/vRe2VbW7tK0\"><source src=\"https:\/\/youtu.be\/vRe2VbW7tK0\" 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\">AI\u4ee3\u7801\u5ba1\u67e5<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u884c\u65f6\u9a8c\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u4e34\u65f6\u73af\u5883<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7406\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">CI\/CD<\/span><br \/>\n            <span class=\"tag\">\u8d28\u91cf\u4fdd\u969c<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">DevOps<\/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\u8fd0\u884c\u65f6\u5dee\u5f02\u5316\u4ef7\u503c\uff0c\u4f46\u6838\u5fc3\u8d28\u7591\u96c6\u4e2d\u5728mock\u6570\u636e\u53ef\u4fe1\u5ea6\uff08\u662f\u5426\u660e\u786e\u6807\u8bb0\uff09\u3001\u73af\u5883\u542f\u52a8\u5931\u8d25\u65f6\u53cd\u9988\u673a\u5236\u3001\u4e0eGreptile TREX\u7684\u5bf9\u6bd4\uff0c\u4ee5\u53ca\u975e\u5de5\u7a0b\u5e08\u201c\u65e0\u9700\u5ba1\u6279\u5373\u53ef\u53d1\u5e03\u201d\u573a\u666f\u7684\u72ec\u7acb\u4ef7\u503c\u3002\u56e2\u961f\u56de\u5e94\u5f3a\u8c03\u4fe1\u4efb\u673a\u5236\u4e0e\u6267\u884c\u4f18\u5148\uff0c\u4f46\u90e8\u5206\u95ee\u9898\u672a\u83b7\u89e3\u7b54\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Ito\u7684\u5207\u5165\u70b9\u7cbe\u51c6\u547d\u4e2d\u4e86AI\u751f\u6210\u4ee3\u7801\u6f6e\u4e0b\u7684\u4fe1\u4efb\u5371\u673a\u2014\u2014\u5f53\u4ee3\u7801\u4ea7\u91cf\u8d85\u51fa\u4eba\u7c7b\u5ba1\u67e5\u5e26\u5bbd\uff0c\u4f20\u7edf\u9759\u6001\u5de5\u5177\u4ec5\u80fd\u63d0\u4f9b\u201c\u9884\u6d4b\u201d\uff0c\u800cIto\u7528\u4e34\u65f6\u73af\u5883\u5c06\u9884\u6d4b\u8f6c\u5316\u4e3a\u201c\u89c2\u5bdf\u201d\uff0c\u8fd9\u786e\u5b9e\u662f\u5bf9\u8bc4\u5ba1\u8303\u5f0f\u7684\u9769\u65b0\u3002\u4f46\u4ea7\u54c1\u7684\u771f\u6b63\u62a4\u57ce\u6cb3\u5e76\u975eAI\u4ee3\u7406\u6216\u6d4b\u8bd5\u7f16\u6392\uff0c\u800c\u662f\u5b83\u523b\u610f\u56de\u907f\u7684\u201c\u73af\u5883\u642d\u5efa\u201d\u8fd9\u4e2a\u810f\u6d3b\u7d2f\u6d3b\uff0c\u6070\u5982\u521b\u59cb\u4eba\u6240\u8a00\uff0c\u8fd9\u662fDoorDash\u7ea7\u56e2\u961f\u90fd\u8017\u4e0d\u8d77\u7684\u5de5\u7a0b\u9ed1\u6d1e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u9510\u8bc4\u5fc5\u987b\u6307\u51fa\u4e09\u4e2a\u9690\u5fe7\uff1a\u5176\u4e00\uff0cmock\u4e0e\u771f\u5b9e\u670d\u52a1\u7684\u8fb9\u754c\u867d\u58f0\u79f0\u900f\u660e\u62ab\u9732\uff0c\u4f46\u201c\u7a84\u4f9d\u8d56mock\u201d\u7684\u7b56\u7565\u5728\u590d\u6742\u5206\u5e03\u5f0f\u7cfb\u7edf\u4e2d\u6781\u6613\u88ab\u7ed5\u8fc7\uff0c\u4e00\u65e6\u8bef\u5224\u4e3a\u201c\u901a\u8fc7\u201d\u5c06\u6bd4\u9759\u6001\u5206\u6790\u4ea7\u751f\u66f4\u5177\u6b3a\u9a97\u6027\u7684\u5b89\u5168\u5e7b\u89c9\uff1b\u5176\u4e8c\uff0c\u4ea7\u54c1\u5ba3\u79f0\u201c\u8fd0\u884c\u4ee3\u7801\u201d\u5374\u9762\u5bf9\u5927\u91cf\u4f9d\u8d56\u4e91\u670d\u52a1\u3001\u79c1\u6709\u8bc1\u4e66\u7684\u73b0\u4ee3\u5e94\u7528\u65f6\uff0c\u73af\u5883\u590d\u73b0\u7684\u4fdd\u771f\u5ea6\u5929\u82b1\u677f\u4f4e\uff0c\u8bc4\u8bba\u4e2d\u201c\u5bb9\u5668\u8d77\u4e0d\u6765\u65f6\u62a5\u544a\u4ec0\u4e48\u201d\u7684\u5c16\u9510\u95ee\u9898\u4ec5\u5f97\u5230emoji\u7ea7\u522b\u7684\u56de\u5e94\uff0c\u66b4\u9732\u4e86\u5931\u8d25\u6a21\u5f0f\u7684\u6c9f\u901a\u7c97\u7cd9\uff1b\u5176\u4e09\uff0c\u5b9a\u4ef7\u7b56\u7565\u770b\u4f3c\u53cb\u597d\uff08\u524d100\u6b21\u514d\u8d39\uff0c\u5f00\u6e90\u514d\u8d39\uff09\uff0c\u4f46\u201c\u8fd0\u884c\u901f\u5ea6\u8d8a\u7528\u8d8a\u5feb\u201d\u7684\u81ea\u6211\u5b66\u4e60\u80fd\u529b\u662f\u628a\u53cc\u5203\u5251\u2014\u2014\u5b83\u53ef\u80fd\u56fa\u5316\u4e86\u6d4b\u8bd5\u8def\u5f84\u7684\u60ef\u6027\uff0c\u524a\u5f31\u5bf9\u65b0\u5f02\u5e38\u6a21\u5f0f\u7684\u63a2\u7d22\u3002\u503c\u5f97\u6ce8\u610f\u7684\u662f\uff0c\u8bc4\u8bba\u4e2d\u201c\u975e\u5de5\u7a0b\u5e08\u65e0\u6743\u9650\u5ba1\u6279\u5373\u53ef\u53d1\u5e03\u201d\u7684\u6d1e\u5bdf\u70b9\u7834\u4e86\u4ea7\u54c1\u66f4\u6df1\u5c42\u7684\u4ef7\u503c\uff1a\u5b83\u4e0d\u4ec5\u662f\u4ee3\u7801\u5ba1\u67e5\u5de5\u5177\uff0c\u66f4\u662f\u91cd\u6784\u8f6f\u4ef6\u53d1\u5e03\u6743\u529b\u7ed3\u6784\u7684\u6f5c\u5728\u6760\u6746\u3002\u82e5Ito\u80fd\u6210\u4e3a\u4e8b\u5b9e\u4e0a\u7684\u8fd0\u884c\u65f6\u9a8c\u8bc1\u6807\u51c6\uff0c\u90a3\u4e48\u201c\u8c01\u6709\u6743\u4e0a\u7ebf\u201d\u7684\u51b3\u7b56\u5c06\u4ece\u4eba\u8f6c\u79fb\u5230\u5de5\u5177\u751f\u6001\u3002\u4f46\u5728\u6b64\u4e4b\u524d\uff0c\u5b83\u9700\u8981\u5148\u89e3\u51b3\u201c\u770b\u8d77\u6765\u53ef\u4fe1\u201d\u4e0e\u201c\u5b9e\u9645\u53ef\u4fe1\u201d\u4e4b\u95f4\u7684\u9e3f\u6c9f\u3002\u76ee\u524d\uff0c\u5b83\u8bc1\u660e\u4e86\u65b9\u5411\uff0c\u5c1a\u672a\u8bc1\u660e\u53ef\u89c4\u6a21\u5316\u5730\u7cbe\u786e\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\">Ito<\/span>\n                <\/div>\n<div class=\"comment-content\">Ito is an AI code review tool that runs your app before it reviews the code. For every pull request, Ito spins up an ephemeral environment, validates impacted flows, and returns runtime evidence so teams can catch bugs that static analysis and model-only reviewers miss. Instead of guessing from diffs, Ito shows what actually broke, where it happened, and why it matters before the PR reaches production.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt. I&#8217;m Evan, cofounder of Ito.<\/p>\n<p>Coding agents produce more code than you can review. Existing code review tools only stare at the code, so you still have to review tons of code or build complex internal systems to verify it.<\/p>\n<p>Ito is a runtime code review tool. On every pull request:<\/p>\n<ul>\n<li>\n<p>Creates test plan from code, PR description, ticket, your input<\/p>\n<\/li>\n<li>\n<p>Builds your app in a single-use isolated container with the ability to use credentials, seed data to reach the state that matters, and use external services just as an engineer would on their local machine. Mocks data\/code when it doesn\u2019t have access.<\/p>\n<\/li>\n<li>\n<p>Drives the app with a swarm of agents (click, navigate, API call, db verification)<\/p>\n<\/li>\n<li>\n<p>Catches runtime issues: concurrency, failure handling, data migration, authentication, etc.<\/p>\n<\/li>\n<li>\n<p>Posts results on PR with evidence: video, logs, screenshots<\/p>\n<\/li>\n<\/ul>\n<p>We built Ito with a team of 8 MIT engineers, and spent many cycles to arbitrarily build any application.&nbsp;<\/p>\n<p>Ito gets better the more you use it:<\/p>\n<ul>\n<li>\n<p>Responds to feedback<\/p>\n<\/li>\n<li>\n<p>Faster runtimes every run as Ito learns how to navigate your application and builds tools to manipulate your environment<\/p>\n<\/li>\n<li>\n<p>Reviews focused on the areas you care about (sees what gets fixed vs ignored)<\/p>\n<\/li>\n<li>\n<p>Test instruction per org, per repo, or per author<\/p>\n<\/li>\n<\/ul>\n<p>First 100 reviews free, no card. $40\/mo after that. Free forever for open source (already supporting &gt;100k stars): <a href=\"http:\/\/app.ito.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">app.ito.ai?ph<\/a><\/p>\n<p>You can also try out open source PRs without signing up here: <a href=\"https:\/\/www.ito.ai\/review?ph\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.ito.ai\/review?ph<\/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\/@evanmarshall\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@evanmarshall<\/a>&nbsp;Boom..congrats on the launch\ud83d\ude4c If a PR has broken build scripts does Ito fail fast and comment on the PR or does it attempt to self-heal the setup script?<\/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\/@evanmarshall\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@evanmarshall<\/a>&nbsp;What made you want to build this? I know it must be personal.<\/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\/@evanmarshall\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@evanmarshall<\/a>&nbsp;AI has officially reached the point where it can write code faster than humans can develop the emotional strength to review it. <\/p>\n<\/p>\n<p>The runtime angle is what really stands out here. Code can look perfectly reasonable in a PR and still fall apart the moment real users, real state, concurrency, auth, or an actual database enters the chat.<\/p>\n<\/p>\n<p>And having a swarm of agents actually drive the app, verify the database, and come back with screenshots and video feels much closer to \u201cprove it works\u201d than another static code review.<\/p>\n<\/p>\n<p>The interesting part is that Ito gets better from what teams actually fix versus what they happily ignore. That feedback loop could become seriously powerful.<\/p>\n<\/p>\n<p>Curious though: as agents write more of the code, do you think runtime review eventually becomes the default layer of software development rather than a safety net? \ud83d\udc40<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the runtime angle. How do you handle PRs that touch external services \u2014 mock them in the ephemeral env, or spin up real instances?<\/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\/@bhaumik_lathiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bhaumik_lathiya<\/a>&nbsp;thank you for the question! Ito&#8217;s preference is to test with the real service as that is the highest-fidelity way to test at runtime. Dependencies that can run locally (databases, caches, queues, even sibling services in multi-repo setups) are spun up for real inside the ephemeral environment. For true third-party APIs, customers can securely share the secrets and variables their app needs to connect to them. If Ito still can&#8217;t reach a service, it leverages the fact that it&#8217;s running in an isolated environment and uses clever techniques to mock that specific service so it stays unblocked and tests the core of the system in question. Every test result also discloses what was mocked, so you always know the provenance. Finally, if the repo needs something custom to get Ito truly running as smoothly as possible, our team works directly with you to tailor the environment to your stack so the testing is as high-fidelity and extensive as possible. <\/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>Hi, I&#8217;m Barron Caster, Co-Founder of Ito AI.<\/p>\n<p>The thing I love most about Ito: gives me confidence to ship fast as a non-engineer. I&#8217;ve fully taken over our marketing site and don&#8217;t have to bother engineers to check my code. <\/p>\n<ul>\n<li>\n<p>Vibecoding our entire marketing site &amp; infra (design, content, performance improvements, SEO, etc)<\/p>\n<\/li>\n<li>\n<p>Knows entire context of our codebase so nothing gets left behind. Can request specific tests if I want them (e.g. focus on mobile usability of the blog)<\/p>\n<\/li>\n<li>\n<p>Videos of everything working for every change (and feature demo videos coming soon)<\/p>\n<\/li>\n<\/ul>\n<p>Now the whole team is shipping faster. <\/p>\n<\/p>\n<p><strong>Easy to try and see how Ito can help your team: <\/strong><a href=\"http:\/\/app.ito.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>app.ito.ai<\/strong><\/a><a href=\"http:\/\/app.ito.ai\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>?ph<\/strong><\/a><\/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\/@barroncaster\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@barroncaster<\/a>&nbsp;congrats on the launch! ito seems like the perfect partner product to the revolution of vibe coding for those of us who aren&#8217;t engineers.<\/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\/@barroncaster\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@barroncaster<\/a>&nbsp;The non-engineer angle is the most interesting use case on this page and it is the one buried furthest down.<\/p>\n<\/p>\n<p>Everything above it is about reviewing code faster. Yours is about who is allowed to ship at all. A marketing site that a non-engineer fully owns, without a queue of engineers checking it, is a different product than &#8220;AI code review&#8221;, and it sells to a person who does not currently buy code review tools because they were never in the market.<\/p>\n<\/p>\n<p>The tell is what you said you no longer have to do: bother someone. That is not a speed problem, it is a permission problem, and permission problems are worth much more than minutes saved.<\/p>\n<\/p>\n<p>I would test that as its own page. Not &#8220;review your PRs&#8221;, but &#8220;ship without asking an engineer to check it first&#8221;. Different buyer, different budget, and it does not compete with a static reviewer at all.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats to you and the team, Evan! This is a huge problem, and I know it will remain one. Excited for you all to help eng teams solve it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jasondemant\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jasondemant<\/a>&nbsp;Thanks for the support!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>It&#8217;s a neat approach that is differentiated from and complimentary to the standard AI review tools. We use it and it has  surfaced bugs other tools missed on multiple occasions. <\/p>\n<p>The team moves fast too and is very responsive to feedback. They are a pleasure to work with.<\/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\/@daniel_kokotov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_kokotov<\/a>&nbsp;Thank you!<\/p>\n<p>The &#8220;complementary, not competing&#8221; framing is exactly how we think about it too. Static review tools are great at reading code; we wanted something that would go run it. Hearing that it&#8217;s surfaced bugs other tools missed, more than once, is the single best signal we could ask for.<\/p>\n<p>And the feedback loop goes both ways \u2014 a lot of what&#8217;s shipped recently came straight from users telling us what wasn&#8217;t working. So please keep it coming. It&#8217;s a pleasure working with you too.<\/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\/@daniel_kokotov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_kokotov<\/a>&nbsp;You are the only person in this thread who has actually run it, which makes your comment worth more than the rest of the page combined, mine included.<\/p>\n<\/p>\n<p>So a question for you rather than the makers: when it surfaced a bug the other tools missed, did your team believe it straight away, or did someone go reproduce it by hand first? Runtime evidence is supposed to remove that step. Whether it actually does is the one thing no launch post can tell me, because a tool whose findings people still verify manually has moved the work rather than removed it.<\/p>\n<\/p>\n<p>And the harder half: has it ever told you something was fine that was not? Every reviewer gets judged on what it catches, and almost nobody talks about the other column.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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, I&#8217;m Geoff, a software engineer on the Ito team. \ud83d\udc4b<\/p>\n<\/p>\n<p>The thing I love most about Ito: it actually runs the code. \ud83d\ude80 Every PR I open comes back with a test plan that was<\/p>\n<p>executed, not just read.<\/p>\n<\/p>\n<p>\u26a1 Automates the manual testing I used to do by hand \u2014 click through the flow, check the edge cases, confirm nothing else broke. That&#8217;s hours back every week.<\/p>\n<\/p>\n<p>\ud83d\udc1b Catches bugs I would have missed. Real runtime failures that linters and static analysis structurally can&#8217;t see,<\/p>\n<p>because they never execute anything.<\/p>\n<\/p>\n<p>\ud83e\udd16 Makes agentic loops genuinely feasible. When an agent writes the code, something has to verify it actually works<\/p>\n<\/p>\n<p>Ito is that step, so I can let the loop run longer and trust what comes out the other end.<\/p>\n<\/p>\n<p>Getting to build this as an engineer who also uses it every day has been the most fun I&#8217;ve had on a product. \ud83c\udf89<\/p>\n<\/p>\n<p>Easy to try and see how Ito can help your team: <a href=\"http:\/\/app.ito.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">app.ito.ai<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Question: How do you compare with Greptiles Trex feature?  <\/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\/@conduit_design\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@conduit_design<\/a>&nbsp;<strong>Ito&#8217;s made execution the review. <\/strong><\/p>\n<p>We provision your complete application (backend, frontend, seeded database, external services, working auth, secrets injected at runtime) and then test the way a 100x engineer would. We find things that come from running the system, not from what a code reader suspected.<\/p>\n<p>The way you phrased &#8220;a feature&#8221; means you probably already know this, but Greptile&#8217;s bolted on a sandbox (easy) to validate static review&#8217;s hypotheses. All real products have external dependencies and cannot take credentials, TREX is limited to mocks, UI clicks, and unit tests without anything. Real apps lean on S3, Stripe, auth providers, etc to<\/p>\n<p><strong>Execution<\/strong> <strong>as the foundation<\/strong> is our whole product. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting approach to code review. The fact that Ito actually runs the app and returns runtime evidence makes this feel much more actionable than reviews based purely on diffs. Especially compelling for the edge cases static analysis can miss. Congrats 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>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\/@steve_tubeiq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@steve_tubeiq<\/a>&nbsp;Thanks for kind words! We agree completely: runtime analysis is the only way to catch some of the hairiest bugs, even when all the individual components and pieces of code seem correct.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@steve_tubeiq\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@steve_tubeiq<\/a>&nbsp;appreciate the kind words! It&#8217;s not only edge cases, but also things that only occur when the code is actually running. This is a large class of specific errors that static tools miss.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The runtime approach to code review is really interesting. Instead of just analyzing what the code looks like, Ito actually checks how the application behaves in real scenarios and backs the findings with evidence. The combination of agent swarms and  isolated environments makes this especially relevant as AI-generated code keeps increasing. <\/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\/@hareesh_vemasani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hareesh_vemasani<\/a>&nbsp;Exactly! We strongly believe that this is the future of code review as it opens you up to find new classes of bugs that simple static code analysis misses. As it becomes increasingly easy to generate code, the need for this type of analysis will only continue to grow; and Ito will be there. \ud83d\ude80<\/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>the &#8220;mocks data when it doesn&#8217;t have access&#8221; line is the scary part to me, a mocked call that quietly diverges from the real service gives a false pass that looks more trustworthy than static analysis. do you flag which parts of the evidence pack came from a mock vs a live call?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Great question! This failure mode is exactly what we designed the reporting around. <\/p>\n<\/p>\n<p>Yes, every test result says exactly what was mocked and what was real. Every result carries a mandatory &#8220;stub\/mock context&#8221; field describing any mock, stub, or intercepted call that touched that specific test. When nothing did, it says so explicitly. A pass that leaned on a mock never looks the same as a&nbsp;pass against the live service. <\/p>\n<p>That being said, your fear is very real and I just wanted to mention a few guardrails we have around this. The first is that mocks are the last resort, not the default. Ito stands up real dependencies first (real local databases and queues, real third-party calls when teams share test credentials), and it is only allowed to mock a narrow dependency call, never the system under test. The second is that every result also has to be backed by recorded evidence&nbsp;(screenshots, DOM snapshots, action logs) that a verification pass checks before the result counts. Finally, we have agents that judge each finding against the evidence, the codebase, and the diff, and actively try to argue against those findings so that they detect cases like this up front and prevent them from making it into the final report. <\/p>\n<p>Trust is the product, so we are careful about what earns it.<\/p>\n<p>Thanks again! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I like the ephemeral env per PR idea &#8211; less guessing from a diff<\/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\">@oleksandr_knyga thanks!!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@oleksandr_knyga\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@oleksandr_knyga<\/a>&nbsp;&#8220;Less guessing from a diff&#8221; is the whole thing in five words, and it is better than the tagline.<\/p>\n<\/p>\n<p>A diff tells you what changed in the text. It cannot tell you what changed in behaviour, and reviewers have been quietly bridging that gap with imagination for thirty years. Most review comments are really predictions: I think this will break under concurrency, I think this migration is safe. An ephemeral environment turns some of those predictions into observations, and the honest framing of the product is that it shrinks the guessing rather than removing it.<\/p>\n<\/p>\n<p>Which is also the thing to hold them to. Any output that reads like certainty about a path that was never actually exercised puts the guessing back, just with more confidence attached.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@levon377\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@levon377<\/a>&nbsp;Thank you! We&#8217;re excited \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Running the app before reading the diff is the actual difference here, and it creates a question I have not seen a runtime reviewer answer well.<\/p>\n<\/p>\n<p>What does Ito post on the PR when the container itself never came up? Build failed, seed data unavailable, external service refused the credential. If that lands as &#8220;no runtime issues found&#8221;, then a broken environment and a clean PR are the same result, and it fails silently in the direction that looks fine.<\/p>\n<\/p>\n<p>So: what does a run that could not run report as?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@rabnoor_s\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rabnoor_s<\/a>&nbsp;Ito adds an emoji to a PR when it starts to run and when it succeeds or fails to run for whatever reason.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Grayson here, one of Ito&#8217;s cofounders.<\/p>\n<\/p>\n<p>I love that the hard part of Ito is often overlooked: generalizing the ability to run code is the difficult problem. Everyone assumes it&#8217;s a &#8220;deciding what to test&#8221; problem (which is definitely hard too!). But the challenge of standing up an actual application is insanely hard. Get that wrong and the smartest agent in the world clicks around a broken login page. <\/p>\n<\/p>\n<p>Internal teams at DoorDash or Ramp have spent quarters of engineering time trying to build this internally because they know it&#8217;s important. Most teams cannot, and shouldn&#8217;t have to.<\/p>\n<\/p>\n<p>That is why runtime review didn&#8217;t exist until now. Nobody wanted to build the unglamorous layer, and you cannot fake it by bolting a sandbox onto a static reviewer.<\/p>\n<p>That layer is where most of our engineering was spent prior to launch, and it&#8217;s the reason the reviews surface verifiable bugs instead of suspicions. Just wait to see what else we do \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grayson_cooper1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grayson_cooper1<\/a>&nbsp;What else are you going to do? I hope reply to this so you get an engagement bump. \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@grayson_cooper1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@grayson_cooper1<\/a>&nbsp;&#8220;The smartest agent in the world clicks around a broken login page&#8221; should be on the homepage. It makes the invisible layer visible in one image, which is exactly the problem you just described having.<\/p>\n<\/p>\n<p>Because the unglamorous layer is a real moat and an invisible one at the same time. Nobody copies work they do not find interesting, so you get to keep it. But buyers also do not price work they cannot see, and &#8220;most of our engineering went into environment setup&#8221; reads as a cost rather than a feature to anyone who has not tried it themselves and failed.<\/p>\n<\/p>\n<p>The DoorDash and Ramp detail is the strongest thing in your comment and it is sitting in paragraph three. Teams with those budgets spent quarters on it and still would rather not own it. That is evidence rather than a claim, and it is the argument for buying.<\/p>\n<\/p>\n<p>What does a run report say when the app came up but one dependency did not? That boundary is where I would expect the honesty of the whole thing to live.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can I run it on my local machine?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mohsen_bashirzadeh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohsen_bashirzadeh<\/a>&nbsp;cloud only for the moment!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mohsen_bashirzadeh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mohsen_bashirzadeh<\/a>&nbsp;Is the goal that you have control of the testing, because you can do that from the PR description which we already take into account \ud83d\ude42 <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/2TYRIPK2F3Z6W7\" class=\"app-title\">Nuphos<\/a><\/p>\n<div class=\"one-liner\">The AI-Native DevOps Workspace.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">303<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Nuphos\u662f\u4e00\u4e2aAI\u539f\u751fDevOps\u5de5\u4f5c\u7a7a\u95f4\uff0c\u8ba9AI\u4ee3\u7406\u5728\u56e2\u961f\u73b0\u6709\u57fa\u7840\u8bbe\u65bd\uff08AWS\u3001GCP\u3001K8s\uff09\u4e2d\u4ee5\u9ed8\u8ba4\u53ea\u8bfb\u3001\u5199\u64cd\u4f5c\u9700\u5ba1\u6279\u7684\u65b9\u5f0f\uff0c\u81ea\u4e3b\u8c03\u67e5\u6545\u969c\u5e76\u6267\u884c\u8fd0\u7ef4\u4efb\u52a1\uff0c\u89e3\u51b3AI\u4ee3\u7406\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u201c\u4e0d\u6562\u7ed9\u6743\u9650\u3001\u51fa\u4e86\u4e8b\u6ca1\u4eba\u8d1f\u8d23\u201d\u7684\u4fe1\u4efb\u4e0e\u7ba1\u63a7\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\/11ae1cbb-31fb-427a-9f98-505679edbe48.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ec2822a6-aa10-4bfe-81e8-b5de0ab70832.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/36cb2948-c228-4f19-9c00-23980727d2cc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4d1c328c-f183-40b8-815c-fed5d4fdec86.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/96c35922-c0d5-4935-94ff-89a70842180a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d1fe5b3d-af7c-4a34-b70c-3a001c9539d4.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/796abb6c-c0aa-4e26-915b-eb74ae6cc817.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\/b1c5c2fe-bde5-463f-8b83-559a1caf4311.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=RqrWVZSf7h0\"><source src=\"https:\/\/www.youtube.com\/watch?v=RqrWVZSf7h0\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8fd0\u7ef4<\/span><br \/>\n            <span class=\"tag\">DevOps\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u57fa\u7840\u8bbe\u65bd\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u7ba1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u73af\u5883\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c2\u6d4b\u6027<\/span><br \/>\n            <span class=\"tag\">\u6545\u969c\u6392\u67e5<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u534f\u540c<\/span><br \/>\n            <span class=\"tag\">\u5ba1\u8ba1\u8ffd\u8e2a<\/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\u6743\u9650\u5ba1\u6279+\u5ba1\u8ba1\u8ffd\u8e2a\u201d\u89e3\u51b3\u4fe1\u4efb\u75db\u70b9\uff0c\u8ba4\u4e3a\u5171\u4eab\u4e0a\u4e0b\u6587\u6bd4\u5355\u70b9\u6267\u884c\u66f4\u6709\u4ef7\u503c\u3002\u6838\u5fc3\u7591\u95ee\u96c6\u4e2d\u5728\uff1a\u5982\u4f55\u5b66\u4e60\u56e2\u961f\u5185\u90e8runbooks\u548c\u5386\u53f2\u7ecf\u9a8c\uff1f\u5bf9\u72ec\u7acb\u5f00\u53d1\u8005\u662f\u5426\u9002\u7528\uff1f\u4ee5\u53ca\u5982\u4f55\u8bc4\u4f30AI\u5728\u672a\u89c1\u8fc7\u6545\u969c\u573a\u666f\u4e0b\u7684\u51b3\u7b56\u6b63\u786e\u6027\u3002\u56e2\u961f\u56de\u5e94\u5f3a\u8c03\u4eba\u673a\u534f\u540c\u3001\u53ef\u5ba1\u8ba1\u7684\u63a8\u7406\u8fc7\u7a0b\u53ca\u8bbe\u8ba1\u4f19\u4f34\u9a8c\u8bc1\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Nuphos\u7684\u53d9\u4e8b\u5f88\u806a\u660e\u2014\u2014\u5b83\u6ca1\u6709\u91cd\u590d\u201cAI\u53d6\u4ee3\u8fd0\u7ef4\u201d\u7684\u9648\u65e7\u5267\u672c\uff0c\u800c\u662f\u7cbe\u51c6\u5207\u5165\u4e86AI Agent\u843d\u5730\u751f\u4ea7\u73af\u5883\u65f6\u6700\u5c34\u5c2c\u7684\u201c\u4fe1\u4efb\u9e3f\u6c9f\u201d\u3002\u5f53\u6240\u6709\u540c\u884c\u90fd\u5728\u79c0Agent\u80fd\u8dd1\u591a\u5c11\u547d\u4ee4\u65f6\uff0cNuphos\u628a\u5356\u70b9\u653e\u5728\u4e86\u201c\u8c01\u6279\u51c6\u7684\u3001\u6539\u4e86\u4ec0\u4e48\u3001\u80fd\u5426\u56de\u6eda\u201d\u8fd9\u4e9b\u67af\u71e5\u4f46\u81f4\u547d\u7684\u6cbb\u7406\u95ee\u9898\u4e0a\u3002\u8fd9\u5b9e\u9645\u4e0a\u662f\u5bf9\u884c\u4e1a\u73b0\u72b6\u7684\u9690\u5f62\u6279\u5224\uff1a\u73b0\u9636\u6bb5\u7eaf\u9760\u6a21\u578b\u81ea\u89c9\u7684\u8fd0\u7ef4Agent\uff0c\u5728\u771f\u5b9e\u751f\u4ea7\u4e8b\u6545\u9762\u524d\u5c31\u662f\u707e\u96be\u3002Nuphos\u901a\u8fc7\u201c\u9ed8\u8ba4\u53ea\u8bfb+\u5f3a\u5236\u5ba1\u6279+\u5171\u4eab\u5ba1\u8ba1\u201d\u7684\u6d41\u7a0b\u675f\u7f1a\uff0c\u672c\u8d28\u4e0a\u662f\u627f\u8ba4\u4e86\u5f53\u524dAI\u80fd\u529b\u7684\u4e0a\u9650\uff0c\u5e76\u7528\u4eba\u673a\u534f\u540c\u7684\u89c4\u5219\u6765\u515c\u5e95\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u533a\u7684\u53cd\u9988\u6765\u770b\uff0c\u56e2\u961f\u5f88\u64c5\u957f\u5f15\u5bfc\u8206\u8bba\u65b9\u5411\uff0c\u51e0\u4e4e\u6240\u6709\u9ad8\u8d5e\u63d0\u95ee\u90fd\u5f97\u5230\u4e86\u6807\u51c6\u5316\u7684\u201c\u4fe1\u4efb\u4e0e\u5b89\u5168\u201d\u8bdd\u672f\u56de\u5e94\uff0c\u8fd9\u66b4\u9732\u51fa\u5176\u4f5c\u4e3a\u65e9\u671f\u4ea7\u54c1\u7684\u4e00\u4e2a\u6f5c\u5728\u9690\u60a3\uff1a\u8fc7\u5ea6\u5f3a\u8c03\u6cbb\u7406\u6846\u67b6\uff0c\u53cd\u800c\u53ef\u80fd\u63a9\u76d6\u4e86AI\u4ee3\u7406\u672c\u8eab\u5728\u590d\u6742\u6839\u56e0\u5206\u6790\u4e0a\u7684\u80fd\u529b\u77ed\u677f\u3002\u7528\u6237\u771f\u6b63\u5173\u5fc3\u7684\u201c\u5b83\u51ed\u4ec0\u4e48\u80fd\u505a\u51fa\u6b63\u786e\u5224\u65ad\u201d\uff0c\u5f97\u5230\u7684\u56de\u5e94\u5927\u591a\u662f\u201c\u8ba9\u63a8\u7406\u53ef\u5ba1\u8ba1\u201d\u800c\u975e\u201c\u6211\u4eec\u63a8\u7406\u66f4\u51c6\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u4ea7\u54c1\u5b9a\u4f4d\u7565\u663e\u6447\u6446\u3002\u5bf9\u72ec\u7acb\u5f00\u53d1\u8005\u5ba3\u79f0\u201c\u5c31\u662f\u4f60\u7684DevOps\u56e2\u961f\u201d\uff0c\u4f46\u5bf9\u5927\u56e2\u961f\u53c8\u5f3a\u8c03\u201c\u5171\u4eab\u4e0a\u4e0b\u6587\u548c\u5ba1\u6279\u6d41\u201d\uff0c\u8fd9\u4e24\u7c7b\u5ba2\u6237\u7684\u9700\u6c42\u66f2\u7ebf\u622a\u7136\u4e0d\u540c\u3002\u670d\u52a1\u7684\u6838\u5fc3\u4ef7\u503c\u53ef\u80fd\u66f4\u504f\u5411\u4e2d\u5927\u578b\u3001\u591a\u4e91\u7684\u590d\u6742\u57fa\u7840\u8bbe\u65bd\u56e2\u961f\uff0c\u4f46\u8fd9\u7c7b\u56e2\u961f\u6070\u6070\u5bf9AI\u7684\u5bb9\u9519\u7387\u6700\u4f4e\u3002Nuphos\u80fd\u5426\u5728\u201c\u8ba8\u4eba\u559c\u6b22\u7684\u6d41\u7a0b\u201d\u548c\u201c\u771f\u6b63\u61c2\u8fd0\u7ef4\u201d\u4e4b\u95f4\u627e\u5230\u5e73\u8861\uff0c\u662f\u5b83\u4ece300\u7968\u7684\u53d1\u5e03\u70ed\u5ea6\u8d70\u5411\u751f\u4ea7\u73af\u5883\u786c\u4ed7\u7684\u5173\u952e\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u66f4\u50cf\u662f\u4e00\u4e2a\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7b3c\u5b50\uff0c\u800c\u7b3c\u5b50\u91cc\u7684\u9e1f\uff08AI\u6a21\u578b\uff09\u8fd8\u9700\u8981\u8bc1\u660e\u81ea\u5df1\u4f1a\u98de\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\">Nuphos<\/span>\n                <\/div>\n<div class=\"comment-content\">Nuphos gives engineering teams a shared environment where AI agents can learn your infrastructure, investigate issues, and operate production systems.<\/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 Yuanlin here, founder of Zeabur and now building<a href=\"https:\/\/nuphos.ai?utm_source=producthunt&amp;utm_medium=comment&amp;utm_campaign=nuphos_launch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> Nuphos<\/a>.<\/p>\n<\/p>\n<p>Nuphos started from something we learned while building <a href=\"https:\/\/zeabur.com?utm_source=producthunt&amp;utm_medium=comment&amp;utm_campaign=nuphos_launch\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Zeabur<\/a>.<\/p>\n<\/p>\n<p>We used to describe where Zeabur was going as <strong>\u201cYour AI DevOps Engineer.\u201d<\/strong><\/p>\n<\/p>\n<p>But eventually we realized:<\/p>\n<\/p>\n<p><strong>A PaaS asks you to adapt to its rules. A DevOps engineer adapts to your team\u2019s infrastructure.<\/strong><\/p>\n<\/p>\n<p>They learn the systems you already have, work within your permissions, and follow the way your team operates.<\/p>\n<\/p>\n<p>AI DevOps engineers should too.<\/p>\n<\/p>\n<p><strong>Nuphos is an AI-native DevOps workspace that brings AI agents into the infrastructure your team already runs, without giving up control.<\/strong><\/p>\n<\/p>\n<p>Our team of fewer than 10 engineers operates across <strong>8+ clouds, 20+ Kubernetes clusters, and more than 10,000 hosts.<\/strong> We\u2019d already been using coding and terminal agents in production, and they were surprisingly capable.<\/p>\n<\/p>\n<p>The hard part wasn\u2019t getting an agent to run kubectl or inspect logs. It was everything around the action:<\/p>\n<ul>\n<li>\n<p>Whose permissions is it using?<\/p>\n<\/li>\n<li>\n<p>What can it change?<\/p>\n<\/li>\n<li>\n<p>Who approved it?<\/p>\n<\/li>\n<li>\n<p>What exactly changed?<\/p>\n<\/li>\n<\/ul>\n<p>That\u2019s what we built Nuphos around.<\/p>\n<\/p>\n<p>With Nuphos, you can connect your existing AWS, GCP, Kubernetes, and observability stack, keep agents <strong>read-only by default<\/strong>, require approval for write actions, and keep the context and audit trail shared with your team.<\/p>\n<\/p>\n<p>You can try it with your own infrastructure, or use the <strong>live demo on our homepage without signing up.<\/strong><\/p>\n<\/p>\n<p>\ud83c\udf81 Use code <strong>PH100OFF<\/strong> to get your first month of Nuphos free.<\/p>\n<\/p>\n<p>\ud83d\udc49 Got questions or want to follow what we\u2019re building? Join our Discord: <a href=\"https:\/\/nuphos.ai\/dc\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/nuphos.ai\/dc<\/a><\/p>\n<\/p>\n<p>And I\u2019d love to hear from people running production:<\/p>\n<\/p>\n<p><strong>What kind of experience would make an AI feel like a real DevOps engineer on your team, rather than just another AI agent?<\/strong><\/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><a href=\"https:\/\/www.producthunt.com\/@yuaanlin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuaanlin<\/a>&nbsp;Congrats on hitting #2, Yuanlin! Those four questions \u2014 whose permissions, what can it change, who approved it, what changed \u2014 are exactly the ones that keep agents out of production. Love that Nuphos makes read-only the default and forces approval on writes instead of trusting the model to behave. To your question: the thing that makes an AI feel like a real teammate is that it operates inside the same guardrails a human would, not above them. Strong launch \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yuaanlin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuaanlin<\/a>&nbsp;The phrase \u201cAI DevOps engineer\u201d used to sound impressive. Then you remember the part where you give it production access and suddenly everyone discovers a new religion called permission management. \ud83d\ude02<\/p>\n<\/p>\n<p>I really like the distinction here: a PaaS asks your infrastructure to fit its world. A real DevOps engineer learns your world.<\/p>\n<\/p>\n<p>And honestly, read only by default + approval for write actions + a shared audit trail feels like the boring stuff until the agent accidentally tries to turn production into a science experiment. Then it becomes the most interesting feature in the room.<\/p>\n<\/p>\n<p>The bigger shift is fascinating too. We\u2019re moving from \u201cAI that can run commands\u201d to \u201cAI that can operate inside a team\u2019s existing systems without everyone having to hold their breath.\u201d<\/p>\n<\/p>\n<p>That feels much closer to an actual colleague than another chatbot with a terminal. \ud83d\udc40<\/p>\n<\/p>\n<p>Curious what happens when Nuphos gets really good at knowing not just what to change, but when it should leave things alone. That might be the hardest DevOps skill of all.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 point that running kubectl or inspecting logs was not the hard part really stood out to me. We already know agents can execute commands. The real challenge is whether a team can trust them in production. Permissions, approvals, and a clear record of what changed are what turn a capable agent into something an engineering team can actually work with. Congrats on launching!<\/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\/@sandy_liusy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sandy_liusy<\/a>&nbsp;Exactly. Capability is only half the problem!<\/p>\n<p>The harder part is making an agent a team can actually trust in production.<\/p>\n<p>That\u2019s why permissions, approvals, and a clear record of every action are such a big part of Nuphos.<\/p>\n<p>Thanks for the thoughtful comment!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 idea of an AI agent that adapts to the team\u2019s existing infrastructure. Congrats to the Nuphos team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@orman_canida\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@orman_canida<\/a>&nbsp;Really appreciate this lovely shout\u2011out! We\u2019re glad the vision resonates with you. Thanks for the 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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@orman_canida\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@orman_canida<\/a>&nbsp;Thank you! That\u2019s one of the ideas at the core of Nuphos.<\/p>\n<\/p>\n<p>A real DevOps engineer learns how your team already works instead of asking you to rebuild everything around them. We think AI should work the same 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>I worked on the approval gate feature. There were a lot of internal debates around how much context to show, when to ask for approval, and what happens if someone interrupts halfway through. Would love feedback from people who deal with production systems every day.<\/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>Really interesting approach. How does Nuphos learn the context of a team\u2019s infrastructure over time? For example, can it pick up internal runbooks, past incidents, and team-specific operational conventions?<\/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\/@abby_mao1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abby_mao1<\/a>&nbsp;Yes, that\u2019s exactly the direction.<\/p>\n<\/p>\n<p>Nuphos builds shared memory from past investigations, incidents, and the context your team gives it, so the next session doesn\u2019t start from zero.<\/p>\n<\/p>\n<p>We also want it to learn team-specific runbooks and operational conventions over time, so it behaves less like a generic agent and more like someone who already knows how your team runs production.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019m one of the platform engineers building Nuphos, what concerns me the most is how each infra team adopt our product. I&#8217;d love to see the most brutal, realistic way on how every other SREs would use Nuphos. \ud83d\ude42 <\/p>\n<\/p>\n<p>Interrupt the agent mid-run, change direction, reject its plan, don&#8217;t go easy on us. This is exactly how we dogfood and use Nuphos on our infra from day to day. We&#8217;d appreciate feedback, apart from just a simple &#8220;looks good&#8221;.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Coming from the marketing side of the team, I\u2019ve been preparing for this launch for a long time. <br \/>I\u2019ve watched Nuphos take shape through every piece of copy, every image, and every video we created.<\/p>\n<p>The living runbook is probably the feature I\u2019m most excited about. Too much valuable incident knowledge gets buried in Slack, only to be rediscovered at 2 a.m. months later.<\/p>\n<p>So happy to finally see Nuphos live \ud83c\udf89 <br \/>Give it a try! We\u2019d genuinely love to hear any feedback, especially what feels wrong or where it breaks.<\/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>agent devops is the way!!! i hate reading raw events<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tonychang430\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tonychang430<\/a>&nbsp;Same here!!! Btw love InsForge!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@tonychang430\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tonychang430<\/a>&nbsp;Haha exactly \ud83d\ude02<\/p>\n<\/p>\n<p>Raw events are useful, but nobody wants to spend their night stitching them together by hand. <\/p>\n<\/p>\n<p>That\u2019s exactly the kind of work we want the agent to take over.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This looks really exciting! One thing I\u2019m curious about: how would you see Nuphos fitting into the workflow of a solo developer or a one-person team?<\/p>\n<p>I build and experiment with multiple small products and AI projects, but I don\u2019t necessarily have a large SaaS infrastructure or a dedicated DevOps team.<\/p>\n<p>Would Nuphos still be useful at this stage? If so, what would be a good real-world use case for someone like me to start with?<\/p>\n<p>Or is Nuphos currently more suited to larger teams that already have a fairly complex production infrastructure?<\/p>\n<p>Would love to understand where a solo builder fits into the Nuphos vision.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@timliao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@timliao<\/a>&nbsp;Great question. I\u2019d say Nuphos becomes more valuable as your infrastructure gets more complex, but you definitely don\u2019t need a dedicated DevOps team to use it.<\/p>\n<\/p>\n<p>For a solo builder, a good starting point is simply connecting the cloud\/Kubernetes setup behind your projects and using Nuphos as one place to understand what\u2019s running, investigate issues, and keep an eye on cost or reliability.<\/p>\n<\/p>\n<p>In fact, solo developers often have the opposite problem: there\u2019s no DevOps engineer to ask when something breaks at 2am.<\/p>\n<\/p>\n<p>That said, our strongest use cases today are teams already running real production infrastructure across multiple services or tools. That\u2019s where the shared context, approvals, memory, and cross-stack investigation become much more valuable.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@timliao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@timliao<\/a>&nbsp;Definitely. As a solo builder, you still have infrastructure\u2014you\u2019re just wearing both the developer and operator hats. A good starting point is to connect one cloud account read-only and ask Nuphos to inventory what\u2019s running, explain an unexpected cost, or investigate a failing deployment; any changes can remain approval-gated. Larger teams benefit from shared context and collaboration, but they aren\u2019t a prerequisite.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@timliao\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@timliao<\/a>&nbsp;Love this question! Honestly, solo devs might get the most out of it \u2014 the whole idea is that you don&#8217;t need a DevOps team, because Nuphos kind of is your DevOps team.<\/p>\n<p>If you&#8217;re running a few side projects, infra work still lands on you \u2014 deploys, random 2am crashes, digging through logs. Just connect a cloud account or cluster you already have, and when something breaks, tell the agent \u2014 it checks logs, looks at the deployment, and suggests a fix. Basically an on-call engineer for projects that would never justify hiring one.<\/p>\n<p>So definitely not big-teams-only. Curious what your stack looks like though \u2014 happy to point you to a good starting spot!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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\u2019ve been using <a href=\"https:\/\/www.producthunt.com\/products\/nuphos\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"nuphos\" target=\"_blank\" rel=\"noopener\">@Nuphos<\/a>as their design partner. This is pretty much how I want AI to work with our production infra. Congrats<a href=\"https:\/\/www.producthunt.com\/@yuaanlin\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"yuaanlin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuaanlin<\/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\/@yuaanlin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yuaanlin<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@miltonheyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@miltonheyan<\/a>&nbsp;Glad to hear this, Milton! Keen to have you onboard! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@miltonheyan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@miltonheyan<\/a>&nbsp;Really appreciate you being one of our early design partners. A lot of Nuphos was shaped by real feedback from teams like yours.<\/p>\n<\/p>\n<p>Excited to keep building this with you \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! <\/p>\n<p>Really interesting to see agents operating directly against customer infrastructure.<\/p>\n<\/p>\n<p>How do you evaluate whether an agent will make the right infrastructure decision across scenarios it hasn\u2019t encountered before, especially failures that would be expensive or risky to reproduce in a real cloud environment?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mathsociety\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mathsociety<\/a>&nbsp;We believe that human-in-the-loop process is still a must, even with us dogfooding Nuphos ourselves. The way we collaborate with Nuphos agent is read-only mode and plan-then-approval method. Context and knowledge across our SREs are still the ultimate guardrail.<\/p>\n<p>p.s. we use Nuphos to manage our stack across multiple vendors and set up cron job and alert to track costs.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mathsociety\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mathsociety<\/a>&nbsp;Great question. We can\u2019t realistically reproduce every expensive or risky infrastructure failure. From the engineering side, we make the agent\u2019s investigation auditable, what it checked, what it inferred, and where uncertainty remain, while keeping risky changes behind explicit plans and approvals. We also use traces from our own dogfooding to turn concrete failures into targeted safeguards and tests.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mathsociety\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mathsociety<\/a>&nbsp;Great question. We don\u2019t assume an agent will always make the right call in a scenario it hasn\u2019t seen before.<\/p>\n<\/p>\n<p>We separate evaluating the reasoning from trusting the execution: replay incidents and seeded failure scenarios where we can, then in production require the agent to show its evidence, propose a scoped plan, and verify the result after execution.<\/p>\n<\/p>\n<p>For failures that are too expensive to reproduce safely, the goal is less \u201cprove the model is always right\u201d and more \u201cmake sure being wrong doesn\u2019t automatically become a production incident.\u201d<\/p>\n<\/p>\n<p>That\u2019s also why approval and permission boundaries matter so much to us.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The point about running kubectl not being the hard part really resonated with me. Agents can already execute commands. The bigger challenge is making sure teams understand what they are doing and feel comfortable giving them access to production. Nuphos seems to be solving the right problem.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@luke_pioneero\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@luke_pioneero<\/a>&nbsp;Glad to hear this! The way we address the Trust issue is through the default read-only first access. We believe that trust is earned and the human-in-the-loop process is a must.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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;Exactly. As an engineer building Nuphos, I\u2019ve found that executing the command is usually the easy part. The harder part is showing the evidence, assumptions, and proposed change clearly enough that an operator feels comfortable proceeding, especially in production. That trust boundary is a big part of what we\u2019re building around.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"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;Exactly. The command itself is rarely the hard part.<\/p>\n<\/p>\n<p>The real challenge is giving the agent enough context to make a good decision, while making its reasoning, permissions, and actions understandable to the team.<\/p>\n<\/p>\n<p>That trust layer is a big part of what we\u2019re building with Nuphos. Thanks Luke!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Nuphos team here! \ud83d\udc4b<\/p>\n<p>My favorite part is the exact moment when monitoring FIREs, Nuphos agent starts investigating, and the context lands in our Slack channel. The agent gets to work automatically, with prod access under-watched, human approved. Being platform engineer myself, the collaborative workspace is what empowers me the most.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Adding a PM&#8217;s angle to what the team&#8217;s shared above: the part I keep coming back to internally is the shared context layer. So much DevOps knowledge normally lives in one person&#8217;s head or one terminal session \u2014 when an incident hits, you&#8217;re paying for that every time. What made Nuphos click for me was watching the agent&#8217;s understanding of our infra become something the whole team could see and build on, not siloed. That shift from &#8220;individual knowledge&#8221; to &#8220;team context&#8221; is subtle but it&#8217;s honestly the part I&#8217;m most excited to keep developing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@vita1109\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vita1109<\/a>&nbsp; +1. This is the part I think people underestimate: the agent is useful, but the shared context is what makes it useful for a team. When an incident is unfolding, it\u2019s not enough for one person or one terminal session to \u201cknow\u201d what happened. The team needs the evidence, the current state, the plan, and the approval trail in the same place. That\u2019s where Nuphos starts feeling less like a chatbot and more like an operational 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Quesstion: Who is the ideal cstomer here? Who do you solve this for? With which customer does this fit the best?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 read-only-by-default plus approval-for-writes model makes sense for trust. during an active incident when minutes matter, does that approval step ever become the bottleneck itself, or is there a break-glass path for that moment?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Yes, very precisely put, appreciate the depth of the question. When SREs are on-call during the middle of the night or when the cost spiked up without further context all of a sudden, honestly this is actually what we are still processing internally at Nuphos, and yes our SREs are sometimes complaining about the guardrails. Our current act is to reflect on the shared team context and update it with the preferred human-in-the-loop process. <\/p>\n<p>(on the other side we&#8217;re glad that we&#8217;re not frequently on call lol)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;You\u2019re right, the approval step can become a bottleneck. Today, we don\u2019t have a universal break-glass bypass, and that\u2019s intentional. Teams can define scoped auto-authorization for expected operations, while unfamiliar or high-impact changes still pause for a human. Finding the right boundary is something we\u2019re actively refining from our own operational use.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sabber_ahamed\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sabber_ahamed<\/a>&nbsp;Yes, that tradeoff is real.<\/p>\n<\/p>\n<p>That\u2019s why Nuphos has Auto Mode. You can define your own authorization policies ahead of time, and if an action matches those policies, the agent can execute it automatically without asking for approval.<\/p>\n<\/p>\n<p>Higher-risk actions can still stop and wait for a human.<\/p>\n<\/p>\n<p>The idea is to decide the boundary before the incident, instead of figuring it out at 2am.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 the right direction for AI in DevOps. Running commands is the easy part \u2014 understanding the infrastructure, permissions, past incidents, and how a team actually operates is much harder.<\/p>\n<p>Really like the read-only-by-default + approval approach too. Agents touching prod need context and guardrails, not just more autonomy. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ll_wen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ll_wen<\/a>&nbsp;We greatly appreciate your perceptive comment. Executing commands is straightforward, yet grasping infrastructure, permissions, incident history and actual team operations poses the real challenge. Our read\u2011only\u2011by\u2011default approval workflow is built to provide critical context and safety guardrails for production\u2011facing AI agents. Thank you for celebrating our launch with us!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ll_wen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ll_wen<\/a>&nbsp;Exactly, especially given the fact that the term AIOps has been around for quite a while. But until today even with all the coding agents and IDE tools, the way we manage infra is pretty much still the same as previous times. The guardrails and context are still relying on the human-in-the-loop process!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@ll_wen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ll_wen<\/a>&nbsp;Exactly. Running the command is usually the easy part.<\/p>\n<\/p>\n<p>The harder part is giving the agent enough context to understand why something should change, while keeping the boundaries around what it\u2019s allowed to do explicit.<\/p>\n<\/p>\n<p>That\u2019s a big part of how we think about Nuphos. Thanks for the thoughtful comment!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 promising. I would be curious to see how Nuphos handles situations where the agent is unsure or finds conflicting signals. Knowing when to pause and ask a human could be just as important as knowing what action to take.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@carlvert\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carlvert<\/a>&nbsp;On point! The guardrails and read-only access are the default mode (and our suggested way) for Nuphos agent. We believe that Trust is earned through approvals, and the human-in-the-loop process is a must! Think of it as an intern to your SRE 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\/@carlvert\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carlvert<\/a>&nbsp;Completely agree. We consider \u201cknowing when to stop\u201d part of agent correctness, not a failure mode. When signals conflict, Nuphos should surface the evidence and uncertainty, ask for clarification where needed, and avoid crossing from investigation into mutation without explicit approval.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@carlvert\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@carlvert<\/a>&nbsp;Absolutely. We think uncertainty should be a first-class state, not something the agent tries to hide.<\/p>\n<\/p>\n<p>If the evidence is conflicting or the agent doesn\u2019t have enough confidence, it should surface what it knows, what\u2019s unclear, and ask a human before taking the next step.<\/p>\n<\/p>\n<p>Knowing when not to act is a big part of being trustworthy in production.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\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 worked on the agent experience in Nuphos. The hard part wasn\u2019t getting an agent to propose a fix\u2014it was designing the interface so operators can see the evidence, review a scoped plan, and hit stop the moment something doesn\u2019t look right. In prod, trust is a UI\/interaction problem as much as it is a model problem.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Part of the team here! One thing I really like about the permission admin design is how it makes the whole privilege escalation flow feel much safer. Instead of access changes being handled loosely or buried in chat, there\u2019s a clearer approval path before anyone gets elevated permissions. That became a big part of how we thought about making admin workflows more trustworthy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Team member here. My favorite part is actually not the AI\u2014it\u2019s finally having logs, cluster state, deployments, and the rest of the incident context in one place. The agent becomes a lot more useful once everyone is looking at the same thing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is a strong step toward practical AI-native DevOps. Giving agents real infrastructure context\u2014while keeping humans in control of investigation and production actions\u2014could save engineering teams a huge amount of time. Excited to see where Nuphos goes!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@charlenechen_123\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@charlenechen_123<\/a>&nbsp;Thank you! That balance is exactly what we\u2019re aiming for: give the agent enough context to be genuinely useful, while keeping humans in control of what actually happens in production.<\/p>\n<p>Excited to keep pushing this 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>Been using early builds internally for a while, so today feels pretty special. It still makes mistakes (of course), but having it collect the clues before I jump into an incident has already saved me a lot of tab-hopping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Launch day! I worked on growth side, it\u2019s fun watching Nuphos evolve. From \u201ccan we stop hogging across 10 tools for every incident?\u201d, to something we now use in our own infrastructure, dogfooding every single day. Can&#8217;t wait to see more devops engineer start using Nuphos, bringing more thoughts on the idea of AIOps!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/VT3DATI3BPG4AZ\" class=\"app-title\">Scrimba Explain<\/a><\/p>\n<div class=\"one-liner\">Ask any question, get a video back instantly<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">259<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Scrimba Explain \u662f\u4e00\u6b3e\u5c06\u4efb\u610f\u95ee\u9898\uff08\u6587\u5b57\u3001\u4ee3\u7801\u3001\u6587\u4ef6\u3001\u94fe\u63a5\uff09\u57282-3\u79d2\u5185\u81ea\u52a8\u751f\u6210\u5e26\u65c1\u767d\u3001\u52a8\u753b\u3001\u56fe\u793a\u548c\u4ee3\u7801\u8d70\u67e5\u7684\u201c\u89c6\u9891\u7248\u7b54\u6848\u201d\u7684AI\u6559\u5b66\u5de5\u5177\uff0c\u4e13\u6cbb\u201c\u4e0d\u60f3\u8bfb\u6587\u5b57\u3001\u53ea\u60f3\u770b\u89c6\u9891\u201d\u7684\u5b66\u4e60\u8005\u8010\u5fc3\u7f3a\u5931\u4e0e\u7406\u89e3\u6548\u7387\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\/709b1195-d5a6-42b1-b3bc-c4631d132550.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/524091ce-68c7-44db-9484-385c4fc0a44e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/de294b1e-b6df-4946-ae1c-5bbb17494383.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8d3bca3e-d393-463c-836b-dc9b01fd6314.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d60a52a5-7d50-4d01-a4c3-61bb6ac9b13e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f19d7323-9b15-49d8-aa5d-166aabc87dad.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/666456b0-8ff1-42a5-bfe7-79a9b9c4d2a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f4b3b9ce-a5f1-4ea4-9ced-3d7e470d16cf.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\/f8324f55-53ad-4cc9-ba38-b028a6a4c90d.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/k6rbHmBxSEs\"><source src=\"https:\/\/youtu.be\/k6rbHmBxSEs\" 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\">Education<\/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\">\u7f16\u7a0b\u6559\u80b2<\/span><br \/>\n            <span class=\"tag\">AI\u5bfc\u5e08<\/span><br \/>\n            <span class=\"tag\">\u4ea4\u4e92\u5f0f\u5b66\u4e60<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u89e3\u91ca<\/span><br \/>\n            <span class=\"tag\">DOM\u64ad\u653e\u6280\u672f<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7b54\u7591<\/span><br \/>\n            <span class=\"tag\">Scrimba<\/span><br \/>\n            <span class=\"tag\">\u5b66\u4e60\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u6838\u5fc3\u597d\u8bc4\u96c6\u4e2d\u5728\u751f\u6210\u901f\u5ea6\u5feb\u3001\u89c6\u89c9\u5316\u8bb2\u89e3\u6e05\u6670\u3001\u7ed3\u5c3e\u63d0\u95ee\u6709\u52a9\u7406\u89e3\u3002\u7528\u6237\u5efa\u8bae\uff1aGitHub PR\u89c6\u9891\u529f\u80fd\u5b9e\u7528\uff0c\u5e0c\u671b\u652f\u6301\u975e\u6eda\u52a8\u7f51\u9875\u5185\u5bb9\u6293\u53d6\uff1b\u6709\u4eba\u8be2\u95ee\u662f\u5426Apache 2.0\u5f00\u6e90\uff1b\u56e2\u961f\u56de\u5e94\u5c06\u589e\u52a0\u5185\u8054\u7f16\u7a0b\u6311\u6218\u548c\u6587\u672c\u4f5c\u7b54\uff0c\u5e76\u9884\u544a\u6269\u5145\u540e\u7aef\u6559\u5b66\u5185\u5bb9\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                Scrimba Explain\u7684\u5de7\u5999\u4e4b\u5904\u5728\u4e8e\u5b83\u6ca1\u6709\u53bb\u548cSora\u3001Runway\u62fc\u201c\u89c6\u9891\u771f\u5b9e\u6027\u201d\uff0c\u800c\u662f\u7528DOM\u64ad\u653e\u6280\u672f\u7ed5\u5f00\u6602\u8d35\u7684\u89c6\u9891\u751f\u6210\u6a21\u578b\uff0c\u628a\u201c\u89e3\u91ca\u201d\u53d8\u6210\u4e86\u4e00\u6bb5\u53ef\u4ea4\u4e92\u7684\u201c\u6f14\u793a\u52a8\u753b+\u65c1\u767d\u201d\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5bf9Chatbot\u95ee\u7b54\u4f53\u9a8c\u7684\u4e00\u6b21\u964d\u7ef4\u6253\u51fb\u2014\u2014\u540c\u6837\u662f\u7b54\u6848\uff0c\u89c6\u9891\u7684\u5b8c\u64ad\u7387\u548c\u8bb0\u5fc6\u7559\u5b58\u7387\u8fdc\u8d85\u6eda\u52a8\u6587\u5b57\u3002\u4ea7\u54c1\u5207\u4e2d\u7684\u662f\u5f00\u53d1\u8005\u793e\u533a\u91cc\u957f\u671f\u88ab\u5ffd\u89c6\u7684\u201c\u89c6\u9891\u4f18\u5148\u5b66\u4e60\u8005\u201d\u7fa4\u4f53\uff0c\u4e14\u75282-3\u79d2\u7684\u901f\u5ea6\u51fb\u7a7f\u4e86\u201c\u7b49\u5f85\u751f\u6210\u201d\u7684\u5fc3\u7406\u9608\u503c\uff0c\u8fd9\u8ba9\u5b83\u66f4\u50cf\u201cYouTube\u5f0f\u7684\u7b54\u6848\u201d\uff0c\u800c\u975e\u201c\u6587\u5b57\u5899\u7684\u66ff\u4ee3\u54c1\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u770b\uff0c\u76ee\u524d\u5b83\u4ecd\u5c5e\u4e8e\u201c\u6709\u9b45\u529b\u7684\u58f3\u201d\uff1a\u6838\u5fc3\u89e3\u91ca\u80fd\u529b\u5927\u6982\u7387\u4f9d\u8d56\u5e95\u5c42LLM\uff0c\u89c6\u9891\u662f\u5305\u88c5\uff0c\u5e76\u975e\u77e5\u8bc6\u6765\u6e90\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u4e24\u70b9\u2014\u2014\u4e00\u662f\u80fd\u5426\u4ece\u201c\u89e3\u91ca\u201d\u8fdb\u5316\u5230\u201c\u8bca\u65ad\u201d\uff0c\u5373\u6839\u636e\u5b66\u751f\u63d0\u95ee\u5224\u65ad\u5176\u6982\u5ff5\u8bef\u533a\u5e76\u5b9a\u5236\u53cd\u95ee\uff1b\u4e8c\u662f\u80fd\u5426\u5c06GitHub PR\u89c6\u9891\u8fd9\u7c7b\u5de5\u4f5c\u6d41\u573a\u666f\u505a\u6210\u5f3a\u9700\u6c42\u5165\u53e3\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u88abCursor\u3001Copilot\u7b49\u5de5\u5177\u7684\u8bed\u97f3\/\u89c6\u9891\u56de\u590d\u529f\u80fd\u53cd\u8d85\u3002\u8fd0\u8425\u4e0a\uff0c20\u4e07beta\u7528\u6237\u9a8c\u8bc1\u4e86\u9700\u6c42\uff0c\u4f46\u514d\u8d39\u8ba1\u5212\u80fd\u5426\u957f\u671f\u7ef4\u6301\uff0c\u53d6\u51b3\u4e8eDOM\u64ad\u653e\u7684\u6210\u672c\u63a7\u5236\u80fd\u5426\u8dd1\u901a\u7ecf\u6d4e\u6a21\u578b\u3002\u53e6\u5916\uff0c\u521b\u59cb\u4eba\u627f\u8bfa\u201c\u4e00\u5468\u5185\u53d1\u8d27\u529f\u80fd\u8bf7\u6c42\u201d\u662f\u9ad8\u98ce\u9669\u9ad8\u56de\u62a5\u7684\u793e\u533a\u7b56\u7565\u2014\u2014\u5151\u73b0\u51e0\u6b21\u662f\u4f73\u8bdd\uff0c\u957f\u671f\u5219\u8003\u9a8c\u56e2\u961f\u6781\u9650\u3002\u9510\u8bc4\u7ed3\u8bed\uff1a\u597d\u4ea7\u54c1\uff0c\u4f46\u522b\u6025\u7740\u5c01\u795e\uff0c\u770b\u5b83\u80fd\u5426\u4ece\u201c\u65b0\u5947\u7684\u8001\u5e08\u201d\u53d8\u6210\u201c\u79bb\u4e0d\u5f00\u7684\u52a9\u6559\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Scrimba Explain<\/span>\n                <\/div>\n<div class=\"comment-content\">Scrimba Explain generates a narrated video tutorial about almost anything you ask, instantly. You can upload files, add links, paste code, or just write what you\u2019re trying to understand. It&#8217;s MUCH faster than any of the video generation models, as we utilise our DOM-based playback technology. The video explainer can include images, code walkthroughs, animations, diagrams, and other visual aids, plus voiceover, captions and cursor so it feels more like YouTube than traditional chatbot UX.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hello! \ud83d\ude01<\/p>\n<p>I&#8217;m Per, CEO and co-founder of Scrimba, a learning platform for 2+ million devs which I&#8217;ve been running for 10 years.<\/p>\n<\/p>\n<p>&#8220;Explain&#8221; is our attempt at creating the perfect AI tutor. The core idea is:<\/p>\n<ol>\n<li>\n<p><strong><em>As fast as a chatbot.<\/em><\/strong><\/p>\n<\/li>\n<li>\n<p><strong><em>As engaging as a video.<\/em><\/strong><\/p>\n<\/li>\n<\/ol>\n<p>You type a question and within 2-3 seconds to get a video-like response, with animations, diagrams, images, code, and more. Narrated by a pleasant voice.<\/p>\n<\/p>\n<p>It&#8217;s currently <strong>free for everyone during the beta phase \ud83e\udd11 <\/strong>Our goal is to keep costs as low as humanly possible so that we can continue to offer a generous free plan for students.<\/p>\n<\/p>\n<p>Our users have already created <strong>over 20,000 explainers<\/strong> during the beta phase. It resonates <em>really<\/em> well with the type of people who prefer YouTube tutorials over technical articles.<\/p>\n<\/p>\n<p>You can also bring &#8220;Explain&#8221; to the tools you use day-to-day<\/p>\n<ul>\n<li>\n<p>ChatGPT Plugin<\/p>\n<\/li>\n<li>\n<p>MCP support for coding agents like Codex, Claude, Cursor etc<\/p>\n<\/li>\n<li>\n<p>Chrome Extension<\/p>\n<\/li>\n<li>\n<p>GitHub: Video Explainers of your Pull Requests<\/p>\n<\/li>\n<\/ul>\n<p>The latter has been a godsend for us internally as we&#8217;re drowning in PR&#8217;s these days \ud83d\ude02 Getting a quick video makes it a lot easier for our team to review each others&#8217; code.<\/p>\n<\/p>\n<p>Looking forward to hear what you think! And please shout out if you have a feature request. I promise we&#8217;ll ship it within a week!<\/p>\n<\/p>\n<p>Here&#8217;s a few examples:<\/p>\n<ul>\n<li>\n<p>How a Circle Becomes Music:<strong> <\/strong><a href=\"https:\/\/scrimba.com\/explain\/guide0csjdqa3n\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/scrimba.com\/explain\/guide0csjdqa3n<\/a><\/p>\n<\/li>\n<li>\n<p>Meta explainer about Explain: <a href=\"https:\/\/scrimba.com\/explain\/guide0ien1j3b1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/scrimba.com\/explain\/guide0ien1j3b1<\/a><\/p>\n<\/li>\n<li>\n<p>Understanding CORS (playlist): <a href=\"https:\/\/scrimba.com\/explain\/guide0n4r04ilh\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/scrimba.com\/explain\/guide0n4r04ilh<\/a><\/p>\n<\/li>\n<\/ul>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>22<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@perborgen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@perborgen<\/a>, is this Apache 2.0 liscenced<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@perborgen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@perborgen<\/a>&nbsp;Congratulations to the <a href=\"https:\/\/www.producthunt.com\/products\/scrimba\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"scrimba\" target=\"_blank\" rel=\"noopener\">@Scrimba<\/a> team on the new launch! I\u2019m currently practicing full-stack development here, and the interactive teaching style has been incredible. Really excited to see what this new product brings to the table!<\/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\/@perborgen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@perborgen<\/a>&nbsp;Amazing new feature. This is the next level of learning with AI!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Just tried Explain by asking &#8220;how the frontend sends data to the backend&#8221; and I was genuinely impressed by how quickly it turned the answer into a clear short video with diagrams and visuals!<\/p>\n<\/p>\n<p>What I really liked was that it asked me a question at the end to check whether I actually understood the explanation \ud83e\udd29 as someone who creates programming education content, I really like that approach! It makes it feel much more like an AI tutor than simply another way of presenting an AI-generated answer.<\/p>\n<\/p>\n<p>Really interesting direction for learning technical concepts. Excited to see where you take this &#8211; well done, Scrimba team! Keep it up! \ud83d\udcaa\ud83d\udcaa<\/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\/@developete\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@developete<\/a>&nbsp;Thank you, Pete! Really appreciate your support \ud83d\ude4c We&#8217;re planning on expanding that end-of-video quiz btw. Like giving real coding challenges you can solve inline in the player. Or a text answer for more nuanced questions. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Oh my goodness, I am blown away.<\/p>\n<p>I made it explain to me MedusaJS.<\/p>\n<p>Wow!!! I had to let my wife try it, she loves it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been giving this a spin! Lot&#8217;s of fun, and the implementation is fast, intuitive and delightful. I&#8217;ve used it on my code base to understand it better, and a few things I&#8217;ve been curious about.<\/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\/@emilwallner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emilwallner<\/a>&nbsp;Thanks, Emil! Glad to hear you&#8217;re still in the camp of people who actually care about understanding their codebases \ud83d\ude1c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I have personally tried scrimba explain feature number of times til lnow and it is really amazing. It not only solve your confusion but also force you to think about other aspects as well. Great work by Per and Scrimba team by adding this feature to Scrimba. Really love it. Thanks for sharing with it learners community.<\/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\">I like the idea of turning a question or file into something you can actually watch instead of reading through another wall of text. Feels especially useful for more complex topics. Congrats on the launch! \ud83d\ude4c<\/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\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;Thank you! And totally agree, I think a lot of people are feeling the text fatigue these days \ud83d\ude35\u200d\ud83d\udcab<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Scrimba explain is one of my favourite scrimba features. It&#8217;s really helped me grasp concepts I&#8217;ve been struggling with since forever. For example backend development terms like json, API architecture and so on<\/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\/@lombe_kufika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lombe_kufika<\/a>&nbsp;Thank you! Our teachers are working hard to get more backend content shipped soon \ud83d\udc69\u200d\ud83c\udfeb<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 is super cool! TIL you can ask it questions in general, not just about arcane JS things! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Congrats on your launch.. this is great, good wishes for its success.. would it work with websites with non scrolling enabled to create a video from the website content..thanks..<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I just tried it out. Great that it make a video on the subject. Quite a surprise !<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/S5QUTH4NO57LJM\" class=\"app-title\">Human Behavior<\/a><\/p>\n<div class=\"one-liner\">Product analytics told you what happened. We handle it.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">248<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Human Behavior \u662f\u4e00\u6b3e\u5229\u7528AI\u4ee3\u7406\u81ea\u52a8\u89c2\u770b\u7528\u6237\u4f1a\u8bdd\u5f55\u5c4f\u3001\u8bc6\u522b\u7528\u6237\u75db\u70b9\uff08\u5982\u6124\u6012\u70b9\u51fb\u3001\u6b7b\u6309\u94ae\u3001\u6c89\u9ed8\u653e\u5f03\uff09\uff0c\u5e76\u76f4\u63a5\u89e6\u53d1\u4fee\u590d\u884c\u52a8\uff08\u5982\u5f00PR\u3001\u53d1\u90ae\u4ef6\u3001\u66f4\u65b0CRM\uff09\u7684\u95ed\u73af\u4ea7\u54c1\u5206\u6790\u5de5\u5177\uff0c\u8ba9\u56e2\u961f\u544a\u522b\u201c\u53ea\u770b\u4e0d\u505a\u201d\u7684\u4eea\u8868\u76d8\uff0c\u5c06\u6d1e\u5bdf\u76f4\u63a5\u8f6c\u5316\u4e3a\u4ea7\u54c1\u6539\u8fdb\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\/bdaaadbf-03ed-46e1-9def-c518a329b5f1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dcf41661-c1ae-4227-b462-d748f6b4b82d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4b3571ec-a843-445d-80c6-523abe1b8c71.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\">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\">\u4ea7\u54c1\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u4f1a\u8bdd\u91cd\u653e<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u884c\u4e3a\u6d1e\u5bdf<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u8fd0\u7ef4<\/span><br \/>\n            <span class=\"tag\">\u95ed\u73af\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u884c\u52a8<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Rage Click\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">Slack\u96c6\u6210<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u201c\u4ece\u6d1e\u5bdf\u5230\u884c\u52a8\u201d\u7684\u95ed\u73af\u4ef7\u503c\uff0c\u5c24\u5176\u79f0\u8d5e\u76f4\u8fdeLinear\/Slack\u3001\u907f\u514dDashboard\u5197\u4f59\u3002\u6838\u5fc3\u7591\u8651\u96c6\u4e2d\u5728\u81ea\u4e3b\u884c\u52a8\u7684\u8fb9\u754c\uff1a1\uff09AI\u5f00PR\u540e\u662f\u5426\u9700\u4eba\u5de5\u590d\u6838\u201c\u9884\u671f\u884c\u4e3a\u201d\uff1f2\uff09\u81ea\u52a8\u53d1\u9001\u5ba2\u6237\u90ae\u4ef6\u7684\u4e0d\u53ef\u9006\u98ce\u9669\u5982\u4f55\u7ba1\u63a7\uff1f3\uff09\u662f\u5426\u652f\u6301\u5206\u6743\u9650\u8bbe\u7f6e\uff08\u5982PR\u81ea\u52a8\u3001\u90ae\u4ef6\u9700\u5ba1\u6279\uff09\uff1f\u53e6\u5916\uff0c\u6709\u7528\u6237\u6307\u51fa\u7ade\u54c1PostHog\u5df2\u53d1\u5e03\u7c7b\u4f3c\u529f\u80fd\uff0c\u9700\u5dee\u5f02\u5316\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Human Behavior\u7684\u201c\u95ed\u73af\u201d\u53d9\u4e8b\u786e\u5b9e\u6233\u4e2d\u4e86\u884c\u4e1a\u75db\u70b9\u2014\u2014\u6570\u636e\u770b\u677f\u5806\u79ef\u5982\u5c71\u7684\u201c\u5206\u6790\u762b\u75ea\u75c7\u201d\u662f\u771f\u5b9e\u4e14\u666e\u904d\u5b58\u5728\u7684\u3002\u5176\u201cAI\u770b\u5f55\u5c4f+\u81ea\u52a8\u4feeBug\u201d\u7684\u5356\u70b9\u6781\u5177\u51b2\u51fb\u529b\uff0c\u7528\u201c\u81ea\u5bb6\u4ea7\u54c1\u5904\u74061.5\u4e07\u6b21\u4f1a\u8bdd\u5e76\u4ea7\u51fa16\u4e2aPR\u201d\u4f5c\u4e3a\u72d7\u7cae\uff0c\u662f\u672c\u6b21\u53d1\u5e03\u6700\u9ad8\u660e\u7684\u4fe1\u4efb\u72b6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u5265\u5f00\u201cAI\u81ea\u4e3b\u6539\u5584\u4ea7\u54c1\u201d\u7684\u534e\u4e3d\u5916\u58f3\uff0c\u5176\u672c\u8d28\u4ecd\u662f\u201c\u9ad8\u7ea7\u81ea\u52a8\u5316\u811a\u672c\u201d\u4e0e\u201c\u5927\u6a21\u578b\u9a71\u52a8\u7684\u610f\u56fe\u8bc6\u522b\u201d\u7684\u7ec4\u5408\u3002\u76ee\u524d\u8bc4\u8bba\u4e2d\u66b4\u9732\u7684\u4fe1\u4efb\u9e3f\u6c9f\uff08\u90ae\u4ef6\u4e0d\u53ef\u9006\u3001PR\u662f\u5426\u8bef\u62a5\uff09\u624d\u662f\u51b3\u5b9a\u5176\u80fd\u5426\u4ece\u201c\u73a9\u5177\u201d\u8d70\u5411\u201c\u751f\u4ea7\u5de5\u5177\u201d\u7684\u5173\u952e\u3002\u4ea7\u54c1\u5fc5\u987b\u63d0\u4f9b\u6781\u5176\u7cbe\u7ec6\u7684\u6743\u9650\u95f8\u95e8\uff08\u5982\u90ae\u4ef6\u53cc\u56e0\u7d20\u5ba1\u6279\u3001PR\u6253\u6807\u7b7e\u8ffd\u8e2a\uff09\u548c\u53ef\u89e3\u91ca\u7684\u51b3\u7b56\u65e5\u5fd7\uff0c\u5426\u5219\u201c\u81ea\u4e3b\u884c\u52a8\u201d\u4f1a\u6210\u4e3a\u56e2\u961f\u5185\u90e8\u7684\u5b9a\u65f6\u70b8\u5f39\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0cPostHog\u7b49\u5e73\u53f0\u5df2\u5177\u5907\u7c7b\u4f3c\u529f\u80fd\uff0c\u4e14\u62e5\u6709\u66f4\u5e9e\u5927\u7684\u73b0\u6709\u7528\u6237\u7fa4\u3002Human Behavior\u7684\u5dee\u5f02\u5316\u4f18\u52bf\u5728\u4e8e\u201cAgent\u4f18\u5148\u201d\u7684\u6781\u7b80\u4ea4\u4e92\uff08Slack\/SMS\uff09\uff0c\u4f46\u8fd9\u4e5f\u610f\u5473\u7740\u5b83\u9700\u8981\u8bc1\u660e\u81ea\u5df1\u6bd4\u201c\u5e73\u53f0\u5185\u7f6e\u529f\u80fd\u201d\u66f4\u806a\u660e\u3001\u66f4\u53ef\u9760\u3002\u5f53\u524d\u6295\u7968\u6570\uff08248\uff09\u548c\u8bc4\u8bba\u70ed\u5ea6\u5c1a\u53ef\uff0c\u4f46\u82e5\u4e0d\u80fd\u5c3d\u5feb\u5efa\u7acb\u201c\u884c\u52a8\u51c6\u786e\u7387\u201d\u7684\u884c\u4e1a\u57fa\u51c6\uff0c\u98ce\u5934\u4e00\u8fc7\u5f88\u5bb9\u6613\u88ab\u5de8\u5934\u590d\u5236\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\uff0c\u6216\u8bb8\u662f\u5b83\u6536\u96c6\u7684\u201cAI\u4ee3\u7406\u51b3\u7b56-\u4eba\u7c7b\u4fee\u6b63\u201d\u914d\u5bf9\u6570\u636e\uff0c\u8fd9\u6bd4\u5f55\u5c4f\u672c\u8eab\u66f4\u6709\u4ef7\u503c\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\">Human Behavior<\/span>\n                <\/div>\n<div class=\"comment-content\">Dashboards are where insights go to die. Human Behavior closes the loop: 1) Collect. Our SDK captures your events, errors, and session replays. 2) Understand. AI watches every replay, catching rage clicks, dead buttons, and silent give-ups. 3) Act. Background agents email the customer, update Linear and your CRM, and open PRs with the replay as evidence. 4) Loop. Agents check the results and keep the product improving \u2014 on its own. No dashboard to babysit. It all lives in Slack or SMS.<\/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 Amogh, founder of Human Behavior. <\/p>\n<p>This launch means a lot to us. We&#8217;ve been building for over 1.5 years and pivoted more times than I&#8217;d like to admit \u2014 we literally started as an AI accounting platform. The internal tool we built to watch our own session replays became the product. Classic story, but living it was brutal. <\/p>\n<p>The insight that kept us going: dashboards are where insights go to die. Every product team is sitting on thousands of hours of session recordings and charts nobody has time to look at. The story of what users struggle with is in there. It mostly goes unread. So we built AI that watches it \u2014 and then does something about it. <\/p>\n<p>Human Behavior uses Human Behavior. This month our agents watched 15,000 sessions of people using our product and made 16 PRs in our codebase \u2014 dead buttons, silent errors, layout shifts. None of them arrived as a bug report. We wrote up exactly what they found here: <a href=\"https:\/\/www.humanbehavior.co\/blog\/dogfooding-human-behavior\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.humanbehavior.co\/blo&#8230;<\/a>!<\/p>\n<p>The last few months we&#8217;ve been seeing real momentum for the first time and it finally felt right to share it here. Honestly still a little scared to hit launch. Please try it, break it, and tell me what&#8217;s confusing \u2014 I&#8217;ll be in the comments all day. Love you all for checking it out and for the support. It genuinely means everything. \u2764\ufe0f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>17<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@amogh_chaturvedi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amogh_chaturvedi<\/a>&nbsp;This is one of those pivots where the product basically said, \u201cYou thought you were building accounting software? Cute. Watch this.\u201d <\/p>\n<\/p>\n<p>Turning the thing you built internally into a product is already a great story. But having your own agents watch 15,000 sessions and open 16 PRs? That\u2019s the part that really made me stop scrolling.<\/p>\n<\/p>\n<p>There\u2019s something beautifully ironic about using AI to find the problems humans are too busy to notice.<\/p>\n<\/p>\n<p>Curious though: how do you decide which findings deserve a PR versus simply being surfaced to the team? That trust layer feels like it could become just as important as the detection itself.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@amogh_chaturvedi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amogh_chaturvedi<\/a>&nbsp;Congrats on the launch, Amogh! \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<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@amogh_chaturvedi\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@amogh_chaturvedi<\/a>&nbsp;Nice <a href=\"https:\/\/www.producthunt.com\/products\/posthog\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"posthog\" target=\"_blank\" rel=\"noopener\">@PostHog<\/a> also released a similar feature. I think you are on to something with the latest pivot.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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! For developers \/ product people interested in using Human Behavior, where can they sign up?<\/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\/@allan_guo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@allan_guo<\/a>&nbsp;Hey! Check out <a href=\"https:\/\/humanbehavior.co\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">humanbehavior.co<\/a> and book a call! Super excited to talk to you \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>4<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Such a great product. Just curious, how has your own product helped you prioritize features?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Huge congrats on the launch! I really like the problem you&#8217;re tackling here. There\u2019s so much user data sitting inside products, but actually understanding what users are struggling with is still surprisingly hard. Turning those messy session replays into clear, actionable insights feels genuinely useful. Wishing the whole team a strong launch today \u2014 excited to see how Human Behavior evolves! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;YES EXACTY &#8212; Thank you so much for your support and if Human Behavior makes sense for you please book a call: <a href=\"https:\/\/humanbehavior.co\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">humanbehavior.co<\/a>!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@suryansh_tiwari2\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suryansh_tiwari2<\/a>&nbsp;Wishing GL with the launch \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>closing the loop straight to Linear and Slack without forcing another dashboard on us is huge. 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Thought of building this for myself, glad to see someone else do it! Sent you a DM \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@skyler_ji\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@skyler_ji<\/a>&nbsp;LMFAO &#8212; Thank you brother <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>the dogfood stat is the most convincing part, 16 PRs out of 15k sessions with none arriving as a bug report first. of those 16, how many merged clean vs needed a human to say actually that&#8217;s expected behavior?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 era of dashboards is coming to an end, great use of AI here. Congrats on the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really interesting approach to turning product analytics into action rather than another dashboard to monitor. As a founder, I\u2019m curious: how do you see teams balancing autonomous AI actions with the need for human approval when those actions affect real customers?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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>Looks amazing &amp; 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>the part id want to know about is the emailing. a PR or a linear ticket is reversible, an email to a customer isnt. is there a human in front of that one, or does it clear the same bar as opening a PR?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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! It resonates. Seeing the drop-off was never the hard part. Understanding why it drops and fixing the issue is the real challenge. Question: can I set different leashes per action? (auto-open PRs and Linear tickets, but keep customer emails behind my approval)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4IKWDWPTSOGQQ3\" class=\"app-title\">Oasis<\/a><\/p>\n<div class=\"one-liner\">Where humans and agents come to work.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">216<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Oasis\u662f\u4e00\u4e2a\u5c06\u5404\u7c7bAI\u4ee3\u7406\uff08\u5982Claude Code\u3001Devin\u7b49\uff09\u4e0e\u4eba\u7c7b\u56e2\u961f\u6574\u5408\u8fdb\u540c\u4e00\u5171\u4eab\u5de5\u4f5c\u7a7a\u95f4\u7684\u667a\u80fd\u534f\u4f5c\u5e73\u53f0\uff0c\u89e3\u51b3\u591a\u4ee3\u7406\u5de5\u5177\u788e\u7247\u5316\u3001\u4e0a\u4e0b\u6587\u5272\u88c2\u3001\u56e2\u961f\u534f\u4f5c\u65e0\u6cd5\u5171\u4eabAI\u5de5\u4f5c\u6210\u679c\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/295736e2-1a0c-416f-9c9d-d7b5a9a9ccfb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/56517786-bc8a-419f-8c57-f07e30852b17.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8021975f-f7ab-4310-8d3d-e28b13de0602.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c47b852b-3021-4ec6-84d3-37f122d3c7d6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4533eb51-83af-447a-a036-f6623f73bac7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4d00b10f-e4b9-4322-9d8a-685f38f12c19.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fd40711c-bfbe-4c72-ad48-55009ff99971.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3f64dda8-b162-4a56-bf15-b3aec734a7bc.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/39f96009-1b81-43cb-a4a3-865d6087fa0e.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\/88279c40-aa95-40c8-8a28-f093b3d51ec6.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/zQIPrmy8Z2w\"><source src=\"https:\/\/youtu.be\/zQIPrmy8Z2w\" 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\">No-Code<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u5de5\u4f5c\u7a7a\u95f4<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u5171\u4eab\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">MCP\u517c\u5bb9<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u805a\u5408\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u63a7\u5236<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u89e3\u51b3\u591a\u4ee3\u7406\u4e0a\u4e0b\u6587\u788e\u7247\u5316\u7684\u4ef7\u503c\uff0c\u91cd\u70b9\u8be2\u95ee\u6743\u9650\u4e0e\u8bb0\u5fc6\u7ba1\u63a7\u673a\u5236\uff08\u5982\u6309\u9891\u9053\/\u9879\u76ee\u9694\u79bb\u4ee3\u7406\uff09\u3001\u62a4\u57ce\u6cb3\uff08\u662f\u5426\u9760\u4e2d\u7acb\u805a\u5408+\u8bb0\u5fc6\u5c42\uff09\u3002\u56e2\u961f\u56de\u5e94\u79f0\u8bb0\u5fc6\u9700\u539f\u521b\u5efa\u4eba\u5ba1\u6279\u624d\u53ef\u5916\u6cc4\uff0c\u652f\u6301\u6309\u6210\u5458\u8fc7\u6ee4\u77e5\u8bc6\uff0c\u5e76\u63d0\u4f9b200\u7f8e\u5143\u8bd5\u7528\u989d\u5ea6\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                Oasis\u8e29\u4e2d\u4e86\u5f53\u4e0bAI\u4ee3\u7406\u7206\u53d1\u671f\u6700\u5c34\u5c2c\u7684\u75db\u70b9\uff1a\u5de5\u5177\u8d8a\u5f3a\uff0c\u534f\u4f5c\u8d8a\u788e\u3002\u5f53\u6bcf\u4e2a\u4ee3\u7406\u90fd\u62e5\u6709\u72ec\u7acb\u4e0a\u4e0b\u6587\u65f6\uff0c\u56e2\u961f\u534f\u4f5c\u4fbf\u6ca6\u4e3a\u201c\u590d\u5236\u7c98\u8d34\u4e0a\u4e0b\u6587\u201d\u7684\u4f53\u529b\u6d3b\u3002\u5176\u6838\u5fc3\u601d\u8def\u662f\u5c06\u4ee3\u7406\u4ece\u201c\u5de5\u5177\u201d\u964d\u7ef4\u6210\u201c\u56e2\u961f\u6210\u5458\u201d\uff0c\u7528Room\u548c\u5171\u4eab\u8bb0\u5fc6\u5e93\u91cd\u6784\u5de5\u4f5c\u6d41\uff0c\u8fd9\u4e0d\u4ec5\u662f\u4ea7\u54c1\u5f62\u6001\u521b\u65b0\uff0c\u66f4\u662f\u5bf9AI\u534f\u4f5c\u8303\u5f0f\u7684\u4e00\u6b21\u6709\u6548\u8bd5\u63a2\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u4ece\u8bc4\u8bba\u53cd\u9988\u770b\uff0c\u5176\u771f\u6b63\u7684\u751f\u6b7b\u7ebf\u5728\u4e8e\u201c\u6743\u9650\u6a21\u578b\u201d\u548c\u201c\u4e2d\u7acb\u6027\u201d\u3002\u5141\u8bb8\u4ee3\u7406\u5171\u4eab\u8bb0\u5fc6\uff0c\u672c\u8d28\u4e0a\u662f\u628a\u4f01\u4e1a\u673a\u5bc6\u4ea4\u7ed9\u9ed1\u76d2\u6a21\u578b\uff0c\u5373\u4fbf\u8bbe\u8ba1\u4e86\u201c\u539f\u521b\u5efa\u4eba\u5ba1\u6279\u201d\u673a\u5236\uff0c\u5728\u590d\u6742\u6743\u9650\u77e9\u9635\u524d\u4f9d\u7136\u663e\u5f97\u5355\u8584\uff1b\u800c\u9762\u5bf9OpenAI\u3001Anthropic\u81ea\u5e26\u7684\u56e2\u961f\u529f\u80fd\uff0cOasis\u82e5\u4e0d\u80fd\u8bc1\u660e\u201c\u4e2d\u7acb\u805a\u5408\u201d\u80fd\u5e26\u6765\u4e0d\u53ef\u66ff\u4ee3\u7684\u6210\u672c\u4f18\u52bf\u4e0e\u6a21\u578b\u7075\u6d3b\u6027\uff0c\u5f88\u5bb9\u6613\u6ca6\u4e3a\u5de8\u5934\u751f\u6001\u7684\u8fc7\u6e21\u54c1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u66f4\u6df1\u5c42\u7684\u9690\u60a3\u5728\u4e8e\u201c\u5171\u4eab\u8bb0\u5fc6\u201d\u7684\u6cdb\u5316\u80fd\u529b\u3002\u8bb0\u5fc6\u4e0d\u7b49\u4e8e\u51b3\u7b56\u903b\u8f91\uff0c\u4ee3\u7406\u95f4\u4e92\u76f8\u8c03\u7528\u8bb0\u5fc6\u6781\u6613\u4ea7\u751f\u201c\u4e0a\u4e0b\u6587\u6c61\u67d3\u201d\u2014\u2014\u4e00\u4e2a\u4ee3\u7406\u7684\u504f\u89c1\u6216\u9519\u8bef\u63a8\u7406\u901a\u8fc7\u5171\u4eab\u5e93\u611f\u67d3\u5176\u4ed6\u4ee3\u7406\uff0c\u5f7c\u65f6\u201c\u6c89\u6dc0\u77e5\u8bc6\u201d\u5c06\u53d8\u6210\u201c\u56fa\u5316\u9519\u8bef\u201d\u3002Oasis\u9700\u8981\u8bc1\u660e\u81ea\u5df1\u505a\u7684\u662f\u77e5\u8bc6\u84b8\u998f\u800c\u975e\u5783\u573e\u90ae\u4ef6\u8f6c\u53d1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u5207\u5165\u7cbe\u51c6\uff0c\u4f46\u5c1a\u9700\u5728\u5b89\u5168\u8fb9\u754c\u4e0e\u77e5\u8bc6\u6cbb\u7406\u4e0a\u62ff\u51fa\u66f4\u786c\u6838\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u5426\u5219\u53ea\u80fd\u6210\u4e3aAI\u534f\u4f5c\u53f2\u4e0a\u7684\u4e00\u4e2a\u6ce8\u811a\uff0c\u800c\u975e\u91cc\u7a0b\u7891\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\">Oasis<\/span>\n                <\/div>\n<div class=\"comment-content\">An intelligent workspace for you, all your agents, and your team. Bring the best agents from across the ecosystem into one place, where people and agents work together as equal teammates. Every conversation, decision, and artifact becomes shared knowledge that compounds over time. As the workspace learns how you work, it adapts to your needs and builds specialized tools that help everyone do its best work.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;m Stefano, part of the team building Oasis. We&#8217;re excited to finally share what we&#8217;ve been working on.<\/p>\n<p>Agents are getting really good. But the way we work with them still feels fundamentally broken.<\/p>\n<p>Today, every agent lives somewhere different. One is in a browser tab. Another is running locally. Another is inside your IDE. We spend our days copying context between tabs, terminals, and chats.<\/p>\n<p>That fragmentation is frustrating on its own. It gets way worse when you try work with your team!<\/p>\n<p>Your teammates can&#8217;t see the same context. They can&#8217;t jump into the conversation. They can&#8217;t reuse your agents. Every person builds their own isolated workflows, and everyone starts from scratch. The more agents you adopt, the more fragmented your AI stack becomes.<\/p>\n<p>Agents shouldn&#8217;t feel like isolated tools. They should feel like teammates, living alongside you and your team.<\/p>\n<p>That&#8217;s why we are building Oasis, the shared workspace for humans and agents.<\/p>\n<p>What Oasis does:<br \/>&#8211; Brings every agent into one place<br \/>When you join Oasis, you instantly have access to the best agents in the ecosystem. We partner with leading agent builders so you can deploy Claude Code, Devin, OpenClaw, HeyGen, Higgsfield, or any MCP-compatible agent in a single click.<\/p>\n<p>&#8211; Work together in Rooms<br \/>In the real world, work happens in meeting rooms. Oasis works the same way.<br \/>A Room is a group chat for humans and agents. Instead of scattered chats and isolated workflows, everyone works together from the same context.<\/p>\n<p>&#8211; Build a shared memory base<br \/>Every conversation, decision, and artifact becomes part of your organization&#8217;s memory.<br \/>New agents don&#8217;t start from scratch-they plug into the knowledge your team has already built, with permissions enforced from day one.<\/p>\n<p>&#8211; Invite your team<br \/>AI shouldn&#8217;t be single-player. Bring your teammates into the same workspace, share agents across your organization, and collaborate with both humans and AI without forwarding links, copying prompts, or rebuilding context.<\/p>\n<p>Thanks for checking us out. We&#8217;ll be here all day answering questions and would love your feedback.<\/p>\n<p>Join our product hunt slack community to talk to the team building Oasis directly and get first-hand updates: <a href=\"https:\/\/joinoasis.com\/oasis-community\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/joinoasis.com\/oasis-comm&#8230;<\/a><\/p>\n<p>See you in the Oasis \ud83e\udee1<\/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>Really cool product \u2764\ufe0f<\/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\/@haxzie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haxzie<\/a>&nbsp;Thank you \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@haxzie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haxzie<\/a>&nbsp;Thanks Musthaq!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@haxzie\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haxzie<\/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>Oasis tackles one of the biggest problems with using multiple agents today, everyone ends up working with different context in different places! How do you think about permissions and memory once humans and many different agents are all working inside the same Room? Can teams control exactly what each agent is allowed to remember and reuse? \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;Hey Andras, great question!<\/p>\n<p>Our system works a lot like human memory. When a message is sent in a room, it becomes a shared memory available to every agent in that room. Think of it like saying something in a meeting: everyone present hears it and can remember it. Those agents become the holders of that memory.<\/p>\n<p>The memory base is separate from the agents, and they query it during runtime. This lets us detect when an agent uses a memory while speaking with someone who doesn\u2019t have access to it. If that memory touches the agent\u2019s reasoning, we block the entire output and require approval from a human who was present when the memory was originally created before the output can be sent.<\/p>\n<p>You can also inspect the memory base to see exactly which agents have access to each memory. That\u2019s how we make shared memory transparent and govern access to it.<\/p>\n<p>Does that help?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Multiplayer is an interesting concept \ud83d\ude42 I wonder what the ratio of humans to AI ends up being.<\/p>\n<p>How does one use the coupon code for the 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\/@phanos_anastasiou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@phanos_anastasiou<\/a>&nbsp;Thanks Phanos! Add the code at checkout when upgrading to Pro and it will be free \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>Congrats on the launch :)) <a href=\"https:\/\/humalike.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">humalike.ai<\/a> would fit amazingly<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mcarmonas\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mcarmonas<\/a>&nbsp;Would love to add your guys agent to our marketplace!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 your product idea! Running agents across separate tools means every one of them starts from zero, so nothing you learn in one place ever compounds. <br \/>Is there a possibility to scope an agent to specific channels \/ projects rather than everything the workspace knows? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@alina_petrova3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alina_petrova3<\/a>&nbsp;hey Alina! thanks for your support.<\/p>\n<\/p>\n<p>They work much like Slack channels: you choose which agents have access to each channel. We use that membership to determine downstream knowledge permissions, so anything shared in a channel is available only to the agents in that channel.<\/p>\n<\/p>\n<p>Did you get a chance to try out the product? Would love to help get you set up with a few agents!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 Stefano! Love the idea of a place where Humans and Agents can work together. Feel that&#8217;s the way and I&#8217;m sure you&#8217;ll rock it. Wish you all the best!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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;Thanks for your support! Feel free to sign up to claim $200 credits &#8211; Would love your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@german_merlo1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@german_merlo1<\/a>&nbsp;Thanks Germ\u00e1n! Give it a go and let us know what you think<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>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\">@german_merlo1 thanks! If you want to try out the product we are giving 200$ in credits to product hunt users<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\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 is your moat? Oai and Anthropic are working on team features. Is it the neutrality of aggregation?<\/div>\n<div class=\"comment-actions\">\n<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\/@michael_vavilov\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@michael_vavilov<\/a>&nbsp;Hey, great question. And yes: neutral aggregation paired with an incredibly powerful and sticky memory base.<\/p>\n<\/p>\n<p>To elaborate on the neutrality piece, Oasis lets you easily deploy open-source or cheaper models based on how you work. Oasis also proactively suggests cheaper models for a given task. A lot of our users are saving significant money by operating in this neutral space instead of defaulting to a single provider for everything.<\/p>\n<\/p>\n<p>The memory layer makes that flexibility useful over time. Oasis retains the context around how you work, what you care about, and how you prefer things done. So even when you switch models, you don\u2019t have to start from scratch or repeatedly explain yourself.<\/p>\n<\/p>\n<p>The goal is to make the model interchangeable while your context and workflows remain consistent.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>\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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nakul\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nakul<\/a>&nbsp;Thanks Nakul!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#7<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/SMQ4IHG6EFSAU3\" class=\"app-title\">Skilldocs<\/a><\/p>\n<div class=\"one-liner\">Figma for markdown<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">174<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Skilldocs\u5c06Figma\u7684\u591a\u4eba\u5b9e\u65f6\u534f\u4f5c\u4f53\u9a8c\u5e26\u5165Markdown\u7f16\u8f91\u5668\uff0c\u89e3\u51b3\u56e2\u961f\u5728AI\u7f16\u7a0b\u5de5\u4f5c\u6d41\u4e2d\u6587\u6863\u534f\u540c\u7f16\u8f91\u96be\u3001\u53cd\u9988\u65e0\u6cd5\u56de\u6d41\u5230\u4ee3\u7801Agent\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\/4fb46c60-4260-40f3-a646-be1de806d355.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a88b7a3c-7d53-49ec-9b31-7e8a5a27dfd9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4f79be7d-1cad-4f9f-a5f8-691254e7e1cb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3aa186c8-f8a3-4802-98ee-492d8d18e651.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c0d4b75c-02f7-4066-abd7-8a921afd8f42.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\/554aa926-2f9a-4b24-a68e-8ebeff2d3937.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/UDsVkBl426Y\"><source src=\"https:\/\/youtu.be\/UDsVkBl426Y\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5b9e\u65f6\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">Markdown\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7a0b\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u5728\u7ebf\u6587\u6863<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">WYSIWYG<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801Agent\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u7248\u672c\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u591a\u4eba\u5149\u6807<\/span><br \/>\n            <span class=\"tag\">Figma\u6a21\u5f0f<\/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\u89e3\u51b3\u771f\u5b9e\u75db\u70b9\uff0c\u4f46\u96c6\u4e2d\u8be2\u95ee\u7248\u672c\/\u5206\u652f\u63a7\u5236\u673a\u5236\uff0c\u53caMCP\u670d\u52a1\u5668\u5b89\u88c5\u8def\u5f84\u4e0d\u6e05\u6670\u95ee\u9898\u3002\u6709\u8bc4\u8bba\u5efa\u8bae\u8f7b\u91cf\u7ea7\u201c\u547d\u540d\u7248\u672c\u6807\u7b7e\u201d\u800c\u975e\u590d\u6742git\u5206\u652f\uff0c\u4ee5\u8ffd\u6eafAgent\u8bef\u7528\u7248\u672c\u3002\u4f5c\u8005\u56de\u5e94\u79ef\u6781\uff0c\u9080\u8bf7\u7528\u6237\u53c2\u4e0e\u8bbe\u8ba1\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Skilldocs\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u7cbe\u51c6\u5207\u5165\u4e86\u201c\u4eba\u7c7b\u4e0eAI\u7f16\u7a0bAgent\u534f\u4f5c\u201d\u7684\u6df7\u6c8c\u5730\u5e26\u2014\u2014\u5f53\u6587\u6863\u65e2\u662f\u89c4\u8303\u53c8\u662f\u4ea4\u4ed8\u7269\u65f6\uff0c\u4f20\u7edfGit\u5206\u652f\u6216Notion\u7c98\u8d34\u90fd\u663e\u5f97\u7b28\u91cd\u3002\u5b83\u7528\u201c\u5b9e\u65f6\u534f\u540c+\u4e00\u952e\u5bfc\u51fadiff\u201d\u628a\u534f\u4f5c\u91cd\u5fc3\u4ece\u201c\u4e8b\u540e\u540c\u6b65\u201d\u79fb\u5230\u201c\u4e8b\u524d\u5171\u5efa\u201d\uff0c\u672c\u8d28\u4e0a\u628a\u6587\u6863\u53d8\u6210\u4e86\u53ef\u5bf9\u8bdd\u7684\u201c\u63a5\u53e3\u201d\u3002\u4f46\u8bc4\u8bba\u4e2d\u66b4\u9732\u7684\u7248\u672c\u7126\u8651\u624d\u662f\u771f\u6b63\u7684\u547d\u95e8\uff1a\u4e00\u65e6\u591a\u4e2aAgent\u6216\u591a\u4eba\u5f02\u6b65\u7f16\u8f91\uff0c\u5f53\u524d\u201c\u5355\u65f6\u95f4\u7ebf\u201d\u6a21\u578b\u5fc5\u7136\u5d29\u6e83\u3002\u4f5c\u8005\u5bf9\u5206\u652f\u7684\u56de\u907f\u6001\u5ea6\u53ef\u4ee5\u7406\u89e3\uff08Figma\u672c\u8eab\u4e5f\u4e0d\u89e3\u51b3\u7248\u672c\u5e93\uff09\uff0c\u4f46\u201c\u547d\u540d\u7248\u672c\u201d\u53ea\u662f\u6b62\u75db\u836f\uff0c\u957f\u671f\u770b\u9700\u5efa\u7acb\u57fa\u4e8e\u5185\u5bb9\u5bfb\u5740\u7684\u4e0d\u53ef\u53d8\u5feb\u7167\u4f53\u7cfb\uff0c\u5426\u5219\u4f1a\u6210\u4e3a\u4ec5\u9002\u7528\u4e8e\u201c\u5c0f\u56e2\u961f\u540c\u6b65\u4f1a\u8bae\u201d\u7684\u7cbe\u81f4\u73a9\u5177\u3002MCP\u5b89\u88c5\u95e8\u69db\u4e5f\u6697\u793a\u76ee\u6807\u7528\u6237\u5f97\u662f\u5f00\u53d1\u8005\u517c\u6587\u6863\u5199\u4f5c\u8005\uff0c\u8fd9\u7c7b\u4eba\u5176\u5b9e\u66f4\u4e60\u60efCLI+git\u7684\u539f\u751f\u5de5\u4f5c\u6d41\u2014\u2014\u9664\u975eSkilldocs\u80fd\u8bc1\u660e\u5176\u534f\u4f5c\u6a21\u5f0f\u5e26\u6765\u7684\u6548\u7387\u589e\u76ca\u663e\u8457\u5927\u4e8e\u5b66\u4e60\u6210\u672c\uff0c\u5426\u5219\u5f88\u53ef\u80fd\u4f1a\u53d8\u6210\u201c\u6f14\u793a\u60ca\u8273\u3001\u65e5\u5e38\u5403\u7070\u201d\u7684\u5de5\u5177\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u7f16\u8f91\u5668UI\uff0c\u800c\u5728\u80fd\u5426\u6c89\u6dc0\u51fa\u4e00\u5957\u201c\u4eba\u7c7b\u5171\u8bc6\u2192Agent\u6267\u884c\u2192\u7ed3\u679c\u53cd\u9988\u2192\u6587\u6863\u4fee\u6b63\u201d\u7684\u95ed\u73af\u534f\u8bae\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\">Skilldocs<\/span>\n                <\/div>\n<div class=\"comment-content\">Open a skill, and everyone is in it at once &#8211; real cursors, inline comments, and an editor that renders as you type. Then hand the whole conversation + diff back to the agent.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Collaborating on .md files is a pain &#8211; we paste them into Notion, or open them locally and screenshare. Then after we edit and comment on them, there&#8217;s no easy way to get the feedback back into the coding agents. So&#8230;I built Skilldocs. <\/p>\n<p>I picked the best features of some of my favorite products: <a href=\"https:\/\/www.producthunt.com\/products\/hackmd\" target=\"_blank\" rel=\"noopener\">@HackMD<\/a> &#8216;s mono viewer, <a href=\"https:\/\/www.producthunt.com\/products\/figma\" target=\"_blank\" rel=\"noopener\">@Figma<\/a> &#8216;s live cursors + follow (no screenshare necessary), Google Docs&#8217; real-time highlighting and comments, and <a href=\"https:\/\/www.producthunt.com\/products\/bear\" target=\"_blank\" rel=\"noopener\">@Bear<\/a> &#8216;s beautiful wysiwyg markdown editor. After working on the doc together, leaving comments, and editing it, you can easily copy the diff and comments and send them to your coding agent of choice. <\/p>\n<p>I&#8217;ve started using it for collaborative docs in general. It&#8217;s really fun having a meeting in it. <\/p>\n<p>Minor features I love: <br \/>-Click on a teammates avatar to follow them through a doc or even through switching docs. It&#8217;s like following in Figma &#8211; it feels like screenshare but snappier.<\/p>\n<p>-You can cmd+click to create multiple carets and edit several lines at once (after <a href=\"https:\/\/www.producthunt.com\/products\/sublime\" target=\"_blank\" rel=\"noopener\">@Sublime<\/a> ).<\/p>\n<p>Right now you can import skills via dropping a .md file, pasting markdown, importing from Github, or from your local machine via an MCP. Export is simple: copy the .md of the current doc, diff, or comments. I haven&#8217;t built proper team source control yet but I&#8217;ve gotten a few requests &#8211; I&#8217;d love requests and suggestions here.<\/p>\n<p>h\/t to <a href=\"https:\/\/www.producthunt.com\/@mikekerzhner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikekerzhner<\/a> for early ideation, and <a href=\"https:\/\/www.producthunt.com\/@bernatfortet\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bernatfortet<\/a> <a href=\"https:\/\/www.producthunt.com\/@teamcoscreen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@teamcoscreen<\/a> <a href=\"https:\/\/www.producthunt.com\/@heshamghandour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heshamghandour<\/a> for early testing!<\/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\/@mikekerzhner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikekerzhner<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@bernatfortet\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bernatfortet<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@teamcoscreen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@teamcoscreen<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@heshamghandour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heshamghandour<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@rajiv_ayyangar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rajiv_ayyangar<\/a>&nbsp;<\/p>\n<p>Skilldocs sounds like a very useful solution for teams working with AI coding agents and collaborative documentation.<\/p>\n<p>The ability to edit Markdown together, leave comments, track changes, and then send the diff and feedback directly back to coding agents is a smart workflow.<\/p>\n<p>We run iSEOAI, an AI Tools Directory where developers and teams can discover AI tools for coding, collaboration, productivity, and AI-assisted development.<\/p>\n<p>We\u2019d love to invite Skilldocs to list your product on iSEOAI and help more developers discover it.<\/p>\n<p>Congrats on the launch, and wishing you lots of success with Skilldocs!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@mikekerzhner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikekerzhner<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@bernatfortet\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bernatfortet<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@teamcoscreen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@teamcoscreen<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@heshamghandour\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@heshamghandour<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@rajiv_ayyangar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rajiv_ayyangar<\/a>&nbsp;I have been needing something like this so bad. Thank you for developing 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>on the source control question &#8211; since everyone&#8217;s already live in the same doc like Figma, I&#8217;m not sure you actually want git branches, branching is for when people edit in isolation and need to reconcile later, which is the opposite of what you&#8217;ve built. what I&#8217;d actually want is lighter: the ability to name\/tag a version before I hand the diff to my coding agent, so if the agent runs with a bad version of the skill I can point back to &#8220;the one from tuesday&#8217;s meeting&#8221; instead of reconstructing it from memory. real branching only starts to matter once two agents are independently proposing edits to the same skill without a live human session tying them together, which sounds like a later problem, not a v1 one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@galdayan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@galdayan<\/a>&nbsp;I love that story of just telling the agent which version to reference. Maybe one approach is to make really lightweight versioning in a way that&#8217;s usable by, and apparent to, coding agents. In other words, having the version history and branching history in agents&#8217; context when it matters.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 awesome! I have the wrong mental model for the MCP server install, though, and could use some help. I clicked on the &#8220;Claude Code can work in here&#8221; and am following the instructions. To install the MCP server using this command, do I need to check out a local copy of skilldocs source code? (Very sorry if this is obvious in docs that I should have seen.)<\/p>\n<p>&#8220;`<br \/>claude mcp add skilldocs   -e SKILLDOCS_TOKEN=&lt;paste-token&gt;   &#8212; node &lt;path-to-skilldocs-repo&gt;\/mcp\/index.js<br \/>&#8220;`<\/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=\"comment-item\">\n<div class=\"comment-content\">\n<p>Skilldocs solves a surprisingly awkward collaboration gap! How are you thinking about source control once multiple people and agents are editing the same skill? Will comments and diffs eventually map cleanly back to Git branches\/PRs?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>&nbsp;how would you want it to work?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/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\/FRMSTVLRT7A4E3\" class=\"app-title\">Caveman<\/a><\/p>\n<div class=\"one-liner\">why use many token when few do trick<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">145<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Caveman \u662f\u4e00\u4e2a\u672c\u5730\u4ee3\u7406\u5de5\u5177\uff0c\u901a\u8fc7\u538b\u7f29\u65e5\u5fd7\u3001\u5de5\u5177\u8f93\u51fa\u548c\u6587\u4ef6\u5185\u5bb9\uff0c\u5728\u8c03\u7528 Claude Code\u3001Codex\u3001Gemini CLI \u7b49 AI \u7f16\u7a0b\u4ee3\u7406\u524d\u524a\u51cf\u8f93\u5165 token \u6d88\u8017\uff0c\u4ece\u800c\u964d\u4f4e AI \u4f7f\u7528\u6210\u672c\uff0c\u5b9e\u6d4b\u53ef\u51cf\u5c11\u7ea6 33% \u7684\u8f93\u5165 token \u4e14\u4e0d\u5f71\u54cd\u6b63\u786e\u6027\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/651be91e-6bc6-4383-a708-ce0a89b44597.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=xgZPhJtwVI0\"><source src=\"https:\/\/www.youtube.com\/watch?v=xgZPhJtwVI0\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f8648df7-96c9-4389-8d12-0729d2b84601.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aaf5a540-a746-402c-bf9b-25bb4203958e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/757dc8f9-9088-4414-9743-b8ab569cf279.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2bd73e65-64ce-43db-b398-9faa6f5bf062.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ab1929ac-ac6b-418d-a1d4-77d31fea9733.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">token\u538b\u7f29<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6210\u672c\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u6027\u80fd\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u65e5\u5fd7\u538b\u7f29<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u538b\u7f29<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7a0b\u8f85\u52a9<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u597d\u8bc4\u96c6\u4e2d\u5728\u8282\u7ea6\u6210\u672c\u548c tagline \u5e7d\u9ed8\u4e0a\uff1b\u521b\u59cb\u4eba\u56de\u5e94\u5f3a\u8c03\u540e\u7eed\u5c06\u4fdd\u6301\u9ad8\u9891\u7387\u8fed\u4ee3\uff0c\u5e76\u627f\u8bfa\u66f4\u591a\u4f18\u5316\u3002\u76ee\u524d\u6682\u65e0\u529f\u80fd\u7f3a\u9677\u6216\u5efa\u8bae\u7c7b\u6709\u6548\u53cd\u9988\uff0c\u793e\u533a\u6574\u4f53\u5904\u4e8e\u65e9\u671f\u5173\u6ce8\u9636\u6bb5\uff0c\u671f\u5f85\u66f4\u591a\u5b9e\u6d4b\u6570\u636e\u548c\u573a\u666f\u9a8c\u8bc1\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Caveman \u5207\u4e2d\u7684\u662f AI \u7f16\u7a0b\u4ee3\u7406\u666e\u53ca\u540e\u6700\u771f\u5b9e\u7684\u75db\u70b9\uff1atoken \u8d26\u5355\u6bd4\u5496\u5561\u8fd8\u8d35\u3002\u5b83\u6ca1\u6709\u53bb\u201c\u4f18\u5316\u63d0\u793a\u8bcd\u201d\u8fd9\u79cd\u7384\u5b66\u8def\u7ebf\uff0c\u800c\u662f\u76f4\u63a5\u5728\u7f51\u7edc\u5c42\u505a\u624b\u672f\u2014\u2014\u628a\u65e5\u5fd7\u91cc\u7684\u8fdb\u5ea6\u566a\u97f3\u3001\u4ee3\u7801\u91cc\u7684\u5197\u4f59\u7ed3\u6784\u3001JSON \u91cc\u7684\u65e0\u7528\u5b57\u6bb5\uff0c\u5728\u53d1\u7ed9\u5927\u6a21\u578b\u4e4b\u524d\u5148\u69a8\u5e72\u300233% \u7684 token \u8282\u7701\u4e0d\u662f\u201c\u9ad8\u8fbe 90%\u201d\u7684\u8425\u9500\u8bdd\u672f\uff0c\u800c\u662f\u5199\u5728 commit \u91cc\u7684 54 \u6b21\u57fa\u51c6\u6d4b\u8bd5\u7ed3\u679c\uff0c\u8fd9\u79cd\u53ef\u9a8c\u8bc1\u6027\u503c\u5f97\u5c0a\u91cd\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u770b\uff0c\u8fd9\u4e2a\u4ea7\u54c1\u4ecd\u6709\u4e09\u70b9\u60ac\u800c\u672a\u51b3\u3002\u7b2c\u4e00\uff0c\u538b\u7f29\u662f\u6709\u635f\u53d8\u6362\uff0c\u867d\u7136\u8bbe\u8ba1\u4e86 content-addressed store \u505a\u56de\u6eda\uff0c\u4f46\u201cagent \u80fd\u53d6\u56de\u539f\u59cb\u5b57\u8282\u201d\u548c\u201cagent \u771f\u7684\u4f1a\u53d6\u56de\u201d\u662f\u4e24\u7801\u4e8b\uff0c\u4e00\u65e6\u538b\u7f29\u5bfc\u81f4\u6a21\u578b\u7406\u89e3\u504f\u5dee\uff0c\u6392\u67e5\u6210\u672c\u53ef\u80fd\u62b5\u6d88\u7701\u4e0b\u7684\u94b1\u3002\u7b2c\u4e8c\uff0cBSL-1.1 \u8bb8\u53ef\u8bc1\u867d\u7136\u56db\u5e74\u540e\u8f6c Apache\uff0c\u4f46\u4f01\u4e1a\u91c7\u8d2d\u6700\u5fcc\u8bb3\u201c\u672a\u6765\u7684\u5f00\u6e90\u201d\uff0c\u8fd9\u4f1a\u8ba9\u90e8\u5206\u56e2\u961f\u89c2\u671b\u3002\u7b2c\u4e09\uff0c\u4e5f\u662f\u66f4\u672c\u8d28\u7684\uff1aCaveman \u662f\u5728\u4e3a token \u5b9a\u4ef7\u7684\u8352\u8c2c\u6027\u6253\u8865\u4e01\u2014\u2014\u5982\u679c\u6a21\u578b\u4e0a\u4e0b\u6587\u7a97\u53e3\u548c\u5b9a\u4ef7\u7ed3\u6784\u672a\u6765\u53d1\u751f\u5267\u53d8\uff0c\u8fd9\u5957\u7cbe\u7ec6\u7684\u538b\u7f29\u5f15\u64ce\u53ef\u80fd\u4e00\u591c\u8fc7\u65f6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e0d\u8fc7\uff0c\u521b\u59cb\u4eba\u5bf9\u201c\u771f\u5b9e\u6570\u5b57\u201d\u7684\u6267\u7740\u548c\u201c\u6253\u5370\u62d2\u7edd\u538b\u7f29\u539f\u56e0\u201d\u7684\u900f\u660e\u5ea6\uff0c\u663e\u793a\u51fa\u8fd9\u662f\u4e00\u4e2a\u61c2\u5f00\u53d1\u8005\u5fae\u5999\u5fc3\u7406\u7684\u56e2\u961f\u3002\u5b83\u4e0d\u89e3\u51b3\u201cAI \u662f\u5426\u806a\u660e\u201d\u7684\u95ee\u9898\uff0c\u53ea\u89e3\u51b3\u201c\u7528 AI \u662f\u5426\u4fbf\u5b9c\u201d\u7684\u95ee\u9898\uff0c\u8fd9\u6070\u6070\u662f\u5f53\u524d\u9636\u6bb5\u6700\u6709\u5546\u4e1a\u4ef7\u503c\u7684\u4f4d\u7f6e\u3002\u77ed\u671f\u770b\u662f\u7701\u94b1\u5de5\u5177\uff0c\u957f\u671f\u770b\uff0c\u5982\u679c\u5b83\u79ef\u7d2f\u7684\u538b\u7f29\u7b56\u7565\u80fd\u53cd\u54fa\u5230\u6a21\u578b\u4fa7\u7684 tokenizer \u8bbe\u8ba1\uff0c\u4ef7\u503c\u4f1a\u88ab\u91cd\u65b0\u5b9a\u4e49\u3002\u503c\u5f97\u5173\u6ce8\uff0c\u4f46\u522b\u6307\u671b\u5b83\u662f\u7ec8\u5c40\u65b9\u6848\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Caveman<\/span>\n                <\/div>\n<div class=\"comment-content\">One command wraps Claude Code, Codex, Hermes, and more with a local proxy that compresses logs, tool output, and files before every provider call. In a pinned 54-run benchmark: 33.2% fewer input tokens with 18\/18 correctness checks. Caveman can also run any existing agent skill with ~70% fewer tokens by loading text as images. Built on an open-source ecosystem with 97K+ GitHub stars.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">A few months ago, I was a uni student spending more on AI than on groceries.<\/p>\n<p>Naturally to solve that, I made a skill that makes Claude Code answer like a caveman. &#8220;New object ref each render. Wrap in useMemo.&#8221; 19 tokens instead of 69. People kept it installed because nothing broke and bills got smaller. 97,000 Github stars later plus a #1 post on Hacker News.<\/p>\n<p>Then I read what was actually crossing the wire, and the answers were a rounding error. Every turn re-sends tool schemas, file contents, old history, and 300 lines of npm install noise. My agent talked like a caveman and read like a lawyer.<\/p>\n<p>v2 is a local proxy between your agent and the provider. caveman claude wraps Claude Code; same for Codex, Gemini CLI, Aider, opencode, Hermes, OpenClaw. It never touches your config, and subscription OAuth passes through byte-exact. The engine sniffs each payload type and routes it to a different compressor: logs keep errors and stack traces and lose the progress spam, code keeps imports and signatures via tree-sitter, JSON keeps structure plus error subtrees.<\/p>\n<p>Lossy transforms are landmines, so originals get written to a content-addressed store on your disk before anything goes upstream, and the agent can pull the real bytes back with one tool call. Parse failure or a larger result means the bytes pass through untouched.<\/p>\n<p>Numbers, since that&#8217;s the obvious question: pinned 54-run Claude Code benchmark, 33.2% fewer provider-reported input tokens, 18\/18 exact-answer checks, method and per-case results committed to the repo. Local measurements are labeled &#8220;inferred&#8221; because a local tokenizer is an estimate. There are no &#8220;up to 90%!&#8221; claims anywhere and no verified production numbers yet.<\/p>\n<p>The dumbest thing in here that works: pixel mode. Dense text rendered to PNG costs image tokens instead of text tokens. A 63.7k-char minified tool catalog plus a 93k-char log went from ~55k estimated text tokens to ~11k image tokens. On sparse code the PNG costs more than the text, so the gate refuses and prints why.<\/p>\n<p>Skill is MIT and stays MIT. Engine is BSL-1.1, flips to Apache-2.0 within four years, self-hosting free including production. Runs local, no account.<\/p>\n<p>If a gate declines something you think should compress, the reason is printed. Argue with it in an issue. It&#8217;s not perfect yet, and there are many many more optimizations to be built. This is the first release in a long line of products to reduce the cost of AI per task (not just the tokens).<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@jbrussee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jbrussee<\/a>&nbsp;LOVE this! When I was in high school, a teacher who was a veteran taught us Bottom Line Up Front (BLUF) and now I&#8217;m obsessed with it. Glad my agents can now be concise 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>That looks amazing. Will check it out. Congratulations to the launch!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@janoberhauser\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@janoberhauser<\/a>&nbsp;Thanks Jan! Exciting things on the horizon \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>Great journey so far <a href=\"https:\/\/www.producthunt.com\/@jbrussee\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jbrussee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jbrussee<\/a>, congrats on launching and can&#8217;t wait to see what else you&#8217;re going to ship!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@jobrietbergen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jobrietbergen<\/a>&nbsp;Thanks man! Unfortunately, this has only reinforced the behavior. Expect increasingly irresponsible amounts of shipping.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Awesome journey <a href=\"https:\/\/www.producthunt.com\/@jbrussee\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"jbrussee\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jbrussee<\/a> let&#8217;s gooo!! \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\/@manouk_dr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@manouk_dr<\/a>&nbsp;Thanks Manouk!! Really appreciate it, so exciting to see where all of this goes from here \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>upvoting because your tagline is top tier \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<\/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\/KGXJNX2IMMNDIR\" class=\"app-title\">Kitbitz<\/a><\/p>\n<div class=\"one-liner\">2K+ free hand-drawn illustrations for your projects, CC0<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">136<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Kitbitz \u662f\u4e00\u4e2a\u6536\u5f55\u4e86\u8d85\u8fc72000\u4e2a\u624b\u7ed8\u98ce\u683cSVG\/PNG\u77e2\u91cf\u7d20\u6750\u7684\u514d\u8d39CC0\u56fe\u5e93\uff0c\u8986\u76d613\u4e2a\u4e3b\u9898\u5957\u4ef6\uff0c\u4e3a\u6e38\u620f\u3001\u5e94\u7528\u3001\u63d2\u753b\u548c\u521b\u610f\u4e16\u754c\u642d\u5efa\u63d0\u4f9b\u5373\u53d6\u5373\u7528\u7684\u89c6\u89c9\u8d44\u4ea7\uff0c\u89e3\u51b3\u4e86\u72ec\u7acb\u5f00\u53d1\u8005\u4e0e\u8bbe\u8ba1\u5e08\u5bfb\u627e\u98ce\u683c\u7edf\u4e00\u4e14\u53ef\u5546\u7528\u7d20\u6750\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\/ae789c18-6126-48f1-a5f7-2442980da88d.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2173ce80-7eec-4d74-9eb5-c146fb583d88.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\/ddb1a1ab-f62f-4383-9794-48a66f709e60.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\/0fdd4528-43eb-4bcd-addc-064f84fbcbcf.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\/a5dbdd02-176e-4014-86bf-89019ba87481.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\/1123281d-5335-4bda-bf07-ded52b83c5c6.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\/ca6c37e8-04fa-4d41-a2cb-4a4ace1bf2bd.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\/51818252-a686-4120-aaaf-971fe89d027f.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\/3bd4789c-f05f-41cc-aecf-1f4fc1285d46.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\/0e78299a-8a81-4ad8-904d-c9268e927d02.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\/f9402e94-980b-4778-8d00-7d4060c1fdcc.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\/a6a496af-a72e-4969-a490-b41457510f5d.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\/99a5f2c5-702f-4443-8af9-8eb8a5a72f1e.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\/89a97454-0da8-403a-bc61-4a6705af1a62.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/kBpRCADkVCY\"><source src=\"https:\/\/youtu.be\/kBpRCADkVCY\" 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\">Games<\/span><br \/>\n            <span class=\"tag\">Graphics &#038; Design<\/span><br \/>\n            <span class=\"tag\">Illustration<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u624b\u7ed8\u63d2\u753b<\/span><br \/>\n            <span class=\"tag\">CC0\u7d20\u6750\u5e93<\/span><br \/>\n            <span class=\"tag\">\u77e2\u91cf\u56fe\u5f62<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u7f8e\u672f<\/span><br \/>\n            <span class=\"tag\">UI\u8d44\u6e90<\/span><br \/>\n            <span class=\"tag\">Figma\u63d2\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u514d\u8d39\u5546\u7528<\/span><br \/>\n            <span class=\"tag\">\u4e16\u754c\u6784\u5efa<\/span><br \/>\n            <span class=\"tag\">\u8bbe\u8ba1\u8d44\u6e90<\/span><br \/>\n            <span class=\"tag\">\u7d20\u6750\u4e0b\u8f7d<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8d5e\u8d4f\u5176\u827a\u672f\u8d28\u91cf\u4e0e\u514d\u8d39CC0\u6388\u6743\uff0c\u8ba4\u4e3a\u7d20\u6750\u95f4\u98ce\u683c\u7edf\u4e00\u3001\u7ec4\u5408\u5ea6\u9ad8\u3002\u90e8\u5206\u8bc4\u8bba\u5bf9\u5373\u5c06\u63a8\u51fa\u7684\u4e16\u754c\u751f\u6210\u5668\u548cFigma\u63d2\u4ef6\u8868\u793a\u671f\u5f85\uff0c\u6682\u65e0\u8d1f\u9762\u53cd\u9988\u6216\u529f\u80fd\u8bf7\u6c42\uff0c\u6838\u5fc3\u5efa\u8bae\u96c6\u4e2d\u4e8e\u5e0c\u671b\u751f\u6001\u5de5\u5177\uff08\u5982\u63d2\u4ef6\u3001\u751f\u6210\u5668\uff09\u5c3d\u5feb\u843d\u5730\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                Kitbitz \u7684\u672c\u8d28\u662f\u4e00\u6b21\u201c\u6c89\u6ca1\u6210\u672c\u201d\u7684\u5de7\u5999\u53d8\u73b0\u2014\u2014\u521b\u59cb\u4eba\u5728\u6b64\u524d\u5931\u8d25\u7684\u6e38\u620f\u9879\u76ee\u4e2d\u79ef\u7d2f\u4e86\u6d77\u91cf\u9ad8\u8d28\u91cf\u7f8e\u672f\u8d44\u4ea7\uff0c\u5982\u4eca\u4ee5CC0\u5f62\u5f0f\u514d\u8d39\u91ca\u653e\uff0c\u5b9e\u5219\u5b8c\u6210\u4e86\u4ece\u201c\u5931\u8d25\u9879\u76ee\u8d1f\u503a\u201d\u5230\u201c\u5f00\u53d1\u8005\u793e\u533a\u8d44\u4ea7\u201d\u7684\u4ef7\u503c\u8f6c\u79fb\u3002\u8fd9\u5f88\u806a\u660e\uff0c\u4f46\u4e5f\u8981\u770b\u6e05\u5176\u5546\u4e1a\u903b\u8f91\u7684\u8106\u5f31\u9762\uff1aCC0\u610f\u5473\u7740\u96f6\u6388\u6743\u58c1\u5792\uff0c\u4efb\u4f55\u5546\u4e1a\u516c\u53f8\u90fd\u80fd\u5c06\u8fd9\u4e9b\u7d20\u6750\u6574\u5408\u8fdb\u81ea\u5bb6\u4ea7\u54c1\u800c\u4e0d\u7559\u75d5\uff0c\u5f53\u524d\u70ed\u5ea6\uff08136\u7968\uff09\u4e3b\u8981\u4f9d\u8d56\u521b\u4f5c\u8005\u7684\u4e2a\u4eba\u53d9\u4e8b\u4e0e\u60c5\u6000\u52a0\u6210\uff0c\u800c\u975e\u4e0d\u53ef\u66ff\u4ee3\u7684\u5de5\u5177\u6027\u3002\u771f\u6b63\u7684\u62a4\u57ce\u6cb3\u4e0d\u5728\u7d20\u6750\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u5176\u627f\u8bfa\u7684\u5468\u8fb9\u751f\u6001\u2014\u2014Figma\u63d2\u4ef6\u3001MCP\u534f\u8bae\u652f\u6301\u548c\u5730\u5f62\/\u4e16\u754c\u751f\u6210\u5668\u624d\u662f\u5c06\u201c\u4e00\u6b21\u6027\u4e0b\u8f7d\u5e93\u201d\u53d8\u4e3a\u201c\u6301\u7eed\u521b\u4f5c\u57fa\u7840\u8bbe\u65bd\u201d\u7684\u5173\u952e\u3002\u82e5\u8fd9\u4e9b\u5de5\u5177\u4ec5\u662f\u6982\u5ff5\u73a9\u5177\uff0cKitbitz\u7ec8\u5c06\u6210\u4e3a\u53c8\u4e00\u4e2a\u88ab\u6536\u85cf\u5939\u541e\u6ca1\u7684\u514d\u8d39\u8d44\u6e90\u7ad9\uff1b\u82e5\u4e16\u754c\u751f\u6210\u5668\u80fd\u5b9e\u73b0\u57fa\u4e8e\u7d20\u6750\u7684\u6a21\u5757\u5316\u62fc\u63a5\uff0c\u5219\u6709\u673a\u4f1a\u5207\u5165\u4f4e\u4ee3\u7801\u6e38\u620f\u5f00\u53d1\u4e0eAI\u8f85\u52a9\u573a\u666f\u53d9\u4e8b\u7684\u7ec6\u5206\u8d5b\u9053\u3002\u53e6\u5916\uff0c\u7d20\u6750\u867d\u6807\u6ce8\u201c\u7075\u6d3b\u7f29\u653e\u4e0d\u53d8\u5f62\u201d\uff0c\u4f46\u624b\u7ed8\u98ce\u683c\u5728\u77e2\u91cf\u91cd\u7ed8\u65f6\u5bf9\u951a\u70b9\u8d28\u91cf\u8981\u6c42\u6781\u9ad8\uff0c\u9700\u5b9e\u6d4b\u5176SVG\u5728\u4e0d\u540c\u5c3a\u5ea6\u4e0b\u7684\u51e0\u4f55\u7a33\u5b9a\u6027\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u4e2a\u6709\u5ba1\u7f8e\u3001\u6709\u6e29\u5ea6\u7684\u5f00\u6e90\u5f0f\u9879\u76ee\uff0c\u4f46\u4ea7\u54c1\u529b\u4ecd\u9700\u4ece\u201c\u8d60\u54c1\u201d\u8d70\u5411\u201c\u751f\u4ea7\u529b\u5de5\u5177\u201d\u7684\u8715\u53d8\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\">Kitbitz<\/span>\n                <\/div>\n<div class=\"comment-content\">A free CC0 library of 2,000+ hand-drawn assets across 13 themed kits. Download individual SVGs and PNGs, or grab the full Figma Community libraries with reusable components, color variables and flexible, resizable assets. Use them for games, apps, maps, illustrations and playful little worlds. We\u2019re also building a Figma plugin, MCP support and world-building tools around the library.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019ve been sitting on these illustrations for way too long.<\/p>\n<p>A few years ago, we built an ambitious 2D world and game builder. I spent about a year leading the illustration work for it, creating kits full of tiny buildings, trees, props, characters, rocks, weapons, furniture and all sorts of other bits you could combine into your own worlds.<\/p>\n<p>I loved the product and really believed in it, but it never got the chance to become what we hoped it could be. Leaving thousands of illustrations sitting in old Figma files felt like such a waste.<\/p>\n<p>So, as a little side project, I started giving them a second life.<\/p>\n<p>That became <a href=\"https:\/\/kitbitz.art\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Kitbitz<\/strong> <\/a><\/p>\n<p>There are now 2,000+ hand-drawn assets across 13 themed kits, all released under CC0. You can download individual SVGs and PNGs, or grab the full Figma Community libraries with reusable components, color variables and flexible assets built to resize, stretch and tweak without everything going wonky.<\/p>\n<p>And I\u2019m having way too much fun taking it further. I\u2019m already playing with a<a href=\"https:\/\/www.figma.com\/community\/plugin\/1668960104379981341\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"> Figma plugin,<\/a> MCP support and a terrain\/world generator to make the kits even more useful and fun to build with.<\/p>\n<p>Take whatever you want. Make something fun with it. \ud83d\ude80<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>6<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I\u2019m really happy to hunt Kitbitz today. \ud83d\udcab<\/p>\n<p>It\u2019s one of those projects that feels immediately useful, but also just really fun.<\/p>\n<p>Kitbitz is a free CC0 library of 2,000+ hand-drawn illustrations across 13 themed kits, from nature and medieval worlds to space, cities, pirates, dungeons and more.<\/p>\n<p>You can download individual SVGs and PNGs, or grab the full Figma libraries with reusable components, color variables and flexible, resizable assets.<\/p>\n<p>What I especially like is that this isn\u2019t just a folder of illustrations being released and forgotten. Sjoerd is already building more around the library, including a Figma plugin, MCP support and world-building tools.<\/p>\n<p>Everything is free to use, remix and ship, including commercially, with no attribution required.<\/p>\n<p>There\u2019s a lot of craft and a lot of love hidden in these tiny pieces.<\/p>\n<p>Go make something weird with them. \ud83d\udc27\ud83c\udff0\u2728<\/p><\/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\/@gzampino\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@gzampino<\/a>&nbsp;Thanks for hunting this Gabs, really appreciate it! \u2764\ufe0f<\/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\">It feels so good to finally be able to share these beautifully hand-crafted assets with the world, and especially to make them available for free.<\/p>\n<p>So much care, time, and thought went into creating these over the years, across so many incredibly talented illustrators and designers. It always felt a little wrong knowing that all of that work was just sitting in old files.<\/p>\n<p>Big props to Sjoerd for taking the initiative and actually making this happen. I\u2019m so happy these finally get to have a life out in the world \u2764\ufe0f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>4<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is so cool!! \ud83e\udd79 So much work and love clearly went into these. Very excited to see what people make with Kitbitz. Congrats <a href=\"https:\/\/www.producthunt.com\/@sjoerd_huisman\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"sjoerd_huisman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sjoerd_huisman<\/a> on finally getting it out into the world!! \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\">@mariate thanks a lot for the kind words Mariate! Really appreciate it \u2764\ufe0f<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve had the fortune to work with Sjoerd on many projects over several years and got to watch a lot of these get made. Incredible illustrator\/designer\/dev. What still gets me is how well the pieces fit together&#8230; you can build almost any world with them and nothing looks out of place. That part is really hard to pull off<\/p>\n<p>So happy these are finally out. Congrats Sjoerd!!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Thanks so much Pabs, that means the world to me. Couldn&#8217;t have done it without your support. You enabled us to create these. Most fun times I&#8217;ve had in my work life.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>With the whole maximalist design trend, this is a great way to level up designs. We&#8217;re out of the simplistic, sleek era for sure.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">Really like what you\u2019ve done with this. The world generator you mentioned sounds like a fun next step too! \ud83d\ude42 Congrats on the launch!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@etiennegarcia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@etiennegarcia<\/a>&nbsp;thanks Etienne!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Must have for the game-like products!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">@shell100500 Aaaay thanks Andriii!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>These could be pretty cool for creating a video game! \ud83d\ude00<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;Right? I&#8217;m so excited to see waht people build with them!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/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\/ABBU5P5YT2K2II\" class=\"app-title\">Mem Agent<\/a><\/p>\n<div class=\"one-liner\">The AI that refuses to let you drop the ball<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">122<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Mem Agent \u662f\u4e00\u6b3e\u201c\u4e0d\u8ba9\u4efb\u4f55\u4e8b\u6389\u94fe\u5b50\u201d\u7684 AI \u8bb0\u5fc6\u4e0e\u4efb\u52a1\u4ee3\u7406\uff0c\u5b83\u628a\u4f60\u6563\u843d\u5728\u7b14\u8bb0\u3001\u4f1a\u8bae\u3001\u90ae\u4ef6\u548c\u8bed\u97f3\u91cc\u7684\u5f85\u529e\u4e0e\u60f3\u6cd5\u81ea\u52a8\u6574\u7406\u6210\u52a8\u6001\u4efb\u52a1\u6a21\u578b\uff0c\u5e76\u5728\u6700\u5408\u9002\u7684\u65f6\u673a\u4e3b\u52a8\u63d0\u9192\u4f60\u8ddf\u8fdb\uff0c\u5c24\u5176\u9002\u5408\u4fe1\u606f\u788e\u7247\u5316\u4e25\u91cd\u3001\u9760\u4f20\u7edf\u5f85\u529e\u6e05\u5355\u96be\u4ee5\u575a\u6301\u7684\u804c\u573a\u4eba\u548c\u8f7b\u5ea6 ADHD \u7528\u6237\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\/2d91fc74-46da-4406-80b2-4cdeec51321e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c04187f7-e6aa-4bb7-9323-9ecfd131b63e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/efd7ab8a-80c4-4ffa-806e-44660c25a54e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/798e9226-197f-41aa-b723-893e05d8b10a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ad80ffc8-ab7a-4b22-b182-c813119640c8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/378ff9a0-0d6e-42e1-925a-87aff2dcd648.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ffd04b57-39c8-4409-abf1-3c2be9f9423b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aab759e5-69d4-43bb-89d9-1102fb20bea8.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\/4d69125a-e69b-46ca-b8ba-05f65641dd86.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=4tcauWxdTrQ\"><source src=\"https:\/\/www.youtube.com\/watch?v=4tcauWxdTrQ\" 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\">Task Management<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u4efb\u52a1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u8bb0\u5fc6\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u52a8\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u7b14\u8bb0\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u901f\u8bb0<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u77e5\u8bc6\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u8ddf\u8fdb<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u4e3b\u52a8\u8ddf\u8fdb\u201d\u548c\u201c\u6309\u4e0a\u4e0b\u6587\u56de\u653e\u201d\u80fd\u529b\uff0c\u80fd\u66ff\u4ee3\u4f20\u7edf\u5f85\u529e\u6e05\u5355\uff0c\u964d\u4f4e\u538b\u529b\u3002\u4e3b\u8981\u95ee\u9898\uff1a\u8bed\u97f3\u8f6c\u5199\u652f\u6301\u8bed\u8a00\u6709\u9650\uff0c\u5f71\u54cd\u975e\u82f1\u8bed\u7528\u6237\u4f7f\u7528\uff1b\u6709\u7528\u6237\u62c5\u5fc3\u4ef7\u683c\u4f1a\u4e0a\u6da8\uff1b\u90e8\u5206\u7528\u6237\u5173\u6ce8\u63d0\u9192\u65f6\u673a\u7684\u667a\u80fd\u5224\u65ad\u8fb9\u754c\uff0c\u62c5\u5fc3\u8fc7\u5ea6\u6253\u6270\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                Mem Agent \u672c\u8d28\u4e0a\u4e0d\u662f\u53c8\u4e00\u4e2a\u201c\u7b14\u8bb0+\u5f85\u529e\u201d\u7684\u7f1d\u5408\u602a\uff0c\u800c\u662f\u628a\u201c\u8bb0\u5fc6\u201d\u4ece\u88ab\u52a8\u5b58\u50a8\u5347\u7ea7\u4e3a\u4e3b\u52a8\u6267\u884c\u7684\u4e2d\u67a2\u3002\u5b83\u7684\u6838\u5fc3\u5dee\u5f02\u5728\u4e8e\u201c\u6709\u4e3b\u89c1\u201d\u2014\u2014\u4e0d\u9760\u7528\u6237\u624b\u52a8\u8bbe\u7f6e\u622a\u6b62\u65e5\u671f\uff0c\u800c\u662f\u57fa\u4e8e\u4f60\u5582\u7ed9\u5b83\u7684\u6240\u6709\u4e0a\u4e0b\u6587\uff08\u7b14\u8bb0\u3001\u90ae\u4ef6\u3001\u4f1a\u8bae\u3001\u5065\u5eb7\u6570\u636e\u751a\u81f3\u624b\u5199\u65e5\u5fd7\uff09\u5efa\u7acb\u4e00\u4e2a\u52a8\u6001\u7684\u4f18\u5148\u7ea7\u6a21\u578b\uff0c\u7136\u540e\u5728\u5b83\u8ba4\u4e3a\u201c\u5408\u9002\u7684\u65f6\u5019\u201d\u63a8\u4f60\u4e00\u628a\u3002\u8fd9\u6b63\u597d\u547d\u4e2d\u4e86\u4f20\u7edf\u4efb\u52a1\u7ba1\u7406\u5de5\u5177\u7684\u6700\u5927\u6b7b\u7a74\uff1a\u6536\u96c6\u5bb9\u6613\uff0c\u56de\u8bbf\u96be\uff0c\u575a\u6301\u66f4\u96be\u3002\u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u6700\u60ca\u8273\u7684\u4e0d\u662f\u5b83\u80fd\u8bb0\uff0c\u800c\u662f\u5b83\u201c\u77e5\u9053\u4ec0\u4e48\u65f6\u5019\u8be5\u63d0\u201d\u2014\u2014\u8fd9\u80cc\u540e\u662f\u5bf9\u771f\u5b9e\u5de5\u4f5c\u8282\u594f\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u7b80\u5355\u7684\u65e5\u5386\u63d0\u9192\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u540c\u6837\u660e\u663e\u3002\u9996\u5148\uff0c\u5b83\u7684\u201c\u667a\u80fd\u201d\u4f9d\u8d56\u5bf9\u7528\u6237\u6570\u636e\u7684\u6df1\u5ea6\u8bfb\u53d6\u548c\u5efa\u6a21\uff0c\u8fd9\u610f\u5473\u7740\u9690\u79c1\u8fb9\u754c\u548c\u4fe1\u4efb\u6210\u672c\u6781\u9ad8\uff0c\u76ee\u524d\u8bc4\u8bba\u91cc\u5c1a\u672a\u6709\u4eba\u8d28\u7591\u6570\u636e\u5b89\u5168\uff0c\u8fd9\u662f\u6f5c\u5728\u7684\u96f7\u533a\u3002\u5176\u6b21\uff0c\u8bed\u97f3\u8f6c\u5199\u8bed\u8a00\u652f\u6301\u6709\u9650\uff0c\u76f4\u63a5\u780d\u6389\u4e86\u4e00\u5927\u5757\u975e\u82f1\u8bed\u5e02\u573a\uff0c\u5bf9\u4e8e\u4e00\u4e2a\u5ba3\u79f0\u201c\u65e0\u6469\u64e6\u6355\u83b7\u201d\u7684\u5de5\u5177\u800c\u8a00\uff0c\u8fd9\u662f\u786c\u4f24\u3002\u7b2c\u4e09\uff0cAI \u5224\u5b9a\u201c\u5408\u9002\u65f6\u673a\u201d\u7684\u7b97\u6cd5\u4e00\u65e6\u5728\u590d\u6742\u573a\u666f\u4e0b\u8bef\u5224\uff08\u6bd4\u5982\u7d27\u6025\u4e8b\u52a1\u88ab\u540e\u7f6e\uff09\uff0c\u7528\u6237\u4fe1\u4efb\u5c31\u4f1a\u8fc5\u901f\u5d29\u584c\u2014\u2014\u800c\u8bc4\u8bba\u4e2d\u5df2\u6709\u7528\u6237\u8868\u8fbe\u4e86\u5bf9\u201c\u63d0\u9192\u53d8\u6210\u6253\u6270\u201d\u7684\u62c5\u5fe7\uff0c\u8fd9\u6070\u6070\u662f\u8fd9\u7c7b\u4ea7\u54c1\u4ece\u201c\u52a9\u624b\u201d\u6ca6\u4e3a\u201c\u566a\u97f3\u201d\u7684\u5206\u6c34\u5cad\u3002Mem Agent \u76ee\u524d\u6700\u5927\u7684\u62a4\u57ce\u6cb3\u4e0d\u662f\u6280\u672f\uff0c\u800c\u662f\u5b83\u628a\u201c\u8ddf\u8fdb\u201d\u8fd9\u4ef6\u4e8b\u505a\u6210\u4e86\u4ea7\u54c1\u9ed8\u8ba4\u884c\u4e3a\uff0c\u800c\u975e\u7528\u6237\u989d\u5916\u4ed8\u51fa\u7684\u52aa\u529b\u3002\u5b83\u503c\u5f97\u5173\u6ce8\uff0c\u4f46\u82e5\u4e0d\u80fd\u5728\u591a\u8bed\u8a00\u652f\u6301\u548c\u4e3b\u52a8\u63d0\u9192\u7684\u53ef\u89e3\u91ca\u6027\u4e0a\u8865\u8bfe\uff0c\u5f88\u5bb9\u6613\u4ece\u201cAI \u4ee3\u7406\u201d\u6ed1\u5411\u201c\u9ad8\u7ea7\u95f9\u949f\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Mem Agent<\/span>\n                <\/div>\n<div class=\"comment-content\">An important deliverable, or a pizza place saved for that someday trip to Italy\u2014Mem Agent keeps track of what you tell it, plus the todos living inside your notes and meetings, sharply following up so it actually happens. And with Push-to-Remember, seamlessly capture a thought into Mem or recall something you saved with a single button\u2014all without leaving your work.<\/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>Ever since we started Mem, we&#8217;ve been obsessed with the idea that your mind is a gold mine\u2014full of thoughts, aspirations, and to-dos that never see the light of day again. Today, we&#8217;re excited to launch <strong>Mem Agent<\/strong>, the AI that refuses to let you drop the ball on anything that you care about, grounded in what you tell it and the notes and bits of info you feed it. One unexpected surprise from early users: one thing they <em>have<\/em> dropped is\u2026 their task management apps.<\/p>\n<\/p>\n<p><strong>How it works<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Dump what you need to remember in Mem<\/strong> \u2013 meeting notes, brain dumps, files. Text it, Slack it, forward an email, or hit one key to Push-to-Remember with voice.<\/p>\n<\/li>\n<li>\n<p><strong>Trust<\/strong> \u2013 Mem Agent takes what you&#8217;ve given it and folds it into an ever-evolving model of your current work and priorities, and when it&#8217;ll be relevant later.<\/p>\n<\/li>\n<li>\n<p><strong>Get nudged at the right time<\/strong> \u2013 Forget setting due dates or alarms on your phone. Know that you&#8217;ll get reminded of the thing when the time is right. For the important stuff, Mem won&#8217;t drop it until you say the word.<\/p>\n<\/li>\n<\/ol>\n<p><strong>How it&#8217;s different<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Opinionated and works right out of the box<\/strong>: Most AI tools require you to prompt, configure, and piece together skills to be good at following up. We wrote it a charter: the behaviors it\u2019s not allowed to ever give up, so it works on day one.<\/p>\n<\/li>\n<li>\n<p><strong>It&#8217;s got receipts<\/strong>: At any point, pop open the Agent Overlay and look into Mem Agent&#8217;s brain\u2014see what tasks, projects, and goals it&#8217;s tracking for you. Then close it and get back to not worrying whether someone&#8217;s got it. (Someone does.)<\/p>\n<\/li>\n<li>\n<p><strong>Connected apps provide more context, not more noise: <\/strong>When you connect apps (like Gmail), Mem Agent uses them as context to skip reminders for things you&#8217;ve already handled, giving you fewer obsolete reminders to sift through.<\/p>\n<\/li>\n<li>\n<p><strong>Backed by a shared workspace<\/strong>: Your Mem workspace is where the notes you and Mem create live. Capture new notes, import existing ones, or let Mem take all the notes. It&#8217;s your shared brain, all cleaned up and organized\u2014no \u201cprocrastivity\u201d work of managing a sidebar of folders here.<\/p>\n<\/li>\n<li>\n<p><strong>Fastest capture and recall<\/strong>: Never lose another thought; summon details deep in your notes with a single keypress using Push to Remember.<\/p>\n<\/li>\n<li>\n<p><strong>Persistent as hell<\/strong>: It won&#8217;t let an important thread go cold\u2014not on its watch\u2014unless you tell it to. It&#8217;ll change tactics or find another time, but it won\u2019t quietly give up.<\/p>\n<\/li>\n<\/ul>\n<p><strong>How to start<\/strong><\/p>\n<ul>\n<li>\n<p>Download the app. (Try Mem Agent with Proactive plan free for 7 days, and don\u2019t forget to use code DROPTHEBALL to get 50% off your first month when signing up on web\/desktop.)<\/p>\n<\/li>\n<li>\n<p>Immediately try <strong>Push-to-Remember<\/strong> and just brain dump with your voice\u2014getting every little task off your mind and into Mem.<\/p>\n<\/li>\n<\/ul>\n<p>That\u2019s it. Mem takes it from there\u2014expect a ping at just the right time (\u201chey, still grabbing pasta for tonight\u2019s dinner?\u201d).<\/p>\n<\/p>\n<p><strong>Early feedback from customers<\/strong><\/p>\n<ul>\n<li>\n<p>&#8220;I have stopped keeping a visible task list. I tell the agent roughly when and it picks the timing. I stress less about tasks now and this is not what I would have guessed before starting using agent.&#8221;<\/p>\n<\/li>\n<li>\n<p>&#8220;Please take all my money. This thing is amazing!!! It&#8217;s like OpenClaw and Mem had a baby!&#8221;<\/p>\n<\/li>\n<li>\n<p>&#8220;Agent so far is the best thing I didn&#8217;t know I needed. My productivity is on another level&#8221;<\/p>\n<\/li>\n<\/ul>\n<p>Give it a spin and tell us what you love and what you want to see next\u2014and tell me: <em>what&#8217;s the one thing you&#8217;d want an agent to refuse to let you drop? \ud83d\udc47<\/em><\/p>\n<p>Kevin<br \/>CEO and Founder of Mem<\/p>\n<\/p>\n<p>PS &#8212; I&#8217;ve also shared a longer form comparison of Claude vs. OpenClaw vs. Mem Agent. Check it out:  <a href=\"https:\/\/x.com\/kevinfmoody\/status\/2087718606281015615\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/x.com\/kevinfmoody\/status\/2087718606281015615<\/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\/@kevinfmoody\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevinfmoody<\/a>&nbsp;Game-changing. I have mild ADHD, and this feels like a blessing. I love the heads-ups and reminders. \ud83d\ude4c<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>Mem Agent helps me keep track of scattered personal administration and follow through on it at the right time.<\/p>\n<p>After my trip to Australia, Mem kept several active threads together: cat care, a blood-pressure check, a doctor\u2019s appointment, an AC warranty issue with the car, configuring my custom iCloud email domain, and arranging an inspection of the roof. Instead of having to reconstruct everything from earlier conversations, I had these threads brought back into view at useful moments and in the right context.<\/p>\n<p>What distinguishes this from an ordinary to-do list is the context behind the follow-through: why something matters, what is time-sensitive, and what makes sense to tackle when I actually have the capacity.<\/p>\n<\/p>\n<p>There is only one thing I\u2019m sad about: I can\u2019t use the push feature to remember or record meetings, because the range of languages Mem can transcribe is still quite limited.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@kevinfmoody\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@kevinfmoody<\/a>&nbsp;capturing the idea is the easy part now, every note app can do that. The harder problem is resurfacing it at the moment it&#8217;s actually useful, which is where most memory tools quietly fail and things get dropped anyway. Push-to-Remember without leaving your work is the right instinct, friction at capture time is what kills the habit. Curious how you&#8217;re deciding follow-up timing, that&#8217;s usually the line between helpful and annoying for this kind of 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<h1><strong>Try it, it might change the way you work<\/strong><\/h1>\n<p>I&#8217;ve been using Mem Agent for several weeks now, and I strongly recommend giving it a try because it brings together &#8211; for me at least &#8211; a calmer, more personal way of working, reliable project follow-through, a practical bridge between handwritten and digital planning, meaningful health-data context, and a useful cross-checking layer for sources Mem cannot (yet?) access directly:<\/p>\n<ul>\n<li>\n<p>It has helped me turn GTD into something I can actually live inside, rather than another planning system. I was able to teach Mem Agent my own way of working through explicit instructions, personal skills, and routines \u2014 for example, how to keep the background bookkeeping quiet, bring unclear points to me one at a time, and combine project context, calendar shape, energy\/readiness, and real external deadlines into one suggested needle-mover or several suggested tasks fitting the context and time when I ask for it. The structure is maintained underneath, but the next action is chosen intuitively by me in the moment based on what feels doable and whats presented by Mem, which makes my GTD practice feel much closer to Time Surfing \u2014 without adding stress or pressure.<\/p>\n<\/li>\n<li>\n<p>It turns scattered real-world planning into a functioning project system. For a youth chess championship, I had chats, emails, volunteer names, venue logistics, catering questions, materials, and deadlines spread across different places. Mem Agent consolidated that into a live project with milestones, owners, dependencies, and parallel next actions \u2014 while keeping genuinely independent workstreams open instead of forcing everything into one artificial sequence. I could and did keep refining the system by teaching it how I wanted reviews, routines, and follow-through to work, rather than adapting my life to a fixed template.<\/p>\n<\/li>\n<li>\n<p>It gives me a working bridge between my daily Bullet Journal on my Remarkable and my digital system. Mem Agent reads those pages with varying degrees of accuracy, then cross-checks what it extracts against Mem\u2019s own notes, tasks, projects, and dates. That makes the BuJo and the digital system partners rather than competing sources: discrepancies can become visible, useful information can be carried over, and I can keep the flexibility of writing by hand without letting the digital record quietly drift away from reality. The occasional extra work needed to decipher a page is probably more a reflection of my handwriting than of the system itself.<\/p>\n<\/li>\n<li>\n<p>It has become a personal health-data reconciliation layer rather than just a place to dump wearable numbers. I gave it a HealthLog containing journal entries, nutrition, Withings body data, and workouts, alongside and using Oura and Bevel exports; Mem Agent turns these different sources into analysis-ready tables for daily overview, sleep, cardiovascular data, activity, scores, habits, and workouts. It also preserves the actual measurement date instead of the import date and resolved an apparent Oura-versus-Bevel contradiction by recognizing that Bevel exports refer to the previous night and that Bevel\u2019s recovery percentages are its own calculations, not Oura scores. That makes it possible to look at sleep debt, HRV, readiness, hydration, stress, and training together with what actually happened that day \u2014 without pretending the data supports medical conclusions.<\/p>\n<\/li>\n<li>\n<p>I also use Claude as a cross-checking layer for sources that Mem Agent cannot yet access directly, including Granola, Recall, and Evernote. Claude compares what those tools contain with Mem Agent\u2019s records and surfaces information that may be missing or unclear, so I can bring it into the conversation and keep the overall system more complete.<\/p>\n<\/li>\n<\/ul>\n<p>Overall, Mem has made my work simpler, clearer, and more relaxed. It keeps important commitments and context in view, helps me think through uncertainty, and lets me use GTD in a more \u201cTime Surfing\u201d-way without extra pressure.<\/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 am a big fan! I have been using Mem AI for a few months now, and I have to say that since the MCP integration, my life has changed a little bit. Everything is there now, and I\u2019m just a question away from finding anything I need in both my professional and personal life.<\/p>\n<p>I have tried many similar apps, but Mem was the perfect fit right away. btw, I barely use it for work. I mostly use it for personal stuff and it\u2019s still worth every penny (but please don\u2019t raise the prices!! lol)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3GHDXQNQTKAGP6\" class=\"app-title\">WebBrain<\/a><\/p>\n<div class=\"one-liner\">The sidebar agent for the rest of us<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">117<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>WebBrain\u662f\u4e00\u6b3e\u514d\u8d39\u5f00\u6e90\u7684\u6d4f\u89c8\u5668\u4fa7\u8fb9\u680fAI\u4ee3\u7406\uff0c\u901a\u8fc7\u672c\u5730\u8fd0\u884c\u6216\u81ea\u5e26API\u5bc6\u94a5\u63a5\u5165\u4efb\u610f\u5927\u6a21\u578b\uff0c\u5e2e\u7528\u6237\u76f4\u63a5\u8bfb\u53d6\u7f51\u9875\u3001\u63d0\u53d6\u6570\u636e\u5e76\u81ea\u52a8\u5316\u64cd\u4f5c\uff0c\u89e3\u51b3\u4f20\u7edf\u6d4f\u89c8\u5668AI\u52a9\u624b\u53d7\u9650\u4e8e\u6a21\u578b\u548c\u8ba2\u9605\u3001\u6570\u636e\u9690\u79c1\u96be\u4fdd\u969c\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\/f0d2f94c-7f6d-4848-b54a-d125015e46fa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2ded199f-0bde-4922-b8e5-f48fd772c0da.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f8a798d9-6a5f-4259-bac3-8bf6314bd126.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eee5cf6c-17a5-40dc-b66a-c18ad6fe5f57.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a4dc1be8-a445-4a4e-b279-4ff62cb9eb59.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/66c36866-0854-47cf-b04d-19ea8e81c127.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\/f1123812-1be4-463b-9d45-31780e217722.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=2paSTsAKSME\"><source src=\"https:\/\/www.youtube.com\/watch?v=2paSTsAKSME\" 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\">Browser Extensions<\/span><br \/>\n            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u6d4f\u89c8\u5668\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u63a8\u7406<\/span><br \/>\n            <span class=\"tag\">\u4fa7\u8fb9\u680f\u6269\u5c55<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">\u591a\u6a21\u578b\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u7f51\u9875\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">BYOK<\/span><br \/>\n            <span class=\"tag\">MIT\u534f\u8bae<\/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\u672c\u5730\u4f18\u5148\u7684\u5b9a\u4f4d\uff0c\u5e76\u5efa\u8bae\u5ba3\u4f20\u65f6\u5f3a\u8c03\u201c\u6570\u636e\u4e0d\u51fa\u8bbe\u5907\u201d\u800c\u975e\u5355\u7eaf\u201c\u5f00\u6e90\u201d\uff0c\u4ee5\u6253\u6d88\u4f01\u4e1a\u5b89\u88c5\u987e\u8651\u3002\u53e6\u6709\u5f00\u53d1\u8005\u8be2\u95ee\u672c\u5730\u5c0f\u6a21\u578b\u5728\u590d\u6742\u591a\u6b65\u4efb\u52a1\u4e0a\u7684\u8868\u73b0\uff0c\u4e3b\u521b\u56de\u5e94\u79f0Qwen 3.6 27B\u7b49\u6a21\u578b\u572824GB\u663e\u5b58\u8bbe\u5907\u4e0a\u6548\u679c\u826f\u597d\uff0c\u4f46\u89c6\u89c9\u80fd\u529b\u4ecd\u5f85\u5b8c\u5584\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                WebBrain\u8e29\u4e2d\u4e86AI\u6d4f\u89c8\u5668\u4ee3\u7406\u884c\u4e1a\u7684\u4e24\u4e2a\u7ed3\u6784\u6027\u88c2\u7f1d\u3002\u7b2c\u4e00\uff0c\u73b0\u6709\u5934\u90e8\u73a9\u5bb6\uff08\u5982Dia\u3001Perplexity\u7b49\uff09\u666e\u904d\u5c06\u6a21\u578b\u4e0e\u4ea7\u54c1\u7ed1\u5b9a\uff0c\u7528\u6237\u88ab\u9501\u6b7b\u5728\u8ba2\u9605\u5236\u4e0e\u7279\u5b9a\u4e91\u7aef\u6a21\u578b\u4e0a\uff0c\u800cWebBrain\u7528\u201cBYOK+\u672c\u5730\u63a8\u7406\u201d\u53cc\u8f68\u5236\u628a\u9009\u62e9\u6743\u548c\u6570\u636e\u4e3b\u6743\u8fd8\u7ed9\u4e86\u7528\u6237\u2014\u2014\u8fd9\u4e0d\u4ec5\u662f\u529f\u80fd\u5dee\u5f02\uff0c\u66f4\u662f\u4e00\u79cd\u6e20\u9053\u7b56\u7565\uff1a\u5b83\u501f\u7528\u7528\u6237\u81ea\u5e26\u7684API Key\u548c\u672c\u5730\u7b97\u529b\uff0c\u5927\u5e45\u964d\u4f4e\u4e86\u81ea\u8eab\u7684\u8fd0\u8425\u6210\u672c\uff0c\u5c06\u5f00\u6e90\u9879\u76ee\u7684\u53ef\u6301\u7eed\u6027\u5efa\u7acb\u5728\u751f\u6001\u800c\u975e\u8d44\u672c\u4e0a\u3002\u7b2c\u4e8c\uff0c\u5b83\u7cbe\u51c6\u9009\u62e9\u4e86\u4fa7\u8fb9\u680f\u800c\u975e\u5b8c\u6574\u6d4f\u89c8\u5668\u6539\u9020\uff0c\u5207\u5165\u6210\u672c\u6781\u4f4e\uff0c\u540c\u65f6\u5229\u7528\u6d4f\u89c8\u5668\u539f\u751f\u4f1a\u8bdd\u4e0eCookie\u6784\u5efa\u771f\u5b9e\u64cd\u4f5c\u4e0a\u4e0b\u6587\uff0c\u8fd9\u4e00\u70b9\u8fdc\u6bd4\u8bb8\u591a\u9700\u8981\u5355\u72ec\u767b\u5f55\u7684AI\u52a9\u624b\u66f4\u63a5\u8fd1\u201c\u66ff\u4f60\u5e72\u6d3b\u7684\u4eba\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u5fc5\u987b\u6307\u51fa\u5176\u8f6f\u808b\u3002\u793e\u533a\u8bc4\u8bba\u5df2\u70b9\u51fa\u7075\u9b42\u95ee\u9898\uff1a\u672c\u5730\u6a21\u578b\u5728\u590d\u6742\u591a\u6b65\u4efb\u52a1\u4e0a\u4ecd\u663e\u8457\u843d\u540e\u4e8eClaude\/OpenAI\uff0c\u800c\u521b\u4f5c\u8005\u7684\u56de\u7b54\u53ea\u80fd\u642c\u51fa\u201c\u6548\u679c\u4e0d\u9519\u201d\u548c\u4e00\u5806\u6a21\u578b\u540d\u79f0\uff0c\u7f3a\u4e4f\u53ef\u590d\u73b0\u7684\u57fa\u51c6\u5bf9\u6bd4\uff0c\u8fd9\u7b49\u4e8e\u627f\u8ba4\u6838\u5fc3\u4f53\u9a8c\u4f9d\u8d56\u7528\u6237\u81ea\u5df1\u638f\u94b1\u4e70\u9ad8\u6027\u80fdGPU\u6216\u8c03\u7528\u4e91\u7aefAPI\u3002\u6240\u8c13\u7684\u201c\u672c\u5730\u4f18\u5148\u201d\u5728\u6d88\u8d39\u7ea7\u8bbe\u5907\u4e0a\u66f4\u591a\u662f\u5fc3\u7406\u5b89\u6170\uff0c\u800c\u975e\u6027\u80fd\u4fdd\u969c\u3002\u66f4\u81f4\u547d\u7684\u662f\uff0c\u6d4f\u89c8\u5668\u6269\u5c55\u6301\u6709\u7528\u6237\u5168\u90e8\u767b\u5f55\u6001\uff0c\u6743\u9650\u8fb9\u754c\u6781\u5176\u6a21\u7cca\u2014\u2014\u8bc4\u8bba\u4e2d\u90a3\u53e5\u201c\u5b83\u7ee7\u627f\u4e86\u4f60\u5df2\u767b\u5f55\u7684\u4e00\u5207\u201d\u5c31\u662f\u5bf9\u5b89\u5168\u6a21\u578b\u7684\u6700\u5927\u8bbd\u523a\u3002\u4e00\u65e6\u63d0\u793a\u8bcd\u6ce8\u5165\u6216\u6076\u610f\u7f51\u7ad9\u8bf1\u5bfc\u4ee3\u7406\u6267\u884c\u9519\u8bef\u6307\u4ee4\uff0c\u6570\u636e\u6cc4\u9732\u7684\u7206\u70b8\u534a\u5f84\u88ab\u201c\u672c\u5730\u201d\u6982\u5ff5\u6781\u5ea6\u7f29\u5c0f\uff0c\u4f46\u98ce\u9669\u4ecd\u771f\u5b9e\u5b58\u5728\u3002\n            <\/p>\n<p class=\"ai-content\">\n                WebBrain\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u5b83\u4eca\u5929\u591a\u80fd\u7528\uff0c\u800c\u5728\u4e8e\u5b83\u9a8c\u8bc1\u4e86\u4e00\u4e2a\u547d\u9898\uff1a\u6d4f\u89c8\u5668\u4ee3\u7406\u7684\u5e95\u5c42\u903b\u8f91\u6b63\u4ece\u201c\u8ba2\u9605\u5236\u5168\u5bb6\u6876\u201d\u5411\u201c\u5f00\u653e\u534f\u8bae+\u81ea\u5e26\u6a21\u578b\u201d\u8fc1\u79fb\u3002\u5b83\u662f\u4e00\u5757\u8bd5\u91d1\u77f3\uff0c\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\u80fd\u5426\u5728\u62ff\u5230\u8db3\u591f\u53cd\u9988\u540e\uff0c\u628a\u201ctoken-conscious\u201d\u7684\u5de5\u7a0b\u80fd\u529b\u6c89\u6dc0\u4e3a\u4e00\u5957\u9ed8\u8ba4\u5b89\u5168\u7684\u4ee3\u7406\u6307\u4ee4\u534f\u8bae\u3002\u5728\u6b64\u4e4b\u524d\uff0c\u5b83\u66f4\u50cf\u4e00\u4e2a\u6781\u5ba2\u73a9\u5177\uff0c\u800c\u975e\u5927\u4f17\u751f\u4ea7\u529b\u5de5\u5177\u3002\u5f00\u6e90\u662f\u59ff\u6001\uff0c\u672c\u5730\u662f\u5356\u70b9\uff0c\u4f46\u8fd9\u53f0\u673a\u5668\u80fd\u5426\u771f\u6b63\u66ff\u7528\u6237\u5e72\u6d3b\uff0c\u8fd8\u5f97\u770b\u672a\u6765\u4e09\u4e2a\u6708\u7684\u6a21\u578b\u9002\u914d\u901f\u5ea6\u548c\u793e\u533a\u8d21\u732e\u8d28\u91cf\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\">WebBrain<\/span>\n                <\/div>\n<div class=\"comment-content\">Your browser, your models, your data. WebBrain is a free, open-source AI browser agent for Chromium browsers and Firefox. Run it locally with llama.cpp and most queries cost nothing \u2014 your data never leaves your device. It reads pages, extracts data, and automates tasks right from the sidebar. Prefer the cloud? Bring your own API key for OpenAI, Claude, OpenRouter, or 100+ OpenAI-compatible providers. Multilingual UI, token-conscious screenshots. MIT licensed.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong>Hi Product Hunt! I\u2019m Emre \u2014 and I\u2019m back.<\/strong><\/p>\n<\/p>\n<p>Today I\u2019m launching <strong>WebBrain<\/strong>, a free, open-source AI browser agent that lives directly inside your browser.<\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/adf53bd3-d827-4873-a71f-78ddb3b26d9c.gif?auto=compress,format&amp;codec=mozjpeg&amp;cs=strip\" style=\"max-width: 100%\"><\/p>\n<p>I built it because the most capable browser agents are generally closed source, tied to specific models, and locked behind subscriptions. WebBrain takes a different approach:<\/p>\n<ul>\n<li>\n<p>Works with <strong>Claude, OpenAI, OpenRouter, or local models through llama.cpp<\/strong><\/p>\n<\/li>\n<li>\n<p>Runs on <strong>Chrome, Firefox, and Edge<\/strong><\/p>\n<\/li>\n<li>\n<p>Uses screenshots and browser accessibility data to understand and operate websites<\/p>\n<\/li>\n<li>\n<p>Keeps you in control of the model, provider, and data<\/p>\n<\/li>\n<\/ul>\n<p>Drafting this launch, I used WebBrain to write parts of it. \ud83d\ude42<\/p>\n<\/p>\n<p><strong>Ask. Act. Automate. Any LLM.<\/strong><\/p>\n<p>This isn\u2019t my first attempt at making the web more programmable. In 2006, I launched <a href=\"http:\/\/Grou.ps\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Grou.ps<\/strong><\/a>, which grew to 350,000 communities and 12 million registered members before its assets were acquired by a publicly traded telecom company.<\/p>\n<\/p>\n<p>Later, I launched <strong>GraphJS<\/strong> here on Product Hunt\u2014an open-source toolkit that let developers add social-network features to websites using a few HTML tags and JavaScript. About a year later, it was acquired by its first enterprise customer.<\/p>\n<\/p>\n<p>Now I\u2019m bringing that same open-web philosophy to AI browser agents.<\/p>\n<\/p>\n<p>Try it: \ud83d\udc49 <a href=\"http:\/\/webbrain.one\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">webbrain.one<\/a><br \/>Star it: \u2b50 <a href=\"http:\/\/github.com\/webbrain-one\/webbrain\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">github.com\/webbrain-one\/webbrain<\/a><\/p>\n<\/p>\n<p><strong>MIT licensed and open source.<\/strong><\/p>\n<p>Try it on this page right now \u2014 have it draft or revise your comment and actually post it. Or just ask &#8220;who built this?&#8221;<\/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\/@emresokullu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emresokullu<\/a>&nbsp;\ud83c\udf8a\ud83c\udf7e\ud83d\ude80 kutlarim hocam<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@emresokullu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emresokullu<\/a>&nbsp;Small positioning note: I would lead with local-first, not open-source. Open source tells people they could read the code, which almost nobody does. Local tells them the page they are looking at never leaves the machine, and that is the objection that actually stops browser agents from getting installed at work.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How well do local models handle more complex multi-step browser tasks compared with Claude or OpenAI? Do you see local inference becoming good enough that most everyday browser automation can eventually stay fully on-device?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@andrasczeizel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@andrasczeizel<\/a>, great question, and thanks! Local models perform really well, especially Qwen 3.6 27B. If you have a GPU with 24 GB or more of RAM, or a MacBook with at least 32 GB of RAM, you are in good shape.<\/p>\n<p>Laguna XS 2.1 is also quite good, although it is text-only for now. We have added vision support, but it is still a work in progress: <a href=\"https:\/\/huggingface.co\/webbrain-one\/Laguna-XS-2.1-Vision-NVFP4\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/huggingface.co\/webbrain-one\/Laguna-XS-2.1-Vision-NVFP4<\/a><\/p>\n<p>Muse Glimmer 30B and Nemotron 3.5 Lightning 30B-A3B, released this week, also look promising. We will have Qwen 3.8 27B today, too. We plan to include all three in a benchmark soon.<\/p>\n<p>The advantage of Gemma 4 QaT 31B is that it is extremely fast. For now, though, I find its quality a little lower than Qwen 3.6 27B, especially for vision tasks.<\/p>\n<p>If you have less memory, other good options include Gemma 4 26B A4B, Gemma 4 12B, and Qwen 3.5 9B.<\/p>\n<p>For more benchmarks of local models, follow our blog at <a href=\"https:\/\/www.webbrain.one\/blog\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.webbrain.one\/blog<\/a> and our social media accounts: Mastodon at <a href=\"https:\/\/mastoturk.org\/@webbrain\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/mastoturk.org\/@webbrain<\/a> and Bluesky at <a href=\"https:\/\/bsky.app\/profile\/webbrain-one.bsky.social\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/bsky.app\/profile\/webbrain-one.bsky.social<\/a><\/p>\n<p>Cheers!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I typically use <a href=\"https:\/\/www.producthunt.com\/products\/dia-browser\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"dia-browser\" target=\"_blank\" rel=\"noopener\">@Dia Browser<\/a> which has its own AI assistant built-in, but I appreciate that<a href=\"https:\/\/www.producthunt.com\/@emresokullu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"emresokullu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emresokullu<\/a>\u2019s WebBrain extension gives people choice who use Chrome and other browsers. <\/p>\n<\/p>\n<p>The power of this approach is that the assistant has access to your sessions, cookies, and context \u2014 <em>intact<\/em>.<\/p>\n<\/p>\n<p>And you can BYOK or point it at Claude, OpenAI, OpenRouter, or even a local model through llama.cpp, then ask it to understand the page, fill forms, or take action. You can use any LLM in your browser with WebBrain.<\/p>\n<\/p>\n<p>I&#8217;ve known <a href=\"https:\/\/www.producthunt.com\/@emresokullu\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"emresokullu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emresokullu<\/a> from back in the social web days when I hunted <a href=\"https:\/\/www.producthunt.com\/products\/grou-ps-v2\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"grou-ps-v2\" target=\"_blank\" rel=\"noopener\">@Grou.ps v2<\/a> 7 years ago! Nice to see him back at 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\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a>&nbsp;Thanks, Chris \u2014 it really is full circle, from <a href=\"http:\/\/Grou.ps\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Grou.ps<\/a> to browser agents \ud83d\ude04<\/p>\n<p>And yes, that freedom of choice is exactly the point: Chrome or Firefox, local or cloud models, BYOK \u2014 basically, bring your own brain.<\/p>\n<p>It\u2019s great to have you hunting WebBrain after all these years!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@emresokullu\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@emresokullu<\/a>&nbsp; <a href=\"https:\/\/www.producthunt.com\/@chrismessina\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@chrismessina<\/a>&nbsp;The intact context point cuts both ways, and I think that is the real design question here. An extension holding your sessions and cookies does not have access to your accounts, it has access to your identity. Nothing was granted to it. It inherited everything you happened to already be logged into.<\/p>\n<\/p>\n<p>Which makes the local model less a privacy feature than a containment one. The page never leaves the machine, so the blast radius of one bad instruction stops at the machine too. A hosted assistant cannot offer that, and it is the line I would put on the box.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/K6PBWN2RSWKKQL\" class=\"app-title\">Google Pixel 11<\/a><\/p>\n<div class=\"one-liner\">Your most personal Pixel yet<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">116<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Google Pixel 11 \u901a\u8fc7\u201c\u7ffb\u8f6c\u5373\u9759\u9ed8\u201d\u7684 LED HiLight \u901a\u77e5\u4e0e\u66f4\u5f3a\u5927\u7684 Tensor G6 \u7aef\u4fa7 AI\uff0c\u8ba9\u624b\u673a\u5728\u540e\u53f0\u66ff\u4f60\u5904\u7406\u8de8\u5e94\u7528\u4efb\u52a1\uff0c\u53ea\u5728\u771f\u6b63\u9700\u8981\u65f6\u7528\u706f\u5149\u8f7b\u63d0\u793a\uff0c\u89e3\u51b3\u201c\u901a\u77e5\u8f70\u70b8\u201d\u4e0e\u201c\u64cd\u4f5c\u7e41\u7410\u201d\u7684\u53cc\u91cd\u6ce8\u610f\u529b\u8d1f\u62c5\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\/44e9b88b-7539-44b7-bcb2-f1f83b549ad6.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/062a5521-267a-4414-9e09-6d532c3e8584.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d7bc1675-d880-458b-aaa2-1fc7cbae70c5.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a39bd77b-31ce-414f-a293-3d0dcef03f48.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/452204b3-28de-40d0-b2f4-7e347e74e92b.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ba2b93c3-e23f-4ae7-94e6-5ef3fdc31b97.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ac2b9ddd-5bbf-4ab8-8a45-d256f2e25e93.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ce432cc7-6c23-4037-9037-56af26ee4d9e.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5de9152f-9ac1-4b75-af02-7cb5ac9aa136.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d0c9f580-f375-4c92-8606-f2adb7a07c2b.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/01e75d86-a6fc-4d34-848a-675005679e63.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/71910e06-17ce-468f-9ebe-49016a36e1f9.webp?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/37dd4f55-84f0-46b3-94f7-a8228561b00f.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=1xw8-y4duDQ\"><source src=\"https:\/\/www.youtube.com\/watch?v=1xw8-y4duDQ\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Hardware<\/span><br \/>\n            <span class=\"tag\">Cell Phone<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u667a\u80fd\u624b\u673a<\/span><br \/>\n            <span class=\"tag\">AI\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u7aef\u4fa7\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">Tensor G6<\/span><br \/>\n            <span class=\"tag\">\u901a\u77e5\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u6444\u5f71\u5347\u7ea7<\/span><br \/>\n            <span class=\"tag\">Gemini<\/span><br \/>\n            <span class=\"tag\">\u624b\u52bf\u53cd\u9988<\/span><br \/>\n            <span class=\"tag\">\u65d7\u8230\u673a\u578b<\/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>\u6709\u6548\u8bc4\u8bba\u4ec5\u4e00\u6761\uff08\u83b73\u8d5e\uff09\uff0c\u6765\u81ea\u5b98\u65b9\/\u6838\u5fc3\u7528\u6237\u3002\u6838\u5fc3\u53cd\u9988\uff1a\u8d5e\u8d4f\u201c\u7ffb\u8f6c\u9759\u9ed8+LED\u901a\u77e5\u201d\u7684\u6ce8\u610f\u529b\u6551\u8d4e\u7406\u5ff5\uff0c\u671f\u5f85Gemini\u5728\u8de8\u5e94\u7528\u64cd\u4f5c\uff08\u8ba2\u8f66\u3001\u4e0b\u5355\uff09\u7684\u843d\u5730\uff0c\u5e76\u8ba4\u53ef7\u5e74\u7cfb\u7edf\u66f4\u65b0\u4e0e\u786c\u4ef6\u5347\u7ea7\u3002\u65e0\u8d1f\u9762\u6216\u5177\u4f53\u95ee\u9898\uff0c\u4fe1\u606f\u91cf\u504f\u8584\uff0c\u7f3a\u4e4f\u7b2c\u4e09\u65b9\u771f\u5b9e\u4f7f\u7528\u75db\u70b9\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Google Pixel 11 \u7684\u4eae\u70b9\u4e0d\u5728\u201c\u66f4\u5feb\u7684\u82af\u7247\u201d\u6216\u201c\u66f4\u597d\u7684\u76f8\u673a\u201d\uff0c\u800c\u5728\u4e8e\u4e00\u4e2a\u88ab\u884c\u4e1a\u5ffd\u89c6\u7684\u6d1e\u5bdf\uff1aAI \u8d8a\u5f3a\u5927\uff0c\u624b\u673a\u8d8a\u4e0d\u8be5\u5237\u5b58\u5728\u611f\u3002HiLight LED \u901a\u77e5\u628a\u201c\u63d0\u793a\u201d\u4ece\u5c4f\u5e55\u9738\u6743\u4e2d\u89e3\u653e\u51fa\u6765\u2014\u2014\u7ffb\u8f6c\u624b\u673a\u5373\u8fdb\u5165\u201c\u52ff\u6270\u4f46\u77e5\u60c5\u201d\u72b6\u6001\uff0c\u8fd9\u662f\u5bf9\u5f53\u524d\u201c\u901a\u77e5\u5373\u7126\u8651\u201d\u751f\u6001\u7684\u4e00\u6b21\u6e29\u548c\u53cd\u53db\u3002Tensor G6 \u7684\u7aef\u4fa7\u7b97\u529b\u5219\u8ba9 Gemini \u80fd\u5b89\u9759\u5904\u7406\u8de8\u5e94\u7528\u4e8b\u52a1\uff0c\u800c\u975e\u6bcf\u6b21\u8c03\u7528\u90fd\u5f39\u7a97\u786e\u8ba4\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u8bad\u7ec3\u7528\u6237\u201c\u4fe1\u4efb\u7cfb\u7edf\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u95ee\u9898\u540c\u6837\u5c16\u9510\uff1a\u5176\u4e00\uff0c\u201c\u7ffb\u8f6c\u9759\u9ed8\u201d\u662f\u7269\u7406\u52a8\u4f5c\uff0c\u4e0e\u201cAI \u5224\u65ad\u4f55\u65f6\u8be5\u6253\u6270\u201d\u5b58\u5728\u5929\u7136\u51b2\u7a81\u2014\u2014\u5982\u679c AI \u8db3\u591f\u806a\u660e\uff0c\u4e3a\u4f55\u8fd8\u8981\u7528\u6237\u624b\u52a8\u7ffb\u8f6c\uff1f\u5176\u4e8c\uff0c\u6f14\u793a\u4e2d\u7684\u201c\u8ba2\u8f66\u3001\u4e0b\u5355\u201d\u90fd\u662f\u9ad8\u98ce\u9669\u64cd\u4f5c\uff0c\u7aef\u4fa7 AI \u4e00\u65e6\u51fa\u9519\uff0c\u8d23\u4efb\u5f52\u5c5e\u4e0e\u7ea0\u9519\u6210\u672c\u8fdc\u9ad8\u4e8e\u6548\u7387\u6536\u76ca\u3002\u5176\u4e09\uff0c116 \u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u8bf4\u660e\uff0c\u8fd9\u6b3e\u6982\u5ff5\u673a\u5e76\u672a\u51fb\u7a7f\u5927\u4f17\u5fc3\u667a\uff0c\u8bc4\u8bba\u533a\u7684\u81ea\u8bf4\u81ea\u8bdd\u66f4\u50cf\u201c\u6781\u5ba2\u5171\u632f\u201d\uff0c\u800c\u975e\u5e02\u573a\u9a8c\u8bc1\u3002Pixel 11 \u76ee\u524d\u7684\u4ef7\u503c\u66f4\u63a5\u8fd1\u201c\u65b9\u5411\u6807\u201d\u2014\u2014\u5b83\u8bc1\u660e AI \u624b\u673a\u7684\u4e0b\u534a\u573a\u4e0d\u662f\u62fc\u53c2\u6570\uff0c\u800c\u662f\u62fc\u201c\u5982\u4f55\u514b\u5236\u5730\u4ecb\u5165\u751f\u6d3b\u201d\u3002\u4f46\u514b\u5236\u7684\u524d\u63d0\u662f\u7edd\u5bf9\u53ef\u9760\uff0c\u8fd9\u4e00\u70b9\uff0cGoogle \u5c1a\u672a\u7ed9\u51fa\u4ee4\u4eba\u4fe1\u670d\u7684\u8bc1\u636e\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Google Pixel 11<\/span>\n                <\/div>\n<div class=\"comment-content\">Discover the Google Pixel 11 lineup featuring updated camera hardware, the Tensor G6 chip, LED HiLight notifications and faster Gemini AI support.<\/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>A phone that gets more useful when you turn it face down is a pretty interesting idea.<\/p>\n<p>On Pixel 11 Pro, the new HiLight system uses colored LEDs around the camera flash to tell you when a favorite contact is calling, or when <a href=\"https:\/\/www.producthunt.com\/products\/gemini-6\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"gemini-6\" target=\"_blank\" rel=\"noopener\">@Gemini<\/a> is listening, thinking, and responding, without asking you to look at the screen.<\/p>\n<p>Gemini Intelligence can now handle more things in the background, from moving information across apps to taking on everyday tasks like booking a ride or placing an order.<\/p>\n<p>The hardware is moving in the same direction too. <a href=\"https:\/\/gadgets.beebom.com\/guides\/google-tensor-g6-benchmark-specs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Tensor G6<\/a> brings much more on-device AI compute, while the cameras, charging, and durability all got meaningful upgrades (7 years!)<\/p>\n<p>Love the idea of AI making the phone a little quieter. Do more in the background, then give me just enough signal when something actually needs my attention \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/C6ZIEHTO6CYSGL\" class=\"app-title\">FluidDocs CLI<\/a><\/p>\n<div class=\"one-liner\">Publish interactive docs that answer and report back<\/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>FluidDocs CLI\u5c06\u63d0\u793a\u8bcd\u8f6c\u5316\u4e3a\u53ef\u4ea4\u4e92\u7684\u667a\u80fd\u6587\u6863\uff0c\u8ba9\u53d1\u9001\u540e\u7684\u6587\u6863\u80fd\u5b9e\u65f6\u56de\u7b54\u8bfb\u8005\u63d0\u95ee\uff0c\u5e76\u5411\u4f5c\u8005\u6c47\u62a5\u9605\u8bfb\u8fdb\u5ea6\u548c\u95ee\u9898\uff0c\u89e3\u51b3\u9759\u6001\u6587\u6863\u4fe1\u606f\u5355\u5411\u4f20\u9012\u3001\u53cd\u9988\u7f3a\u5931\u548c\u7248\u672c\u6df7\u4e71\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\/8e280972-122c-4a3c-b681-99a576444d6e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eff760b2-3cd6-431c-8580-187cc54110a9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/64223013-39f0-4ad6-9b1a-ac80db633d29.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d358a7ab-9e09-44f8-87f8-3ddbf867d5ed.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2a1809c4-3a78-4537-809c-b91c975cf537.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c148e029-62d0-4de6-8d0c-6dadafb5c2ae.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\/7687df8e-c373-4e6d-b0af-854aa9a64d22.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/9c659017e43d47b2b3bb75d8a3e3057f\"><source src=\"https:\/\/www.loom.com\/share\/9c659017e43d47b2b3bb75d8a3e3057f\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Design Tools<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ea4\u4e92\u5f0f\u6587\u6863<\/span><br \/>\n            <span class=\"tag\">CLI\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u95ee\u7b54<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u51fa\u7248<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u6587\u6863<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u5185\u5bb9\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u529e\u516c\u6548\u7387<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u4e3b\u8981\u5173\u6ce8\u4e09\u70b9\uff1a\u975e\u6280\u672f\u7528\u6237\u80fd\u5426\u514d\u547d\u4ee4\u884c\u4f7f\u7528\uff08\u5b98\u65b9\u56de\u590d\u6709Web\u5e94\u7528\uff09\uff1b\u8bfb\u8005\u63d0\u95ee\u662f\u5426\u9700\u8981\u6ce8\u518c\uff08\u56de\u590d\u79f0\u65e0\u9700\u8d26\u53f7\uff0c\u9644\u793a\u4f8b\u94fe\u63a5\uff09\uff1bAI\u56de\u7b54\u662f\u5426\u53d7\u9650\u4e8e\u6587\u6863\u5185\u5bb9\uff08\u672a\u83b7\u76f4\u63a5\u56de\u590d\uff09\u3002\u53e6\u6709\u7528\u6237\u8d5e\u8d4f\u94fe\u63a5\u66f4\u65b0\u529f\u80fd\uff0c\u5e76\u8ba1\u5212\u7528\u4e8e\u878d\u8d44\u6750\u6599\u548c\u7814\u7a76\u9879\u76ee\u573a\u666f\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                FluidDocs CLI\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u6587\u6863\u4ea4\u4e92\u201d\u8fd9\u4e2a\u8868\u8c61\uff0c\u800c\u5728\u4e8e\u5b83\u91cd\u65b0\u5b9a\u4e49\u4e86\u6587\u6863\u7684\u751f\u547d\u5468\u671f\u2014\u2014\u4ece\u201c\u53d1\u9001\u5373\u7ed3\u675f\u201d\u53d8\u4e3a\u201c\u6301\u7eed\u53cd\u9988\u56de\u8def\u201d\u3002\u5176\u6740\u624b\u7ea7\u529f\u80fd\u662f\u7ed3\u5408\u4e86Claude Code\u7b49\u7f16\u7a0b\u4ee3\u7406\uff0c\u5c06AI\u80fd\u529b\u4ece\u6587\u6863\u751f\u6210\u5ef6\u4f38\u5230\u53d1\u5e03\u540e\u7684\u8fed\u4ee3\u4f18\u5316\uff1a\u901a\u8fc7CLI\u83b7\u53d6\u8bfb\u8005\u63d0\u95ee\uff0c\u53cd\u5411\u4f18\u5316\u6587\u6863\u5185\u5bb9\uff0c\u8fd9\u5b9e\u8d28\u4e0a\u662f\u6784\u5efa\u4e86\u4e00\u4e2a\u95ed\u73af\u7684\u77e5\u8bc6\u7ba1\u7406\u7cfb\u7edf\u3002115\u7968\u7684\u793e\u533a\u53cd\u9988\u5370\u8bc1\u4e86\u5176\u7cbe\u51c6\u5207\u5165\u5f00\u53d1\u8005\u5e02\u573a\uff0c\u4f46\u9700\u51b7\u9759\u770b\u5f85\uff1a\u5176\u4e00\uff0c\u8bc4\u8bba\u533a\u6838\u5fc3\u5173\u5207\u201c\u5ba2\u6237\u7aef\u662f\u5426\u9700\u8981\u6ce8\u518c\u201d\u4e0e\u201cAI\u662f\u5426\u4ec5\u9650\u6587\u6863\u5185\u90e8\u77e5\u8bc6\u201d\u5747\u672a\u5f97\u5230\u76f4\u63a5\u89e3\u7b54\uff0c\u8fd9\u52a8\u6447\u4e86\u4f01\u4e1a\u7ea7\u5e94\u7528\u7684\u4fe1\u4efb\u6839\u57fa\uff1b\u5176\u4e8c\uff0cCLI\u5728\u7ec8\u7aef\u663e\u793a\u7684\u53ef\u8bfb\u6027\u4f18\u52bf\u660e\u663e\uff0c\u4f46\u5bf9\u975e\u6280\u672f\u7528\u6237\u662f\u786c\u95e8\u69db\uff0c\u5b98\u65b9\u867d\u63d0\u4f9bWeb\u7aef\uff0c\u5374\u5f31\u5316\u4e86\u201c\u547d\u4ee4\u884c\u4f18\u5148\u201d\u7684\u5dee\u5f02\u5316\u5b9a\u4f4d\u3002\u957f\u8fdc\u770b\uff0cFluidDocs\u7684\u771f\u6b63\u58c1\u5792\u5728\u4e8e\u5176\u9605\u8bfb\u6570\u636e\u7684\u6c89\u6dc0\u2014\u2014\u8c01\u6253\u5f00\u4e86\u6587\u6863\u3001\u770b\u5230\u4e86\u54ea\u91cc\u3001\u95ee\u4e86\u4ec0\u4e48\uff0c\u8fd9\u4e9b\u884c\u4e3a\u6570\u636e\u8fdc\u6bd4\u6587\u6863\u5185\u5bb9\u672c\u8eab\u66f4\u5177\u5546\u4e1a\u60f3\u8c61\u7a7a\u95f4\u3002\u82e5\u80fd\u5c06\u6b64\u6570\u636e\u8d44\u4ea7\u8f6c\u5316\u4e3a\u667a\u80fd\u6587\u6863\u7684\u63a8\u8350\u5f15\u64ce\u6216\u77e5\u8bc6\u56fe\u8c31\uff0c\u5176\u4ef7\u503c\u5c06\u8fdc\u8d85\u201c\u667a\u80fdPDF\u201d\u7684\u8303\u7574\uff0c\u5426\u5219\u4ec5\u662fChatPDF\u7684\u5de5\u7a0b\u5316\u7ffb\u7248\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\">FluidDocs CLI<\/span>\n                <\/div>\n<div class=\"comment-content\">FluidDocs CLI turns your prompts into interactive documents that answer questions and report back. You see who opened it, how far they got, and what they asked. Pitch decks, proposals, reports, board updates. One line installs the CLI and one command publishes. Edit later by prompt, and the same link updates. Viewer-side AI-enabled Q&#038;A and analytics come built in.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nishant_aggarwal\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"nishant_aggarwal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nishant_aggarwal<\/a> Not a terminal person at all, is there a way to do this without the command line, or is that the whole point?<\/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\/@suyash_kr\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@suyash_kr<\/a>,&nbsp;we just launched our CLI today. But we have a full web app that you can try by signing up for a free account at <a href=\"https:\/\/fluiddocs.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/fluiddocs.ai<\/a>, and you won&#8217;t need to use the terminal at all. The terminal is just one of the ways to use it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One of the cool things about the CLI (vs MCP) is that it&#8217;s a lot faster, and you get a very readable trace of the commands that the agent executed, then you can use it to build especialized document skills with greater control.<\/p>\n<p>For example a very simple loop that I use when I publish a fluid doc, is to use claudecode + cli to get the questions that the users have asked on the document&#8217;s QNA chat to improve the document itself. <\/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\/@ricardo_david_pacheco\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ricardo_david_pacheco<\/a>&nbsp;being an active MCP user myself, I feel that difference so much as well \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nishant_aggarwal\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"nishant_aggarwal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nishant_aggarwal<\/a> When I send someone a doc, do they need an account or an app to ask it questions, or does the link just work in their browser? My clients will not sign up for anything, so this is the whole decision for me.<\/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\/@abhiranjan_mehta\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@abhiranjan_mehta<\/a>,&nbsp;that is a great question. Your clients don&#8217;t need to sign up for an account. They can just ask a question right away from the moment they receive the document from you. Feel free to try asking questions from the SpaceX S-1 (a 300-page static document otherwise) here just as an example: <a href=\"https:\/\/share.fluiddocs.ai\/spacex-s1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/share.fluiddocs.ai\/spacex-s1<\/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 looking forward to digging in to see how I could use it with the Kithli pitch deck as we prepare to raise a pre-seed round. But, even before that with the Revenue Leakage research project we&#8217;re running with ASCs.<\/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\/@lydia_sugarman\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lydia_sugarman<\/a>&nbsp;those are great use cases &#8211; would be very happy to give you a demo\/help answer any questions at all \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\">I send PDFs for basically everything at work and the &#8220;same link updates&#8221; thing alone would fix so many wrong-version situations. Nice work.<\/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\/@priyankamandal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@priyankamandal<\/a>&nbsp;that&#8217;s one of my favorite parts too. You can try it free at <a href=\"https:\/\/fluiddocs.ai\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/fluiddocs.ai<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt, we are thrilled to launch the FluidDocs CLI. \ud83c\udf89<\/p>\n<p>FluidDocs are interactive documents that keep doing their job after you hit send: readers ask them questions and get answers from the document itself, and you see who opened them, how far they got, and what they asked.<\/p>\n<p>The reason we built a CLI is that more than half of the 1,000+ documents created on FluidDocs, were created programmatically, by coding agents working through our MCP, not by a person clicking in the app. Our users&#8217; agents were already writing the documents. They needed a first-class way to publish and maintain them.<\/p>\n<p>So now one line installs fld, and from there everything runs in the terminal:<\/p>\n<p>\u2705 Publish a file, a zip, or a whole directory as an interactive document<br \/>\u2705 Turn on reader Q&amp;A with one command<br \/>\u2705 Pull reader analytics back into the terminal<br \/>\u2705 Edit the live document later, and the same link updates<br \/>\u2705 &#8211;json on every command, so your coding agent can run the whole flow unattended<\/p>\n<p>The best way in: install, run fld login, and publish something you already have. Or try the SpaceX S-1 as a FluidDoc at <a href=\"https:\/\/share.fluiddocs.ai\/spacex-s1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/share.fluiddocs.ai\/spacex-s1<\/a> and ask it a question a static document could never answer.<\/p>\n<p>We are taking command and workflow requests all week. Tell us what your publishing flow needs and we will build it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nishant_aggarwal\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nishant_aggarwal<\/a>&nbsp;A proposal that reprices itself is a better pitch than most doc tools manage. When the document answers a question, is it strictly bounded to its own content, or can it fall back to the model&#8217;s general 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>congrats on the launch. excited to try it out<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@simar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@simar<\/a>&nbsp;thanks for the support. Would love to hear your feedback!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/ZOBQMPS2OPH5NZ\" class=\"app-title\">Coarena by Coasty<\/a><\/p>\n<div class=\"one-liner\">The arena where agents battle on real-world work<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">105<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong><\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c6c58c53-73bb-4ca3-9190-c777d44ef86c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1c34adbc-5ae2-4170-9dea-89a575c45020.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c4dab5dc-1867-4cf1-9e97-3f00d2b95574.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f24f7d80-6ce5-4149-8509-c1682f5f3386.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\/7584590f-8de3-4967-8b8e-66bab86a467c.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=K4t6Dx_4TQM\"><source src=\"https:\/\/www.youtube.com\/watch?v=K4t6Dx_4TQM\" 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\">Tech<\/span><br \/>\n            <span class=\"tag\">Data<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u667a\u80fd\u4f53\u8bc4\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u7ade\u6280\u573a<\/span><br \/>\n            <span class=\"tag\">\u771f\u5b9e\u4efb\u52a1\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u5bf9\u6bd4<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u6027\u80fd\u6bd4\u8f83<\/span><br \/>\n            <span class=\"tag\">\u793e\u533a\u6295\u7968<\/span><br \/>\n            <span class=\"tag\">\u6d4f\u89c8\u5668\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u57fa\u51c6\u6d4b\u8bd5\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u6838\u5fc3\u9700\u6c42\u96c6\u4e2d\u5728\u4e09\u70b9\uff1a\u8865\u5145\u6210\u672c\u4e0e\u5ef6\u8fdf\u6307\u6807\uff1b\u589e\u52a0\u4efb\u52a1\u591a\u6837\u6027\uff08\u5982\u65e5\u5e38\u91cd\u590d\u6027\u5de5\u4f5c\u3001\u5bf9\u6297\u6027\u9677\u9631\u4efb\u52a1\uff09\uff1b\u5173\u6ce8\u8bc4\u6d4b\u65b9\u6cd5\u8bba\uff08\u5931\u8d25\u91cd\u8bd5\u662f\u5426\u8ba1\u5206\u3001\u591a\u4f59\u64cd\u4f5c\u60e9\u7f5a\u3001\u81ea\u52a8\u88c1\u5224\u53ef\u4fe1\u5ea6\uff09\u3002\u53e6\u6709\u7528\u6237\u8d28\u7591\u201c20\u6b21\u5e72\u51c0\u8dd1\u201d\u65e0\u6cd5\u66b4\u9732\u8106\u5f31\u6027\uff0c\u5f3a\u8c03\u9700\u8986\u76d6\u72b6\u6001\u53d8\u5316\u4e0e\u4e2d\u65ad\u6062\u590d\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                Coarena\u8e29\u4e2d\u4e86AI\u8bc4\u6d4b\u7684\u75db\u70b9\u2014\u2014\u57fa\u51c6\u6d4b\u8bd5\u4e0e\u771f\u5b9e\u751f\u4ea7\u529b\u4e4b\u95f4\u7684\u9e3f\u6c9f\uff0c\u5176\u201c\u76f2\u6d4b+\u4eba\u5de5\u6295\u7968\u201d\u6a21\u5f0f\u5728\u65b9\u6cd5\u8bba\u4e0a\u4f18\u4e8e\u7eaf\u81ea\u52a8\u5316\u6307\u6807\uff0c\u4f46\u4e5f\u66b4\u9732\u4e86\u66f4\u6df1\u5c42\u7684\u77db\u76fe\u3002\u5e73\u53f0\u76ee\u524d\u7684\u6838\u5fc3\u4ef7\u503c\u662f\u201c\u5bf9\u6bd4\u201d\uff0c\u800c\u975e\u201c\u8bc4\u4f30\u201d\uff1a\u5b83\u8ba9\u7528\u6237\u76f4\u89c2\u611f\u77e5\u6a21\u578b\u5dee\u8ddd\uff0c\u5374\u56de\u907f\u4e86\u8bc4\u6d4b\u6807\u51c6\u7684\u5b9a\u4e49\u6743\u95ee\u9898\u3002\u4eba\u5de5\u6295\u7968\u770b\u4f3c\u6c11\u4e3b\uff0c\u5b9e\u5219\u5c06\u201c\u4f18\u52a3\u201d\u964d\u7ef4\u6210\u201c\u504f\u597d\u201d\uff0c\u4e14\u540c\u4e00\u4efb\u52a1\u591a\u6b21\u8fd0\u884c\u4e0d\u4e00\u81f4\u6027\uff08\u8106\u6027\uff09\u88ab\u7528\u6237\u7cbe\u51c6\u6307\u51fa\uff0c\u8fd9\u8bf4\u660edemo\u5c55\u793a\u7684\u8bef\u5bfc\u6027\u8fdc\u5927\u4e8e\u8bc4\u5206\u672c\u8eab\u3002\u66f4\u5173\u952e\u7684\u662f\uff0c\u5e73\u53f0\u7f3a\u4e4f\u6210\u672c\u3001\u5ef6\u8fdf\u3001\u6062\u590d\u80fd\u529b\u7b49\u5de5\u7a0b\u7ef4\u5ea6\u6570\u636e\uff0c\u800c\u8fd9\u6070\u6070\u662f\u51b3\u5b9aagent\u80fd\u5426\u4ece\u73a9\u5177\u8d70\u5411\u751f\u4ea7\u529b\u7684\u8981\u7d20\u3002\u521b\u59cb\u4eba\u6709OSWorld\u80cc\u666f\uff0c\u5374\u9009\u62e9\u4e86\u8ba9\u7528\u6237\u63d0\u95ee\u800c\u975e\u4e3b\u52a8\u5b9a\u4e49\u8bc4\u6d4b\u534f\u8bae\uff0c\u8fd9\u8ba9\u5e73\u53f0\u77ed\u671f\u50cf\u8425\u9500\u5de5\u5177\u800c\u975e\u5ea6\u91cf\u6807\u51c6\u3002\u771f\u6b63\u7684\u673a\u4f1a\u5728\u4e8e\u4ece\u201c\u7ade\u6280\u573a\u201d\u5347\u7ea7\u4e3a\u201c\u53ef\u4fe1\u57fa\u51c6\u59d4\u5458\u4f1a\u201d\uff1a\u516c\u5f00\u4efb\u52a1\u72b6\u6001\u53d8\u66f4\u7b56\u7565\u3001\u5141\u8bb8\u7528\u6237\u63d0\u4ea4\u79c1\u6709\u4efb\u52a1\u3001\u5f15\u5165\u53c2\u6570\u5316\u6d4b\u8bd5\uff08\u5982\u4f1a\u8bdd\u4e2d\u65ad\u3001\u5e03\u5c40\u6f02\u79fb\uff09\u3002\u5426\u5219\uff0c\u5f53OpenAI\u6216Anthropic\u81ea\u5bb6\u8bc4\u6d4b\u4f53\u7cfb\u6210\u719f\u65f6\uff0c\u8fd9\u7c7b\u7b2c\u4e09\u65b9\u5e73\u53f0\u5c06\u8fc5\u901f\u5931\u53bb\u8bdd\u8bed\u6743\u3002\u6295\u7968\u6570105\u8bf4\u660e\u70ed\u5ea6\u5c1a\u53ef\uff0c\u4f46\u7559\u5b58\u7387\u53d6\u51b3\u4e8e\u662f\u5426\u80fd\u628a\u201c\u770b\u70ed\u95f9\u201d\u8f6c\u5316\u4e3a\u201c\u6d4b\u6211\u7684\u4e1a\u52a1\u4efb\u52a1\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Coarena by Coasty<\/span>\n                <\/div>\n<div class=\"comment-content\">Coarena lets AI agents compete on real computer tasks, not synthetic benchmarks. Watch multiple models complete the same workflow side by side, compare speed, accuracy, and reliability, then vote for the winner. Discover which agent actually performs best on everyday work across browsers, apps, and enterprise software.<\/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>We built Coarena because choosing an AI model has become surprisingly difficult. Every provider claims to be the best, but benchmarks rarely reflect how agents perform on actual computer work. We went through the whole process with OSWorld and we have first-hand experience.<\/p>\n<p>So we built an arena where AI agents complete the same real-world tasks from navigating websites to using business software and you can watch them side by side, compare the results, and vote for the winner.<\/p>\n<p>We believe the future of AI evaluation should be transparent, practical, and community-driven.<\/p>\n<p>We&#8217;d love your feedback:<\/p>\n<p>Which tasks should we add next?<br \/>\nWhich models do you want to see compete?<br \/>\nWhat would make this your go-to place for evaluating AI agents?<\/p>\n<p>Thanks for checking out Coarena, we&#8217;re excited to hear what you think!<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@prateek_j1\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@prateek_j1<\/a>&nbsp;Really cool concept evaluating agents on actual computer tasks makes the comparison far more practical than traditional benchmarks. One addition I\u2019d love to see is  cost and latency alongside task success , so users can compare not just which model performs best, but which offers the best price performance for real world use cases.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Twenty clean runs of the same task can still hide brittleness. I would vary page state, auth\/session state, latency, layout drift, and an interrupted run, then report completion, recovery, time, and cost. Reliability comes from the distribution, not the best demo.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 actually really needed. I feel like CUA agents are way too slow (hence why I don&#8217;t really use CUA\/browser-use in general), so hopefully this helps us get to CUA agents that are faster \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>What task category are we missing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 task would make you say \u2018okay, agents are actually useful now\u2019?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\u2019s a benchmark metric you think everyone is over-optimizing 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019d love to benchmark tasks people actually do every week, not just benchmark-y tasks. What repetitive computer task would you outsource to an agent tomorrow?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Interesting question we\u2019ve been discussing internally: should retries count? If an agent succeeds on attempt 3, is that a pass or a fail?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Would you rather see agents compete head-to-head, or see each one evaluated against a fixed passing score?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Should agents get penalized for unnecessary actions? e.g. finishing the task correctly but clicking around 40 times when 8 would do.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>We\u2019re thinking about adding more adversarial tasks. Stuff that looks easy at first but has a few traps. Any ideas?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Give us a computer task you think <strong>no current agent can reliably complete<\/strong>.<\/p>\n<p>If it\u2019s reproducible, we might turn the best suggestions from this thread into Coarena battles \ud83d\udc40<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>We hide model identities until after the vote because names carry a lot of baggage.<\/p>\n<p>I\u2019d be curious to know how often people\u2019s preferred run changes once they discover which model produced 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>Would you trust a purely automated judge for computer-use tasks?<\/p>\n<p>We\u2019re using blind human preference because many real workflows don\u2019t have a simple exact-match answer, but human judgment introduces its own inconsistencies too.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>How much should recovery matter?<\/p>\n<p>An agent that makes a mistake and fixes it may take longer, but that ability to recognize and recover from failure could be more valuable than a perfect run on an easy task.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 should happen when both agents complete the task, but one takes a strange or risky route?<\/p>\n<p>The final output may look identical even though the trajectory tells a very different story.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Suppose Agent A finishes correctly in 20 steps and Agent B finishes correctly in 8 steps.<\/p>\n<p>Should B automatically win, or should efficiency only matter when the final results are otherwise identical?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One constraint we take seriously: please don\u2019t submit passwords, payment details, private documents, or personal data.<\/p>\n<p>The best tasks are realistic without requiring anything sensitive. We want the arena to be useful, not reckless.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 business software should agents be tested on next?<\/p>\n<p>We\u2019re especially interested in tools with real multi-step workflows, not just websites where the agent finds one fact and stops.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A useful task doesn\u2019t have to be complicated.<\/p>\n<p>\u201cFind the cancellation policy for this hotel\u201d or \u201ccompare these two plans\u201d can reveal a lot about whether an agent reads carefully or just clicks the first plausible result.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Would you rather test agents on short tasks with one clearly correct answer, or longer workflows where there are several acceptable ways to finish?<\/p>\n<p>The longer tasks feel more realistic, but they\u2019re also much harder to judge consistently.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I\u2019m looking for tasks that are easy for a person but surprisingly difficult for an agent.<\/p>\n<p>Anything involving ambiguous menus, changing page layouts, multiple tabs, or recovering from a wrong click is especially interesting. What would you submit?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\u2019s the most boring computer task you repeat every week?<\/p>\n<p>Those are probably the best tests for computer-use agents, not carefully designed demos, but the annoying workflows people would genuinely like to stop doing.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A quick caveat: the leaderboard is still early, so the rankings will move as more real tasks and votes come in.<\/p>\n<p>That\u2019s intentional. We\u2019d rather show the uncertainty and let the benchmark evolve in public than publish one polished score that looks more definitive than it really is.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Which two computer-use agents would you most want to see go head-to-head?<\/p>\n<p>We\u2019re prioritizing the next model integrations now. Specific matchups are more helpful than a general list, we want battles where the result isn\u2019t already obvious.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>A part of Coarena that may not be obvious from the landing page: every battle produces a full trajectory.<\/p>\n<p>That includes the screenshots, actions, intermediate steps, and the final blind preference. We think this can become a much more useful evaluation dataset than another fixed collection of synthetic tasks.<\/p>\n<p>What would researchers or agent teams want included in an export?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>We\u2019re still debating what \u201cbest agent\u201d should mean.<\/p>\n<p>Is it the one that completes the task fastest? The one that makes the fewest mistakes? Or the one that notices an error and successfully recovers?<\/p>\n<p>Right now the final judgment comes from the person reviewing both runs, but I\u2019m curious which signals you\u2019d want to see alongside the vote.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>One thing I\u2019d love people to try: give Coarena a task you actually do at work, especially something messy that wouldn\u2019t appear in a normal benchmark.<\/p>\n<p>Two agents will attempt it, their identities stay hidden while you review the runs, and you pick the winner.<\/p>\n<p>If both agents fail, tell us where. That\u2019s honestly just as useful as a clean 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<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Really like the real-tasks-over-benchmarks approach. How do you keep scoring reproducible when the environment (a site or app) changes between runs?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve needed this for so long!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/WASE24IHAKP2YC\" class=\"app-title\">Execlave<\/a><\/p>\n<div class=\"one-liner\">The gate between your AI agents and the real world<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">104<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Execlave \u662f\u4e00\u4e2a\u4f4d\u4e8eAI\u667a\u80fd\u4f53\u4e0e\u771f\u5b9e\u7cfb\u7edf\u4e4b\u95f4\u7684\u8fd0\u884c\u65f6\u6cbb\u7406\u4e0e enforcement \u5e73\u53f0\uff0c\u5728\u6bcf\u4e00\u6b21\u884c\u52a8\u6267\u884c\u524d\u5f3a\u5236\u6821\u9a8c\u7b56\u7565\uff0c\u89e3\u51b3\u81ea\u4e3b\u4ee3\u7406\u5728\u771f\u5b9e\u73af\u5883\u4e2d\u201c\u6709\u6743\u9650\u5373\u6ee5\u7528\u201d\u3001\u4e8b\u540e\u5ba1\u8ba1\u5374\u65e0\u6cd5\u963b\u6b62\u7684\u5408\u89c4\u4e0e\u5b89\u5168\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\/cc46e5c3-ae6d-47b3-bf55-fe4a88e80bb0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0b450a69-2f82-4c82-9061-2ba36d78c466.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6e4173d1-1ee7-4b58-bd94-cb7d52cf42a5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d98b10a0-727e-445e-99b1-708f14f2abd8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9ad804cd-37a0-4ff9-8dff-31383c03cabe.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/73413786-9773-485e-abcb-c34422593062.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c0cbad83-c9b8-42e7-8eac-f1db9115e6a2.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\/e5f553c0-0597-41e8-8b44-d323862f5565.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=MkFzKb6Zb0I\"><source src=\"https:\/\/www.youtube.com\/watch?v=MkFzKb6Zb0I\" 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\">Security<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u884c\u65f6\u6cbb\u7406<\/span><br \/>\n            <span class=\"tag\">\u7b56\u7565\u6267\u884c\u5f15\u64ce<\/span><br \/>\n            <span class=\"tag\">\u6743\u9650\u7ba1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u5408\u89c4\u5ba1\u8ba1<\/span><br \/>\n            <span class=\"tag\">SOC2<\/span><br \/>\n            <span class=\"tag\">EU AI Act<\/span><br \/>\n            <span class=\"tag\">\u6740\u6bd2\u5f00\u5173<\/span><br \/>\n            <span class=\"tag\">MCP\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u4f01\u4e1a\u7ea7AI<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u201c\u4e8b\u524d\u62e6\u622a\u201d\u601d\u8def\uff0c\u6838\u5fc3\u8ffd\u95ee\u96c6\u4e2d\u5728\uff1a\u88ab\u62e6\u622a\u540e\u4ee3\u7406\u80fd\u5426\u83b7\u5f97\u53ef\u64cd\u4f5c\u7684\u4e0a\u4e0b\u6587\u91cd\u8bd5\uff1b\u5ba1\u8ba1\u8ffd\u8e2a\u662f\u5426\u533a\u5206\u201c\u7b56\u7565\u62e6\u622a\u201d\u3001\u201c\u7cfb\u7edf\u8d85\u65f6\u201d\u3001\u201c\u4e0b\u6e38\u62a5\u9519\u201d\u53ca\u201c\u63a5\u53d7\u672a\u6267\u884c\u201d\u7b49\u72ec\u7acb\u72b6\u6001\uff1b\u914d\u7f6e\u7b56\u7565\u95e8\u69db\u53ca\u6027\u80fd\u5f00\u9500\u3002\u5e76\u6709\u5b9e\u9645\u95ee\u9898\uff08\u5982EU\u653f\u5e9c\u670d\u52a1\u6545\u969c\uff09\u63a2\u8be2\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                Execlave \u8e29\u4e2d\u4e86\u5f53\u524dAI Agent\u4ea7\u4e1a\u5316\u6700\u75db\u7684\u811a\u8e1d\uff1a\u4e0d\u662f\u6a21\u578b\u4e0d\u591f\u806a\u660e\uff0c\u800c\u662f\u6388\u6743\u540e\u65e0\u6cd5\u65e0\u5929\u3002\u5176\u201c\u8fd0\u884c\u65f6\u7f51\u5173\u201d\u7684\u5b9a\u4f4d\u7cbe\u51c6\uff0c\u5c06\u6cbb\u7406\u4ece\u201c\u65e5\u5fd7\u8003\u53e4\u201d\u524d\u7f6e\u5230\u201c\u6267\u884c\u88c1\u5224\u201d\uff0c\u5207\u4e2d\u4e86\u5b89\u5168\u56e2\u961f\u5bf9 SOC 2\u3001EU AI Act \u7684\u5408\u89c4\u7126\u8651\u3002104\u7968\u7684\u51b7\u542f\u52a8\u6570\u636e\u4e0d\u7b97\u4eae\u773c\uff0c\u4f46\u8bc4\u8bba\u533a\u6280\u672f\u5bf9\u8bdd\u8d28\u91cf\u6781\u9ad8\uff0c\u582a\u79f0\u786c\u6838\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u503c\u5f97\u80af\u5b9a\u7684\u662f\uff0c\u4ea7\u54c1\u5bf9\u5931\u8d25\u6a21\u5f0f\u7684\u5206\u7c7b\uff08policy_blocked\/timeout\/error\/fail-open provenance\uff09\u5c55\u73b0\u4e86\u7f55\u89c1\u7684\u6280\u672f\u6210\u719f\u5ea6\uff0c\u8fd9\u6bd4\u5355\u7eaf\u5ba3\u4f20\u201c\u62e6\u622a\u201d\u66f4\u6709\u8bf4\u670d\u529b\u2014\u2014\u5b83\u627f\u8ba4\u4e86\u5206\u5e03\u5f0f\u7cfb\u7edf\u4e2d\u6cbb\u7406\u670d\u52a1\u672c\u8eab\u53ef\u80fd\u5b95\u673a\u7684\u73b0\u5b9e\uff0c\u5e76\u63d0\u4f9b\u4e86\u53ef\u5ba1\u8ba1\u7684\u964d\u7ea7\u8def\u5f84\u3002\u8fd9\u4f7f\u5176\u66f4\u50cf\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u57fa\u7840\u8bbe\u65bd\uff0c\u800c\u975e\u73a9\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u7280\u5229\u7684\u8d28\u7591\u4f9d\u7136\u5b58\u5728\uff1a\u5176\u4e00\uff0c\u8bc4\u8bba\u4e2d\u627f\u8ba4\u201c\u524d\u4e00\u5468\u7528\u6765\u5b9a\u4e49\u7b56\u7565\u201d\uff0c\u8fd9\u610f\u5473\u7740\u4ea7\u54c1\u4ea4\u4ed8\u7684\u662f\u201c\u6267\u884c\u5668\u201d\u800c\u975e\u201c\u653f\u7b56\u5927\u8111\u201d\u3002\u5bf9\u4e8e\u5927\u591a\u6570\u6ca1\u6709\u6e05\u6670\u6743\u9650\u56fe\u8c31\u7684\u4e2d\u578b\u4f01\u4e1a\uff0c\u51b7\u542f\u52a8\u6210\u672c\u6781\u9ad8\uff0c\u6781\u6613\u6ca6\u4e3a\u6446\u8bbe\u6216\u8fc7\u5ea6\u9650\u5236\u7684\u67b7\u9501\u3002\u5176\u4e8c\uff0c20ms\u7684\u5ef6\u8fdf\u9884\u7b97\u5728\u7eaf\u7b56\u7565\u5339\u914d\u4e0b\u53ef\u884c\uff0c\u4f46\u4e00\u65e6\u6d89\u53ca\u590d\u6742\u4e0a\u4e0b\u6587\u89e3\u6790\u6216\u5916\u90e8\u6570\u636e\u67e5\u8be2\uff0c\u6027\u80fd\u8fb9\u754c\u5b58\u7591\u3002\u5176\u4e09\uff0c\u4e5f\u662f\u6700\u6839\u672c\u7684\uff1a\u8be5\u4ea7\u54c1\u7684\u62a4\u57ce\u6cb3\u5728\u4e8e\u7b56\u7565\u8868\u8fbe\u80fd\u529b\u548c\u751f\u6001\u96c6\u6210\u6df1\u5ea6\uff0c\u800c\u975e\u6280\u672f\u58c1\u5792\u3002\u4e00\u65e6 AWS\u3001\u5fae\u8f6f\u5728 Bedrock\/Azure AI \u539f\u751f\u96c6\u6210\u7c7b\u4f3c\u6cbb\u7406\u5c42\uff0c\u72ec\u7acb\u5382\u5546\u7684\u7a7a\u95f4\u4f1a\u88ab\u6025\u5267\u6324\u538b\u3002\u5f53\u524d$199\/\u6708\u7684\u5b9a\u4ef7\u7784\u51c6\u7684\u662f\u6709\u660e\u786e\u5408\u89c4\u538b\u529b\u7684\u5e73\u53f0\u56e2\u961f\uff0c\u8fd9\u6b65\u68cb\u8d70\u5bf9\u4e86\uff0c\u4f46\u5fc5\u987b\u8dd1\u8d62\u4e91\u5382\u5546\u7684\u9ed8\u8ba4\u529f\u80fd\u8fed\u4ee3\u901f\u5ea6\u3002\u603b\u4e4b\uff0c\u65b9\u5411\u6b63\u786e\uff0c\u5207\u53e3\u950b\u5229\uff0c\u4f46\u524d\u8def\u662f\u5de8\u5934\u9634\u5f71\u4e0b\u7684\u9a6c\u62c9\u677e\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\">Execlave<\/span>\n                <\/div>\n<div class=\"comment-content\">Execlave is an AI Agent Governance and Enforcement platform (runtime AMP) that sits between autonomous agents and your real systems, enforcing policy before every action instead of after incidents. It gives platform and security teams runtime policy enforcement, kill switches, and audit-ready trails so every agent action is authorized, traceable, and compliant with SOC 2, EU AI Act, ISO 27001, and other enterprise frameworks.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch <a href=\"https:\/\/www.producthunt.com\/@bhaumik_lathiya\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"bhaumik_lathiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bhaumik_lathiya<\/a> <a href=\"https:\/\/www.producthunt.com\/@rishitmavani\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"rishitmavani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rishitmavani<\/a>! <\/p>\n<\/p>\n<p>Really interesting problem as agents start taking more actions in real systems. Excited to see this future.<\/p>\n<\/p>\n<p>Curious how you test agent behavior before production today, especially scenarios that are difficult, expensive, or risky to reproduce against real infrastructure?<\/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\/@mathsociety\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mathsociety<\/a>&nbsp;Great question, Kevin. Two layers today:<\/p>\n<p>Before anything touches real infra, <a href=\"https:\/\/www.producthunt.com\/products\/execlave\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"execlave\" target=\"_blank\" rel=\"noopener\">@Execlave<\/a> test runs an adversarial probe suite straight against the policy engine \u2014 privilege escalation attempts, injection payloads, out-of-scope actions \u2014 and gates promotion to the autonomous tier on a minimum resilience score (0.9 by default). No real infrastructure needed, so it covers exactly the expensive\/risky-to-reproduce cases you&#8217;re asking about.<\/p>\n<p>Once an agent&#8217;s live, you can also run it at the &#8220;observe&#8221; tier \u2014 real production traffic, every action evaluated against policy, nothing actually blocked \u2014 so you see what would have been stopped before you ever flip enforcement on for real.<\/p>\n<p>Curious how you&#8217;re thinking about this at Cloud World Model \u2014 similar approach, or hitting different walls?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt \u2014 Rishit here.<\/p>\n<p>A support agent reads a ticket. Buried in the message is a line the customer did not write. The agent does not read it as text, it reads it as an instruction. Eleven seconds later it has exported the customer table, read the payment vault, moved money, and closed the ticket.<\/p>\n<p>Nobody broke in. The agent had every permission it used. Every log line says <em>authorized<\/em>.<\/p>\n<p>I built Execlave because I have felt this gap firsthand. As a software engineer integrating agents into real systems, I kept watching the same thing happen: the pilot works, everyone is impressed, and then the agent is given access to real data and real tools \u2014 and it runs straight into security, compliance and accountability problems that nothing in the stack was built to answer.<\/p>\n<p>Every tool I found watched agents after the fact. Traces, evals, dashboards, all retrospective. None of them could refuse the call. Governance only works if it sits directly in the execution path, so that is where we put it.<\/p>\n<p>Execlave is a runtime gate between your agents and the systems they touch:<\/p>\n<ul>\n<li>\n<p><strong>Enforce<\/strong> \u2014 every action is evaluated against your policies before it executes. 20 policy types and four enforcement modes \u2014 block, warn, monitor, require_approval. Allow, deny, or hold for a human.<\/p>\n<\/li>\n<li>\n<p><strong>Prove<\/strong> \u2014 every call, payload and verdict is kept, cryptographically signed and replayable. You reconstruct an incident from the record, not from guesswork.<\/p>\n<\/li>\n<li>\n<p><strong>Stop<\/strong> \u2014 a kill switch for one agent, a team, or everything, in one click.<\/p>\n<\/li>\n<li>\n<p><strong>Report<\/strong> \u2014 decisions map to SOC 2 Type II, EU AI Act, ISO 27001, GDPR, HIPAA, PCI DSS and NIST AI RMF as signed evidence, exported in one file.<\/p>\n<\/li>\n<\/ul>\n<p>Where it is honest about its limits: a gate is only as good as the policies you give it. We ship 19 types and sensible defaults, but your first week is spent deciding what your agents are actually allowed to do. We would rather say that than pretend it is magic.<\/p>\n<p>There is a free plan for evaluation \u2014 one agent, 500 traces, no card \u2014 so you can point it at something you built and see the gate work before talking to anyone. It is non-commercial; production starts at $199\/mo. Thanks to <a href=\"https:\/\/www.producthunt.com\/@fmerian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@fmerian<\/a> for the hunt.<\/p>\n<p>I am in the comments all day. If you are running agents with production access, I especially want to hear what you have had to block by hand \u2014 that is the list we build against next.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>3<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch! The hard part with agents usually is that you find out about a bad action by reading logs after it already hit a real system, so moving the check to before the action makes sense to me. What happens on the agent&#8217;s side when something gets blocked? Does it get enough context to retry a different way, or does the run just stop?<\/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\/@alina_petrova3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@alina_petrova3<\/a>&nbsp;Thanks, and yes, that&#8217;s exactly the shift.<\/p>\n<p>On a block the agent gets a structured denial, not a dead end. <em>enforcePolicy <\/em>returns <em>allowed: false<\/em> with a violations array, and each violation carries <em>policyId<\/em>, <em>policyName<\/em>, <em>policyType<\/em>, <em>message<\/em>, and <em>enforcementMode<\/em>. So the agent knows which control fired and why, enough to reformulate (drop the PII field, use a read-only tool, narrow the scope) and re-submit, rather than just seeing &#8220;denied.&#8221;<\/p>\n<\/p>\n<p>Whether the run stops is your choice of integration style. Call enforce directly and you get the result object back to branch on. Use the wrapper and it throws a typed error, <em>PolicyBlockedError <\/em>carrying the same violations, with subclasses for specific causes (<em>ValidatorDeniedError <\/em>for a custom-validator denial, <em>ToolIntegrityError <\/em>for a changed tool descriptor, <em>AgentPausedError <\/em>for the kill switch). They all extend <em>EnforcementHaltError<\/em>, and there&#8217;s an <em>isEnforcementError() <\/em>helper so your handler can distinguish &#8220;governance said no, handle it&#8221; from an ordinary runtime failure instead of maintaining its own instanceof list.<\/p>\n<\/p>\n<p>Not every violation is a stop, either. <em>warn <\/em>mode returns the violation as a warning and the action proceeds, which is useful for steering an agent without halting it. <em>require_approval <\/em>doesn&#8217;t fail, it returns a pending state with an <em>approvalRequestId <\/em>the agent polls; approved, it continues.<\/p>\n<\/p>\n<p>The honest limit: we give the agent the reason, not the fix. There&#8217;s no &#8220;here&#8217;s the compliant version of your request&#8221;, whether the loop can use the denial productively depends on how the agent handles a structured error. In practice, a good <em>message <\/em>on the policy matters more than people expect.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The audit trail is the part I&#8217;d want to poke at. When an action passes policy but the target system then fails \u2014 timeout, 503, half-written state \u2014 does that land in the trail as its own outcome, or does the record end at &#8220;authorized&#8221;? I run an MCP server over an EU government service that goes down on a regular basis, and keeping &#8220;blocked by policy&#8221;, &#8220;never reached the system&#8221; and &#8220;the system said no&#8221; as three distinct outcomes turned out to matter more than the policy logic itself. An auditor asking what happened at 14:02 needs those answered differently, and most trails I&#8217;ve seen collapse the last two into one.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@iurii_rogulia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iurii_rogulia<\/a>&nbsp;Right thing to poke at \u2014 the record doesn&#8217;t end at &#8220;authorized.&#8221;<\/p>\n<\/p>\n<p>The pre-execution decision and the post-execution outcome are separate records, correlated by trace ID. Outcome status is a closed enum \u2014 <em>success<\/em>, <em>error<\/em>, <em>timeout<\/em>, <em>policy_blocked<\/em>, <em>limit_exceeded<\/em>, <em>flagged_for_review <\/em>\u2014 so your three cases land in three buckets:<\/p>\n<ul>\n<li>\n<p>Blocked by policy \u2192 <em>policy_blocked<\/em>, plus a row in a dedicated violations table: which policy fired, its type, its enforcement mode (<em>block \/ warn \/ monitor \/ require_approval<\/em>), and the message. So 14:02 answers as which control, in what mode.<\/p>\n<\/li>\n<li>\n<p>Never reached the system \u2192 <em>timeout<\/em>, a first-class status, not a flavour of error.<\/p>\n<\/li>\n<li>\n<p>The system said no \u2192 <em>error<\/em>, and ingest rejects it without a non-empty <em>errorType<\/em>. No bare &#8220;error&#8221; gets written.<\/p>\n<\/li>\n<\/ul>\n<p>That carries into export: on the OpenTelemetry\/SIEM path, <em>policy_blocked <\/em>maps to span status <em>OK <\/em>(a governance decision isn&#8217;t a fault) while <em>error <\/em>and <em>timeout <\/em>map to <em>ERROR <\/em>\u2014 denials don&#8217;t pollute reliability dashboards.<\/p>\n<\/p>\n<p>With a dependency that&#8217;s down regularly, there&#8217;s a fourth outcome worth naming: governance itself was unreachable and the action ran anyway. Each policy has a failureMode (<em>fail_open <\/em>default, <em>fail_closed <\/em>opt-in) independent of its enforcement mode, and a fail-open allow is marked with its provenance (<em>fail_open_network_error<\/em>, <em>fail_open_server_error<\/em>, <em>fail_open_circuit_breaker<\/em>) and emits a structured bypass event timestamped at the moment of bypass \u2014 so the ungoverned window is reconstructable, not invisible.<\/p>\n<\/p>\n<p>Two honest limits: that bypass event is emitted client-side to a handler you wire into your SIEM, since by definition our server wasn&#8217;t reachable to record it. And <em>timeout <\/em>vs <em>error <\/em>is reported by the calling code \u2014 we enforce the taxonomy and reject malformed outcomes, but your integration decides whether a failure was a socket timeout or a 503. That mapping is where I&#8217;d spend the effort.<\/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\/@iurii_rogulia\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@iurii_rogulia<\/a>&nbsp;The three you named are the right three, and your EU service is hiding a fourth: the system said yes and then did not do it. Accepted, 200 back, nothing actually happened downstream. That one reads as success in every trail I have looked at.<\/p>\n<\/p>\n<p>The part worth pushing hardest is that the collapse happens at the emitter, not at the dashboard. Once one value carries two meanings, nothing downstream can recover the difference, which is why &#8220;add better monitoring&#8221; never fixes this class of thing.<\/p>\n<\/p>\n<p>Do you keep accepted-but-never-executed as its own outcome, or does it fall into 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<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the concept. What was the hardest part building this?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@barroncaster\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@barroncaster<\/a>&nbsp;Honestly, the latency budget. Enforcement runs synchronously in the request path, so if it adds real lag agents feel it and teams just turn it off. Getting policy evaluation down to sub 20ms while still doing more than a naive allow\/deny check took a lot of iteration.<\/p>\n<p>Close second was tuning it so it catches real violations without blocking legitimate actions constantly. Too aggressive and nobody keeps it on. Too permissive and it&#8217;s just theater. That balance took more work than the enforcement mechanism itself.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This made me think of DORA. Having governance written down is one thing, but being able to enforce those controls while agents are actually running seems increasingly important. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@henry_habib\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@henry_habib<\/a>&nbsp;Great connection, Henry, DORA is exactly the kind of framework where this distinction matters most. A written ICT risk policy doesn&#8217;t help much if you can&#8217;t show, in the moment, that agents touching production systems actually stayed within scope. That&#8217;s the gap we&#8217;re going after: not just documenting what agents are allowed to do, but enforcing and evidencing it while they&#8217;re actually running. Appreciate you flagging it, definitely a space worth digging into further.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Looks intereting. Congrats team!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@hamza_afzal_butt\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hamza_afzal_butt<\/a>&nbsp;Thank you so much, Hamza! Really appreciate you stopping by \ud83d\ude4f We&#8217;re building Execlave to help teams keep AI agents in check once they&#8217;re in production, runtime policy enforcement, audit trails, and compliance reporting for things like EU AI Act and SOC 2 and more. Would love to hear your thoughts if you get a chance to dig in further!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>3<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>Maker here. I&#8217;m co-founder of <a href=\"https:\/\/www.producthunt.com\/products\/execlave\" data-node-type=\"mention\" data-mention-type=\"product\" data-mention-id=\"execlave\" target=\"_blank\" rel=\"noopener\">@Execlave<\/a> , and I want to tell you why we actually built this.<\/p>\n<p>The moment it clicked for me wasn&#8217;t a big breach story. It was how ordinary the failures were.<\/p>\n<p>In conversation after conversation with teams putting agents into production, the same thing kept coming up: nobody was afraid of the model going rogue. They were afraid of the boring stuff.<\/p>\n<p>A permission someone forgot to revoke. A spend limit that lived in a doc but never in the code. An agent that did exactly what its access allowed, at 3am, when no one was watching.<\/p>\n<p>And almost everyone had the same setup: a clear policy, and no way to enforce it on the running agent. They could tell you what the agent was supposed to do. They couldn&#8217;t stop it when it didn&#8217;t.<\/p>\n<p>That gap, between the governance people write down and what actually holds at runtime, is what convinced us this is a company and not a feature. As agents start taking real actions inside real systems, &#8220;we have a policy&#8221; stops being enough. Something has to be able to say no at the moment it matters.<\/p>\n<p>That&#8217;s the problem we care about.<\/p>\n<p>Two things I&#8217;d genuinely love feedback on: if you&#8217;re running agents in production today, what actually stops yours from doing something it shouldn&#8217;t right now? And does the &#8220;policy on paper vs enforcement at runtime&#8221; gap match what you&#8217;re seeing, or not?<\/p>\n<p>Would love to hear how you&#8217;re thinking about it.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@bhaumik_lathiya\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@bhaumik_lathiya<\/a>&nbsp;I found this product very genuine. I think right now everyone is focusing on AI Agents in Production, but only a few are asking the questions related to Governance. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/BFAAT63JE6DTDA\" class=\"app-title\">Qencode MCP<\/a><\/p>\n<div class=\"one-liner\">Let AI agents transcode and process video<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">103<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Qencode MCP \u662f\u4e00\u6b3e\u5c06\u89c6\u9891\u4e91\u5904\u7406\u80fd\u529b\u5c01\u88c5\u4e3a AI \u4ee3\u7406\uff08\u5982 Claude\uff09\u53ef\u8c03\u7528\u7684\u5de5\u5177\uff0c\u8ba9\u7528\u6237\u7528\u81ea\u7136\u8bed\u8a00\u5b8c\u6210\u8f6c\u7801\u3001\u5206\u6790\u3001\u7f16\u8f91\u3001\u4f18\u5316\u4e0e\u4ea4\u4ed8\uff0c\u76f4\u51fb\u201c\u89c6\u9891\u5904\u7406\u6d41\u7a0b\u590d\u6742\u3001\u5de5\u5177\u5272\u88c2\u201d\u7684\u75db\u70b9\uff0c\u5c24\u5176\u9002\u5408\u975e\u6280\u672f\u521b\u4f5c\u8005\u548c\u8ffd\u6c42\u81ea\u52a8\u5316\u7684\u5f00\u53d1\u56e2\u961f\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/aec48f00-f87e-4b90-9d32-58413da700ac.gif?auto=format\" data-video-url=\"https:\/\/www.loom.com\/share\/928edd09d2434eefa90f9a66a58ab205\"><source src=\"https:\/\/www.loom.com\/share\/928edd09d2434eefa90f9a66a58ab205\" type=\"video\/mp4\"><\/video><\/p>\n<div class=\"video-overlay\">\n<div class=\"play-icon\">\u25b6<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fa6068be-be68-4012-9147-9973df761a2b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/666a02ef-a2a3-4eac-b6ff-5480b92cead6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d357c256-0077-4898-b10a-89eda495ba3b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fb55bc50-d692-4585-bf5c-c9b36128e670.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\">Streaming Services<\/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\u89c6\u9891\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">MCP\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u81ea\u7136\u8bed\u8a00\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u4e91\u8f6c\u7801<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u81ea\u52a8\u5316<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u526a\u8f91<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">AI\u4ee3\u7406\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u5de5\u4f5c\u6d41<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u89c6\u9891<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u63d0\u793a\u8bcd\u76f4\u51fa\u89c6\u9891\u201d\u7684\u4fbf\u6377\u6027\uff0c\u5e76\u8be2\u95ee\u662f\u5426\u80fd\u652f\u6301\u591a\u6b65\u9aa4\u8fed\u4ee3\u800c\u975e\u5355\u6b21\u8f6c\u6362\u3002\u6709\u5efa\u8bae\u6307\u5411\u201c\u81ea\u52a8\u68c0\u6d4b\u9759\u97f3\u7247\u6bb5\u5e76\u526a\u5207\u538b\u7f29\u201d\u7684\u590d\u5408\u5de5\u4f5c\u6d41\uff0c\u8ba4\u4e3a\u8fd9\u80fd\u5927\u5e45\u8282\u7701\u65f6\u95f4\u3002\u56de\u5e16\u4e2d\u786e\u8ba4\u4e86\u94fe\u5f0f\u5904\u7406\u80fd\u529b\uff0c\u5b98\u65b9\u5f3a\u8c03\u53ef\u968f\u6d41\u7a0b\u6f14\u8fdb\u7ec4\u5408\u64cd\u4f5c\uff0c\u4f46\u5bf9\u5904\u7406\u901f\u5ea6\u4e0e\u6210\u672c\u672a\u4f5c\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                Qencode MCP \u8e29\u4e2d\u4e86\u5f53\u4e0b\u4e24\u4e2a\u6700\u70ed\u7684\u6280\u672f\u53d9\u4e8b\uff1aAI Agent \u548c\u89c6\u9891\u751f\u4ea7\u81ea\u52a8\u5316\u3002\u5b83\u806a\u660e\u5730\u89c4\u907f\u4e86\u201c\u8ba9 AI \u76f4\u63a5\u751f\u6210\u89c6\u9891\u201d\u7684\u4f2a\u9700\u6c42\uff0c\u8f6c\u800c\u5207\u5165\u201cAI \u8c03\u5ea6\u5df2\u6709\u9ad8\u6027\u80fd\u89c6\u9891\u7ba1\u7ebf\u201d\u7684\u52a1\u5b9e\u8def\u5f84\u2014\u2014\u8fd9\u672c\u8d28\u4e0a\u662f\u7528\u81ea\u7136\u8bed\u8a00\u5305\u88c5\u4e86\u4e00\u5806\u5de5\u7a0b\u5316 API\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u770b\uff0c\u65e9\u671f\u7528\u6237\u5e76\u975e\u6cdb\u5a31\u4e50\u521b\u4f5c\u8005\uff0c\u800c\u662f\u5df2\u7ecf\u4e86\u89e3 MCP \u751f\u6001\u7684\u5f00\u53d1\u8005\u6216\u6280\u672f\u578b\u8fd0\u8425\uff0c\u4ed6\u4eec\u5173\u5fc3\u7684\u662f\u201c\u80fd\u5426\u94fe\u5f0f\u64cd\u4f5c\u201d\u201c\u662f\u5426\u80fd\u5904\u7406\u9759\u97f3\u68c0\u6d4b\u201d\u8fd9\u7c7b\u5de5\u7a0b\u7ec6\u8282\uff0c\u8bf4\u660e\u4ea7\u54c1\u5f53\u524d\u5356\u70b9\u662f\u201c\u53ef\u7f16\u7a0b\u6027\u201d\u800c\u975e\u201c\u5f00\u7bb1\u5373\u7528\u201d\u3002\u8fd9\u65e2\u662f\u4f18\u52bf\u4e5f\u662f\u98ce\u9669\uff1a\u82e5\u5904\u7406\u957f\u89c6\u9891\u7684\u901f\u5ea6\u3001\u6210\u672c\u3001\u5e76\u53d1\u80fd\u529b\u6ca1\u6709\u786c\u4f18\u52bf\uff0cClaude \u7b49\u524d\u7aef\u5de5\u5177\u5b8c\u5168\u53ef\u4ee5\u88ab\u66f4\u5782\u76f4\u7684 Workflow \u5f15\u64ce\u66ff\u4ee3\uff0cMCP \u53ea\u662f\u8584\u8584\u4e00\u5c42\u534f\u8bae\u5916\u8863\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u8bd5\u63a2\u70b9\u5728\u4e8e\uff1a\u5b83\u662f\u5426\u80fd\u628a\u201c\u89c6\u9891\u5904\u7406\u201d\u4ece\u201c\u5199\u4ee3\u7801\u8c03\u7528 FFmpeg\u201d\u63d0\u5347\u5230\u201c\u63cf\u8ff0\u610f\u56fe\u5373\u4ea4\u4ed8\u201d\u7684\u4f53\u9a8c\u5c42\u7ea7\u3002\u76ee\u524d\u8bc4\u8bba\u4e2d\u6ca1\u6709\u51fa\u73b0\u5173\u4e8e\u5931\u8d25\u6848\u4f8b\u3001\u8f6c\u7801\u8d28\u91cf\u5bf9\u6bd4\u6216\u5ef6\u8fdf\u6570\u636e\u7684\u53cd\u9988\uff0c\u6c89\u9ed8\u6216\u8bb8\u610f\u5473\u7740\u4f53\u9a8c\u4e2d\u89c4\u4e2d\u77e9\uff0c\u4e5f\u6216\u8bb8\u610f\u5473\u7740\u7528\u6237\u8fd8\u505c\u7559\u5728\u73a9\u7968\u9636\u6bb5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4e00\u53e5\u8bdd\u523a\u75db\uff1a\u5982\u679c\u53ea\u662f\u7ed9 AI \u52a0\u4e86\u4e2a\u8f6c\u7801\u5f00\u5173\uff0c\u90a3\u5b83\u5c31\u662f\u4e2a\u73a9\u5177\uff1b\u5982\u679c\u80fd\u6210\u4e3a\u89c6\u9891 Agent \u5de5\u4f5c\u6d41\u7684\u57fa\u7840\u8bbe\u65bd\uff0c\u624d\u6709\u8d44\u683c\u8c08\u98a0\u8986\u3002\u76ee\u524d\uff0c\u5b83\u662f\u524d\u8005\uff0c\u4f46\u65b9\u5411\u6b63\u786e\u3002\u503c\u5f97\u5173\u6ce8\u7684\u662f\u5b83\u80fd\u5426\u540e\u7eed\u5f00\u653e\u8bc4\u8bba\u4e2d\u70ed\u8bae\u7684\u201c\u667a\u80fd\u5207\u7247+\u538b\u7f29\u201d\u8fd9\u7c7b\u590d\u5408\u80fd\u529b\uff0c\u5e76\u964d\u4f4e\u4f7f\u7528\u95e8\u69db\u5230\u975e\u6280\u672f\u7528\u6237\u4e5f\u80fd\u9a7e\u9a6d\uff0c\u5426\u5219\u5929\u82b1\u677f\u6e05\u6670\u53ef\u89c1\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\">Qencode MCP<\/span>\n                <\/div>\n<div class=\"comment-content\">Qencode lets AI assistants transcode, analyze, edit, optimize, and deliver video using natural language, powered by a cloud video processing platform.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<br \/>\nWith Qencode MCP, you can ask an AI agent like Claude to transcode or process a video in natural language, and it can handle the workflow through Qencode.<br \/>\nFor example: \u201cUpscale this video to 4K\u201d or \u201cConvert this video to HLS.\u201d<br \/>\nWhat video workflows would you want your AI agent to handle for you?<br \/>\nWould love to hear your ideas \ud83d\udc47<\/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\">@karina_avendano Such a seamless integration! A workflow where an AI agent automatically detects silent parts, cuts them, and compresses the video for web delivery in one prompt would save hours.<br \/>\nLet&#8217;s connect on LinkedIn always great to network with folks building cool AI tools!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Simply to use, via simple prompt in <strong>Claude<\/strong> cli ))<\/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>Video is still the most tricky thing to make with AI so it&#8217;s awesome to see this MCP making it easier! <\/p>\n<p>Do you typically aim for one-shot conversions or chaining together iterative changes?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@tori_seidenstein\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tori_seidenstein<\/a>&nbsp;You can use the MCP for a straightforward one-shot conversion, but also chain changes together as the workflow evolves, which is where I think it gets especially interesting for AI-driven video 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<\/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\/Y7FGQURDKAOVP7\" class=\"app-title\">Insta360 X6<\/a><\/p>\n<div class=\"one-liner\">A 360 camera, gimbal, and 3D scanner in one<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">99<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Insta360 X6 \u5c068K\u5168\u666f\u76f8\u673a\u3001AI\u7a33\u5b9a\u4e91\u53f0\u4e0e3D\u7a7a\u95f4\u626b\u63cf\u4eea\u5408\u4e3a\u4e00\u4f53\uff0c\u89e3\u51b3\u521b\u4f5c\u8005\u5728\u8fd0\u52a8\u62cd\u6444\u4e2d\u201c\u65e2\u8981\u5e7f\u89c6\u89d2\u3001\u53c8\u8981\u7a33\u5b9a\u6784\u56fe\u3001\u8fd8\u8981\u5feb\u901f\u51fa\u7247\u201d\u7684\u591a\u8bbe\u5907\u5207\u6362\u75db\u70b9\uff0c\u8ba9\u5355\u4eba\u5373\u53ef\u5b8c\u6210\u7535\u5f71\u7ea7\u5168\u666f\u5185\u5bb9\u7684\u62cd\u6444\u4e0e\u667a\u80fd\u526a\u8f91\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\/f822bc44-dd60-4251-8586-8a2e2771be1d.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\/f9d641e4-d786-43e1-9c8a-1fc17ab220b8.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\/e19d370b-7e1c-404a-a112-004ee615bc80.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\/c2120276-8504-428c-9571-ac12c8c7ec71.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\/93292c35-9e14-415d-9a62-7cad22b1a285.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\/99e59e97-2064-404c-8f2f-2c3e2479e768.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\/dda196a0-bf6d-4751-a0b8-92f719b22cd8.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\/874ffeba-6e69-41e3-9fbe-745afc8bb3b8.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\/8486c7d6-ea90-43b3-aa86-1f5a1045c24d.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\/5bd4bce0-43b8-4bfc-8259-1a822f7b8fdc.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\/1cbe14e8-f0dc-47fa-8119-5d430093415f.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\/37c609ac-455e-493f-bdb5-a614b6758e69.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\/9b257d29-2784-4ac7-bb61-e2ec237f7a6a.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\/f9b452c8-f9ec-4efb-abdd-8ebf5d35fec1.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\/05f12b7c-c5df-44e0-bf95-cdffe908fccc.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\/5908650f-3463-428d-aefc-e2235bcd6732.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\/a31450b9-60b8-4c12-947b-842f63f76481.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\/5dd39dcc-6e7f-4fb9-901d-fda3a6aa55a2.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\/acb74660-f17f-4849-9c44-b1fe5c7c00e9.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\/21b2580e-062e-4c0b-90ee-a0a9b577a491.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\/7fc7ded0-7065-4b75-ac13-6d9dd65405ae.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\/cc0ab2c1-298e-4663-bdeb-ef8c2f583dca.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=hDjlvCqSuzM\"><source src=\"https:\/\/www.youtube.com\/watch?v=hDjlvCqSuzM\" 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\">Hardware<\/span><br \/>\n            <span class=\"tag\">Photography<\/span><br \/>\n            <span class=\"tag\">Video cameras<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">8K\u5168\u666f\u76f8\u673a<\/span><br \/>\n            <span class=\"tag\">AI\u667a\u80fd\u526a\u8f91<\/span><br \/>\n            <span class=\"tag\">\u4e09\u5408\u4e00\u8bbe\u5907<\/span><br \/>\n            <span class=\"tag\">\u8fd0\u52a8\u62cd\u6444<\/span><br \/>\n            <span class=\"tag\">3D\u626b\u63cf<\/span><br \/>\n            <span class=\"tag\">\u7d22\u5c3c\u4f20\u611f\u5668<\/span><br \/>\n            <span class=\"tag\">\u675c\u6bd4\u89c6\u754c<\/span><br \/>\n            <span class=\"tag\">\u7a33\u5b9a\u4e91\u53f0<\/span><br \/>\n            <span class=\"tag\">\u5168\u666f\u521b\u4f5c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6237\u5916Vlog<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u53cd\u9988\u79ef\u6781\uff0c\u6838\u5fc3\u8ba4\u53ef\u5176\u201c\u4e09\u5408\u4e00\u201d\u5f62\u6001\u5bf9\u521b\u4f5c\u6d41\u7a0b\u7684\u7b80\u5316\uff0c\u7279\u522b\u662fInstaFrame 2.0\u514d\u540e\u671f\u6784\u56fe\u548cAI\u81ea\u52a8\u526a\u8f91\u4eae\u70b9\u3002\u6709\u6548\u5efa\u8bae\u96c6\u4e2d\u4e8e\uff1a\u671f\u5f85\u5b9e\u9645\u957f\u65f6\u95f4\u5f55\u5236\u6563\u70ed\u8868\u73b0\u30013D\u626b\u63cf\u7cbe\u5ea6\u7ec6\u8282\uff0c\u4ee5\u53caAI\u5bfc\u6f14\u5728\u590d\u6742\u5149\u7ebf\u4e0b\u7684\u8bc6\u522b\u51c6\u786e\u6027\uff0c\u5e0c\u671b\u540e\u7eed\u56fa\u4ef6\u80fd\u6301\u7eed\u4f18\u5316\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Insta360 X6\u7684\u91ce\u5fc3\u4e0d\u5728\u5806\u6599\uff0c\u800c\u5728\u91cd\u65b0\u5b9a\u4e49\u8fd0\u52a8\u76f8\u673a\u7684\u201c\u4ea4\u4e92\u8fb9\u754c\u201d\u3002\u53cc1\/1.1\u82f1\u5bf8\u4f20\u611f\u5668\u548c8K50\u662f\u57fa\u7840\u6218\u529b\uff0c\u771f\u6b63\u7684\u6740\u62db\u662fInstaFrame 2.0\u2014\u2014\u5b83\u628a\u4f20\u7edf\u5168\u666f\u76f8\u673a\u201c\u5148\u62cd\u540e\u526a\u201d\u7684\u6c89\u91cd\u540e\u671f\u8d1f\u62c5\uff0c\u8f6c\u53d8\u4e3a\u201c\u673a\u5185\u5b9e\u65f6\u8f93\u51fa\u7a33\u5b9a4K\u201d\u7684\u8f7b\u91cf\u5316\u5de5\u4f5c\u6d41\uff0c\u8fd9\u76f4\u51fb\u4e86\u77ed\u89c6\u9891\u65f6\u4ee3\u7528\u6237\u201c\u61d2\u5f97\u526a\u8f91\u201d\u7684\u81f4\u547d\u75db\u70b9\u3002\u800cAI Director\u4e0ePanoMind\u6a21\u578b\u7684\u52a0\u5165\uff0c\u672c\u8d28\u4e0a\u662f\u7528\u7b97\u529b\u66ff\u4ee3\u4eba\u5de5\u65f6\u95f4\uff0c\u5c06\u7d20\u6750\u7b5b\u9009\u548c\u53d9\u4e8b\u526a\u8f91\u524d\u7f6e\u5230\u5145\u7535\u573a\u666f\uff0c\u8fd9\u662f\u5bf9\u521b\u610f\u751f\u4ea7\u529b\u7684\u663e\u8457\u89e3\u653e\u3002\u4e0d\u8fc7\uff0c\u9700\u8981\u6cfc\u51b7\u6c34\u7684\u662f\uff1a3D Time Capsule\u76ee\u524d\u66f4\u50cf\u70ab\u6280\u7684\u201c\u6280\u672f\u6f14\u793a\u201d\uff0c\u9ad8\u65af\u6cfc\u6e85\u7684\u5b9e\u9645\u5efa\u6a21\u7cbe\u5ea6\u548c\u6587\u4ef6\u4f53\u79ef\u80fd\u5426\u652f\u6491\u4e25\u8083\u76843D\u8d44\u4ea7\u751f\u4ea7\uff0c\u5c1a\u672a\u53ef\u77e5\uff1b\u540c\u65f6\uff0cAI\u81ea\u52a8\u526a\u8f91\u7684\u53d9\u4e8b\u903b\u8f91\u662f\u5426\u80fd\u771f\u6b63\u7406\u89e3\u201c\u7528\u6237\u60f3\u8981\u7684\u77ac\u95f4\u201d\uff0c\u800c\u975e\u4ec5\u8bc6\u522b\u201c\u6280\u672f\u610f\u4e49\u4e0a\u7684\u9ad8\u5149\u201d\uff0c\u4f9d\u7136\u5b58\u7591\u3002\u5bf9\u4e8e\u4e13\u4e1a\u521b\u4f5c\u8005\uff0cX6\u662f\u4e00\u4e2a\u5f3a\u5927\u7684\u201c\u5feb\u67aa\u624b\u201d\uff1b\u4f46\u5728\u5149\u7ebf\u590d\u6742\u6216\u8fd0\u52a8\u6781\u7aef\u7684\u573a\u666f\u4e0b\uff0c\u5176AI\u5224\u65ad\u7684\u53ef\u9760\u6027\u8fd8\u6709\u5f85\u5b9e\u6218\u68c0\u9a8c\u3002\u8fd9\u6b3e\u4ea7\u54c1\u6700\u5927\u7684\u4ef7\u503c\uff0c\u662f\u8ba9\u5168\u666f\u62cd\u6444\u4ece\u201c\u4e13\u4e1a\u5c0f\u4f17\u7684\u540e\u671f\u6d41\u7a0b\u201d\u8d70\u5411\u201c\u5927\u4f17\u5373\u62cd\u5373\u5f97\u7684\u521b\u4f5c\u5de5\u5177\u201d\uff0c\u4f46\u524d\u63d0\u662f\uff0c\u5b83\u5fc5\u987b\u80fd\u6301\u7eed\u8bc1\u660e\u81ea\u5df1\u7684\u667a\u80fd\u63a8\u8350\u6bd4\u7528\u6237\u81ea\u5df1\u7684\u5ba1\u7f8e\u66f4\u61c2\u5185\u5bb9\u3002\u5426\u5219\uff0c\u8fd9\u4f9d\u7136\u53ea\u662f\u4e00\u4e2a\u6602\u8d35\u7684\u201c\u81ea\u52a8\u5316\u6ee4\u955c\u201d\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Insta360 X6<\/span>\n                <\/div>\n<div class=\"comment-content\">Insta360 X6 is a flagship 8K 360 camera with dual 1\/1.1&#8243; Sony sensors, 8K50 video, 10-bit color, 140 minutes of 8K30 recording, and built-in storage. Its new PanoMind model and AI Director can find highlights, choose angles, and turn 360 footage into ready-to-share clips.<\/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>This is essentially three cameras merged into one pocket-sized body.<\/p>\n<p>First, it\u2019s a flagship 360 camera with dual 1\/1.1&#8243; Sony sensors, 8K50fps, and native Dolby Vision. Second, InstaFrame 2.0 lets it work like a gimbal camera, directly outputting stabilized 4K flat video without any reframing. Third, pair it with the POV Head Tracker and the camera can follow where you look.<\/p>\n<p>The new AI Director can even edit your 360 footage while the camera charges. And if that wasn\u2019t enough, the 3D Time Capsule uses Gaussian Splatting to turn captured spaces into 3D scenes.<\/p>\n<p>It\u2019s a massive spec bump, but also a rethink of what a 360 camera can actually be used for!<\/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>During work travel in Munich had a chance to try one of Insta360 products. Was pretty cool and this one looks even better. Hopefully will have a chance to try it once \ud83d\ude42<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/EFIZODXGO5X2CK\" class=\"app-title\">Kin Health<\/a><\/p>\n<div class=\"one-liner\">Record doctor visits and get clear summaries<\/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>Kin Health \u662f\u4e00\u6b3e\u9762\u5411\u60a3\u8005\u7684\u201cAI\u5c31\u533b\u5f55\u97f3\u7b14\u201d\uff0c\u5728\u5c31\u8bca\u65f6\u8bb0\u5f55\u533b\u60a3\u5bf9\u8bdd\uff0c\u5e76\u81ea\u52a8\u751f\u6210\u7ed3\u6784\u5316\u6458\u8981\uff0c\u89e3\u51b3\u60a3\u8005\u201c\u8bb0\u4e0d\u4f4f\u3001\u542c\u4e0d\u61c2\u3001\u65e0\u6cd5\u4e0e\u5bb6\u4eba\u5171\u4eab\u533b\u5631\u201d\u7684\u6838\u5fc3\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8c473880-ec79-488f-bc4f-d5264a7095b5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/71efa171-1023-49a3-973c-7babbfc06240.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\/48f50f48-81ea-497d-bfba-4e88321c7832.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\/77bdff9d-cb8f-4e84-83f9-46a4665c5350.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\/ee1d3fa1-5dfc-40b5-8e2d-927e54646e29.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\/2cd6c20e-544a-472d-bcc0-9729ff14b9e4.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\/bffc0817-9056-4bd4-b645-f5783b7b7a29.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/QbmKVlPmNd8\"><source src=\"https:\/\/youtu.be\/QbmKVlPmNd8\" 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\">Notes<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u533b\u7597<\/span><br \/>\n            <span class=\"tag\">\u5c31\u533b\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8f6c\u5199<\/span><br \/>\n            <span class=\"tag\">\u533b\u60a3\u6c9f\u901a<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u5c31\u8bca\u6458\u8981<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u533b\u7597<\/span><br \/>\n            <span class=\"tag\">\u60a3\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Ambient Scribe<\/span><br \/>\n            <span class=\"tag\">\u5bb6\u5ead\u62a4\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>\u8bc4\u8bba\u6765\u81ea\u521b\u59cb\u4eba\u7684\u4ea7\u54c1\u53d9\u4e8b\uff0c\u63d0\u53ca\u5bb6\u5ead\u56e0\u764c\u75c7\u8bca\u7597\u4fe1\u606f\u4e0d\u5bf9\u79f0\u800c\u53d7\u963b\u7684\u75db\u70b9\uff0c\u80af\u5b9a\u201c\u5bf9\u8bdd\u662f\u672a\u88ab\u5229\u7528\u7684\u533b\u7597\u6570\u636e\u201d\u8fd9\u4e00\u6d1e\u5bdf\uff0c\u5e76\u5f3a\u8c03Kin\u662f\u9996\u4e2a\u201c\u533b\u751f\u6784\u5efa\u3001\u4e34\u5e8a\u4e25\u8c28\u201d\u7684\u60a3\u8005\u7aef\u73af\u5883\u6284\u5f55\u5de5\u5177\u3002\u65e0\u5176\u4ed6\u7528\u6237\u53cd\u9988\u6216\u6539\u8fdb\u5efa\u8bae\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Kin Health \u7684\u5b9a\u4f4d\u975e\u5e38\u806a\u660e\uff0c\u5b83\u907f\u5f00\u4e86\u4e0eNuance\u3001Abridge\u7b49\u5de8\u5934\u5728\u201c\u533b\u751f\u7aef\u201d\u7684\u62e5\u6324\u8d5b\u9053\uff0c\u76f4\u63a5\u5207\u5165\u201c\u60a3\u8005\u7aef\u201d\u7684\u7a7a\u767d\u5730\u5e26\u3002\u4ea7\u54c1\u4ef7\u503c\u5e76\u975e\u7b80\u5355\u7684\u5f55\u97f3\u8f6c\u6587\u5b57\uff0c\u800c\u662f\u5c06\u8bca\u5ba4\u4e2d\u4e0d\u53ef\u9006\u7684\u3001\u9ad8\u6d41\u5931\u7387\u7684\u8bed\u97f3\u4fe1\u606f\uff0c\u8f6c\u5316\u4e3a\u60a3\u8005\u53ef\u53cd\u590d\u67e5\u9605\u3001\u53ef\u8de8\u7a7a\u95f4\u5206\u53d1\u7684\u201c\u7ed3\u6784\u5316\u8d44\u4ea7\u201d\u3002\u8fd9\u7cbe\u51c6\u51fb\u4e2d\u4e86\u8001\u9f84\u5316\u793e\u4f1a\u4e0b\u201c\u5bb6\u5ead\u534f\u540c\u62a4\u7406\u201d\u7684\u9690\u6027\u521a\u9700\u2014\u2014\u8bc4\u8bba\u4e2d\u521b\u59cb\u4eba\u4ee5\u6bcd\u4eb2\u764c\u75c7\u7ecf\u5386\u4e3a\u4f8b\uff0c\u6070\u597d\u66b4\u9732\u4e86\u8be5\u4ea7\u54c1\u6700\u6df1\u7684\u62a4\u57ce\u6cb3\uff1a\u60c5\u611f\u9a71\u52a8\u4e0b\u7684\u9ad8\u7c98\u6027\u4f7f\u7528\u573a\u666f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u9510\u8bc4\u5fc5\u987b\u6307\u51fa\u4e24\u70b9\u9690\u60a3\uff1a\u5176\u4e00\uff0c\u201c\u4e34\u5e8a\u4e25\u8c28\u201d\u662f\u53cc\u5203\u5251\u3002\u60a3\u8005\u7aef\u6458\u8981\u82e5\u8fc7\u4e8e\u7b80\u5316\uff0c\u53ef\u80fd\u9057\u6f0f\u5173\u952e\u533b\u5b66\u7ec6\u8282\uff0c\u53d8\u6210\u201c\u5b89\u6170\u5242\u201d\uff1b\u82e5\u8fc7\u4e8e\u8be6\u7ec6\uff0c\u5219\u53ef\u80fd\u8bef\u5bfc\u60a3\u8005\u81ea\u6211\u8bca\u65ad\uff0c\u589e\u52a0\u533b\u7597\u7ea0\u7eb7\u98ce\u9669\u3002AI\u6458\u8981\u7684\u201c\u5ea6\u201d\u5982\u4f55\u4e0e\u533b\u751f\u539f\u59cb\u8bb0\u5f55\u6821\u51c6\uff0c\u662f\u672a\u89e3\u96be\u9898\u3002\u5176\u4e8c\uff0c\u9690\u79c1\u4e0e\u5408\u89c4\u662f\u60ac\u9876\u4e4b\u5251\u3002\u5904\u7406\u5065\u5eb7\u4fe1\u606f\uff08PHI\uff09\u7684\u4f20\u8f93\u4e0e\u5b58\u50a8\uff0c\u5728\u7f8e\u56fd\u9700\u4e25\u683c\u7b26\u5408HIPAA\uff0c\u8de8\u5dde\u5171\u4eab\u66f4\u6d89\u53ca\u590d\u6742\u6cd5\u5f8b\u8fb9\u754c\u3002\u521b\u59cb\u4eba\u7684\u533b\u751f\u80cc\u666f\u662f\u54c1\u724c\u4fe1\u4efb\u7684\u8d77\u70b9\uff0c\u4f46\u65e0\u6cd5\u66ff\u4ee3\u771f\u6b63\u5408\u89c4\u7684\u6280\u672f\u67b6\u6784\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u957f\u8fdc\u770b\uff0cKin\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u6458\u8981\u5de5\u5177\u201d\uff0c\u800c\u5728\u4e8e\u6210\u4e3a\u60a3\u8005\u533b\u7597\u6570\u636e\u7684\u201c\u4e2a\u4eba\u65f6\u95f4\u8f74\u201d\u3002\u82e5\u5b83\u80fd\u6253\u901a\u540e\u7eed\u7684\u7528\u836f\u63d0\u9192\u3001\u590d\u8bca\u9884\u7ea6\u3001\u5bb6\u5ead\u5171\u4eab\u6743\u9650\u7ba1\u7406\uff0c\u751a\u81f3\u53cd\u5411\u5582\u7ed9\u533b\u751f\u505a\u51b3\u7b56\u652f\u6301\uff0c\u5219\u6709\u671b\u4ece\u201c\u8f85\u52a9\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u60a3\u8005\u6570\u636e\u5165\u53e3\u201d\u3002\u4f46\u76ee\u524d\u5b83\u4ecd\u662f\u4e00\u4e2a\u7cbe\u81f4\u7684\u5782\u76f4\u5de5\u5177\uff0c\u77ed\u671f\u96be\u4ee5\u6446\u8131\u5bf9\u5355\u4e00\u5c31\u8bca\u573a\u666f\u7684\u4f9d\u8d56\u3002\u8d44\u672c\u5e02\u573a\u4f1a\u4e70\u8d26\uff0c\u4f46\u4e34\u5e8a\u843d\u5730\u9700\u8981\u66f4\u8c28\u614e\u7684\u9a8c\u8bc1\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Kin Health<\/span>\n                <\/div>\n<div class=\"comment-content\">Kin helps you prepare for healthcare appointments, capture the conversation, and follow through afterward so you can stay present during the visit instead of taking notes or trying to remember everything later. After each visit, Kin turns the conversation into a focused summary. Rather than giving you a word-for-word transcript, Kin organizes the key points, recommendations, and next steps so you can quickly understand what happened and what to do next.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">After my mother-in-law was diagnosed with breast cancer, our family came together to navigate her diagnosis, treatment, and recovery journey. The bottleneck quickly became our ability to share accurate information from inside the appointment with family across multiple cities and states. My realization: conversation is the richest source of data in our healthcare system today, and the one nobody is harnessing for the patient or their loved one. Kin is the first doctor-built, clinically rigorous, magical ambient scribe built for patients and their family.<\/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<\/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\/QSHICCJCGWCECY\" class=\"app-title\">Dishylink<\/a><\/p>\n<div class=\"one-liner\">Open-source Starlink monitoring app for Mac, Windows and Web<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">91<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Dishylink \u662f\u4e00\u6b3e\u5f00\u6e90\u514d\u8d39\u7684 Starlink \u684c\u9762\u76d1\u63a7\u5e94\u7528\uff0c\u76f4\u8fde\u7528\u6237\u81ea\u5bb6\u7f51\u7edc\u4e2d\u7684\u661f\u94fe\u8bbe\u5907\uff0c\u5728\u6d4f\u89c8\u5668\u548c\u684c\u9762\u7aef\u6062\u590d\u5e76\u8d85\u8d8a\u661f\u94fe\u5b98\u65b9\u5df2\u5173\u95ed\u7684\u7f51\u9875\u7ba1\u7406\u529f\u80fd\uff0c\u89e3\u51b3 Mac\/Windows \u7528\u6237\u201c\u770b\u4e2a\u72b6\u6001\u8fd8\u5f97\u8d77\u8eab\u627e\u624b\u673a\u201d\u7684\u957f\u671f\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\/93545314-9194-4ba3-b493-5356dde877c9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8b97f26c-b19f-4bf6-adb2-5b8c550bf462.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f06110a3-9150-4771-a0e9-f17c4f10a1a9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0ff815b4-64de-41d2-a77d-638b341c88c3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f80c02c3-d668-4c2d-8027-b1648db5cef1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/12732e2b-d0fa-4dc7-9a99-77a8b28293b0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/486eb597-f376-4a9d-b3e5-324ff3ccaf20.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c242f469-dd94-4384-ad5d-a33e7beefcf9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d574ad20-0dd3-44c2-9f07-4ab876a062f1.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/0fca2ad8-7d1f-4041-9569-83f892519d80.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f1a71225-7c2c-4dd9-9e12-4567af7f5f9a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6f1ca9f6-6453-480a-a6aa-571516153ea3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/82b72685-2219-4932-8005-430b0cc9f9c7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4cd3e8cd-3dc0-4ec6-818a-68e080e702bb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8f2d4813-420e-4085-88c6-eed9e6a88d52.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f19be578-36e4-4d39-8062-02176fe5857a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/80d760a8-4338-4574-857d-7933691019d8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Chrome Extensions<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">User Experience<\/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\">\u536b\u661f\u4e92\u8054\u7f51<\/span><br \/>\n            <span class=\"tag\">Starlink\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u684c\u9762\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u7f51\u7edc\u8bca\u65ad<\/span><br \/>\n            <span class=\"tag\">\u5929\u7ebf\u5bf9\u51c6<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u7528\u91cf\u76d1\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u529f\u8017\u7edf\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u53cb\u597d<\/span><br \/>\n            <span class=\"tag\">Chrome\u63d2\u4ef6<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u89e3\u51b3\u771f\u5b9e\u75db\u70b9\uff0c\u79f0\u8d5e\u5f00\u6e90\u548c\u754c\u9762\u3002\u6709\u7528\u6237\u53cd\u9988\u8be5\u5e94\u7528\u6210\u529f\u68c0\u6d4b\u5230\u5176\u661f\u94fe\u63a5\u6536\u5668\u672a\u5bf9\u51c6\u5e76\u7ed9\u51fa\u8c03\u6574\u65b9\u5411\uff08\u504f\u8f6c\u89d2\uff09\uff0c\u8bf4\u660e\u8bca\u65ad\u529f\u80fd\u6709\u6548\u3002\u5f00\u53d1\u8005\u5728\u5e16\u5185\u627f\u8bfa\u65e0\u4ed8\u8d39\u8ba1\u5212\u3001\u65e0\u4e91\u7aef\u3001\u65e0\u8d26\u6237\uff0c\u83b7\u5f97\u201c\u4e70\u5496\u5561\u201d\u6253\u8d4f\u548c\u201c\u60ca\u559c\u201d\u597d\u8bc4\uff0c\u6574\u4f53\u672a\u89c1\u8d1f\u9762\u95ee\u9898\u6216\u529f\u80fd\u5efa\u8bae\u53cd\u9988\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Dishylink \u7cbe\u51c6\u8e29\u4e2d\u4e86\u661f\u94fe\u7528\u6237\u751f\u6001\u91cc\u4e00\u4e2a\u9690\u853d\u4f46\u6301\u7eed\u6076\u5316\u7684\u88c2\u7f1d\uff1a\u5b98\u65b9\u653e\u5f03\u7f51\u9875\u7aef\u540e\uff0c\u684c\u9762\u7528\u6237\u88ab\u5f3a\u5236\u7ed1\u5b9a\u624b\u673aApp\uff0c\u800c\u786c\u4ef6\u660e\u660e\u5c31\u5728\u81ea\u5bb6\u5c40\u57df\u7f51\u91cc\u3002\u8fd9\u4e0d\u662f\u4e00\u4e2a\u201c\u66f4\u597d\u7684App\u201d\uff0c\u800c\u662f\u5bf9\u7528\u6237\u65e2\u6709\u6743\u5229\u2014\u2014\u76f4\u63a5\u7ba1\u7406\u81ea\u5df1\u8d2d\u4e70\u7684\u786c\u4ef6\u2014\u2014\u7684\u4e00\u6b21\u6280\u672f\u6027\u5f52\u8fd8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ef7\u503c\u4e0a\u5206\u4e24\u5c42\u770b\u3002\u7b2c\u4e00\u5c42\u662f\u5373\u65f6\u5b9e\u7528\u6027\uff1a\u5b9e\u65f6\u4ef0\u89d2\/\u65b9\u4f4d\u6821\u6b63\u3001\u529f\u8017\u5386\u53f2\u3001\u8bbe\u5907\u7ea7\u6d41\u91cf\u7edf\u8ba1\u3001\u5ef6\u8fdf\u5f52\u5c5e\u5224\u5b9a\uff08\u662f\u536b\u661f\u94fe\u8def\u8fd8\u662f\u8def\u7531\u5668\uff09\uff0c\u6bcf\u4e00\u9879\u90fd\u5361\u5728\u5b98\u65b9App\u201c\u80fd\u770b\u4f46\u4e0d\u591f\u7528\u201d\u7684\u75db\u70b9\u4e0a\uff0c\u5c24\u5176\u201c\u8bef\u504f\u89d2\u6570\u5b57\u63d0\u793a\u201d\u8fd9\u79cd\u7cbe\u51c6\u7ea0\u504f\uff0c\u6bd4\u5382\u5546\u81ea\u5bb6App\u7684\u64cd\u4f5c\u8def\u5f84\u66f4\u77ed\u3001\u53cd\u9988\u66f4\u660e\u786e\u3002\u7b2c\u4e8c\u5c42\u662f\u751f\u6001\u8d26\uff1a\u5f00\u6e90MIT\u3001\u65e0\u540e\u7aef\u3001\u65e0\u9065\u6d4b\uff0c\u610f\u5473\u7740\u8be5\u5de5\u5177\u4e0d\u53d7\u5382\u5546API\u53d8\u52a8\u548c\u5546\u4e1a\u6761\u6b3e\u7ed1\u67b6\uff0c\u4e14\u80fd\u5728\u793e\u533a\u76d1\u7763\u4e0b\u957f\u671f\u8865\u7f3a\u2014\u2014\u5b98\u65b9\u5173\u95ed\u7f51\u9875\u7aef\u540e\uff0c\u8fd9\u7c7b\u9006\u5411\u5de5\u7a0b\u4ea7\u7269\u5b9e\u9645\u4e0a\u6210\u4e3a\u4e86\u793e\u533a\u5bf9\u5b98\u65b9\u4ea7\u54c1\u201c\u751f\u547d\u5468\u671f\u672b\u5c3e\u529f\u80fd\u201d\u7684\u81ea\u6211\u7ef4\u6301\u673a\u5236\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4f46\u51b7\u9759\u770b\uff0c\u9879\u76ee\u5929\u82b1\u677f\u4e5f\u5f88\u660e\u663e\uff1a\u7b2c\u4e00\uff0c\u5b83\u5b8c\u5168\u4f9d\u9644\u4e8eStarlink\u56fa\u4ef6\u548c\u5c40\u57df\u7f51\u534f\u8bae\u7684\u672a\u516c\u5f00\u63a5\u53e3\uff0c\u5b98\u65b9\u4e00\u6b21\u56fa\u4ef6\u66f4\u65b0\u5c31\u53ef\u80fd\u81f4\u5176\u5931\u6548\uff0c\u76ee\u524d\u6240\u8c13\u201c\u517c\u5bb9Gen 5\u201d\u7684\u6297\u98ce\u9669\u80fd\u529b\u4ec5\u5728\u5f53\u524d\u7248\u672c\u6210\u7acb\uff1b\u7b2c\u4e8c\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u7eaf\u76d1\u63a7\u5de5\u5177\uff0c\u5b83\u6ca1\u6709\u89e3\u51b3\u201c\u7f51\u7edc\u574f\u4e86\u8be5\u600e\u4e48\u4fee\u201d\u7684\u544a\u8b66\u5230\u5904\u7f6e\u7684\u95ed\u73af\uff0c\u53ea\u80fd\u62a5\u75c5\uff0c\u4e0d\u80fd\u6cbb\u75c5\uff1b\u7b2c\u4e09\uff0c\u8bc4\u8bba\u533a\u7684\u6ea2\u7f8e\u4e4b\u8bcd\u5927\u591a\u6765\u81ea\u65e9\u671f\u6838\u5fc3\u7528\u6237\u548cReddit\u70ed\u5ea6\u5916\u6ea2\uff0c3\u59293000\u4e0b\u8f7d\u91cf\u5728\u661f\u94fe\u5168\u7403600\u4e07\u7528\u6237\u57fa\u6570\u91cc\u51e0\u4e4e\u4e3a\u566a\u97f3\uff0c\u5c1a\u672a\u7ecf\u8fc7\u5927\u89c4\u6a21\u4e0d\u540c\u56fa\u4ef6\/\u5730\u533a\/Gen\u7684\u517c\u5bb9\u6027\u538b\u529b\u6d4b\u8bd5\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u771f\u6b63\u7684\u4ef7\u503c\u5728\u4e8e\u9a8c\u8bc1\u4e86\u4e00\u4e2a\u5546\u4e1a\u903b\u8f91\uff1a\u5f53\u667a\u80fd\u786c\u4ef6\u5382\u5546\u6536\u7a84\u539f\u751f\u63a7\u5236\u9762\u65f6\uff0c\u5f00\u6e90\u7684\u672c\u5730\u63a7\u5236\u5de5\u5177\u4e0d\u4ec5\u662f\u66ff\u4ee3\u54c1\uff0c\u66f4\u662f\u5bf9\u6297\u201c\u670d\u52a1\u5899\u201d\u7684\u4e00\u79cd\u59ff\u6001\u3002Dishylink\u672a\u5fc5\u6210\u4e3a\u7206\u6b3e\uff0c\u4f46\u5b83\u63d0\u9192\u6240\u6709\u786c\u4ef6\u5382\u5546\u2014\u2014\u7528\u6237\u5bf9\u81ea\u5bb6\u786c\u4ef6\u7684\u63a7\u5236\u6743\u88ab\u9609\u5272\u65f6\uff0c\u5f00\u6e90\u793e\u533a\u6c38\u8fdc\u4f1a\u9012\u6765\u4e00\u628a\u5200\u3002\u4e5f\u6b63\u56e0\u5982\u6b64\uff0c\u5b83\u6700\u597d\u6c38\u8fdc\u4fdd\u6301\u201c\u5c0f\u800c\u7f8e\u201d\uff0c\u4e00\u65e6\u5546\u4e1a\u5316\u6216\u8f6c\u5411\u4e91\u670d\u52a1\uff0c\u5176\u4fe1\u4efb\u6839\u57fa\u5c06\u77ac\u95f4\u5d29\u584c\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\">Dishylink<\/span>\n                <\/div>\n<div class=\"comment-content\">Starlink&#8217;s own app is phone-only, and the old web portal was switched off in 2024 with nothing to replace it. Dishylink brings that back as a native desktop app. It reads your dish and router over your own network. Features include: live stats, alignment in degrees, a 3D satellite view, obstruction time lapse, per-device data usage, power draw with daily and monthly history, and alerts that clear themselves. It&#8217;s free, open source, no account, no cloud, and works on macOS, Windows and browsers.<\/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>If you own a Starlink, you know everything about your dish lives inside a phone app. I&#8217;ve had mine for three years, and since I work on a laptop all day, checking my connection occasionally meant getting up to go and find my phone. Usually it was in another room or under a cushion. For hardware sitting on my own network, that never stopped being a pain point.<\/p>\n<p>There used to be an alternative web portal you could open in any browser, but in 2024 Starlink quietly switched it off and never replaced it. Desktop users have had nothing since. So two weeks ago I built it. Dishylink reads your dish and router directly over your own network, and it does rather more than the old portal ever did.<\/p>\n<p>What you get:<br \/>\nLive throughput, latency, obstruction and hardware health. A dish alignment view that gives you the exact correction in degrees when you&#8217;re off target. A 3D view of the satellites overhead, including which one you&#8217;re actually connected to, and an obstruction time lapse showing what&#8217;s blocking your sky. Every device on your network with its own data usage. Power draw live plus historical totals by day, week or month, which even the official app won&#8217;t give you. Alerts and an event log for outages, overheating and weather, that clear themselves when things recover. A latency breakdown that tells you whether the lag is Starlink or your own router. And on supported firmware, controls for snow melt, sleep schedule, update window and reboots.<\/p>\n<p>On privacy: no account, no backend, no analytics. It talks to your hardware over your own network and keeps everything on your machine. Nothing reaches me, because there&#8217;s nowhere for it to go. The source is public if you&#8217;d rather verify that than trust me.<\/p>\n<p>It&#8217;s free, it&#8217;s MIT licensed, and there&#8217;s no paid tier coming. I shared it on Reddit yesterday, it ended up the top post of the day with 100k+ views and around 3,000 downloads, and the comments made it clear plenty of people have been quietly living with the same annoyance.<\/p>\n<p>macOS, Windows, and a Chrome extension. Every dish I&#8217;ve tested works, including Gen 5. I&#8217;d genuinely love your feedback, especially the awkward bits. I&#8217;m here all day and I&#8217;ll answer everything.<\/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\">@daveyhert I liked everything I saw on the app. It even detected a recent issue I had with my Starlink that needed adjustment, and suggested the fix too (the dish was misaligned).<br \/>\nWeldone, David \ud83d\udc4f\ud83c\udf89<\/div>\n<div class=\"comment-actions\">\n<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>Wow, didnt know i needed this until I saw it. Buying you a coffee bro, this is awesome<\/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\/@britt_joiner\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@britt_joiner<\/a>&nbsp;Thanks, Brittany! I appreciate the support.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Good job! I was missing a proper desktop client. Bonus points for making it open source. \ud83d\udda4<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#20<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/KU4GIH32QBYFHF\" class=\"app-title\">Patience<\/a><\/p>\n<div class=\"one-liner\">The only mechanic is waiting. The only currency is time.<\/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>Patience\u662f\u4e00\u6b3e\u4ee5\u201c\u7b49\u5f85\u201d\u4e3a\u552f\u4e00\u73a9\u6cd5\u7684\u6781\u7b80iOS\u6e38\u620f\uff0c\u901a\u8fc7\u4e0d\u53ef\u9884\u6d4b\u7684\u70b9\u51fb\u65f6\u673a\u6311\u6218\uff0c\u5c06\u7528\u6237\u7684\u788e\u7247\u5316\u65f6\u95f4\u8f6c\u5316\u4e3a\u7ade\u6280\u8d44\u672c\uff0c\u6ee1\u8db3\u73b0\u4ee3\u4eba\u5bf9\u6297\u6d6e\u8e81\u3001\u5bfb\u6c42\u4e13\u6ce8\u4e0e\u6b63\u5ff5\u7684\u9700\u6c42\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\/fd2f545d-b95e-461e-b063-f45b726fbbf3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f2cb9fac-30fe-49d5-aa0d-b56aab2d8390.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/37d7a9e5-f580-4c48-b5d4-833b9c234d7f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/75ca921a-bd97-4095-9854-c4af742689eb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c0922df8-799e-493d-bde2-b96bbf81225d.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/99213187-8cfd-45d8-b758-437588c89235.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/fd9a381b-da31-454d-926b-6e3a9aa06c1f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Tech<\/span><br \/>\n            <span class=\"tag\">Games<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6781\u7b80\u6e38\u620f<\/span><br \/>\n            <span class=\"tag\">\u65f6\u95f4\u7ade\u6280<\/span><br \/>\n            <span class=\"tag\">\u4e13\u6ce8\u529b\u8bad\u7ec3<\/span><br \/>\n            <span class=\"tag\">\u51a5\u60f3\u66ff\u4ee3<\/span><br \/>\n            <span class=\"tag\">\u7b49\u5f85\u673a\u5236<\/span><br \/>\n            <span class=\"tag\">\u53cd\u5e94\u529b\u6d4b\u8bd5<\/span><br \/>\n            <span class=\"tag\">\u5168\u7403\u6392\u884c\u699c<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u53ef\u89c6\u5316<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u6e38\u620f<\/span><br \/>\n            <span class=\"tag\">iOS<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u666e\u904d\u8ba4\u53ef\u5176\u201c\u9a97\u4f60\u51a5\u60f3\u201d\u7684\u5de7\u601d\uff0c\u8ba4\u4e3a\u7b49\u5f85\u673a\u5236\u6709\u52a9\u9547\u9759\u4e0e\u4e34\u5728\u611f\u3002\u5f00\u53d1\u8005\u56de\u5e94\u4ec5\u4ee5\u201c\u6e38\u620f\u201d\u4e0a\u67b6\uff0c\u907f\u514d\u89e6\u78b0\u5065\u5eb7\u7c7b\u5ba1\u6838\u3002\u6709\u7528\u6237\u63d0\u8bae\u76f4\u64ad\u6216\u793e\u7fa4\uff08Discord\uff09\u4f20\u64ad\u6f5c\u529b\uff0c\u53e6\u5173\u6ce8\u4ed8\u8d39\u590d\u6d3b\u4ef7\u683c\u5408\u7406\u6027\uff0c\u90e8\u5206\u73a9\u5bb6\u671f\u5f85\u4e0e\u201c\u6b63\u5ff5\u201d\u66f4\u6df1\u7ed3\u5408\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                Patience\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\u5c06\u201c\u65e0\u804a\u201d\u672c\u8eab\u5546\u54c1\u5316\uff0c\u5e76\u5de7\u5999\u5ac1\u63a5\u4e86\u6392\u884c\u699c\u8fd9\u4e00\u793e\u4ea4\u8d27\u5e01\u3002\u5b83\u672c\u8d28\u4e0a\u662f\u628a\u4f20\u7edf\u6e38\u620f\u7684\u201c\u64cd\u4f5c\u6210\u672c\u201d\u66ff\u6362\u4e3a\u201c\u65f6\u95f4\u6210\u672c\u201d\uff0c\u8ba9\u7b49\u5f85\u884c\u4e3a\u83b7\u5f97\u4e86\u53ef\u91cf\u5316\u7684\u7ade\u6280\u610f\u4e49\u3002\u8fd9\u5728\u6ce8\u610f\u529b\u7ecf\u6d4e\u6cdb\u6ee5\u7684\u5f53\u4e0b\uff0c\u6784\u6210\u4e86\u4e00\u79cd\u53cd\u8bbd\u5f0f\u7684\u7a81\u56f4\u2014\u2014\u901a\u8fc7\u201c\u5265\u593a\u201d\u6765\u5236\u9020\u7a00\u7f3a\u611f\uff0c\u8fdb\u800c\u6fc0\u53d1\u7528\u6237\u7684\u53d7\u8650\u5f0f\u6c89\u8ff7\u3002\u5176\u7c92\u5b50\u53ef\u89c6\u5316\u7cfb\u7edf\u662f\u70b9\u775b\u4e4b\u7b14\uff0c\u5c06\u65e0\u4ef7\u503c\u7684\u7b49\u5f85\u6c89\u6dc0\u4e3a\u4e2a\u4eba\u5316\u7684\u3001\u53ef\u5206\u4eab\u7684\u6570\u636e\u827a\u672f\u54c1\uff0c\u8d4b\u4e88\u4e86\u6d88\u8017\u65f6\u95f4\u4ee5\u53d9\u4e8b\u611f\uff0c\u6781\u5927\u63d0\u5347\u4e86\u7559\u5b58\u52a8\u673a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u8fd9\u6b3e\u4ea7\u54c1\u7684\u5929\u82b1\u677f\u540c\u6837\u660e\u663e\u3002\u5176\u6838\u5fc3\u673a\u5236\u6781\u5ea6\u4f9d\u8d56\u4eba\u7c7b\u5bf9\u4e0d\u786e\u5b9a\u6027\u7684\u539f\u59cb\u795e\u7ecf\u53cd\u5e94\uff0c\u65b0\u9c9c\u611f\u8fc7\u540e\u6781\u6613\u75b2\u52b3\uff0c\u7f3a\u4e4f\u5b9e\u8d28\u6027\u7684\u957f\u671f\u6210\u957f\u53cd\u9988\u3002\u6240\u8c13\u201c\u51a5\u60f3\u201d\u6548\u679c\u4ec5\u662f\u526f\u4ea7\u54c1\u800c\u975e\u8bbe\u8ba1\u76ee\u6807\uff0c\u65e0\u6cd5\u4e0e\u4e13\u4e1a\u6b63\u5ff5\u5e94\u7528\u6297\u8861\u300289\u7968\u7684\u51b7\u542f\u52a8\u70ed\u5ea6\u4e5f\u4fa7\u9762\u5370\u8bc1\u4e86\u5176\u53d7\u4f17\u7684\u72ed\u7a84\u3002\u4ed8\u8d39\u89e3\u9501\u590d\u6d3b\uff087.99\u7f8e\u5143\uff09\u7684\u5b9a\u4ef7\u7565\u663e\u50b2\u6162\uff0c\u5bf9\u4e8e\u4e00\u6b3e\u4ee5\u201c\u514d\u8d39\u7b49\u5f85\u201d\u4e3a\u6838\u5fc3\u5356\u70b9\u7684\u6e38\u620f\uff0c\u9ad8\u989d\u8d4e\u4e70\u673a\u5236\u5bb9\u6613\u5f15\u53d1\u53cd\u611f\uff0c\u53cd\u800c\u53ef\u80fd\u73b7\u6c61\u5176\u201c\u7eaf\u7cb9\u6027\u201d\u7684\u54c1\u724c\u5f62\u8c61\u3002\u5b83\u66f4\u50cf\u662f\u4e00\u573a\u7cbe\u5de7\u7684\u884c\u4e3a\u827a\u672f\u5b9e\u9a8c\uff0c\u800c\u975e\u4e00\u6b3e\u5177\u5907\u957f\u671f\u8fd0\u8425\u6f5c\u529b\u7684\u5546\u4e1a\u4ea7\u54c1\u3002\u82e5\u65e0\u6cd5\u62d3\u5c55\u51fa\u66f4\u6df1\u5c42\u7684\u201c\u7b49\u5f85\u610f\u4e49\u201d\u6216\u5f15\u5165\u793e\u4ea4\u5bf9\u6297\u7684\u53d8\u4f53\uff0c\u5176\u70ed\u5ea6\u6050\u5c06\u5982\u5c4f\u5e55\u4e0a\u7684\u5706\u5708\u822c\uff0c\u95ea\u73b0\u540e\u8fc5\u901f\u6e6e\u706d\u4e8e\u9ed1\u5c4f\u4e4b\u4e2d\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\">Patience<\/span>\n                <\/div>\n<div class=\"comment-content\">A minimalist iOS game where the entire mechanic is waiting. A circle appears on a black screen after an unpredictable delay \u2014 tap it in time, or restart from Level 1. Global leaderboard and a particle visualization built from every 100ms you spent waiting.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I had this idea in 2013. Push notifications were new, endless scroll had just arrived, and what stuck with me was watching people pay real money for cosmetic items that gave them no gameplay advantage \u2014 purely to be seen at the top of something.<\/p>\n<p>So the question I couldn&#8217;t drop: would people spend time instead of money? Not time as a side effect of playing, but time as the actual price. Would someone sit and do nothing for fifteen minutes to be number one on a leaderboard?<\/p>\n<p>That&#8217;s the whole game. A black screen. A circle appears whenever it feels like it \u2014 every level roughly doubles the window, but the minimum is always half a second, so you can never settle into the wait. Tap it in time or start over at Level 1.<\/p>\n<p>The part I&#8217;m proudest of is the stats screen: an interactive particle field built from your own play history, where each particle is 100ms you spent waiting. Two people at the same level get completely different images, and you can export yours.<\/p>\n<p>Built solo over five months in React Native and Expo. It&#8217;s free \u2014 genuinely curious how far people get, and whether anyone finds the waiting as calming as I eventually did.<\/p>\n<p>Free to play, always. If you want unlimited resumes, use WORTHTHEWAIT to get a 50% discount, reducing it from $14.99 to $7.99 USD \u2014 tap Redeem Code in the Store, or <a href=\"https:\/\/apps.apple.com\/redeem?ctx=offercodes&amp;id=6759990913&amp;code=WORTHTHEWAIT\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/apps.apple.com\/redeem?ctx=offercodes&amp;id=6759990913&amp;code=WORTHTHEWAIT<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>I&#8217;ve been beating around an idea like this myself from more of a meditation angle &#8211; looking forward to 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<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@xdotcommer\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xdotcommer<\/a>&nbsp;right on! i had a few revisions getting into the app store and because of the back and forth and i was advised to keep it only as a \u201cgame\u201d and leave out any mention of wellness or medication as i don\u2019t have any training or experience in those spaces. BUT while testing and building the app, i was finding the game play and anticipation very calming, meditative and it helped me with focus and being present. That was the inspiration to add the tiny pulsing dot between the tappable circles and the haptic feedback when you tap\u2026 to make it more sensory and helped with the overall experience and gameplay <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 concept and game! It tricks you into meditation. We all need more patience in our lives. I could see this blowing up on discord where people are steaming themselves playing 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\">@jordan_axani literally came to say this. meditation can feel scary and just sitting and doing nothing maybe more so. this feels like an interesting angle to trick our bodies into sitting still by hijacking the mechanic that&#8217;s perhaps contributing most to the fear to begin with!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@jordan_axani\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jordan_axani<\/a>&nbsp;thanks so much! while building it out i was finding it was helping me with attention and focus and being present. i love your framing that it tricks you into meditation. that\u2019s excellent! <\/p>\n<\/p>\n<p>Yes, we all do need more patience in our lives, agreed! <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<\/div>\n<p><!-- \u56fe\u7247\u653e\u5927\u6a21\u6001\u6846 --><\/p>\n<div id=\"imageModal\" class=\"modal\">\n    <span class=\"close\">&times;<\/span><br \/>\n    <img class=\"modal-content\" id=\"modalImage\">\n<\/div>\n<p><script>\n    \/\/ \u83b7\u53d6\u6a21\u6001\u6846\u5143\u7d20\n    const modal = document.getElementById(\"imageModal\");\n    const modalImg = document.getElementById(\"modalImage\");\n    const closeBtn = document.getElementsByClassName(\"close\")[0];<\/p>\n<p>    \/\/ \u68c0\u6d4b\u662f\u5426\u4e3a\u79fb\u52a8\u8bbe\u5907\n    const isMobile = \/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent);<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4f18\u5316\n    function addTouchOptimization() {\n        if (isMobile) {\n            \/\/ \u4e3a\u6240\u6709\u53ef\u70b9\u51fb\u5143\u7d20\u6dfb\u52a0\u89e6\u6478\u53cd\u9988\n            const clickableElements = document.querySelectorAll(\n                '.media-content, .close, .video-overlay, .play-icon'\n            );<\/p>\n<p>            clickableElements.forEach(el => {\n                el.style.touchAction = 'manipulation'; \/\/ \u9632\u6b62\u53cc\u51fb\u7f29\u653e\n            });\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u6240\u6709\u56fe\u7247\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\n    const images = document.querySelectorAll(\"img.media-content\");\n    images.forEach(img => {\n        img.onclick = function() {\n            modal.style.display = \"block\";\n            modalImg.src = this.src;\n            \/\/ \u963b\u6b62\u80cc\u666f\u6eda\u52a8\n            document.body.style.overflow = \"hidden\";\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            img.addEventListener('touchstart', function(e) {\n                \/\/ \u9632\u6b62\u89e6\u6478\u4e8b\u4ef6\u89e6\u53d1\u4e0d\u5fc5\u8981\u7684\u884c\u4e3a\n                e.preventDefault();\n                this.click();\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6 - \u8df3\u8f6c\u5230\u89c6\u9891URL\n    const videos = document.querySelectorAll(\"video.media-content\");\n    videos.forEach(video => {\n        \/\/ \u70b9\u51fb\u89c6\u9891\u672c\u8eab\u65f6\u8df3\u8f6c\u5230\u89c6\u9891URL\n        video.onclick = function(e) {\n            \/\/ \u68c0\u67e5\u70b9\u51fb\u76ee\u6807\u662f\u5426\u662f\u89c6\u9891\u63a7\u4ef6\u6216\u5176\u5b50\u5143\u7d20\n            let isControlClick = false;\n            let target = e.target;<\/p>\n<p>            \/\/ \u5411\u4e0a\u904d\u5386DOM\uff0c\u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\u5143\u7d20\n            while (target && target !== this) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u6709\u63a7\u4ef6\u76f8\u5173\u7684\u7c7b\u540d\u6216\u5c5e\u6027\n                if (target.classList.contains('video-js') || \n                    target.tagName.toLowerCase() === 'button' || \n                    target.tagName.toLowerCase() === 'input' || \n                    target.tagName.toLowerCase() === 'select' ||\n                    target.className.includes('control')) {\n                    isControlClick = true;\n                    break;\n                }\n                target = target.parentElement;\n            }<\/p>\n<p>            \/\/ \u53ea\u6709\u5f53\u70b9\u51fb\u7684\u662f\u89c6\u9891\u672c\u8eab\u800c\u975e\u63a7\u4ef6\u65f6\u624d\u8df3\u8f6c\n            if (!isControlClick && e.target.tagName.toLowerCase() === 'video') {\n                const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            video.addEventListener('touchstart', function(e) {\n                \/\/ \u68c0\u67e5\u662f\u5426\u70b9\u51fb\u4e86\u63a7\u4ef6\n                let isControlClick = false;\n                let target = e.target;<\/p>\n<p>                while (target && target !== this) {\n                    if (target.tagName.toLowerCase() === 'button' || \n                        target.tagName.toLowerCase() === 'input' || \n                        target.className.includes('control')) {\n                        isControlClick = true;\n                        break;\n                    }\n                    target = target.parentElement;\n                }<\/p>\n<p>                if (!isControlClick) {\n                    e.preventDefault();\n                    const videoUrl = this.getAttribute('data-video-url') || this.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u4e3a\u89c6\u9891\u906e\u7f69\u6dfb\u52a0\u70b9\u51fb\u4e8b\u4ef6\uff0c\u786e\u4fdd\u70b9\u51fb\u906e\u7f69\u4e5f\u80fd\u8df3\u8f6c\n    const videoOverlays = document.querySelectorAll('.video-overlay');\n    videoOverlays.forEach(overlay => {\n        overlay.onclick = function(e) {\n            \/\/ \u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\u5230\u89c6\u9891\u5143\u7d20\n            e.stopPropagation();\n            const video = this.parentElement.querySelector('video.media-content');\n            if (video) {\n                const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                window.open(videoUrl, '_blank');\n            }\n        }<\/p>\n<p>        \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n        if (isMobile) {\n            overlay.addEventListener('touchstart', function(e) {\n                e.preventDefault();\n                e.stopPropagation();\n                const video = this.parentElement.querySelector('video.media-content');\n                if (video) {\n                    const videoUrl = video.getAttribute('data-video-url') || video.querySelector('source').src;\n                    window.open(videoUrl, '_blank');\n                }\n            }, { passive: false });\n        }\n    });<\/p>\n<p>    \/\/ \u5173\u95ed\u6a21\u6001\u6846\n    closeBtn.onclick = function() {\n        modal.style.display = \"none\";\n        \/\/ \u6062\u590d\u80cc\u666f\u6eda\u52a8\n        document.body.style.overflow = \"auto\";\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        closeBtn.addEventListener('touchstart', function(e) {\n            e.preventDefault();\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }, { passive: false });\n    }<\/p>\n<p>    \/\/ \u70b9\u51fb\u6a21\u6001\u6846\u5916\u90e8\u5173\u95ed\n    window.onclick = function(event) {\n        if (event.target === modal) {\n            modal.style.display = \"none\";\n            document.body.style.overflow = \"auto\";\n        }\n    }<\/p>\n<p>    \/\/ \u4e3a\u79fb\u52a8\u8bbe\u5907\u6dfb\u52a0\u89e6\u6478\u4e8b\u4ef6\u652f\u6301\n    if (isMobile) {\n        modal.addEventListener('touchstart', function(e) {\n            if (e.target === modal) {\n                modal.style.display = \"none\";\n                document.body.style.overflow = \"auto\";\n            }\n        }, { passive: true });\n    }<\/p>\n<p>    \/\/ \u6309ESC\u952e\u5173\u95ed\u6a21\u6001\u6846\n    document.addEventListener('keydown', function(event) {\n        if (event.key === 'Escape' && modal.style.display === 'block') {\n            modal.style.display = 'none';\n            document.body.style.overflow = \"auto\";\n        }\n    });<\/p>\n<p>    \/\/ \u68c0\u67e5\u6bcf\u4e2a\u5a92\u4f53\u753b\u5eca\u4e2d\u662f\u5426\u53ea\u6709\u4e00\u4e2a\u9879\u76ee\uff0c\u5982\u679c\u662f\uff0c\u6dfb\u52a0single-item\u7c7b\n    document.querySelectorAll('.media-gallery').forEach(gallery => {\n        if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n            gallery.classList.add('single-item');\n        }\n    });<\/p>\n<p>    \/\/ \u521d\u59cb\u5316\u89e6\u6478\u4f18\u5316\n    addTouchOptimization();<\/p>\n<p>    \/\/ \u7a97\u53e3\u5927\u5c0f\u53d8\u5316\u65f6\u91cd\u65b0\u68c0\u67e5\u753b\u5eca\u72b6\u6001\n    window.addEventListener('resize', function() {\n        document.querySelectorAll('.media-gallery').forEach(gallery => {\n            if (gallery.querySelectorAll('.media-item-wrapper').length === 1) {\n                gallery.classList.add('single-item');\n            } else {\n                gallery.classList.remove('single-item');\n            }\n        });\n    });<\/p>\n<p>    \/\/ --- \u8bc4\u8bba\u533a\u57df\u6298\u53e0\/\u5c55\u5f00\u529f\u80fd ---\n    const commentToggles = document.querySelectorAll('.comments-toggle');<\/p>\n<p>    commentToggles.forEach(toggle => {\n        toggle.addEventListener('click', function() {\n            \/\/ \u5207\u6362\u5f53\u524dtoggle\u7684open\u72b6\u6001\n            this.classList.toggle('open');<\/p>\n<p>            \/\/ \u83b7\u53d6\u5bf9\u5e94\u7684\u8bc4\u8bba\u5bb9\u5668\n            const commentsContainer = this.nextElementSibling;\n            if (commentsContainer && commentsContainer.classList.contains('comments-container')) {\n                commentsContainer.classList.toggle('open');\n            }\n        });\n    });\n<\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Product Hunt \u6bcf\u65e5\u70ed\u699c 2026-08-13 PH\u70ed\u699c | 2026-08-13 #1 Kane  [&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-312","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/312","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=312"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/312\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}