[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f18gqsrjrtbfdm":3},{"code":4,"message":5,"data":6,"timestamp":25},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":22,"homepage":9,"updated_at":23,"history":24},"VictorTaelin\u002Funiichat",7,null,"TypeScript",587,59,104,5,[],"一个可自托管的长期 AI 代理聊天，用可逐层展开的记忆树代替丢弃历史的上下文压缩。","如果你厌倦了 AI 助手不断\"新建对话\"、长聊到一定长度就被截断，UniiChat 值得看一眼；但请把它当作实验品，而不是成品——作者明确说几乎全部代码由 AI 编写和审查，预期会有 bug。\n\n## 解决什么问题\n你希望有一个能记住上周聊过什么的长期助手，而不是每次重新粘贴背景或眼看着旧内容被截掉。现在的摩擦点就在对话边界：新开一轮、重新解释前提，或者接受窗口满了以后早期细节被丢弃。UniiChat 把对话从可重置的会话改成服务器上的一条持续会话，旧消息被压缩成概要，需要时还能重新展开。结果是这条对话可以长期用下去，上下文是精度随年龄下降，而不是整段消失。\n\n## 有什么不同\n核心机制是一棵二叉记忆树：每条消息先汇总成一行，相邻的行反复两两合并，每次模型调用看到的是整段对话最多 128 KB 的一个视图，近期的消息逐行保留，较旧的由更少、更概括的行覆盖。代理可以\"放大\"任意一行，还原出合并前的两条，直到原始消息，因此不需要那种丢弃过去的 compaction。概要由更便宜的\"压缩模型\"在后台随消息写入，视图只在回合结束时变化，所以大部分输入能命中厂商的提示缓存。代价是结构性的：回忆质量取决于这些概要和代理是否决定放大，而且每条消息都会带来独立于主对话的后台压缩工作与开销。\n\n服务器持有对话，浏览器和 `unii` 终端都只是实时视图，任何一端都能发消息、停止工作或切换模型。代理能运行 shell、读写文件、启动后台子代理，还能把过去的 Claude 和 ChatGPT 对话导入同一棵树。这使它更接近代理运行时而非聊天客户端，接触面也相应更大。\n\n## 谁值得试\n适合：熟悉 Bun 和 API key、想要一个带文件与 shell 权限的长期个人代理、并且愿意读源码理解记忆模型的开发者。设计说明就写在各个文件的开头注释里，从 Memory.ts 和 Server.ts 读起，适合打算阅读和修改代码的人。不适合：想要开箱即用的托管聊天或团队产品的人，以及不愿自己管 API key、备份和更新的人。不想自己跑服务器的话，文档给出了 [托管版](https:\u002F\u002Funiichat.com) 这条替代路径。\n\n## 使用条件与边界\n默认需要 Bun 和 Anthropic API key；只有 OpenAI key 时可通过修改 `vendors`、`pick` 和 `compactor` 配置改用 OpenAI，但默认配置假定使用 Anthropic。登录通常需要邮件 key（如 RESEND_API_KEY）；没有时服务器会把登录链接打印到输出里，本地使用仍然可行。对话以 JSON 行存放在 `~\u002F.unii\u002Fusers\u002F\u003Cid>` 下，README 说得很直白：它们就是记忆，要备份。在 Mac 上使用屏幕控制需要编译 Computer.swift，也就是要有 swiftc，并授予屏幕录制和辅助功能权限。\n\n日常维护也要考虑：`unii` 终端默认每天查一次更新，发送版本、操作系统和 CPU 类型，可用 `UNII_NO_TELEMETRY=1` 关闭。多 worker 部署需要能识别 `x-unii-worker` 头的代理，计费只对托管服务接好了。安装和配置见 [项目说明](https:\u002F\u002Fgithub.com\u002FVictorTaelin\u002Funiichat)。\n\n## HotRepo 点评\nHotRepo 从 2026-10-24 开始记录这个仓库，2026-10-25 在新项目榜（不是总榜）记录到 587 总星、排名 #7。这只是一个五天新项目的两个日期快照，不是每日增长序列，热度能否持续还无法判断。真要依赖它之前，值得先确认 `unii` 在机器端如何处理屏幕控制和相关权限——README 自己的 bug 警告，对碰宿主机的功能最适用。",{"slug":19,"name":20},"ai-engineering","AI 工程",[],"Apache-2.0","2026-10-25T02:44:39Z",[],1792912802]