Skip to content

docs: add 1Claw Tools integration - #6976

Open
redbotster wants to merge 1 commit into
crewAIInc:mainfrom
redbotster:add-1claw-crewai-tool
Open

docs: add 1Claw Tools integration#6976
redbotster wants to merge 1 commit into
crewAIInc:mainfrom
redbotster:add-1claw-crewai-tool

Conversation

@redbotster

Copy link
Copy Markdown

Adds a docs page for 1claw-crewai-tools under Tools > Integration, alongside the existing third-party integrations (Merge, Amazon Bedrock).

What it is: 1Claw is HSM-backed secret management for AI agents. The 1claw-crewai-tools package (MIT, on PyPI) wraps the 1Claw API as CrewAI-compatible tools for vault secrets, encrypted memory, multi-chain signing, and automations. Secrets are fetched just-in-time and never stored in crew configs, .env files, or the model context; access is policy-scoped, audited, and revocable.

Changes:

  • New page docs/edge/en/tools/integration/1clawtool.mdx
  • Card added to integration/overview.mdx
  • Nav entry in docs.json

Repo: https://github.com/1ClawAI/1claw-crewai-tools

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Added a 1Claw CrewAI tools integration page with setup and usage instructions. Added navigation entries and an overview card that link to the new documentation.

Changes

1Claw Tools documentation

Layer / File(s) Summary
Add 1Claw integration page
docs/edge/en/tools/integration/1clawtool.mdx
Documents installation, API-key setup, tool loading, supported capabilities, and security controls.
Expose integration documentation
docs/docs.json, docs/edge/en/tools/integration/overview.mdx
Adds the documentation route and a 1Claw Tools integration card with a link and description.

Suggested reviewers: lucasgomide

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the addition of the 1Claw Tools integration documentation.
Description check ✅ Passed The description directly explains the new integration documentation, navigation updates, and documented capabilities.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Warning

⚠️ This pull request has been flagged as potential spam (promotional) by CodeRabbit slop detection and should be reviewed carefully.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/edge/en/tools/integration/1clawtool.mdx`:
- Line 12: Rewrite the documentation paragraph to accurately describe
get_all_tools() and its separate vault, memory, signing, and automation tools.
Note that OneclawVaultTool._run() returns decrypted values as tool output, warn
users not to log tool output and to set verbose=False in production, and remove
unsupported claims about secrets never entering model context or being
persisted; retain only enforced guarantees such as private signing keys
remaining in the HSM.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 58346c35-d2a9-46a3-9ac9-08eb089368a4

📥 Commits

Reviewing files that changed from the base of the PR and between 28d868c and 9f9df80.

📒 Files selected for processing (3)
  • docs/docs.json
  • docs/edge/en/tools/integration/1clawtool.mdx
  • docs/edge/en/tools/integration/overview.mdx


CrewAI agents need credentials and signing keys, but crew configs and shared `.env` files are not a safe place to store them. Hard-coded API keys end up in git, and shared env files break when you spin up parallel agents with different permissions.

[`1claw-crewai-tools`](https://pypi.org/project/1claw-crewai-tools/) wraps the [1Claw](https://1claw.xyz) API as CrewAI-compatible tools. Each tool fetches secrets at runtime, signs transactions server-side, and writes to encrypted agent memory. Access is policy-scoped, so an agent only sees the vault paths a human explicitly granted, and secrets are never persisted in the model's context window.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

python - <<'PY'
import io
import json
import urllib.request
import zipfile

metadata = json.load(
    urllib.request.urlopen("https://pypi.org/pypi/1claw-crewai-tools/json")
)
wheel_url = next(
    item["url"]
    for item in metadata["urls"]
    if item["packagetype"] == "bdist_wheel"
)
wheel = urllib.request.urlopen(wheel_url).read()

with zipfile.ZipFile(io.BytesIO(wheel)) as archive:
    source = archive.read("oneclaw_crewai/_tool.py").decode()

assert "return self._client.get_secret(path)" in source
assert "plaintext credentials" in metadata["info"]["description"]

print(f"Verified published version: {metadata['info']['version']}")
print("The vault tool returns decrypted values as tool output.")
PY

Repository: crewAIInc/crewAI

Length of output: 2783


🏁 Script executed:

set -euo pipefail

file=$(fd -i '1clawtool\.mdx$' docs/edge/en docs/edge/ar docs/edge/ko docs/edge/pt-BR | head -n 1)
printf '%s\n' "English and translation candidates:"
fd -i '1clawtool\.mdx$' docs/edge/en docs/edge/ar docs/edge/ko docs/edge/pt-BR || true

printf '\nEnglish page:\n'
cat -n "$file"

printf '\nRelated 1Claw references:\n'
rg -n -i '1claw|OneclawVaultTool|verbose|memory|sign' docs/edge/en docs/edge/ar docs/edge/ko docs/edge/pt-BR 2>/dev/null | head -n 200 || true

printf '\nPublished source and metadata (read-only):\n'
curl -k -L --fail --silent --show-error https://raw.githubusercontent.com/1ClawAI/1claw-crewai-tools/main/src/oneclaw_crewai/_tool.py | nl -ba | sed -n '1,240p'
curl -k -L --fail --silent --show-error https://pypi.org/pypi/1claw-crewai-tools/json |
  python3 -c 'import json,sys; d=json.load(sys.stdin); print(d["info"]["version"]); print(d["info"].get("description","")[:12000])' |
  rg -n -i 'plaintext|verbose|secret|memory|sign|automation' || true

Repository: crewAIInc/crewAI

Length of output: 22257


🏁 Script executed:

set -euo pipefail

printf '%s\n' '1Claw source:'
curl --insecure -L --fail --silent --show-error \
  https://raw.githubusercontent.com/1ClawAI/1claw-crewai-tools/main/src/oneclaw_crewai/_tool.py |
  sed -n '1,280p'

printf '\nPyPI metadata fields relevant to secret handling:\n'
python3 - <<'PY'
import json
import ssl
import urllib.request

ctx = ssl._create_unverified_context()
with urllib.request.urlopen(
    "https://pypi.org/pypi/1claw-crewai-tools/json", context=ctx
) as response:
    metadata = json.load(response)

print("version:", metadata["info"]["version"])
description = metadata["info"].get("description", "")
for index, line in enumerate(description.splitlines(), 1):
    if any(term in line.lower() for term in ("plaintext", "verbose", "secret", "memory", "sign")):
        print(f"{index}: {line}")

print("\nwheel contents and vault implementation:")
wheel_url = next(
    item["url"] for item in metadata["urls"] if item["packagetype"] == "bdist_wheel"
)
with urllib.request.urlopen(wheel_url, context=ctx) as response:
    wheel = response.read()

import io
import zipfile
with zipfile.ZipFile(io.BytesIO(wheel)) as archive:
    names = archive.namelist()
    print("tool modules:", [name for name in names if name.startswith("oneclaw_crewai/") and name.endswith(".py")])
    source = archive.read("oneclaw_crewai/_tool.py").decode()
    for index, line in enumerate(source.splitlines(), 1):
        if any(term in line.lower() for term in ("class oneclawvaulttool", "def _run", "verbose", "get_secret", "plaintext")):
            print(f"{index}: {line}")
PY

printf '\n1Claw translations:\n'
for locale in ar ko pt-BR; do
  find "docs/edge/$locale" -type f -iname '1clawtool.mdx' -print 2>/dev/null || true
done

Repository: crewAIInc/crewAI

Length of output: 13670


Rewrite the toolkit and secret-handling claims.

get_all_tools() provides separate vault, memory, signing, and automation tools. OneclawVaultTool._run() returns decrypted values as tool output. Warn users not to log tool output and to set verbose=False in production. Remove guarantees that secrets never enter model context or are never persisted unless the integration enforces them. State only supported guarantees, such as private signing keys remaining in the HSM.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/edge/en/tools/integration/1clawtool.mdx` at line 12, Rewrite the
documentation paragraph to accurately describe get_all_tools() and its separate
vault, memory, signing, and automation tools. Note that OneclawVaultTool._run()
returns decrypted values as tool output, warn users not to log tool output and
to set verbose=False in production, and remove unsupported claims about secrets
never entering model context or being persisted; retain only enforced guarantees
such as private signing keys remaining in the HSM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants