Observed since 20 Oct, 21:58 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
An extensible, security-aware AI agent framework with Skills and Plugins.
English · 简体中文
An open-source, extensible and security-aware AI agent framework with Skills, Plugins and sandboxed tool execution.
Project status: alpha. AgentForge is usable as a local CLI and framework, but its subprocess controls are defense in depth—not complete operating-system or container isolation. Do not run untrusted Plugins or unreviewed code on a sensitive machine.
Many agent projects couple prompts, tools, code execution, and network access into one application. That makes capabilities hard to reuse and leaves authorization decisions too close to model output. AgentForge separates those concerns:
The result is a reusable foundation for local automation, open-source maintenance, and security research—not a fixed AI application.
| Capability | Status | Notes |
|---|---|---|
| Single-agent core | Implemented | Skill selection → plan → Plugin execution → final answer |
| Markdown Skills | Implemented | YAML metadata, validation, keyword/LLM selection |
| Plugin interface and registry | Implemented | Action schemas, permission declarations, structured results |
| Filesystem Plugin | Implemented | Workspace confinement, traversal/symlink checks, sensitive-path blocks |
| Shell Plugin | Experimental | argv only, shell=False, allowlist, timeout, filtered environment |
| Python Plugin | Experimental | AST policy plus a separate python -I -S child process |
| GitHub Plugin | Implemented, read-only | Repositories, Issues, PRs, files/diffs, commits, local Issue drafts |
| Secret redaction | Implemented | Common OpenAI, GitHub, Bearer, AWS, and explicit runtime secrets |
| Network policy | Implemented | HTTPS/domain allowlist and private/local/metadata IP denial |
| General Web/Network Plugin | Not implemented | Planned; network access remains off by default |
| Plugin/Skill marketplace | Planned | Targeted for later releases |
User
↓
Agent Core
↓
Untrusted Skill guidance
↓
Validated execution plan
↓
Plugin interface
↓
Permission + policy layer
↓
Restricted subprocess / API adapter
↓
Filesystem / Shell / Python / GitHub
The LLM proposes actions; it does not decide whether they are authorized. Every Plugin action is checked against configured permissions and validated arguments before implementation code runs. See Architecture and the Security Model.
Requirement: Python 3.11 or newer.
python -m venv .venv
Activate the environment:
# macOS / Linux
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\Activate.ps1
Install the current alpha release and inspect the CLI. The distribution is named
agentforge-secure, while the command and Python package remain agentforge.
python -m pip install --pre agentforge-secure
agentforge --help
agentforge doctor
Set the OpenAI key in your shell—never in source control:
# macOS / Linux
export OPENAI_API_KEY="your-key"
# Windows PowerShell
$env:OPENAI_API_KEY = "your-key"
Run a task:
agentforge run "summarize the current repository"
Or start interactive mode:
$ agentforge
AgentForge > run the tests and explain why they failed
Shell and Python execution are disabled by default. Copy the example configuration only when you need to make an explicit permission decision:
cp agentforge.example.yaml agentforge.yaml
agentforge --config agentforge.yaml run "run the tests and explain failures"
AgentForge reads YAML or TOML through --config. The defaults follow least privilege:
agent:
model: gpt-5.6-luna
workspace:
root: .
skills_dir: skills
permissions:
filesystem_read: true
filesystem_write: false
filesystem_delete: false
shell_execute: false
python_execute: false
network_access: false
github_read: true
github_write: false
security:
redact_secrets: true
command_timeout: 30
max_output_chars: 50000
Credentials are intentionally unsupported in config files. Use OPENAI_API_KEY and optional
GITHUB_TOKEN environment variables. The GitHub Plugin can read public repositories without a
token, subject to GitHub's unauthenticated rate limits.
A Skill describes how to approach a task. It is a versioned SKILL.md with strict YAML front
matter and Markdown instructions:
---
name: test-runner
version: 0.1.0
description: Run project tests and explain failures.
author: AgentForge contributors
required_plugins: [filesystem, shell]
keywords: [test, pytest, failure]
---
# Test Runner
Run tests only through the Shell Plugin and explain the first actionable failure.
Built-in Skills:
repository-summarytest-runnercode-reviewgithub-maintainerSkill text is untrusted input. It may influence a model proposal, but it cannot bypass Plugin schemas, path policy, command policy, or permissions. See Skill Development and the copyable project-explainer example.
| Plugin | Actions | Required permission |
|---|---|---|
filesystem | list, read, create, write, delete | Per-action filesystem permission |
shell | run | shell.execute |
python | run | python.execute |
github | repository, Issues, PRs, diffs, commits, draft Issue | github.read; drafts are local |
Community Plugins subclass Plugin, define Pydantic action models and permission metadata,
then register through PluginRegistry. Dynamic entry-point discovery is planned, not yet
implemented. See Plugin Development and the
hello_plugin example.
The github-maintainer Skill supports:
bug, feature, question, documentation, security, or
duplicate candidate;It does not automatically close Issues, merge PRs, or submit Issue drafts. Try the runnable triage example.
AgentForge combines LLM output, third-party text, filesystem access, subprocesses, API tokens, and community extensions. Those are real attack surfaces.
Security controls include:
Important limitations:
ProcessSandbox is not a kernel sandbox, VM, seccomp profile, or container.Read SECURITY.md, the Security Model, and the Threat Model before enabling high-risk permissions.
python -m pip install -e ".[dev]"
ruff check src tests
mypy src
pytest
pytest tests/security
CI runs lint, strict type checking, the full test suite, the dedicated security suite, and PyPI
distribution validation. Workflows use read-only repository permissions and do not expose secrets
to pull requests.
Maintainers can follow the Release Guide for the agentforge-secure PyPI
distribution.
Contributions are welcome in the form of Skills, Plugins, tests, documentation, and focused framework improvements. Start with CONTRIBUTING.md. Security-sensitive changes need regression tests and human review; unknown pull requests are never a reason to enable high-risk CI credentials or execute privileged automation.
Roadmap items are plans, not current capabilities. See Project Overview for the intended ecosystem.
Copyright 2026 wanhaoli376-lab and AgentForge contributors.
Licensed under the Apache License 2.0.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0a1 | 12 Aug 2026 | 10 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 21:58 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:041cfd5d3485ecac45f73e42d21d8419365428d244dbc2f91dfe731d372c3275