From 7905fb634fe447243668c2d01179ce5cb2cdb275 Mon Sep 17 00:00:00 2001 From: Evan Gong Date: Tue, 3 Nov 2026 19:21:50 +0800 Subject: [PATCH] chore: prepare 3.0.0 stable release candidate --- README.ja.md | 6 +++--- README.ko.md | 6 +++--- README.md | 6 +++--- README.zh-CN.md | 6 +++--- docs/installation.md | 10 +++++----- docs/v3-release-evidence.md | 4 ++++ install.ps1 | 4 ++-- install.sh | 2 +- openkyrozen/__init__.py | 2 +- pyproject.toml | 4 ++-- tests/test_distribution.py | 23 +++++++++++++---------- tests/test_update_transaction.py | 3 ++- tui/model.go | 2 +- website/assets/install-platform.js | 4 ++-- website/build_site.py | 16 ++++++++-------- 15 files changed, 53 insertions(+), 45 deletions(-) diff --git a/README.ja.md b/README.ja.md index f5e4a445..3c7aaddc 100644 --- a/README.ja.md +++ b/README.ja.md @@ -19,14 +19,14 @@ OpenKyrozen は Python **3.12 と 3.13** をサポートします。Python 3.14 ### macOS または Linux ```bash -curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh +curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh kyrozen ``` ### Windows PowerShell ```powershell -irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex +irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex kyrozen ``` @@ -53,7 +53,7 @@ make run ### 検証済み release wheel を直接インストール ```bash -uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v2.0.8/openkyrozen-2.0.8-py3-none-any.whl +uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v3.0.0/openkyrozen-3.0.0-py3-none-any.whl ``` ## クイックスタート diff --git a/README.ko.md b/README.ko.md index f6dd6cc0..d8556a88 100644 --- a/README.ko.md +++ b/README.ko.md @@ -19,14 +19,14 @@ OpenKyrozen은 Python **3.12와 3.13**을 지원합니다. Python 3.14는 지원 ### macOS 또는 Linux ```bash -curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh +curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh kyrozen ``` ### Windows PowerShell ```powershell -irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex +irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex kyrozen ``` @@ -53,7 +53,7 @@ make run ### 검증된 release wheel 직접 설치 ```bash -uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v2.0.8/openkyrozen-2.0.8-py3-none-any.whl +uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v3.0.0/openkyrozen-3.0.0-py3-none-any.whl ``` ## 빠른 시작 diff --git a/README.md b/README.md index 923082f6..7ee04a39 100644 --- a/README.md +++ b/README.md @@ -12,19 +12,19 @@ ## Install -The current published stable release is **v2.0.8**. It supports Python 3.12 and 3.13; Python 3.14 is outside the supported range. +This release is **v3.0.0**. It supports Python 3.12 and 3.13; Python 3.14 is outside the supported range. macOS or Linux: ```sh -curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh +curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh kyrozen ``` Windows PowerShell: ```powershell -irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex +irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex kyrozen ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index f497ccff..c4a7aded 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -19,14 +19,14 @@ OpenKyrozen 支持 Python **3.12 和 3.13**。Python 3.14 暂不支持。 ### macOS 或 Linux ```bash -curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh +curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh kyrozen ``` ### Windows PowerShell ```powershell -irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex +irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex kyrozen ``` @@ -53,7 +53,7 @@ make run ### 直接安装已验证的 release wheel ```bash -uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v2.0.8/openkyrozen-2.0.8-py3-none-any.whl +uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v3.0.0/openkyrozen-3.0.0-py3-none-any.whl ``` ## 快速开始 diff --git a/docs/installation.md b/docs/installation.md index 19a36236..d6083690 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -2,21 +2,21 @@ ## Requirements -The published v2.0.8 release supports Python 3.12 and 3.13. Python 3.14 is excluded by the package metadata. The official installers provision Python through `uv`; a source checkout needs Git and a supported Python. The optional Bubble Tea terminal UI is a Go binary distributed with the release. Docker uses Python 3.12. See the live [release page](https://github.com/EvanProgramming/OpenKyrozen/releases/latest) before copying a pinned command: installer examples below identify the current release as of 5 October 2026. +The v3.0.0 release supports Python 3.12 and 3.13. Python 3.14 is excluded by the package metadata. The official installers provision Python through `uv`; a source checkout needs Git and a supported Python. The optional Bubble Tea terminal UI is a Go binary distributed with the release. Docker uses Python 3.12. See the live [release page](https://github.com/EvanProgramming/OpenKyrozen/releases/latest) before copying a pinned command: installer examples below identify the v3.0.0 release. ## Install the published release On macOS or Linux: ```sh -curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh +curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh kyrozen --version ``` On Windows PowerShell: ```powershell -irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex +irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex kyrozen --version ``` @@ -26,7 +26,7 @@ For a direct Python install, add the optional web server dependencies explicitly ```sh uv tool install --python 3.12 --force --with fastapi --with uvicorn \ - https://github.com/EvanProgramming/OpenKyrozen/releases/download/v2.0.8/openkyrozen-2.0.8-py3-none-any.whl + https://github.com/EvanProgramming/OpenKyrozen/releases/download/v3.0.0/openkyrozen-3.0.0-py3-none-any.whl kyrozen --version ``` @@ -69,7 +69,7 @@ The value shown is a shell placeholder; replace it locally and never commit a re For an installed release, type `/update` in the running agent. The updater selects one verified source revision for Python and the terminal binary, checks installed package provenance, and stages the replacement TUI before activation. Restart when prompted so the new process loads the installed version. Updates need network access and package dependencies; errors and partial outcomes include recovery instructions. -The published v2.0.8 one-line installers are pinned. The update command tracks the latest verified `main` revision, so it can install a development revision newer than the release version. If startup reports an incomplete update, exit and rerun the official installer. `kyrozen --help` is also intended to remain available for recovery. Historical Windows installations that predate the staged updater should exit the application and run the current official installer before updating. +The v3.0.0 one-line installers are pinned. The update command tracks the latest verified `main` revision, so it can install a development revision newer than the release version. If startup reports an incomplete update, exit and rerun the official installer. `kyrozen --help` is also intended to remain available for recovery. Historical Windows installations that predate the staged updater should exit the application and run the current official installer before updating. ## State and uninstalling diff --git a/docs/v3-release-evidence.md b/docs/v3-release-evidence.md index 7e64b3be..9e93c17f 100644 --- a/docs/v3-release-evidence.md +++ b/docs/v3-release-evidence.md @@ -75,3 +75,7 @@ python -m scripts.publish_v3_preview \ The publisher verifies the commit signature, the signed manifest, every gate and waiver again, and the release workflow's V3 guard. It builds from the committed Git tree, signs an artifact hash record, and creates a signed tag bound to that commit. It creates a **draft prerelease**, downloads and hashes its assets, revalidates the evidence, and only then publishes it as a prerelease. Release notes identify every waived gate and its limitations. If a tag already exists, its signature and remote identity must match before retrying. If publication or its final verification is interrupted, inspect the GitHub release and tag before retrying; the publisher never overwrites an existing release. Preview usage is limited to Linux and macOS with the filesystem sandbox required. Set `KYROZEN_SANDBOX_REQUIRED=1` when running `kyrozen` or `kyrozen-web`; unavailable required protection blocks execution. Preview `/update` verifies the version at the selected main-branch revision and refuses to stage an older or unverifiable version. It supports numeric release, `a`, `b`, `rc`, and `.dev` versions; an unsupported version format is rejected until the user installs an appropriate release explicitly. Windows remains in the acceptance matrix, but is outside preview distribution scope. + +## Full V3 release + +The full release candidate uses package version `3.0.0` and tag `v3.0.0`. A full release requires an exact-candidate signed manifest with all 17 gates passed; limited-evidence manifests and waivers do not qualify. The preview publisher only accepts development versions and cannot publish the full release. Keep the V3 automatic-tag exclusion in place, validate the signed full manifest and candidate signature, and publish the signed candidate artifacts only after all release checks and evidence pass. diff --git a/install.ps1 b/install.ps1 index aaf971c5..9a1b3fdd 100644 --- a/install.ps1 +++ b/install.ps1 @@ -19,11 +19,11 @@ function Warn([string]$Message) { } if ($ShowHelp) { - Write-Output "OpenKyrozen installer: installs the pinned v2.0.8 GitHub release, uv, Python 3.12/3.13, and the Bubble Tea terminal UI." + Write-Output "OpenKyrozen installer: installs the pinned v3.0.0 GitHub release, uv, Python 3.12/3.13, and the Bubble Tea terminal UI." exit 0 } -$releaseVersion = "2.0.8" +$releaseVersion = "3.0.0" $releaseTag = "v$releaseVersion" $goVersion = "1.27.1" $releaseBaseUrl = "https://github.com/EvanProgramming/OpenKyrozen/releases/download/$releaseTag" diff --git a/install.sh b/install.sh index 4455edd7..fbfe8226 100755 --- a/install.sh +++ b/install.sh @@ -2,7 +2,7 @@ set -eu -release_version='3.0.0.dev1' +release_version='3.0.0' release_tag="v$release_version" go_version='1.27.1' release_base_url="https://github.com/EvanProgramming/OpenKyrozen/releases/download/$release_tag" diff --git a/openkyrozen/__init__.py b/openkyrozen/__init__.py index cf2f406c..ab23fc9d 100644 --- a/openkyrozen/__init__.py +++ b/openkyrozen/__init__.py @@ -1,2 +1,2 @@ """OpenKyrozen modular agent application.""" -__version__ = "3.0.0.dev1" +__version__ = "3.0.0" diff --git a/pyproject.toml b/pyproject.toml index 16094465..575dcc2f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "openkyrozen" -version = "3.0.0.dev1" +version = "3.0.0" description = "Self-learning AI Agent with broad LLM provider support" readme = "README.md" license = {text = "MIT"} @@ -14,7 +14,7 @@ authors = [ ] keywords = ["ai", "agent", "llm", "self-learning", "deepseek", "chatbot", "cli"] classifiers = [ - "Development Status :: 3 - Alpha", + "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.12", diff --git a/tests/test_distribution.py b/tests/test_distribution.py index d43a11db..c9d20185 100644 --- a/tests/test_distribution.py +++ b/tests/test_distribution.py @@ -33,6 +33,7 @@ def selected(tag): return result self.assertTrue(selected("v2.0.8")) + self.assertFalse(selected("v3.0.0")) self.assertFalse(selected("v3.0.0.dev1")) self.assertIn("!startsWith(inputs.release_tag || github.ref_name, 'v3.')", workflow["jobs"]["build-release"]["if"]) @@ -98,9 +99,10 @@ def test_pyproject_exposes_both_entry_points_and_launch_module(self): with (ROOT / "pyproject.toml").open("rb") as handle: document = tomllib.load(handle) project = document["project"] - self.assertEqual(project["version"], "3.0.0.dev1") - self.assertIn("Development Status :: 3 - Alpha", project["classifiers"]) - self.assertNotIn("Development Status :: 5 - Production/Stable", project["classifiers"]) + self.assertEqual(project["version"], "3.0.0") + self.assertIn('var version = "3.0.0"', (ROOT / "tui" / "model.go").read_text()) + self.assertIn("Development Status :: 5 - Production/Stable", project["classifiers"]) + self.assertNotIn("Development Status :: 3 - Alpha", project["classifiers"]) self.assertEqual(project["requires-python"], ">=3.12,<3.14") self.assertEqual(project["scripts"]["kyrozen"], "openkyrozen.interfaces.cli.launcher:main") self.assertEqual(project["scripts"]["kyrozen-backend"], "openkyrozen.interfaces.tui.backend:main") @@ -174,12 +176,12 @@ def test_tag_release_workflow_validates_source_and_installed_artifacts(self): def test_public_install_paths_pin_the_verified_release(self): release_url = ( "https://github.com/EvanProgramming/OpenKyrozen/releases/download/" - "v2.0.8/openkyrozen-2.0.8-py3-none-any.whl" + "v3.0.0/openkyrozen-3.0.0-py3-none-any.whl" ) for readme in sorted(ROOT.glob("README*.md")): text = readme.read_text(encoding="utf-8") with self.subTest(readme=readme.name): - self.assertIn("raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/", text) + self.assertIn("raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/", text) wheel_urls = re.findall( r"https://github\.com/EvanProgramming/OpenKyrozen/releases/download/[^\s)]+\.whl", text, @@ -202,7 +204,7 @@ def test_posix_installer_has_valid_syntax_and_idempotent_user_path_logic(self): self.assertIn('PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH"', text) self.assertIn("grep -Fq '$HOME/.local/bin'", text) self.assertIn('tool install --python', text) - self.assertIn("release_version='3.0.0.dev1'", text) + self.assertIn("release_version='3.0.0'", text) self.assertIn("-X main.revision=$release_tag", text) self.assertIn("releases/download", text) self.assertIn("--with fastapi --with uvicorn", text) @@ -237,7 +239,8 @@ def test_powershell_installer_is_static_safe_and_parses_when_available(self): self.assertIn("[Environment]::GetEnvironmentVariable(\"Path\", \"User\")", text) self.assertIn("SetEnvironmentVariable(\"Path\"", text) self.assertIn("tool install --python", text) - self.assertIn("v2.0.8", text) + self.assertIn("v3.0.0", text) + self.assertIn('$releaseVersion = "3.0.0"', text) self.assertIn("-X main.revision=$releaseTag", text) self.assertIn("releases/download", text) self.assertIn("--with fastapi --with uvicorn", text) @@ -282,7 +285,7 @@ def test_posix_installer_retries_with_uncached_uv_install(self): fi if [ "$1" = "--no-cache" ] && [ "$2" = "tool" ] && [ "$3" = "install" ]; then mkdir -p "$HOME/.local/bin" - printf '%s\n' '#!/bin/sh' 'if [ "$1" = "--version" ]; then printf "%s\n" "OpenKyrozen 3.0.0.dev1"; fi' > "$HOME/.local/bin/kyrozen" + printf '%s\n' '#!/bin/sh' 'if [ "$1" = "--version" ]; then printf "%s\n" "OpenKyrozen 3.0.0"; fi' > "$HOME/.local/bin/kyrozen" chmod +x "$HOME/.local/bin/kyrozen" exit 0 fi @@ -324,7 +327,7 @@ def test_cli_and_web_help_version_flags_work_without_provider_setup(self): }) commands = [ ([sys.executable, str(ROOT / "main.py"), "--help"], "--project"), - ([sys.executable, str(ROOT / "main.py"), "--version"], "OpenKyrozen 3.0.0.dev1"), + ([sys.executable, str(ROOT / "main.py"), "--version"], "OpenKyrozen 3.0.0"), ([sys.executable, str(ROOT / "server.py"), "--help"], "--reload"), ] for command, marker in commands: @@ -338,7 +341,7 @@ def test_cli_and_web_help_version_flags_work_without_provider_setup(self): from openkyrozen.interfaces.web.service import WebService server = WebService(None) - self.assertEqual(server.app.version, "3.0.0.dev1") + self.assertEqual(server.app.version, "3.0.0") def test_web_parser_accepts_project_and_server_flags(self): from openkyrozen.interfaces.web.service import WebService diff --git a/tests/test_update_transaction.py b/tests/test_update_transaction.py index 26da84f5..d0376b51 100644 --- a/tests/test_update_transaction.py +++ b/tests/test_update_transaction.py @@ -130,7 +130,8 @@ def test_no_verified_source_does_not_install(self): self.assertEqual(result.components['python'], 'unchanged') def test_preview_does_not_fall_back_to_unverified_release_version(self): - with patch('openkyrozen.updates.service.Path.home', return_value=self.home), \ + with patch.object(self.runtime, 'RELEASE_VERSION', '3.0.0.dev1'), \ + patch('openkyrozen.updates.service.Path.home', return_value=self.home), \ patch('openkyrozen.updates.service.shutil.which', return_value='/bin/uv'), \ patch.object(self.runtime, '_resolve_update_revision', return_value=None), \ patch.object(self.runtime, '_release_tui_asset_available', return_value=True), \ diff --git a/tui/model.go b/tui/model.go index aef6d97b..2cc6a3a6 100644 --- a/tui/model.go +++ b/tui/model.go @@ -8,7 +8,7 @@ import ( "time" ) -var version = "2.0.8" +var version = "3.0.0" var openKyrozenBanner = []string{ " ███ ████ █████ █ █ █ █ █ █ ████ ███ █████ █████ █ █", diff --git a/website/assets/install-platform.js b/website/assets/install-platform.js index 5487fce4..9e2db3b5 100644 --- a/website/assets/install-platform.js +++ b/website/assets/install-platform.js @@ -8,6 +8,6 @@ export function detectInstallPlatform(hints = {}) { export function installCommand(platform) { return platform === "windows" - ? "irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex" - : "curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh"; + ? "irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex" + : "curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh"; } diff --git a/website/build_site.py b/website/build_site.py index 9e9a4ba2..17c3859e 100644 --- a/website/build_site.py +++ b/website/build_site.py @@ -18,8 +18,8 @@ "zh-cn": {"home": "/zh-cn/", "features": "/zh-cn/features/", "install": "/zh-cn/install/", "faq": "/zh-cn/faq/", "docs": "/zh-cn/docs/"}, } INSTALL_COMMANDS = { - "unix": "curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh", - "windows": "irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex", + "unix": "curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh", + "windows": "irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex", } PAGES = { @@ -87,10 +87,10 @@ "body": """

RECOMMENDED · macOS OR LINUX

Install from a terminal.

Run the installer, then launch OpenKyrozen. The first run guides you through provider setup.

-
Shell
curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh
+  
Shell
curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh
 kyrozen

WINDOWS POWERSHELL

Use the Windows installer.

-
PowerShell
irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex
+  
PowerShell
irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex
 kyrozen

@@ -102,7 +102,7 @@

OTHER PATHS

Prefer to work from source?

A

Clone the repository

For development, install the project dependencies and run the agent from the checkout.

git clone https://github.com/EvanProgramming/OpenKyrozen.git
cd OpenKyrozen
make install
make run
Source repository
-
B

Install the verified wheel

Use the project’s published release wheel with uv and Python 3.12.

uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v2.0.8/openkyrozen-2.0.8-py3-none-any.whl
Browse releases
+
B

Install the verified wheel

Use the project’s published release wheel with uv and Python 3.12.

uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v3.0.0/openkyrozen-3.0.0-py3-none-any.whl
Browse releases

NEXT

See what OpenKyrozen can do.

Learn about the tools, memory, learning system, and safety model.

Explore capabilities
@@ -193,10 +193,10 @@ "body": """

推荐 · macOS 或 Linux

在终端中安装。

运行安装程序后启动 OpenKyrozen。首次启动会引导你配置模型服务商。

-
Shell
curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.sh | sh
+  
Shell
curl -fsSL https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.sh | sh
 kyrozen

WINDOWS POWERSHELL

使用 Windows 安装程序。

-
PowerShell
irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v2.0.8/install.ps1 | iex
+  
PowerShell
irm https://raw.githubusercontent.com/EvanProgramming/OpenKyrozen/v3.0.0/install.ps1 | iex
 kyrozen

@@ -208,7 +208,7 @@

其他方式

更喜欢从源码运行?

A

克隆代码仓库

用于开发的方式:安装项目依赖并从源码目录运行智能体。

git clone https://github.com/EvanProgramming/OpenKyrozen.git
cd OpenKyrozen
make install
make run
源代码仓库
-
B

安装已验证的 wheel

使用 uv 和 Python 3.12 安装项目发布的 wheel。

uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v2.0.8/openkyrozen-2.0.8-py3-none-any.whl
查看发布版本
+
B

安装已验证的 wheel

使用 uv 和 Python 3.12 安装项目发布的 wheel。

uv tool install --python 3.12 --force --with fastapi --with uvicorn https://github.com/EvanProgramming/OpenKyrozen/releases/download/v3.0.0/openkyrozen-3.0.0-py3-none-any.whl
查看发布版本

下一步

了解 OpenKyrozen 能做什么。

查看工具、记忆、学习系统与安全模型。

浏览产品能力