AI代理治理运行时

Simon是一个本地优先的基础设施层,用于管理AI代理执行,通过确定性的控制平面增强AI编码工具的预测性、安全性和成本效益。

  • by felixgeelhaar
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 felixgeelhaar/simon

使用说明

Simon——人工智能代理治理运行时🧙‍♂️

Simon是一个本地第一基础设施层,旨在管理AI代理执行。它作为一个确定性的控制平面,强制执行清晰度、纪律和资源限制,使人工智能编码工具更具可预测性、安全性和成本效益。


🔮 核心价值主张

现代人工智能编码工具功能强大,但很脆弱。西蒙的存在是为了让它们使用得更久、更便宜、更可预测——而不需要不断的人类保姆。

  • 教练:强制执行结构化提示和明确的“完成定义”。
  • 守卫:令牌、迭代和安全命令/文件范围的硬预算。
  • 运行时:使用滚动摘要进行分段执行,以防止上下文窗口崩溃。
  • MCP代理:拦截和分析工具输出,以降低噪音并维护安全。
  • 记忆:基于矢量的经验档案,从过去的成功会议中学习。

🚀 快速开始

安装

# Clone the repository
git clone https://github.com/felixgeelhaar/simon.git
cd simon

# Build the binary
go build -o simon cmd/simon/main.go

配置

Simon支持多个提供商,包括 Ollama(当地), 开放人工智能, Anthropic,以及 双子座.

# Configure your OpenAI key
./simon config set openai.api_key your-api-key

# (Optional) Configure OpenRouter or custom Base URL
./simon config set openai.base_url https://openrouter.ai/api/v1

执行

在YAML文件中定义任务(task.yaml):

goal: "Create a Go CLI project that prints 'Hello, Simon!'"
definition_of_done: "A working go.mod and main.go exist."
evidence: ["main.go", "go.mod"]

与您首选的提供商一起运行:

# Using local Ollama (Llama 3.2 recommended)
./simon run task.yaml --provider ollama

# Using OpenAI GPT-4o with Interactive TUI
./simon run task.yaml -i --provider openai --model gpt-4o

🛡️ 治理与安全

西蒙在一个 确定性控制平面人工智能模型被视为外部工作者,而执行逻辑是基于规则和绝对的。

  • 预算执行:如果达到令牌或迭代限制,执行将立即停止。
  • 命令范围界定:仅授权的shell命令(例如。, go, git, ls)是允许的。
  • 验证驱动:在运行时验证定义的“证据”之前,任务不会标记为完成。

🛠️ 建筑

Simon内置于Go中,并利用了插件就绪的架构。

  • 前端:Cobra CLI/Bubbletea TUI。
  • 存储:SQLite(元数据、内存、配置)+本地文件系统(工件)。
  • 执行:滚动总结的情节循环。
  • 插件:基于gRPC(hashicorp/go插件)的可扩展Coach和Guard逻辑。

🏗️ 部署

GitHub页面

  1. 首选 设置>页面 在您的存储库中。
  2. 集 来源 到 GitHub操作.
  3. 该站点将自动部署到 https://felixgeelhaar.github.io/simon.

自制水龙头

Simon通过Homebrew Tap进行分发。为确保自动发布正常工作:

  1. 创建一个名为的存储库 homebrew-tap (如果尚未存在)。
  2. 添加名为的存储库密钥 HOMEBREW_TAP_TOKEN 使用细粒度PAT,可以对您的tap存储库进行写访问。
  3. 更新 .github/workflows/release.yml 使用此令牌。

🤝 贡献

我们欢迎捐款!请查看我们的 路线图 看看我们接下来要建造什么。

  1. 分叉回购
  2. 创建功能分支(git checkout -b feature/magic)
  3. 提交您的更改(git commit -m 'Add some magic')
  4. 推到分支(git push origin feature/magic)
  5. 打开拉取请求

📜 许可证

根据MIT许可证分发。看 LICENSE 了解更多信息。


为电力开发商打造 费利克斯·吉尔哈尔