Commit Graph
51 Commits
Author SHA1 Message Date
Dmitry Ng 643ff7d218 feat(providers): Update model configurations for various LLM providers: qwen, kimi, glm, deepseek, gemini 2026-05-28 15:41:17 +03:00
Dmitry Ng 9d68f570a8 Merge pull request #318 from mason5052/codex/issue-310-vertex-ai-config-docs
docs(llm): clarify Vertex AI configuration options
2026-05-28 00:15:15 +04:00
Dmitry Ng e674113745 Merge pull request #317 from mason5052/codex/issue-314-deepseek-v4-models
fix(deepseek): update default model names to DeepSeek V4
2026-05-28 00:09:25 +04:00
mason5052 5ff63cc4a8 docs(llm): clarify Vertex AI configuration options
Issue #310 asks how to provide a Google Vertex AI API key in .env for
Anthropic Claude. PentAGI currently has no dedicated Vertex AI provider
path in code: backend/pkg/config and backend/cmd/installer do not read
VERTEX_API_KEY, GOOGLE_APPLICATION_CREDENTIALS, or any vertex_ai
variable. The supported routes for Claude today are direct Anthropic
(ANTHROPIC_API_KEY / ANTHROPIC_SERVER_URL) and AWS Bedrock (BEDROCK_*).

Document this explicitly so users do not assume a hidden Vertex AI
configuration path exists:

- README.md: add a NOTE callout inside the Anthropic Provider
  Configuration section listing the supported routes and pointing
  users who need Vertex AI today at the OpenAI-compatible custom LLM
  provider path (LLM_SERVER_URL / LLM_SERVER_KEY / LLM_SERVER_MODEL)
  fronted by a translating gateway, with a caveat that reliability
  depends on the gateway.
- backend/docs/config.md: add a matching Note paragraph under the
  Anthropic section that points at the AWS Bedrock and custom LLM
  provider sections, and states that no VERTEX_API_KEY or
  GOOGLE_APPLICATION_CREDENTIALS variable is wired into provider
  initialization today.

Docs-only change. No runtime Go code, no installer behavior, no
generated files, no new environment variables. All env var names cited
in the new text already exist in the current PentAGI .env.example,
backend/pkg/config, and backend/cmd/installer.
2026-05-22 12:50:19 -04:00
mason5052 67bf76514b docs(deepseek): align V4 model metadata with official pricing and context
- Update model descriptions to reflect V4 1M context window (up to 384K output)
  instead of legacy 128K wording in models.yml and README.
- Split Flash and Pro pricing per official DeepSeek API docs:
  - deepseek-v4-flash: input 0.14 / output 0.28 / cache_hit 0.0028 per 1M tokens
  - deepseek-v4-pro:   input 0.435 / output 0.87 / cache_hit 0.003625 per 1M tokens
- Apply per-role price split across all 13 role configs in both the embedded
  config.yml and the user-facing examples/configs/deepseek.provider.yml.
- Replace stale "cache pricing is 10% of input cost" claim in the README,
  which no longer holds for either V4 model.
- No change to LiteLLM prefix behavior, role-to-model mapping, lifecycle,
  queues, GraphQL schema, migrations, frontend, or installer flow.
2026-05-22 12:04:14 -04:00
mason5052 20b0633521 docs(deepseek): address Copilot review feedback
- README: align supported-models intro with the local convention used
  by every other provider section ("Models marked with `*` are used
  in default configuration"), so the asterisk on each model ID has a
  near-by explanation.
- Installer help (`LLMFormDeepSeekHelp`): swap the legacy
  "DeepSeek-Chat" / "DeepSeek-Reasoner" bullets in "Default PentAGI
  Models" for the current `deepseek-v4-flash` / `deepseek-v4-pro`
  defaults so the wizard guidance matches the bundled config.

No code, schema, or LiteLLM prefix behavior changes.
2026-05-22 11:41:09 -04:00
Dmitry Ng db88ef5eaa Merge pull request #305 from mason5052/codex/issue-187-graphiti-limitations-docs
docs(graphiti): note beta status and OpenAI-only provider limitation
2026-05-22 01:12:43 +04:00
Dmitry Ng 8ea8173619 Merge pull request #304 from mason5052/codex/issue-193-flow-file-upload-docs
docs(flows): document flow-scoped Files tab, sources, and current limits
2026-05-22 01:11:38 +04:00
mason5052 3113ff3aa3 fix(deepseek): update default model names to DeepSeek V4
The DeepSeek provider config still defaulted to the legacy
`deepseek-chat` and `deepseek-reasoner` model names, which the
upstream DeepSeek API has announced for deprecation on 2026-07-24.
A first-run install therefore breaks once the legacy names are
removed.

Swap the defaults to the current DeepSeek V4 family:

- non-thinking roles use `deepseek-v4-flash`
- reasoning-heavy roles use `deepseek-v4-pro`

The change is limited to the embedded `config.yml` / `models.yml`
inside `backend/pkg/providers/deepseek`, the matching example at
`examples/configs/deepseek.provider.yml`, the `DeepSeekAgentModel`
fallback constant in `deepseek.go`, and three doc references
(README.md, backend/docs/config.md, backend/docs/llms_how_to.md)
plus one installer help string in
`backend/cmd/installer/wizard/locale/locale.go`. LiteLLM prefix
behavior is untouched.
2026-05-21 15:44:30 -04:00
Dmitry Ng 39f122467d feat(config): add new embedding and rename database connection pool settings
- Introduced `EMBEDDING_MAX_TEXT_BYTES` to limit the maximum byte size of text sent to the embedding model.
- Renamed database connection pool settings: `DATABASE_MAX_OPEN_CONNS`, `DATABASE_MAX_IDLE_CONNS`, and `DATABASE_VECTOR_MAX_CONNS` for improved PostgreSQL connection management.
- Updated relevant documentation to reflect these new configuration options and their usage.
- Adjusted various components to utilize the new settings for enhanced performance and resource management.
2026-05-18 18:26:52 +03:00
Dmitry Ng 077ddce476 feat(database): enhance PostgreSQL connection pooling and configuration
- Introduced shared connection pooling for PostgreSQL using `*sql.DB` for sqlc and GORM, optimizing resource usage.
- Added new environment variables: `DB_MAX_OPEN_CONNS`, `DB_MAX_IDLE_CONNS`, and `DB_VECTOR_MAX_CONNS` for configurable connection limits.
- Updated documentation to reflect new connection pooling strategy and provide operational commands for monitoring.
- Implemented shared `pgxpool` for pgvector stores to reduce connection overhead and improve performance.
- Adjusted various components to utilize the new connection pooling setup, ensuring efficient database interactions.
2026-05-18 11:13:43 +03:00
mason5052 c0e9ed74fd docs(graphiti): use user-facing env vars for OpenAI endpoint
Address Copilot review feedback on PR #305: the 'Current Limitations' bullet for the Graphiti integration mixed PentAGI's user-facing .env variables with the container env vars defined in docker-compose-graphiti.yml.

Reword both README.md and backend/docs/config.md to lead with the user-facing OPEN_AI_KEY and OPEN_AI_SERVER_URL .env variables and explicitly note that docker-compose-graphiti.yml maps them into the bundled vxcontrol/graphiti container as OPENAI_API_KEY and OPENAI_BASE_URL. Operators set the .env variables; the container variables are an implementation detail.

Signed-off-by: mason5052 <ehehwnwjs5052@gmail.com>
2026-05-07 13:16:01 -04:00
mason5052 ad7d2b12ce docs(flows): refine prompt block, snapshot source, and filename limit wording
Address Copilot review feedback on PR #304:

- Clarify the UserFiles template variable produces a <task_files> XML block with <uploads>/<resources> nested sections (matches flowfiles.FileListingForPrompt output).

- Distinguish that uploads/resources mirror to /work/uploads/ and /work/resources/, while container snapshots can originate from arbitrary container paths and are cached only under container/ on the flow side.

- Note that the 255 filename limit is enforced by len(name) <= 255, i.e. byte-length, so it is roughly 255 ASCII characters.

Signed-off-by: mason5052 <ehehwnwjs5052@gmail.com>
2026-05-07 13:11:54 -04:00
mason5052 fa53a4e1d2 docs(graphiti): note beta status and OpenAI-only provider limitation
The Graphiti container shipped with docker-compose-graphiti.yml only
takes OPENAI_API_KEY and OPEN_AI_SERVER_URL for entity extraction.
PentAGI configures many other LLM providers (Anthropic, Google AI,
AWS Bedrock, DeepSeek, GLM, Kimi, Qwen) for the main flow, but those
credentials are not consumed by Graphiti today. Until that changes,
operators need to plan around an OpenAI-compatible endpoint just for
the knowledge graph.

This commit makes the limitation visible in two surfaces without
changing runtime behavior:

- README.md: Adds a beta callout at the top of the Knowledge Graph
  Integration section and a new 'Current Limitations' subsection
  covering provider scope, fixed model, independent billing, and the
  lack of an in-app graph explorer.
- backend/docs/config.md: Mirrors the beta callout under Graphiti
  Knowledge Graph Settings and adds a 'Current Limitations (Beta)'
  subsection with the same constraints, so config-focused readers
  see the same message.

Both notes explicitly point at the simple fallback: leave
GRAPHITI_ENABLED=false if the deployment cannot reach an
OpenAI-compatible endpoint.

Refs #187

Signed-off-by: mason5052 <ehehwnwjs5052@gmail.com>
2026-05-07 12:22:38 -04:00
mason5052 e869445430 docs(flows): document flow-scoped Files tab, sources, and current limits
Add a How-to subsection that describes the Files tab on a flow page
without restating implementation details. The new section covers:

- The three file sources surfaced in the UI (uploads, resources,
  container snapshots) with their exact action labels.
- The on-host layout under {dataDir}/flow-{id}-data/ and the
  corresponding container paths /work/uploads and /work/resources.
- Per-file actions (Download, Copy path, Save as resource, Delete)
  and the Pull action's disabled state when the container is not
  running.
- Automatic injection of uploaded files and attached resources into
  agent system prompts via the <UserFiles> block, so users understand
  how the assistant sees their files.
- Current limits (300 MB / 1000 files / 2 GB / 255-char names) and
  current limitations, including that flow deletion does not yet
  archive or remove the flow data directory on disk.

This is a documentation-only change and does not introduce or change
runtime behavior.

Refs #193

Signed-off-by: mason5052 <ehehwnwjs5052@gmail.com>
2026-05-07 12:19:30 -04:00
Dmitry Ng 47044dd1cf Merge pull request #294 from mason5052/codex/issue-289-web-ui-account-guidance
docs: clarify web UI account setup
2026-04-30 12:05:17 +04:00
mason5052 4a8c491299 docs: clarify web UI account setup 2026-04-29 11:00:50 -04:00
Mason Kim(ZINUS US_SALES) 9666cf35ca docs: explain assistant flow management 2026-04-28 19:19:57 -04:00
Dmitry Ng fb607a8bc7 Merge branch 'feature/next-release' into codex/issue-69-openvas-custom-image-guide
Signed-off-by: Dmitry Ng <19asdek91@gmail.com>
2026-04-29 01:05:07 +04:00
Dmitry Ng 5e902ca255 docs: update API tokens section to reflect new naming convention in settings 2026-04-24 03:00:48 +03:00
Dmitry Ng 378db10732 Merge pull request #270 from mason5052/codex/issue-191-settings-coverage
docs: clarify current web settings coverage
2026-04-24 03:52:41 +04:00
Dmitry Ng fadb4dc80e Merge pull request #269 from mason5052/codex/issue-35-capability-boundaries-docs
[codex] docs: clarify current PentAGI capability boundaries
2026-04-24 03:50:05 +04:00
Dmitry Ng 172fb8754f Merge pull request #267 from mason5052/codex/issue-74-memory-lifecycle-docs
docs: clarify memory lifecycle across flows
2026-04-22 22:15:23 +04:00
Dmitry Ng b748af5374 docs: reorganize Pentesting Prompt Methodology section in README.md 2026-04-22 21:08:34 +03:00
Dmitry Ng 6919511022 Merge pull request #266 from mason5052/codex/issue-79-pentest-methodology-guide
docs: add pentesting prompt methodology guidance
2026-04-22 21:49:33 +04:00
Dmitry Ng a1b6e9e826 docs: update Assistant mode description in README.md to include sub-agent delegation feature 2026-04-22 20:24:08 +03:00
Dmitry Ng 4b5e5e80f6 Merge pull request #264 from mason5052/codex/issue-61-first-use-guide
docs: add first-use guide after login
2026-04-22 21:07:56 +04:00
mason5052 3e4e800c44 docs: add OpenVAS custom image guide 2026-04-22 13:04:01 -04:00
mason5052 c893bb817e docs: fix pentesting methodology links
Signed-off-by: mason5052 <ehehwnwjs5052@gmail.com>
2026-04-22 12:36:18 -04:00
mason5052 aa718e2330 docs: clarify settings config paths
Signed-off-by: mason5052 <ehehwnwjs5052@gmail.com>
2026-04-22 12:36:12 -04:00
mason5052 a285a99e28 docs: tighten memory lifecycle guidance
Signed-off-by: mason5052 <ehehwnwjs5052@gmail.com>
2026-04-22 12:36:08 -04:00
Dmitry Ng fa78acc04c Merge remote-tracking branch 'origin/feature/frontend' into feature/next-release 2026-04-22 16:00:32 +03:00
Dmitry Ng 269d851eab chore: migrate project to pnpm by updating installation commands and CI configuration 2026-04-22 15:10:55 +03:00
Dmitry Ng 8fed9a8cd8 docs: clarify proxy configuration and Docker pull test in network validation documentation 2026-04-22 14:46:45 +03:00
Dmitry Ng 246abf7367 Merge pull request #262 from mason5052/codex/issue-258-docker-mirror-docs
docs: add Docker mirror guidance for restricted networks
2026-04-22 15:30:51 +04:00
Dmitry Ng 78e46bd77a refactor: update TERMINAL_TOOL_TIMEOUT to 1200 seconds with detailed documentation
- Changed default terminal tool timeout from 600 to 1200 seconds.
- Updated related documentation across .env.example, README.md, and config files to reflect the new timeout settings and their constraints.
- Enhanced descriptions in code comments and documentation to clarify timeout behavior, including clamping rules for values outside the accepted range.
2026-04-22 13:22:32 +03:00
Dmitry Ng 0e7c238cad Merge pull request #261 from mason5052/codex/issue-256-terminal-timeout
feat: add TERMINAL_TOOL_TIMEOUT configuration
2026-04-21 15:33:33 +04:00
Sergey Kozyrenko ed222648b7 fix: migration to pnpm
(cherry picked from commit daf3d4839f3595ef0716b6f2452b6567c778c76d)
2026-04-21 01:59:08 +07:00
mason5052 e86052b041 docs: clarify current web settings coverage 2026-04-16 12:38:51 -04:00
mason5052 ea8aa205bc docs: clarify current PentAGI capability boundaries 2026-04-16 12:27:11 -04:00
Mason Kim(ZINUS US_SALES) 4e2ece8945 docs: clarify memory lifecycle across flows
Signed-off-by: Mason Kim(ZINUS US_SALES) <mkim@zinus.com>
2026-04-15 19:35:08 -04:00
Mason Kim(ZINUS US_SALES) a9a0b76226 docs: add pentesting prompt methodology guide
Signed-off-by: Mason Kim(ZINUS US_SALES) <mkim@zinus.com>
2026-04-15 18:04:50 -04:00
Mason Kim(ZINUS US_SALES) a07c28c2ae docs: add authorized-use reminder
Signed-off-by: Mason Kim(ZINUS US_SALES) <mkim@zinus.com>
2026-04-15 17:52:16 -04:00
Mason Kim(ZINUS US_SALES) af1bf049af docs: add first-use guide after login
Signed-off-by: Mason Kim(ZINUS US_SALES) <mkim@zinus.com>
2026-04-15 16:15:21 -04:00
Mason Kim(ZINUS US_SALES) f984c7865e docs: add Docker mirror guidance for restricted networks
Signed-off-by: Mason Kim(ZINUS US_SALES) <mkim@zinus.com>
2026-04-15 13:45:45 -04:00
Mason Kim(ZINUS US_SALES) ef195de84a docs: fix OAuth callback URL docs 2026-04-15 13:14:06 -04:00
Mason Kim(ZINUS US_SALES) 86d7666c86 feat: add configurable terminal tool timeout
Signed-off-by: Mason Kim(ZINUS US_SALES) <mkim@zinus.com>
2026-04-15 12:34:03 -04:00
Mason Kim(ZINUS US_SALES) 72a5671562 docs: clarify OAuth callback configuration
Signed-off-by: Mason Kim(ZINUS US_SALES) <mkim@zinus.com>
2026-04-15 11:02:56 -04:00
Dmitry Ng 301d681bfa docs: update README for improved structure and clarity, including new sections for architecture and LLM provider configurations 2026-04-12 01:08:58 +03:00
Dmitry Ng 600419bed3 feat: add license compliance documentation and reporting tools
- Introduce CONTRIBUTING.md for license compliance guidelines for developers.
- Update Dockerfile to generate license reports for frontend and backend dependencies.
- Add scripts for generating license reports and include them in the Docker build process.
- Create README.md and .gitignore files in the licenses directory for better organization.
- Update go.mod and go.sum to use the latest versions of vxcontrol dependencies.

This enhances the project's compliance with licensing requirements and improves dependency management.
2026-03-29 18:48:06 +03:00