安装Git City Pulse的VS Code插件:让你写代码时城市里的建筑实时亮灯(附完整隐私清单)
【免费下载链接】git-cityYour GitHub profile as a 3D pixel art building in an interactive city项目地址: https://gitcode.com/gh_mirrors/gi/git-city
Git City 把每个开发者的 GitHub 档案变成一座 3D 像素城市里的小楼,而Git City Pulse就是让这座楼"活"起来的官方 VS Code 插件:只要你在写代码,城市里属于你的建筑就会实时亮灯、出现在在线动态里;你停下几分钟,灯光缓缓熄灭。本文带你3 步完成安装连接,并逐条列出完整隐私清单——哪些数据公开、哪些永远不会离开你的电脑。
Git City Pulse 是什么?
一句话:你的建筑是发射塔,写代码就是发信号。
插件在后台静默监听你的编码活动(编辑器输入、终端命令、调试、构建任务等),生成轻量"心跳"发送到 Git City 服务端。整个过程不读取任何代码内容,对性能几乎无感。
三步安装并连接你的建筑
第 1 步:获取你的专属 API Key
打开 Git City 网站,点击顶栏的"coding now"按钮即可生成 API Key(一串形如xxxxxxxx-xxxx-xxxx的密钥)。它唯一标识"你"的建筑,请妥善保存。
第 2 步:在 VS Code 中安装插件
在 VS Code 扩展市场搜索Git City: Pulse(发布者:git-city)并安装。插件要求 VS Code1.93.0 以上版本,启动时自动激活(见 package.json 中的activationEvents)。
第 3 步:一条命令完成绑定
按Cmd+Shift+P(Windows/Linux 为Ctrl+Shift+P)打开命令面板,执行:
Pulse: Connect在弹出的输入框粘贴你的 API Key(密码模式输入,不会明文回显)。连接成功的瞬间,插件会立刻发送一条心跳——大约 30 秒后,你的建筑就开始在城市中亮灯。API Key 通过 VS Code 的 SecretStorage 加密存储(实现见 keystore.ts),明文不落地。
常用命令与状态栏速查
安装后,状态栏左侧会出现一个发射器状态指示,点击即可快速暂停/恢复(逻辑见 item.ts):
| 状态栏显示 | 含义 |
|---|---|
📡Pulse: Transmitting | 正在写代码,建筑亮灯中(显示累计时长) |
⚪Pulse: Standby | 待机,等待你恢复编码 |
⭕Pulse: Off | 你手动暂停了发射 |
🔌Pulse: Disconnected | 尚未设置 API Key |
全部命令一览(定义见 extension.ts):
| 命令 | 作用 |
|---|---|
Pulse: Connect | 绑定你的建筑到城市 |
Pulse: Disconnect | 解绑并发送离线信号 |
Pulse: Toggle | 暂停 / 恢复发射器 |
Pulse: Open City | 在浏览器中打开 Git City |
它如何判断"你在写代码"?
活动追踪器(tracker.ts)同时监听 6 类信号,覆盖主流工作流:
- 编辑器:输入、保存、切换文件、选区变化
- 终端:命令执行(包括 AI 编程助手替你跑命令)
- 调试:debug 会话开始/结束
- 任务:
npm run、构建、测试 - 文件系统:文件创建/删除/重命名
- Notebook:Jupyter 单元格编辑
发送节奏经过精心节流:原始事件做50ms 防抖;满足"切换文件 / 保存文件 / 距上次心跳 2 分钟"任一条件才发心跳;数据每30 秒批量上报一次(最多 25 条一批),失败自动重试并持久化到本地队列,断网不丢数据(见 queue.ts)。默认5 分钟无操作即进入待机并通知服务端熄灯;关闭 VS Code 时还会补发一条离线信号,保证城市状态即时准确。
完整隐私清单:到底传了什么?
这是插件最值得读的部分。所有上报数据在本地先经过一道"消毒"过滤(核心逻辑仅 38 行,见 sanitizer.ts):
| 数据 | 是否公开 | 能否关闭 |
|---|---|---|
| 用户名(GitHub 登录名) | ✅ 公开(用于识别你的建筑) | 不能 |
| 编程语言(如 TypeScript) | ✅ 公开(显示在建筑上) | ✅gitCity.privacy.shareLanguage |
| 项目名 | ❌永不对他人公开 | ✅gitCity.privacy.shareProject |
| 分支名 | ❌ 永不对他人公开 | 随项目名一起排除 |
| 文件路径 | 🚫永不发送 | — |
| 代码内容 | 🚫永不发送 | — |
永远不会被收集:文件内容、代码、diff、剪贴板、终端输出、文件路径以及任何知识产权相关数据。项目名仅保存在服务端供你自己的个人统计使用,不会出现在任何公开接口中。
隐私设置怎么改?
打开 VS Code 设置(Cmd+,),搜索"Git City"(配置读取逻辑见 config.ts):
| 配置项 | 默认值 | 说明 |
|---|---|---|
gitCity.privacy.shareLanguage | true | 是否公开当前编程语言 |
gitCity.privacy.shareProject | true | 是否上报项目名(仅个人统计) |
gitCity.privacy.excludeProjects | [] | 永不追踪的项目名列表,如["secret-project", "client-work"] |
gitCity.enabled | true | 一键关闭全部上报 |
gitCity.idleTimeout | 300 | 无操作多少秒后进入待机(60~3600) |
💡最隐私模式:把gitCity.privacy.shareLanguage和gitCity.privacy.shareProject都设为false,或直接把gitCity.enabled设为false完全停止一切传输。敏感项目放进excludeProjects,连个人统计都不会包含它们。
写在最后
Git City Pulse 的设计哲学是"你决定发射什么":它只用最小的心跳数据让城市保持鲜活,把代码本身永远留在你的硬盘上。装上它、粘贴 Key、开始敲代码——几十秒后,打开 Git City,看属于你的那栋楼在夜色里亮起来。🏙️
更多细节可参阅插件自带文档:packages/vscode-extension/README.md
【免费下载链接】git-cityYour GitHub profile as a 3D pixel art building in an interactive city项目地址: https://gitcode.com/gh_mirrors/gi/git-city
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考