和大多数旅行 AI 聊几句,你很快就会撞上同一个毛病:它很会说话,但数字都是"感觉"出来的。给你行程、告诉你"大约 8 小时能到""这个季节价格大概多少"——听着顺,一旦真去订,才发现时间和钱都对不上。根子不在于模型不够聪明,而在于它被要求同时负责"说话"和"算账"。
GoTry(Danceiny/gotry)换了个分工:语言归模型,判决归代码。它的定位是「从出发到下一次出发」的 AI 旅行 Agent(star 173、npm latest 0.2.0-rc.31、维护活跃),承诺的是——每个数字都带出处,能不能去由代码拍板。
它解决的不是"去哪玩",是"到底去不去得成"
普通旅行助手回答"这里有什么好玩的",GoTry 回答三个更硬的问题:能不能去、怎么去、真实代价是多少。每个目的地都给一句痛快话:能去、不能去、为什么,以及让它能去的最小改动。
分工很克制:模型只负责两端——听懂你说什么(哪几天能走、从哪出发、预算多少、为什么想走),以及把结果翻译成人话;中间所有数值(车次、票价、到达精力、有效休整时长)全交给确定性 TypeScript 内核。README 契约写得很直白:LLM 不产出可行性判决与算术。
一段真实对话:洱海被"劝退",千岛湖被推荐
README 里有一段能说明问题的示例。用户说:
> 我想去洱海边发呆两三天,上海出发,预算 3000,年假别让我办公。
GoTry 先把约束记下来:窗口 2 天、出发上海、预算 ¥3000 全含、动机是休整、还没订任何东西。引擎随后判定:
- 大理·洱海:现在不行——2 天窗口装不下"至少 5 天的洱海休整"。放宽方案:延长到 5 天,约 ¥4950。
- 千岛湖:可行(G7315 06:35 出发,¥996,到达精力 84%,有效休整 4.4h)。
- 太湖:可行(G101 09:00 出发,¥716,有效休整 4.6h)。
- 建议:千岛湖(意象匹配 80%)。
注意取舍:它没有为了讨好用户硬把洱海塞进 2 天,而是明确说"不行",再给出把它变可行的最小代价。判决可以是负面的,而且负面判决一样有价值。
被拒的念头去哪了:愿望池
"这周末去不了"通常意味着念头就没了。GoTry 把它存进愿望池:目的地连同一个"满足就再试"的显式召回条件一起留下。上面那段对话里,洱海被标了 ★ 放进"下一次出发"清单;等时间窗口、预算变了,它会重新枚举候选,旅行规划因此从一次性问答变成有状态的长期陪跑。
每个数字都带出处:来源标签机制
GoTry 交付的每个数字旁边都挂着一个来源标签,由渲染层附加,模型无权染指。示例里出现过三种:
[骨架:openflights]—— 航线经公开航线库校验。[实时API:hbcli]—— 刚从实时接口拉回。[静态包:估算]—— 估算值,订前需核实。
意义在于:你能一眼分辨哪些是硬事实、哪些只是估算,降级就如实更换,而不是把估算包装成"已验证"。对"订错了就损失真金白银"的场景,这个区分比任何话术都重要。
装之前,先把这四个坑过一遍
GoTry 的能力不弱,但环境要求比一般插件硬,装错地方很容易卡住。
第一,Node 版本。 前置要求 Node ≥ 22.15,低于此版本装不上也跑不起来,动手前先 node -v 核对一次。
第二,别在仓库目录里直接跑 npx。 README 明确:仓内请走源码入口 ./gotry web,裸名 npx 在仓内会失败;源码安装走 npm ci && npm --prefix ts ci && node scripts/build-dist.mjs。
第三,镜像可能滞后。 装到的版本可能比 GitHub 旧,README 建议镜像 latest 滞后时钉精确版本,直接指定 @danceiny/gotry@0.2.0-rc.31。
第四,渠道缺件。 它依赖 Z3 (WASM)、loopx (pipx)、hotelbyte-cli 等组件,环境不齐时某些渠道会不可用。遇到就跑 npx @danceiny/gotry doctor,必要时加 --fix 补装。
隐私:不碰密码,每会话授权,物理只读
"用你自己已登录的 Chrome 读实时数据"听着有点吓人,README 四条规则把边界划得比较细:
1. 登录在外部网站完成 —— 不碰密码、验证码、cookie 值,只读 cookie 名字。
2. 授权卡,每会话一次 —— 拒绝即吊销;总闸是 sessionAccess: ask|allow|off。
3. 物理只读 —— ReadGuard 在网络层中止写请求;遇验证码立即停。
4. 绝不劫持你的浏览器 —— 只开独立标签页;测试永不自动开窗。
前置是一次性安装 Stai Travel Bridge 扩展;没装时工具返回 needs-extension 并附链接,且不消耗配额。
横评表怎么看:定性比较,不是分数表
README 里有一张同题横评表:把同一段跨国 workation prompt 逐字投喂给通用助手(Kimi)与 OTA Agent(飞猪开放平台),再对照 GoTry 契约逐维度比对。GoTry 的强项落在"日历 grounding""约束访谈""事实可证性"几列,而最有价值的发现是一个共性缺陷:两家互不相关的产品,星期全落在 2025 年历上,说明日历锚定必须是产品机制,不能靠模型运气。
必须说明白的是:这是定性比较,不是分数表,也不主张排名或提升。 两列来自存档对话记录,GoTry 一列是仓库行为契约,口径并不完全等同,只适合当定性参照。
安全扫描档位:如实说,是🔴高危
有一点不能美化:该插件的安全扫描档位是 🔴 高危,且尚无人工评估。静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理),能力项包括安装时执行脚本、可执行外部命令、读写删除本地文件、读取剪贴板或密钥环境变量、发起外部网络请求。静态扫描只反映源码中出现的调用,不构成安全背书。介意这一档的人,装之前应自行评估,并先备份 ~/.dsh。
总结
GoTry 的价值不在"更懂旅行",而在把可行性判决和算术从模型手里拿走、交给带来源标签的确定性代码,让每个数字都能回溯;想对照同类插件的中文清单与安装形态见 DeepSeek Harness Hub 插件清单。
适合与不适合
适合:受够了大模型"密度幻觉"、想要门到门真实成本的自由行玩家;需要确定性可行性判决(能去 / 不能去 / 最小改动)的差旅规划者;把"这次去不了"当待办而非放弃的人(愿望池);愿意折腾 Node 环境、想研究"代码拍板"这类 Agent 形态的工程师。
不适合:指望它直接帮你下单付款的人——当前不存在已激活的供应商预订/支付写路径,它只到"可行性与真成本"这一步;想要英文文档的人——英文仍只覆盖求解输出层,其余以中文为准;环境不干净、连 Node ≥ 22.15 都不想升级的人;以及介意安全扫描档位为高危(安装期即执行代码)的人,这一档确实不该硬装。
标签:GoTry、DeepSeek Harness、AI 旅行决策
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。