TangoBeee/servus

GitHub: TangoBeee/servus

一款本地优先的 CLI AI 代理平台,通过编码、浏览器、桌面、媒体、数据、安全等多领域专用引擎路由任务,以运行时契约和证据驱动的完成机制保障自动化操作可靠性。

Stars: 0 | Forks: 0

/ S /

Servus

本地优先的 AI 操作器,用于编码、浏览器工作流、桌面文件、数据/文档、媒体、安全分析以及自定义技能/插件。

MIT License npm version Node >= 20

Servus 是一个 CLI 优先的 AI 代理平台。它最初是一个编码代理,但现在通过针对代码、浏览器自动化、桌面文件操作、媒体处理、数据/文档工作、安全分析、扩展创建和通用任务的特定领域引擎来路由工作。 其核心设计目标是可靠性:Servus 不应仅仅因为代理说已完成就将工作标记为完成。运行过程需要收集证据、满足运行时契约、保留会话状态,并生成证明产物。 ## 当前功能 | 领域 | 功能说明 | |---|---| | **编码** | 读取和编辑代码仓库,发现验证命令,运行检查,并通过带有证明的完成机制修复故障。 | | **浏览器** | 使用原生 Playwright 维持持久的浏览器会话,支持混合快照、稳定引用、屏幕截图、数据提取、浏览器记忆,并对不可逆操作设置同意门控。 | | **桌面** | 执行安全的本地文件/操作系统工作:分级搜索、路径检查、候选项选择、打开/复制/移动/移至回收站、剪贴板操作以及操作后验证。 | | **媒体** | 检查 `yt-dlp`、`ffmpeg` 和 `ffprobe`;检查媒体、下载、转换、裁剪、压缩、提取音频以及生成缩略图。 | | **数据与文档** | 读取 PDF、DOCX、TXT、Markdown、CSV、TSV、JSON、XLS 和 XLSX 文件;提取文本/表格;转换表格;编写报告产物。 | | **安全** | 使用侦察、静态扫描、依赖/配置/日志检查、TLS/头部检查、演练和结构化报告,对授权目标运行安全的进攻、防御或混合分析。 | | **扩展构建器** | 从提示词创建项目/用户的 `SKILL.md` 文件和 `servus.plugin.json` 清单文件。 | | **常规** | 处理简单的非修改性问题,避免意外路由到编码/项目文件行为中。 | ## 运行时模型 Servus 采用运行时优先的循环: ``` understand -> discover -> plan -> act -> verify -> finalize ``` 关键部分: - **运行契约**定义了意图、验收标准、所需证据、风险和修复限制。 - **结构化完成工具**(`servus_done`、`servus_need_input`)取代了仅用标记的完成方式。 - **完成验证**会拒绝缺失、模棱两可、过时或相互矛盾的证据。 - **会话连续性**在后续操作、澄清回答、批准、浏览器状态、产物、证据和证明包中保持相同的 `sessionId`。 - **工具元数据**跟踪领域、风险、只读/修改行为、同意要求、超时和产物输出。 ## 快速入门 ``` # 全局安装 npm install -g servusai # 启动交互式 TUI servus # 或直接运行任务 servus "Add rate limiting middleware" --domain coding ``` 从源码构建: ``` git clone https://github.com/TangoBeee/servus.git cd servus npm install npm run build npm start -- --help ``` ## CLI 使用方法 ``` servus Launch interactive TUI servus config Open settings servus sessions Browse past runs servus jobs Manage background jobs servus dashboard Open live dashboard servus [options] Run a task directly ``` 常用选项: ``` --domain auto | coding | browser | desktop | media | data | extension | security | general --mode claude-code | custom --model Model name or provider:model --cwd Working directory --verify Custom verification command --budget Max spend in USD --provider-url Base URL for openai-compatible providers ``` 示例: ``` servus "Fix the failing tests in this repo" --domain coding --cwd ./backend servus "Find the latest invoice PDF in my home folder" --domain desktop servus "Extract tables from ./reports/q1.xlsx and create a markdown report" --domain data servus "Inspect this mp4 and extract audio to mp3" --domain media servus "Review this API for authorization issues and suggest fixes" --domain security servus "Create a project skill for our release checklist" --domain extension ``` ## 配置 至少设置一个提供商密钥: ``` export OPENAI_API_KEY="sk-..." export ANTHROPIC_API_KEY="sk-ant-..." export GOOGLE_GENERATIVE_AI_API_KEY="..." ``` Servus 会在可能的情况下根据可用的提供商密钥选择默认模型。您仍然可以通过 TUI 或直接的 CLI 覆盖该模型。 ## 本地状态 Servus 将本地运行数据存储在 `~/.servus` 下,包括会话记录、浏览器会话状态、证明包、技能、插件和配置。浏览器自动化在每个会话中使用持久的 Playwright 配置文件,以便后续的回复在适当时可以继续在相同的浏览器上下文中进行。 ## 安全性 Servus 的设计宗旨是实用而不鲁莽: - 破坏性的本地操作需要同意和操作后验证。 - 浏览器购买、预订、发帖、发送消息、凭据输入、删除、支付和其他不可逆操作均受同意门控。 - 验证码、Cloudflare 拦截、登录要求、缺失的用户数据和支付步骤被视为阻碍或交接点,而非绕过目标。 - 安全模式仅适用于授权系统,并使用安全的、非破坏性的验证。 ## 可扩展性 Servus 支持本地技能和插件清单: - 项目技能:`.servus/skills//SKILL.md` - 用户技能:`~/.servus/skills//SKILL.md` - 项目插件:`.servus/plugins//servus.plugin.json` - 用户插件:`~/.servus/plugins//servus.plugin.json` 扩展构建器可以从提示词中搭建这些脚手架,然后验证生成的文件。 ## 状态 当前的稳定发展方向是: - 优先支持 CLI 和 TUI。 - 以运行时契约和带有证明的完成机制作为事实来源。 - 原生 Playwright 用于浏览器自动化。 - 本地桌面/媒体/数据/安全功能。 - 现已支持技能和插件脚手架,未来将随时间推移深化插件/MCP 激活。 ## 免责声明 Servus 是一个 AI 代理,可能会犯错。它可能会编写错误的代码、运行意外的命令/操作,或以非预期的方式修改文件。请务必检查更改,将重要项目置于版本控制之下,并使用适当的备份。 ## 许可证 MIT — 详见 [LICENSE](LICENSE)。
标签:Agent框架, AI智能体, AI编程助手, ffmpeg, GNU通用公共许可证, MITM代理, Node.js, Playwright, RPA, yt-dlp, 人工智能, 代码助手, 任务自动化, 多媒体处理, 工作流引擎, 开源, 搜索语句(dork), 操作系统交互, 数字取证, 文档处理, 暗色界面, 本地优先, 本地部署, 桌面文件管理, 浏览器自动化, 特征检测, 用户模式Hook绕过, 自动化办公, 自动化攻击, 自动化脚本