Commit Graph
10 Commits
Author SHA1 Message Date
Rohit C Prasad a75ca94f5f Add incremental board reads and immutable team artifacts
Return compact board receipts, page comments incrementally and publish shared versioned file artifacts.
2026-09-20 23:09:47 -07:00
Rohit C Prasad 001e2b9be9 Document approval context and refine Advanced disclosure
Document approval-context boundaries and keep advanced worker guidance in a compact disclosure.
2026-09-20 19:36:09 -07:00
Rohit C Prasad e0c7b6eeb0 CLI: join and up at the top level; one spelling per command
openworker machine keeps status, keys, logs, service and leave.
join takes a link, or a controller's address to approve a code there (was auth join).
2026-09-18 21:58:37 -07:00
Rohit C Prasad a5ed9c8937 CLI: openworker machine commands, real help and version; package publishes as openworker
aisuite comes from PyPI (0.2.0), so the package has no git-URL dependency.
Older top-level spellings (openworker join, up, status) keep working, unlisted.
2026-09-18 16:40:07 -07:00
Rohit C Prasad 274c9a582b Remote machines: identity, reverse channel, acceptor, sealed key wallet
A machine joins with its own identity and holds a reverse channel to the controller.
Provider keys and connector accounts deploy sealed to the machine's pinned key.
2026-09-05 08:00:16 -07:00
Devika Verma 1746c9ae20 Add a reasoning_effort setting translated per provider and recorded per reply (OPE-176)
OpenWorker had no way to choose how hard a model thinks per reply; the level
was whatever each endpoint defaulted to (Anthropic: high; Kimi K3 on
Together: max), and a run record could not state it.

- `Config.reasoning_effort` (low | medium | high | xhigh | max, Anthropic's
  vocabulary), config.toml / workspace / `COWORKER_REASONING_EFFORT`,
  validated; unset sends nothing so existing requests are unchanged.
- `build_engine` threads it through `model_settings` like `max_tokens`.
- providers/effort.py: the level→parameter tables and the nearest-supported
  rule (ties go up). Anthropic adaptive models get `output_config.effort`
  (per-model support from the effort doc, read 2026-09-08); budget-thinking
  models get `thinking.budget_tokens` (2,048 / 8,192 / 16,000 / 24,000 /
  32,000, max_tokens floored above); OpenAI-compatible endpoints get
  `reasoning_effort` (Kimi K3: low/high/max verified; others the OpenAI
  vocabulary). Gemini, Bedrock, Responses: not sent, recorded as such.
- Fallback: an endpoint that rejects the parameter (400 naming it) gets the
  request once more without it; the model is remembered for the run.
- Record: `AssistantTurn.effort` → `reasoning_effort` sidecar on every
  assistant message and on the ASSISTANT_MESSAGE event: {requested,
  effective, param, note}; stripped before provider calls. When a level is
  configured but the provider reports nothing, the record says so.
- docs/config.example.toml documents the key.

Tests: tests/test_reasoning_effort.py, 40 cases (levels, config layering and
rejection, build_engine plumbing, mapping tables incl. every curated model at
every level, Anthropic complete/stream/budget/fallback/unrelated error,
OpenAI-compatible unset/mapped/fallback, engine record and outbound strip).
2026-09-08 20:22:10 +05:30
Devika Verma 2c91bd9a22 Make the per-reply output-token limit configurable (OPE-177)
Every provider capped each reply with a hard-coded constant (32,000 for the
Anthropic and OpenAI-compatible clients, 4,096 for Bedrock) that no config,
environment variable or CLI option could change, although `build_engine(...,
model_settings=)` already spread settings into every provider call and every
provider used `setdefault("max_tokens", ...)`. Now:

- `Config.max_output_tokens` (config.toml, workspace-overridable; env override
  `COWORKER_MAX_OUTPUT_TOKENS`), validated as a positive integer; unset keeps
  every provider's default byte-for-byte.
- `build_engine` folds it into `model_settings["max_tokens"]` unless the caller
  passed an explicit value; explorer subagents inherit it.
- `AssistantTurn.output_limit`: the ceiling the provider actually sent, after
  the Anthropic budget-thinking floor (which now logs a warning when it
  overrides a configured value) or the OpenAI `max_completion_tokens` rename.
- The engine persists it on the assistant message as the `max_output_tokens`
  sidecar and on the ASSISTANT_MESSAGE event, stripped before provider calls.
- Bedrock keeps 4,096 with a comment on why; the config key raises it.
- docs/config.example.toml documents the key.

Tests: tests/test_max_output_tokens.py (config layering, env override,
validation, build_engine plumbing, Anthropic complete/stream + floor warning,
OpenAI complete/stream + rename retry, engine record).
2026-09-08 17:08:29 +05:30
Rohit C Prasad f7c70a2478 README: add how-it-works diagram from the website 2026-07-23 09:29:00 -07:00
Rohit C Prasad cffec6bc4b rename artifact names to openworker: desktop/server binaries, console scripts, npm package
The Python import namespace (coworker) and the live auth config strings are
intentionally unchanged.
2026-07-21 11:35:29 -07:00
Rohit C PrasadandDevika 2b45018ffa OpenWorker: initial import
Imported from andrewyng/aisuite@1b4bbf303e
(contents of its platform/ directory, hoisted to the repo root).
Development history prior to this commit lives in that repository.

Co-authored-by: Devika <devikaverma11@gmail.com>
2026-07-21 11:09:41 -07:00