关于 Halfnine
Halfnine 是适用于 macOS 和 Windows 的 PostgreSQL 客户端,也可作为 MCP 服务,让 AI Agent 使用已保存的连接。它支持按连接设置只读、经批准写入或完整访问权限。
主要功能
- 01管理 PostgreSQL 连接
- 02按连接控制 Agent 权限
- 03只读查询与经批准的写入
- 04查看 Agent 活动并全局暂停
适用场景
- 01通过 AI Agent 查看 PostgreSQL 数据
- 02应用前审核拟议的数据库变更
- 03暂停所有连接的 Agent 访问
MCP 相关
Halfnine 运行 MCP 服务,让受支持的 AI Agent 访问其 PostgreSQL 连接。连接设置可限制为无访问、只读、经批准写入或完整访问。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Halfnine
一款小巧、简洁的 PostgreSQL 客户端,适用于 macOS 和 Windows,轻盈到可以全天保持打开。
项目还处于早期阶段:ROADMAP.md 说明了当前进展。
安装
从 Releases 下载安装程序。目前的构建版本尚未签名,因此每个系统在首次打开时都会询问一次:
- macOS(Apple 芯片,macOS 13 或更高版本):打开
.dmg,将 Halfnine 拖到“应用程序”中。打开一次后,选择“系统设置 › 隐私与安全性 › 仍要打开”。或者运行xattr -dr com.apple.quarantine /Applications/Halfnine.app。 - Windows(x64):运行
-setup.exe。出现 SmartScreen 警告时,选择“更多信息 › 仍要运行”。它会为当前用户安装,无需管理员权限。
连接保存密码后,macOS 会在 Halfnine 首次读取密码前询问一次;在应用签名之前,每次更新后也会再次询问。请选择“始终允许”。
与 AI Agent 配合使用
Halfnine 也是 MCP 服务,因此 Claude Code、Codex、Cursor、VS Code 和 Claude Desktop 可以通过它使用你的连接。打开侧边栏底部或连接界面中的 Agents,选择工具旁边的“连接”,Halfnine 会在将自身添加进去之前,显示将要进行的更改。你也可以手动添加;在 macOS 上:
claude mcp add --scope user --transport stdio halfnine -- /Applications/Halfnine.app/Contents/MacOS/halfnine mcp
codex mcp add halfnine -- /Applications/Halfnine.app/Contents/MacOS/halfnine mcp
对于 Claude Desktop,请先安装 Halfnine,然后打开同一版本发布文件中的 .mcpb 文件,将其添加为扩展。它也已列入官方 MCP Registry,名称为 io.github.notinferred/halfnine。
每个连接都可以在其设置中的 Agents 下指定 Agent 可执行的操作:关闭、读取、读取并经批准后写入,或完全访问。标记为红色的连接默认设为关闭,其他连接默认设为读取。设为“读取并经批准后写入”时,Agent 的更改会以暂存行或 SQL 的形式在 Halfnine 中打开,等待你的确认。Agent 执行的所有操作都会列在 Agents 页面中,你可以在这里用一个开关暂停所有 Agent。Agent 读取的所有内容都会发送给其 AI 提供商。
开发
你需要 Node 24 或更高版本、pnpm(会自动获取 package.json 中指定的版本)、通过 rustup 安装的 Rust(版本由 rust-toolchain.toml 指定),以及 macOS 上的 Xcode Command Line Tools。使用 Homebrew 时,运行 brew install rustup,然后将 /opt/homebrew/opt/rustup/bin 加入 PATH;Homebrew 不会自动将其加入。
| 命令 | 作用 |
|---|---|
pnpm install | 安装 UI 的依赖项 |
pnpm dev | 打开应用,并在你编辑时重新加载 UI。首次运行会编译 Rust 部分,需要几分钟 |
pnpm check / pnpm format | 使用 Biome 检查代码和格式 / 应用其修复 |
pnpm typecheck | 检查 UI 的类型 |
cargo fmt --all | 格式化 Rust crate |
cargo clippy --workspace --all-targets -- -D warnings | 检查 Rust crate |
pnpm icons | 根据 assets/brand/app-icon.svg 渲染所有尺寸的应用图标 |
pnpm tauri build | 为运行该命令的机器构建安装程序 |
git tag v0.2.0 && git push origin v0.2.0 | 在 GitHub Actions 中构建 macOS 和 Windows 安装程序以及 Claude Desktop 扩展,并将它们放入草稿发布版本中,供检查和发布。发布后,该版本会列入 MCP Registry |
cargo test --workspace | 运行 Rust 测试。除非 HN_TEST_DATABASE_URL 指向一个已载入 crates/pg/tests/fixture.sql 的数据库,否则 Postgres 测试会自动跳过 |
若要在没有数据库的 Mac 上检查应用或运行 Postgres 测试,可以在 Docker 中启动一个临时数据库。停止后它会自动删除:
docker run -d --rm --name halfnine-check -e POSTGRES_PASSWORD=check -p 127.0.0.1:55432:5432 postgres:18
docker exec -i halfnine-check psql -U postgres -q < crates/pg/tests/fixture.sql
# connect the app to postgres://postgres:check@localhost:55432/postgres
# or: HN_TEST_DATABASE_URL=postgres://postgres:check@localhost:55432/postgres cargo test --workspace
docker stop halfnine-check
目录结构
apps/desktop:使用 React 和 Vite 构建的 UI。设计令牌位于src/ui/tokens.css。crates/desktop:承载 UI 的 Tauri 应用,包含窗口、权限和图标。docs/:架构、决策和品牌。
许可证
Halfnine 根据 PolyForm Shield License 1.0.0以源代码可见的方式发布。你可以将其用于任何用途,包括工作,也可以对其进行修改,但不得出售它,也不得提供与之竞争的产品。版权所有 2026 notInferred。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。