{"id":92,"date":"2026-01-04T10:47:04","date_gmt":"2026-01-04T02:47:04","guid":{"rendered":"https:\/\/ph.listeningo.cn\/index.php\/2026\/01\/04\/2026-01-03\/"},"modified":"2026-01-04T10:47:04","modified_gmt":"2026-01-04T02:47:04","slug":"2026-01-03","status":"publish","type":"post","link":"https:\/\/ph.listeningo.cn\/index.php\/2026\/01\/04\/2026-01-03\/","title":{"rendered":"PH\u70ed\u699c | 2026-01-03"},"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-01-03<\/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-01-03<\/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\/7J7A5EAKRN34PA\" class=\"app-title\">Flux<\/a><\/p>\n<div class=\"one-liner\">Build your own agents in iMessage<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">307<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Flux\u662f\u4e00\u4e2a\u5141\u8bb8\u7528\u6237\u5728iMessage\u548cWhatsApp\u7b49\u5373\u65f6\u901a\u8baf\u5e73\u53f0\u5185\u6784\u5efa\u4e2a\u6027\u5316AI\u5bf9\u8bdd\u4ee3\u7406\u7684\u5e73\u53f0\uff0c\u901a\u8fc7\u5c06AI\u878d\u5165\u7528\u6237\u5df2\u6709\u7684\u65e5\u5e38\u804a\u5929\u573a\u666f\uff0c\u89e3\u51b3\u4f20\u7edfAI\u5e94\u7528\u4ea4\u4e92\u4e0d\u81ea\u7136\u3001\u4f7f\u7528\u95e8\u69db\u9ad8\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\/8a85718c-73aa-4499-a192-b525349670f0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6f98712c-bc13-454f-bc61-11e172bf9dc9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ffb1b51b-565f-40a6-bb59-39f02a104fe3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a32343d7-6627-402d-b012-a0375d138e99.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\">Messaging<\/span><br \/>\n            <span class=\"tag\">User Experience<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u4ee3\u7406<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u5f0fAI<\/span><br \/>\n            <span class=\"tag\">iMessage\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u4eba\u673a\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u65e0\u5e94\u7528\u4ea4\u4e92<\/span><br \/>\n            <span class=\"tag\">\u60c5\u611f\u5316\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5373\u65f6\u901a\u8baf<\/span><br \/>\n            <span class=\"tag\">\u5e73\u53f0\u5316\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\u201cAI\u5b58\u5728\u754c\u9762\u95ee\u9898\u201d\u7684\u7406\u5ff5\u53ca\u5728\u804a\u5929\u573a\u666f\u5d4c\u5165\u4ee3\u7406\u7684\u65b9\u5411\u3002\u4e3b\u8981\u53cd\u9988\u96c6\u4e2d\u5728\uff1a\u5f3a\u70c8\u5173\u6ce8\u9690\u79c1\u4e0e\u6570\u636e\u5b89\u5168\u653f\u7b56\u7ec6\u8282\uff1b\u521d\u671f\u975e\u7f8e\u533a\u53f7\u7801\u652f\u6301\u4e0d\u5168\uff08\u5df2\u90e8\u5206\u4fee\u590d\uff09\uff1b\u5efa\u8bae\u589e\u52a0\u7528\u6237\u5bf9\u4ee3\u7406\u4ecb\u5165\u7684\u660e\u786e\u63a7\u5236\uff08\u5982\u5f00\u5173\u3001\u4ec5\u88ab\u63d0\u53ca\u54cd\u5e94\uff09\uff1b\u671f\u5f85\u6269\u5c55\u81f3Telegram\u3001Signal\u7b49\u5e73\u53f0\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                Flux\u6240\u6807\u699c\u7684\u201cAI\u6ca1\u6709\u667a\u80fd\u95ee\u9898\uff0c\u53ea\u6709\u754c\u9762\u95ee\u9898\u201d\uff0c\u7cbe\u51c6\u5730\u523a\u4e2d\u4e86\u5f53\u524dAI\u5e94\u7528\u53d1\u5c55\u7684\u4e00\u4e2a\u5173\u952e\u74f6\u9888\uff1a\u80fd\u529b\u4e0e\u6613\u7528\u6027\u4e4b\u95f4\u7684\u65ad\u88c2\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u7a81\u7834\uff0c\u800c\u662f\u4ea4\u4e92\u8303\u5f0f\u7684\u91cd\u6784\u2014\u2014\u5c06AI\u4ee3\u7406\u4ece\u72ec\u7acb\u7684\u201c\u5e94\u7528\u201d\u964d\u7ef4\u6210\u901a\u8baf\u751f\u6001\u4e2d\u7684\u201c\u8054\u7cfb\u4eba\u201d\u3002\u8fd9\u6b65\u68cb\u770b\u4f3c\u7b80\u5355\uff0c\u5b9e\u5219\u91ce\u5fc3\u52c3\u52c3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u8bd5\u56fe\u5c06AI\u4ea4\u4e92\u201c\u793e\u4ea4\u5316\u201d\uff0c\u5229\u7528iMessage\u7b49\u5e73\u53f0\u81ea\u5e26\u7684\u4fe1\u4efb\u611f\u4e0e\u60c5\u611f\u7ebd\u5e26\uff0c\u8ba9AI\u4ece\u5de5\u5177\u8f6c\u53d8\u4e3a\u201c\u793e\u4ea4\u53c2\u4e0e\u8005\u201d\u3002\u8bbe\u8ba1\u5e08\u5173\u4e8e\u201c\u4f55\u65f6\u4fdd\u6301\u6c89\u9ed8\u201d\u7684\u601d\u8003\uff0c\u6070\u6070\u70b9\u51fa\u4e86\u8fd9\u4e00\u8def\u5f84\u7684\u6700\u5927\u6311\u6218\uff1a\u5982\u4f55\u5728\u9ad8\u5ea6\u79c1\u4eba\u5316\u3001\u60c5\u611f\u8d1f\u8f7d\u7684\u804a\u5929\u7a7a\u95f4\u4e2d\uff0c\u505a\u5230\u65e2\u6709\u7528\u53c8\u4e0d\u4fb5\u6270\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5728\u8bbe\u8ba1\u4e00\u79cd\u65b0\u578b\u7684\u201c\u6570\u5b57\u793c\u4eea\u201d\uff0c\u96be\u5ea6\u8fdc\u8d85\u529f\u80fd\u5b9e\u73b0\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u8d28\u7591\u540c\u6837\u5c16\u9510\u3002\u8bc4\u8bba\u4e2d\u5bc6\u96c6\u7684\u9690\u79c1\u3001\u6570\u636e\u5b89\u5168\u4e0e\u63a7\u5236\u6743\u95ee\u9898\uff0c\u76f4\u6307\u8fd9\u79cd\u6df1\u5ea6\u5d4c\u5165\u6a21\u5f0f\u7684\u6838\u5fc3\u98ce\u9669\u3002\u5f53AI\u6210\u4e3a\u4f60\u79c1\u5bc6\u5bf9\u8bdd\u7684\u201c\u9690\u5f62\u53c2\u4e0e\u8005\u201d\uff0c\u6570\u636e\u8fb9\u754c\u3001\u4ee3\u7406\u6743\u9650\u7684\u900f\u660e\u5ea6\u4e0e\u7528\u6237\u63a7\u5236\u529b\uff0c\u5c31\u4e0d\u518d\u662f\u529f\u80fd\uff0c\u800c\u662f\u4ea7\u54c1\u751f\u5b58\u7684\u57fa\u77f3\u3002\u76ee\u524d\u56e2\u961f\u201c\u5c3d\u5feb\u66f4\u65b0\u653f\u7b56\u201d\u7684\u56de\u5e94\u663e\u5f97\u88ab\u52a8\u4e14\u5355\u8584\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u6b64\u5916\uff0c\u5e73\u53f0\u4f9d\u8d56\u6027\u662f\u53cc\u5203\u5251\u3002\u6df1\u5ea6\u7ed1\u5b9aiMessage\u3001WhatsApp\u867d\u80fd\u5feb\u901f\u501f\u52bf\uff0c\u4f46\u4e5f\u53d7\u5236\u4e8e\u5e73\u53f0\u65b9\u7684\u89c4\u5219\u53d8\u52a8\u3002\u8bc4\u8bba\u4e2d\u5bf9\u4e8e\u591a\u5e73\u53f0\u6269\u5c55\u7684\u547c\u58f0\uff0c\u4e5f\u53cd\u6620\u4e86\u5355\u4e00\u6e20\u9053\u7684\u5c40\u9650\u6027\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cFlux\u662f\u4e00\u6b21\u6781\u5177\u6d1e\u5bdf\u529b\u7684\u573a\u666f\u5b9e\u9a8c\u3002\u5b83\u82e5\u6210\u529f\uff0c\u5c06\u5f00\u8f9f\u4e00\u6761\u201c\u9690\u5f62AI\u52a9\u624b\u201d\u7684\u65b0\u8d5b\u9053\uff1b\u4f46\u5176\u6210\u8d25\u5173\u952e\uff0c\u5df2\u4e0d\u5728AI\u80fd\u529b\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u5bf9\u4eba\u6027\u5316\u8bbe\u8ba1\u3001\u9690\u79c1\u5b89\u5168\u5de5\u7a0b\u4e0e\u8de8\u5e73\u53f0\u7b56\u7565\u66f4\u82db\u523b\u7684\u8003\u9a8c\u3002\u5b83\u63d0\u9192\u884c\u4e1a\uff1aAI\u7684\u7ec8\u6781\u6218\u573a\uff0c\u6216\u8bb8\u4e0d\u5728\u6a21\u578b\u53c2\u6570\uff0c\u800c\u5728\u5982\u4f55\u4f18\u96c5\u3001\u53ef\u4fe1\u5730\u878d\u5165\u4eba\u7c7b\u65e2\u6709\u7684\u6570\u5b57\u751f\u6d3b\u808c\u7406\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\">Flux<\/span>\n                <\/div>\n<div class=\"comment-content\">AI doesn\u2019t have an intelligence problem &#8211; it has an interface problem. Flux is the first platform for building personalized conversational agents that live inside messaging platforms like iMessage and WhatsApp. By meeting users where they already communicate, Flux enables agents to feel less like software and more like people &#8211; trusted friends, tutors, or assistants. The future of AI isn\u2019t another app. It\u2019s agents that interact with humans on an emotional level.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey everyone &#8211; Daniel here, one of the founders.<\/p>\n<p>We started Flux after realizing something kind of obvious in hindsight: AI agents are already smart enough. The real bottleneck is how people actually interact with them.<\/p>\n<p>Most agents live behind apps and dashboards that don\u2019t feel natural. We wanted to see what happens when agents live where real conversations already happen &#8211; iMessage, WhatsApp, group chats &#8211; and speak the same messy, human language we do.<\/p>\n<p>Flux is our attempt at that.<br \/>\nNot another app, but a way to build agents that can actually feel like a friend, tutor, or someone you trust.<\/p>\n<p>Would love to hear what resonates (or doesn\u2019t). We\u2019re very early and learning fast.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>33<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/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_tian3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_tian3<\/a>&nbsp;really like the idea and the philosophy behind Flux. I haven\u2019t tested it yet because a lot of the conversations I deal with fall into sensitive categories, but I wanted to suggest a few features that would make this especially usable for people like me:<\/p>\n<ol>\n<li>\n<p><strong>Full user control over agent involvement<\/strong><br \/>Let users explicitly choose <em>when<\/em> the AI can help with a simple on\/off or \u201conly respond when mentioned\u201d mode. That control alone would build a lot of trust.<\/p>\n<\/li>\n<li>\n<p><strong>Clear data transparency<\/strong><br \/>Tell users exactly where their data is stored, whether it\u2019s encrypted, and whether anything is logged long-term or just processed temporarily. Even a simple explanation goes a long way.<\/p>\n<\/li>\n<li>\n<p><strong>Strong safety boundaries by default<\/strong><br \/>The agent should clearly refuse to assist with illegal or harmful requests (e.g., drugs, violence, fraud). I actually work in security and would be happy to help think through this part if it\u2019s useful.<\/p>\n<\/li>\n<\/ol>\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_tian3\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@daniel_tian3<\/a>&nbsp;Congrats on the launch! I love the philosophy that &#8216;AI has an interface problem.&#8217; I\u2019m currently building lead-recovery agents, and the friction of getting a user to a website is real. How does Flux handle the security\/encryption for agents living inside iMessage? That\u2019s usually the first hurdle for my enterprise clients<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">@daniel_tian3 Interesting take. any chances it could be integrated with Signal?<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Agents in chat &gt; agents in apps. This feels like the right interface shift because it shows up where I already think and talk, instead of asking me to learn a new tool. If you nail timing so it is helpful without being annoying, and you get privacy right, I can see this becoming something people actually use every day.<\/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>any chance to get same thing but for telegram?<\/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\/@sayyidalijufri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sayyidalijufri<\/a>&nbsp;Telegram is already supported via <a href=\"https:\/\/photon.codes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">photon.codes<\/a> (Flux&#8217;s b2b product)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@sayyidalijufri\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sayyidalijufri<\/a>&nbsp;next release!!<\/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>This doesn&#8217;t seem to work unless you have a US number. It&#8217;s not accepting my Swiss, Icelandic or Australian numbers (+41, +354, +61). <\/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\/@la7\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@la7<\/a>&nbsp;fixed! should support all numbers now (only for iMessage)<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>As the designer on Flux, I spent a lot of time thinking less about <em>what agents can do<\/em> and more about <em>how they should show up<\/em>.<\/p>\n<p>Chat is an emotionally loaded space. An agent there can\u2019t feel like a tool that interrupts, it has to earn its place through timing, tone, and restraint. A big part of the design work was figuring out when an agent should stay silent.<\/p>\n<p>Flux is our first attempt at treating agents not as features, but as social participants. Still very early, but excited to learn from how people actually use 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\">I started doing research to building my own messaging interface to my app &#8211; this would be much easier!<\/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\/@julienmansier\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@julienmansier<\/a>&nbsp;Also try photon&#8217;s b2b variant on <a href=\"https:\/\/github.com\/photon-hq\/imessage-kit\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">photon-hq\/imessage-kit: A type-safe, elegant iMessage SDK for macOS with zero dependencies<\/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\">Website doesn\u2019t mention something important: data and privacy policies. What are they?<\/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\/@sarrah\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@sarrah<\/a>&nbsp;Good point. Updating that ASAP!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Only U.S. phone numbers can use this feature&#8230;<\/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\/@xincheng01\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@xincheng01<\/a>&nbsp;now supports all phone numbers (iMessages) but only US\/Canada SMS<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p><strong><em>As the designer on Flux, I spent a lot of time thinking less about what agents can do and more about how they should show up.<\/em><\/strong><\/p>\n<\/p>\n<p><strong><em>Chat is an emotionally loaded space. An agent there can\u2019t feel like a tool that interrupts, it has to earn its place through timing, tone, and restraint. A big part of the design work was figuring out when an agent should stay silent.<\/em><\/strong><\/p>\n<\/p>\n<p><strong><em>Flux is our first attempt at treating agents not as features, but as social participants. Still very early, but excited to learn from how people actually use it.<\/em><\/strong><\/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\/@tarun26\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tarun26<\/a>&nbsp;bro who r u? lmao<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@tarun26\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@tarun26<\/a>&nbsp;bro stole my job<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Interesting take. Would love to take it for a spin once out of beta. Doesn&#8217;t seem to accept non US numbers <\/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\/@ohansemmanuel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ohansemmanuel<\/a>&nbsp;It now works for non-us numbers! That was a frontend issue I fixed this morning.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 believe this to be the future of human-agent interaction. iMessage as an interface gives agents a unique, emotional property that allows them to be trusted by humans as friends. With this product, I look forward to a future where humans and agents can coexist beyond a simple tool-based relationship. <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Tried this. As model capability plateaus, the hard problem becomes interaction, not intelligence. iMessage works because it encodes trust and familiarity. Flux is building at that layer.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 have seen AI chatbots that integrate with Slack, MS Teams, Whatsapp, but not yet iMessage. I think it&#8217;s a brillant idea, and very user friendly. I&#8217;m a bit jealous as I&#8217;m building an AI chatbot app, as well, but did not have your idea. Chapeau!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@mitja_martini\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mitja_martini<\/a>&nbsp;Thank you! We will have a unified connection layer to all the messaging apps soon!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is one of the coolest and most technical challenges I\u2019ve been trying to address for a while on my own before joining Photon in residency to build it out finally<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\">#2<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/3B7CAZLWD2TSAC\" class=\"app-title\">DaysAround<\/a><\/p>\n<div class=\"one-liner\">Track every country you&#8217;ve ever been to. Privately.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">260<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u5b8c\u5168\u79bb\u7ebf\u3001\u57fa\u4e8e\u672c\u5730\u7167\u7247\u5206\u6790\u7684\u4e2a\u4eba\u65c5\u884c\u65f6\u95f4\u7ebf\u5de5\u5177\uff0c\u4e3a\u6570\u5b57\u6e38\u6c11\u548c\u9891\u7e41\u65c5\u884c\u8005\u89e3\u51b3\u4e86\u7b7e\u8bc1\u903e\u671f\u3001\u7a0e\u52a1\u5c45\u6c11\u8eab\u4efd\u548c\u7533\u6839\u533a\u505c\u7559\u5929\u6570\u7b49\u590d\u6742\u6cd5\u89c4\u7684\u8ffd\u8e2a\u4e0e\u7ba1\u7406\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\/180e4d6f-9608-492f-a35a-739084c0bb14.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d0e083de-3378-4eb6-8827-0b4e9ea22771.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d1db500f-e4cc-4466-beb2-71aa7d42f622.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/dc9117d4-60cf-49af-879b-57214aca3716.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\">Travel<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u65c5\u884c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u6e38\u6c11<\/span><br \/>\n            <span class=\"tag\">\u7b7e\u8bc1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u7a0e\u52a1\u89c4\u5212<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u8ba1\u7b97<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u6570\u636e<\/span><br \/>\n            <span class=\"tag\">\u65c5\u884c\u65e5\u5fd7<\/span><br \/>\n            <span class=\"tag\">\u5de5\u5177\u7c7b\u5e94\u7528<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8d5e\u8d4f\u5176\u9690\u79c1\u4fdd\u62a4\uff08\u6570\u636e\u4e0d\u79bb\u8bbe\u5907\uff09\u548c\u5b9e\u7528\u529f\u80fd\uff08\u7b7e\u8bc1\/\u7a0e\u52a1\u63d0\u9192\uff09\u3002\u4e3b\u8981\u5efa\u8bae\u5305\u62ec\uff1a\u652f\u6301\u57ce\u5e02\u7ea7\u8ffd\u8e2a\u3001\u5f00\u53d1\u5b89\u5353\u7248\u672c\u3001\u81ea\u5b9a\u4e49\u7a0e\u52a1\u5c45\u4f4f\u9608\u503c\u3001\u5904\u7406\u65c5\u884c\u95f4\u9699\u65e5\uff0c\u4ee5\u53ca\u4fee\u590d\u672a\u6765\u6708\u4efd\u6d4f\u89c8\u65f6\u7684\u7a0b\u5e8f\u5d29\u6e83Bug\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                DaysAround\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u7cbe\u51c6\u5730\u5207\u5272\u51fa\u4e86\u4e00\u4e2a\u88ab\u4e3b\u6d41\u201c\u793e\u4ea4\u5316\u201d\u548c\u201c\u4e91\u5316\u201d\u65c5\u884c\u5e94\u7528\u6240\u5ffd\u89c6\u7684\u5782\u76f4\u5e02\u573a\uff1a\u5bf9\u9690\u79c1\u6781\u5ea6\u654f\u611f\u3001\u4e14\u65c5\u884c\u4e0e\u6cd5\u5f8b\u5408\u89c4\u5f3a\u76f8\u5173\u7684\u4e13\u4e1a\u65c5\u884c\u8005\u3002\u5b83\u7684\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u7b80\u5355\u7684\u65c5\u884c\u8bb0\u5f55\uff0c\u800c\u662f\u5c06\u6563\u843d\u5728\u76f8\u518c\u4e2d\u7684\u5730\u7406\u4f4d\u7f6e\u5143\u6570\u636e\uff0c\u8f6c\u5316\u4e3a\u5177\u6709\u6cd5\u5f8b\u548c\u8d22\u52a1\u610f\u4e49\u7684\u201c\u5408\u89c4\u65f6\u95f4\u8d44\u4ea7\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u903b\u8f91\u7280\u5229\u5730\u6293\u4f4f\u4e86\u4e24\u4e2a\u77db\u76fe\uff1a\u4e00\u662f\u7528\u6237\u5bf9\u7f8e\u597d\u65c5\u884c\u8bb0\u5fc6\u7684\u611f\u6027\u8ffd\u6eaf\uff0c\u4e0e\u5bf9\u51b0\u51b7\u6cd5\u89c4\u6761\u6b3e\u7684\u7406\u6027\u7ba1\u7406\u4e4b\u95f4\u7684\u77db\u76fe\uff1b\u4e8c\u662f\u6570\u5b57\u6e38\u6c11\u7fa4\u4f53\u65e5\u76ca\u589e\u957f\u7684\u8de8\u5883\u79fb\u52a8\u6027\uff0c\u4e0e\u5404\u56fd\u50f5\u5316\u7684\u79fb\u6c11\u3001\u7a0e\u52a1\u76d1\u7ba1\u4f53\u7cfb\u4e4b\u95f4\u7684\u77db\u76fe\u3002\u5b83\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u5408\u89c4\u98ce\u9669\u4eea\u8868\u76d8\u201d\uff0c\u5c06\u7b7e\u8bc1\u903e\u671f\u3001183\u5929\u7a0e\u52a1\u5c45\u6c11\u89c4\u5219\u3001\u7533\u683990\/180\u5929\u89c4\u5219\u8fd9\u4e9b\u4ee4\u4eba\u7126\u8651\u7684\u9690\u5f62\u7ea2\u7ebf\uff0c\u53d8\u5f97\u53ef\u89c6\u5316\u3001\u53ef\u9884\u8b66\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u201c\u5b8c\u5168\u79bb\u7ebf\u201d\u7684\u6838\u5fc3\u7406\u5ff5\u65e2\u662f\u62a4\u57ce\u6cb3\uff0c\u4e5f\u662f\u5929\u82b1\u677f\u3002\u8fd9\u51b3\u5b9a\u4e86\u5176\u529f\u80fd\u62d3\u5c55\u5fc5\u987b\u5c40\u9650\u4e8e\u672c\u5730\u8ba1\u7b97\u80fd\u89e3\u51b3\u7684\u8303\u7574\uff0c\u96be\u4ee5\u5b9e\u73b0\u591a\u8bbe\u5907\u540c\u6b65\u6216\u57fa\u4e8e\u4e91\u7aef\u6570\u636e\u7684\u590d\u6742\u5206\u6790\uff08\u5982\u5b9e\u65f6\u6cd5\u89c4\u53d8\u52a8\u63a8\u9001\uff09\u3002\u7528\u6237\u63d0\u51fa\u7684\u81ea\u5b9a\u4e49\u89c4\u5219\u3001\u8d39\u7528\u8ffd\u8e2a\u7b49\u9700\u6c42\uff0c\u6b63\u662f\u5176\u5546\u4e1a\u6a21\u5f0f\u4e0e\u4ea7\u54c1\u67b6\u6784\u9762\u4e34\u8003\u9a8c\u7684\u4f53\u73b0\uff1a\u5982\u4f55\u5728\u575a\u5b88\u9690\u79c1\u7684\u6559\u6761\u4e0b\uff0c\u6ee1\u8db3\u7528\u6237\u65e5\u76ca\u589e\u957f\u7684\u4e2a\u6027\u5316\u3001\u96c6\u6210\u5316\u9700\u6c42\uff1f\u6b64\u5916\uff0c\u5176\u4f9d\u8d56\u7167\u7247\u5143\u6570\u636e\u7684\u5de5\u4f5c\u65b9\u5f0f\uff0c\u5728\u9762\u5bf9\u5386\u53f2\u7167\u7247\u7f3a\u5931GPS\u3001\u8de8\u56fd\u4ea4\u901a\u201c\u95f4\u9699\u65e5\u201d\u7b49\u573a\u666f\u65f6\uff0c\u7528\u6237\u4f53\u9a8c\u4f1a\u51fa\u73b0\u65ad\u5c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0c\u5b83\u662f\u4e00\u6b3e\u7406\u5ff5\u5148\u884c\u7684\u201c\u5de5\u5320\u5f0f\u201d\u5de5\u5177\uff0c\u5728\u7279\u5b9a\u7ec6\u5206\u5e02\u573a\u63d0\u4f9b\u4e86\u65e0\u53ef\u66ff\u4ee3\u7684\u89e3\u51b3\u65b9\u6848\u3002\u4f46\u5b83\u672a\u6765\u7684\u6311\u6218\u5728\u4e8e\uff0c\u5982\u4f55\u5728\u201c\u6781\u81f4\u9690\u79c1\u201d\u7684\u5355\u4e00\u8d5b\u9053\u4e0a\uff0c\u6316\u6398\u51fa\u8db3\u591f\u7684\u6df1\u5ea6\u548c\u7528\u6237\u7c98\u6027\uff0c\u4ee5\u62b5\u5fa1\u53ef\u80fd\u6765\u81ea\u5927\u578b\u65c5\u884c\u5e94\u7528\uff08\u82e5\u5b83\u4eec\u51b3\u5b9a\u589e\u52a0\u7c7b\u4f3c\u5408\u89c4\u529f\u80fd\uff09\u7684\u964d\u7ef4\u6253\u51fb\u3002\u5b83\u7684\u6210\u529f\uff0c\u9a8c\u8bc1\u4e86\u5728\u6570\u636e\u6ee5\u7528\u7684\u65f6\u4ee3\uff0c\u5c06\u6570\u636e\u63a7\u5236\u6743\u5f7b\u5e95\u4ea4\u8fd8\u7ed9\u7528\u6237\uff0c\u672c\u8eab\u5c31\u662f\u4e00\u4e2a\u5f3a\u5927\u800c\u7a00\u7f3a\u7684\u4ea7\u54c1\u4ef7\u503c\u4e3b\u5f20\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\">DaysAround<\/span>\n                <\/div>\n<div class=\"comment-content\">Resurface your favorite travel memories. Keep a beautiful log of where life has taken you. Get the data that matters \u2014 days per country for tax residency, visa warnings, Schengen limits. All from your iPhone photos, scanned locally. Nothing ever uploaded.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">i&#8217;ve been a nomad for years. every travel tracker i tried wanted my location history synced to their servers. years of where i&#8217;ve been, sitting on someone else&#8217;s infrastructure. that never sat right with me.<\/p>\n<p>so i built what i actually wanted: a travel timeline that never leaves your device. no analytics. no tracking. nothing uploaded anywhere.<\/p>\n<p>the core is simple &#8211; a beautiful timeline of countries and days of everywhere you&#8217;ve been. your favorite moments resurface as quiet reminders of where you were and who you were there.<\/p>\n<p>but if you&#8217;re a permanent traveler, there&#8217;s more:<br \/>\n&#8211; visa overstay warnings before the expensive surprise.<br \/>\n&#8211; tax residency alerts (the 183-day rule that catches nomads).<br \/>\n&#8211; schengen 90\/180 tracking for EU travel.<\/p>\n<p>if you try it and love it, a review would mean everything. i&#8217;ll personally buy you b\u00e1nh x\u00e8o next time we&#8217;re in the same city.<\/p>\n<p>if you don&#8217;t love it, tell me why. i&#8217;ll make it better.<br \/>\nhappy new year.<\/p><\/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\">@vladstan Visa overstay feature is something very unique!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\/@vladstan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vladstan<\/a>&nbsp;The Schengen limit and tax residency tracking is a genius feature. Most travel apps are just &#8216;digital scrapbooks,&#8217; but this is a utility tool. Since the scanning is local, how does it handle older photos with missing metadata\/GPS tags? Would love to see this in action<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>As a nomad constantly counting days for the Schengen shuffle, this is a lifesaver. The manual spreadsheets were driving me crazy! \ud83e\udd2f Regarding the tax residency alerts, can I customize the specific day thresholds for different countries, or is it strictly locked to the standard 183-day rule?<\/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\/@yoang_loo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoang_loo<\/a> <\/p>\n<p>Thanks for the kind words! Fellow nomad here, those spreadsheets are brutal.<\/p>\n<p>A few things:<\/p>\n<p>Make sure you add your passport and tax residency in Settings. The app uses that to calculate risks.<\/p>\n<p>Right now it flags after 60 days in a country, which covers most jurisdictions. <br \/>Do you have a specific case in mind? Happy to hear what thresholds would be useful for you.<\/p>\n<p>One thing I&#8217;m committed to:<br \/> keeping the app fully offline. No servers, no internet connection. So any updates need to work locally. Tell me more about your use case, I&#8217;d love to understand what you&#8217;re tracking and see if there&#8217;s a way to support it without compromising privacy.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Nice app, congratulations 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\/@mikekosulin\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@mikekosulin<\/a>&nbsp;Thanks Mike!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>its worth recording the cities you went with such a tool like DaysAround&#8230; Will you support android btw? <\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@cruise_chen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@cruise_chen<\/a>&nbsp;you mean to track days in cities, not only counties? I&#8217;m considering Android, yes.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>GGs for the fact that it keeps everything locally and does not lean towards social features. <\/p>\n<p>I just installed it and I am tapping around. One thing that comes up &#8211; does it deal with gap days while traveling?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@lucian\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@lucian<\/a>&nbsp;yes, if the last photo and first photo are from the same location, will fill the gap automatically. But if they are diferent, you need to fill the days manually.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/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 <a href=\"https:\/\/www.producthunt.com\/@vladstan\" data-node-type=\"mention\" data-mention-type=\"user\" data-mention-id=\"vladstan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vladstan<\/a>, That&#8217;s a smart idea. Using photos location data to create something genuinely useful and interesting. I can\u2019t remember a time I&#8217;ve actually used personal photo location data for anything beyond my photos app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@ajayesivan\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@ajayesivan<\/a>&nbsp;yes, and with 15k photos it takes seconds to create a nice timeline.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Can I also store my expenses within the app? \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;what do you have in mind, please give me more details. (right now, no)<\/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\">In the \u201cMonth\u201d tab when you go to a month later than the current month the logic seems to glitch and the app crashes.<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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 direct link to Apple Store: <br \/><a href=\"https:\/\/apps.apple.com\/us\/app\/days-around\/id6756323785\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/apps.apple.com\/us\/app\/days-around\/id6756323785<\/a><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<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\/DDDZU2JWTCZKZN\" class=\"app-title\">Ultracite v7<\/a><\/p>\n<div class=\"one-liner\">Opinionated, zero-config code linter and formatter<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">209<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Ultracite v7\u662f\u4e00\u6b3e\u96f6\u914d\u7f6e\u3001\u5f3a\u7ea6\u5b9a\u7684\u4ee3\u7801\u68c0\u67e5\u548c\u683c\u5f0f\u5316\u5de5\u5177\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u548cAI\u6a21\u578b\u5feb\u901f\u751f\u6210\u98ce\u683c\u4e00\u81f4\u3001\u7c7b\u578b\u5b89\u5168\u7684\u4ee3\u7801\uff0c\u89e3\u51b3\u56e2\u961f\u534f\u4f5c\u4e2d\u4ee3\u7801\u89c4\u8303\u914d\u7f6e\u7e41\u7410\u3001\u98ce\u683c\u4e0d\u7edf\u4e00\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\/563ce784-a3ba-461d-a0b4-0ac54e71e2a2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/34c5b125-2970-41aa-91b4-119fea48c1d2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/d09ce3ac-e6b5-4823-bcde-3a0f1591a035.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/2ad859d2-fe97-4aeb-be9a-e6b8f36a29ad.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\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4ee3\u7801\u68c0\u67e5<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u683c\u5f0f\u5316<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u96f6\u914d\u7f6e<\/span><br \/>\n            <span class=\"tag\">\u7c7b\u578b\u5b89\u5168<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90<\/span><br \/>\n            <span class=\"tag\">\u56e2\u961f\u534f\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u9759\u6001\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">AI\u7f16\u7a0b\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u89c4\u8303<\/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\u4e3b\u8981\u4e3a\u4ea7\u54c1\u53d1\u5e03\u8005\u7684\u63a8\u5e7f\u4fe1\u606f\uff0c\u5f3a\u8c03\u5176\u96f6\u914d\u7f6e\u3001\u5f3a\u7ea6\u5b9a\u3001\u53d7\u9876\u7ea7\u516c\u53f8\u4fe1\u4efb\u3001\u5f00\u6e90\u514d\u8d39\u53ca\u91cd\u5927\u66f4\u65b0\u3002\u7f3a\u5c11\u6765\u81ea\u771f\u5b9e\u7528\u6237\u7684\u4f53\u9a8c\u53cd\u9988\u3001\u95ee\u9898\u62a5\u544a\u6216\u5177\u4f53\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                Ultracite v7\u6807\u699c\u7684\u201c\u96f6\u914d\u7f6e\u201d\u548c\u201c\u5f3a\u7ea6\u5b9a\u201d\uff0c\u672c\u8d28\u4e0a\u662f\u5728\u7528\u5f00\u53d1\u56e2\u961f\u7684\u201c\u4e3b\u89c2\u6700\u4f73\u5b9e\u8df5\u201d\u6362\u53d6\u4e2a\u4f53\u5f00\u53d1\u8005\u7684\u914d\u7f6e\u81ea\u7531\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u521b\u65b0\uff0c\u800c\u662f\u5c06\u65e5\u76ca\u590d\u6742\u7684Lint\u89c4\u5219\u96c6\uff08ESLint\u3001Prettier\u7b49\uff09\u6253\u5305\u5e76\u505a\u51fa\u8270\u96be\u53d6\u820d\uff0c\u63d0\u4f9b\u4e00\u4e2a\u201c\u5f00\u7bb1\u5373\u7528\u201d\u7684\u89e3\u51b3\u65b9\u6848\u3002\u8fd9\u5728AI\u8f85\u52a9\u7f16\u7a0b\u7206\u53d1\u7684\u5f53\u4e0b\u5c24\u4e3a\u8ba8\u5de7\u2014\u2014\u5b83\u8bd5\u56fe\u7edf\u4e00\u4eba\u7c7b\u548cAI\u7684\u4ee3\u7801\u8f93\u51fa\u98ce\u683c\uff0c\u964d\u4f4e\u4ee3\u7801\u5ba1\u67e5\u6210\u672c\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\u201c\u5f3a\u7ea6\u5b9a\u201d\u7684\u666e\u9002\u6027\u3002\u5b83\u58f0\u79f0\u88abVercel\u7b49\u516c\u53f8\u4fe1\u4efb\uff0c\u4f46\u8fd9\u66f4\u591a\u662f\u4f5c\u4e3a\u89e3\u51b3\u65b9\u6848\u4e00\u90e8\u5206\u7684\u80cc\u4e66\uff0c\u800c\u975e\u5168\u4f53\u5f00\u53d1\u8005\u793e\u533a\u7684\u5e7f\u6cdb\u91c7\u7eb3\u3002\u5bf9\u4e8e\u5df2\u6709\u6210\u719f\u7f16\u7801\u89c4\u8303\u7684\u5927\u578b\u56e2\u961f\uff0c\u5176\u201c\u5f3a\u7ea6\u5b9a\u201d\u53ef\u80fd\u53cd\u800c\u662f\u8fc1\u79fb\u963b\u529b\u3002\u4ea7\u54c1\u76ee\u524d\u6700\u5927\u7684\u8f6f\u808b\u662f\u751f\u6001\u8bc4\u8bba\u7684\u7f3a\u5931\uff0c\u5728Product Hunt\u4e0a\u51e0\u4e4e\u53ea\u6709\u5b98\u65b9\u58f0\u97f3\uff0c\u7f3a\u4e4f\u771f\u5b9e\u7528\u6237\u9a8c\u8bc1\u5176\u201c\u7ea6\u5b9a\u201d\u662f\u5426\u8db3\u591f\u660e\u667a\u3001\u662f\u5426\u771f\u7684\u65e0\u75db\u63a5\u5165\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u7684\u672a\u6765\u5728\u4e8e\u80fd\u5426\u56f4\u7ed5\u5176\u201c\u7ea6\u5b9a\u201d\u6784\u5efa\u4e00\u4e2a\u5f3a\u5927\u7684\u751f\u6001\uff0c\u5e76\u8bc1\u660e\u8fd9\u4e9b\u7ea6\u5b9a\u80fd\u9002\u5e94\u5feb\u901f\u6f14\u53d8\u7684\u7f16\u7a0b\u8303\u5f0f\uff0c\u800c\u975e\u6210\u4e3a\u53e6\u4e00\u4e2a\u9700\u8981\u88ab\u201c\u63a8\u7ffb\u201d\u7684\u56fa\u6267\u5df1\u89c1\u3002\u5982\u679c\u6210\u529f\uff0c\u5b83\u53ef\u80fd\u6210\u4e3a\u56e2\u961f\u548cAI\u7f16\u7a0b\u65f6\u4ee3\u7684\u4ee3\u7801\u98ce\u683c\u57fa\u7840\u8bbe\u65bd\uff1b\u82e5\u5931\u8d25\uff0c\u5219\u53ea\u662f\u4f17\u591a\u610f\u89c1\u4e2d\u53c8\u4e00\u4e2a\u7a0d\u7eb5\u5373\u901d\u7684\u58f0\u97f3\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\">Ultracite v7<\/span>\n                <\/div>\n<div class=\"comment-content\">Ultracite is designed to help you and your AI models write consistent and type-safe code without the hassle of configuration. Trusted by top companies like Vercel, Clerk, and ElevenLabs. Get started in seconds. npx ultracite@latest init<\/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\/products\/ultracite\" target=\"_blank\" rel=\"noopener\">@Ultracite<\/a> is an opinionated linter and formatter to write consistent, type-safe code with zero config, and maker <a href=\"https:\/\/www.producthunt.com\/@haydenbleasel\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@haydenbleasel<\/a> just shipped the biggest update ever: more linters, more agents, more editors. a new website. a cloud platform.<\/p>\n<p>Production-grade, <a href=\"https:\/\/www.producthunt.com\/products\/ultracite\" target=\"_blank\" rel=\"noopener\">@Ultracite<\/a> is trusted by companies like <a href=\"https:\/\/www.producthunt.com\/products\/vercel\" target=\"_blank\" rel=\"noopener\">@Vercel<\/a>, <a href=\"https:\/\/www.producthunt.com\/products\/clerkdev\" target=\"_blank\" rel=\"noopener\">@Clerk<\/a>, and <a href=\"https:\/\/www.producthunt.com\/products\/elevenlabs\" target=\"_blank\" rel=\"noopener\">@ElevenLabs<\/a>. free, and open-source (2.5k GitHub stars).<\/p>\n<\/p>\n<p>curious to 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<\/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\/JDBB6SS5SA35KX\" class=\"app-title\">Still<\/a><\/p>\n<div class=\"one-liner\">A private space to think, write, and slow down<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">183<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u6781\u7b80\u65e5\u8bb0\u5e94\u7528\uff0c\u5728\u4fe1\u606f\u8fc7\u8f7d\u548c\u6548\u7387\u7126\u8651\u7684\u80cc\u666f\u4e0b\uff0c\u4e3a\u7528\u6237\u63d0\u4f9b\u4e00\u4e2a\u65e0\u9700\u8d26\u6237\u3001\u65e0\u793e\u4ea4\u538b\u529b\u3001\u65e0\u6570\u636e\u8ffd\u8e2a\u7684\u7eaf\u7cb9\u79c1\u5bc6\u7a7a\u95f4\uff0c\u7528\u4e8e\u81ea\u7531\u4e66\u5199\u4ee5\u83b7\u53d6\u5185\u5fc3\u6e05\u6670\u4e0e\u5e73\u9759\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\/b16331a5-d62d-4485-b9a1-2a55fdbe4047.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=4d7KyfFUnp0\"><source src=\"https:\/\/www.youtube.com\/watch?v=4d7KyfFUnp0\" 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\/29173492-015a-4d8c-bb8b-3c1e9e51f3b5.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\/78c66b44-d81b-4bf2-8c94-992814d7c210.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\/72f04083-134d-4f6a-885b-9fea391388d4.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\/93913703-e612-46b6-af84-34b444173a90.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\/6714fba8-4dab-4bfd-ab8c-de01a4ed84e2.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\/650d2660-b048-4c45-9a17-da16ff53755f.jpeg?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Android<\/span><br \/>\n            <span class=\"tag\">Writing<\/span><br \/>\n            <span class=\"tag\">Health<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6781\u7b80\u65e5\u8bb0\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6570\u5b57\u6392\u6bd2<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u65e0\u538b\u529b\u8bb0\u5f55<\/span><br \/>\n            <span class=\"tag\">\u5fc3\u7406\u5065\u5eb7<\/span><br \/>\n            <span class=\"tag\">\u4e13\u6ce8\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5b58\u50a8<\/span><br \/>\n            <span class=\"tag\">\u53cd\u6548\u7387\u4e3b\u4e49<\/span><br \/>\n            <span class=\"tag\">\u79c1\u4eba\u7a7a\u95f4<\/span><br \/>\n            <span class=\"tag\">\u6b63\u5ff5\u4e66\u5199<\/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\u201c\u53cd\u6548\u7387\u201d\u5b9a\u4f4d\u4e0e\u6781\u7b80\u8bbe\u8ba1\uff0c\u8ba4\u4e3a\u8fd9\u662f\u5bf9\u529f\u80fd\u81c3\u80bf\u5de5\u5177\u7684\u4e00\u6b21\u6e05\u65b0\u53cd\u53db\u3002\u6838\u5fc3\u53cd\u9988\u5305\u62ec\uff1a\u5bf9\u4e25\u683c\u4fdd\u6301\u7b80\u6d01\u3001\u907f\u514d\u529f\u80fd\u8513\u5ef6\u7684\u671f\u5f85\uff1b\u5bf9\u672c\u5730\u5b58\u50a8\u548c\u72ec\u7acb\u5bc6\u7801\u4fdd\u62a4\u7684\u80af\u5b9a\uff1b\u4ee5\u53ca\u5bf9\u672a\u6765\u53ef\u80fd\u589e\u52a0\u8bed\u97f3\u7b14\u8bb0\u7b49\u53ef\u9009\u3001\u975e\u5e72\u6270\u6027\u529f\u80fd\u7684\u63a2\u8ba8\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                Still \u7684\u53d1\u5e03\uff0c\u4e0e\u5176\u8bf4\u662f\u4e00\u6b3e\u65b0\u5e94\u7528\u7684\u767b\u573a\uff0c\u4e0d\u5982\u8bf4\u662f\u4e00\u4efd\u9488\u5bf9\u6570\u5b57\u65f6\u4ee3\u201c\u81ea\u6211\u4f18\u5316\u201d\u66b4\u653f\u7684\u6c89\u9ed8\u6297\u8bae\u4e66\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201c\u65e5\u8bb0\u201d\u8fd9\u4e2a\u53e4\u8001\u529f\u80fd\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u5176\u523b\u610f\u5265\u79bb\u7684\u4e00\u5207\uff1a\u5b83\u780d\u6389\u4e86\u6210\u5c31\u7cfb\u7edf\u3001\u60c5\u7eea\u8ffd\u8e2a\u3001\u793e\u4ea4\u5206\u4eab\uff0c\u751a\u81f3\u7528\u6237\u8d26\u6237\uff0c\u4ee5\u4e00\u79cd\u8fd1\u4e4e\u504f\u6267\u7684\u51cf\u6cd5\uff0c\u5bf9\u6297\u7740\u5c06\u4e00\u5207\u4f53\u9a8c\uff08\u5305\u62ec\u5185\u5728\u53cd\u601d\uff09\u6570\u636e\u5316\u3001\u6307\u6807\u5316\u3001\u516c\u5f00\u5316\u7684\u4e3b\u6d41\u8d8b\u52bf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u6210\u529f\u6355\u6349\u5e76\u5177\u8c61\u5316\u4e86\u4e00\u79cd\u65e5\u76ca\u5f3a\u70c8\u7684\u7fa4\u4f53\u60c5\u7eea\uff1a\u5bf9\u201c\u566a\u97f3\u201d\u7684\u75b2\u60eb\u3002\u8fd9\u79cd\u566a\u97f3\u65e2\u662f\u4fe1\u606f\u6d41\u7684\u5916\u5728\u8f70\u70b8\uff0c\u4e5f\u662f\u5185\u5316\u4e86\u7684\u3001\u8981\u6c42\u81ea\u5df1\u4e0d\u65ad\u8fdb\u6b65\u3001\u8bb0\u5f55\u5e76\u8bc1\u660e\u201c\u6210\u957f\u201d\u7684\u5185\u5fc3\u538b\u529b\u3002Still \u63d0\u4f9b\u7684\u201c\u9759\u6b62\u201d\uff0c\u672c\u8d28\u4e0a\u662f\u6570\u5b57\u884c\u4e3a\u7684\u4e00\u6b21\u201c\u964d\u7ea7\u201d\u2014\u2014\u4ece\u8868\u6f14\u6027\u7684\u3001\u53ef\u4f9b\u5206\u6790\u7684\u6570\u636e\u751f\u4ea7\uff0c\u56de\u5f52\u5230\u65e0\u76ee\u7684\u7684\u3001\u79c1\u5bc6\u7684\u601d\u7eea\u6d41\u6dcc\u3002\u8fd9\u51fb\u4e2d\u4e86\u90a3\u4e9b\u5728Notion\u4e2d\u8fc7\u5ea6\u6784\u5efa\u77e5\u8bc6\u7cfb\u7edf\u3001\u5728Day One\u4e2d\u4e3a\u5ef6\u7eed\u8bb0\u5f55\u94fe\u6761\u800c\u7126\u8651\u7684\u7528\u6237\u7684\u8981\u5bb3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6096\u8bba\u4e0e\u6311\u6218\u540c\u6837\u5c16\u9510\u3002\u9996\u5148\uff0c**\u201c\u65e0\u6fc0\u52b1\u201d\u5982\u4f55\u7ef4\u7cfb\u4e60\u60ef\uff1f** \u5728\u53bb\u9664\u4e86\u6240\u6709\u6e38\u620f\u5316\u7c98\u6027\u8bbe\u8ba1\u540e\uff0c\u7528\u6237\u4f9d\u8d56\u7684\u5c06\u662f\u7eaf\u7cb9\u7684\u5185\u9a71\u529b\uff0c\u8fd9\u6ce8\u5b9a\u4e86\u5176\u6838\u5fc3\u7528\u6237\u7fa4\u662f\u9ad8\u5ea6\u81ea\u89c9\u3001\u5df2\u6709\u4e66\u5199\u4e60\u60ef\u7684\u5c11\u6570\u6d3e\uff0c\u5e02\u573a\u5929\u82b1\u677f\u53ef\u80fd\u6709\u9650\u3002\u5176\u6b21\uff0c**\u201c\u6781\u7b80\u201d\u4e0e\u201c\u53ef\u6301\u7eed\u201d\u7684\u51b2\u7a81\u3002** \u7528\u6237\u5173\u4e8e\u8bed\u97f3\u3001\u56fe\u7247\u9644\u4ef6\u7b49\u201c\u53ef\u9009\u529f\u80fd\u201d\u7684\u8be2\u95ee\uff0c\u63ed\u793a\u4e86\u7eaf\u7cb9\u6587\u672c\u5728\u8868\u8fbe\u4e0a\u7684\u5c40\u9650\u6027\u3002\u5f00\u53d1\u8005\u7684\u8c28\u614e\u56de\u5e94\u4f53\u73b0\u4e86\u5bf9\u4ea7\u54c1\u54f2\u5b66\u5e95\u7ebf\u7684\u5b88\u536b\uff0c\u4f46\u5546\u4e1a\u4e0a\uff0c\u5b8c\u5168\u62d2\u7edd\u529f\u80fd\u6f14\u8fdb\u53ef\u80fd\u96be\u4ee5\u7ef4\u7cfb\u957f\u671f\u589e\u957f\u3002\u6700\u540e\uff0c**\u5176\u4f5c\u4e3a\u201c\u9690\u79c1\u5821\u5792\u201d\u7684\u5b9a\u4f4d\uff0c\u5728\u4e91\u540c\u6b65\u6210\u4e3a\u57fa\u7840\u8bbe\u65bd\u7684\u4eca\u5929\uff0c\u4e5f\u53ef\u80fd\u6210\u4e3a\u4fbf\u6377\u6027\u4e0a\u7684\u963f\u5580\u7409\u65af\u4e4b\u8e35\u3002**\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4e4b\uff0cStill \u662f\u4e00\u6b3e\u5177\u6709\u9c9c\u660e\u54f2\u5b66\u4e3b\u5f20\u7684\u201c\u6001\u5ea6\u4ea7\u54c1\u201d\u3002\u5b83\u672a\u5fc5\u80fd\u6210\u4e3a\u5927\u4f17\u5de5\u5177\uff0c\u4f46\u5b83\u7684\u5b58\u5728\u672c\u8eab\u5177\u6709\u6807\u5fd7\u6027\u610f\u4e49\uff1a\u5b83\u4e3a\u538c\u5026\u4e86\u88ab\u5ea6\u91cf\u3001\u88ab\u9f13\u52b1\u3001\u88ab\u8fde\u63a5\u7684\u7528\u6237\uff0c\u63d0\u4f9b\u4e86\u4e00\u4e2a\u73cd\u8d35\u7684\u6570\u5b57\u907f\u96be\u6240\u3002\u5b83\u7684\u6210\u8d25\uff0c\u5c06\u6d4b\u8bd5\u5728\u6548\u7387\u81f3\u4e0a\u7684\u5de5\u5177\u5e02\u573a\uff0c\u6709\u591a\u5c11\u4eba\u613f\u610f\u4e3a\u201c\u65e0\u7528\u7684\u5b81\u9759\u201d\u4ed8\u8d39\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\">Still<\/span>\n                <\/div>\n<div class=\"comment-content\">Still is a minimal journaling app designed for people who feel overwhelmed by noise, productivity pressure, and endless feeds. Unlike traditional journaling apps, Still doesn&#8217;t track streaks, moods, or goals. It gives you a private, calm space to write freely \u2014 for clarity, not performance. No accounts. No social features. No prompts telling you how to feel. Just you, your thoughts, and a moment of stillness.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey \ud83d\udc4b<\/p>\n<p>I built Still after realizing that most journaling apps made me feel like I was performing reflection instead of actually doing it.<\/p>\n<p>Everything today pushes us to optimize, share, and constantly improve \u2014 even our thoughts. I wanted the opposite: a quiet, private space where writing feels natural, not pressured.<\/p>\n<p>Still is how I personally write when I need clarity or calm. It&#8217;s simple, intentional, and designed to stay out of your way.<\/p>\n<p>If you&#8217;ve ever felt overwhelmed by noise (or by productivity-focused tools), I&#8217;d love to hear what you think.<\/p>\n<p>Happy to answer any questions \u2014 thanks for checking it out \ud83d\ude4f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>5<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@nickdroid\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@nickdroid<\/a>&nbsp;<em>I&#8217;ve been wanting something exactly like this \u2014 installed it right away.<\/em><\/p>\n<p><em>I love the idea of setting the mood with colors; it&#8217;s a really nice touch. Also, being able to secure the app with its own passcode (separate from the device lock) feels thoughtful and reassuring.<\/em><\/p>\n<p><em>Rooting for you \u2014 excited to keep using Still!<\/em><\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>2<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Still private! Clap clap clap \ud83d\udc4f\ud83c\udffb<\/div>\n<div class=\"comment-actions\">\n<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 the support! Any feedback would be welcome!!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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>Finally! I&#8217;ve been drowning in features with Notion and other tools just to write a simple thought. Still feels like a breath of fresh air. My only worry with minimal apps is feature creep over time\u2014do you plan to keep it strictly text-only, or are you considering things like photo attachments in the future?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@yoang_loo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoang_loo<\/a>&nbsp;I was thinking that writing shouldn&#8217;t feel like managing a system.<\/p>\n<p>Your concern about feature creep is very valid \u2014 and it&#8217;s something I&#8217;m actively cautious about.<br \/>Still is meant to stay <strong>text-first and distraction-free<\/strong>.<\/p>\n<p>I do think about moments when writing can feel heavy after a long day or week.<br \/>The idea of Still is a <em>private chat with yourself<\/em> \u2014 a place to unload thoughts, not polish them.<\/p>\n<p>I was thinking on adding new features (to make it more flexible), it would be things like <strong>voice notes<\/strong> (to let thoughts out without effort), and <em>maybe<\/em> images inside entries \u2014 always optional, always secondary to writing, and only if they make expression easier, not noisier.<\/p>\n<p>Really appreciate all the feedback like this helps keep Still to be a better app.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>If the notes are stored entirely locally, I&#8217;d be quite interested in trying it out.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congrats on the launch, the positioning around slowing down and creating mental space really resonates. I like how minimal the concept feels, especially for people overwhelmed by noisy, feature-heavy journaling apps. \u201cA private space to think and write\u201d is simple, but that\u2019s exactly the value here. Curious how you\u2019re thinking about long-term habit formation without adding pressure or gamification.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-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\">why not just text notebook\uff1f<\/div>\n<div class=\"comment-actions\">\n<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\/@rangerlcy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@rangerlcy<\/a>&nbsp;The difference isn&#8217;t just <em>writing<\/em>, it&#8217;s the <strong>intentional space around it<\/strong>, privacy by default, no feeds, no prompts, no pressure to optimize or structure your thoughts.<\/p>\n<\/p>\n<p>And unlike a notebook, you carry it with you everywhere.<br \/>At work, on the street, in the middle of a conversation, whenever a thought, idea, or feeling suddenly appears and you just need to release it.<\/p>\n<\/p>\n<p>You can open Still, create your own space for ideas, and write it down right in that moment.<\/p>\n<p>To everyone else, it looks like you&#8217;re replying to a WhatsApp message, scrolling Instagram, or watching a reel, but in reality, you&#8217;re capturing something for yourself.<\/p>\n<\/p>\n<p>That small moment of attention can be the difference between forgetting a thought\u2026 and giving it the space it deserves later.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#5<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/JJ4PNCABJIZKOV\" class=\"app-title\">Fluxer<\/a><\/p>\n<div class=\"one-liner\">Open-source Discord-like instant messaging &#038; VoIP platform<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">132<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Fluxer\u662f\u4e00\u6b3e\u5f00\u6e90\u3001\u81ea\u6258\u7ba1\u7684\u5373\u65f6\u901a\u8baf\u4e0eVoIP\u5e73\u53f0\uff0c\u65e8\u5728\u4e3a\u5e0c\u671b\u638c\u63a7\u804a\u5929\u57fa\u7840\u8bbe\u65bd\u7684\u516c\u53f8\u3001\u793e\u533a\u53ca\u4e2a\u4eba\uff0c\u63d0\u4f9b\u7c7bDiscord\/Slack\u7684\u72ec\u7acb\u66ff\u4ee3\u65b9\u6848\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\/5c4c4de8-5257-470c-ba49-7135478f2a5e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/33d65cf1-f446-4df8-b175-2d6db750287b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6d623c53-b2ef-4c38-b9fa-62d08218cbe7.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\">Messaging<\/span><br \/>\n            <span class=\"tag\">Open Source<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u6e90\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u5373\u65f6\u901a\u8baf<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u901a\u8bdd<\/span><br \/>\n            <span class=\"tag\">\u81ea\u6258\u7ba1<\/span><br \/>\n            <span class=\"tag\">\u793e\u533a\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">Discord\u66ff\u4ee3\u54c1<\/span><br \/>\n            <span class=\"tag\">Slack\u66ff\u4ee3\u54c1<\/span><br \/>\n            <span class=\"tag\">\u57fa\u7840\u8bbe\u65bd\u81ea\u4e3b\u6743<\/span><br \/>\n            <span class=\"tag\">AGPL\u534f\u8bae<\/span><br \/>\n            <span class=\"tag\">\u72ec\u7acb\u5f00\u53d1<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u9ad8\u5ea6\u8ba4\u53ef\u5176\u5f00\u6e90\u4e0e\u72ec\u7acb\u5f00\u53d1\u6a21\u5f0f\u3002\u6838\u5fc3\u53cd\u9988\u662f\u5e0c\u671b\u5176\u6210\u4e3a\u6613\u4e8e\u90e8\u7f72\u3001\u529f\u80fd\u5b8c\u5907\u7684FOSS\u5e73\u53f0\u3002\u4e3b\u8981\u7591\u95ee\u56f4\u7ed5\u5176\u91c7\u7528AGPLv3\u534f\u8bae\u80cc\u540e\u7684\u5546\u4e1a\u7b56\u7565\u4e0e\u601d\u8003\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                Fluxer\u5207\u5165\u7684\u662f\u4e00\u4e2a\u770b\u4f3c\u62e5\u6324\u3001\u5b9e\u5219\u5b58\u5728\u7ed3\u6784\u6027\u75db\u70b9\u7684\u5e02\u573a\u3002\u5176\u771f\u6b63\u7684\u4ef7\u503c\u4e0d\u5728\u4e8e\u590d\u523bDiscord\u6216Slack\u7684\u529f\u80fd\uff0c\u800c\u5728\u4e8e\u7cbe\u51c6\u951a\u5b9a\u4e86\u201c\u57fa\u7840\u8bbe\u65bd\u81ea\u4e3b\u6743\u201d\u8fd9\u4e00\u65e5\u76ca\u589e\u957f\u7684\u9700\u6c42\u3002\u5728\u6570\u636e\u4e3b\u6743\u610f\u8bc6\u89c9\u9192\u548c\u5de8\u5934\u5e73\u53f0\u653f\u7b56\u591a\u53d8\u7684\u80cc\u666f\u4e0b\uff0c\u4f01\u4e1a\u3001\u5f00\u53d1\u8005\u793e\u533a\u4e43\u81f3\u6709\u6280\u672f\u80fd\u529b\u7684\u4e2a\u4eba\uff0c\u5bf9\u201c\u62e5\u6709\u201d\u800c\u975e\u201c\u79df\u7528\u201d\u5173\u952e\u6c9f\u901a\u6e20\u9053\u7684\u9700\u6c42\u6b63\u5728\u4e0a\u5347\u3002AGPLv3\u534f\u8bae\u7684\u9009\u62e9\u662f\u4e00\u628a\u53cc\u5203\u5251\uff0c\u5b83\u65d7\u5e1c\u9c9c\u660e\u5730\u786e\u7acb\u4e86\u9879\u76ee\u7684\u81ea\u7531\u8f6f\u4ef6\u5c5e\u6027\uff0c\u80fd\u8fc5\u901f\u5438\u5f15\u5f00\u6e90\u7eaf\u7cb9\u4e3b\u4e49\u8005\u7684\u652f\u6301\uff0c\u6784\u7b51\u521d\u671f\u53e3\u7891\u62a4\u57ce\u6cb3\uff0c\u4f46\u4e5f\u53ef\u80fd\u8ba9\u5bfb\u6c42\u79c1\u6709\u5316\u90e8\u7f72\u7684\u5546\u4e1a\u7528\u6237\u671b\u800c\u5374\u6b65\uff0c\u8fd9\u63ed\u793a\u4e86\u5f00\u53d1\u8005\u53ef\u80fd\u610f\u5728\u901a\u8fc7\u6258\u7ba1\u670d\u52a1\uff08SaaS\uff09\u6765\u5b9e\u73b0\u5546\u4e1a\u5316\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6838\u5fc3\u6311\u6218\u8fdc\u8d85\u6280\u672f\u5c42\u9762\u3002\u8bc4\u8bba\u4e2d\u5f00\u53d1\u8005\u5766\u8a00\u9700\u8981\u201c\u65e9\u671f\u91c7\u7528\u8005\u548c\u8d44\u91d1\u652f\u6301\u201d\uff0c\u8fd9\u76f4\u6307\u5f00\u6e90\u901a\u8baf\u5e73\u53f0\u6700\u8106\u5f31\u7684\u547d\u95e8\uff1a\u751f\u6001\u4e0e\u53ef\u6301\u7eed\u6027\u3002\u901a\u8baf\u8f6f\u4ef6\u7684\u751f\u547d\u529b\u5728\u4e8e\u7f51\u7edc\u6548\u5e94\u548c\u7a33\u5b9a\u6027\uff0c\u8fd9\u9700\u8981\u6301\u7eed\u7684\u670d\u52a1\u5668\u6210\u672c\u3001\u5f00\u53d1\u6295\u5165\u548c\u793e\u533a\u8fd0\u8425\u3002\u4ec5\u51ed\u7406\u60f3\u548c\u65e9\u671f\u91c7\u7528\u8005\uff0c\u96be\u4ee5\u4e0e\u62e5\u6709\u6d77\u91cf\u8d44\u6e90\u3001\u6210\u719f\u751f\u6001\u548c\u7528\u6237\u4e60\u60ef\u7684\u5de8\u5934\u7ade\u4e89\u3002Fluxer\u82e5\u60f3\u7834\u5c40\uff0c\u4e0d\u80fd\u6b62\u6b65\u4e8e\u201c\u53e6\u4e00\u4e2a\u5f00\u6e90\u66ff\u4ee3\u54c1\u201d\uff0c\u5fc5\u987b\u5728\u90e8\u7f72\u4f53\u9a8c\u3001\u6570\u636e\u8fc1\u79fb\u5de5\u5177\u3001\u4e0e\u4f01\u4e1a\u73b0\u6709\u7cfb\u7edf\u7684\u96c6\u6210\u6df1\u5ea6\u4e0a\uff0c\u6784\u5efa\u51fa\u4e0d\u53ef\u66ff\u4ee3\u7684\u3001\u8fdc\u8d85\u201c\u80fd\u7528\u201d\u7ea7\u522b\u7684\u201c\u597d\u7528\u201d\u4f53\u9a8c\uff0c\u5e76\u627e\u5230\u6e05\u6670\u7684\u3001\u4e0d\u635f\u5bb3\u5f00\u6e90\u7cbe\u795e\u7684\u5546\u4e1a\u5316\u8def\u5f84\uff0c\u5426\u5219\u6781\u6613\u9677\u5165\u53eb\u597d\u4e0d\u53eb\u5ea7\u7684\u201c\u5f00\u6e90\u60c5\u6000\u9879\u76ee\u201d\u9677\u9631\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\">Fluxer<\/span>\n                <\/div>\n<div class=\"comment-content\">An open-source, independent instant messaging and VoIP platform. Built for friends, groups, and communities.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">I want Fluxer to become an easy-to-deploy, fully FOSS Discord\/Slack-like platform for companies, communities, and individuals who want to own their chat infrastructure, or who wish to support an independent and bootstrapped hosted alternative. But I need early adopters and financial support to keep working on it full-time.<\/p>\n<p>Also see <a href=\"https:\/\/news.ycombinator.com\/item?id=46468725\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/news.ycombinator.com\/ite&#8230;<\/a> \ud83d\ude42<\/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\">@hampuskraft Love the open source nature of the project. Upvoted<\/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\/@hampuskraft\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hampuskraft<\/a>&nbsp;respect for building this fully open and bootstrapped!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@hampuskraft\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@hampuskraft<\/a>&nbsp;wow, AGPLv3 is <em>a choice<\/em>! What&#8217;s your thinking\/strategy behind that?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#6<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/YJT3OOCWYZGQ7Q\" class=\"app-title\">NoteTabs<\/a><\/p>\n<div class=\"one-liner\">Native macOS text editor with horizontal tabs &#038; auto-restore<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">112<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>NoteTabs\u662f\u4e00\u6b3e\u539f\u751fmacOS\u6587\u672c\u7f16\u8f91\u5668\uff0c\u901a\u8fc7\u5f15\u5165\u6c34\u5e73\u6807\u7b7e\u9875\u548c\u81ea\u52a8\u4fdd\u5b58\/\u6062\u590d\u529f\u80fd\uff0c\u89e3\u51b3\u4e86\u4eceWindows\u8fc1\u79fb\u5230macOS\u7684\u7528\u6237\u5728\u5feb\u901f\u8bb0\u5f55\u3001\u7f16\u8f91\u7eaf\u6587\u672c\u65f6\u7f3a\u4e4f\u8f7b\u91cf\u3001\u65e0\u5e72\u6270\u3001\u96f6\u914d\u7f6e\u5de5\u5177\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\/354259c2-02fd-4937-86cb-90f0104eaaad.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/25ea88f2-8a9e-459d-95eb-b4b12b325a3c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/5027e6c0-52f7-4009-880f-111317600970.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ea661dda-fd34-4d76-80ee-ecb034bb979d.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\/f64008a3-f2eb-404c-8a98-0d4ad31264da.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/P51CCyjjYNw\"><source src=\"https:\/\/youtu.be\/P51CCyjjYNw\" 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\">Text Editors<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6587\u672c\u7f16\u8f91\u5668<\/span><br \/>\n            <span class=\"tag\">macOS\u539f\u751f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u7ea7<\/span><br \/>\n            <span class=\"tag\">\u6c34\u5e73\u6807\u7b7e\u9875<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u4fdd\u5b58<\/span><br \/>\n            <span class=\"tag\">\u65e0\u5e72\u6270\u5199\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Notepad++\u66ff\u4ee3\u54c1<\/span><br \/>\n            <span class=\"tag\">\u901f\u8bb0\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u96f6\u914d\u7f6e<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u6709\u6548\u8bc4\u8bba\u4e3b\u8981\u4e3a\u5f00\u53d1\u8005\u81ea\u8ff0\uff0c\u6838\u5fc3\u53cd\u9988\u662f\u586b\u8865\u4e86macOS\u5e73\u53f0\u7f3a\u4e4f\u7c7b\u4f3cNotepad++\u7684\u8f7b\u91cf\u7ea7\u6807\u7b7e\u5f0f\u6587\u672c\u7f16\u8f91\u5668\u7684\u5e02\u573a\u7a7a\u767d\u3002\u7528\u6237\u9700\u6c42\u660e\u786e\uff1a\u9700\u8981\u4e13\u6ce8\u4e8e\u7eaf\u6587\u672c\u3001\u65e0\u9700\u590d\u6742\u8bbe\u7f6e\u7684\u5feb\u901f\u8bb0\u5f55\u5de5\u5177\uff0c\u800c\u975e\u529f\u80fd\u7e41\u591a\u7684\u4ee3\u7801\u7f16\u8f91\u5668\u3002\u76ee\u524d\u6682\u65e0\u5916\u90e8\u7528\u6237\u63d0\u51fa\u5177\u4f53\u95ee\u9898\u6216\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                NoteTabs\u7684\u4eae\u76f8\uff0c\u7cbe\u51c6\u5730\u523a\u4e2d\u4e86\u4e00\u4e2a\u88ab\u4e3b\u6d41\u5e02\u573a\u5ffd\u89c6\u7684\u201c\u7b80\u5355\u9700\u6c42\u201d\uff1a\u5728\u529f\u80fd\u81a8\u80c0\uff08Featuritis\uff09\u6210\u4e3a\u8f6f\u4ef6\u5e38\u6001\u7684\u4eca\u5929\uff0c\u5b83\u4e3a\u201c\u53ea\u9700\u8981\u6587\u672c\u201d\u7684\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u53cd\u6297\u590d\u6742\u6027\u7684\u51fa\u53e3\u3002\u5176\u771f\u6b63\u4ef7\u503c\u5e76\u975e\u6280\u672f\u7a81\u7834\uff0c\u800c\u662f\u7cbe\u51c6\u7684\u5b9a\u4f4d\u4e0e\u514b\u5236\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u5de7\u5999\u5730\u5c06\u4e24\u4e2a\u7ecf\u5178\u5143\u7d20\u2014\u2014Notepad++\u7684\u201c\u6c34\u5e73\u6807\u7b7e\u9875\u201d\u548c\u73b0\u4ee3\u5e94\u7528\u7684\u201c\u81ea\u52a8\u4fdd\u5b58\u201d\u2014\u2014\u79fb\u690d\u5230macOS\u539f\u751f\u73af\u5883\uff0c\u6253\u9020\u51fa\u4e00\u79cd\u201c\u96f6\u6469\u64e6\u201d\u7684\u4f53\u9a8c\u3002\u8fd9\u770b\u4f3c\u7b80\u5355\uff0c\u5b9e\u5219\u76f4\u51fb\u8981\u5bb3\uff1a\u5b83\u670d\u52a1\u4e8e\u90a3\u4e9b\u5de5\u4f5c\u6d41\u88ab\u65e0\u6570\u7a97\u53e3\u6253\u65ad\u3001\u56e0\u5fd8\u8bb0\u4fdd\u5b58\u800c\u7126\u8651\u3001\u6253\u5f00VS Code\u53ea\u4e3a\u5199\u4e2a\u4fbf\u7b7e\u7684\u201c\u6c89\u9ed8\u5927\u591a\u6570\u201d\u3002\u4ea7\u54c1\u5ba3\u8a00\u201c\u4e3a\u91cd\u89c6\u901f\u5ea6\u800c\u975e\u590d\u6742\u6027\u7684\u4eba\u6253\u9020\u201d\uff0c\u672c\u8eab\u5c31\u662f\u5bf9\u5f53\u524d\u7f16\u8f91\u5668\u8d5b\u9053\uff08\u5c24\u5176\u662fVS Code\uff09\u65e5\u76caIDE\u5316\u7684\u4e00\u79cd\u7280\u5229\u6279\u5224\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u9762\u4e34\u7684\u6311\u6218\u540c\u6837\u6e05\u6670\u3002\u9996\u5148\uff0c\u5176\u6838\u5fc3\u5356\u70b9\u201c\u6c34\u5e73\u6807\u7b7e\u9875\u201d\u548c\u201c\u81ea\u52a8\u4fdd\u5b58\u201d\u6781\u6613\u88ab\u7ade\u54c1\u6a21\u4eff\u6216\u4f5c\u4e3a\u63d2\u4ef6\u5b9e\u73b0\uff0c\u62a4\u57ce\u6cb3\u8f83\u6d45\u3002\u5176\u6b21\uff0c\u4f5c\u4e3a\u5de5\u5177\u7c7b\u5e94\u7528\uff0c\u5176\u5929\u82b1\u677f\u660e\u663e\uff0c\u7528\u6237\u4e3a\u201c\u7b80\u5355\u201d\u4ed8\u8d39\u7684\u610f\u613f\u548c\u91d1\u989d\u6709\u9650\u3002\u6700\u540e\uff0c\u5f00\u53d1\u8005\u81ea\u8ff0\u662f\u552f\u4e00\u7684\u8bc4\u8bba\uff0c\u7f3a\u4e4f\u65e9\u671f\u771f\u5b9e\u7528\u6237\u7684\u9a8c\u8bc1\uff0c\u4ea7\u54c1\u662f\u5426\u771f\u7684\u89e3\u51b3\u4e86\u201c\u8db3\u591f\u75db\u201d\u7684\u95ee\u9898\uff0c\u5e02\u573a\u566a\u97f3\u662f\u5426\u88ab\u51c6\u786e\u6355\u6349\uff0c\u4ecd\u6709\u5f85\u89c2\u5bdf\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0cNoteTabs\u662f\u4e00\u6b21\u7cbe\u51c6\u7684\u5229\u57fa\u5e02\u573a\u6316\u6398\u3002\u5b83\u672a\u5fc5\u80fd\u6210\u4e3a\u73b0\u8c61\u7ea7\u4ea7\u54c1\uff0c\u4f46\u5982\u679c\u80fd\u7262\u7262\u6293\u4f4f\u90a3\u7fa4\u538c\u6076\u5197\u4f59\u3001\u8ffd\u6c42\u7eaf\u7cb9\u6587\u672c\u64cd\u4f5c\u6548\u7387\u7684\u7528\u6237\uff0c\u5e76\u5728\u7ec6\u8282\u4f53\u9a8c\u4e0a\u505a\u5230\u6781\u81f4\uff0c\u8db3\u4ee5\u5728\u6548\u7387\u5de5\u5177\u7684\u751f\u6001\u4f4d\u4e2d\u5360\u636e\u4e00\u5e2d\u4e4b\u5730\u3002\u5b83\u7684\u51fa\u73b0\u63d0\u9192\u6211\u4eec\uff1a\u5728\u6240\u6709\u4eba\u90fd\u5728\u505a\u52a0\u6cd5\u7684\u65f6\u4ee3\uff0c\u4e00\u4e2a\u52c7\u6562\u505a\u51cf\u6cd5\u7684\u4ea7\u54c1\uff0c\u672c\u8eab\u5c31\u662f\u4e00\u79cd\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\">NoteTabs<\/span>\n                <\/div>\n<div class=\"comment-content\">Still missing the tabbed experience of Notepad++ on your Mac? Meet NoteTabs. We brought the &#8216;horizontal tabs&#8217; and &#8216;auto-save&#8217; magic to a native, minimalist macOS interface. No more window clutter, no more &#8216;Save&#8217; button anxiety. Just open, write, and close. Your notes stay exactly where you left them. Fast, lightweight, and built for people who value speed over complexity. Zero friction, total focus<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hi Product Hunt,<\/p>\n<\/p>\n<p>After switching from Windows to macOS, I immediately hit a wall: there was no simple text editor that fit my workflow (<em>especially horizontal tabs<\/em>).<\/p>\n<\/p>\n<p>I don\u2019t want another code editor.<\/p>\n<p>I want a fast, no-friction text editor, like Notepad++, but native to macOS.<\/p>\n<\/p>\n<p>VS Code and Sublime Text are great, but they\u2019re built for coding. For quick notes, logs, drafts, and plain text, they\u2019re simply too much.<\/p>\n<\/p>\n<p>So I built NoteTabs.<\/p>\n<\/p>\n<p>What it focuses on:<\/p>\n<p>\u2022 Horizontal tabs, just like Notepad++<\/p>\n<p>\u2022 Plain text &amp; real files, not a Notes-style database<\/p>\n<p>\u2022 Auto-save, close anytime, and continue exactly where you left off<\/p>\n<p>\u2022 Zero setup, open the app and start typing<\/p>\n<\/p>\n<p>It\u2019s a lightweight scratchpad for anyone who just needs text, nothing more, nothing less.<\/p>\n<\/p>\n<p>I\u2019d love to hear what you think, especially what\u2019s 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>The direct link to the App Store -&gt; <a href=\"https:\/\/apps.apple.com\/tr\/app\/notetabs\/id6755886470?mt=12\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/apps.apple.com\/tr\/app\/notetabs\/id6755886470<\/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<\/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\/Y3IHFR5DRCCUN7\" class=\"app-title\">CalendarJet<\/a><\/p>\n<div class=\"one-liner\">AI scheduling with branded booking page your own domain<\/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>CalendarJet\u662f\u4e00\u6b3eAI\u9a71\u52a8\u7684\u3001\u652f\u6301\u81ea\u5b9a\u4e49\u57df\u540d\u548c\u767d\u6807\u5316\u7684\u9884\u7ea6\u8c03\u5ea6\u5e73\u53f0\uff0c\u4e3b\u8981\u9762\u5411\u6559\u7ec3\u3001\u673a\u6784\u521b\u59cb\u4eba\u548c\u81ea\u7531\u804c\u4e1a\u8005\uff0c\u4ee5\u4e00\u6b21\u6027\u4e70\u65ad\u6a21\u5f0f\u89e3\u51b3\u4e86\u7528\u6237\u5bf9Calendly\u7b49\u8ba2\u9605\u5236\u5de5\u5177\u957f\u671f\u6210\u672c\u9ad8\u6602\u3001\u54c1\u724c\u5c55\u793a\u53d7\u9650\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\/1ed96c4c-e750-4ec6-a477-8ee65fbfb13d.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\/6bfd628f-6128-4a01-aa5f-659771854333.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\/d8092975-9e91-4da8-96df-85311056771e.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\/c84ac200-59e8-452f-96f5-433e975d2e68.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\/940c80b6-2619-45c5-ae7c-cb11a2304988.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\/f588d5b4-6ec2-4c73-bb12-eb03eb7f6708.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\/ce39e23d-c5fe-477d-9377-51a0d4b4d7da.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\/6fb5df93-e326-4d37-8b78-761e0b48dc63.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/shorts\/tGU81i2zOnI\"><source src=\"https:\/\/www.youtube.com\/shorts\/tGU81i2zOnI\" 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\">Branding<\/span><br \/>\n            <span class=\"tag\">Calendar<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u65e5\u7a0b\u8c03\u5ea6<\/span><br \/>\n            <span class=\"tag\">\u9884\u7ea6\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4e00\u6b21\u6027\u4e70\u65ad<\/span><br \/>\n            <span class=\"tag\">\u767d\u6807\u5316<\/span><br \/>\n            <span class=\"tag\">\u81ea\u5b9a\u4e49\u57df\u540d<\/span><br \/>\n            <span class=\"tag\">Calendly\u66ff\u4ee3\u54c1<\/span><br \/>\n            <span class=\"tag\">\u4e2d\u5c0f\u4f01\u4e1a\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6548\u7387\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u54c1\u724c\u5b9a\u5236<\/span><br \/>\n            <span class=\"tag\">\u7ec8\u8eab\u6388\u6743<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4eba\u8bc4\u8bba\u9610\u8ff0\u4e86\u4ea7\u54c1\u5f00\u53d1\u52a8\u673a\uff08\u5bf9\u6297Calendly\u9ad8\u4ef7\u8ba2\u9605\uff09\uff0c\u5e76\u8be6\u7ec6\u7f57\u5217\u5356\u70b9\u4e0e\u4f18\u60e0\u3002\u53e6\u4e00\u6761\u8bc4\u8bba\u795d\u8d3a\u53d1\u5e03\uff0c\u5e76\u8be2\u95eeAI\u8c03\u5ea6\u6280\u672f\u5b9e\u73b0\u7ec6\u8282\uff0c\u6307\u51fa\u5bf9\u8bdd\u5f0fAI\u8c03\u5ea6\u5b58\u5728\u8fb9\u7f18\u6848\u4f8b\u5904\u7406\u96be\u9898\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                CalendarJet\u796d\u51fa\u7684\u201c\u4e00\u6b21\u6027\u4e70\u65ad\u201d\u662f\u4e00\u628a\u7cbe\u51c6\u523a\u5411SaaS\u8ba2\u9605\u75b2\u52b3\u75c7\u7684\u5229\u5203\u3002\u5b83\u8868\u9762\u4e0a\u5bf9\u6807Calendly Enterprise\uff0c\u5b9e\u5219\u5207\u5165\u4e86\u4e00\u4e2a\u66f4\u9690\u79d8\u7684\u5e02\u573a\u7f1d\u9699\uff1a\u90a3\u4e9b\u54c1\u724c\u610f\u8bc6\u89c9\u9192\u3001\u5bf9\u957f\u671f\u6210\u672c\u654f\u611f\u3001\u5374\u4e0d\u9700\u8981\u5e9e\u5927\u4f01\u4e1a\u7ea7\u7ba1\u63a7\u7684\u4e2d\u5c0f\u56e2\u961f\u4e0e\u4e2a\u4eba\u4e13\u4e1a\u4eba\u58eb\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e3b\u5f20\u5e76\u975e\u6280\u672f\u98a0\u8986\uff0c\u800c\u662f\u5546\u4e1a\u6a21\u5f0f\u4e0e\u5b9a\u4ef7\u7b56\u7565\u7684\u6fc0\u8fdb\u91cd\u6784\u2014\u2014\u5c06\u201c\u7ec8\u8eab\u6388\u6743\u201d\u4e0e\u201c\u767d\u6807\u5b9a\u5236\u201d\u6346\u7ed1\uff0c\u76f4\u51fb\u7528\u6237\u201c\u4e3a\u54c1\u724c\u4ed8\u8d39\u5374\u4ecd\u5c55\u793a\u4ed6\u4eba\u6807\u8bc6\u201d\u7684\u5fc3\u7406\u4e0d\u9002\u4e0e\u201c\u8ba2\u9605\u652f\u51fa\u65e0\u5e95\u6d1e\u201d\u7684\u8d22\u52a1\u7126\u8651\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5149\u73af\u4e4b\u4e0b\u6697\u85cf\u7591\u70b9\u3002\u9996\u5148\uff0c\u201c\u7ec8\u8eab\u6388\u6743\u201d\u5728\u8f6f\u4ef6\u670d\u52a1\u9886\u57df\u662f\u4e00\u4e2a\u9ad8\u98ce\u9669\u627f\u8bfa\uff0c\u5176\u53ef\u6301\u7eed\u6027\u9ad8\u5ea6\u4f9d\u8d56\u56e2\u961f\u957f\u671f\u8fd0\u8425\u80fd\u529b\u4e0e\u540e\u7eed\u6536\u5165\u6a21\u578b\uff08\u5982\u672a\u6765\u53ef\u80fd\u63a8\u51fa\u7684\u589e\u503c\u670d\u52a1\uff09\u3002\u5176\u6b21\uff0c\u4ea7\u54c1\u5f3a\u8c03\u201c\u62e5\u6709Calendly\u4f01\u4e1a\u7248\u76f8\u540c\u529f\u80fd\u201d\uff0c\u4f46\u4f01\u4e1a\u7ea7\u9700\u6c42\u4e0d\u4ec5\u662f\u529f\u80fd\u6e05\u5355\uff0c\u66f4\u662f\u7a33\u5b9a\u6027\u3001\u5408\u89c4\u652f\u6301\u3001\u5168\u7403\u53ef\u7528\u6027\u4e0e\u6df1\u5ea6\u96c6\u6210\u80fd\u529b\uff0c\u8fd9\u4e9b\u9690\u6027\u6210\u672c\u662f\u5426\u771f\u80fd\u88ab27\u7f8e\u5143\u8986\u76d6\uff1f\u8bc4\u8bba\u4e2d\u63d0\u53ca\u7684\u201cAI\u8c03\u5ea6\u8fb9\u7f18\u6848\u4f8b\u96be\u9898\u201d\u6070\u6070\u70b9\u51fa\u4e86\u8fd9\u7c7b\u4ea7\u54c1\u7684\u6280\u672f\u62a4\u57ce\u6cb3\u2014\u2014\u5728\u7b80\u5355\u573a\u666f\u4e0b\u6613\u5b9e\u73b0\uff0c\u5728\u590d\u6742\u3001\u591a\u53d8\u7684\u771f\u4eba\u65e5\u7a0b\u534f\u8c03\u4e2d\uff0c\u53ef\u9760\u6027\u624d\u662f\u5173\u952e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cCalendarJet\u662f\u4e00\u6b21\u6210\u529f\u7684\u75db\u70b9\u8425\u9500\u4e0e\u5e02\u573a\u5b9a\u4f4d\u6848\u4f8b\u3002\u5b83\u672a\u5fc5\u80fd\u64bc\u52a8\u4f01\u4e1a\u7ea7\u5e02\u573a\uff0c\u4f46\u8db3\u4ee5\u5438\u5f15\u5927\u91cf\u4ef7\u683c\u654f\u611f\u4e14\u538c\u6076\u8ba2\u9605\u7684\u4e2a\u4f53\u521b\u4e1a\u8005\u4e0e\u5c0f\u5fae\u56e2\u961f\u3002\u5b83\u7684\u771f\u6b63\u6311\u6218\u5728\u4e8e\uff0c\u5982\u4f55\u5728\u7ec8\u8eab\u6536\u8d39\u6a21\u5f0f\u4e0b\uff0c\u6301\u7eed\u4fdd\u969c\u57fa\u7840\u8bbe\u65bd\u6295\u5165\u3001\u6280\u672f\u66f4\u65b0\u4e0e\u7528\u6237\u652f\u6301\uff0c\u907f\u514d\u9677\u5165\u201c\u5356\u5f97\u8d8a\u591a\u3001\u8d1f\u62c5\u8d8a\u91cd\u201d\u7684\u9677\u9631\u3002\u8fd9\u662f\u4e00\u573a\u5bf9\u4f20\u7edfSaaS\u6a21\u5f0f\u7684\u52c7\u6562\u53cd\u53db\uff0c\u4f46\u5176\u957f\u671f\u751f\u547d\u529b\uff0c\u4ecd\u9700\u7528\u65f6\u95f4\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\">CalendarJet<\/span>\n                <\/div>\n<div class=\"comment-content\">CalendarJet is the AI powered scheduling platform that gives you what Calendly charges $15,000\/year for. Custom domains (book.yourbrand.com) for just $27. One time. Forever. Normally $497. Zero branding. Your logo only. Full customization like WeTransfer. AI that schedules by voice. Built for coaches, agencies, and founders tired of the subscription trap.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Hey PH! \ud83d\udc4b<\/p>\n<\/p>\n<p>After calculating that Calendly Enterprise would cost my team <strong>$15,000+ over 5 years<\/strong>, I built the scheduling tool I actually wanted.<\/p>\n<\/p>\n<p>I did the math. Per-seat pricing adds up fast. So I built CalendarJet.<\/p>\n<\/p>\n<p><strong>$27 lifetime. Unlimited everything.<\/strong><\/p>\n<\/p>\n<p>What you get:<\/p>\n<\/p>\n<p>\u2705 One-click Calendly import (60-second switch)<\/p>\n<p>\u2705 Custom domain (<a href=\"http:\/\/book.yourcompany.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">book.yourcompany.com<\/a>)<\/p>\n<p>\u2705 100% customizable &#8211; video backgrounds, drag-and-drop editor<\/p>\n<p>\u2705 AI scheduling assistant<\/p>\n<p>\u2705 White-label (zero &#8220;powered by&#8221; badges)<\/p>\n<p>\u2705 Unlimited team members, events, bookings<\/p>\n<p>\u2705 Webhook and API access<\/p>\n<p>\u2705 36+ Pro features included + free lifetime updates<\/p>\n<\/p>\n<p><strong>Use code CJ27DEAL<\/strong> \u2192 $27 lifetime access<\/p>\n<\/p>\n<p>That&#8217;s 500x cheaper than what Calendly charges teams. Same features. Your brand. Forever yours.<\/p>\n<\/p>\n<p>AMA! \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<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Congratulations for the launch and the great app! <\/p>\n<\/p>\n<p>It would be great if you could share some words on how you achieved that level of quality in scheduling. I&#8217;ve tried to create an app as a course project in an AI Evals Course and found out that conversational AI scheduling is surprisingly difficult, due to many potential edge 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<\/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\/NZQ6FIUHOFQO4I\" class=\"app-title\">Notchification<\/a><\/p>\n<div class=\"one-liner\">Compilation and Claude progress bars in your mac&#8217;s notch!<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">100<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Notchification \u662f\u4e00\u6b3e\u5c06MacBook\u5218\u6d77\u5c4f\u53d8\u4e3a\u7f16\u8bd1\u8fdb\u5ea6\u663e\u793a\u5668\u7684\u5de5\u5177\uff0c\u5728\u5f00\u53d1\u8005\u7b49\u5f85\u4ee3\u7801\u6784\u5efa\u65f6\uff0c\u901a\u8fc7\u63d0\u4f9b\u65e0\u9700\u5207\u6362\u7a97\u53e3\u7684\u5168\u5c40\u8fdb\u5ea6\u63d0\u793a\uff0c\u89e3\u51b3\u4e86\u9891\u7e41\u67e5\u770b\u6784\u5efa\u72b6\u6001\u5bfc\u81f4\u6ce8\u610f\u529b\u4e2d\u65ad\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/dbf5b519-6037-44a9-8fa1-f252049f7439.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/FrIYMwmgwho\"><source src=\"https:\/\/youtu.be\/FrIYMwmgwho\" 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\/1960a994-e50b-4c54-9616-118a4421c638.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c6a1963b-da4a-40e1-b1de-46c332bfa662.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/347ca267-372d-4b57-9316-a630ffece9a8.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">Mac\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u8fdb\u5ea6\u6307\u793a\u5668<\/span><br \/>\n            <span class=\"tag\">\u72b6\u6001\u76d1\u63a7<\/span><br \/>\n            <span class=\"tag\">\u7f16\u8bd1\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u65e0\u5e72\u6270\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u5b89\u5168<\/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\u8be5\u4ea7\u54c1\u7cbe\u51c6\u51fb\u4e2d\u4e86\u201c\u9891\u7e41\u5207\u6362\u7a97\u53e3\u67e5\u770b\u7f16\u8bd1\u8fdb\u5ea6\u201d\u7684\u666e\u904d\u75db\u70b9\uff0c\u8ba4\u4e3a\u5176\u5c06\u95f2\u7f6e\u7684\u5218\u6d77\u533a\u57df\u529f\u80fd\u5316\u7684\u89c6\u89d2\u975e\u5e38\u65b0\u9896\u3002\u521b\u59cb\u4eba\u8865\u5145\u8bf4\u660e\u4e86\u7075\u611f\u6765\u6e90\u4e8e\u60f3\u5145\u5206\u5229\u7528\u7f16\u8bd1\u7b49\u5f85\u7684\u201cdead time\u201d\uff0c\u5e76\u5f7b\u5e95\u6d88\u9664\u7531\u6b64\u4ea7\u751f\u7684\u7126\u8651\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Notchification \u7684\u4ef7\u503c\u6838\u5fc3\u5e76\u975e\u6280\u672f\u521b\u65b0\uff0c\u800c\u662f\u4e00\u6b21\u5bf9\u201c\u786c\u4ef6\u7f3a\u9677\u518d\u5b9a\u4e49\u201d\u548c\u201c\u6ce8\u610f\u529b\u7ecf\u6d4e\u5b66\u201d\u7684\u7cbe\u51c6\u5b9e\u8df5\u3002\u5b83\u654f\u9510\u5730\u6355\u6349\u5230\u4e24\u4e2a\u88ab\u666e\u904d\u5ffd\u89c6\u7684\u95f2\u7f6e\u8d44\u6e90\uff1a\u4e00\u662fMacBook\u5218\u6d77\u5360\u636e\u7684\u7269\u7406\u5c4f\u5e55\u7a7a\u95f4\uff0c\u4e8c\u662f\u5f00\u53d1\u8005\u5728\u7f16\u8bd1\u7b49\u5f85\u671f\u95f4\u88ab\u53cd\u590d\u6d88\u8017\u7684\u788e\u7247\u5316\u6ce8\u610f\u529b\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u806a\u660e\u5730\u5c06\u4e00\u4e2a\u5907\u53d7\u8bdf\u75c5\u7684\u8bbe\u8ba1\u77ed\u677f\u8f6c\u5316\u4e3a\u72ec\u5360\u7684\u3001\u6c89\u6d78\u611f\u6781\u5f3a\u7684\u4fe1\u606f\u8f93\u51fa\u901a\u9053\u3002\u5176\u771f\u6b63\u7280\u5229\u4e4b\u5904\u5728\u4e8e\u5bf9\u901a\u77e5\u4f53\u7cfb\u7684\u964d\u7ef4\u6253\u51fb\uff1a\u5b83\u6452\u5f03\u4e86\u6240\u6709\u9700\u8981\u7528\u6237\u201c\u5904\u7406\u201d\u7684\u5f39\u7a97\u3001\u58f0\u97f3\u6216\u56fe\u6807\uff0c\u8f6c\u800c\u63d0\u4f9b\u4e00\u79cd\u201c\u73af\u5883\u5149\u201d\u5f0f\u7684\u3001\u65e0\u9700\u4ea4\u4e92\u7684\u72b6\u6001\u611f\u77e5\u3002\u8fd9\u6807\u5fd7\u7740\u5de5\u5177\u8bbe\u8ba1\u4ece\u201c\u4e3b\u52a8\u63a8\u9001-\u88ab\u52a8\u5904\u7406\u201d\u5411\u201c\u73af\u5883\u5448\u73b0-\u6309\u9700\u83b7\u53d6\u201d\u7684\u8303\u5f0f\u8f6c\u53d8\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u6df1\u5c42\u98ce\u9669\u4e0e\u6f5c\u529b\u5e76\u5b58\u3002\u6f5c\u529b\u5728\u4e8e\uff0c\u5b83\u5f00\u8f9f\u4e86\u201c\u786c\u4ef6\u7279\u5b9a\u533a\u57df\u529f\u80fd\u5316\u201d\u7684\u65b0\u8d5b\u9053\uff0c\u672a\u6765\u6216\u53ef\u627f\u8f7d\u66f4\u591a\u5168\u5c40\u6027\u3001\u4f4e\u4fb5\u5165\u7684\u72b6\u6001\u63d0\u793a\uff08\u5982\u4e0b\u8f7d\u3001\u4f1a\u8bae\u5012\u8ba1\u65f6\uff09\u3002\u98ce\u9669\u5219\u5728\u4e8e\u5176\u573a\u666f\u6781\u5ea6\u5782\u76f4\u548c\u8106\u5f31\uff1a\u5176\u5b58\u5728\u4e25\u91cd\u4f9d\u8d56\u4e8eMacBook\u5218\u6d77\u5c4f\u7684\u5ef6\u7eed\uff0c\u4e14\u529f\u80fd\u4ef7\u503c\u4f1a\u968f\u7740\u8ba1\u7b97\u673a\u7f16\u8bd1\u901f\u5ea6\u7684\u63d0\u5347\u800c\u7a00\u91ca\u3002\u5f53\u524d\u5b83\u66f4\u50cf\u4e00\u4e2a\u4f18\u96c5\u7684\u201c\u521b\u53ef\u8d34\u201d\u5f0f\u89e3\u51b3\u65b9\u6848\uff0c\u800c\u975e\u6839\u6cbb\u201c\u6784\u5efa\u6d41\u7a0b\u4e0d\u900f\u660e\u201d\u7684\u826f\u836f\u3002\u80fd\u5426\u4ece\u201c\u8fdb\u5ea6\u663e\u793a\u5668\u201d\u8fdb\u5316\u4e3a\u201c\u6784\u5efa\u6d41\u7a0b\u4f18\u5316\u4e2d\u67a2\u201d\uff0c\u5c06\u51b3\u5b9a\u5176\u662f\u5c0f\u4f17\u7684\u6548\u7387\u73a9\u5177\uff0c\u8fd8\u662f\u80fd\u5d4c\u5165\u5f00\u53d1\u8005\u5de5\u4f5c\u6d41\u7684\u6838\u5fc3\u7ec4\u4ef6\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">Notchification<\/span>\n                <\/div>\n<div class=\"comment-content\">You&#8217;re deep in code. A build kicks off. You switch tabs, check Slack, read docs\u2014then wonder: &#8220;Wait, is it still compiling?&#8221; Notchification ends the guessing. A sleek progress bar appears right in your MacBook&#8217;s notch when builds are running. Glance up. Know instantly. Get back to work. Works with the tools you already use: &#8211; Xcode &#8211; Android Studio &#8211; Claude Code CLI<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>You&#8217;re deep in code. A build kicks off. You switch tabs, check Slack, read docs\u2014then wonder:*&#8221;Wait, is it still compiling?&#8221;<\/p>\n<p>Notchification ends the guessing. A sleek progress bar appears right in your MacBook&#8217;s notch when builds are running. Glance up. Know instantly. Get back to work.<\/p>\n<p>Works with the tools you already use:<\/p>\n<p>&#8211; Xcode (Swift, Objective-C, C++)<br \/>&#8211; Android Studio (Gradle builds)<br \/>&#8211; Claude CLI (AI code generation)<\/p>\n<p>Each tool gets its own color. Multiple builds? They stack. When it&#8217;s done, confetti falls from the notch. Satisfying.<\/p>\n<p>Why?<\/p>\n<p>The notch takes up screen space and does nothing. Your IDE&#8217;s build indicator is buried in a corner you never look at. Notifications are noisy. You just want ambient awareness\u2014not another distraction.<\/p>\n<p>What you get<\/p>\n<p>&#8211; Instant visibility \u2014 One glance tells you if builds are running<br \/>&#8211; Smart detection \u2014 CPU-based monitoring, no false positives<br \/>&#8211; Zero setup \u2014 Install, enable your tools, done<br \/>&#8211; Delightful details \u2014 Animated waves, spring physics, celebration confetti<br \/>&#8211; Lightweight \u2014 Menu bar app, stays out of your way<br \/>&#8211; Privacy-first \u2014 No network access, no data collection<\/p>\n<p>Who it&#8217;s for<\/p>\n<p>Developers who context-switch while waiting for builds. Stop alt-tabbing to check. Just look up.<\/p>\n<p>Forgot to add a link to the website which has a small funny trailer: <a href=\"https:\/\/notchification.carrd.co\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/notchification.carrd.co\/<\/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\">@alexandervonkvamme Wow never looked at notifications from that angle. Cool idea!<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Alexander, that moment of switching back to your IDE just to check if a build is still running hits close to home. Was there a day where you caught yourself doing that like ten times and thought wait, why am I breaking my focus just to see a progress bar?<\/div>\n<div class=\"comment-actions\">\n<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\/@vouchy\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@vouchy<\/a>&nbsp;Thats right Van de Vouchy! It kinda feels like dead time cause I havent really used it for anything productive so I wanted to completely switch those worries off and just do whatever i want until the build is complete. Thinking about this stuff while looking at the notch kinda gave me the idea \ud83d\ude1b<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">#9<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/4ARWVFHG53OPHL\" class=\"app-title\">Rest Now &#8211; Screen Break Timer<\/a><\/p>\n<div class=\"one-liner\">Open source screen break timer for macOS<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">90<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u8f7b\u91cf\u7ea7\u7684\u5f00\u6e90 macOS \u83dc\u5355\u680f\u4f11\u606f\u63d0\u9192\u5de5\u5177\uff0c\u901a\u8fc7\u5728\u957f\u65f6\u95f4\u7f16\u7801\u3001\u8bbe\u8ba1\u6216\u5b66\u4e60\u573a\u666f\u4e2d\u5b9a\u65f6\u63d0\u9192\u7528\u6237\u4f11\u606f\uff0c\u7f13\u89e3\u89c6\u89c9\u75b2\u52b3\u548c\u7cbe\u795e\u5026\u6020\uff0c\u5e2e\u52a9\u7528\u6237\u4fdd\u6301\u4e13\u6ce8\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\/86e63b61-c9ee-4bbb-947d-5af4e57bc5a3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/49b83fa7-a440-47d7-a21c-daca2e1afea9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/445a16b3-ba7e-430b-9c76-19aca9ae51c4.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\">Health &#038; Fitness<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u5065\u5eb7\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">macOS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u8f6f\u4ef6<\/span><br \/>\n            <span class=\"tag\">\u4f11\u606f\u63d0\u9192<\/span><br \/>\n            <span class=\"tag\">\u62a4\u773c\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u83dc\u5355\u680f\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u7ea7<\/span><br \/>\n            <span class=\"tag\">\u9632\u75b2\u52b3<\/span><br \/>\n            <span class=\"tag\">\u4e13\u6ce8\u529b<\/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\u7b80\u6d01\u3001\u65e0\u5e72\u6270\u7684\u8bbe\u8ba1\u53ca\u539f\u751f\u4f53\u9a8c\u3002\u4e3b\u8981\u95ee\u9898\u4e0e\u5efa\u8bae\u96c6\u4e2d\u5728\uff1a\u591a\u663e\u793a\u5668\u652f\u6301\u7ec6\u8282\u3001\u672a\u6765\u662f\u5426\u589e\u52a0\u6bcf\u65e5\u4f7f\u7528\u65f6\u957f\u786c\u6027\u9650\u5236\u529f\u80fd\uff0c\u4ee5\u53ca\u5f00\u53d1Windows\u7248\u672c\u7684\u53ef\u884c\u6027\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Rest Now \u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u88ab\u201c\u590d\u6742\u5316\u201d\u6216\u201c\u5546\u4e1a\u5316\u201d\u7684\u7ec6\u5206\u5e02\u573a\uff1a\u5c4f\u5e55\u4f11\u606f\u63d0\u9192\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975e\u6280\u672f\u521b\u65b0\uff0c\u800c\u5728\u4e8e\u5bf9\u201c\u7528\u6237\u4e60\u60ef\u201d\u4e0e\u201c\u5de5\u5177\u4f26\u7406\u201d\u7684\u6df1\u523b\u7406\u89e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u5e02\u573a\u4e0d\u4e4f\u529f\u80fd\u5e9e\u6742\u7684\u4e13\u6ce8\u6216\u5065\u5eb7\u7ba1\u7406\u5e94\u7528\uff0c\u5b83\u4eec\u5f80\u5f80\u901a\u8fc7\u590d\u6742\u7684\u7edf\u8ba1\u3001\u793e\u4ea4\u6311\u6218\u6216\u5f3a\u5236\u6027\u963b\u65ad\u6765\u201c\u7ba1\u7406\u201d\u7528\u6237\uff0c\u65e0\u5f62\u4e2d\u589e\u52a0\u4e86\u8ba4\u77e5\u8d1f\u62c5\uff0c\u751a\u81f3\u5f15\u53d1\u5bf9\u6297\u5fc3\u7406\u3002Rest Now \u53cd\u5176\u9053\u800c\u884c\uff0c\u5c06\u81ea\u8eab\u5b9a\u4f4d\u4e3a\u201c\u8f7b\u91cf\u7ea7\u201d\u3001\u201c\u65e0\u6469\u64e6\u201d\u7684\u540e\u53f0\u670d\u52a1\uff0c\u5176\u201c\u6e29\u548c\u63d0\u9192\u201d\u800c\u975e\u201c\u5f3a\u5236\u963b\u65ad\u201d\u7684\u54f2\u5b66\uff0c\u6070\u6070\u5951\u5408\u4e86\u6df1\u5ea6\u5de5\u4f5c\u8005\u7684\u6838\u5fc3\u8bc9\u6c42\u2014\u2014\u4fdd\u6301\u5fc3\u6d41\u3002\u5b83\u89e3\u51b3\u7684\u75db\u70b9\u5e76\u975e\u201c\u4e0d\u77e5\u9053\u8981\u4f11\u606f\u201d\uff0c\u800c\u662f\u201c\u6c89\u6d78\u5de5\u4f5c\u65f6\u5fd8\u8bb0\u4f11\u606f\u201d\u3002\u8fd9\u79cd\u201c\u6da6\u7269\u7ec6\u65e0\u58f0\u201d\u7684\u8f85\u52a9\u89d2\u8272\uff0c\u662f\u5176\u53ef\u80fd\u83b7\u5f97\u957f\u671f\u7559\u5b58\u7684\u5173\u952e\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u53cd\u9988\u770b\uff0c\u7528\u6237\u5bf9\u5176\u201c macOS \u539f\u751f\u611f\u201d\u548c\u201c\u83dc\u5355\u680f\u96c6\u6210\u201d\u7684\u8d5e\u8d4f\uff0c\u9a8c\u8bc1\u4e86\u4ea7\u54c1\u4e0e\u7cfb\u7edf\u751f\u6001\u6df1\u5ea6\u878d\u5408\u7b56\u7565\u7684\u6210\u529f\u3002\u7136\u800c\uff0c\u5176\u53d1\u5c55\u4e5f\u9762\u4e34\u6e05\u6670\u7684\u9009\u62e9\u9898\uff1a\u662f\u575a\u5b88\u201c\u6e29\u548c\u52a9\u63a8\u5668\u201d\u7684\u521d\u5fc3\uff0c\u8fd8\u662f\u5e94\u90e8\u5206\u7528\u6237\u8981\u6c42\u52a0\u5165\u201c\u6bcf\u65e5\u786c\u6027\u9650\u5236\u201d\u7b49\u66f4\u5f3a\u5e72\u9884\u529f\u80fd\uff1f\u540e\u8005\u867d\u80fd\u6269\u5927\u53d7\u4f17\uff0c\u4f46\u53ef\u80fd\u7834\u574f\u73b0\u6709\u7b80\u6d01\u7406\u5ff5\uff0c\u4f7f\u5176\u6ed1\u5411\u53e6\u4e00\u4e2a\u540c\u7c7b\u7ade\u54c1\u3002\u5173\u4e8eWindows\u7aef\u53e3\u7684\u547c\u58f0\uff0c\u5219\u63ed\u793a\u4e86\u5176\u6a21\u5f0f\u5728\u8de8\u5e73\u53f0\u4e0a\u7684\u6f5c\u5728\u9700\u6c42\uff0c\u4f46\u4f5c\u4e3a\u4e2a\u4eba\u5f00\u6e90\u9879\u76ee\uff0c\u8d44\u6e90\u5206\u914d\u5c06\u662f\u73b0\u5b9e\u6311\u6218\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0cRest Now \u662f\u4e00\u6b3e\u201c\u514b\u5236\u201d\u7684\u5de5\u5177\u3002\u5b83\u7684\u6210\u529f\u4e0d\u5728\u4e8e\u80fd\u505a\u4ec0\u4e48\uff0c\u800c\u5728\u4e8e\u9009\u62e9\u4e0d\u505a\u4ec0\u4e48\u3002\u5728\u8fc7\u5ea6\u8bbe\u8ba1\u7684\u8f6f\u4ef6\u6d6a\u6f6e\u4e2d\uff0c\u8fd9\u79cd\u514b\u5236\u53cd\u800c\u6784\u6210\u4e86\u5176\u72ec\u7279\u7684\u7ade\u4e89\u529b\u548c\u7528\u6237\u597d\u611f\u5ea6\u3002\u5b83\u7684\u957f\u8fdc\u4ef7\u503c\uff0c\u5728\u4e8e\u80fd\u5426\u5728\u4fdd\u6301\u6838\u5fc3\u4f53\u9a8c\u7eaf\u7cb9\u7684\u540c\u65f6\uff0c\u901a\u8fc7\u5f00\u6e90\u793e\u533a\u7684\u529b\u91cf\uff0c\u5728\u201c\u6269\u5c55\u6027\u201d\u4e0e\u201c\u7b80\u6d01\u6027\u201d\u4e4b\u95f4\u627e\u5230\u4f18\u96c5\u7684\u5e73\u8861\u70b9\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\">Rest Now &#8211; Screen Break Timer<\/span>\n                <\/div>\n<div class=\"comment-content\">Rest Now is a lightweight screen break timer for macOS that helps reduce eye strain and mental fatigue during long screen sessions. Designed for macOS users who spend long hours coding, designing, studying, or working on a macbook. Key Features: Menu bar screen break timer, eye-friendly break reminders, minimal and distraction-free design, quietly runs in the background while you work. Rest your eyes. Reset your focus. Rest Now.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey fam,<\/p>\n<p>I built Rest Now because I kept ignoring eye strain during long coding sessions until it started affecting my focus and sleep. Most existing apps felt overkill or paid, so I wanted something simple, lightweight, and friction-free.<\/p>\n<p>Rest Now gently reminds you to take screen breaks, without breaking flow or nagging you. You could also use it as a Pomodoro Timer. I\u2019ve been using it daily while coding and it\u2019s quietly become part of my routine.<\/p>\n<p>Would love for you to try it out and share feedback. Happy to answer any questions \ud83d\ude42<\/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\/@habu_tusk\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@habu_tusk<\/a>&nbsp;congrats! I\u2019ve been looking for something like this and love how simple it is. My dry eyes could really use this. Downloading.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Simple and effective. Great job keeping it distraction-free. I work with a triple monitor setup\u2014when the break reminder triggers, does it dim all screens, or just the main display?<\/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\/@yoang_loo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoang_loo<\/a>&nbsp;Yes \ud83d\ude42 it dims all connected displays, including multi-monitor setups.<\/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>Would it be able to create some &#8220;dosing&#8221;? E.g. 8 hour limit per day and then sudden block? <\/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\/@busmark_w_nika\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@busmark_w_nika<\/a>&nbsp;right now it\u2019s focused on gentle, regular breaks rather than hard limits or blocking. debating between soft nudges or an actual hard stop after a daily limit.<\/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>Appreciate the minimal, macOS-native approach. Menu bar + lightweight is a big plus, feels like something that can stay installed long-term.<\/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\/@russell_dou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@russell_dou<\/a>&nbsp;Thanks, that means a lot \ud83d\ude42That was exactly the goal!<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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 like simplicity of the app. Any chance we might get the port for Windows ? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/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\/4FRMIF5X6NNXMK\" class=\"app-title\">8udget<\/a><\/p>\n<div class=\"one-liner\">Budget, invest &#038; track finances &#8211; works offline<\/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>\u4e00\u6b3e\u4e3b\u6253\u79bb\u7ebf\u4f18\u5148\u3001\u6570\u636e\u672c\u5730\u7684\u5168\u529f\u80fd\u4e2a\u4eba\u8d22\u52a1\u5e94\u7528\uff0c\u5728\u65e0\u7f51\u7edc\u6216\u6ce8\u91cd\u9690\u79c1\u7684\u573a\u666f\u4e0b\uff0c\u4e3a\u7528\u6237\u89e3\u51b3\u4e86\u9884\u7b97\u3001\u6295\u8d44\u3001\u8d26\u5355\u548c\u8d22\u52a1\u76ee\u6807\u4e00\u7ad9\u5f0f\u7ba1\u7406\u7684\u75db\u70b9\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <video class=\"media-content\" poster=\"https:\/\/ph-files.imgix.net\/35fa4a44-5d76-4160-a6c3-e27d571de3ea.jpeg?auto=format\" data-video-url=\"https:\/\/www.youtube.com\/watch?v=6KWj7uYKLmo\"><source src=\"https:\/\/www.youtube.com\/watch?v=6KWj7uYKLmo\" 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\/b8c6a835-8c4a-44fe-aab0-f36379767727.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f2920ede-a188-48e2-a94f-18de197f5142.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aafdba79-2e84-42d1-ba16-628877df87e7.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a223d7e8-04ef-4372-a382-cc2b34848b3c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6cad39f6-ca94-4493-9e60-f2fd3d06b387.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/68d0da19-4bfa-414d-a1f7-64ce5f07bef5.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\">Android<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Finance<\/span><br \/>\n            <span class=\"tag\">Personal Finance<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u4e2a\u4eba\u8d22\u52a1\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u79bb\u7ebf\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0<\/span><br \/>\n            <span class=\"tag\">\u9884\u7b97\u8ddf\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u6295\u8d44\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u5168\u6808\u5408\u4e00<\/span><br \/>\n            <span class=\"tag\">Flutter<\/span><br \/>\n            <span class=\"tag\">Rust<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u4f18\u5148<\/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\u8d5e\u8d4f\u201c\u79bb\u7ebf\u4f18\u5148\u201d\u7406\u5ff5\u5bf9\u9690\u79c1\u548c\u901f\u5ea6\u7684\u4fdd\u969c\uff0c\u5e76\u8be2\u95ee\u5bf9FIRE\uff08\u8d22\u52a1\u72ec\u7acb\uff0c\u63d0\u65e9\u9000\u4f11\uff09\u8fd0\u52a8\u7684\u652f\u6301\u6df1\u5ea6\u3002\u5f00\u53d1\u8005\u56de\u5e94\u5df2\u5177\u5907\u6295\u8d44\u7ec4\u5408\u4e0e\u51c0\u8d44\u4ea7\u8ffd\u8e2a\uff0c\u957f\u671f\u9884\u6d4b\u529f\u80fd\u5728\u8003\u8651\u4e2d\u3002\u53e6\u6709\u7528\u6237\u5bf9\u6280\u672f\u6808\uff08Flutter+Rust\uff09\u7684\u6027\u80fd\u548c\u662f\u5426\u652f\u6301\u591a\u8d27\u5e01\u8868\u793a\u5173\u6ce8\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                8udget\u7684\u201c\u79bb\u7ebf\u4f18\u5148\u201d\u5e76\u975e\u7b80\u5355\u7684\u529f\u80fd\u9609\u5272\uff0c\u800c\u662f\u4e00\u6b21\u5bf9\u4e2a\u4eba\u8d22\u52a1\u5e94\u7528\u6838\u5fc3\u4ef7\u503c\u7684\u7280\u5229\u91cd\u6784\u3002\u5728\u6570\u636e\u5373\u5546\u54c1\u3001\u4e91\u7aef\u540c\u6b65\u5df2\u6210\u9ed8\u8ba4\u7684\u5f53\u4e0b\uff0c\u5b83\u53cd\u5176\u9053\u800c\u884c\u4e4b\uff0c\u5c06\u6570\u636e\u4e3b\u6743\u5f7b\u5e95\u4ea4\u8fd8\u7528\u6237\uff0c\u8fd9\u76f4\u51fb\u4e86\u9ad8\u51c0\u503c\u6216\u9690\u79c1\u654f\u611f\u7528\u6237\u7684\u6df1\u5c42\u7126\u8651\u3002\u5176\u6280\u672f\u9009\u578b\uff08Flutter+Rust\uff09\u4e5f\u670d\u52a1\u4e8e\u8fd9\u4e00\u7406\u5ff5\uff0c\u7528\u9ad8\u6027\u80fd\u672c\u5730\u8ba1\u7b97\u66ff\u4ee3\u7f51\u7edc\u5ef6\u8fdf\uff0c\u4f53\u9a8c\u4e0a\u662f\u4e00\u79cd\u201c\u5962\u4f88\u7684\u5373\u65f6\u6027\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\u5546\u4e1a\u6a21\u5f0f\u4e0e\u7528\u6237\u4e60\u60ef\u7684\u6096\u8bba\u3002\u79bb\u7ebf\u514d\u8d39\u3001\u4e91\u7aef\u4ed8\u8d39\u7684\u6a21\u578b\uff0c\u53ef\u80fd\u5c06\u6838\u5fc3\u5356\u70b9\uff08\u79bb\u7ebf\uff09\u4e0e\u76c8\u5229\u70b9\uff08\u4e91\u540c\u6b65\uff09\u7f6e\u4e8e\u5bf9\u7acb\u9762\uff0c\u5438\u5f15\u6765\u7684\u9ad8\u5ea6\u9690\u79c1\u62e5\u62a4\u8005\u6070\u6070\u662f\u6700\u4e0d\u613f\u4ed8\u8d39\u540c\u6b65\u7684\u7fa4\u4f53\u3002\u6b64\u5916\uff0c\u201c\u5168\u6808\u5408\u4e00\u201d\u5728\u7b80\u5316\u7ba1\u7406\u7684\u540c\u65f6\uff0c\u4e5f\u53ef\u80fd\u9677\u5165\u4e13\u4e1a\u6df1\u5ea6\u4e0d\u8db3\u7684\u7a98\u5883\uff1a\u5bf9\u4e8e\u4e25\u8083\u6295\u8d44\u8005\uff0c\u5176\u6295\u8d44\u8ffd\u8e2a\u529f\u80fd\u53ef\u80fd\u8fc7\u4e8e\u8f7b\u91cf\uff1b\u800cFIRE\u8ffd\u968f\u8005\u6e34\u671b\u7684\u590d\u6742\u9884\u6d4b\u6a21\u578b\u5c1a\u5c5e\u7a7a\u7f3a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0c8udget\u662f\u4e00\u6b3e\u201c\u539f\u5219\u9a71\u52a8\u201d\u800c\u975e\u201c\u529f\u80fd\u9a71\u52a8\u201d\u7684\u4ea7\u54c1\u3002\u5b83\u7684\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u529f\u80fd\u7f57\u5217\uff0c\u800c\u5728\u4e8e\u7528\u6280\u672f\u6808\u548c\u4ea7\u54c1\u8bbe\u8ba1\uff0c\u4e3a\u7279\u5b9a\u7528\u6237\u7fa4\u4f53\u63d0\u4f9b\u4e86\u4e00\u4e2a\u53ef\u4fe1\u8d56\u7684\u3001\u81ea\u6211\u638c\u63a7\u7684\u6570\u5b57\u8d22\u52a1\u57fa\u77f3\u3002\u5176\u6210\u8d25\u5173\u952e\uff0c\u5728\u4e8e\u80fd\u5426\u5c06\u201c\u9690\u79c1\u4e0e\u638c\u63a7\u201d\u8fd9\u4e00\u539f\u5219\uff0c\u8f6c\u5316\u4e3a\u8db3\u591f\u521a\u9700\u4e14\u53ef\u6301\u7eed\u7684\u4ed8\u8d39\u573a\u666f\uff0c\u5e76\u5728\u201c\u4e00\u4f53\u5316\u7684\u4fbf\u6377\u201d\u4e0e\u201c\u4e13\u4e1a\u5de5\u5177\u7684\u6df1\u5ea6\u201d\u4e4b\u95f4\u627e\u5230\u7cbe\u51c6\u5e73\u8861\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\">8udget<\/span>\n                <\/div>\n<div class=\"comment-content\">8udget is a personal finance app that actually works offline &#8211; no internet required. Track your budget with category breakdowns, monitor stock &#038; crypto investments in real-time, manage recurring bills with reminders, and set financial goals with progress tracking. Unlike other finance apps, your data stays on your device by default. Import messy bank statements with 80-90% accuracy. Available on iOS, Android, Web, Mac &#8211; all from one codebase built with Flutter + Rust. 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>Love the offline-first approach! \ud83d\udcf1 No internet required is a huge win for privacy and speed. A friend of mine is actually building a similar tool focused specifically on the <strong>FIRE movement<\/strong> . How does <strong>8udget<\/strong> handle long-term projections or investment tracking for users aiming for FIRE? Upvoted!<\/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\/@yahaha66\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yahaha66<\/a>&nbsp;Thanks for the upvote! On the FIRE side, we do have investment portfolio tracking and net worth monitoring which helps with tracking progress toward FI. Long-term projections aren&#8217;t available yet, but it&#8217;s something I&#8217;m considering. What would be most useful for you &#8211; a years-to-FI calculator, projection charts, or something else?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>1<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt! \ud83d\udc4b<\/p>\n<p>I&#8217;ve been building 8udget for the past 3 years as a solo developer.<\/p>\n<p>## Why I built this<\/p>\n<p>I was frustrated with finance apps that:<br \/>\n&#8211; Required constant internet connection<br \/>\n&#8211; Made me use separate apps for budgeting vs investing<br \/>\n&#8211; Charged expensive subscriptions just to track my own money<\/p>\n<p>## What makes 8udget different<\/p>\n<p>\u2713 **Works completely offline** &#8211; your data stays on your device<br \/>\n\u2713 **All-in-one** &#8211; budget, stocks, crypto, bills, goals in one app<br \/>\n\u2713 **Smart CSV import** &#8211; handles messy bank statements (80-90% success rate)<br \/>\n\u2713 **True cross-platform** &#8211; iOS, Android, Web, Mac<br \/>\n\u2713 **Built for performance** &#8211; Flutter frontend + Rust backend<\/p>\n<p>## Tech stack (for the curious)<\/p>\n<p>&#8211; Frontend: Flutter 3.32<br \/>\n&#8211; Backend logic: Rust<br \/>\n&#8211; Bridge: Flutter Rust Bridge<br \/>\n&#8211; Database: SQLite with local encryption<\/p>\n<p>## Pricing<br \/>\n&#8211; **Free tier**: Full offline functionality but limited to 50 transaction logs<br \/>\n&#8211; **Premium**: Cloud sync, unlimited transactions, investment tracking<\/p>\n<p>## What&#8217;s next<\/p>\n<p>Working on:<br \/>\n&#8211; Bank connection integrations<\/p>\n<p>I&#8217;d love your feedback!<\/p>\n<p>What features would you want to see next? \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@atzr95\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@atzr95<\/a>&nbsp;The Flutter + Rust combo sounds incredibly fast. I\u2019m a big fan of the &#8216;offline-first&#8217; approach for financial data. Does 8udget support multi-currency tracking for those of us earning in one currency. Keep up the great work<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#11<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/QGWVUHC6ZUS7IM\" class=\"app-title\">youtube-mcp-server<\/a><\/p>\n<div class=\"one-liner\">MCP server for YouTube video transcription and metadata.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">87<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u4e3aAI\u667a\u80fd\u4f53\u63d0\u4f9bYouTube\u89c6\u9891\u8f6c\u5f55\u4e0e\u5143\u6570\u636e\u63d0\u53d6\u7684MCP\u670d\u52a1\u5668\uff0c\u89e3\u51b3\u4e86\u5f00\u53d1\u8005\u5728\u6784\u5efa\u89c6\u9891\u5206\u6790\u5e94\u7528\u65f6\u9762\u4e34\u7684\u6570\u636e\u83b7\u53d6\u4e0e\u5904\u7406\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 single-item\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/e20177b5-53e0-416e-b6de-1a9077ec0615.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">YouTube<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">MCP\u670d\u52a1\u5668<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u8f6c\u5f55<\/span><br \/>\n            <span class=\"tag\">\u5143\u6570\u636e\u63d0\u53d6<\/span><br \/>\n            <span class=\"tag\">YouTube\u6570\u636e\u5904\u7406<\/span><br \/>\n            <span class=\"tag\">\u8bed\u97f3\u8bc6\u522b<\/span><br \/>\n            <span class=\"tag\">\u591a\u8bed\u8a00\u652f\u6301<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u7f13\u5b58<\/span><br \/>\n            <span class=\"tag\">\u786c\u4ef6\u52a0\u901f<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u5b98\u65b9\u6027\u8d28\u7684\u529f\u80fd\u4ecb\u7ecd\u8bc4\u8bba\uff0c\u91cd\u70b9\u7a81\u51fa\u4e86\u5176\u5143\u6570\u636e\u63d0\u53d6\u3001\u667a\u80fd\u8f6c\u5f55\uff08\u652f\u630199\u79cd\u8bed\u8a00\u3001VAD\u5206\u5272\uff09\u3001\u7f13\u5b58\u548c\u6027\u80fd\u4f18\u5316\u7b49\u7279\u6027\uff0c\u7f3a\u4e4f\u771f\u5b9e\u7528\u6237\u7684\u4f7f\u7528\u53cd\u9988\u4e0e\u95ee\u9898\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                youtube-mcp-server\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u9762\u5411AI Agent\u751f\u6001\u7684\u201c\u4e2d\u95f4\u4ef6\u201d\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u4e0d\u5728\u4e8e\u76f4\u63a5\u9762\u5411\u7ec8\u7aef\u7528\u6237\uff0c\u800c\u5728\u4e8e\u4e3aAI\u667a\u80fd\u4f53\u9ad8\u6548\u3001\u7ed3\u6784\u5316\u5730\u63a5\u5165YouTube\u8fd9\u4e00\u5e9e\u5927\u89c6\u9891\u4fe1\u606f\u5e93\u63d0\u4f9b\u4e86\u6807\u51c6\u5316\u7ba1\u9053\u3002\u4ea7\u54c1\u5c06yt-dlp\u7684\u7a33\u5b9a\u6293\u53d6\u3001Whisper\u7684\u5148\u8fdb\u8f6c\u5f55\u80fd\u529b\uff0c\u4ee5\u53ca\u667a\u80fd\u7f13\u5b58\u3001\u786c\u4ef6\u52a0\u901f\u3001\u5e76\u884c\u5904\u7406\u7b49\u5de5\u7a0b\u5316\u4f18\u5316\u5c01\u88c5\u6210MCP\u534f\u8bae\u63a5\u53e3\uff0c\u8fd9\u7cbe\u51c6\u5730\u5207\u4e2d\u4e86\u5f53\u524dAI\u5e94\u7528\u5f00\u53d1\u4e2d\u7684\u4e00\u4e2a\u5173\u952e\u9700\u6c42\uff1a\u5982\u4f55\u8ba9LLM\u7b49AI\u6a21\u578b\u53ef\u9760\u3001\u4f4e\u5ef6\u8fdf\u5730\u201c\u7406\u89e3\u201d\u89c6\u9891\u5185\u5bb9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\u751f\u6001\u4f4d\u7684\u786e\u7acb\u3002MCP\u534f\u8bae\u672c\u8eab\u4ecd\u5728\u53d1\u5c55\u521d\u671f\uff0c\u8be5\u4ea7\u54c1\u7684\u6210\u529f\u9ad8\u5ea6\u4f9d\u8d56\u4e8eMCP\u80fd\u5426\u6210\u4e3aAI Agent\u9886\u57df\u8fde\u63a5\u5de5\u5177\u4e0e\u6a21\u578b\u7684\u4e3b\u6d41\u6807\u51c6\u3002\u4ece\u529f\u80fd\u770b\uff0c\u5b83\u6280\u672f\u6574\u5408\u624e\u5b9e\uff0c\u4f46\u521b\u65b0\u6027\u6709\u9650\uff0c\u5c5e\u4e8e\u201c\u4f18\u79c0\u7684\u6280\u672f\u5b9e\u73b0\u201d\u3002\u76ee\u524d\u7f3a\u4e4f\u771f\u5b9e\u7528\u6237\u8bc4\u8bba\uff0c\u4f7f\u5176\u5b9e\u9645\u6613\u7528\u6027\u3001\u7a33\u5b9a\u6027\u53ca\u5728\u590d\u6742\u573a\u666f\uff08\u5982\u8d85\u957f\u89c6\u9891\u3001\u4f4e\u8d28\u91cf\u97f3\u6e90\uff09\u4e0b\u7684\u8868\u73b0\u6210\u7591\u3002\u5728\u5546\u4e1a\u5316\u5c42\u9762\uff0c\u5b83\u76f4\u63a5\u8c03\u7528YouTube\u6570\u636e\uff0c\u9700\u8c28\u614e\u89c4\u907f\u6f5c\u5728\u7684\u6cd5\u5f8b\u4e0eAPI\u4f7f\u7528\u653f\u7b56\u98ce\u9669\u3002\u603b\u4f53\u800c\u8a00\uff0c\u8fd9\u662f\u4e00\u6b3e\u5728\u6b63\u786e\u8d5b\u9053\u4e0a\u7684\u201c\u57fa\u7840\u8bbe\u65bd\u578b\u201d\u4ea7\u54c1\uff0c\u524d\u666f\u53d6\u51b3\u4e8e\u5176\u6240\u4f9d\u9644\u7684\u534f\u8bae\u751f\u6001\u80fd\u5426\u7206\u53d1\uff0c\u77ed\u671f\u5185\u5c06\u662f\u5f00\u53d1\u8005\u4e0eAI\u56e2\u961f\u5185\u90e8\u63d0\u6548\u7684\u5229\u5668\uff0c\u4f46\u8ddd\u79bb\u6210\u4e3a\u5e73\u53f0\u578b\u4ea7\u54c1\u8fd8\u6709\u5f88\u957f\u7684\u8def\u8981\u8d70\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">youtube-mcp-server<\/span>\n                <\/div>\n<div class=\"comment-content\">A powerful Model Context Protocol (MCP) server for YouTube video transcription and metadata extraction.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">A powerful Model Context Protocol (MCP) server for YouTube video transcription and metadata extraction. This server provides advanced tools for AI agents to retrieve video metadata and generate high-quality transcriptions with native language support.<\/p>\n<p>\ud83c\udf1f Features<br \/>\nMetadata Extraction: Retrieve comprehensive video details (title, description, views, duration, etc.) without downloading the video.<br \/>\nSmart Transcription:<br \/>\nIn-Memory Processing: fast, efficient, and disk-I\/O free pipeline.<br \/>\nVAD (Voice Activity Detection): uses Silero VAD for precise segmentation.<br \/>\nMultilingual Support: supports 99 languages.<br \/>\nTranslation: Transcribe to any supported language.<br \/>\nCaching: Intelligent file-based caching to avoid redundant processing.<br \/>\nOptimized Performance:<br \/>\nUses yt-dlp for robust extraction.<br \/>\nHardware acceleration (MPS\/CUDA) for Whisper inference.<br \/>\nParallel processing for transcription segments.<\/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<\/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\/DHPT3FAG6MDLSV\" class=\"app-title\">Mnexium AI<\/a><\/p>\n<div class=\"one-liner\">Persistent, structured memory for AI Agents<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">84<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Mnexium AI \u901a\u8fc7\u63d0\u4f9b\u7b80\u5355\u7684API\uff0c\u4e3aAI\u5e94\u7528\u548c\u667a\u80fd\u4f53\u8d4b\u4e88\u6301\u4e45\u5316\u3001\u7ed3\u6784\u5316\u7684\u8bb0\u5fc6\u80fd\u529b\uff0c\u89e3\u51b3\u4e86\u5f00\u53d1\u8005\u5728\u6784\u5efaAI\u5e94\u7528\u65f6\u9700\u8981\u53cd\u590d\u642d\u5efa\u5411\u91cf\u6570\u636e\u5e93\u3001\u68c0\u7d22\u7ba1\u9053\u7b49\u590d\u6742\u57fa\u7840\u8bbe\u65bd\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\/8fcd7319-ae01-4b5d-854f-7e2eb7920cc3.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/169c3c7a-1783-47b7-84ad-c609de17b999.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6f20502e-06de-411b-bf2b-58f41f124281.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/32cd48c0-45cd-49c3-a8fd-3c8b59562a39.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ab5eb2f9-23a0-442b-8d56-54a8c63faa8c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/83389d74-b450-457f-8902-71e20daf1681.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f5fc5267-c465-4434-b8e8-91b8e6ec053c.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9ea0ffa0-365f-4047-880e-3193213d0655.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/c4e4e1a4-1997-4439-8e0a-8271a81fa6bd.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">API<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI\u8bb0\u5fc6\u4f53<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u5f00\u53d1<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u957f\u671f\u8bb0\u5fc6<\/span><br \/>\n            <span class=\"tag\">API\u670d\u52a1<\/span><br \/>\n            <span class=\"tag\">AI\u57fa\u7840\u8bbe\u65bd<\/span><br \/>\n            <span class=\"tag\">\u8bed\u4e49\u68c0\u7d22<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">LLM\u589e\u5f3a<\/span><br \/>\n            <span class=\"tag\">\u65e0\u670d\u52a1\u5668AI<\/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\u89e3\u51b3\u4e86LLM\u7684\u6838\u5fc3\u9650\u5236\u3002\u4e3b\u8981\u95ee\u9898\u96c6\u4e2d\u5728\u6280\u672f\u5b9e\u73b0\u7ec6\u8282\uff0c\u5982\u8bb0\u5fc6\u5982\u4f55\u53cd\u9988\u7ed9LLM\u3001\u662f\u5426\u5360\u7528\u4e0a\u4e0b\u6587\u7a97\u53e3\uff0c\u4ee5\u53ca\u662f\u5426\u4e0eN8N\u7b49\u5de5\u4f5c\u6d41\u5de5\u5177\u96c6\u6210\u3002\u5f00\u53d1\u8005\u56de\u5e94\u4e86\u96c6\u6210\u95ee\u9898\uff0c\u5e76\u5bfb\u6c42\u4e0b\u4e00\u6b65\u53d1\u5c55\u7684\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                Mnexium AI \u7784\u51c6\u4e86\u4e00\u4e2a\u771f\u5b9e\u4e14\u6b63\u5728\u81a8\u80c0\u7684\u9700\u6c42\u2014\u2014\u4e3a\u77ac\u606f\u4e07\u53d8\u7684LLM\u6ce8\u5165\u201c\u6301\u4e45\u4eba\u683c\u201d\u3002\u5176\u5ba3\u79f0\u7684\u201c\u65e0\u9700\u5411\u91cf\u6570\u636e\u5e93\u3001\u65e0\u9700\u7ba1\u9053\u3001\u65e0\u9700\u68c0\u7d22\u903b\u8f91\u201d\u76f4\u51fb\u5f00\u53d1\u8005\u8981\u5bb3\uff0c\u672c\u8d28\u662f\u8bd5\u56fe\u5c06\u201c\u8bb0\u5fc6\u201d\u8fd9\u4e2a\u590d\u6742\u5b50\u7cfb\u7edf\u5c01\u88c5\u6210\u4e00\u4e2a\u6807\u51c6\u5316\u3001\u65e0\u72b6\u6001\u7684API\u5546\u54c1\u3002\u8fd9\u6b65\u68cb\u8d70\u5f97\u806a\u660e\uff0c\u5b83\u4e0d\u662f\u5728\u6311\u6218\u5411\u91cf\u68c0\u7d22\u7684\u6280\u672f\u8def\u7ebf\uff0c\u800c\u662f\u5728\u62bd\u8c61\u5176\u590d\u6742\u6027\uff0c\u626e\u6f14\u201c\u8bb0\u5fc6\u5373\u670d\u52a1\u201d\u7684\u4e91\u4f9b\u5e94\u5546\u89d2\u8272\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\u201c\u9ed1\u76d2\u201d\u4e4b\u4e0b\u7684\u6743\u8861\u3002\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u5982\u4f55\u53cd\u9988\u201d\u548c\u201c\u662f\u5426\u5360\u7528\u4e0a\u4e0b\u6587\u7a97\u53e3\u201d\u7684\u63d0\u95ee\u4e00\u9488\u89c1\u8840\u3002\u5982\u679c\u5176\u201cmnx\u5bf9\u8c61\u201d\u672c\u8d28\u4ecd\u662f\u538b\u7f29\u540e\u7684\u6587\u672c\u6458\u8981\u6ce8\u5165\u4e0a\u4e0b\u6587\uff0c\u5219\u65e0\u6cd5\u7a81\u7834\u6a21\u578b\u7a97\u53e3\u7684\u7269\u7406\u4e0a\u9650\uff0c\u53ea\u662f\u4f18\u5316\u4e86\u8bb0\u5fc6\u7684\u63d0\u70bc\u6548\u7387\uff1b\u5982\u679c\u91c7\u7528\u5916\u90e8\u8c03\u7528\u673a\u5236\uff0c\u5219\u9762\u4e34\u5ef6\u8fdf\u3001\u53ef\u9760\u6027\u4e0e\u6210\u672c\u7684\u65b0\u95ee\u9898\u3002\u4ea7\u54c1\u4ef7\u503c\u7684\u9ad8\u4f4e\uff0c\u5b8c\u5168\u53d6\u51b3\u4e8e\u5176\u7b97\u6cd5\u5728\u201c\u5b58\u50a8\u3001\u8bc4\u5206\u3001\u56de\u5fc6\u201d\u8fd9\u4e09\u4e2a\u73af\u8282\u7684\u7cbe\u5ea6\u4e0e\u6548\u7387\uff0c\u8fd9\u9700\u8981\u6781\u6df1\u7684\u6570\u636e\u5de5\u7a0b\u4e0e\u8ba4\u77e5\u79d1\u5b66\u529f\u5e95\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u5e02\u573a\uff0c\u4eceLangChain\u7b49\u5f00\u53d1\u6846\u67b6\u5230\u5404\u5927\u4e91\u5382\u5546\uff0c\u90fd\u5728\u4e89\u593a\u201cAI\u4e2d\u95f4\u4ef6\u201d\u7684\u5b9a\u4e49\u6743\u3002Mnexium\u7684\u673a\u9047\u5728\u4e8e\u6781\u81f4\u7b80\u5316\u4e0e\u573a\u666f\u805a\u7126\uff0c\u4f46\u98ce\u9669\u5728\u4e8e\u5176\u6280\u672f\u58c1\u5792\u662f\u5426\u8db3\u591f\u6df1\u539a\uff0c\u4ee5\u9632\u88ab\u5927\u5e73\u53f0\u7684\u4e00\u4e2a\u529f\u80fd\u66f4\u65b0\u6240\u8986\u76d6\u3002\u5b83\u771f\u6b63\u7684\u5ba2\u6237\u53ef\u80fd\u4e0d\u662f\u8ffd\u6c42\u6781\u81f4\u5b9a\u5236\u5316\u7684\u5934\u90e8\u4f01\u4e1a\uff0c\u800c\u662f\u5e7f\u5927\u6e34\u671b\u5feb\u901f\u4e3a\u4ea7\u54c1\u6dfb\u52a0\u201c\u8bb0\u5fc6\u201d\u529f\u80fd\u7684\u4e2d\u5c0f\u5f00\u53d1\u8005\u548c\u521d\u521b\u516c\u53f8\u3002\u5176\u6210\u8d25\u5173\u952e\uff0c\u5728\u4e8e\u80fd\u5426\u5728\u901a\u7528\u6027\u4e0e\u53ef\u9760\u6027\u4e0a\uff0c\u5efa\u7acb\u8d77\u8d85\u8d8a\u81ea\u5efa\u65b9\u6848\u7684\u4fe1\u4efb\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\">Mnexium AI<\/span>\n                <\/div>\n<div class=\"comment-content\">Give your LLMs persistent memory. Mnexium stores, scores, and recalls long-term context with a simple API \u2014 no vector DBs, no pipelines, no retrieval logic. Add a single mnx object to your AI requests and get chat history, semantic recall, and durable user memory out of the box.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunters &#8211;<\/p>\n<p>While building AI apps, I kept running into the same problem: the model was great \u2014 but it couldn\u2019t remember anything. I had to wire vector DBs, embeddings, retrieval pipelines, chat storage mechanisms. It felt like rebuilding the same thing every time I started a new project.<\/p>\n<p>Mnexium fixes that.<br \/>\nWith one API call, your app gets conversation history, long-term memory, and semantic recall \u2014 automatically.<\/p>\n<p>I also published a \u201cGetting Started\u201d guide and a working chatGPT clone example. There was something that fundamentally changed when ChatGPT released memories &#8211; I want to make that possible for every AI app &amp; agent. <\/p>\n<p>I\u2019d love any feedback, especially from folks building agents, copilots, or AI-powered products. What would you like Mnexium to support next?<\/p>\n<p>Appreciate it.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@marius_ndini\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@marius_ndini<\/a>&nbsp;Cool idea touching on the primary limitation of the current LLMs. I see your algorithm curates what is memorized and at what importance. How are you feeding this back into a new chat with one of the LLMs, and does it eat up some of the context window? Or is this another mechanism that is presented to the LLM as an ability?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Does it work with N8N?<\/div>\n<div class=\"comment-actions\">\n<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\/@jonathan_alonso\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@jonathan_alonso<\/a>&nbsp;We do not currently have an N8N node yet. Certainly would love to one day.<\/p>\n<\/p>\n<p><strong>Today<\/strong> we\u2019re fully usable via the <strong>HTTP Request<\/strong> node.<\/p>\n<\/p>\n<p>Please find our API docs here <a href=\"https:\/\/www.mnexium.com\/docs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/www.mnexium.com\/docs<\/a><\/p>\n<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#13<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/RLBFY3SV2JNXXI\" class=\"app-title\">Overguide<\/a><\/p>\n<div class=\"one-liner\">Get real-time AI help without leaving your videogame.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">81<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Overguide\u662f\u4e00\u6b3e\u901a\u8fc7AI\u5b9e\u65f6\u5c4f\u5e55\u7406\u89e3\uff0c\u5728\u6e38\u620f\u753b\u9762\u4e0a\u63d0\u4f9b\u5373\u65f6\u7b56\u7565\u6307\u5bfc\u548c\u95ee\u9898\u89e3\u7b54\u7684\u8986\u76d6\u5c42\u5e94\u7528\uff0c\u89e3\u51b3\u4e86\u73a9\u5bb6\u56e0\u5207\u51fa\u6e38\u620f\u67e5\u627e\u653b\u7565\u800c\u4e2d\u65ad\u6c89\u6d78\u611f\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\/cef5430e-76b3-4941-8448-4bd825bb5f0a.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/8426b8c3-c04f-487a-92b7-6a4ce938ec16.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/961abb45-d927-4e0f-8780-0f67cb215465.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3209ef5e-e49b-4eec-b049-a015c44b6e4b.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\/d0d93704-97bb-43d4-8eab-92afe1b98eab.jpeg?auto=format\" data-video-url=\"https:\/\/youtu.be\/N_ikCIbPIuY\"><source src=\"https:\/\/youtu.be\/N_ikCIbPIuY\" 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>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6e38\u620f\u52a9\u624b<\/span><br \/>\n            <span class=\"tag\">AI\u8986\u76d6\u5c42<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u5c4f\u5e55\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u653b\u7565<\/span><br \/>\n            <span class=\"tag\">\u5373\u65f6\u95ee\u7b54<\/span><br \/>\n            <span class=\"tag\">PC\u6e38\u620f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6c89\u6d78\u5f0f\u8f85\u52a9<\/span><br \/>\n            <span class=\"tag\">\u70ed\u952e\u5524\u9192<\/span><br \/>\n            <span class=\"tag\">\u4e0a\u4e0b\u6587\u611f\u77e5<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u900f\u660e<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005\u4e3b\u52a8\u5f81\u96c6\u4f7f\u7528\u573a\u666f\u548c\u529f\u80fd\u5efa\u8bae\u3002\u7528\u6237\u8be2\u95ee\u5176\u4e0e\u901a\u7528AI\u5de5\u5177\u7684\u533a\u522b\uff0c\u4ee5\u53ca\u662f\u5426\u9002\u7528\u4e8e\u975e\u6e38\u620f\u573a\u666f\uff0c\u5173\u6ce8\u4ea7\u54c1\u5b9a\u4f4d\u7684\u7279\u6b8a\u6027\u4e0e\u6cdb\u7528\u6027\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Overguide\u8bd5\u56fe\u5728\u201c\u6e38\u620f\u8f85\u52a9\u201d\u8fd9\u4e2a\u7ea2\u6d77\u5e02\u573a\u4e2d\uff0c\u7528\u201c\u96f6\u4e2d\u65ad\u201d\u7684\u6c89\u6d78\u611f\u4f5c\u4e3a\u5dee\u5f02\u5316\u5207\u53e3\uff0c\u5176\u6838\u5fc3\u4ef7\u503c\u5e76\u975eAI\u95ee\u7b54\u672c\u8eab\uff0c\u800c\u662f\u5c06AI\u80fd\u529b\u4ee5\u201c\u8986\u76d6\u5c42\u201d\u5f62\u5f0f\u6df1\u5ea6\u5d4c\u5165\u6e38\u620f\u8fdb\u7a0b\u7684\u4ea4\u4ed8\u65b9\u5f0f\u3002\u8fd9\u672c\u8d28\u4e0a\u662f\u5bf9\u4f20\u7edf\u6e38\u620f\u653b\u7565\u6d4f\u89c8\u884c\u4e3a\u7684\u4e00\u6b21\u573a\u666f\u5316\u91cd\u6784\u2014\u2014\u5c06\u5916\u90e8\u6d4f\u89c8\u5668\u641c\u7d22\uff0c\u8f6c\u5316\u4e3a\u5185\u90e8\u5373\u65f6\u900f\u89c6\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u6311\u6218\u4e0e\u4ef7\u503c\u4e34\u754c\u70b9\u5728\u4e8e\u4e24\u4e2a\u5c42\u9762\uff1a\u4e00\u662f\u6280\u672f\u53ef\u9760\u6027\uff0c\u201c\u5c4f\u5e55\u7406\u89e3\u201d\u7684\u51c6\u786e\u5ea6\u80fd\u5426\u5728\u9ad8\u901f\u53d8\u5316\u3001\u98ce\u683c\u5404\u5f02\u7684\u6e38\u620f\u753b\u9762\u4e2d\u7a33\u5b9a\u6293\u53d6\u5173\u952e\u4e0a\u4e0b\u6587\uff0c\u8fd9\u51b3\u5b9a\u4e86\u5b83\u662f\u771f\u667a\u80fd\u8fd8\u662f\u5671\u5934\uff1b\u4e8c\u662f\u5546\u4e1a\u6a21\u5f0f\u4e0e\u4f26\u7406\u8fb9\u754c\uff0c\u5b83\u7a76\u7adf\u662f\u63d0\u5347\u4f53\u9a8c\u7684\u201c\u5408\u89c4\u52a9\u624b\u201d\uff0c\u8fd8\u662f\u53ef\u80fd\u89e6\u53ca\u6e38\u620f\u53cd\u4f5c\u5f0a\u673a\u5236\u7684\u201c\u6f5c\u5728\u98ce\u9669\u201d\uff1f\u5f00\u53d1\u8005\u9700\u660e\u786e\u754c\u5b9a\u5176\u5de5\u4f5c\u5c42\u7ea7\uff08\u56fe\u50cf\u8bc6\u522b\u4e0e\u5206\u6790\uff0c\u800c\u975e\u5185\u5b58\u4fee\u6539\uff09\uff0c\u5e76\u4e0e\u6e38\u620f\u5382\u5546\u5efa\u7acb\u6c9f\u901a\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7528\u6237\u5173\u4e8e\u201c\u975e\u6e38\u620f\u5e94\u7528\u201d\u7684\u63d0\u95ee\u6070\u6070\u70b9\u4e2d\u4e86\u5176\u672a\u6765\u53ef\u80fd\u6027\u7684\u547d\u95e8\u3002\u5982\u679c\u5176\u5c4f\u5e55\u7406\u89e3\u6280\u672f\u8db3\u591f\u9c81\u68d2\uff0c\u90a3\u4e48\u4ece\u6e38\u620f\u573a\u666f\u6269\u5c55\u5230\u4efb\u4f55\u8f6f\u4ef6\u64cd\u4f5c\u7684\u6559\u5b66\u4e0e\u8f85\u52a9\uff08\u5982\u8bbe\u8ba1\u8f6f\u4ef6\u3001\u529e\u516c\u5957\u4ef6\uff09\uff0c\u5c06\u662f\u66f4\u5e7f\u9614\u7684B\u7aef\u6216\u751f\u4ea7\u529b\u84dd\u6d77\u3002\u76ee\u524d\u6765\u770b\uff0c\u5b83\u7cbe\u51c6\u5207\u5165\u4e86\u4e00\u4e2a\u5782\u76f4\u75db\u70b9\uff0c\u4f46\u5fc5\u987b\u8de8\u8d8a\u6280\u672f\u7a33\u5b9a\u6027\u548c\u751f\u6001\u5408\u89c4\u6027\u8fd9\u4e24\u5ea7\u5927\u5c71\uff0c\u624d\u80fd\u4ece\u4e00\u6b3e\u6709\u8da3\u7684\u5de5\u5177\uff0c\u8fdb\u5316\u4e3a\u4e00\u4e2a\u5168\u65b0\u7684\u4ea4\u4e92\u8303\u5f0f\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\">Overguide<\/span>\n                <\/div>\n<div class=\"comment-content\">Overguide is an AI-powered overlay that gives you instant help while you play. Overguide appears on top of your game and lets you ask anything, it understands what\u2019s on your screen. Whether you need strategy tips, puzzle solutions or quick explanations, Overguide is your always-on gaming copilot. \ud83c\udfae Smart in-game overlay for Windows &#038; macOS \u26a1 Global hotkeys \u2013 ask anything instantly \ud83e\udde0 Context-aware AI with screen understanding \ud83e\ude9f Transparent, lightweight &#038; non-intrusive<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt \ud83d\udc4b<\/p>\n<p>I\u2019m the maker of Overguide, an AI assistant designed specifically for gamers who don\u2019t want to leave their game to get help.<\/p>\n<p>I built Overguide because I was tired of pausing games, searching guides, or breaking immersion just to find a quick answer. Now you can press a hotkey and get AI help instantly on top of your game.<\/p>\n<p>I\u2019d love to hear your feedback:<br \/>\n\u2022 What games would you like to use it with?<br \/>\n\u2022 What features would make it a must-have for you?<\/p>\n<p>Thanks so much for checking it out and supporting the launch \u2764\ufe0f<\/p>\n<p>\u2014 Zam<\/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\">That is cool. <\/p>\n<p>Anything special that makes it specifically for gaming? Could you use it for non-gaming things too?<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#14<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/APFHJ5MRZNFQRN\" class=\"app-title\">docc2json<\/a><\/p>\n<div class=\"one-liner\">Turn Apple DocC output into a web-friendly SDK JSON schema<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">80<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>\u4e00\u6b3e\u5c06Apple DocC\u751f\u6210\u7684\u6587\u6863\u8f93\u51fa\uff0c\u8f6c\u6362\u4e3a\u9002\u7528\u4e8eWeb\u6587\u6863\u7ad9\u70b9\u548c\u5916\u90e8\u5de5\u5177\u7684\u6807\u51c6\u5316JSON\u6a21\u5f0f\u7684\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u89e3\u51b3\u4e86\u82f9\u679c\u5b98\u65b9\u6587\u6863\u683c\u5f0f\u5c01\u95ed\u3001\u96be\u4ee5\u81ea\u5b9a\u4e49\u590d\u7528\u7684\u95ee\u9898\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/35f32226-0fdd-42f5-b155-565eca6c04a0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bdec629e-8dc4-4934-b88e-ef37beb2621f.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/88e02eae-abe4-4e16-8f7f-7f489f19aac6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">iOS<\/span><br \/>\n            <span class=\"tag\">Software Engineering<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span><br \/>\n            <span class=\"tag\">Apple<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u751f\u6210<\/span><br \/>\n            <span class=\"tag\">\u683c\u5f0f\u8f6c\u6362<\/span><br \/>\n            <span class=\"tag\">SDK\u6587\u6863<\/span><br \/>\n            <span class=\"tag\">Apple\u751f\u6001<\/span><br \/>\n            <span class=\"tag\">\u5f00\u6e90\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">CLI\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u4ee3\u7801\u89e3\u6790<\/span><br \/>\n            <span class=\"tag\">JSON Schema<\/span><br \/>\n            <span class=\"tag\">\u6587\u6863\u81ea\u52a8\u5316<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u80af\u5b9a\u4e86\u5de5\u5177\u89e3\u51b3DocC\u683c\u5f0f\u5c01\u95ed\u3001\u590d\u7528\u96be\u7684\u6838\u5fc3\u75db\u70b9\u3002\u4e3b\u8981\u63d0\u95ee\u96c6\u4e2d\u5728\u5982\u4f55\u5904\u7406\u7b26\u53f7\u5173\u7cfb\u4e0e\u5e73\u53f0\u53ef\u7528\u6027\u5143\u6570\u636e\uff0c\u4ee5\u53ca\u80fd\u5426\u652f\u6301\u589e\u91cf\u66f4\u65b0\u4ee5\u751f\u6210\u7248\u672c\u5316SDK\u6587\u6863\uff0c\u4f53\u73b0\u4e86\u5bf9\u751f\u4ea7\u7ea7\u5e94\u7528\u6df1\u5ea6\u7684\u5173\u6ce8\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                docc2json\u7684\u8bde\u751f\uff0c\u7cbe\u51c6\u5730\u523a\u4e2d\u4e86\u82f9\u679c\u751f\u6001\u7e41\u8363\u8868\u8c61\u4e0b\u7684\u4e00\u4e2a\u9690\u79d8\u75db\u70b9\uff1a\u5c01\u95ed\u3002Apple DocC\u4f5c\u4e3a\u5b98\u65b9\u6587\u6863\u5de5\u5177\uff0c\u5728Xcode\u5185\u4f53\u9a8c\u6d41\u7545\uff0c\u4f46\u5176\u8f93\u51fa\u683c\u5f0f\u5b9e\u5219\u4e3a\u82f9\u679c\u81ea\u5bb6\u7684\u6e32\u67d3\u5668\u91cf\u8eab\u5b9a\u5236\uff0c\u5f62\u6210\u4e86\u4e00\u9053\u65e0\u5f62\u7684\u201c\u82b1\u56ed\u56f4\u5899\u201d\u3002\u8fd9\u6b3e\u5de5\u5177\u7684\u4ef7\u503c\uff0c\u7edd\u975e\u7b80\u5355\u7684\u683c\u5f0f\u8f6c\u6362\uff0c\u800c\u5728\u4e8e\u626e\u6f14\u4e86\u4e00\u4e2a\u201c\u7834\u58c1\u8005\u201d\u548c\u201c\u7ffb\u8bd1\u5b98\u201d\u7684\u89d2\u8272\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5b83\u7684\u771f\u6b63\u7280\u5229\u4e4b\u5904\u5728\u4e8e\u5176\u8bbe\u8ba1\u54f2\u5b66\uff1a\u4e0d\u66ff\u4ee3DocC\uff0c\u800c\u662f\u5c06\u5176\u89c6\u4e3a\u201c\u6e90\u683c\u5f0f\u201d\u3002\u8fd9\u5de7\u5999\u5730\u89c4\u907f\u4e86\u4e0e\u82f9\u679c\u5b98\u65b9\u5de5\u5177\u7684\u6b63\u9762\u7ade\u4e89\uff0c\u8f6c\u800c\u4e13\u6ce8\u4e8e\u6570\u636e\u89e3\u653e\u3002\u901a\u8fc7\u89e3\u6790DocC\u5e95\u5c42JSON\uff0c\u91cd\u6784\u65b9\u6cd5\u7b7e\u540d\u3001\u63d0\u53d6\u5b8c\u6574\u6587\u6863\u5185\u5bb9\u3001\u89e3\u6790\u7b26\u53f7\u5f15\u7528\uff0c\u5b83\u751f\u4ea7\u51fa\u7684\u662f\u4e00\u4efd\u5e72\u51c0\u3001\u7ed3\u6784\u5316\u3001\u9762\u5411SDK\u7684\u201c\u4e2d\u95f4\u4ef6\u201d\u6570\u636e\u3002\u8fd9\u4f7f\u5f97\u5f00\u53d1\u8005\u80fd\u591f\u5c06\u5b9d\u8d35\u7684\u6587\u6863\u8d44\u4ea7\uff0c\u65e0\u7f1d\u6ce8\u5165\u81ea\u5b9a\u4e49\u7684Web\u6587\u6863\u7ad9\u70b9\u3001IDE\u63d2\u4ef6\u6216\u5185\u90e8\u5206\u6790\u5e73\u53f0\uff0c\u4ece\u800c\u5728\u82f9\u679c\u7684\u751f\u6001\u95ed\u73af\u4e0a\u6253\u5f00\u4e86\u4e00\u4e2a\u5408\u89c4\u4e14\u9ad8\u6548\u7684\u51fa\u53e3\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u4e2d\u5173\u4e8e\u201c\u7b26\u53f7\u5173\u7cfb\u201d\u3001\u201c\u589e\u91cf\u66f4\u65b0\u201d\u7684\u63d0\u95ee\u53ef\u4ee5\u770b\u51fa\uff0c\u65e9\u671f\u5c1d\u9c9c\u8005\u5df2\u4e0d\u6ee1\u8db3\u4e8e\u6982\u5ff5\u9a8c\u8bc1\uff0c\u5f00\u59cb\u601d\u8003\u5176\u5728\u5927\u89c4\u6a21\u3001\u7248\u672c\u5316\u751f\u4ea7\u73af\u5883\u4e2d\u7684\u5e94\u7528\u3002\u8fd9\u65e2\u662f\u5bf9\u5176\u6f5c\u529b\u7684\u8ba4\u53ef\uff0c\u4e5f\u63ed\u793a\u4e86\u5176\u4e0b\u4e00\u9636\u6bb5\u7684\u6311\u6218\uff1a\u4ece\u201c\u80fd\u7528\u201d\u5230\u201c\u597d\u7528\u4e14\u53ef\u9760\u201d\u7684\u5de5\u7a0b\u5316\u6df1\u5316\u3002\u5de5\u5177\u5728\u901f\u5ea6\uff08\u79d2\u7ea7\u5904\u7406\u6570\u4e07\u6587\u4ef6\uff09\u548c\u7075\u6d3b\u6027\uff08\u8fc7\u6ee4\u3001\u5206\u7ec4\u914d\u7f6e\uff09\u4e0a\u7684\u4f18\u52bf\u662f\u826f\u597d\u7684\u8d77\u70b9\uff0c\u4f46\u8981\u5728\u4f01\u4e1a\u7ea7\u573a\u666f\u624e\u6839\uff0c\u5fc5\u987b\u5728\u6570\u636e\u4e00\u81f4\u6027\u3001\u53d8\u66f4\u8ffd\u8e2a\u548c\u4e0e\u73b0\u6709\u6587\u6863\u6d41\u6c34\u7ebf\u7684\u96c6\u6210\u6df1\u5ea6\u4e0a\u7ee7\u7eed\u9524\u70bc\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0cdocc2json\u662f\u5f00\u53d1\u8005\u5de5\u5177\u94fe\u4e13\u4e1a\u5316\u3001\u7cbe\u7ec6\u5316\u7684\u4e00\u4e2a\u7f29\u5f71\u3002\u5b83\u7784\u51c6\u4e86\u4e00\u4e2a\u8db3\u591f\u5782\u76f4\u3001\u82f9\u679c\u65e0\u6687\u987e\u53ca\uff08\u6216\u65e0\u610f\u5f00\u653e\uff09\u7684\u7f1d\u9699\u5e02\u573a\uff0c\u5176\u6210\u529f\u4e0e\u5426\uff0c\u5c06\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u5c06\u8fd9\u79cd\u5bf9\u201c\u5c01\u95ed\u6570\u636e\u201d\u7684\u89e3\u7801\u80fd\u529b\uff0c\u8f6c\u5316\u4e3a\u5f00\u53d1\u8005\u6587\u6863\u4f53\u9a8c\u81ea\u7531\u5ea6\u7684\u5b9e\u8d28\u6027\u63d0\u5347\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\">docc2json<\/span>\n                <\/div>\n<div class=\"comment-content\">Apple DocC is great inside Xcode, but hard to reuse elsewhere. docc2json parses DocC JSON output and converts it into a clean, structured SDK schema optimized for web documentation sites, IDE tooling, and analysis.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Apple DocC generates rich documentation, but its JSON output is tightly coupled to Apple\u2019s own renderer and difficult to reuse for custom documentation sites or tooling.<\/p>\n<p>docc2json is a fast Go CLI that parses DocC output (.doccarchive or processed docs folders) and converts it into a clean, structured JSON schema designed for SDK documentation outside Xcode.<\/p>\n<p>It focuses on:<br \/>\n\t\u2022\treconstructing real method signatures<br \/>\n\t\u2022\textracting complete documentation (abstracts, discussions, examples)<br \/>\n\t\u2022\tresolving cross-references between symbols<br \/>\n\t\u2022\tfiltering access levels and stdlib noise<br \/>\n\t\u2022\tproducing a schema that\u2019s easy to render, search, and analyze<\/p>\n<p>The goal isn\u2019t to replace DocC it\u2019s to treat DocC as a source format and make the data usable elsewhere.<\/p>\n<p>\t\u2022\tParses DocC JSON output from .doccarchive or docs\/data<br \/>\n\t\u2022\tGenerates a clean SDK-oriented JSON schema<br \/>\n\t\u2022\tReconstructs method signatures from DocC tokens<br \/>\n\t\u2022\tExtracts abstracts, discussions, examples, and code listings<br \/>\n\t\u2022\tFilters public API symbols (&#8211;public-only)<br \/>\n\t\u2022\tAutomatic Swift \/ Obj-C protocol unmangling<br \/>\n\t\u2022\tSmart filtering of stdlib protocols (Sendable, Equatable, etc.)<br \/>\n\t\u2022\tOptional inclusion of articles and tutorials<br \/>\n\t\u2022\tFlexible type grouping (prefix-based or YAML config)<br \/>\n\t\u2022\tFast parallel parsing (tens of thousands of files in &lt;1s)<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>This is cool. I should be able to use this. <\/p>\n<\/p>\n<p>How does this handle DocC symbol relationships and availability metadata across platforms, and can the generated JSON be incrementally updated to support versioned SDK docs without full reprocessing?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\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\/AU6JUU6QGL4CBA\" class=\"app-title\">FrickFrack<\/a><\/p>\n<div class=\"one-liner\">a minimalist social media experience<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">79<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>FrickFrack\u662f\u4e00\u6b3e\u901a\u8fc7\u5c06\u89c6\u9891\u81ea\u52a8\u8f6c\u5316\u4e3a\u590d\u53e4GameBoy\u98ce\u683c\uff08\u4f4e\u5206\u8fa8\u7387\u3001\u56db\u8272\u7eff\u8c03\uff09\u6765\u5021\u5bfc\u201c\u9650\u5236\u5b55\u80b2\u521b\u610f\u201d\u7684\u6781\u7b80\u793e\u4ea4\u5e94\u7528\uff0c\u4e3b\u8981\u6ee1\u8db3\u4e86\u7528\u6237\u5728\u8fc7\u5ea6\u8ffd\u6c42\u9ad8\u6e05\u5b8c\u7f8e\u7684\u793e\u4ea4\u73af\u5883\u4e2d\uff0c\u6e34\u671b\u8868\u8fbe\u590d\u53e4\u3001\u827a\u672f\u5316\u4e2a\u6027\u5e76\u4eab\u53d7\u521b\u4f5c\u4e50\u8da3\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\/d6e0c3fc-14c6-41aa-b69c-bed082cf5fc5.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6be3a7fb-f737-4703-ac8f-694d0bc0c5e6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/43353e86-24a8-463c-a4cf-0a6fffee7250.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4dbf8c5f-a7f2-4175-afd0-7be50d9c0efb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/feb89b2f-574e-47d8-a107-86b326c5fda2.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\">Social Media<\/span><br \/>\n            <span class=\"tag\">Video Art<\/span><br \/>\n            <span class=\"tag\">Video<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u6781\u7b80\u793e\u4ea4<\/span><br \/>\n            <span class=\"tag\">\u590d\u53e4\u6ee4\u955c<\/span><br \/>\n            <span class=\"tag\">\u521b\u610f\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u89c6\u9891\u7f16\u8f91<\/span><br \/>\n            <span class=\"tag\">\u6000\u65e7\u7f8e\u5b66<\/span><br \/>\n            <span class=\"tag\">\u9650\u5236\u6027\u521b\u4f5c<\/span><br \/>\n            <span class=\"tag\">\u6e38\u620f\u6587\u5316<\/span><br \/>\n            <span class=\"tag\">\u50cf\u7d20\u827a\u672f<\/span><br \/>\n            <span class=\"tag\">\u8f7b\u91cf\u5316\u5206\u4eab<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u53cb\u597d<\/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\u5c06\u9650\u5236\u8f6c\u5316\u4e3a\u521b\u610f\u7684\u6982\u5ff5\u4e0e\u7f8e\u5b66\u98ce\u683c\u3002\u4e3b\u8981\u7591\u95ee\u96c6\u4e2d\u4e8e\u9690\u79c1\u653f\u7b56\uff0c\u5f00\u53d1\u8005\u56de\u590d\u6f84\u6e05\u4e86\u89c6\u9891\u79c1\u5bc6\u6027\u3001\u6570\u636e\u6536\u96c6\u8303\u56f4\uff08\u4ec5\u767b\u5f55\u4fe1\u606f\uff09\u548c\u5185\u5bb9\u4f7f\u7528\u6743\uff0c\u5f3a\u8c03\u900f\u660e\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                FrickFrack\u7684\u806a\u660e\u4e4b\u5904\u5728\u4e8e\uff0c\u5b83\u7cbe\u51c6\u5730\u6355\u6349\u5e76\u5546\u54c1\u5316\u4e86\u5f53\u524d\u6570\u5b57\u6587\u5316\u4e2d\u7684\u4e00\u80a1\u9006\u6d41\uff1a\u5bf9\u201c\u4e0d\u5b8c\u7f8e\u201d\u7684\u6d6a\u6f2b\u5316\u6000\u65e7\u4e0e\u53cd\u6297\u201c\u8fc7\u5ea6\u4f18\u5316\u201d\u7684\u75b2\u60eb\u611f\u3002\u57284K\u3001HDR\u6210\u4e3a\u6807\u914d\u7684\u5f53\u4e0b\uff0c\u5b83\u53cd\u5176\u9053\u800c\u884c\u4e4b\uff0c\u5c06\u6280\u672f\u9650\u5236\uff08256&#215;256\u50cf\u7d20\u30014\u8272\uff09\u5305\u88c5\u4e3a\u6838\u5fc3\u5356\u70b9\u548c\u7f8e\u5b66\u98ce\u683c\uff0c\u8fd9\u4e0e\u5176\u8bf4\u662f\u4e00\u4e2a\u529f\u80fd\uff0c\u4e0d\u5982\u8bf4\u662f\u4e00\u4e2a\u9c9c\u660e\u7684\u6587\u5316\u5ba3\u8a00\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u771f\u6b63\u7684\u4ef7\u503c\u53ef\u80fd\u4e0d\u6b62\u4e8e\u4e00\u4e2a\u6709\u8da3\u7684\u6ee4\u955c\u6216\u793e\u4ea4\u73a9\u5177\u3002\u5b83\u8bd5\u56fe\u6784\u5efa\u4e00\u5957\u57fa\u4e8e\u201c\u7ea6\u675f\u201d\u7684\u521b\u4f5c\u54f2\u5b66\uff0c\u5e76\u4ee5\u6b64\u4f5c\u4e3a\u5dee\u5f02\u5316\u58c1\u5792\u3002\u8fd9\u6311\u6218\u4e86\u201c\u5de5\u5177\u8d8a\u5f3a\u5927\uff0c\u521b\u4f5c\u8d8a\u81ea\u7531\u201d\u7684\u56fa\u6709\u903b\u8f91\uff0c\u8f6c\u800c\u6697\u793a\u5728\u65e2\u5b9a\u89c4\u5219\u4e0b\u7684\u535a\u5f08\u66f4\u80fd\u6fc0\u53d1\u521b\u9020\u529b\u2014\u2014\u8fd9\u7c7b\u4f3c\u4e8e\u8bd7\u6b4c\u7684\u683c\u5f8b\u6216\u63a8\u7279\u65e9\u671f\u7684140\u5b57\u9650\u5236\u3002\u4ea7\u54c1\u80fd\u5426\u6210\u529f\uff0c\u53d6\u51b3\u4e8e\u5b83\u80fd\u5426\u5c06\u8fd9\u79cd\u201c\u9650\u5236\u201d\u4ece\u4e00\u79cd\u77ed\u6682\u7684\u5671\u5934\uff0c\u8f6c\u5316\u4e3a\u53ef\u6301\u7eed\u7684\u3001\u6709\u6df1\u5ea6\u7684\u793e\u533a\u6587\u5316\u3002\u5426\u5219\uff0c\u5b83\u6781\u6613\u6ca6\u4e3a\u4e00\u6b21\u6027\u4f53\u9a8c\u7684\u201c\u65b0\u5947\u5e94\u7528\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u8bc4\u8bba\u770b\uff0c\u7528\u6237\u88ab\u7f8e\u5b66\u548c\u6982\u5ff5\u5438\u5f15\uff0c\u4f46\u672c\u80fd\u5730\u5173\u5207\u9690\u79c1\uff0c\u8fd9\u63ed\u793a\u4e86\u5373\u4fbf\u5728\u8ffd\u6c42\u590d\u53e4\u8da3\u5473\u7684\u573a\u666f\u4e0b\uff0c\u5f53\u4ee3\u7528\u6237\u5bf9\u6570\u636e\u6743\u5229\u7684\u654f\u611f\u5ea6\u5e76\u672a\u964d\u4f4e\u3002\u5f00\u53d1\u8005\u76f4\u63a5\u3001\u900f\u660e\u7684\u56de\u5e94\u662f\u660e\u667a\u7684\uff0c\u7b26\u5408\u5176\u201c\u6781\u7b80\u201d\u8c03\u6027\uff0c\u4f46\u201c\u4fdd\u7559\u4f7f\u7528\u7528\u6237\u5185\u5bb9\u6743\u5229\u201d\u7684\u6761\u6b3e\u4ecd\u9700\u6f5c\u5728\u521b\u4f5c\u8005\u7559\u610f\u3002\u603b\u4f53\u800c\u8a00\uff0cFrickFrack\u662f\u4e00\u6b21\u6709\u8da3\u7684\u793e\u4f1a\u5b9e\u9a8c\uff0c\u5176\u957f\u671f\u6311\u6218\u5728\u4e8e\u5982\u4f55\u8ba9\u201c\u50cf\u7d20\u7eff\u6591\u201d\u5728\u65b0\u9c9c\u611f\u892a\u53bb\u540e\uff0c\u4f9d\u7136\u627f\u8f7d\u771f\u5b9e\u7684\u793e\u4ea4\u8868\u8fbe\u4e0e\u8fde\u63a5\uff0c\u800c\u975e\u4ec5\u4ec5\u662f\u5bf9\u4e00\u4e2a\u901d\u53bb\u79d1\u6280\u65f6\u4ee3\u7684\u6d45\u5c42\u6a21\u4eff\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\">FrickFrack<\/span>\n                <\/div>\n<div class=\"comment-content\">In a world of 4K perfection, FrickFrack celebrates the beauty of limitation. Every video you create is automatically transformed into a retro GameBoy-style masterpiece: 256&#215;256 pixels, a nostalgic 4-color green palette, and that unmistakable lo-fi aesthetic that defined a generation. &#8220;Constraint Breeds Creativity.&#8221; By limiting resolution, color, and duration, FrickFrack forces you to think differently. Every frame matters. Every movement counts. Ready to create something beautifully imperfect?<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>Love the concept turning limitations into creativity is such a fun twist. Feels like the perfect app for nostalgic, artsy vibes and making every tiny detail count.<\/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>Love the concept, the aesthetic is really nice. <\/p>\n<p>What&#8217;s the privacy situation? <\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@build_with_aj\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@build_with_aj<\/a>&nbsp;Not sure of which angle in the privacy situation, but I will try to answer generally.  Private videos are private (not seen on website or feeds).  I don&#8217;t collect any info except for login information (to authenticate).  Content generated is owned by the people creating it, but I reserve the right to use it &#8211; i.e. play the content on the app and on the website. This is all laid out in the TOS.  I&#8217;m gunning for transparency. :). Also, no video metadata (i.e. location et al) is collected.  I just grab the video and crush it down with ffmpeg.  Thanks for the comment \/ question.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\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\">#16<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/RSF37JVR3ZNCUM\" class=\"app-title\">Tempo<\/a><\/p>\n<div class=\"one-liner\">Universal Music Tracker,Stats, Pretty Visual Journal &#038; Story<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">79<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Tempo\u662f\u4e00\u6b3e\u5b89\u5353\u97f3\u4e50\u8ffd\u8e2a\u5e94\u7528\uff0c\u901a\u8fc7\u6574\u540820+\u97f3\u4e50\u5e73\u53f0\uff08\u5982Spotify\u3001YouTube Music\u3001\u672c\u5730\u6587\u4ef6\uff09\u7684\u64ad\u653e\u8bb0\u5f55\uff0c\u5728\u672c\u5730\u751f\u6210\u5b9e\u65f6\u201c\u5e74\u5ea6\u603b\u7ed3\u201d\u5f0f\u6570\u636e\u6d1e\u5bdf\u4e0e\u53ef\u89c6\u5316\u6545\u4e8b\u5361\u7247\uff0c\u89e3\u51b3\u4e86\u591a\u5e73\u53f0\u7528\u6237\u542c\u6b4c\u6570\u636e\u5206\u6563\u3001\u65e0\u6cd5\u7edf\u4e00\u56de\u987e\u4e0e\u5206\u4eab\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\/54bba3d3-f19e-4f99-897c-9bffa6d11b7b.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/1e3f237d-d5bb-4e21-a896-0d76ac8036db.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a69a3277-29b1-4061-966d-8aa7d4f67af0.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/4926a6ec-a789-4fa4-8c59-52df526c9185.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b256c1bc-6383-4d45-89fa-336aa191fdcb.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/6059c2c4-4a54-4664-ae3f-985d469df955.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/551fd343-dd59-4a00-923d-6eee9d4b7770.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\">Android<\/span><br \/>\n            <span class=\"tag\">Music<\/span><br \/>\n            <span class=\"tag\">Analytics<\/span><br \/>\n            <span class=\"tag\">GitHub<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u97f3\u4e50\u6570\u636e\u8ffd\u8e2a<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e73\u53f0\u805a\u5408<\/span><br \/>\n            <span class=\"tag\">\u542c\u6b4c\u7edf\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730\u5316\u9690\u79c1<\/span><br \/>\n            <span class=\"tag\">\u53ef\u89c6\u5316\u5e74\u5ea6\u603b\u7ed3<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u6d1e\u5bdf<\/span><br \/>\n            <span class=\"tag\">\u5b89\u5353\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u4e2a\u4eba\u97f3\u4e50\u65e5\u8bb0<\/span><br \/>\n            <span class=\"tag\">\u65e0\u793e\u4ea4\u8bbe\u8ba1<\/span><br \/>\n            <span class=\"tag\">\u5b9e\u65f6\u62a5\u544a<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u7528\u6237\u8ba4\u53ef\u201c\u6309\u9700\u751f\u6210\u5e74\u5ea6\u603b\u7ed3\u201d\u662f\u6740\u624b\u529f\u80fd\uff0c\u5e76\u8be2\u95ee\u60c5\u7eea\u5206\u6790\u7684\u6280\u672f\u5b9e\u73b0\uff08\u76ee\u524d\u4f9d\u8d56\u5143\u6570\u636e\uff0c\u97f3\u9891\u5206\u6790\u5904\u4e8e\u5b9e\u9a8c\u9636\u6bb5\uff09\u3002\u5f00\u53d1\u8005\u9610\u8ff0\u4e86\u4ea7\u54c1\u89e3\u51b3\u591a\u5e73\u53f0\u6570\u636e\u788e\u7247\u5316\u7684\u521d\u8877\u3002\u7528\u6237\u8d5e\u8d4f\u5176\u201c\u65e0\u4e2a\u4eba\u8d44\u6599\u3001\u65e0\u4fe1\u606f\u6d41\u201d\u7684\u9690\u79c1\u8bbe\u8ba1\uff0c\u5e76\u5efa\u8bae\u589e\u52a0\u957f\u671f\u53e3\u5473\u6f14\u53d8\u7b49\u66f4\u4e2a\u4eba\u5316\u7684\u53d9\u4e8b\u529f\u80fd\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                Tempo\u7684\u4ef7\u503c\u6838\u5fc3\u5e76\u975e\u6280\u672f\u7a81\u7834\uff0c\u800c\u5728\u4e8e\u5bf9\u201c\u6570\u636e\u4e3b\u6743\u201d\u4e0e\u201c\u79c1\u4eba\u5316\u4f53\u9a8c\u201d\u7684\u7cbe\u51c6\u62ff\u634f\u3002\u5728\u6d41\u5a92\u4f53\u5e73\u53f0\u5c06\u7528\u6237\u884c\u4e3a\u6570\u636e\u89c6\u4e3a\u79c1\u6709\u8d44\u4ea7\u5e76\u5468\u671f\u6027\u5730\uff08\u5982Spotify Wrapped\uff09\u4f5c\u4e3a\u8425\u9500\u793c\u7269\u8fd4\u8fd8\u7ed9\u7528\u6237\u7684\u65f6\u4ee3\uff0cTempo\u53cd\u5176\u9053\u800c\u884c\uff0c\u5c06\u6570\u636e\u91c7\u96c6\u3001\u8ba1\u7b97\u4e0e\u5448\u73b0\u7684\u6240\u6709\u6743\u5f7b\u5e95\u5f52\u8fd8\u7528\u6237\u3002\u5176\u201c\u65e0\u540e\u7aef\u201d\u67b6\u6784\u548c\u672c\u5730\u5b58\u50a8\uff0c\u662f\u5bf9\u5f53\u524d\u4e91\u670d\u52a1\u4fe1\u4efb\u5371\u673a\u7684\u4e00\u79cd\u56de\u5e94\uff0c\u8fce\u5408\u4e86\u9ad8\u9690\u79c1\u654f\u611f\u7528\u6237\u7684\u9700\u6c42\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u5de7\u5999\u5730\u5c06\u201c\u5e74\u5ea6\u603b\u7ed3\u201d\u8fd9\u4e00\u6781\u5177\u4f20\u64ad\u529b\u7684\u5f62\u5f0f\u65e5\u5e38\u5316\u3001\u79c1\u6709\u5316\uff0c\u89e3\u6784\u4e86\u5e73\u53f0\u65b9\u7684\u4eea\u5f0f\u611f\u5784\u65ad\uff0c\u6ee1\u8db3\u4e86\u7528\u6237\u5bf9\u81ea\u6211\u97f3\u4e50\u8eab\u4efd\u5373\u65f6\u63a2\u7d22\u4e0e\u5206\u4eab\u7684\u6e34\u671b\u3002\u7136\u800c\uff0c\u5176\u6df1\u5c42\u6311\u6218\u5728\u4e8e\uff1a\u7b2c\u4e00\uff0c\u6570\u636e\u6e90\u7684\u88ab\u52a8\u4f9d\u8d56\u3002\u5b83\u901a\u8fc7\u76d1\u542c\u5b89\u5353\u5a92\u4f53\u901a\u77e5\u83b7\u53d6\u6570\u636e\uff0c\u6b64\u65b9\u5f0f\u5728\u7cfb\u7edf\u6743\u9650\u6536\u7d27\u80cc\u666f\u4e0b\u5b58\u5728\u7a33\u5b9a\u6027\u98ce\u9669\uff0c\u4e14\u5206\u6790\u6df1\u5ea6\u53d7\u9650\u4e8e\u6e90\u5e94\u7528\u7684\u5143\u6570\u636e\u8d28\u91cf\u3002\u7b2c\u4e8c\uff0c\u4ef7\u503c\u5929\u82b1\u677f\u3002\u5728\u89e3\u51b3\u6570\u636e\u805a\u5408\u4e0e\u53ef\u89c6\u5316\u5448\u73b0\u540e\uff0c\u4ea7\u54c1\u7684\u957f\u671f\u5438\u5f15\u529b\u53ef\u80fd\u4f9d\u8d56\u4e8e\u201c\u6d1e\u5bdf\u201d\u7684\u6df1\u5ea6\u3002\u5f53\u524d\u63d0\u5230\u7684\u60c5\u7eea\u3001\u4eba\u683c\u6807\u7b7e\u82e5\u4ec5\u57fa\u4e8e\u5143\u6570\u636e\uff0c\u5219\u6d41\u4e8e\u8868\u9762\uff1b\u82e5\u60f3\u901a\u8fc7\u97f3\u9891\u5206\u6790\u6df1\u5316\uff0c\u5219\u9762\u4e34\u672c\u5730\u7b97\u529b\u4e0e\u9690\u79c1\u8fb9\u754c\u7684\u6743\u8861\uff08\u5982\u5b9e\u9a8c\u6027\u529f\u80fd\u9700\u5916\u9001\u97f3\u9891\u7247\u6bb5\uff09\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u672c\u8d28\u4e0a\uff0cTempo\u662f\u4e00\u6b3e\u4f18\u79c0\u7684\u201c\u4e2a\u4eba\u6570\u636e\u4eea\u8868\u76d8\u201d\uff0c\u4f46\u5b83\u6240\u5bf9\u6297\u7684\u662f\u5c01\u95ed\u7684\u751f\u6001\u56f4\u5899\u3002\u5b83\u7684\u6210\u529f\uff0c\u4e0d\u4ec5\u53d6\u51b3\u4e8e\u81ea\u8eab\u4f53\u9a8c\uff0c\u66f4\u53d6\u51b3\u4e8e\u5b89\u5353\u7cfb\u7edf\u80fd\u5426\u6301\u7eed\u5141\u8bb8\u8fd9\u79cd\u8de8\u5e94\u7528\u7684\u6570\u636e\u6c11\u4e3b\u5316\u8bbf\u95ee\u3002\u5176\u672a\u6765\u4e4b\u8def\uff0c\u5728\u4e8e\u5982\u4f55\u5c06\u51b0\u51b7\u7684\u7edf\u8ba1\uff0c\u8f6c\u5316\u4e3a\u66f4\u5177\u6e29\u5ea6\u3001\u66f4\u5177\u53d9\u4e8b\u6027\u7684\u4e2a\u4eba\u97f3\u4e50\u751f\u547d\u8bb0\u5f55\uff0c\u4ece\u800c\u8d85\u8d8a\u201c\u7edf\u8ba1\u5de5\u5177\u201d\uff0c\u6210\u4e3a\u771f\u6b63\u7684\u201c\u6570\u5b57\u97f3\u4e50\u4f34\u4fa3\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\">Tempo<\/span>\n                <\/div>\n<div class=\"comment-content\">Tempo tracks listening across 20+ Android music apps (Spotify, YouTube Music, local files) and unifies it into one timeline. Get &#8220;Wrapped-style&#8221; insights in real-time for any range\u2014today, week, month, all time\u2014plus cinematic story cards built for sharing. All data stays local (no backend), with export\/import and Google Drive backup. Connecting Spotify is optional and only for metadata. Deep stats include discovery dates, fan badges, engagement scores, moods, and listening personalities.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The idea of having &#8216;Wrapped-style&#8217; insights on demand is a killer feature. Waiting until December always felt arbitrary anyway. I&#8217;m curious about the &#8216;moods&#8217; feature\u2014does it analyze the audio features\/lyrics locally to determine the mood, or does it rely on metadata tags from the source app?<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>1<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p><a href=\"https:\/\/www.producthunt.com\/@yoang_loo\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@yoang_loo<\/a>&nbsp; For now it rely on metadata, but we also have extended audio analysis, which download and send 30 second song preview to ReccoBeats to analyse mood but currently its on experiment phase and not working properly.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Hunters\ud83d\udc4b<\/p>\n<p>I\u2019m Avinash, a student developer and the maker of Tempo.<\/p>\n<p>Tempo started from a really basic frustration: on Android, almost every \u201cserious\u201d music stats app assumes you\u2019re on Spotify. If you split your listening between YouTube Music, local files, or other players, your history gets fragmented or just isn\u2019t tracked. Tempo exists to fix that.<br \/>\n\u200b<\/p>\n<p>Instead of tracking accounts, Tempo tracks listening. It watches what you actually play across 20+ Android music apps and unifies everything into one timeline \u2014 then turns that into real-time, \u201cWrapped-style\u201d insights and cinematic story cards you can share when you feel like it. No profiles, no followers, no feeds.<br \/>\n\u200b<\/p>\n<p>A few things I\u2019m personally excited about:<\/p>\n<p>Real-time stats for any range (today \/ week \/ month \/ all time) instead of waiting for December.<br \/>\n\u200b<\/p>\n<p>Deep insights like discovery timelines, fan badges, engagement scores, moods, and listening personalities.<br \/>\n\u200b<\/p>\n<p>A strict privacy model: local Room database, no servers, and full export\/import + backup so your listening history stays yours.<br \/>\n\u200b<\/p>\n<p>I\u2019d love your feedback on two questions:<\/p>\n<p>What\u2019s one stat or insight you wish your current music service showed, but doesn\u2019t?<\/p>\n<p>If you mix services (Spotify, YouTube Music, local, etc.), what\u2019s the biggest pain in keeping your history together?<br \/>\n\u200b<\/p>\n<p>Happy to answer anything about how it works under the hood, the privacy decisions, or the design\/story system. Thanks for checking out Tempo \u2764\ufe0f<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>The \u201cno profiles, no feeds\u201d choice is refreshing. Turning listening history into a private visual journal instead of another social graph feels intentional, especially with everything staying local.<\/p>\n<\/p>\n<p>How you\u2019re thinking about long-term storytelling, like how someone\u2019s taste evolves over years, not just stats snapshots.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<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\/@russell_dou\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">@russell_dou<\/a>&nbsp;Your idea is great. We are moving slowly, but we will introduce something more personal. Your kind feedback will always help us improve.<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#17<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/DOJF74G2SQI76E\" class=\"app-title\">Stenox<\/a><\/p>\n<div class=\"one-liner\">Your voice, perfectly transcribed in every app &#038; browser<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">74<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Stenox\u662f\u4e00\u6b3emacOS\u667a\u80fd\u8bed\u97f3\u542c\u5199\u5de5\u5177\uff0c\u53ef\u5728\u4efb\u4f55\u5e94\u7528\u6216\u6d4f\u89c8\u5668\u4e2d\u5b9e\u73b0\u9ad8\u7cbe\u5ea6\u8f6c\u5f55\uff0c\u901a\u8fc7\u672c\u5730\u6216\u4e91\u7aef\u65b9\u6848\u89e3\u51b3\u7528\u6237\u5bf9\u9690\u79c1\u3001\u7075\u6d3b\u6027\u4e0e\u8de8\u573a\u666f\u8bed\u97f3\u8f93\u5165\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\/4080b235-59ce-4a43-bb49-3120405798d6.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/f332d5a1-9598-4d25-9937-6eb1687da0d9.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Mac<\/span><br \/>\n            <span class=\"tag\">Productivity<\/span><br \/>\n            <span class=\"tag\">Menu Bar Apps<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u8bed\u97f3\u8f6c\u5f55<\/span><br \/>\n            <span class=\"tag\">\u542c\u5199\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">macOS\u5e94\u7528<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4fdd\u62a4<\/span><br \/>\n            <span class=\"tag\">\u672c\u5730AI<\/span><br \/>\n            <span class=\"tag\">\u8de8\u5e94\u7528\u8f93\u5165<\/span><br \/>\n            <span class=\"tag\">\u751f\u4ea7\u529b\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u81ea\u5b9a\u4e49\u8bcd\u6c47<\/span><br \/>\n            <span class=\"tag\">\u4e91\u7aef\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u7f16\u8f91<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u5f00\u53d1\u8005\u81ea\u8ff0\u4e3a\u89e3\u51b3\u81ea\u8eab\u5de5\u4f5c\u6d41\u9700\u6c42\u800c\u521b\u5efa\uff0c\u5f3a\u8c03\u7075\u6d3b\u6027\u4e0e\u6027\u4ef7\u6bd4\u3002\u7528\u6237\u8ba4\u53ef\u5176\u81ea\u5b9a\u4e49\u8bcd\u6c47\u548c\u573a\u666f\u914d\u7f6e\u65b9\u5411\uff0c\u5e76\u5efa\u8bae\u672a\u6765\u53ef\u6df1\u5316\u5bf9\u8bed\u97f3\u8bed\u8c03\u3001\u610f\u56fe\uff08\u5982\u533a\u5206\u7b14\u8bb0\u3001\u90ae\u4ef6\u3001\u4ee3\u7801\u6ce8\u91ca\uff09\u7684\u4e0a\u4e0b\u6587\u611f\u77e5\u80fd\u529b\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                Stenox\u5728\u62e5\u6324\u7684\u8bed\u97f3\u8f6c\u5f55\u8d5b\u9053\u4e2d\uff0c\u770b\u4f3c\u662f\u53c8\u4e00\u4e2a\u201cWhisper\u672c\u5730\u90e8\u7f72+\u591a\u4e91\u7aef\u96c6\u6210\u201d\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u4f46\u5176\u771f\u6b63\u950b\u8292\u5728\u4e8e\u8bd5\u56fe\u7834\u89e3\u884c\u4e1a\u957f\u671f\u5b58\u5728\u7684\u201c\u9690\u79c1\u3001\u6210\u672c\u3001\u4fbf\u6377\u6027\u201d\u4e0d\u53ef\u80fd\u4e09\u89d2\u3002\u4ea7\u54c1\u901a\u8fc7\u201c\u672c\u5730\/BYOK\/\u81ea\u6709\u4e91\u201d\u4e09\u7ea7\u67b6\u6784\uff0c\u5c06\u6570\u636e\u4e3b\u6743\u9009\u62e9\u6743\u4ea4\u8fd8\u7528\u6237\uff0c\u8fd9\u4e0d\u4ec5\u662f\u529f\u80fd\u5dee\u5f02\uff0c\u66f4\u662f\u5bf9\u5f53\u524dAI\u5e94\u7528\u9690\u79c1\u7126\u8651\u7684\u7cbe\u51c6\u72d9\u51fb\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u6df1\u5c42\u4ef7\u503c\u6216\u8bb8\u4e0d\u5728\u4e8e\u8f6c\u5f55\u672c\u8eab\uff0c\u800c\u5728\u4e8e\u8bd5\u56fe\u6210\u4e3a\u7cfb\u7edf\u7ea7\u7684\u8bed\u97f3\u8f93\u5165\u5c42\u3002\u5176\u201c\u57fa\u4e8e\u5e94\u7528\u81ea\u52a8\u5207\u6362\u914d\u7f6e\u201d\u7684\u8bbe\u8ba1\uff0c\u6697\u793a\u4e86\u4ece\u5355\u4e00\u5de5\u5177\u5411\u81ea\u9002\u5e94\u8f93\u5165\u7ba1\u9053\u7684\u6f14\u8fdb\u91ce\u5fc3\u3002\u8fd9\u76f4\u51fb\u4e86\u5f53\u524d\u8bed\u97f3\u8f93\u5165\u7684\u6838\u5fc3\u77ed\u677f\u2014\u2014\u7f3a\u4e4f\u4e0a\u4e0b\u6587\u611f\u77e5\u3002\u6b63\u5982\u7528\u6237\u6240\u6307\u51fa\u7684\uff0c\u771f\u6b63\u7684\u667a\u80fd\u4e0d\u5e94\u6b62\u4e8e\u5220\u6389\u201c\u55ef\u554a\u201d\uff0c\u800c\u5e94\u80fd\u6839\u636e\u4f60\u5728\u5199\u4ee3\u7801\u8fd8\u662f\u5199\u90ae\u4ef6\uff0c\u81ea\u52a8\u8c03\u6574\u8bed\u8a00\u98ce\u683c\u4e0e\u683c\u5f0f\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5f53\u524d\u7248\u672c\u7684\u6838\u5fc3\u77db\u76fe\uff0c\u5728\u4e8e\u5176\u201c\u5168\u529f\u80fd\u514d\u8d39\u201d\u7684\u6fc0\u8fdb\u7b56\u7565\u4e0e\u53ef\u6301\u7eed\u5546\u4e1a\u6a21\u5f0f\u4e4b\u95f4\u7684\u60ac\u800c\u672a\u51b3\u3002\u672c\u5730\u8ba1\u7b97\u867d\u4fdd\u62a4\u9690\u79c1\uff0c\u4f46\u5bf9\u786c\u4ef6\u6027\u80fd\u7684\u9690\u6027\u8981\u6c42\u53ef\u80fd\u5c06\u90e8\u5206\u7528\u6237\u63a8\u5411\u5176\u4e91\u7aef\u670d\u52a1\uff0c\u8fd9\u6216\u662f\u5176\u672a\u6765\u7684\u8425\u6536\u4f0f\u7b14\u3002\u4ea7\u54c1\u82e5\u6b62\u6b65\u4e8e\u201c\u66f4\u9690\u79c1\u3001\u66f4\u7075\u6d3b\u7684\u542c\u5199\u201d\uff0c\u5219\u6613\u9677\u5165\u529f\u80fd\u7ade\u4e89\u7ea2\u6d77\uff1b\u82e5\u80fd\u6df1\u8015\u4e0a\u4e0b\u6587\u611f\u77e5\uff0c\u771f\u6b63\u7406\u89e3\u7528\u6237\u5728\u4e0d\u540c\u573a\u666f\u4e0b\u7684\u8868\u8fbe\u610f\u56fe\uff0c\u624d\u6709\u673a\u4f1a\u4ece\u201c\u8f93\u5165\u5de5\u5177\u201d\u5347\u7ea7\u4e3a\u201c\u8ba4\u77e5\u534f\u4f5c\u4f19\u4f34\u201d\u3002\u5176\u6210\u8d25\u5173\u952e\uff0c\u5728\u4e8e\u80fd\u5426\u5c06\u201c\u573a\u666f\u914d\u7f6e\u201d\u4ece\u624b\u52a8\u89c4\u5219\uff0c\u8fdb\u5316\u4e3a\u7531AI\u9a71\u52a8\u7684\u52a8\u6001\u610f\u56fe\u8bc6\u522b\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\">Stenox<\/span>\n                <\/div>\n<div class=\"comment-content\">Stenox is smart voice dictation for macOS. Dictate anywhere\u2014any app, any browser, any text field. Run smart transcription locally with Whisper and MLX, use popular cloud providers with your own API keys, or try Stenox Cloud. Speech is automatically cleaned up\u2014filler words removed, formatting applied. Add custom vocabulary for names and jargon. Create profiles that auto-switch based on your active app. Your data stays private,on-device, or per the api key&#8217;s privacy policy.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Guys,<\/p>\n<p>I work in voice AI\/ML. When I needed a tool to speed up my dev and daily workflow, I couldn&#8217;t find one that was flexible on price without sacrificing quality. So I created stenox to speed up my workflow\u2014vibe coding, journaling, brainstorming. While offering flexibility and affordability at all levels.  Stenox is competitive with more features in the works.<\/p>\n<p>There are 3 ways to run it:<\/p>\n<p>  \u2022 Local \u2014 on-device, audio never leaves your Mac<br \/>\n  \u2022 BYOK \u2014 your own API keys<br \/>\n  \u2022 Stenox Cloud \u2014 just works <\/p>\n<p> Generous free tier to try with access to all features. How are you using voice in your daily workflow? And what&#8217;s currently missing.<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>2<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<div class=\"comment-replies\">\n<div class=\"reply-item\">\n<div class=\"reply-content\">\n<p>This looks solid. Voice is fastest when context is preserved \u2014 custom vocab + profiles feel like the right direction. Hope to see deeper tone or intent awareness over time (notes vs emails vs code comments).<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                                <span>\u25b2<\/span><br \/>\n                                <span>0<\/span>\n                            <\/div>\n<p>                            <span>\u56de\u590d<\/span>\n                        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#18<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/U72A4BC5RNINBB\" class=\"app-title\">Agihalo<\/a><\/p>\n<div class=\"one-liner\">LLM Router for A.I Agent &#038; Saas with x402<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">69<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Agihalo\u662f\u4e00\u4e2aLLM\u8def\u7531\u5de5\u5177\uff0c\u901a\u8fc7\u96c6\u6210X402\u652f\u4ed8\u534f\u8bae\uff0c\u4f7fAI Agent\u80fd\u81ea\u52a8\u5904\u7406LLM\u6a21\u578b\u8c03\u7528\u8d39\u7528\uff0c\u65e8\u5728\u89e3\u51b3AI\u4ee3\u7406\u5bf9\u4f20\u7edf\u6cd5\u5e01\u652f\u4ed8\u7cfb\u7edf\u7684\u4f9d\u8d56\u95ee\u9898\uff0c\u5b9e\u73b0\u5176\u7ecf\u6d4e\u81ea\u4e3b\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                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/aa70e973-c901-4ff8-bad0-fd2d0a9aca53.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/9b282840-6391-45f1-8a86-13264456a057.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/bc89d489-4416-4340-b4c7-60f3fe955a24.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Developer Tools<\/span><br \/>\n            <span class=\"tag\">Blockchain<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">AI Agent\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">LLM\u8def\u7531<\/span><br \/>\n            <span class=\"tag\">\u53bb\u4e2d\u5fc3\u5316\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">\u533a\u5757\u94fe\u96c6\u6210<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">\u5f00\u53d1\u8005\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u81ea\u52a8\u5316\u652f\u4ed8<\/span><br \/>\n            <span class=\"tag\">Web3<\/span><br \/>\n            <span class=\"tag\">\u6a21\u578b\u6210\u672c\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">\u667a\u80fd\u4f53\u7ecf\u6d4e<\/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\u6781\u5c11\u3002\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u7591\u4f3c\u5b98\u65b9\u5f15\u5bfc\u7684\u8bc4\u8bba\uff0c\u5185\u5bb9\u4e3a\u63a8\u5e7f\u5176\u6d4b\u8bd5\u7248\u5e76\u63d0\u4f9b\u6298\u6263\uff0c\u7f3a\u4e4f\u771f\u5b9e\u7528\u6237\u5173\u4e8e\u4ea7\u54c1\u529f\u80fd\u3001\u4f53\u9a8c\u6216\u4ef7\u503c\u7684\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                Agihalo\u63d0\u51fa\u4e86\u4e00\u4e2a\u9887\u5177\u91ce\u5fc3\u7684\u6982\u5ff5\uff1a\u901a\u8fc7X402\u534f\u8bae\u4e3aAI Agent\u6784\u5efa\u53bb\u4e2d\u5fc3\u5316\u7684\u652f\u4ed8\u5c42\uff0c\u8bd5\u56fe\u5c06AI\u4ee3\u7406\u4ece\u201c\u4eba\u7c7b\u6cd5\u5e01\u7cfb\u7edf\u201d\u4e2d\u89e3\u653e\u51fa\u6765\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u4e3b\u5f20\u5728\u4e8e\u201c\u81ea\u52a8\u5316\u201d\u4e0e\u201c\u81ea\u4e3b\u5316\u201d\uff0c\u5ba3\u79f0\u7528\u4e00\u884c\u4ee3\u7801\u5373\u53ef\u8ba9Agent\u81ea\u4e3b\u652f\u4ed8LLM\u8c03\u7528\u8d39\u7528\uff0c\u8fd9\u76f4\u51fb\u4e86\u5f53\u524dAI\u5e94\u7528\u5f00\u53d1\u4e2d\u6a21\u578b\u6210\u672c\u7ba1\u7406\u4e0e\u652f\u4ed8\u6d41\u7a0b\u7e41\u7410\u7684\u75db\u70b9\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u4ea7\u54c1\u5448\u73b0\u51fa\u7684\u201c\u6982\u5ff5\u5148\u884c\u201d\u7279\u5f81\u6781\u4e3a\u660e\u663e\u3002\u9996\u5148\uff0cX402\u534f\u8bae\u672c\u8eab\u7684\u5e02\u573a\u8ba4\u77e5\u5ea6\u548c\u751f\u6001\u6210\u719f\u5ea6\u5b58\u7591\uff0c\u8fd9\u4e3a\u5176\u5ba3\u79f0\u7684\u201c\u53bb\u4e2d\u5fc3\u5316\u652f\u4ed8\u8f68\u9053\u201d\u5960\u5b9a\u4e86\u4e0d\u7a33\u5b9a\u7684\u57fa\u7840\u3002\u5176\u6b21\uff0c\u5176\u6807\u8bed\u548c\u4ecb\u7ecd\u5145\u65a5\u7740\u201cMake Agent Free\u201d\u7b49\u5b8f\u5927\u53d9\u4e8b\uff0c\u4f46\u5177\u4f53\u5982\u4f55\u5b9e\u73b0\u6280\u672f\u7ec6\u8282\u3001\u5b89\u5168\u673a\u5236\u3001\u6210\u672c\u4f18\u52bf\u4ee5\u53ca\u5bf9\u4e3b\u6d41LLM API\u7684\u5b9e\u9645\u517c\u5bb9\u6027\uff0c\u5747\u8bed\u7109\u4e0d\u8be6\u3002\u8fd9\u66f4\u50cf\u662f\u4e00\u4e2a\u57fa\u4e8e\u533a\u5757\u94fe\u53d9\u4e8b\u7684\u6846\u67b6\u8bbe\u60f3\uff0c\u800c\u975e\u4e00\u4e2a\u5373\u62ff\u5373\u7528\u7684\u6210\u719f\u5de5\u5177\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ece\u4ec5\u6709\u7684\u8bc4\u8bba\u6765\u770b\uff0c\u793e\u533a\u5e76\u672a\u5bf9\u5176\u6838\u5fc3\u7406\u5ff5\u5c55\u5f00\u8ba8\u8bba\uff0c\u53cd\u9988\u771f\u7a7a\uff0c\u8fd9\u8fdb\u4e00\u6b65\u5370\u8bc1\u4e86\u4ea7\u54c1\u53ef\u80fd\u4ecd\u5904\u4e8e\u975e\u5e38\u65e9\u671f\u7684\u9636\u6bb5\uff0c\u6216\u5e02\u573a\u5bf9\u5176\u5b9e\u9645\u6548\u7528\u6301\u89c2\u671b\u6001\u5ea6\u3002\u771f\u6b63\u7684\u6311\u6218\u5728\u4e8e\uff0c\u5b83\u9700\u8981\u540c\u65f6\u5728\u4e24\u4e2a\u8270\u96be\u7684\u524d\u6cbf\u9886\u57df\u53d6\u5f97\u7a81\u7834\uff1a\u4e00\u662f\u8ba9\u5f00\u53d1\u8005\u63a5\u53d7\u5176\u65b0\u7684\u652f\u4ed8\u534f\u8bae\u96c6\u6210\uff0c\u4e8c\u662f\u8bc1\u660e\u8fd9\u79cd\u6a21\u5f0f\u5728\u7a33\u5b9a\u6027\u548c\u6210\u672c\u4e0a\u4f18\u4e8e\u6210\u719f\u7684\u73b0\u6709\u4e91\u652f\u4ed8\u65b9\u6848\u3002\u82e5\u4e0d\u80fd\u8de8\u8d8a\u8fd9\u4e24\u5ea7\u5927\u5c71\uff0c\u5b83\u53ef\u80fd\u53ea\u662f\u4e00\u4e2a\u7cbe\u5de7\u7684\u6280\u672f\u6982\u5ff5\uff0c\u96be\u4ee5\u5728\u52a1\u5b9e\u7684\u5f00\u53d1\u8005\u793e\u533a\u548cAI\u5e94\u7528\u5e02\u573a\u4e2d\u624e\u6839\u3002\u5176\u771f\u6b63\u7684\u4ef7\u503c\uff0c\u4e0d\u5728\u4e8e\u53e3\u53f7\u5f0f\u7684\u201c\u89e3\u653e\u201d\uff0c\u800c\u5728\u4e8e\u80fd\u5426\u63d0\u4f9b\u4e00\u4e2a\u771f\u6b63\u66f4\u9ad8\u6548\u3001\u66f4\u5ec9\u4ef7\u3001\u66f4\u53ef\u9760\u7684Agent\u7ecf\u6d4e\u57fa\u7840\u8bbe\u65bd\u3002\u76ee\u524d\u770b\u6765\uff0c\u4efb\u91cd\u9053\u8fdc\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\">Agihalo<\/span>\n                <\/div>\n<div class=\"comment-content\">LLM Router for AI Agents with X402 http:\/\/agihalo.com The inception of a decentralized agent organization begins with decentralizing the payment dependency of LLM models. Integrate the HALO router to allow AI Agents to break free from human fiat payment systems and autonomously handle LLM payments\u2014their potential life source\u2014on the X402 rail. Automate X402 payments easily with just one line of code. MAKE AGENT FREE<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Join our beta now and get 20% off Gemini models.<br \/>\nplease upvote<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>0<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"app-card\">\n<div class=\"app-header\">\n<div class=\"rank\">#19<\/div>\n<div class=\"title-group\">\n            <a href=\"https:\/\/www.producthunt.com\/r\/CKE2F5XFB7ZWYD\" class=\"app-title\">Amalga<\/a><\/p>\n<div class=\"one-liner\">Hire Smarter. Ramp Faster. Serve Better.<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">55<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>Amalga\u662f\u4e00\u6b3e\u5229\u7528AI\u89d2\u8272\u626e\u6f14\u548c\u771f\u5b9e\u573a\u666f\u6a21\u62df\uff0c\u5728\u5ba2\u670d\u53ca\u9500\u552e\u56e2\u961f\u7684\u62db\u8058\u4e0e\u4e0a\u5c97\u524d\u9636\u6bb5\uff0c\u4e3b\u52a8\u8bc4\u4f30\u5019\u9009\u4eba\u80fd\u529b\u5e76\u57f9\u8bad\u5750\u5e2d\uff0c\u4ee5\u9884\u9632\u800c\u975e\u4e8b\u540e\u4fee\u590d\u670d\u52a1\u95ee\u9898\u7684SaaS\u5de5\u5177\u3002<\/div>\n<p>    <!-- \u5a92\u4f53\u753b\u5eca\uff1a\u5305\u542b\u89c6\u9891\u548c\u591a\u5f20\u56fe\u7247 --><\/p>\n<div class=\"media-gallery\">\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/63452eed-cf93-48e3-b5cc-bc61435b7fae.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/3052975f-ebe1-4ca3-a2ad-9b451b57bb89.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/b33103eb-d502-498a-b533-453c79a3d290.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<\/p><\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">Hiring<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u5ba2\u6237\u4f53\u9a8c\u7ba1\u7406<\/span><br \/>\n            <span class=\"tag\">AI\u62db\u8058\u8bc4\u4f30<\/span><br \/>\n            <span class=\"tag\">\u5750\u5e2d\u57f9\u8bad<\/span><br \/>\n            <span class=\"tag\">\u4e3b\u52a8\u5f0f\u8d28\u91cf\u4fdd\u8bc1<\/span><br \/>\n            <span class=\"tag\">\u89d2\u8272\u626e\u6f14\u6a21\u62df<\/span><br \/>\n            <span class=\"tag\">SaaS<\/span><br \/>\n            <span class=\"tag\">\u4eba\u529b\u8d44\u6e90\u79d1\u6280<\/span><br \/>\n            <span class=\"tag\">\u5bf9\u8bdd\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u53d1\u97f3\u7ea0\u6b63<\/span><br \/>\n            <span class=\"tag\">\u9884\u4e0a\u5c97\u57f9\u8bad<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u521b\u59cb\u4eba\u4eb2\u8ff0\u4ea7\u54c1\u6e90\u4e8e\u5176\u4eb2\u8eab\u7ecf\u5386\uff0c\u76f4\u6307\u884c\u4e1a\u5728\u62db\u8058\u548c\u5165\u804c\u73af\u8282\u7684\u6ede\u540e\u6027\u75db\u70b9\u3002\u53e6\u4e00\u6761\u9ad8\u8d5e\u8bc4\u8bba\u8ba4\u4e3a\u8be5\u4ea7\u54c1\u5bf9\u65e5\u7a0b\u7e41\u5fd9\u7684\u56e2\u961f\u975e\u5e38\u91cd\u8981\u3002\u76ee\u524d\u8bc4\u8bba\u4ee5\u652f\u6301\u548c\u8ba4\u53ef\u4ea7\u54c1\u7406\u5ff5\u4e3a\u4e3b\uff0c\u6682\u672a\u53d1\u73b0\u5177\u4f53\u95ee\u9898\u6216\u529f\u80fd\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                Amalga\u63d0\u51fa\u7684\u201c\u4ece\u53cd\u5e94\u5f0fQA\u5230\u4e3b\u52a8\u5f0f\u51c6\u5907\u201d\u7684\u7406\u5ff5\uff0c\u786e\u5b9e\u5207\u4e2d\u4e86\u5ba2\u6237\u4f53\u9a8c\uff08CX\uff09\u7ba1\u7406\u9886\u57df\u4e00\u4e2a\u957f\u671f\u5b58\u5728\u7684\u7ed3\u6784\u6027\u75db\u70b9\uff1a\u6210\u672c\u524d\u7f6e\u4e0e\u95ee\u9898\u540e\u7f6e\u7684\u77db\u76fe\u3002\u4f20\u7edf\u6a21\u5f0f\u5c06\u5927\u91cf\u8d44\u6e90\u6d88\u8017\u5728\u4e8b\u540e\u8865\u6551\u4e0e\u8d28\u91cf\u68c0\u67e5\u4e0a\uff0c\u800c\u6700\u5173\u952e\u7684\u201c\u4eba\u201d\u7684\u7b5b\u9009\u4e0e\u521d\u671f\u57f9\u517b\u73af\u8282\uff0c\u5374\u9ad8\u5ea6\u4f9d\u8d56\u4e3b\u89c2\u5224\u65ad\u548c\u6ede\u540e\u53cd\u9988\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u5176\u771f\u6b63\u4ef7\u503c\u4e0d\u5728\u4e8e\u201cAI\u8bc4\u4f30\u201d\u8fd9\u4e00\u6280\u672f\u6807\u7b7e\uff0c\u800c\u5728\u4e8e\u8bd5\u56fe\u91cd\u6784CX\u56e2\u961f\u7684\u4eba\u529b\u8d44\u6e90\u5de5\u4f5c\u6d41\u3002\u5b83\u5c06\u8d28\u91cf\u63a7\u5236\u7684\u8282\u70b9\u4ece\u201c\u4e0a\u5c97\u540e\u201d\u5927\u5e45\u524d\u7f6e\u81f3\u201c\u62db\u8058\u4e2d\u201d\u548c\u201c\u4e0a\u5c97\u524d\u201d\uff0c\u901a\u8fc7\u6a21\u62df\u5b9e\u6218\u8fdb\u884c\u538b\u529b\u6d4b\u8bd5\u3002\u8fd9\u4e0d\u4ec5\u53ef\u80fd\u964d\u4f4e\u9ad8\u8fbe\u6570\u4e07\u7f8e\u91d1\u7684\u574f\u62db\u8058\u6210\u672c\uff0c\u66f4\u5173\u952e\u7684\u662f\uff0c\u5b83\u7784\u51c6\u4e86\u201c\u672a\u7136\u201d\u72b6\u6001\u2014\u2014\u5728\u7cdf\u7cd5\u7684\u5ba2\u6237\u4f53\u9a8c\u53d1\u751f\u4e4b\u524d\u5c31\u5c06\u5176\u963b\u65ad\u3002\u8fd9\u76f8\u5f53\u4e8e\u4e3a\u4f01\u4e1a\u7684\u5ba2\u6237\u670d\u52a1\u6d41\u7a0b\u5b89\u88c5\u4e86\u4e00\u4e2a\u201c\u9884\u68c0\u8fc7\u6ee4\u5668\u201d\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u6210\u529f\u4e0e\u5426\u5c06\u9762\u4e34\u4e24\u5927\u6838\u5fc3\u8003\u9a8c\uff1a\u4e00\u662f\u5176AI\u6a21\u62df\u60c5\u666f\u7684\u201c\u771f\u5b9e\u6027\u201d\u4e0e\u201c\u6709\u6548\u6027\u201d\u80fd\u5426\u5f97\u5230\u5e7f\u6cdb\u8ba4\u53ef\uff0c\u8fd9\u76f4\u63a5\u5173\u7cfb\u5230\u8bc4\u4f30\u7ed3\u679c\u7684\u4fe1\u670d\u529b\uff1b\u4e8c\u662f\u5b83\u9700\u8981\u6df1\u5ea6\u5d4c\u5165\u4f01\u4e1a\u7684\u62db\u8058\u6d41\u7a0b\uff0c\u6539\u53d8HR\u3001\u8fd0\u8425\u56e2\u961f\u7684\u4f20\u7edf\u5de5\u4f5c\u4e60\u60ef\uff0c\u8fd9\u79cd\u6d41\u7a0b\u53d8\u9769\u7684\u963b\u529b\u5f80\u5f80\u5927\u4e8e\u6280\u672f\u5e94\u7528\u672c\u8eab\u3002\u6b64\u5916\uff0c\u5c06\u4eba\u7684\u80fd\u529b\u8fdb\u884c\u91cf\u5316\u8bc4\u4f30\uff0c\u59cb\u7ec8\u5b58\u5728\u8bef\u5224\u548c\u7b97\u6cd5\u504f\u5dee\u7684\u98ce\u9669\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u603b\u4f53\u800c\u8a00\uff0cAmalga\u5c55\u73b0\u4e86\u4e00\u4e2a\u9887\u5177\u6d1e\u5bdf\u529b\u7684\u65b9\u5411\uff0c\u5373\u7528\u6280\u672f\u624b\u6bb5\u5c06\u7ba1\u7406\u52a8\u4f5c\u4ece\u201c\u7ea0\u6b63\u201d\u8f6c\u5411\u201c\u5851\u9020\u201d\u3002\u4f46\u5b83\u80fd\u5426\u4ece\u201c\u4eae\u773c\u6982\u5ff5\u201d\u6210\u957f\u4e3a\u201c\u5fc5\u5907\u57fa\u7840\u8bbe\u65bd\u201d\uff0c\u53d6\u51b3\u4e8e\u5176\u4ea7\u54c1\u5728\u5177\u4f53\u573a\u666f\u4e2d\u7684\u6e17\u900f\u6df1\u5ea6\u4e0e\u5b9e\u6d4b\u6548\u679c\uff0c\u8fdc\u975e\u4e00\u6b21\u6027\u7684AI\u8bc4\u5206\u6240\u80fd\u51b3\u5b9a\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\">Amalga<\/span>\n                <\/div>\n<div class=\"comment-content\">Most CX tools fix problems after customers feel them. Amalga prevents them. Amalga AI evaluates candidates before hire and coach agents before they go live\u2014across conversation quality and pronunciation. It\u2019s a shift from reactive QA to proactive readiness, built from firsthand experience in support and CX leadership.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">\n<p>\ud83d\udc4b Hi Product Hunt \u2014 I\u2019m Vadi, founder of Amalga.<\/p>\n<p>I built Amalga after seeing the same pattern repeat itself for years across customer support, sales, and CX teams: we try to fix problems with coaching far too late, when the real mistakes and missed opportunities actually happen much earlier \u2014 during hiring and onboarding.<\/p>\n<p>Teams spend weeks onboarding agents, and only after they go live do we discover whether they can handle real customer conversations. By then, the cost is already sunk \u2014 time, money, customers, and morale. A <strong>single bad CX hire can cost $20K\u2013$30K+ annually<\/strong> once you factor in onboarding, lost productivity, rework, customer churn, and attrition.<\/p>\n<p>I experienced this firsthand early in my career as a support agent, and later as a product leader watching teams struggle with broken hiring, patchy onboarding, and guesswork coaching.<\/p>\n<p>Amalga exists to change that.<\/p>\n<p>We help teams hire smarter, ramp faster, and serve customers better by using AI-powered role-play and real-world simulations to evaluate candidates before hire and coach agents before mistakes ever reach customers.<\/p>\n<p>I\u2019d love your feedback, questions, and ideas.<\/p>\n<p>Thanks for checking it out \ud83d\ude4f<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>35<\/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 imp products for the teams who have hell amount of busy schedule<\/p>\n<\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>18<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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\/BZGXZ6HVX6F6QB\" class=\"app-title\">BaoBrain v2<\/a><\/p>\n<div class=\"one-liner\">Prescriptive social listening for ecommerce<\/div>\n<\/p><\/div>\n<div class=\"vote-btn\">\n<div class=\"vote-arrow\">\u25b2<\/div>\n<div class=\"vote-count\">34<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"one-liner\"><strong>\u4e00\u53e5\u8bdd\u4ecb\u7ecd\uff1a<\/strong>BaoBrain v2\u662f\u4e00\u6b3e\u9762\u5411\u7535\u5546\u7684\u8f6c\u5316\u667a\u80fd\u5e73\u53f0\uff0c\u901a\u8fc7\u68c0\u6d4b\u7528\u6237\u4f53\u9a8c\u6469\u64e6\u70b9\u3001\u76d1\u542c\u793e\u4ea4\u5a92\u4f53\u8206\u60c5\u5e76\u63d0\u4f9bAI\u9a71\u52a8\u7684\u8bca\u65ad\u6e05\u5355\uff0c\u76f4\u63a5\u544a\u8bc9\u5546\u5bb6\u5e94\u4f18\u5148\u4fee\u590d\u54ea\u4e9b\u95ee\u9898\u4ee5\u63d0\u5347\u6536\u5165\uff0c\u89e3\u51b3\u4e86\u7535\u5546\u5e97\u4e3b\u9762\u5bf9\u6d77\u91cf\u6570\u636e\u4e0d\u77e5\u4ece\u4f55\u4e0b\u624b\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\/a2a98e89-09a5-4db2-8c6f-f799a7ede60e.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/eab03b79-f448-441e-8942-d9a1ab0224d2.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/ad58c151-ed87-40dc-ab38-0e1e4654f7aa.png?auto=format\" class=\"media-content\" alt=\"\u4ea7\u54c1\u56fe\u7247\">\n            <\/div>\n<div class=\"media-item-wrapper\">\n                <img decoding=\"async\" src=\"https:\/\/ph-files.imgix.net\/a93eab45-4e00-4eaa-a0b9-041eae988be3.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\">Kanye West<\/span><br \/>\n            <span class=\"tag\">Artificial Intelligence<\/span><br \/>\n            <span class=\"tag\">E-Commerce<\/span>\n        <\/div>\n<div class=\"tags-container\">\n<p>            <span class=\"tag\">\u7535\u5546\u5206\u6790\u5de5\u5177<\/span><br \/>\n            <span class=\"tag\">\u8f6c\u5316\u7387\u4f18\u5316<\/span><br \/>\n            <span class=\"tag\">\u7528\u6237\u4f53\u9a8c\u68c0\u6d4b<\/span><br \/>\n            <span class=\"tag\">\u793e\u4ea4\u8046\u542c<\/span><br \/>\n            <span class=\"tag\">AI\u8bca\u65ad<\/span><br \/>\n            <span class=\"tag\">\u6536\u5165\u589e\u957f<\/span><br \/>\n            <span class=\"tag\">\u65e0\u4ee3\u7801\u5206\u6790<\/span><br \/>\n            <span class=\"tag\">\u9690\u79c1\u4f18\u5148<\/span><br \/>\n            <span class=\"tag\">\u6570\u636e\u9a71\u52a8\u51b3\u7b56<\/span><br \/>\n            <span class=\"tag\">Prescriptive AI<\/span>\n        <\/div>\n<div class=\"reviews-section\">\n<div class=\"review-item\">\n<div class=\"review-bubble\">\n                <strong>\u7528\u6237\u8bc4\u8bba\u6458\u8981\uff1a<\/strong>\u76ee\u524d\u4ec5\u6709\u4e00\u6761\u521b\u59cb\u4eba\u53d1\u5e03\u7684\u4ea7\u54c1\u4ecb\u7ecd\u8bc4\u8bba\uff0c\u5c1a\u65e0\u771f\u5b9e\u7528\u6237\u53cd\u9988\u3002\u8be5\u8bc4\u8bba\u91cd\u70b9\u9610\u8ff0\u4e86\u4ea7\u54c1\u4eceV1\u5230V2\u7684\u8fed\u4ee3\u903b\u8f91\u2014\u2014\u4ece\u544a\u77e5\u201c\u53d1\u751f\u4e86\u4ec0\u4e48\u201d\u8f6c\u5411\u544a\u77e5\u201c\u5e94\u5148\u4fee\u590d\u4ec0\u4e48\u201d\uff0c\u5e76\u4e3b\u52a8\u5f81\u96c6\u7528\u6237\u5bf9AI\u5efa\u8bae\u7684\u660e\u786e\u6027\u3001\u5f15\u5bfc\u6d41\u7a0b\u53ca\u4ea7\u54c1\u7f3a\u5931\u529f\u80fd\u7684\u610f\u89c1\u3002\n            <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"ai-section\">\n<div class=\"ai-content\" style=\"font-size: large;\"><strong>AI \u9510\u8bc4<\/strong><\/div>\n<p class=\"ai-content\">\n                BaoBrain v2\u7684\u53d9\u4e8b\u4ece\u201c\u5206\u6790\u201d\u8f6c\u5411\u201c\u5904\u65b9\u201d\uff0c\u76f4\u51fb\u4e86\u5f53\u524dSaaS\u5de5\u5177\uff0c\u5c24\u5176\u662f\u6570\u636e\u5206\u6790\u7c7b\u4ea7\u54c1\u7684\u6838\u5fc3\u8f6f\u808b\uff1a\u6570\u636e\u8fc7\u8f7d\u4e0e\u884c\u52a8\u7f3a\u5931\u3002\u5b83\u4e3a\u4e2d\u5c0f\u7535\u5546\u5e97\u4e3b\u63d0\u4f9b\u7684\uff0c\u672c\u8d28\u4e0a\u662f\u4e00\u4e2a\u201c\u9996\u5e2d\u589e\u957f\u5b98\u201d\u7684\u51b3\u7b56\u4ee3\u7406\u670d\u52a1\uff0c\u5c06\u590d\u6742\u7684\u7528\u6237\u884c\u4e3a\u6570\u636e\u3001\u5916\u90e8\u8206\u60c5\u4e0e\u6536\u5165\u5f71\u54cd\u76f4\u63a5\u6302\u94a9\uff0c\u8f93\u51fa\u4f18\u5148\u7ea7\u6e05\u5355\u3002\u8fd9\u6bd4\u4f20\u7edf\u770b\u677f\u5de5\u5177\u524d\u8fdb\u4e86\u4e00\u5927\u6b65\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u7136\u800c\uff0c\u5176\u5ba3\u79f0\u7684\u4ef7\u503c\u5b58\u5728\u51e0\u5904\u5f85\u9a8c\u8bc1\u7684\u786c\u4f24\u3002\u9996\u5148\uff0c\u201c\u7cbe\u51c6\u5b9a\u4f4d\u6d41\u5931\u70b9\u201d\u9ad8\u5ea6\u4f9d\u8d56\u5176\u6570\u636e\u57cb\u70b9\u7684\u6df1\u5ea6\u4e0e\u89e3\u91ca\u6a21\u578b\u7684\u51c6\u786e\u6027\uff0c\u5bf9\u4e8e\u7ed3\u6784\u590d\u6742\u6216\u7528\u6237\u8def\u5f84\u591a\u53d8\u7684\u5e97\u94fa\uff0c\u5176\u201c\u5904\u65b9\u201d\u662f\u5426\u4f1a\u5bfc\u81f4\u8bef\u8bca\uff1f\u5176\u6b21\uff0c\u5c06Reddit\u3001Twitter\u7b49\u5f00\u653e\u5e73\u53f0\u7684\u201c\u793e\u4ea4\u8046\u542c\u201d\u4e0e\u5e97\u94fa\u6536\u5165\u76f4\u63a5\u5173\u8054\uff0c\u5176\u5f52\u56e0\u6a21\u578b\u662f\u5426\u7ecf\u5f97\u8d77\u63a8\u6572\uff1f\u8fd9\u5f88\u53ef\u80fd\u9677\u5165\u76f8\u5173\u6027\u800c\u975e\u56e0\u679c\u6027\u7684\u9677\u9631\u3002\u6700\u540e\uff0c\u4e5f\u662f\u6700\u5927\u7684\u6311\u6218\u5728\u4e8e\uff0c\u5176AI\u7684\u201c\u5904\u65b9\u201d\u80fd\u529b\u8fb9\u754c\u5728\u54ea\u91cc\uff1f\u7535\u5546\u4f18\u5316\u6d89\u53ca\u4ea7\u54c1\u3001\u5b9a\u4ef7\u3001\u4f53\u9a8c\u3001\u8425\u9500\u7b49\u591a\u7ef4\u5ea6\uff0c\u4e00\u4e2a\u5de5\u5177\u80fd\u5426\u771f\u6b63\u7406\u89e3\u5546\u4e1a\u5168\u8c8c\u5e76\u7ed9\u51fa\u6b63\u786e\u6392\u5e8f\uff1f\u8fd9\u9700\u8981\u6781\u5176\u6df1\u539a\u7684\u884c\u4e1a\u77e5\u8bc6\u56fe\u8c31\u4e0e\u5b9e\u6218\u9a8c\u8bc1\u3002\n            <\/p>\n<p class=\"ai-content\">\n                \u4ea7\u54c1\u76ee\u524d34\u7968\u7684\u5173\u6ce8\u5ea6\u4e0e\u96f6\u771f\u5b9e\u7528\u6237\u8bc4\u8bba\u7684\u72b6\u6001\uff0c\u4e5f\u8bf4\u660e\u5176\u4ecd\u5904\u4e8e\u975e\u5e38\u65e9\u671f\u7684\u5e02\u573a\u9a8c\u8bc1\u9636\u6bb5\u3002\u521b\u59cb\u4eba\u7684\u5766\u8bda\uff08\u5f81\u96c6\u5bf9AI\u5efa\u8bae\u662f\u5426\u201c\u592a\u9738\u9053\u201d\u6216\u201c\u592a\u6a21\u7cca\u201d\u7684\u53cd\u9988\uff09\u662f\u4eae\u70b9\uff0c\u4f46\u8fd9\u6070\u6070\u66b4\u9732\u4e86Prescriptive AI\u4ea7\u54c1\u5f53\u524d\u9762\u4e34\u7684\u666e\u904d\u56f0\u5883\uff1a\u5728\u201c\u63d0\u4f9b\u660e\u786e\u6307\u5bfc\u201d\u4e0e\u201c\u5c0a\u91cd\u5546\u4e1a\u590d\u6742\u6027\u201d\u4e4b\u95f4\u5982\u4f55\u53d6\u5f97\u5e73\u8861\u3002\u5982\u679c\u5b83\u6700\u7ec8\u53ea\u80fd\u7ed9\u51fa\u201c\u4f18\u5316\u7ed3\u8d26\u6309\u94ae\u201d\u8fd9\u7c7b\u6d45\u5c42\u5efa\u8bae\uff0c\u5176\u4ef7\u503c\u5c06\u5927\u6253\u6298\u6263\u3002\u771f\u6b63\u7684\u8003\u9a8c\u5728\u4e8e\uff0c\u5b83\u80fd\u5426\u5728\u5c11\u6570\u6848\u4f8b\u4e2d\uff0c\u7ed9\u51fa\u53cd\u76f4\u89c9\u4f46\u771f\u6b63\u6709\u6548\u7684\u5173\u952e\u5efa\u8bae\uff0c\u4ece\u800c\u5efa\u7acb\u53e3\u7891\u3002\u8fd9\u662f\u4e00\u6761\u9ad8\u6f5c\u529b\u7684\u8d5b\u9053\uff0c\u4f46BaoBrain v2\u4ecd\u9700\u7528\u5b9e\u9645\u6848\u4f8b\u8bc1\u660e\u81ea\u5df1\u4e0d\u662f\u53e6\u4e00\u4e2a\u201c\u667a\u80fd\u201d\u5305\u88c5\u4e0b\u7684\u5e38\u89c4\u62a5\u544a\u5de5\u5177\u3002\n            <\/p>\n<\/p><\/div>\n<div class=\"comments-section\">\n<div class=\"comments-toggle\">\n            <span>\u67e5\u770b\u539f\u59cb\u4fe1\u606f<\/span><br \/>\n            <span class=\"toggle-arrow\">\u25bc<\/span>\n        <\/div>\n<div class=\"comments-container\">\n<div class=\"comment-item\">\n<div class=\"comment-header\">\n                    <span class=\"comment-author\">BaoBrain v2<\/span>\n                <\/div>\n<div class=\"comment-content\">BaoBrain is now a Conversion Intelligence Platform. Instead of just &#8220;what happened,&#8221; we answer &#8220;what should I fix first?&#8221; New Features: UX &#038; Sales Detection: Pinpoints exactly where you lose customers. Social Listening: Monitors Reddit and reviews for sentiment. Prescriptive AI: Gives a descriptive fix list ranked by revenue impact. No messy dashboards. Just clear steps to grow your bottom line. Privacy-first, GDPR compliant, and setup takes minutes.<\/div>\n<\/p><\/div>\n<p>            <!-- \u8bc4\u8bba\u5217\u8868 --><\/p>\n<div class=\"comment-item\">\n<div class=\"comment-content\">Hey Product Hunt!<br \/>\nBack in October, I launched BaoBrain as an AI analytics tool. You gave me great feedback\u2014and I listened.<br \/>\nHere&#8217;s what changed:<br \/>\nMost stores lose 60-80% of visitors before checkout. My first version told you what happened. V2 tells you what to fix first.<\/p>\n<p>New in v2:<br \/>\n\ud83d\udd0d Friction Detection &#8211; See where shoppers rage click, get stuck, drop off<br \/>\n\ud83c\udfa7 Social Listening &#8211; Know what customers say on Reddit, Twitter, reviews<br \/>\n\ud83e\udd16 Prescriptive AI &#8211; Ranked fix list by revenue impact, not just data<br \/>\nWhy I rebuilt it:<br \/>\nI interviewed 20+ small store owners. None of them wanted &#8220;better analytics.&#8221; They wanted: &#8220;Just tell me what&#8217;s broken and how to fix it.&#8221;<br \/>\nSo that&#8217;s what v2 does.<br \/>\nTry it:<a href=\"https:\/\/baobrain.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/baobrain.com\/<\/a><br \/>\nWould love your feedback on: <a href=\"https:\/\/baobrain.com\/ContactUs\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https:\/\/baobrain.com\/ContactUs<\/a><\/p>\n<p>The prescriptive recommendations (too bossy? too vague?)<br \/>\nOnboarding flow<br \/>\nWhat&#8217;s missing?<\/p>\n<p>Thanks for the support on v1. Let&#8217;s make v2 even better \ud83d\ude80<\/p><\/div>\n<div class=\"comment-actions\">\n<div class=\"comment-vote\">\n                        <span>\u25b2<\/span><br \/>\n                        <span>32<\/span>\n                    <\/div>\n<p>                    <span>\u56de\u590d<\/span>\n                <\/div>\n<\/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-01-03 PH\u70ed\u699c | 2026-01-03 #1 Flux  [&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-92","post","type-post","status-publish","format-standard","hentry","category-producthunt"],"_links":{"self":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/92","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=92"}],"version-history":[{"count":0,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/posts\/92\/revisions"}],"wp:attachment":[{"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/media?parent=92"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/categories?post=92"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ph.listeningo.cn\/index.php\/wp-json\/wp\/v2\/tags?post=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}