<p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/4480e118bb0f8f08f64f7da7573729d0dc6641679e7781e4c4050d939ea4d1b2.png" alt="Agensic 标志" width="100%" /> </p> <h2 align="center">了解运行了什么、在哪里、何时以及由谁执行</h2> <h3 align="center">AI 赋能终端工作流缺失的可观测层</h3> <p align="center"> <code>签名溯源</code> <code>追踪会话</code> <code>Git 时间旅行</code> <code>可回放会话</code> <code>IDE 风格 Tab 自动补全</code> </p> --- Agensic 为 AI 时代升级您现有的终端工作流。它专为追求 AI 代理在 shell 中带来的生产力提升、但不愿在**可审计性、控制和隐私**上妥协的开发者打造。 随着 AI 代理越来越多地接管命令行并自主执行任务,可见性和控制力变得至关重要。 Agensic 将**终端命令视为一等公民**,并提供一个强大的框架来追踪、检查和管理它们。 Agensic 并未将所有终端活动扁平化为单一的模糊“shell 历史”,而是作为一位取证观察者和一个智能副驾驶。它无缝追踪交互式 AI 编码会话,对代理执行的命令进行加密签名,并提供快速、基于历史的 IDE 风格 Tab 自动补全。 --- ## 📋 目录 1. [平台支持](#-平台支持) 2. [安装](#-安装) 3. [快速开始](#-快速开始) 4. [Agensic 溯源](#-agensic-溯源) - [功能](#-功能-溯源) - [支持的标签](#-支持的标签) 5. [Agensic 会话](#-agensic-会话) - [功能](#-功能-会话) - [支持的代理](#-支持的代理) 6. [Agensic 自动补全](#-agensic-自动补全) - [功能](#-功能-自动补全) - [支持的提供商](#-支持的提供商) 7. [可用命令](#-可用命令) 8. [安全与隐私](#-安全与隐私) 9. [项目创建者](#-项目创建者) 10. [支持](#-支持) 11. [许可证](#-许可证) --- ## 💻 <a id="-平台支持"></a>平台支持 Agensic 旨在深度集成到您的 shell 环境中。 - macOS (Zsh) — 完全支持 ✅ - Linux (Bash) — 完全支持 ✅ --- ## 🚀 <a id="-安装"></a>安装 最快的方式是使用管理的一行安装程序: ```bash curl -fsSL https://raw.githubusercontent.com/Alex188dot/agensic/main/bootstrap.sh | bash ``` 如果您更喜欢手动克隆: ```bash git clone https://github.com/Alex188dot/agensic.git cd agensic bash ./install.sh ``` 如果您已经安装了 `uv`,安装程序会自动使用它来加快设置。 首次运行时,Agensic 会提示您选择首选的 LLM 提供商并配置用于命令自动补全的 API 密钥。 或者,您也可以通过运行以下命令来配置 LLM 提供商和 API 密钥: ```bash agensic setup ``` ## ⚡ <a id="-快速开始"></a>快速开始 设置完成后,**打开一个新的终端**,Agensic 会自动开始追踪您的终端活动,并在您输入时提供自动补全建议! ### 🤖 无缝代理自动追踪 像往常一样开始工作,例如使用您最喜欢的 AI 编码助手,如 Claude Code、Codex CLI 等: ```bash claude ``` 或 ```bash codex ``` 查看[支持的代理](#-支持的代理)部分以获取所有支持代理的完整列表。如果您的代理不在列表中,您可以通过运行 <code>agensic --add_agent "可执行文件"</code> 来添加它,然后正常使用,以便 Agensic 能追踪它。 完成后,您可以使用 Agensic 检查会话历史: ```bash agensic sessions ``` 或查看取证溯源: ```bash agensic provenance ``` --- ## 🧾 <a id="-agensic-溯源"></a>Agensic 溯源 Agensic 为每条命令提供一个取证记录。它对发生的事件进行分类,记录丰富的元数据,并提供清晰的审计轨迹,让您能够判断命令是手动输入的、从建议中接受的,还是直接由代理执行的。 <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/954db235102e042437af9e18befe1d48176d543e55a5bd8ba5cc3ff7a8396f41.gif" alt="Agensic 溯源演示" width="75%" /> </p> ### <a id="-功能-溯源"></a>✨ 功能 ### 🔍 全屏溯源浏览器 <p> 需要回答“这里到底运行了什么,以及谁触发了它?”运行 <code>agensic provenance</code> 打开全屏溯源查看器。按标签、代理、提供商或时间窗口过滤,检查确切的命令轨迹,并在需要为调试、事件审查或合规保留持久记录时,将当前视图导出为 JSON 或 CSV。 </p> ### 🛡️ 加密命令溯源与签名 <p> 别再猜测是人类还是 AI 破坏了构建。Agensic 为每条命令捕获丰富的元数据,并使用本地 Ed25519 签名为代理执行的运行打上不可否认的 <code>AI_EXECUTED</code> 标签。您将得到一个清晰的、可审计的时间线,将人类击键与 AI 建议以及自动执行区分开来。 </p> ### 🏷️ 结构化归因标签 <p> Agensic 不会将终端历史简化为原始字符串列表。每条被追踪的命令都被归类为一个溯源标签,为您提供一致的方式来过滤运行、调查行为并理解命令最初是如何进入您的 shell 的。 </p> ### <a id="-支持的标签"></a>🔖 支持的标签 Agensic 目前支持以下溯源标签: - <code>AI_EXECUTED</code> 用于由 AI 代理直接执行并带有签名证明的命令 - <code>HUMAN_TYPED</code> 用于人类在 shell 中手动输入的命令 - <code>AI_SUGGESTED_HUMAN_RAN</code> 用于由外部 AI LLM 调用建议并由人类执行的命令 - <code>AG_SUGGESTED_HUMAN_RAN</code> 用于由 Agensic 建议并由人类执行的命令 - <code>INVALID_PROOF</code> 用于带有证明元数据但验证失败的命令 - <code>UNKNOWN</code> 用于现有证据不足以分配更强归因标签的命令 --- ## 🕵️♂️ <a id="-agensic-会话"></a>Agensic 会话 Agensic 记录交互式代理会话,为您提供所发生事件的无可辩驳的证据,并能够通过时间旅行功能安全地操作仓库状态。 <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/5a2de01b27f96092f2a728dcd93c9368336747306cea978c81b18ad3b6714f5e.gif" alt="Agensic 回放演示" width="75%" /> </p> ### <a id="-功能-会话"></a>✨ 功能 ### ▶️ 可回放会话 <p> 需要审计昨晚的会话以了解发生了什么?运行 <code>agensic sessions</code> 并选择您想要回放的会话。我们快速的全屏 TUI 让您可以立即浏览时间线、检查并回放会话。当您需要为事件审查共享证据时,一键将精确的数据集导出为 JSON 或 CSV。 </p> ### ⏪ 时间旅行 <p> 是否曾想过“在代理做出破坏性提交之前,我的仓库确切状态是什么?”时间旅行让您将仓库倒回到在特定会话检查点捕获的确切 Git 状态。Agensic 安全地将未追踪和已修改的文件恢复到一个全新的分支中,确保您在调查时绝不会意外破坏当前的工作树。 </p> ### 🗄️ 弹性本地优先状态 <p> 您的数据属于您。Agensic 使用一个健壮的 SQLite 状态后端,带有一个仅追加的事件日志和自动化快照。这意味着您的取证历史能够无损坏地经受意外的终端崩溃、系统重启和长期本地使用。 </p> ### <a id="-支持的代理"></a>🤖 支持的代理 Agensic 提供一组预配置的内置代理,可以对其进行追踪: - Claude Code - Codex CLI - Gemini CLI - OpenClaw - OpenCode - Kimi Code - Mini Agent - Qwen Code - GitHub Copilot CLI - Kiro CLI - Cline CLI - Cursor CLI - Nanoclaw - Droid - Hermes Agent - Ollama - Mistral Vibe - Aider - Pi.dev - Kilo Code - Continue CLI 自定义代理:在 Agensic 设置中插入任意代理可执行文件,它会立即工作,无需额外配置。 --- ## ⚡ <a id="-agensic-自动补全"></a>Agensic 自动补全 Agensic 重新构想了终端建议。上下文感知、语义化、始终快速且具有 IDE 风格、令人满意的 Tab 自动补全。 <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12868/f710d6a7c01b14691b1d825894e1640c2a92ff1642178a5aed2b3d7d0ac241e3.gif" alt="Agensic 自动补全演示" width="50%" /> </p> ### <a id="-功能-自动补全"></a>✨ 功能 ### 🚀 超快本地历史建议 <p> 告别输入延迟。当您输入时,Agensic 查询您实际命令历史的存储。建议以幽灵文本的形式立即出现,您可以通过 <code>Tab</code> 轻松接受。因为它从您的模式中学习,并依赖于您的实际操作,所以建议非常准确且对仓库有感知。 </p> ### 🧠 语义搜索与输入错误恢复 <p> 人类会犯错,Agensic 会修复。如果您输入 <code>dokcer</code>,Agensic 会立即建议 <code>您的意思是:docker</code>。记不清确切的语法?语义重排序会拯救您的意图,即使您的前缀不完美也能找到正确的命令:如果您输入 <code>docker records</code>,您会得到 <code>您的意思是:docker logs</code>(前提是您之前运行过 <code>docker logs</code>)。 </p> ### 💡 按需 AI 回退 <p> AI 是一个强大的回退方案,而不是每次击键的负担。Agensic 实行每行 LLM 预算以防止提示词泛滥。当本地历史不足时,会自动触发 LLM 回退。或者,您也可以随时按 <code>Ctrl+Space</code> 手动从您偏好的本地或托管 LLM 获取智能建议。 </p> ### 💬 自然语言命令模式 <p> 忘记确切的语法,只需描述您想要什么。输入类似:<code># 如何找到此文件夹中所有大于 10MB 的文件?</code>。Agensic 会生成 3 个可以直接复制的 shell 命令,并将最可能的选项直接插入到您的下一行。需要指导而不是命令?使用助手模式直接在终端中获得分步答案:<code>## 如何在 macOS 上安装 Node?</code>。想先理解命令再运行?使用:<code>agensic --explain "您的命令"</code> </p> ### 🛡️ 原生 Tab 保留与风险阻止 <p> Agensic 尊重您的终端。当您在补全文件路径或脚本时,它让 <code>Tab</code> 保持原样,因此原生 shell 补全在最佳场景下仍能胜出。更重要的是,破坏性命令(如 <code>rm -rf</code>、<code>mkfs</code> 或 <code>dd</code>)被严格阻止纳入建议池,这样您永远不会意外执行灾难性操作。 </p> ### <a id="-支持的提供商"></a>🌐 支持的提供商 Agensic 适合您的技术栈,无论您在本地运行模型还是使用托管端点。 - **本地:** Ollama, LM Studio - **托管:** OpenAI, Anthropic, Gemini, Azure, DeepSeek, Groq, Mistral, Qwen (DashScope), MiniMax, Moonshot, OpenRouter, Xiaomi MiMo, Z.AI, AWS SageMaker - **自定义:** 任何兼容 OpenAI 的端点 - **仅历史:** 完全离线运行,无需 AI 调用,仅使用您的本地命令历史 ## 🧰 <a id="-可用命令"></a>可用命令 下表列出了 Agensic 当前可用的每个 CLI 命令。 | 命令 | 作用 | | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | <code>agensic --help</code> | 显示主要的 CLI 帮助和所有标准用户面向命令 | | <code>agensic --version</code> | 打印已安装的 Agensic 版本并退出 | | <code>agensic update</code> | 下载并安装最新的已发布 Agensic GitHub 版本 | | <code>agensic setup</code> | 打开 Agensic 会话和自动补全的交互式设置流程 | | <code>agensic enable-startup</code> | 配置 Agensic 在登录或启动时自动启动 | | <code>agensic first-run</code> | 运行首次安装的引导流程 | | <code>agensic start</code> | 手动启动 Agensic 后台守护进程 | | <code>agensic stop</code> | 停止 Agensic 守护进程 | | <code>agensic logs</code> | 实时追踪守护进程日志输出 | | <code>agensic test</code> | 向守护进程发送测试自动补全请求以验证连接 | | <code>agensic provenance</code> | 打开命令溯源历史视图。支持 <code>--limit</code>、<code>--label</code> 和 <code>--contains</code> 等过滤器 | | <code>agensic sessions</code> | 打开追踪的会话浏览器。使用 <code>--text</code> 获取纯文本输出 | ## 🔒 <a id="-安全与隐私"></a>安全与隐私 Agensic 遵循最小权限和最大隐私原则: - **本地认证:** 每个 localhost API 路由都经过严格认证,并具有自动令牌轮换 - **秘密脱敏:** 高熵值、URL 凭据和已知的秘密格式(如 AWS 密钥或 JWT)在数据离开您的机器用于 LLM 调用**之前**会被剥离和脱敏 - **命令护栏:** 破坏性命令被硬阻止进入建议引擎和反馈循环 - **速率限制:** 出站 LLM 调用受严格超时和预算限制,以防止 API 滥用 --- ## <a id="-项目创建者"></a>👤 项目创建者 Alessio Leodori ## <a id="-支持"></a>🤝 支持 发现 Agensic 有用?给仓库点个星 ⭐️ 并告诉朋友!这将帮助我们成长 🌱 ## 📄 <a id="-许可证"></a>许可证 Agensic 是开源软件,采用 **Apache-2.0 许可证**。