DBDelve
Dive deep into your data. A fast, native, multi-engine database client written in Rust. Free and open source, no telemetry.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Approved OpenClaw config control for agents.
oc-config-gate is an OpenClaw plugin that lets trusted agents propose changes to ~/.openclaw/openclaw.json without letting them directly edit config or restart the gateway. It stages a JSON Merge Patch, posts a native Discord approval card, and applies only after an authorized operator clicks Approve.
It is the canonical replacement for the older split control plane where oc-restart, oc-config-gate, and shell guardian scripts each owned part of the same safety flow.
| Surface | State |
|---|---|
| Runtime install | Linked through openclaw plugins install --link |
| OpenClaw runtime inspect | oc_config_stage, oc_config_apply, oc-config-gate-tool-guard registered |
| Tests | 13 passing locally and in GitHub Actions |
| Docs site | https://kleinpanic.github.io/oc-config-gate/ |
| Old repo | openclaw-oc-restart is superseded but not archived/deleted |
| Control | Status |
|---|---|
| Branch protection | main protected after CI/security workflow publication. |
| Required checks | CI matrix, security scan, dependency review on PRs. |
| Dependency automation | Dependabot for npm and GitHub Actions. |
| Release automation | Tag-based GitHub Release with tarball artifact. |
| Owner review | CODEOWNERS covers source, tests, docs, workflows, and package metadata. |
| Issue workflow | Bug and config-safety templates. |
| PR workflow | Validation and safety checklist template. |
| Docs surfaces | README, GitHub Pages, docs directory, wiki mirror, and GitHub Wiki enabled. |
sequenceDiagram
participant Agent
participant Gate as oc_config_stage
participant Discord
participant Apply as Approval Handler
participant Config as OpenClaw Config
participant Guardian as Config Guardian
Agent->>Gate: RFC 7396 patch + reason
Gate->>Config: Load raw file config
Gate->>Gate: Merge + validate + summarize diff
Gate->>Discord: Native approval card
Discord->>Apply: Approve / Deny button
Apply->>Config: Re-read raw config
Apply->>Apply: Recheck base hash
Apply->>Guardian: Safety check merged config
Apply->>Config: Write config through runtime API
Apply->>Guardian: Bless signed config state
Apply->>Apply: Append audit event
Apply-->>Discord: Update card with result
For a full write-up, see docs/ARCHITECTURE.md. Operator runbooks live in docs/wiki; GitHub Wiki is enabled for the repo, but the main-repo mirror is canonical until GitHub accepts pushes to the separate wiki remote.
| Surface | Behavior |
|---|---|
oc_config_stage | Stages an RFC 7396 config patch and posts an approval card. |
| Discord buttons | Approve applies; Deny discards. No token commands or slash fallback. |
before_tool_call hook | Blocks non-meta direct config edits, config RPCs, and raw restarts. |
| Apply path | Rechecks base hash, validates, safety-checks, writes, blesses, audits. |
| Safe restart | Optional restart: true calls openclaw gateway restart --safe --wait 5m --json after bless. |
Local development install:
git clone https://github.com/kleinpanic/oc-config-gate.git
cd oc-config-gate
npm install
npm test
openclaw plugins install --link "$PWD"
openclaw plugins inspect oc-config-gate --runtime --json
Expected runtime inspect:
{
"status": "loaded",
"tools": ["oc_config_stage", "oc_config_apply"],
"hooks": ["oc-config-gate-tool-guard"],
"diagnostics": []
}
Config entry:
{
"plugins": {
"entries": {
"oc-config-gate": {
"enabled": true,
"approvalChannelId": "1474492327748960378",
"pendingTtlMs": 1800000,
"allowGatewayRestart": true,
"authorizedDiscordUserIds": ["1014431070059503699"],
"allowedAgentIds": ["meta"]
}
}
}
}
See docs/CONFIGURATION.md for the full config reference.
Stage a config patch from the meta agent:
{
"patch": {
"gateway": {
"reload": {
"mode": "hybrid",
"debounceMs": 300
}
}
},
"reason": "Enable validated hybrid reload for config changes",
"restart": false
}
For a change that needs a full gateway restart:
{
"patch": {
"plugins": {
"entries": {
"example-plugin": {
"enabled": true
}
}
}
},
"reason": "Load newly installed plugin",
"restart": true
}
Approval cards show the request ID, reason, validation status, change counts, diff preview, expiry, and apply behavior. Approve revalidates everything before writing.
| Tool | Purpose |
|---|---|
oc_config_stage | Stage a config patch for Discord approval. |
oc_config_apply | Inspect the current pending request. Agent-facing calls are status-only. |
Detailed schemas: docs/PLUGIN-API.md.
allowedAgentIds can bypass the guard. Default: meta.openclaw.json directly.systemctl, pkill, and openclaw gateway restart calls.~/.openclaw/runtime/pending-config.json with 0600 permissions.${ENV_VAR} placeholders stay intact.More detail: docs/SECURITY-MODEL.md.
Ported from openclaw-oc-restart:
Intentionally removed:
approve-restart / deny-restart text tokens/restart-approve / /restart-deny slash commandsnpm install
npm run check
npm test
npm pack --dry-run
The test suite covers native Discord component payloads, status-only apply behavior, stale-base rejection, non-meta config/restart guard behavior, OpenClaw plugin registration, staged restart card behavior, and config validator safety checks.
MIT. See LICENSE.