跳转到内容

状态栏、日志与隐私

状态栏项

twinny 在状态栏右侧有一个项。

显示含义
</>空闲,自动建议开启
</> off空闲,自动建议关闭;Alt+\ 仍可用
旋转图标补全、对话、编辑或审查正在运行;点击可停止
隐藏twinny 已禁用(twinny.enabled 为 false)

悬停显示当前自动补全模型和提供者,以及自动建议是否开启。空闲时点击打开菜单:

  • 开关自动建议,
  • 打开对话,
  • 管理提供者,
  • 打开 twinny 设置,
  • 显示日志。

忙碌时点击执行 Stop generation

Twinny 输出通道

twinny 所做的一切都写入输出面板的 Twinny 通道。用 Twinny - Show logs、状态栏菜单,或在输出面板下拉框中选择 Twinny 打开。

该通道是 VS Code 日志通道,每行带时间戳和级别,面板中的级别选择器(或 Developer: Set Log Level…)决定你看到多少:

级别内容
Info请求发出一行、返回一行:工作类型、提供者和模型、耗时、提示和回复的大小,以及生成停止的原因(停止标记、行数限制、块结束、取消……)
Debug另加完整的提示和回复,各截至 8,000 字符
Warning / Error失败及提供者的原始信息。始终写入

twinny.enableLogging(默认开启)控制 Info 和 Debug;警告和错误无论如何都会写入。写入前会对 API 密钥和 bearer token 脱敏。

读日志能回答大多数“它为什么这么做”的问题:FIM 模板是否匹配、模型用了多久、提示是否过长、@workspace 选了哪些分块。

隐私

twinny 没有账号、没有遥测、没有自己的服务器。离开你机器的,正是你指定的目标:

你使用发送内容目的地
本地服务器提示和上下文本机上的该服务器
已配对设备提示和上下文,加密你的另一台机器
托管 API提示和上下文该供应商
GitHub 拉取请求审查仓库所有者、名称、PR 编号、你的令牌GitHub
其他

提示和上下文指:光标周围的代码及补全上下文;对话消息及其附件;内联编辑的选区;审查和提交信息的 diff;终端功能的最后输出;用于嵌入的文件分块。

工作区索引的重排序器在扩展内运行。P2P 的 DHT 只知道某个密钥可在某个地址访问。twinny 的作者不收集任何使用数据,扩展也不会自行向 twinny.dev 或任何其他地方发请求。

twinny 写入的文件

路径内容
~/.twinny/templates/提示词模板
~/.twinny/embeddings/<workspace>/工作区索引(LanceDB)和清单
~/.twinny/node/命令行节点的身份和受信设备
VS Code 全局状态提供者(默认)、会话、已配对设备、侧边栏中选择的设置
VS Code 密钥存储扩展的 P2P 身份
扩展全局存储twinny.providerStorageLocationfile 时的提供者;P2P 主机锁

这些都可以删除;twinny 会重建所需内容。