AskHuman

3个月前发布 139 00

AskHuman 是一款轻量级、跨平台的命令行工具,解决 AI Agent 在 autonomous(自主)执行任务时面临的“最后一公里”决策难题。当 Agent 需要人类确认、补充上下文或做出关键选择时,只需调用 AskHuman,即可通过本地 GUI 弹窗或即时通讯软件(钉钉、飞书、Telegram、Slack)向用户发起交互,并将结...

所在地:
中国
收录时间:
2026-07-22
AskHumanAskHuman

AskHuman 是一款轻量级、跨平台的命令行工具,解决 AI Agent 在 autonomous(自主)执行任务时面临的“最后一公里”决策难题。当 Agent 需要人类确认、补充上下文或做出关键选择时,只需调用 AskHuman,即可通过本地 GUI 弹窗或即时通讯软件(钉钉、飞书、Telegram、Slack)向用户发起交互,并将结果无缝回传给 Agent。

AskHuman

它基于 Tauri 2 (Rust + Vue 3) 构建,以单一可执行文件的形式存在,完美契合开发者对轻量、高效及隐私安全的需求。

核心亮点

  • 🔄 真正的 Human-in-the-loop:打破 Agent “黑盒”执行的局限,让其在关键节点暂停并寻求人类指导,确保操作的安全性与准确性。
  • 📱 多渠道并行触达:支持本地 GUI 弹窗以及钉钉、飞书、Telegram、Slack 等主流 IM 工具。无论你是否坐在电脑前,都能通过手机或远程桌面及时响应 Agent 的提问。多个渠道可同时开启,实现“抢答”式快速回复。
  • 🖼️ 富媒体与结构化输入:不仅支持文本问答,还允许附带图片/文件、提供预选项(单选/多选),甚至支持长 Markdown 内容通过 stdin 传入,满足复杂场景下的交互需求。
  • 🧠 智能历史记忆:自动记录最近的问答历史,Agent 在后续提问时可参考上下文,避免重复询问相同背景信息(可选关闭)。
  • ⚡ 极简部署与集成:单一二进制文件,无复杂依赖。提供针对 Cursor、Claude Code、Codex 等主流 Agent 的一键规则安装及超时 Hook 配置,防止因等待人工回复而导致任务被强制取消。

使用场景示例

1. 基础确认与选项选择

# 简单的二选一确认
AskHuman "要继续执行部署吗?" -o "继续" -o "停止"

# 带推荐选项的多问题交互
AskHuman "看看这个代码改动?" -f ./diff.png \
  -q "要合并吗?" -o! "合并" -o "拒绝" \
  -q "需要跑单元测试吗?" -o "跑" -o "跳过"

2. 脚本化与自动化集成

# 严格模式:只允许预设选项,输出 JSON 格式,便于脚本解析
AskHuman -q "选择部署环境" -o "staging" -o! "production" --single --select-only --output json

3. 长文本与复杂上下文

# 通过 heredoc 传入详细的 Markdown 说明
AskHuman -q "请审核以下方案" --stdin <<'EOF'
# 架构调整说明
- 修改了 `auth` 模块
- 影响了 $HOME 下的配置文件
EOF

快速开始

安装

推荐使用 npm 全局安装(自动匹配平台二进制):

npm i -g askhuman

或者从 GitHub Releases 下载对应平台的压缩包,解压后将 AskHuman 加入系统 PATH。

配置通信渠道

运行 AskHuman --settings 打开设置界面,在“通信渠道” Tab 中配置钉钉、飞书、Telegram 或 Slack 的接入令牌。即使不配置任何 IM 渠道,默认的本地 GUI 弹窗也能正常工作。

集成到 Agent

  1. 自动集成:在设置界面的“Agents”面板中,一键为 Cursor / Claude Code / Codex 安装全局 Rules。
  2. 超时保护:启用超时 Hook,当检测到 Agent 调用 AskHuman 时,自动将工具调用的超时时间延长至 24 小时,确保你有充足的时间回应。

系统要求

  • macOS / Linux:原生支持。
  • Linux 注意:运行 GUI 弹窗需系统具备 WebKitGTK(如 libwebkit2gtk-4.1)。若缺失且已配置会话型渠道(如 Telegram),工具会自动降级仅通过该渠道发送通知。

相关导航