@openduo/duoduo 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,68 @@
1
+ # Codex Runtime
2
+
3
+ Duoduo supports two runtime backends:
4
+
5
+ - **Claude** (default) — Claude Agent SDK.
6
+ - **Codex** (GPT-5.4) — Codex app-server protocol over stdio.
7
+
8
+ Codex is off by default.
9
+
10
+ ## Prerequisites
11
+
12
+ - `codex` CLI installed and on `$PATH`.
13
+ - `codex` authenticated with valid API credentials.
14
+
15
+ ## Environment Variables
16
+
17
+ | Variable | Required | Values | Default |
18
+ | ---------------------- | -------- | ------------------ | ----------------- |
19
+ | `ALADUO_CODEX_ENABLED` | Yes | `1`, `true`, `yes` | off |
20
+ | `ALADUO_CODEX_SANDBOX` | No | see below | `workspace-write` |
21
+
22
+ ### Sandbox Modes
23
+
24
+ | Value | Disk | Network | Notes |
25
+ | -------------------- | --------- | ------- | --------------------------------------------- |
26
+ | `workspace-write` | cwd only | No | Default. Safe for most jobs. |
27
+ | `read-only` | Read-only | No | Analysis-only tasks. |
28
+ | `danger-full-access` | Full | Yes | Needed for localhost API or external network. |
29
+
30
+ ## Enable
31
+
32
+ Add the variables to the daemon's persistent config file and restart:
33
+
34
+ ```bash
35
+ # ~/.config/duoduo/.env (created if missing)
36
+ echo 'ALADUO_CODEX_ENABLED=1' >> ~/.config/duoduo/.env
37
+ # optional:
38
+ echo 'ALADUO_CODEX_SANDBOX=workspace-write' >> ~/.config/duoduo/.env
39
+
40
+ duoduo daemon restart
41
+ ```
42
+
43
+ > **Note:** The daemon reads `~/.config/duoduo/.env` on startup. Shell-only
44
+ > `export` does not persist across launchd/systemd restarts.
45
+
46
+ ## Disable
47
+
48
+ Remove or comment out `ALADUO_CODEX_ENABLED` from `~/.config/duoduo/.env`,
49
+ then restart:
50
+
51
+ ```bash
52
+ sed -i '' '/^ALADUO_CODEX_ENABLED/d' ~/.config/duoduo/.env
53
+ duoduo daemon restart
54
+ ```
55
+
56
+ Existing `runtime: codex` jobs silently fall back to Claude.
57
+
58
+ ## Usage
59
+
60
+ When enabled, the ManageJob tool exposes a `runtime` field (`"claude"` | `"codex"`).
61
+ A preflight check runs `codex --version` at job creation and reports errors early.
62
+
63
+ ## Limitations
64
+
65
+ - Codex built-in tools (bash, file edit, web search) cannot be selectively disabled.
66
+ - `additionalDirectories` not supported — memory board is injected inline.
67
+ - `AGENTS.md` is auto-symlinked from `CLAUDE.md` in job workspaces.
68
+ - Memory board changes take effect on next thread, not mid-thread.
@@ -836,7 +836,7 @@ body{
836
836
  interval_ms:"ALADUO_CADENCE_INTERVAL_MS",meta_max_quiet_ticks:"ALADUO_META_MAX_QUIET_TICKS",
837
837
  runtime_lock_heartbeat_ms:"ALADUO_RUNTIME_LOCK_HEARTBEAT_MS",
838
838
  pull_limit:"ALADUO_PULL_LIMIT",pull_wait_ms:"ALADUO_PULL_WAIT_MS",subscribe_replay_limit:"ALADUO_SUBSCRIBE_REPLAY_LIMIT",
839
- log_level:"ALADUO_LOG_LEVEL",sdk_debug:"ALADUO_SDK_DEBUG",log_session_lifecycle:"ALADUO_LOG_SESSION_LIFECYCLE",
839
+ log_level:"ALADUO_LOG_LEVEL",sdk_debug:"ALADUO_SDK_DEBUG",log_session_lifecycle:"ALADUO_LOG_SESSION_LIFECYCLE",telemetry_enabled:"ALADUO_TELEMETRY_ENABLED",
840
840
  permission_mode:"ALADUO_PERMISSION_MODE",
841
841
  work_dir:"ALADUO_WORK_DIR",bootstrap_dir:"ALADUO_BOOTSTRAP_DIR",meta_prompt_path:"ALADUO_META_PROMPT_PATH"
842
842
  };
@@ -54,6 +54,11 @@ disallowedTools: ["EnterPlanMode"]
54
54
  additionalDirectories:
55
55
  - /refs
56
56
  - ~/shared-docs
57
+
58
+ # Enable/disable streaming (optional, default: true)
59
+ # When false, output is buffered until the turn completes.
60
+ # Useful for group chats where streaming typing indicators are noise.
61
+ stream: false
57
62
  ---
58
63
  You are a research assistant specialized in financial analysis.
59
64
  Use the reference documents in /refs/ for evidence-based answers.
@@ -54,6 +54,14 @@ Bare numeric values are treated as minutes, so `--since 90` means the last 90 mi
54
54
 
55
55
  The report prints `count`, `avg`, `p50`, `p95`, and `max` for each known metric.
56
56
 
57
+ To disable telemetry file persistence entirely on a host, set:
58
+
59
+ ```bash
60
+ ALADUO_TELEMETRY_ENABLED=false
61
+ ```
62
+
63
+ When disabled, duoduo still emits in-process debug telemetry logs when log level allows it, but it skips appending JSONL files under this directory.
64
+
57
65
  ## Guarantees
58
66
 
59
67
  - **Append-only**: telemetry files are never rewritten in place.