- server/policy_overrides.mjs: persistent group/action override store - Group toggle: disabling a group forces all its actions to auto-deny without touching individual overrides; re-enabling restores them intact - Action overrides: cycle auto-accept/queue/auto-deny/clear per action - Effective policy resolution in index.mjs: group > action override > hardcoded default - auth.mjs: add check_can_manage_policies (requires canApprove.length > 0) - Three new endpoints: GET /policies, POST /policies/group/:group, POST /policies/action/:action - client/conduit.mjs: get_policies, set_group_policy, set_action_policy - ccc-queue.mjs: policy view (Tab to switch); group/action panel with space/e/←/→ - actions.mjs: group fields on desktop/email/calendar actions; list-actions includes group - config.example.json: add policy_overrides key - Bump version to 1.3.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# claude-code-conduit
|
|
|
|
Supervised action bridge between Claude Code (in a Docker container) and the host system. Claude sends structured action requests; the server applies per-action policies and optionally holds them for human approval via a TUI queue manager.
|
|
|
|
## Quick orientation
|
|
|
|
- **Server** runs on the host (`bin/ccc-server.mjs`), listens on port 3015
|
|
- **Client** runs in the container (`bin/ccc-client.mjs`), sends signed JSON action requests
|
|
- **Actions** are defined in `server/actions.mjs` — this is the main place to add new capabilities
|
|
- **Auth** is HMAC-SHA256; secrets live in a JSON file, never env vars
|
|
- **Policies**: `auto-accept` (runs immediately), `queue` (held for human approval), `auto-deny`
|
|
|
|
## Adding a new action
|
|
|
|
Edit `server/actions.mjs`. Each action needs `description`, `params`, `policy`, and `handler`. The handler receives `(params, ctx)` where ctx has `{ caller, users, mail_perm_store, exec, mailer_send }`.
|
|
|
|
See [`claude-info/architecture.md`](claude-info/architecture.md) for full details.
|
|
See [`claude-info/contributing.md`](claude-info/contributing.md) for the checklist when adding features.
|
|
|
|
## Active / planned work
|
|
|
|
- [`claude-info/plan-google-calendar.md`](claude-info/plan-google-calendar.md) — Google Calendar integration ✓ implemented
|
|
- [`claude-info/plan-policy-overrides.md`](claude-info/plan-policy-overrides.md) — Runtime policy overrides + TUI policy view ✓ implemented (not yet field tested)
|
|
|
|
## Running
|
|
|
|
```bash
|
|
ccc-server --config config.json
|
|
ccc-client '{"action": "list-actions"}'
|
|
```
|
|
|
|
Shell helpers (`ccc-open-terminal`, `ccc-edit-file`, `ccc-open-browser`) are available in the container via `~/.bashrc`.
|