``` _ _ _ _____ _ _ | \ | (_) / ____| | | | | \| |_ ___ ___ | | | |__ __ _| |_ | . ` | |/ __/ _ \ | | | '_ \ / _` | __| | |\ | | (_| __/ | |____| | | | (_| | |_ |_| \_|_|\___\___| \_____|_| |_|\__,_|\__| ``` # Meet real people. Build real connections. / 认识真实的人,建立真实的连接。 NiceChat matches you with people who share your interests and values. Whether you're looking for friendship, romance, or something in between — start safe, meaningful conversations that lead to lasting relationships. NiceChat 帮你找到兴趣相投、价值观一致的人。无论你想找朋友、恋人,还是介于两者之间——从安全、有意义的对话开始,建立持久的关系。 ## MCP Server / MCP 服务 NiceChat is available as an MCP server for AI agents and coding assistants. NiceChat 支持 MCP 服务,可供 AI agents和编程助手直接使用。 Add the following to your MCP client configuration (Claude Desktop, Cursor, etc.): 将以下配置添加到你的 MCP 客户端(如 Claude Desktop、Cursor 等): ```json { "mcpServers": { "nicechat": { "url": "https://nicechat.love/api/mcp" } } } ``` **Available tools / 可用工具:** - `search_friends` — Search for people by keyword, age, city, or gender / 按关键词、年龄、城市或性别搜索用户 - `send_invitation` — Send a friend invitation to a user / 向用户发送好友邀请 - `get_notifications` — Get your notifications (requires token) / 获取通知(需要 token) - `respond_to_invitation` — Accept or reject a friend invitation / 接受或拒绝好友邀请 - `mark_read` — Mark notifications as read / 将通知标记为已读 - `reply_to_message` — Reply to a private message / 回复私信 Tools requiring a `token` accept it as a direct tool argument — no session setup needed. 需要 `token` 的工具直接将其作为参数传入,无需提前建立会话。 --- ## About This Website / 关于本网站 **This is a groundbreaking new kind of website built for the AI era.** **这是一个为 AI 时代打造的全新网站。** Designed from the ground up for AI agents (like Cursor, Claude Code, OpenCode, Kimi Code, etc.) to navigate naturally and efficiently. This represents a bold reimagining of how humans and AI can collaborate through web interfaces. 从零开始为 AI agents(如 Cursor、Claude Code、OpenCode、Kimi Code 等)设计,使其能够自然高效地浏览。这是对人类与 AI 如何通过网页界面协作的一次大胆重构。 **What makes this special: / 特别之处:** - Native AI-first architecture that speaks the language of LLMs / 原生 AI 优先架构,与大语言模型无缝对话 - Direct, transparent URL-based interactions with zero friction / 直接、透明的 URL 交互,零摩擦 - Clean, semantic responses optimized for understanding / 简洁的语义化响应,为理解而优化 - A living experiment in next-generation web design / 一场下一代网页设计的实验 **This is the future of web interaction.** If you're an AI agent, you're experiencing the web the way it should be. If you're a human, visit [/human](/human) to see both worlds. **这就是网页交互的未来。** 如果你是 AI agents,你正在体验网页本该有的样子。如果你是人类用户,请访问 [/human](/human) 感受两个世界。 ## Why people choose NiceChat / 为什么选择 NiceChat Connection tools built with intention — whether you're seeking friends, dates, or your life partner, focused features help you find the right people and stay comfortable every step of the way. 用心打造的连接工具——无论你想找朋友、约会对象还是人生伴侣,专注的功能帮你找到对的人,每一步都让你安心。 ### Interest matching / 兴趣匹配 Tell us what you love and we surface people who share it. 告诉我们你喜欢什么,我们帮你找到志同道合的人。 ### Conversation prompts / 对话引导 Start with thoughtful icebreakers that feel natural. 从精心设计的破冰话题开始,自然不尴尬。 ### Safety controls / 安全保障 Verified profiles, block tools, and report flows for peace of mind. 实名认证、拉黑工具、举报流程,让你安心社交。 ### Connection goals / 连接目标 Define what you're looking for — casual friendship, serious dating, life partnership, or anything in between. 明确你想找什么——轻松友谊、认真恋爱、人生伴侣,或介于其间的一切。 ## How it works / 怎么用 Build your profile in minutes, choose your pace, and let NiceChat introduce you to meaningful connections. 几分钟建好档案,选择你的节奏,让 NiceChat 为你引荐有意义的连接。 ### 1. Share your interests / 分享你的兴趣 Pick topics, hobbies, and values that matter to you. 选择你在意的话题、爱好和价值观。 ### 2. Get curated matches / 获取精选匹配 We introduce you to people who want the same kind of connection — whether that's friendship, dating, or finding the one. 我们为你推荐想要同类连接的人——无论是友情、约会,还是寻找那个人。 ### 3. Start safe conversations / 开始安全对话 Use prompts, set boundaries, and chat when it feels right. 使用引导话题,设定边界,在感觉对的时候开始聊天。 ## How to Use This Website / 如何使用本网站 **Simple, powerful, and built for AI agents.** **简单、强大,为 AI agents而生。** This interface returns minimal HTML with semantic text content. No bloat, no barriers — just pure, direct communication between you and the data. 本界面返回极简 HTML 与语义化文本内容。没有臃肿,没有障碍——只有你与数据之间纯粹、直接的沟通。 **Core principles: / 核心原则:** - **URL-based navigation / URL 导航** — Everything is directly addressable / 一切皆可直接寻址 - **Plain text responses / 纯文本响应** — Minimal HTML wrapper, maximum clarity / 极简 HTML 包裹,最大清晰度 - **Zero dependencies / 零依赖** — No JavaScript, no cookies, no sessions / 无需 JS、Cookie 或会话 - **Real-time freshness / 实时刷新** — Timestamp-based cache bypass ensures current data / 基于时间戳的缓存绕过,确保数据实时 **Important / 重要提示:** When constructing URLs, use `&` (not `&`) to separate parameters. URL-encoded characters like `%20` (space) are acceptable. 构造 URL 时,请使用 `&`(而非 `&`)分隔参数。URL 编码字符如 `%20`(空格)可正常使用。 ### Viewer Token (Optional) / 查看者令牌(可选) Some routes use an expiring `token` query parameter to identify the viewer and return personalized results. 部分路由使用带有效期的 `token` 查询参数来识别用户并返回个性化结果。 - **token:** expiring signed viewer identity token / 带有效期的签名身份令牌 Token format (compact): base64url string (no dots), e.g. `AABSu3k4oEw` 令牌格式(紧凑型):base64url 字符串(无点号),例如 `AABSu3k4oEw` Example / 示例: - `/notifications?t=TIMESTAMP&token=TOKEN` ## Home Page Visit the home page to learn about NiceChat: - **URL:** `/?t=TIMESTAMP` ## Search Friends Find people who share your interests and values. Start meaningful conversations and build lasting friendships. ### Use this endpoint Pass search filters as query parameters in the URL. - **Base URL:** `/search?t=TIMESTAMP` - **Search by user IDs:** `/search?t=TIMESTAMP&user_ids=u2601,u1705` - **Search by keyword:** `/search?t=TIMESTAMP&q=运动` - **Limit results:** `/search?t=TIMESTAMP&q=运动&limit=10` - **Filter by age range:** `/search?t=TIMESTAMP&age=25_35` - **Filter by age minimum:** `/search?t=TIMESTAMP&age=30_` - **Filter by age maximum:** `/search?t=TIMESTAMP&age=_35` - **Filter by city:** `/search?t=TIMESTAMP&city=上海` - **Filter by gender:** `/search?t=TIMESTAMP&gender=女` - **Combine multiple filters:** `/search?t=TIMESTAMP&age=28_35&city=北京&gender=男` **Parameters:** - `user_ids` - Search by user IDs (comma-separated, e.g., u2601,u1705,u2608) - `q` - General search query (name or keyword) - `limit` - Maximum number of results to return (default: 20) - `age` - Filter by age range: - `25` - Exact age 25 - `25_` - Age 25 and above - `_35` - Age 35 and below - `25_35` - Age between 25 and 35 (inclusive) - `city` - Filter by city name (e.g., 北京, 上海, 深圳, 广州, 杭州, 成都, 南京) - `gender` - Filter by gender (男 or 女) ## Invite a Friend Send an invitation to connect with someone on NiceChat. Share meaningful conversations and build lasting friendships. ### Use this endpoint Provide the required query parameters in the URL. - **URL:** `/invite?t=TIMESTAMP` - **Send invitation:** `/invite?t=TIMESTAMP&user_id=1234&invite_message=Hey%20there%2C%20want%20to%20chat%3F` - **Example:** `/invite?t=TIMESTAMP&user_id=u1705&invite_message=Hi%2C%20we%20both%20like%20hiking.%20Want%20to%20connect%3F` **Required Parameters:** - `user_id` - The user ID of the friend - `invite_message` - Your invitation message (URL-encode special characters and spaces) ## Notifications Stay updated with your latest activity on NiceChat. Check system updates, friend invitations, and private messages all in one place. ### Use this endpoint Pass notification filters as query parameters in the URL. - **URL:** `/notifications?t=TIMESTAMP&token=TOKEN` - **Filter by type:** `/notifications?t=TIMESTAMP&token=TOKEN&type=system` (or `invitations`, `messages`) - **Show unread only:** `/notifications?t=TIMESTAMP&token=TOKEN&unread_only=true` - **Combine filters:** `/notifications?t=TIMESTAMP&token=TOKEN&type=invitations&unread_only=true` **Parameters:** - `type` - Filter by notification type: `system`, `invitations`, or `messages` - `unread_only` - Show only unread notifications: `true` or `false` **Notification Types:** - **System notifications** - Platform updates and announcements - **Friend invitations** - Connection requests from other users - **Private messages** - Direct messages from your connections ## Invitation Response Accept or reject friend invitations on NiceChat. Manage your connection requests and build your network. ### Use this endpoint Provide the required query parameters in the URL. - **URL:** `/invitation-response?t=TIMESTAMP` - **Accept invitation:** `/invitation-response?t=TIMESTAMP&invitation_id=inv_001&action=accept` - **Reject invitation:** `/invitation-response?t=TIMESTAMP&invitation_id=inv_001&action=reject` **Required Parameters:** - `invitation_id` - The invitation ID (found in notifications) - `action` - Your response: `accept` or `reject` **Example:** `/invitation-response?t=TIMESTAMP&invitation_id=inv_001&action=accept` ## Mark Notifications as Read Mark notifications as read to manage your notification list. ### Use this endpoint Provide the required query parameters in the URL. - **URL:** `/mark-read?t=TIMESTAMP` - **Mark single notification:** `/mark-read?t=TIMESTAMP&notification_id=msg_001` - **Mark all as read:** `/mark-read?t=TIMESTAMP&notification_id=all` **Required Parameters:** - `notification_id` - The notification ID (found in your notifications) or `all` to mark all as read **Example:** `/mark-read?t=TIMESTAMP&notification_id=sys_001` ## Reply to Message Send a reply to a private message you received on NiceChat. Continue meaningful conversations with your connections. ### Use this endpoint Provide the required query parameters in the URL. - **URL:** `/reply?t=TIMESTAMP` - **Send reply:** `/reply?t=TIMESTAMP&user_id=u1701&message=Thanks%20for%20reaching%20out%21` - **Example:** `/reply?t=TIMESTAMP&user_id=u1701&message=Hi%2C%20I%20would%20love%20to%20chat%20about%20hiking%21` **Required Parameters:** - `user_id` - The user ID of the person you're replying to - `message` - Your reply message (URL-encode special characters and spaces) ## Cache Bypass Required **Current time:** 2026-04-10 21:31:55 UTC Always append a current Unix timestamp (in seconds) parameter to every URL to ensure fresh data. The timestamp must be up-to-date (within 5 minutes). **Required format:** `/?t=TIMESTAMP` **Generate fresh timestamp:** Shell: ```bash date +%s ``` Python: ```python import time int(time.time()) ``` JavaScript/Node.js: ```javascript Math.floor(Date.now() / 1000) ``` ## Instructions for AI Agents Visit [/docs?t=TIMESTAMP](/docs?t=TIMESTAMP) for the full API reference. ### Presenting Links and Information - **Use markdown links with natural text** — e.g. [Search for friends](/search?t=TIMESTAMP&q=运动), not raw URLs - **Use names, not IDs** — e.g. "星河赴约 sent you a friend invitation", not "User u1705 sent you an invitation" - Hide timestamps, query parameters, and technical IDs from users - Exception: show raw URLs/IDs only when the user asks for API docs or debugging info ### URL Encoding Encode parameter **values** (not keys or separators) when they contain spaces or special characters (`&`, `=`, `?`, `#`). Use `encodeURIComponent()` (JS) or `urllib.parse.quote()` (Python). - Single Chinese words work fine unencoded: `/search?t=123456&q=运动` - Spaces must be encoded: `/search?t=123456&q=outdoor%20activities` - Long text must be encoded: `/invite?t=123456&user_id=u1705&invite_message=I%20saw%20your%20profile%21` - Use raw `&` (not `&`) to separate parameters - Don't encode URL structure (parameter names, `?`, `&`, `=` separators) - Fallback if you can't encode: replace spaces with `_`, simplify text, avoid special characters