MoreRSS

site iconEin Verne修改

软件工程师,开源爱好者,Linux用户和vimer开发者。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Ein Verne的 RSS 预览

Google Code Wiki:让 GitHub 仓库秒变代码百科全书

2025-12-05 14:00:00

之前 Devin 团队推出了一款 DeepWiki 的网站,可以用来解释 GitHub 的代码仓库。今天偶然发现 Google 也推出了类似的产品,叫做 Code Wiki。

当我们去接受一个新的开源项目的时候,最痛苦的莫过于如何开始阅读代码和理解整个代码仓库的架构,对于一些 README 编写得比较好的仓库,我们可能还能手把手地将项目在本地跑起来。但是,如果对于一个文档缺失、变更严重滞后的一些开源项目,可能很大一部分的知识还停留在一些项目成员的大脑,或者是最初的落后的文档当中。那这个时候我们去阅读代码的时候,可能不知道如何下手。

DeepWiki 和 Code Wiki 这样的服务恰好解决了这一个痛点,当我们去阅读一个复杂项目的时候,可以通过 Code Wiki 首先来了解一下项目整体架构。

Code Wiki 还会根据项目内容生成一些媒体资源,比如说视频、图片、架构图、时序图等。通过这样的一个方式,让我们对整个项目有一个初步的了解,然后可以根据自己关心的点去阅读。

什么是 Code Wiki

简单来说,Code Wiki 是一个能把任何公开的 GitHub 仓库自动变成一本实时更新的“代码百科全书”的工具。

它不像传统的文档工具那样需要开发者手动编写,而是利用 Gemini 的能力自动扫描和理解代码。

核心功能

Code Wiki 带来的改变主要体现在这几个方面:

  1. 自动化文档与图表: 它会在每次代码变更(Commit/Merge)后自动重新扫描仓库。不仅生成清晰的文字文档,还能自动生成架构图时序图。这一点对于理解复杂系统的调用链路非常有价值。

  2. Gemini 聊天助手: 这可能是最实用的功能。它内置了一个基于 Gemini 的 Chatbot,能够“读懂”整个代码库。你可以像问身边的 Senior Engineer 一样问它:

    • “这个模块的认证逻辑在哪里?”
    • “如果我要修改支付流程,需要动哪些文件?”
    • “解释一下这段代码的副作用。”
  3. 实时性: 解决了“文档过时”这个千古难题。只要代码变了,Wiki 就跟着变。

类 Code Wiki 产品对比

其实在 Google Code Wiki 推出之前,开发者社区已经诞生了许多试图解决“代码理解难”这一问题的工具。Code Wiki 更像是一个集大成者,将它们的核心能力整合在了一起。

DeepWiki (Cognition AI 出品,全方位代码百科)

由 Cognition AI 团队在 2025 年 4 月推出的 DeepWiki,是一个与 Google Code Wiki 功能非常相似的产品。它能够将公共 GitHub 仓库转化为交互式的百科全书,提供 AI 生成的文档、图表,以及一个用于帮助用户理解代码的聊天助手。

  • 对比:DeepWiki 在 Google Code Wiki 之前就提供了集文档、图表和 AI 聊天于一体的解决方案,可以说是在“代码百科”这一概念上的先行者。

Sourcegraph Cody & Greptile (侧重代码理解与问答)

Sourcegraph 一直是代码搜索领域的霸主,其推出的 Cody 助手利用代码图谱(Code Graph)实现了对大规模代码库的精准检索和问答。Greptile 则更专注于为 Code Review 提供深度的上下文理解,能够回答“认证逻辑是如何实现的”这类复杂问题。

  • 对比:这些工具更侧重于 IDE 插件或 CI/CD 流程中的“即时问答”,而 Code Wiki 提供了一个更持久化、结构化的“百科全书”界面。

Mintlify & Swimm (侧重自动化文档)

MintlifySwimm 是“文档即代码”的先行者。Mintlify 擅长通过分析代码结构自动生成精美的 API 文档;Swimm 则强调“Continuous Documentation”,确保文档随着代码变更自动同步,不会过时。

  • 对比:它们生成的通常是标准的开发者文档,而 Code Wiki 的形态更接近于 Wiki,不仅有文字,还有动态生成的架构图。

CodeSee (侧重可视化)

CodeSee(已被 GitKraken 收购)曾经是代码可视化领域的佼佼者,它能自动生成代码依赖图和服务调用图。

  • 对比:Code Wiki 显然吸收了这一理念,将“架构图自动生成”作为其核心功能之一,填补了单纯文字文档的空白。

为什么值得关注

对于个人开发者而言,它是一个极佳的学习工具。面对海量的开源代码,我们不再需要通过 grep 或者是层层跳转去硬啃源码。对于一个团队项目而言,Code Wiki 可以在短短几分钟之内分析出代码的框架,大大减少了团队新成员的 Onboarding 时间。

我们在 Claude Code、Gemini CLI 之外,又多了一个可以让我们快速了解项目整体架构的工具。大家不妨去 codewiki.google 体验一下,看看它是否能成为你阅读源码的第二大脑。

Typeless: 又一款 macOS 上的 AI 语音输入利器

2025-12-04 14:00:00

看过我博客的人会发现,我在这半年的时间里面体验了非常多的语音转文字工具,可以说,这样的工具极大地提升了我的生产效率。不仅搭配 Obsidian 可以更快地写笔记,搭配 Claude Code 等编程工具也可以让我更快地输入提示词。体验到后面,遇到类似的产品,我一般也不会单独地出一篇文章,但是今天体验完了 Typeless,我觉得它值得写一篇文章,单独介绍一下。

Typeless是一款专为 macOS 设计的 AI 语音输入工具,试用下来感觉非常不错。首先,Typeless 的新手入门流程,做的就是我所有体验过的产品当中最简洁、最完善的。一般来说,工具都会让你去默认设置快捷键,然后在新手流程当中,让你按下 Fn 去体验一下语音输入的快速。但是 Typeless 追加了更多的使用场景,就比如说我们可以在 Gmail、Notion 等等中,选择一段我们需要修改的内容,让它生成更正式的邮件内容,或者是说选中一段文本,让它翻译成另外的语言。这一下子就拓宽了 Typeless 的使用场景。更甚至后面我去看 Typeless 的设置时,发现 Typeless 还可以让我们说中文,但是输出英文。另外一个让我非常惊讶的是它的识别速度和准确度。

在我之前体验过的本地离线的,比如说闪电说、Spokenly 等等语音识别软件中,经常让我困扰的是识别准确度的问题。可能受限于本地离线模型的能力,在一些中文同音词的情况下,经常会发生错别字,比如“绘画”和“会话”。但让我惊讶的是,Typeless 竟然可以完美地处理这一部分的内容。另外就是一些专有名词的使用上面,一些本地离线模型通常也不能无法识别。比如说,我经常使用的 Claude Code。

最让我惊讶的是,Typeless 它没有宣称它是纯本地离线识别,但是它的识别速度依然可以媲美所有的离线模型。Typeless 也真正做到了,我松开 Fn 键就可以立即获得结果。

在如今这个时代,对于经常需要码字的朋友来说,Typeless 绝对是一个提升生产力的好帮手。

功能介绍

极速且精准的语音识别

Typeless 最直观的体验就是速度极快。官方宣称其输入速度比传统打字快 4 倍。它利用先进的 AI 模型(如 OpenAI Whisper 等技术)进行实时语音转文字,不仅响应延迟极低,而且在识别准确率上表现优异。无论是日常对话、会议记录,还是长篇大论的写作,Typeless 都能精准捕捉每一个字,大幅减少了后期校对和修改的时间。

uVhZXP_CX-根据对话内容自动格式化

Typeless 会自动根据语音的内容对输出的文本进行自动格式化。比如,当我的语音输入是一个列表时,它会自动格式化成一个列表。

m819Pvw24p 还会根据我当前所在的输入框识别。比如说,当发邮件时,它会自动格式化成邮件的格式。

q0cZ3nxM-E Typeless 还能够自动帮我们修正出对话当中多余以及错误的部分,自动帮我们把最正确的部分告诉对方。

wvW7nyPyEu

当我们小声 whisper 的时候,Typeless 依然可以非常精准地识别到我们的语音。

VF3tCVaYMX

智能润色:不仅仅是听写

除了基本的听写功能,Typeless 更像是一个智能的“文字编辑”。在完成输入后,你可以选中一段文本,利用 Typeless 内置的 AI 功能进行润色和重写。它能够自动检测并修复口语中可能出现的语法错误,还能根据需要调整语气,将口语化的表达转换为更正式的商务风格,或者更轻松的社交风格。甚至还能去除冗余的词汇,让表达更加干练清晰。这一功能极大地弥补了语音输入往往过于口语化、逻辑松散的短板。

我们可以选中一段文本,再按下 Fn,然后告诉它将我们选中的这部分内容转变为更正式的邮件,那么 Typeless 就会自动进行重写。

zmnnrP69ci

比如对于一段日语,我们想要它的翻译,我们也可以直接选中它的文本内容,然后直接和 Typeless 说,帮我翻译成中文。

Zy5C1tQO6R

我们就可以立即得到中文翻译

nL3nfbJ8nw

多语言翻译

对于需要跨语言工作的用户,Typeless 还提供了便捷的翻译功能。你可以直接用母语口述,然后让 Typeless 将其转换为目标语言的文本;或者选中已有的文本,快速将其翻译成你需要的语言。这使得它不仅是一个输入工具,更是一个实时的多语言沟通助手。

Typeless 支持 100 多种语言。

Ri0Ks-7a0g

价格与方案

Typeless 目前提供了免费版和 Pro 专业版两种方案。

免费版适合轻度使用者,每周有 4,000 字的语音输入额度,包含极速语音输入、AI 自动润色、自定义词典以及支持 100+ 种语言的核心功能。新用户通常还可以获得 30 天的 Pro 版免费试用体验。

Pro 专业版则适合重度用户,没有字数限制,并且享受优先的客户支持。价格方面,年付大约 $12/月,而月付则要 $30/月。可以看到,年付方案相比月付有非常大的优惠幅度,如果你是重度依赖语音输入的用户,年付显然是更具性价比的选择。

最后

总的来说,Typeless 是一款将“语音识别”与“AI 文本处理”完美结合的工具。如果你是一个需要在电脑前长时间编写文字的工作者,或者是说你需要长时间进行代码的输入,你都可以去尝试一下 Typeless

Gemini CLI 使用小技巧

2025-12-02 14:00:00

本文记录 Gemini CLI 使用过程中一些容易被忽略的问题,以及使用小技巧。

对于常用的 Gemini CLI 命令比如操作符 @ / 等,可以参考官方文档完成入门学习。

  • 每分钟请求数 RPM : 60 次
  • 每天请求数 RPD: 1000 次

GEMINI.md 项目上下文定义

GEMINI.mdCLAUDE.md 文件作用类似,它们被设计用来存储项目特定的上下文信息。每次你在项目目录中启动 Gemini CLI 时,它都会自动加载这个文件的内容。这相当于给 AI 预设了一个“出厂设置”,让它迅速了解项目的规范、常用命令和注意事项。

你可以在 GEMINI.md 中定义以下内容:

  1. 项目概述:简要说明项目的目的、架构和核心技术栈。
  2. 常用命令:列出常用的构建、测试、部署命令,方便 AI 直接调用或推荐。
  3. 代码规范:指定代码风格(如 naming convention)、使用的库版本以及特殊的架构模式。
  4. 目录结构:解释关键目录的作用,特别是对于非标准结构的项目。

示例 GEMINI.md 文件内容:

# Project Context for Gemini

## Build & Run

- Build: `npm run build`
- Dev Server: `npm run dev`
- Test: `npm test`
- Lint: `npm run lint`

## Coding Standards

- Use TypeScript for all new files.
- Prefer functional components with Hooks for React.
- Use `styled-components` for styling.
- Error handling: Wrap async calls in try/catch blocks.

## Architecture

- `/src/components`: Reusable UI components.
- `/src/pages`: Next.js pages.
- `/src/lib`: Utility functions and API clients.

有了这个文件,当你问“怎么运行测试?”或者“帮我写一个新组件”时,Gemini 就能根据预设的规范给出更准确的回答,而不需要你每次都重复一遍背景信息。

直接在 Gemini CLI 下执行命令

在 Gemini CLI 下,可以在命令前增加一个 ! 来执行命令

!ls -al
!agy .

# 单个命令执行
!find . -name "*.tsx" -mtime -7

# 查看 git 差异
!git diff --stat

# 获取文件信息
!wc -l src/components/*.tsx

# 进入 Shell 模式(所有输入作为命令)
!
# 现在输入的都是 shell 命令
find . -type f -name "*.json" | head
git log --oneline -10

Gemini CLI 中查看完整 Diff

Gemini CLI 中如果 Gemini 要写入文档,WriteFile 这个工具写入文档,写入之前会显示 Diff 让用户审批是否允许更改,但是 Gemini CLI 在终端中默认会截断过长的输出,导致 Diff 显示不全,无法 Review 具体的修改内容。

这里有三种方式可以解决这个问题:

方法一:禁用输出截断(推荐)

这是最直接的方法,通过修改 Gemini CLI 的配置文件,允许终端输出完整的 Diff 信息。

在配置文件(通常位于 ~/.gemini/settings.json 全局配置或 .gemini/settings.json或通过命令修改)中调整以下设置:

配置项 默认值 建议值 说明
tools.enableToolOutputTruncation true false 彻底禁用截断功能,显示完整输出
tools.truncateToolOutputThreshold 10000 字符 -1 设置为 -1 禁用字符数量限制
tools.truncateToolOutputLines 100 行 10000 或者大幅增加允许显示的行数

可以直接在 Gemini CLI 中执行 /settings

方法二:集成 VS Code 查看 Diff

Gemini CLI 提供了与 VS Code 的深度集成,可以直接在编辑器中打开 Diff 视图,体验更好。

  1. 在 Gemini CLI 中运行命令:
    /ide install
    /ide enable
    
  2. 这会安装必要的辅助扩展。之后当 Gemini 提议修改代码时,会自动触发 VS Code 的 Diff 视图,让你在图形化界面中 Review 和修改代码,而不是仅在终端查看。

方法三:使用 Git 辅助

如果上述方法都不适用,或者你更习惯使用 Git 工具:

  1. 在 Gemini 修改文件之前,确保工作区是干净的(git status clean)。
  2. 允许 Gemini 写入文件。
  3. 使用 git diff 查看修改内容。
  4. 如果满意,提交更改;如果不满意,使用 git checkout <file> 撤销更改。

这种方法虽然不是“预览”,但利用版本控制系统作为安全网,是最稳妥的方式。

内存管理 跨会话上下文保持

添加持久化知识到全局上下文

# 添加到内存
/memory add "我们的 API 使用 GraphQL + Apollo Server,所有查询需要错误处理"

# 查看当前内存
/memory show

# 刷新重新加载所有 GEMINI.md
/memory refresh

自定义命令:使用 TOML 自动化重复工作

Gemini CLI 允许你通过 .toml 配置文件自定义 Slash Commands(如 /my-command),将复杂的 Prompt 和逻辑封装成简单的指令。这对于团队协作和个人工作流标准化非常有帮助。

命令定义位置

你可以定义两类命令:

  1. 全局命令:存放在 ~/.gemini/commands/。所有项目通用的指令,例如通用的代码解释或翻译命令。
  2. 项目命令:存放在当前项目根目录的 .gemini/commands/。仅在该项目生效,适合项目特定的规范检查或部署指令。此目录建议提交到 Git。

注意:文件名即为命令名。例如 commit.toml 会生成 /commit 命令。

TOML 文件结构

一个基本的命令文件至少包含 prompt 字段。

# 文件名: ~/.gemini/commands/hello.toml
# 调用方式: /hello

description = "一个简单的问候命令"
prompt = "你好,Gemini!请给我讲一个关于程序员的简短笑话。"

进阶用法:动态参数与 Shell 集成

Gemini CLI 的强大之处在于它支持动态参数和 Shell 命令注入。

  1. 动态参数 ``:捕获你在命令后输入的文本。
  2. Shell 集成 !{cmd}:执行系统命令并将结果插入 Prompt。

实战示例:智能 Git Commit 生成器

创建一个名为 git/commit.toml 的文件(支持子目录命名空间,调用时使用 /git:commit):

# 文件名: .gemini/commands/git/commit.toml
# 调用方式: /git:commit

description = "根据暂存区的变更生成符合 Conventional Commit 规范的提交信息"
prompt = """
你是一个 Git 专家。请根据以下 `git diff --staged` 的输出,生成一个符合 Conventional Commits 规范的提交信息。

输出要求:
1. 第一行是简短的描述(<type>: <subject>)。
2. 空一行。
3. 详细的变更说明列表。

Diff 内容:
!{git diff --staged}
"""

当你运行 /git:commit 时,Gemini 会自动执行 git diff --staged,读取变更内容,然后按照你的要求生成 Commit Message。

实战示例:需求拆解助手

# 文件名: .gemini/commands/split.toml
# 调用方式: /split "用户登录功能"

description = "将一个大需求拆解为小的技术任务"
prompt = """
请将以下需求拆解为具体的开发任务列表。每个任务应包含简要的技术实现思路。

需求描述:

"""

通过这种方式,你可以将原本需要反复复制粘贴的 Prompt 变成一行简单的命令,极大地提升效率。

检查点和回滚

灵活运用 Checkpointing 与 /restore

当你让 Gemini CLI 修改文件时,它会在执行前创建一个检查点 (Checkpoint)。这个功能允许你随时回溯到之前的状态,就像 Git 的版本控制一样,为你的操作提供了安全保障。

  • 启用 Checkpointing:默认情况下,此功能可能需要手动在 Gemini CLI 的 settings.json 配置文件中启用。具体设置请参考官方文档。
  • 工作原理:每当有文件修改工具(如 write_filereplace)即将被批准执行时,CLI 会自动拍摄一个项目文件的快照(存储在一个独立的 Git 仓库中,不影响你的项目 Git 仓库)、保存当前的对话历史以及即将执行的工具调用。
  • 恢复操作
    • 输入 /restore 可以列出所有可用的检查点。
    • 输入 /restore [tool_call_id] 可以回溯到特定的检查点。
    • 恢复后,你的项目文件将回到检查点时的状态,CLI 对话历史也会恢复,并且原来的工具调用会再次弹出,让你有机会重新考虑或修改。

这个功能在你进行实验性修改、或者不确定 AI 提议是否最佳时,提供了强大的“撤销”能力。

添加多目录

在 Gemini CLI 中可以同时处理多个项目文件

/directory add src/backend,src/frontend,src/shared
/directory show  # 列出所有已添加目录

# 现在可以同时引用它们
@src/backend/api.ts @src/frontend/components.tsx
"保证后端 API 和前端组件的类型对齐"

在 Obsidian 中使用 Gemini CLI

2025-12-01 14:00:00

从 2020 年开始使用 Obsidian 算起,到今天也已经快 5 年了,这个过程中我将过去将近 10 年的笔记,包括 Evernote,WizNote 中的笔记,豆瓣上的笔记全部转成了 Markdown 保存到了本地,后来陆陆续续使用的比如 [[Voicenotes]] 也都转成 Markdown 存如 Obsidian。虽然过去纪念陆陆续续在整理,但是实际上每天添加到笔记库中的内容要远多于要整理阅读的内容,笔记仓库也是越来越大,所以我越来越想使用一个工具可以帮助我真正地理解我写下的东西,并且在我想使用的时候能快速的找回。

现状是当我想要回溯笔记中的内容时,我使用 Obsidian 本地的搜索,非常快,能满足我 80% 的需求,但是往往有一些关键字,搜索出来的笔记条目非常多,这个时候我就会迷失在历史的笔记中。

而我突然想到,我几乎每天都在使用 Claude Code / Gemini CLI 这样基于命令行的工具来理解代码和生成代码,Obsidian 中的笔记何尝不是另外一种意义上的「Code」。Gemini CLI 拥有超大的上下文,他们本地检索的能力很强,文本生成的能力也很强,天然的适合作为 Obsidian 的辅助工具。

BI6deHTKvp

想要解决的问题

我在 Obsidian 中积累了大量的笔记,但需要借助外部的工具来:

  1. 信息过载与理解不足:笔记库日益庞大,新内容增长速度远超整理和理解的速度,导致很多宝贵的信息沉睡其中。我渴望一个工具能帮助我真正消化和理解这些内容。
  2. 传统搜索的局限性:Obsidian 的本地搜索虽然快速,但在面对特定关键词产生大量结果时,我常常会迷失在信息的海洋中,难以高效地找到真正需要的信息。传统的关键词匹配难以捕捉笔记间的深层语义关联。
  3. 知识检索效率低下:我希望能更智能、更迅速地从庞大的笔记库中找回所需的知识,而不仅仅是依靠简单的搜索匹配。

风险提醒

让 AI 介入重要的本地数据需要谨慎,建议实时备份 Obsidian 仓库,或在测试的仓库中运行无误之后再在主笔记库中配置。

什么是 Zettelkasten?

Zettelkasten(卡片盒笔记法)是由德国社会学家 Niklas Luhmann 发展出的一种知识管理方法。它的核心理念非常简单:一个笔记只记录一个想法(Atomic Note),并通过链接将这些笔记编织成一个巨大的知识网络。

根据 Obsidian 与 Gemini CLI 的实践分享,Zettelkasten 不仅仅是存储信息,更是为了产生新想法。其核心原则包括:

  1. 1 Note 1 Idea:保持笔记的原子性,便于复用和链接。
  2. 链接优于分类:通过双向链接(Links)而非文件夹层级来构建知识结构,模拟大脑的联想记忆。
  3. 永久笔记:用自己的语言重写,确保即使脱离原始语境也能被理解,逐步构建属于自己的长期资产。

它的好处是显而易见的:它强制你进行“思考”而非简单的“复制粘贴”,帮助你理清思路;随着时间的推移,这个笔记库会成为你的“第二大脑”,在你需要写作或输出时提供源源不断的灵感组合。

我的个人实践工作流

结合 Zettelkasten 的理念,我构建了一套适合自己的 Obsidian 工作流。对于我来说,整理的过程就是从笔记转换成知识的过程

  1. 输入 (Input):我所有看过、读过的内容——无论是网页文章、电子书摘录还是播客笔记——都会第一时间进入 Obsidian。
  2. 加工 (Process)
    • 默认情况下,所有的笔记都会进入 Zettelkasten 目录。
    • 我会在这里对笔记进行编辑、拆分和链接,尽量遵循原子化原则。
  3. 输出 (Output)
    • 当我发现关于某个主题的笔记积累得足够多,或者某个笔记本身已经变得非常庞大且完整时,我会将其整理成一篇结构完整的文章。
    • 公开分享:如果文章不包含敏感数据,我会将其移动到 Blog/_post/ 目录,随后提交到 Git 仓库,通过 Jekyll 自动发布到我的博客。或者利用 WordPress 插件发布到EV 杂谈 以及 EV 日本生活
    • 私有保留:如果包含个人隐私或敏感信息,则继续保留在本地。

在这个过程中,Gemini CLI 成为了我最得力的助手。它可以帮助我快速处理从“输入”到“加工”的繁琐环节,让我更专注于“思考”和“输出”。

为什么要使用 Gemini CLI ?

Obsidian 的核心优势之一是本地化纯文本 (Markdown)。这意味着你的笔记本质上和一个软件项目的代码库(Codebase)没有区别。

作为一名开发者,我们习惯使用命令行工具(CLI)来管理代码、重构代码、搜索代码。既然笔记也是代码,为什么不能用同样的逻辑来处理它们呢?

使用 Gemini CLI (或者类似的 LLM CLI 工具) 有以下几个独特的优势:

  1. 超大上下文 (Context Window):Gemini Pro 等模型拥有百万级的 Token 上下文窗口。这意味着你可以一次性将几十甚至上百篇笔记“喂”给它,让它从中寻找联系、总结规律,而不仅仅是基于关键词的匹配。
  2. 语义理解与重构:传统的搜索只能告诉你“哪里出现了这个词”,而 LLM 可以告诉你“这段话是什么意思”。更进一步,你可以像重构代码一样重构笔记——“把这篇长文拆分成三个原子笔记,并自动生成双向链接”。
  3. 终端工作流:如果你习惯生活在 Terminal 中,不需要切换窗口就能查询笔记、写入灵感,这种流畅感是图形界面无法比拟的。

如何安装 Gemini CLI

详细的安装和配置教程可以参考我之前的文章 Google Gemini CLI 使用初体验

简而言之,Gemini CLI 是一个基于 TypeScript 的开源项目,确保你的环境中安装了 Node.js 后,你可以通过以下方式快速开始。

推荐使用 npx 直接运行,这样可以让你永远体验最新的功能:

npx https://github.com/google-gemini/gemini-cli

或者,你也可以选择全局安装:

npm install -g @google/gemini-cli

实战场景

智能问答与回顾 (Chat with your Vault)

不再依赖僵硬的关键词搜索,而是直接向你的笔记提问,Gemini 会自动根据上下文推测来检索笔记内容。

示例:

gemini -p "读取 /Journal 目录下最近一周的日记,总结我这周的主要情绪变化和完成的关键任务"

或者:

gemini -p "基于我关于 '系统设计' 的所有笔记,帮我列出一个学习提纲,并指出我还缺失哪些知识点"

这种全局视角的总结,是传统笔记软件很难做到的。

笔记重构 (Refactoring)

当你的 Inbox 堆积了大量杂乱的随笔时,可以使用 CLI 快速整理。

示例:

gemini -p "读取 inbox/draft.md,整理它的格式,修复拼写错误,提取出 3 个核心观点,并生成 Tags"

你甚至可以要求它输出符合 Obsidian 语法的 Markdown,包括 [[WikiLinks]]

寻找隐形连接

Obsidian 的图谱功能很酷,但有时太乱了。Gemini 可以帮你找到逻辑上的联系。

示例

gemini -p "对比 '哲学/斯多葛学派.md' 和 '心理学/CBT.md',找出它们在核心理念上的异同点"

使用小技巧

  1. 利用 .geminiignore:就像 .gitignore 一样,你肯定不希望 AI 去读取你的 .git 目录,或者巨大的附件文件夹 assets/。配置好忽略文件可以加快速度并节省 Token。
  2. Prompt Engineering
    • 告诉它“你是一个 Obsidian 专家”。
    • 明确要求输出格式:“请使用 Markdown 格式输出,关键词使用 [[链接]] 包裹”。
  3. 结合 Shell 脚本:你可以写一个简单的 alias,例如 alias ask-notes='gemini --context ./KnowledgeBase',这样每次只需要输入 ask-notes "问题" 即可。
  4. 从小范围开始:不要一开始就尝试让它分析几千个文件。先从一个特定的主题文件夹开始尝试,建立信任感和 prompt 库。

最后

将 AI 引入个人知识库 (PKM) 是必然的趋势。虽然现在市面上有很多“AI 笔记软件”,但对于已经拥有成熟 Obsidian 工作流的用户来说,使用 CLI 工具是一种最轻量、最可控、也最 Geek 的升级方式。它不需要你迁移数据,不需要你改变存储格式,只是多了一个强大的“外脑”助手,随时待命。

Z-Image-Turbo 高性能 AI 图像生成模型

2025-11-28 14:00:00

Z-Image-Turbo 是由阿里巴巴集团开发的高性能图像生成模型,基于 Z-Image 原始版本进行了深度蒸馏和强化学习。 这个模型采用了 6B 参数的轻量级设计,但能够在保证质量的前提下,实现闪电般的生成速度。

[[Z-Image-Turbo]] 的最大特色在于,它仅使用了 8 个 NFE 函数评估次数就完成了高质量的图像生成。而传统的扩散模型通常需要 50 步以上。 企业级的 Nvidia H800 GPU 上,它能够实现一秒以内的推理延迟。 即使在配备 16GB 显存的消费级设备上,也能流畅运行。

Z-Image-Turbo 高效能得益于其创新的架构设计——Single Stream Diffusion Transformer (S3-DiT)。 这种价格的独特之处在于,它不会将文本、图像潜在和条件信息分离处理,而是将所有信息统一作为单一的令牌序列进行处理。

SgxfZpN4K-

核心优势

  • 图片生成速度快。
  • 生成质量高,生成的图像在夜景、人物肖像和细节表现等方面质量优秀
  • 具备中文、英文、双语的文字渲染能力,即使生成较小的字体,也不会出现字体模糊或扭曲的现象。 非常适合于海报制作、创意设计等。
  • 6B 参数的轻量设计意味着用户可以在消费级 GPU 上部署和运行。

aQL20cM0a3

使用

Z-Image Turbo 的核心使用流程非常直观。我们只需要准备一段清晰的文本提示词,这个提示词描述想要生成的图像内容。将这个提示词输入模型中,模型就会开始处理。在整个生成过程当中,文本和图像条件会被切入到模型的单一序列中。模型架构通过 Self-Attention 机制对这些信息进行深度整合,并通过八个步骤逐步消除噪声。最后,解码器将最终的结果转换为可见的图像。

为了获得最佳的效果,建议采用更加具体的、具有描述性质的题词词。比如说,我们要生成美丽的风景,这个时候不如更加具体地描述:在金色的西马拉雅山脉下,清晰的细节,摄影级别质量。

对于包含文字的设计任务,应该明确指出文本内容和期待的排版样式。

小凹语音输入法 又一款语音转文字应用

2025-11-25 14:00:00

在之前的文章中写过太多的语音转文字输入法,在 B 站的视频中也介绍了不少。包括 [[Aqua Voice]],[[Spokenly]],[[Wispr Flow]],[[superwhisper]], [[Whispering]] ,国内也有不少团队做出了类似 [[闪电说]],[[Ququ 蛐蛐]] 这样体验非常棒的应用。除了豆包语音输入法,现在又一家大语言模型公司下场做语音输入法,小凹语音输入法。

小凹语音输入法

小凹语音输入法 是由智谱 AI 公司推出的一款 AI 驱动的语音输入法,基于智谱 AI 大语言模型 GLM-4.5,在 2025 年 11 月刚刚发布,将语音识别和自然语言处理相结合。小凹输入法的核心特色在于其 AI 文本润色,用户可以通过语音输入,然后选择已输入的文本,使用自然语言提示词对文本内容进行 AI 修改和优化,比如修改语气,「改成更正式的语气」,优化内容「缩短文本的内容」,完成翻译「翻译成英文」等等。

小凹语音输入法支持快捷键 Fn 一键激活,所有的语音转文字的应用都在抢占 Fn 快捷键的入口。

968RNedrrP

优点

中文语音识别的准确度非常高,速度也非常快。依托智谱的 GLM 大语言模型,文本理解和处理能力不错。

小凹语音输入法可以选中文本进行润色,重写,这是优于其他语音转文字工具的一个不错的功能点。

缺点

需要登录

目前市场上已经出现这么多开源或者商业的语音输入法,Spokenly,闪电说这一类完全不需要登录就能本地使用,并且使用离线的模型,有一定的隐私保证。虽然小凹语音输入法通过登录可以登录用户词典,但在现在这个用户数据非常珍贵的年代,一个需要传输语音到服务器的应用可能并不能算作一个优势。

体验

如果看到这里你也想体验一下,可以点击这里下载,在安装时输入 GFQRJ384 这样你可以免费使用 7 天。