You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Claude code命令与atuin等按键记录工具关联并记录子shell命令?

实现命令行AI工具与按键记录工具的关联方案

针对Atuin的配置调整

  • 修改Atuin的记录规则:Atuin默认忽略非交互式shell命令,可通过配置强制记录子shell和AI工具的命令。编辑~/.config/atuin/config.toml,添加或修改以下内容:
    record_mode = "always"
    ignore_sessions = false
    
    该配置会让Atuin记录所有会话的命令,包括子shell和Claude code调用产生的执行命令。
  • 手动补全记录:若Claude code通过自定义脚本触发,可在脚本末尾添加Atuin手动记录命令:
    atuin history add --command "$CLAUD_EXECUTED_CMD" --cwd "$PWD"
    
    将$CLAUD_EXECUTED_CMD替换为实际执行的命令变量,确保每次调用后主动写入Atuin历史。

替代或辅助工具方案

  • ShellHook脚本:编写通用shell钩子脚本,拦截所有命令执行事件。在~/.bashrc或~/.zshrc中添加:
    preexec() {
        local cmd="$1"
        echo "$(date +%Y-%m-%dT%H:%M:%S) $USER@$HOSTNAME: $PWD: $cmd" >> ~/.full_command_history
        atuin history add --command "$cmd" --cwd "$PWD" 2>/dev/null
    }
    
    该钩子会在每个命令执行前触发,将命令写入自定义日志文件的同时,强制同步到Atuin,覆盖默认忽略规则。
  • script命令:用script命令包裹Claude code调用,强制记录整个会话:
    script -a -f ~/claude_session.log -c "claude-code your-prompt"
    
    -a表示追加日志,-f实时刷新,所有Claude执行的命令和输出都会被记录到指定文件,可后续手动导入Atuin或直接用于审计。
  • MCP类工具:
    • ShellHub:可配置全局命令捕获规则,针对Claude code这类特定命令设置强制记录策略,其会话审计功能可完整保存所有子shell和工具调用的命令流。
    • Teleport:作为服务器访问和会话管理工具,它的会话录制功能可捕获所有终端操作,包括AI工具的命令执行,录制的会话可导出用于审计,也可通过配置与Atuin做数据同步。

注意事项

  • 确保工具权限设置正确,避免普通用户无法写入日志或Atuin数据库。
  • 使用钩子脚本时,需测试是否与其他shell插件冲突,比如zsh的oh-my-zsh自带preexec钩子,需合并逻辑。
  • 敏感命令需在记录前做脱敏处理,避免泄露密码或密钥。

内容的提问来源于stack exchange,提问作者Kavi Vaidya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 13:25:02