MasterProgramX/assisted-by-guard
GitHub: MasterProgramX/assisted-by-guard
Assisted-By Guard 是一个确定性的 GitHub Action 与 CLI 工具,用于检查 pull request 是否遵循仓库定义的 AI 辅助贡献披露策略,以 DCO 式机制保障人类问责的透明度。
Stars: 0 | Forks: 0
# Assisted-By Guard
针对 AI 辅助开源贡献的 DCO 式问责机制。
Assisted-By Guard 是一个开源的 GitHub Action 和 CLI,用于检查 pull request 是否遵循仓库的 AI 贡献披露策略。它是确定性的,无需 AI API 即可运行,并专注于透明的人类问责。
本项目不是 AI 检测器。它也不是 AI PR 审查器。它不会指责贡献者使用 AI。相反,它会检查明确的仓库规则,例如 DCO 式的人工签署、认可的披露 trailer、新文件的 SPDX 标头,以及是否将 AI 工具排除在 DCO 签署者字段之外。
人类仍然对 DCO 和签署负责。AI 工具绝不能被视为 DCO 签署者。
## 状态
本仓库目前包含初始的 MVP 结构:
- `packages/core`:确定性的策略、trailer、SPDX 和 Markdown 报告辅助工具
- `packages/cli`:用于显式文件输入、测试夹具和 git 范围的本地 CLI 骨架
- `packages/github-action`:用于显式本地输入文件和只读 PR 事件收集的捆绑 Action 包装器
- `examples`:宽松、咨询性和严格策略示例
- `docs`:策略和使用说明
核心包和 CLI 保持无网络状态。GitHub Action 可以选择在 `pull_request` 工作流中使用只读 GitHub API 调用,以收集提交信息和新添加的源文件。MVP 中不包含 PR 变更、评论、遥测、配置的 secrets 或 AI/API 集成。
本仓库在 pull request 的咨询模式下使用自身的 Action 进行“吃自己的狗粮”(内部测试)。在该项目继续成熟的过程中,该工作流特意保持只读和非变更状态。
## 安装
```
pnpm install
pnpm build
pnpm test
```
## CLI
CLI 命令是 `assisted-by`。
```
assisted-by init
assisted-by check-commits --input examples/fixtures/commit-message.txt
assisted-by check-commits --range main..HEAD --policy examples/advisory-policy.yml
assisted-by check-pr --pr examples/fixtures/pr.valid.json --policy examples/advisory-policy.yml
assisted-by check-pr --range main..HEAD --policy examples/strict-policy.yml
assisted-by policy doctor --policy .github/assisted-by.yml
assisted-by render-comment --pr examples/fixtures/pr.valid.json
```
默认姿态是咨询性的:清晰地报告问题,除非仓库选择严格模式,否则不会导致运行失败。
有关本地测试夹具格式和本地 git 范围示例,请参见 [`docs/cli.md`](docs/cli.md)。
## GitHub Action
GitHub Action 被捆绑用于从 `packages/github-action` 路径进行基于 tag 的使用。它可以在具有只读权限的 `pull_request` 工作流中运行:
```
name: Assisted-By Guard
on:
pull_request:
permissions:
contents: read
pull-requests: read
jobs:
assisted-by:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: MasterProgramX/assisted-by-guard/packages/github-action@v0.1.1
with:
policy-path: .github/assisted-by.yml
```
当未提供显式的本地 JSON 输入时,该 Action 会通过 GitHub 的只读 API 读取 pull request 的 commit 和文件。它不会发表评论、请求写权限或变更 pull request。
有关测试夹具模式、“吃自己的狗粮”模式、基于 tag 的使用以及捆绑包维护,请参见 [`docs/github-action.md`](docs/github-action.md)。
## 策略
默认策略路径是 `.github/assisted-by.yml`。
```
mode: advisory
require_ai_disclosure: false
accepted_trailers:
- Assisted-by
forbid_ai_signed_off_by: true
require_human_dco: true
require_spdx_for_new_files: false
accepted_tools:
- GitHub Copilot
- ChatGPT
```
有关宽松、咨询性、严格和现实世界的起点,请参见 `examples/` 和 [`docs/examples.md`](docs/examples.md)。
本仓库实时的“吃自己的狗粮”策略是 `.github/assisted-by.yml`。
## 当前限制
- CLI 和核心包是本地且确定性的。它们不会调用 GitHub API 或 AI API。
- GitHub Action 仅以只读模式收集 pull request 数据。它不会发表 PR 评论或创建手动检查运行。
- Assisted-By Guard 检查显式的策略证据。它不会推断是否使用了 AI,也不会审查代码质量。
- v0.1.1 是早期的 GitHub 补丁版本,目前尚不应被视为广泛验证过的生产环境基础设施。
## 许可证
MIT
标签:AI辅助开发, GitHub Action, MITM代理, SOC Prime, 开发工具, 开源治理, 自动化攻击