Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions MCP_SERVER.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[English overview](README.md) · [中文说明](README_zh-CN.md) · [SOC guide](docs/integrations/soc-reference.md) · [Guard guide](docs/integrations/agent-guard-onboarding.en.md)

OpenWorkProof exposes **32 local MCP tools in version 1.6.0**. Connect them to an existing Agent when you want to inspect signed work records, review supplied security alerts, or check an exported evidence bundle.
OpenWorkProof exposes **32 local MCP tools in version 1.6.1**. Connect them to an existing Agent when you want to inspect signed work records, review supplied security alerts, or check an exported evidence bundle.

You can start with the synthetic alert example below without creating signing keys or connecting a production system. Developers integrating a work-contract workflow can then use the schema, signing, execution and verification tools.

Expand All @@ -27,7 +27,7 @@ For a client that accepts an `mcpServers` configuration, add:
"mcpServers": {
"openworkproof": {
"command": "uvx",
"args": ["--from", "openworkproof==1.6.0", "owp-mcp"]
"args": ["--from", "openworkproof==1.6.1", "owp-mcp"]
}
}
}
Expand All @@ -42,7 +42,7 @@ The configuration location and JSON shape depend on the host. For example, VS Co
If you prefer to install the command first:

```sh
uv tool install 'openworkproof==1.6.0'
uv tool install 'openworkproof==1.6.1'
```

Then configure the MCP client to launch `owp-mcp`, using its absolute executable path if the client's environment cannot find it. An equivalent entry point in an environment where the package is installed is:
Expand All @@ -51,7 +51,7 @@ Then configure the MCP client to launch `owp-mcp`, using its absolute executable
python -m openworkproof.mcp_transport
```

`uvx openworkproof==1.6.0` also starts the MCP server. The explicit `owp-mcp` entry point avoids confusing it with `owp`, which is the separate CLI. A manually started stdio server waits for MCP messages; it does not open a web page or a network port.
`uvx openworkproof==1.6.1` also starts the MCP server. The explicit `owp-mcp` entry point avoids confusing it with `owp`, which is the separate CLI. A manually started stdio server waits for MCP messages; it does not open a web page or a network port.

## 2. Try one complete alert-review example

Expand Down
46 changes: 23 additions & 23 deletions README.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions README_zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ OpenWorkProof(OWP)是一套面向 Agent 开发者和团队的开源工具。

[开始使用](#通过-mcp-开始使用) · [Codex 目录保护](#试用-codex-预览目录保护) · [文档](#文档入口) · [社区](#社区与参与)

当前版本:**1.6.0** · [PyPI](https://pypi.org/project/openworkproof/1.6.0/) · [发行说明](https://github.com/dengyier/OpenWorkProof/releases/tag/v1.6.0) · [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.dengyier%2FOpenWorkProof/versions/1.6.0)
当前版本:**1.6.1** · [PyPI](https://pypi.org/project/openworkproof/1.6.1/) · [发行说明](https://github.com/dengyier/OpenWorkProof/releases/tag/v1.6.1) · [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.dengyier%2FOpenWorkProof/versions/1.6.1)

## 能帮你完成哪些事?

Expand All @@ -32,7 +32,7 @@ OWP 不会自动监控电脑上所有 Agent 和工具。多个 Agent 的统一
"mcpServers": {
"openworkproof": {
"command": "uvx",
"args": ["openworkproof==1.6.0"]
"args": ["openworkproof==1.6.1"]
}
}
}
Expand Down Expand Up @@ -73,7 +73,7 @@ Skill 不会自动配置 MCP 或开启 Guard,仍需单独完成前面的 MCP
安装 CLI 后,在目标 Git 项目里创建 `preview` 目录和 `preview/index.html` 这样的文本文件,再运行:

```sh
uv tool install --python 3.12 'openworkproof==1.6.0'
uv tool install --python 3.12 'openworkproof==1.6.1'
owp-guard install --project "$(pwd -P)" --allow-dir preview
owp-guard enable --project "$(pwd -P)"
owp-guard doctor --project "$(pwd -P)"
Expand Down
14 changes: 8 additions & 6 deletions docs/integrations/agent-guard-onboarding.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ ordinary Codex window is not automatically protected.
- Use a local POSIX environment, a working Git installation and Python 3.12.
The recorded real-host baseline is **macOS, Python 3.12 and Codex CLI 0.147.0**.
That live record was obtained for the 1.5.0 Guard implementation; the current
installation example uses package 1.6.0. It is not a new live acceptance claim
for every 1.6.0 environment. Check compatibility before using another host or
installation example uses package 1.6.1. It is not a new live acceptance claim
for every 1.6.1 environment. Check compatibility before using another host or
version. Windows and WorkBuddy are not verified for this Guard workflow.
- Have Codex CLI installed and signed in with your own account. `enable` runs a
real Codex probe, and `run` executes a real Agent task. Both use your existing
Expand All @@ -41,13 +41,15 @@ git init
mkdir preview
printf '<!doctype html>\n<title>OWP preview</title>\n<h1>Original heading</h1>\n' > preview/index.html
printf '.venv/\n' > .gitignore
python3.12 -m venv --copies .venv
OWP_TRIAL_PYTHON="$(python3.12 -c 'import pathlib,sys; print(pathlib.Path(sys.executable).resolve())')"
"$OWP_TRIAL_PYTHON" -m venv --copies .venv
. .venv/bin/activate
python -m pip install 'openworkproof==1.6.0'
python -m pip install 'openworkproof==1.6.1'
```

The virtual environment keeps this trial's package installation separate from
other projects. `pwd -P` gives a physical path; Guard rejects symbolic-link paths.
Resolving the real Python executable avoids a broken copied environment when
`python3.12` is a symbolic link. The virtual environment keeps this trial's
package installation separate from other projects. `pwd -P` gives a physical path; Guard rejects symbolic-link paths.
The allowed `preview` directory must already exist and be a proper subdirectory
of the project, not the project root or a hidden directory.

Expand Down
12 changes: 7 additions & 5 deletions docs/integrations/agent-guard-onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

中文 | [English](agent-guard-onboarding.en.md)

自 1.5.0 起提供的实验性命令:承接 Codex 预览目录保护,完成安装后的启用与确认生效;当前安装示例为 1.6.0,以下 1.5.0 实现实机记录来自 2026-10-26,不代表所有 1.6.0 环境重新完成实机验收。
自 1.5.0 起提供的实验性命令:承接 Codex 预览目录保护,完成安装后的启用与确认生效;当前安装示例为 1.6.1,以下 1.5.0 实现实机记录来自 2026-10-26,不代表所有 1.6.1 环境重新完成实机验收。
不改现有运行时策略,不重写用户的 Codex 配置,不使用跳过 Hook 信任检查的参数。

## 用户流程
Expand Down Expand Up @@ -36,7 +36,7 @@

## 使用方法

使用当前 1.6.0 包中的独立命令;该入口始于 1.5.0。安装或连接 MCP 不会自动启用 Guard。
使用当前 1.6.1 包中的独立命令;该入口始于 1.5.0。安装或连接 MCP 不会自动启用 Guard。
先准备已登录的 Codex CLI、Git 和 Python 3.12。已记录的实机基线为 macOS、Python 3.12、
Codex CLI 0.147.0,其他 POSIX 环境需先核查兼容性。软件包的一般要求是 Python 3.10+,
不能把它等同于 Guard 的实机验证范围。
Expand All @@ -56,11 +56,13 @@ git init
mkdir preview
printf '<!doctype html>\n<title>OWP preview</title>\n<h1>Original heading</h1>\n' > preview/index.html
printf '.venv/\n' > .gitignore
python3.12 -m venv --copies .venv
OWP_TRIAL_PYTHON="$(python3.12 -c 'import pathlib,sys; print(pathlib.Path(sys.executable).resolve())')"
"$OWP_TRIAL_PYTHON" -m venv --copies .venv
. .venv/bin/activate
python -m pip install 'openworkproof==1.6.0'
python -m pip install 'openworkproof==1.6.1'
```

先解析 Python 的真实位置,避免 `python3.12` 是符号链接时复制出的环境无法启动。
这个虚拟环境将本次安装与其他项目隔开。`preview` 必须是已存在的项目子目录,不能直接
授权整个项目、隐藏目录或 `.codex`。这里的 HTML 文件只是预览副本,不会构建、部署或发布。

Expand Down Expand Up @@ -90,7 +92,7 @@ owp-guard doctor --project "$OWP_TRIAL_PROJECT"
}
```

这是当前程序的预期结果形状,不是一次新的 1.6.0 实机验收回执。若 `ready_for_guarded_run`
这是当前程序的预期结果形状,不是一次新的 1.6.1 实机验收回执。若 `ready_for_guarded_run`
为 false,先查看实际原因,不能绕过信任或改用普通 Codex 启动后仍称为已保护。升级、重装、
范围、配置或宿主变化后,需要重新启用并完成检查。

Expand Down
8 changes: 4 additions & 4 deletions docs/integrations/soc-reference.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# AI-SOC reference integration (OpenWorkProof 1.6.0)
# AI-SOC reference integration (OpenWorkProof 1.6.1)

This is an experimental reference workflow for **reviewing supplied Slips alerts and checking exported evidence**. It uses a synthetic-trained model release gate, deterministic investigation stub and simulated in-memory execution. It does not install an IDS, protect the whole computer, connect to a real AiSOC service, provide OS isolation/HSM, or perform real host remediation. Installing MCP or this Skill does not activate OWP Guard.

Expand All @@ -7,7 +7,7 @@ The `aisoc` package originates from Tim / alphatin123's MIT-licensed contributio
## Install and connect

```sh
uv tool install 'openworkproof==1.6.0'
uv tool install 'openworkproof==1.6.1'
```

An MCP client can start the existing stdio server with:
Expand All @@ -17,13 +17,13 @@ An MCP client can start the existing stdio server with:
"mcpServers": {
"openworkproof": {
"command": "uvx",
"args": ["openworkproof==1.6.0"]
"args": ["openworkproof==1.6.1"]
}
}
}
```

The original 29 MCP tools remain; this release adds three reference tools:
Introduced in 1.6.0, the three reference tools below remain available alongside the original 29 MCP tools:

| Tool | Input and result |
| --- | --- |
Expand Down
4 changes: 2 additions & 2 deletions llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Current release

OpenWorkProof 1.6.0 exposes 32 local stdio MCP tools. The Python package requires Python 3.10 or newer. The package also includes a separately enabled experimental Codex Guard and an experimental SOC reference CLI. Publication, installation, protection, verification and human acceptance are separate facts.
OpenWorkProof 1.6.1 exposes 32 local stdio MCP tools. The Python package requires Python 3.10 or newer. The package also includes a separately enabled experimental Codex Guard and an experimental SOC reference CLI. Publication, installation, protection, verification and human acceptance are separate facts.

## Start with a concrete task

Expand All @@ -15,7 +15,7 @@ OpenWorkProof 1.6.0 exposes 32 local stdio MCP tools. The Python package require

## Connect MCP

Use a stdio-capable local MCP client to launch `uvx --from openworkproof==1.6.0 owp-mcp`. The MCP client manages this process. There is no hosted remote endpoint or API key in this setup. `owp` is the separate CLI, not the stdio server.
Use a stdio-capable local MCP client to launch `uvx --from openworkproof==1.6.1 owp-mcp`. The MCP client manages this process. There is no hosted remote endpoint or API key in this setup. `owp` is the separate CLI, not the stdio server.

The optional `openworkproof-soc-review` Agent Skill is installable with `npx skills add dengyier/OpenWorkProof --skill openworkproof-soc-review`. The Skill supplies instructions; it does not configure MCP or grant host permissions.

Expand Down
4 changes: 2 additions & 2 deletions mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@
"name": "dengyier"
},
"license": "Apache-2.0 AND MIT",
"version": "1.6.0",
"version": "1.6.1",
"packages": [
{
"registryType": "pypi",
"identifier": "openworkproof",
"version": "1.6.0",
"version": "1.6.1",
"transport": {
"type": "stdio"
}
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "openworkproof"
version = "1.6.0"
version = "1.6.1"
description = "Agent work contracts and verifiable execution protocol — Ed25519-signed, offline-verifiable proof-carrying work for AI agents."
readme = "README.md"
license = "Apache-2.0 AND MIT"
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
},
"title": "OpenWorkProof",
"websiteUrl": "https://github.com/dengyier/OpenWorkProof",
"version": "1.6.0",
"version": "1.6.1",
"packages": [
{
"registryType": "pypi",
"identifier": "openworkproof",
"version": "1.6.0",
"version": "1.6.1",
"transport": {
"type": "stdio"
}
Expand Down
2 changes: 1 addition & 1 deletion src/openworkproof/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = "1.6.0"
__version__ = "1.6.1"

from importlib import import_module

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{
"schema_version": "openworkproof-image-candidate-inventory/0.2",
"source_revision": "8ade6b95c0ef41534e2f68831bff8d30a14e0162",
"base_image": {
"reference": "docker.io/library/python@sha256:57cd7c3a7a273101a6485ba99423ee568157882804b1124b4dd04266317710de",
"platform": "linux/arm64",
"python_version": "3.12.13"
},
"build_inputs": {
"global": {
"project_requirements_lock_sha256": "be6f8e10d7a82b978913eb2b6a73ee11efc5a9af623e5a783163e3cb78179f8c",
"full_wheelhouse_sha256sums_sha256": "e8d3ccaaa1cf735113e7bd533637cef028d710725981fbe20968179c70ea3a72"
},
"execution": {
"dockerfile_sha256": "ed415c1e0f6dd54e94aca73a860af3259fab44fafc542e507a2508dfda07d0eb",
"requirements_lock_sha256": "f60a9bd1cc239a5c2eab11e92665d1af10f457ee06381398350d9ddf0b8d4c70",
"runner_sha256": "a9eb1afc84ced1b573473d64d0e2fb9d7f05dfb9ead057b978720721bbb828d4",
"fixed_test_source_sha256": "79b8f001ae89c394901d5ba618e79821dd6d78dd6194de3023a28fcac6f130a6",
"wheel_sha256sums_sha256": "d34350069473b90a356fc24f41362bd457c87112ac82ad5f3468ebc97b5df5b2"
},
"trusted_helper": {
"dockerfile_sha256": "e30ddb6023c1f19ca05c3e62b213e42a07743f7560d8aa3f36e805e61d4f6b75",
"requirements_lock_sha256": "a6fc946cbfb709962f85a38d5c3c5d605dc0885a363bf25045a9e5c4dd783435",
"debian_packages_lock_sha256": "d19818e666e1e62644a264d5ef28a8779e04b549e402351f9b1c1cbd90a470b1",
"source_allowlist_sha256": "4933cb72b5f2b476c8d46a91eced70b511aca3601ebbcfffc7c5d7de68c995f7",
"wheel_sha256sums_sha256": "1e75f54377e6fe7e303b60c6ad3c07bbaa886986a938b2b4f00ff5cf76e45dcf",
"deb_sha256sums_sha256": "79095383da9e8413666d9d8e78c04b57197adcd616358fdea87e5d0a98c8460e",
"helper_src_sha256sums_sha256": "29f9436f1b6619f9db592e0f63c2b6caa76622c00bf42f09113b1c288b3fe7ee"
}
},
"images": {
"execution": {
"candidate_name": "openworkproof/execution-test:8ade6b95c0ef41534e2f68831bff8d30a14e0162",
"local_image_id": "sha256:174371a93063071c686f6cb95b46746c38a18fef540ea1d437b0c07560fc9077",
"local_repo_digests": [
"openworkproof/execution-test@sha256:174371a93063071c686f6cb95b46746c38a18fef540ea1d437b0c07560fc9077"
],
"platform": "linux/arm64",
"user": "65532:65532",
"entrypoint": [
"/opt/venv/bin/python",
"-I",
"/opt/openworkproof/run_tests_runner.py"
],
"cmd": [
"execute"
],
"labels": {
"org.opencontainers.image.description": "Offline Python 3.12 pytest runtime for the fixed Rich 15 source test",
"org.opencontainers.image.revision": "8ade6b95c0ef41534e2f68831bff8d30a14e0162",
"org.opencontainers.image.source": "https://github.com/dengyier/OpenWorkProof",
"org.opencontainers.image.title": "OpenWorkProof Rich execution/test candidate",
"org.openworkproof.base.digest": "sha256:57cd7c3a7a273101a6485ba99423ee568157882804b1124b4dd04266317710de",
"org.openworkproof.image.role": "execution-test"
},
"oci_manifest_digest": "sha256:8baedaacddbf9e1ea09856b54c7bebce70c42d936267b6206e56de10f7139212",
"archives": {
"docker": {
"format": "docker-archive",
"filename": "openworkproof-execution-test-candidate.docker-archive.tar",
"sha256": "b56e2a875a4755bc75ce94e9b5b39150736d86dcbc9345582d8fc7435f9ffca5"
},
"oci": {
"format": "oci-image-layout-archive",
"filename": "openworkproof-execution-test-candidate.oci-archive.tar",
"sha256": "e5620b7f9bd96fe8f3e18499131e4d1defac050b5721017f68d6ea6cdd1b2058"
}
}
},
"trusted_helper": {
"candidate_name": "openworkproof/trusted-helper-candidate:8ade6b95c0ef41534e2f68831bff8d30a14e0162",
"local_image_id": "sha256:cc9da4aaf9cb13fee24038da82235aaa65cc18252d390524b500b42a270da5f2",
"local_repo_digests": [
"openworkproof/trusted-helper-candidate@sha256:cc9da4aaf9cb13fee24038da82235aaa65cc18252d390524b500b42a270da5f2"
],
"platform": "linux/arm64",
"user": "65532:65532",
"entrypoint": [
"/opt/venv/bin/python",
"-I",
"-m",
"openworkproof.trusted_helper"
],
"cmd": null,
"labels": {
"org.opencontainers.image.description": "Offline candidate containing Git and the frozen OpenWorkProof helper subset",
"org.opencontainers.image.revision": "8ade6b95c0ef41534e2f68831bff8d30a14e0162",
"org.opencontainers.image.source": "https://github.com/dengyier/OpenWorkProof",
"org.opencontainers.image.title": "OpenWorkProof trusted-helper candidate",
"org.openworkproof.base.digest": "sha256:57cd7c3a7a273101a6485ba99423ee568157882804b1124b4dd04266317710de",
"org.openworkproof.image.role": "trusted-helper-candidate"
},
"oci_manifest_digest": "sha256:2ffc340155bd9652387d223eb9fd6571aeb08c1843c0f0ed292f0a3b1e9aedef",
"archives": {
"docker": {
"format": "docker-archive",
"filename": "openworkproof-trusted-helper-candidate.docker-archive.tar",
"sha256": "a921050511ee65214aa299cb5a32c873e4a5dd01df03618fd4b8cdef159abee9"
},
"oci": {
"format": "oci-image-layout-archive",
"filename": "openworkproof-trusted-helper-candidate.oci-archive.tar",
"sha256": "33c0fafce83e003f2d831b8a08dc7df179f4fac7b70e83efd7ecd0cabdb1c094"
}
}
}
},
"external_layout": {
"local_root": "/Users/molin/Project/openWorkProof-delivery",
"path_rule": "join-local-root-with-relative-path-no-parent-traversal",
"relative_paths": {
"wheelhouse": "wheelhouse/linux-arm64-cp312-full",
"git_deb_closure": "debs/linux-arm64-trixie-git",
"execution_build_context": "build-contexts/8ade6b95c0ef41534e2f68831bff8d30a14e0162/execution",
"trusted_helper_build_context": "build-contexts/8ade6b95c0ef41534e2f68831bff8d30a14e0162/trusted-helper",
"archives": "oci/8ade6b95c0ef41534e2f68831bff8d30a14e0162"
}
},
"license": {
"status": "PENDING",
"spdx": "NOASSERTION",
"oci_label_present": false
},
"claims": {
"registry_pushed": false,
"acceptor_access": false,
"clean_cache_reacquisition": false,
"final_trusted_helper": false,
"delivery_signoff_pass": false,
"acceptor_acquisition_path": null
}
}
Loading
Loading