能用只是开始

内核稳定之后,tclaw 已经能干活了。但"能用"和"好用"之间,有很长一段路。

用着用着,各种不顺手的地方就冒出来了。agent 生成的文档没法方便地看;上下文长了之后 token 烧得很快;只有命令行,想给别人用很难;文件多了之后找东西很费劲……

接下来花了差不多一个月的时间,一件一件地打磨。

Wails 桌面应用

首先是 GUI。自己用命令行没问题,但如果想让更多人用,得有个像样的界面。

调研了一圈,选了 Wails——用 Go 写后端,前端是普通的 HTML/JS,打出来是一个原生桌面应用,体积小,对 Go 友好。最终打包出来的 Mac 应用只有几十 MB,不需要用户装任何运行时。

同一套 HTML,既可以跑在 Wails 桌面里,也可以用浏览器直接访问。

预览面板

agent 经常帮我生成文档、写 HTML 页面、画 mermaid 流程图。生成完要看效果,之前要自己去找文件打开,很麻烦。

做了一个右侧预览面板:

  • Markdown 文件直接渲染,支持 mermaid 图表
  • HTML 文件直接在面板里预览网页效果
  • 图片直接显示
  • 还可以在预览内容上框选区域,加标注,直接发给 AI 问问题

预览面板

HTML 预览

文件浏览器

本地文件多了之后,找东西很头疼。做了一个内置的文件浏览器,可以快速搜索文件,并且直接在里面预览:

  • Excel 打开直接显示表格
  • JSON/XML 显示树形结构,可以展开折叠
  • zip/tar 显示压缩包内容列表
  • SVG 可以缩放拖拽
  • PDF、图片、音视频都能预览

还加了文件格式转换和压缩功能,平时用得上的小工具基本都有了。

文件浏览器

上下文管理

用 LLM 最头疼的问题之一是上下文窗口。对话长了,token 烧得很快,而且超出窗口就报错。

做了几件事:

  • 自动剪裁:上下文快满的时候,自动把旧的 tool result 压缩,保留关键内容
  • 保留读取位置:被剪裁的内容不是直接丢掉,而是记录偏移量,agent 需要的时候还能用 offset 继续读
  • cache 优化:加了多个 cache breakpoint,反复用的内容不重复计费
  • token 看板:侧边栏可以实时看每轮的 token 消耗,一眼就知道上下文用了多少

VSCode 风格布局

界面改版了一次,改成 VSCode 风格的 Activity Bar + Side Panel 布局:

  • 左侧竖排图标,点击切换不同面板(对话历史、文件浏览器、工具箱、设置)
  • 侧边栏可以折叠、拖拽调整宽度
  • session 可以分组、拖拽排序

用起来顺手多了。

mini-app

还做了一个小功能:内置 mini-app 平台。可以把常用的小工具做成 HTML 单文件,挂在侧边栏里随时用。

自带了一个 todo 应用,支持日期、子任务、备注。也可以让 tclaw 帮你生成自己的小工具。

小程序

顺带一提,tclaw 生成小红书帖子也挺好用的:

小红书内容生成


tclaw 提供 Mac、Linux、Windows 版下载,Mac 版支持最好,感兴趣可以去 tclaw-releases 体验。

也可以先玩玩 tclaw 用 AI 做的几个小游戏:→ 点这里玩