内容
<p align="center">
<img src="https://www.openminion.com/brand/openminion-logo.png" alt="OpenMinion logo" width="128" />
</p>
<h1 align="center">OpenMinion</h1>
<p align="center">
<strong>本地优先的 AI 代理运行时。</strong>
</p>
<p align="center">
<a href="https://github.com/openminion">GitHub</a>
· <a href="https://www.openminion.com">官网</a>
· <a href="https://www.openminion.com/docs">文档</a>
· <a href="#快速开始">快速开始</a>
· <a href="#焦点 shell">焦点 shell</a>
· <a href="https://x.com/OpenMinion">X</a>
</p>
<p align="center">
<img alt="软件包版本" src="https://img.shields.io/badge/package-0.0.1-3775A9">
<img alt="Python" src="https://img.shields.io/badge/python-3.11%2B-3775A9">
<a href="LICENSE"><img alt="许可证" src="https://img.shields.io/badge/license-Apache--2.0-blue"></a>
<img alt="状态" src="https://img.shields.io/badge/status-alpha-6B7280">
</p>
`openminion` 是 Python-first、本地优先的 AI 代理运行时,当前为 `v0.0.1` 版本的初始公开 alpha 版本。
一个共享的运行时涵盖了 CLI 工作、Python 嵌入、HTTP API 调用、守护进程支持的工作流、工具、会话和本地集成,因此系统保持可检查,而不是在包装器后面消失。
## 信任和品牌安全
- 官方 GitHub:`https://github.com/openminion`
- 官方网站:`https://www.openminion.com`
- 官方 X 账户:`https://x.com/OpenMinion`
OpenMinion 没有官方代币、硬币、NFT、空投、质押计划、 treasury 产品或投资产品。任何声称否则的行为都是未经授权的,应该被视为诈骗。
## 概览
- 当前公开软件包版本:`v0.0.1` alpha
- 目前最适合:本地工作流、有界限、操作员驱动的运行、机器上的工具使用以及希望拥有可检查运行时的贡献者
- 主要界面:CLI、Python API、HTTP API、守护进程支持的工作流、工具、提供者、会话和诊断
- 不声称:OpenMinion 仍在积极开发中,不应被视为已完成的“给予复杂任务然后离开”的自主系统
## OpenMinion 提供的内容
`openminion` 目前提供:
- 运行时核心:具有明确的脑、内存、工具、通道和服务所有权边界的本地运行时
- 用户界面:焦点 shell、CLI 命令、运行时管理员、诊断、导出和会话感知的操作员工作流
- 扩展界面:软件包拥有的工具托管、插件加载、MCP 集成和技能加载
- 集成界面:Python/库导入、结构化 API/运行时入口、配置配置文件和外部服务适配器
- 贡献者界面:示例、脚本、测试、兼容性策略和存储库本地文档,供希望扩展堆栈的人员使用
## OpenMinion 尚未提供的内容
OpenMinion 已经对本地有界工作很有用,但它并不声称是:
- 一个完成的“给予任何复杂任务然后离开”的自主系统
- 一个托管的控制平面或托管云服务
- 一个隐藏运行时状态的黑盒代理包装器
- 代币、硬币、NFT、空投或任何类型的投资产品
## 快速开始
如果您只想进行一次成功的本地运行,请从这里开始:
```bash
export OPENMINION_HOME=.
export OPENMINION_DATA_ROOT="$OPENMINION_HOME/.openminion"
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .
python -m openminion config init
python -m openminion run "hello"
python -m openminion tools list
python -m openminion doctor --check-turn --json
```
如果您想使用交互式界面,请启动默认的焦点 shell:
```bash
python -m openminion
```
## 贡献者设置
1. 在进行代码更改之前,请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 和 [CODE_QUALITY.md](CODE_QUALITY.md)。
2. 保持更改集中,包括验证结果,并避免在同一 PR 中进行无关的重构。
3. 使用 Python 3.11+ 和最近的 `pip`,支持 PEP 660 可编辑安装。
本地工具基准:
```bash
make dev-install
make hooks-install
make lint
```
核心命令:
1. `make fix`
2. `make format`
3. `make lint`
4. `make test`
5. `make check`
6. `make hooks-run`
验证指南:
1. 使用特定于任务的 pytest 或集成命令以及存储库范围的 `ruff check .` 进行正常切片工作,
2. 在功能签署之前使用 `make lint`,
3. 将 `make check` 视为可选的广泛集成扫描,而不是默认的每个任务结束命令,在多代理工作期间,
4. 有关公共验证程序清单和哪些防护是阻塞或建议的,请参阅软件包本地测试和验证文档。
临时工件规则:
1. 广泛的清理文件列表、分类账、扫描输出和临时 JSON/TSV/TXT 工件应位于存储库临时区域,而不是软件包源代码或文档根目录,
2. 持久证据应位于维护的项目文档或跟踪的验证工件中,而不是软件包源代码或软件包文档根目录。
## 软件包布局
```
src/openminion/
api/ # 公共 API/运行时入口
base/ # 基础合约和共享原语
cli/ # CLI 入口和交互式 UX
modules/ # 功能和子系统所有者
services/ # 跨所有者的运行时编排
tools/ # 工具运行时主机 + 工具家族
docs/
README.md
standalone-claim-alignment.md
certification-readiness-matrix.md
runtime-surfaces.md
examples/
scripts/
tests/
API_COMPATIBILITY.md
RELEASING.md
```
工具软件包说明:
1. `src/openminion/tools/` 现在包含运行时主机文件和类似模块的每个工具文件夹,
2. 每个工具文件夹映射到以前独立的 `openminion-tool-*` 软件包,
3. 规范的工具导入是 `openminion.tools.<tool_folder>`。
## 文档和发布
- [`docs/README.md`](docs/README.md) 是软件包本地文档的入口,
- [`docs/certification-readiness-matrix.md`](docs/certification-readiness-matrix.md) 是当前软件包本地证明快照,适用于 `0.0.1` alpha 版本,
- [`docs/runtime-surfaces.md`](docs/runtime-surfaces.md) 映射支持的 CLI、运行时和 Python 库界面,
- [`API_COMPATIBILITY.md`](API_COMPATIBILITY.md) 记录支持的公共导入根和兼容性立场,
- [`RELEASING.md`](RELEASING.md) 记录软件包本地发布检查和发布流程。
## 焦点 shell
默认的 `openminion` 调用是推荐的交互式界面:
1. 在 TTY 上,`openminion`(无子命令)启动终端流焦点 shell — 输出流到终端的主要缓冲区(滚动条像 `git log` 一样工作)。
2. `cat prompt.md | openminion` 在 stdin 上运行单个一次性回合并退出。
3. `openminion focus --rich` 打开 Textual 全 TUI shell(替代屏幕、叠加层、应用内仪表板边 trip)而不是终端流。
4. 每个代理回合都带有 `⏺` 标记、动词旋转思考旋转器、彩色 `●` 工具调用标记和语法高亮代码块(monokai 主题)。
5. `--plain-spinner`(或 `OPENMINION_FOCUS_PLAIN_SPINNER=1` / `NO_COLOR=1`)删除动词旋转但保留已用时间计数器和 `esc to interrupt` 提示。
6. 工具块超过 6 行时会被截断以保持滚动条可读;`/expand` 重新打印最近的完整块,`/expand 2` 选择第二最近的块,`/expand 0` 列出所有截断块。
7. 工具块详细程度有三个级别:`--verbosity quiet` 隐藏工具块(结束回合时显示 `(N tool calls hidden …)` 摘要,如果有非零退出,则显示 `M failed`);`--verbosity normal` 是默认(6 行上限 + `/expand`);`--verbosity verbose` 显示完整的工具正文,最多 200 行。相同的效果通过 `OPENMINION_FOCUS_VERBOSITY=quiet|normal|verbose` 实现。实时覆盖通过 `/quiet`、`/verbose`、`/normal` 斜杠命令。失败的工具调用在标题后显示 `✗ (exit N)`,红色。
8. 编辑和写入工具调用呈现为内联统一 diff 颜色(`+` 绿色行,`-` 红色行,`@@` 标题青色,`---`/`+++` 文件标题粗体)。相同的 FTV 详细程度梯度适用 — `quiet` 隐藏;`normal` 截断为 6 行 + `/expand`;`verbose` 显示最多 200 行;`/expand` 始终显示完整 diff。检测是保守的:如果正文无法识别为统一 diff,则会触发通用工具块渲染。
9. 实时工具执行叙述:在工具运行时,黄色 `●` 标记打印 `Running Bash(ls -la)` 叙述行;完成后,最终的工具块(带有输出、退出代码和 FDR diff 颜色的 Edit/Write)直接打印在下面 — 不会在实时和回合后路径之间重复渲染。安静模式抑制叙述但仍将调用计入结束回合的 `(N tool calls hidden …)` 摘要。
10. 焦点终端流中可用的斜杠命令:`/clear`、`/compact`、`/cost`、`/dashboard`、`/exit`、`/expand`、`/help`、`/init`、`/mcp`、`/model`、`/new`、`/normal`、`/quiet`、`/quit`、`/readonly`、`/resume`、`/sessions`、`/status`、`/tools`、`/verbose`。前缀 `!` 运行 shell 转义。FPC v2 新增功能:`/init` 引导 `OPENMINION.md` 项目内存文件(还检测 `AGENTS.md` / `CLAUDE.md`);`/compact` 总结较旧的回合以回收上下文(通过 `SessionContextService` 实现真正的后端);`/model <provider>` 或 `/model <provider>/<model>` 切换会话的活动模型(重启恢复);`/mcp` 列出配置的 MCP 服务器 + 健康状况 + 工具计数;`/readonly on|off|toggle` 将会话标记为只读(写入工具阻塞强制执行是 FPC-11b)。将图像文件路径粘贴到编辑器中会自动转换为 `[image: <path>]`。可以通过 `.openminion/commands/*.md` (项目)或 `<DATA_ROOT>/commands/*.md` (用户全局)中的 Markdown 文件添加自定义斜杠命令,并使用 `$ARGUMENTS`/`$1..$N`/`@file`/`!` `cmd` `` 插值。
## 旧聊天界面
`openminion chat` 自 `2026-05-10` 起处于维护模式并软弃用:
`openminion chat` 是旧的交互式 REPL 界面。它早于焦点 shell,并继续为依赖它的用户工作,但 **它不再是推荐的交互式界面**。对于新工作,请使用 `openminion`(焦点终端流)。存储库聊天 CLI 宪章记录了完整的维护模式声明、迁移路径和删除标准。在启动聊天时,会打印一行淡化弃用的通知;对于脚本调用,可以使用 `OPENMINION_CHAT_NO_DEPRECATION=1` 抑制它。
聊天专有行为在通知期内保留:
1. `chat` 默认显示等待旋转器;使用 `chat --no-progress` 禁用。
2. 抑制 INFO 日志以获得更干净的聊天界面:`chat --quiet`。
3. 交互式聊天提示和助理行在 TTY 中为彩色编码,带有 `[session|agent]` 上下文。
4. 提示格式为 `[session|agent] you>`。
5. `chat` 在显示最终错误之前会自动重试瞬时回合失败一次。
6. 提供者/API 回合失败在 `chat` 中是非致命的; REPL 保持打开并打印 `[chat] turn failed: ...`。
7. 斜杠命令: `/`、 `/help`、 `/status`、 `/clear`、 `/agent`、 `/session`、 `/tools`、 `/artifacts`、 `/debug`、 `/exit`。
## 跨界面 UX 标志
这些标志统一适用于焦点、网关、运行和代理界面:
1. `--verbosity {quiet,normal,verbose}` — 工具块保真度。`quiet` 隐藏工具块(焦点显示结束回合的 `(N tool calls hidden …)` 摘要;网关/运行/代理直接省略它们);`normal` 是默认(6 行上限 + `/expand`);`verbose` 显示完整的工具正文,最多 200 行上限。
2. `--progress {full,minimal,off}` — 飞行中 chrome。`full` 是 TTY 默认(旋转器 + 已用时间 + 中断提示);`minimal` 保留已用时间计数器但删除动词旋转;`off` 抑制所有 chrome。
3. **自动检测**:当 stdin 或 stdout 被管道化时(例如 `cat prompt | openminion` 或 `openminion run "..." | tee out.txt`),`--progress` 自动默认为 `off`,以保持捕获的输出干净。传递 `--progress full` 以覆盖。
4. 环境变量:`OPENMINION_VERBOSITY=quiet|normal|verbose` 和 `OPENMINION_PROGRESS=full|minimal|off` 持久设置默认值。
5. 旧别名仍然有效:`--no-progress` → `--progress off`;`--plain-spinner` → `--progress minimal`;`OPENMINION_FOCUS_VERBOSITY` 和 `OPENMINION_FOCUS_PLAIN_SPINNER` 仍然解析(带有弃用警告)。
6. `NO_COLOR=1` 遵循通用约定,映射到 `--progress minimal`。
7. Textual `--rich` shell 尚不支持统一的详细程度梯度(延迟到后续轮次);使用默认终端流 shell 以获得完整的 UX。
8. `openminion chat` 处于维护模式,不支持统一的 `--verbosity` / `--progress` 标志。它在其软弃用通知期内保留其自己的现有 `--no-progress` / `--quiet` 标志。存储库聊天 CLI 宪章记录了当前策略。
## 共享日志记录约定
1. `gateway run --quiet` 抑制 INFO 日志以获得更干净的输出。
2. 在不编辑配置的情况下覆盖日志级别:`OPENMINION_LOG_LEVEL=WARNING`。
3. 在 TTY 中保持日志在视觉上次要(淡化日志);强制使用 `OPENMINION_LOG_COLOR=1`,禁用使用 `OPENMINION_LOG_COLOR=0` 或 `NO_COLOR=1`。
4. 使用 `NO_COLOR=1` 或 `OPENMINION_COLOR=0` 禁用聊天颜色;强制使用 `OPENMINION_COLOR=1`。
## 聊天 vs 网关循环
1. `gateway run` 是具有显式通道/目标/一次性/幂等性控制的运行时/操作员路径。
2. 使用 `openminion`(焦点 shell)进行对话式 UX;使用 `gateway run` 进行操作测试和确定性运行时控制。
3. 对于任何 UI 集成或插件,使用网关入口(`/v1/turn*` 或 `GatewayService.run_once`)而不是直接代理服务调用。存储库 UI 网关合同记录了该边界。
4. `openminion chat` 在软弃用通知期内仍受支持,供依赖其特定功能的现有用户使用;新用户应选择焦点或网关。
## 成本和保修
OpenMinion 按照“现状”提供,不提供任何性能、可靠性、可用性、适合特定目的或成本结果的保证或担保。法律允许的最大范围内,项目和贡献者不承担因使用或软件故障而产生的任何损害、损失、停机、计费成本或其他后果的责任。有关完整的法律条款和限制,请参见 `LICENSE`。
OpenMinion 可以配置为调用可能收取使用费的第三方提供者。您单独负责通过您的配置或软件使用而产生的任何提供者、API、云、基础设施或类似费用。
## 配置和更深入的文档
软件包支持多个运行时后端、基于配置文件的配置、内置工具、插件、技能、存储和 HTTP/运行时集成。这些细节故意不包含在此 README 中,以便此 README 保持为通用的公共入口。
在您想深入了解时使用这些文档:
- [`docs/getting-started.md`](docs/getting-started.md) — 软件包引导和贡献者流程
- [`docs/testing-and-validation.md`](docs/testing-and-validation.md) — 烟雾检查和发布验证命令
- [`docs/runtime-surfaces.md`](docs/runtime-surfaces.md) — CLI、运行时和库界面映射
- [`docs/source-tree-owner-map.md`](docs/source-tree-owner-map.md) — 贡献者的源代码布局指南
- [`examples/README.md`](examples/README.md) — 可运行的示例和启动器模板
- [`API_COMPATIBILITY.md`](API_COMPATIBILITY.md) — 公共导入和兼容性立场
- [`RELEASING.md`](RELEASING.md) — 软件包发布检查清单
## 许可证和品牌使用边界
- 源代码许可证:`Apache-2.0`
- 品牌/商标授予:`none`
软件许可证授予使用、修改和重新分发代码的权利。**它不授予使用 OpenMinion 名称、徽标、品牌、网站身份或社交身份的权利,但保留真实属性的归属除外。分叉、克隆和派生分发不能以 OpenMinion 的官方项目呈现或暗示与 OpenMinion 贡献者的关联、认可或维护,除非事实确实如此。
连接信息
猜你喜欢
暂无推荐服务器