7.5
深览指数
科技Bestblogs·腾讯技术工程··AI 生成
我用腾讯 Kuikly,把 DeepSeek Harness 装进了口袋
腾讯程序员分享用内部跨端框架 Kuikly 开发 DSH Mobile,一套 Kotlin 代码覆盖 Android、iOS 和鸿蒙,让手机在通勤等碎片时间处理 AI Agent 任务中的审批、追问和进度查看。文章详细拆解了直接复用官方 Host 协议、流式渲染、断线重连状态机与 SSH/扫码安全连接等实现细节,并对比了 Cursor/ChatGPT/Claude Code 的同类移动端方案。适合对 AI Agent 工具链与跨端开发有实操兴趣的开发者阅读。原文 ↗
核心观点
- ▍DSH Mobile 的定位是远程控制面板而非移动 IDE,让手机接住 Agent 运行中短而频繁的人工交互,具体编码工作仍交给电脑端。
- ▍App 直接复用 DSH 官方 Host 协议(HTTP RPC + 两条下行 WebSocket),不在手机与电脑之间引入中间业务层,避免理解 DSH 内部插件结构。
- 01发送消息对应 POST /api/session.prompt;/api/events.mux 推送会话内事件,/api/events.host 推送 Host 全局变化。
- 02跨端项目真正难点在系统能力差异:KuiklyMarkdown 基于 intellij-markdown 提供流式渲染骨架,KuiklyWebview 免去三端 WebView 分别封装。
- 03WebSocket、SSH、扫码等能力在 commonMain 定义统一 Module 接口,三端各自实现。约 1.3 万行 commonMain 代码三端共享,各宿主仅三四千行。
- 04移动网络断线恢复按序执行:重建隧道、按序号补回遗漏事件、请求 session.history 对齐记录、用最新快照覆盖 queue 和 jobs;世代号用于丢弃旧连接的迟到响应。
- 05安全上 DSH 默认监听 127.0.0.1:3080,通过 SSH 隧道或扫码 Relay 两种方式远程访问,均不把端口暴露公网。Relay 只负责连接双方和传递数据,二维码主密钥位于 URL fragment 中不会发给 Relay。
- 06与 Cursor iOS、ChatGPT 移动端、Claude Code Remote Control 等产品趋势一致:具体编码交给 Agent 后,人更多在任务节点上做判断。
反方 / 局限
- — 文章未讨论 Kuikly 框架本身的成熟度与社区生态,也未深入分析 DSH Mobile 在复杂网络(如弱网、代理环境)下的实际表现与坑点。
5 分钟 · 3 卡片 · 8 资料
读原文 →