import type { Metadata } from "next"; import Link from "next/link"; import { PublicShell, StatusPill } from "./components/Shells"; import { getPublicCommercialSnapshot } from "@/db/repository"; import { getPublicBetaPresentation } from "@/db/domain"; export const dynamic = "force-dynamic"; export const metadata: Metadata = { title: "把本地 coding-agent 接回手机", description: "NekoNest Cloud 让 Windows 与 Linux 主机主动出站连接,在手机上继续真实的本地 Codex、Claude Code、Kimi CLI 与 Grok Build 会话。", }; export default async function Home() { const commercial = await getPublicCommercialSnapshot(); const betaActive = Boolean(commercial.beta); const publicBetaOpen = betaActive && commercial.blockedP0 === 0; const betaCopy = getPublicBetaPresentation(betaActive); return (
{publicBetaOpen ? betaCopy.status : betaActive ? "闭测免费 · 公开接入冻结" : betaCopy.status} {betaActive && !publicBetaOpen ? "免费政策已经预设;当前仅向明确受邀账户开放。" : betaCopy.subline}

把电脑上的
coding-agent
接回手机继续。

项目、CLI 凭据和原生会话留在你的 Windows 或 Linux 主机。NekoNest Cloud 负责托管可达性与中转,手机是你的安全遥控面。

{publicBetaOpen ? "连接自己的主机" : "进入控制台"} 先看信任边界
0 家庭入站端口 4 个现行 Agent {betaCopy.factValue} {betaCopy.factLabel}
我的乐园 / home-lab 主机在线
工作目录 D:\work\nekonest
Codex 全控制
继续商业化探索
修复 daemon 重连
Claude Code 兼容续聊
Kimi CLI 兼容续聊
Codex · 最后确认 21:48 已提交
N

免费公测权益已经就绪。接下来验证真实主机配对与恢复流程。

继续,把上线门禁也放进后台。

业务确认来自主机,而不是把 WebSocket 写成功当成完成
从手机继续这个原生线程…
界面示意,不代表 Cloud 运行了 Agent 或保存了原生会话正文。
主机主动出站 原生 store 为权威 目录 → Agent → 线程 Codex 全控制 自托管永久免费
HOW IT WORKS / 连接方式

Cloud 只站在该站的位置。

它不替你运行模型,不拿你的 API Key,也不浏览任意文件。守护进程从主机主动连出,手机沿着原生会话结构继续工作。

01 手机 PWA 浏览 · 发送 · 控制 · 通知
HTTPS / WSS
02 NekoNest Cloud 认证 · 路由 · 托管运维 不运行模型
主机主动出站
03 你的主机 Daemon · CLI · 原生 store · 项目
1

安装主机守护进程

Windows 与 Linux 正式支持。家里无需公网 IP,也不开放入站端口。

2

一次性配对

用短时配对码把主机接入自己的乐园。设备令牌独立、可撤销。

3

继续原生线程

按目录、Agent 和线程发现历史;能力做不到就明确说明,不给无效按钮。

BUILT FOR CONTINUATION

不是又一个“问任何问题”的聊天站。

它解决的是你离开电脑之后,真实的本地 agent 线程还要继续、解卡和完成。

A

投递状态说人话

传输成功不等于 Agent 接受。待确认、已接受、已提交、失败和无法确定被分别呈现。

B

能力按 Agent 明示

Codex 提供完整控制;Claude Code、Kimi CLI、Grok Build 按已探测能力兼容续聊。

C

本地仍是主场

新线程只能落在 daemon 已发现的原生项目目录;没有永久 ghost thread,也不随意浏览磁盘。

D

公测状态不含糊

免费政策、闭测邀请、容量限制和上线门禁分别记录,不靠积分、余额或未来收费承诺兜底。

FREE PUBLIC BETA

前几个月,先免费把产品跑通。

{publicBetaOpen ? "当前面向国内个人用户免费测试。无需支付方式,不生成报价或订单,也不会在结束时自动扣款。" : betaActive ? "免费测试政策已经预设,但公开接入仍由 P0 安全门禁冻结;受邀闭测账户免费,不需要支付方式。" : "免费公测政策已经结束,但收费功能仍未开放;后续决定会另行通知。"}

  • 自托管版本永久免费
  • 没有积分、钱包或 Token 充值
  • 收费时机、方式和价格以后再定
{betaCopy.priceHeading}{betaCopy.priceValue}{betaCopy.priceDetail}
报价与订单 未开放 公测结束也不会自动创建
未来收费方案 以后再定 以真实使用和成本数据为依据
查看免费公测规则 →
TRUST IS A BOUNDARY

把能看见什么,写在产品正面。

密封传输是 Cloud 的目标门槛,但当前附件链路还没有完成生产级端到端实证。因此我们不会提前写“零知识”。

查看可见性与风险边界 →
数据主机Cloud 控制面
项目文件 / CLI 凭据保留不需要
原生会话库权威来源不取代
账号 / 主机 / 路由状态参与需要
提示词 / 回复 / 附件明文处理目标是不需要*
* 需以真实 sealed 命令与附件测试报告为准。
{commercial.blockedP0 ? "免费公测尚未开放" : "公测门禁已通过"}

{commercial.blockedP0 ? "控制台能跑,不等于托管链路已经可用。" : "免费公测已经具备基础开放条件。"}

{commercial.blockedP0 ? `当前还有 ${commercial.blockedP0} 项免费公测 P0 门禁未通过,包括密封传输、租户隔离、主机认领、主体/域名路径和隐私保存。` : "P0 证据已经齐全;仍需按邀请范围和运营容量逐步开放。"}

打开上线检查表
); }