@engineeros/connector

中文文档
1.59.103发布于 2026/11/13SEE LICENSE IN LICENSEES Module近 30 天下载 2.7万

Connect a local coding agent to EngineerOS, using ACP when supported.

原始使用文档
文档目录10 节
  1. Requirements
  2. Install
  3. Connect a workspace
  4. Goal execution and recovery
  5. Connect Bug Hunter without a repository
  6. Connector agent defaults
  7. Troubleshoot and update
  8. Governed native delivery runtime
  9. License
  10. Retained job history

EngineerOS Connector

Connect a local coding agent or Bug Hunter host to EngineerOS.

Requirements

  • Node.js 22 or newer and npm on Windows, macOS or Linux.
  • An EngineerOS pairing command and access to your chosen coding agent.
  • Git when connecting a code repository.
  • Protected credential storage: Windows Credential Manager/Data Protection, macOS Keychain, or Linux Secret Service. On Linux, install secret-tool (libsecret-tools) and run an unlocked keyring such as GNOME Keyring or KWallet.

Install

npm install --global @engineeros/connector@latest
engineeros-connector version

To run without a global install, replace engineeros-connector in the commands below with npx --yes @engineeros/connector@latest.

Connect a workspace

In EngineerOS, open Project steering → Connect workspace and copy the pairing command. Run it inside your project folder. For example, with Codex:

engineeros-connector agent codex-acp install
engineeros-connector pair PAIRING_CODE --url https://your-engineeros.example --workspace . --onboard --agent codex-acp

Replace the code and server URL with the values from EngineerOS. Sign in to the agent when prompted; for Codex, run codex login in another terminal. Keep the connector terminal open.

Run engineeros-connector agents to list supported agents. Use the chosen agent's ID in both commands above; for Claude, use claude-acp.

Restart an already paired workspace with:

engineeros-connector start --workspace .

Goal execution and recovery

Goal execution uses contract 4 and needs the matching EngineerOS backend. The server retains repair reservations across restarts and Resume, including planning, ticket and repository-quality repairs. Restoring a fresh worktree cannot reset those allowances; keep the original checkpoint and completed work.

Scope additions require explicit user approval of repository-relative Path: entries shown in the question and its affected artifacts. Excluded paths stay excluded. A generic attestation cannot authorize an unapproved file.

Runs created before server repair accounting retain their evidence and saved head. Use an explicitly reviewed follow-up Goal to continue their code changes; unknown historical allowances are never initialized as unused. Saved completed results can still be delivered with their original execution attempt.

Connect Bug Hunter without a repository

Choose Find bugs in a running app in EngineerOS, add your target and copy its host command:

engineeros-connector hunt-host PAIRING_CODE --url https://your-engineeros.example --project PROJECT_UUID --agent codex-acp

The command prepares the agent and automatically installs the connector's pinned Playwright runtime and matching managed Chromium when missing. Workspace pair and start, hunts and recorded sign-ins use the same browser setup path. Complete the requested agent sign-in and keep the terminal open. No separate Playwright setup command is needed.

On Linux, setup checks and installs missing system dependencies using available administrator access. A terminal can request your password; a background process never prompts and reports the exact administrator command if access is unavailable. Disabled tools stay disabled, and integrity or version mismatches require explicit repair. Verified packages are retained when browser preparation fails, so a retry continues from the installed package. Setup verifies a real isolated context, synthetic navigation, HTTP/WebSocket interception, state restoration, screenshot/trace capture and evidence storage. Configure test accounts, app builds and devices in Bug Hunter Setup as needed.

Public-only browsing blocks state-changing/unknown HTTP operations and WebSockets before initial navigation. Parsed, unambiguous GraphQL queries on the recognized /graphql endpoint may pass with JSON operation documents; mutations, subscriptions, batches, multipart and persisted/unknown documents do not. The same policy applies to explicit request steps and every browser redirect hop through Chromium response interception. Frames/popups that cannot establish this guard before network access are blocked with an unsupported-capability diagnostic. A connector-local proxy validates and pins actual socket destinations and redirects; metadata/reserved addresses remain denied. Private DNS targets need every approved private address in Allowed hosts; localhost names must resolve exclusively to loopback. Local-looking suffixes grant no private-network access. An address change requires a new authorized run. Health/version checks, launch readiness, reset hooks, schema introspection and discovery use the same guarded socket rules; public-only grants refuse launch/seed/reset effects. Cloud web browsers and Electron with protected HTTP(S) targets are blocked when this socket boundary cannot be enforced. Purely local Electron actions and native WebDriver retain their separate execution paths and are not qualified web transport coverage.

Web cases must declare Effects, Test data and Cleanup starts in Markdown. A write case identifies its own {unique} data and a final cleanup range. Cleanup runs after an assertion failure and preserves that original failure. Unfinished cleanup stops further automatic work until the owned data is resolved and an operator explicitly resumes. Existing cases without declarations remain retained and require explicit regeneration or repair before execution; schema imports never manufacture executable cases when the model produces none.

Unfinished cleanup from cases, probes or re-observation is retained as an incident beside the original result hash in the encrypted hunter/environment ledger. A restart reports it before target work and cannot start another execution. Resolve the named owned data, synchronize the incident, then resume the halted hunter in EngineerOS with a reason and start a fresh authorized run. Only an acknowledgment containing that exact incident identity clears the local barrier. The original result, failure, proof children and attempt budgets remain retained.

Recorded sign-ins bind project, environment, connector, account, role and exact application origins. Record the login once, then start testing; no signed-in marker is required. A marker configured under advanced account options adds an explicit identity check in a separate read-only context before each case. Without one, the runner restores the recording directly and reports sign-in redirects encountered during testing. Restoring state alone does not claim verified login health. The protected host keeps application cookies, localStorage, sessionStorage and IndexedDB, including renewed sessions; optional health checks never collect screenshots or discovery facts. Earlier unbound recordings require explicit re-recording.

The app's own browser requests can reach public APIs and login services on other origins, including Supabase, without configuring those services as test targets. This applies to recording, password sign-in and restored sessions. Explicit case navigation/API requests remain scoped; read-only rules, TLS/CORS and private-network protections remain enforced. Only the app's approved cookie/storage origins are kept; contacting a public identity provider does not capture its sign-in state.

Screenshots and live frames are off by default. Setup's Allow screenshots in new hunts grants permission for a new immutable assignment, including native captures; it does not change an existing run. Visible test data can appear in an authorized image. Without permission, runs retain permitted text observations and checks; insufficient flaky evidence remains quarantined. Known credential values are removed from text metadata, and credential-bearing discovery paths are excluded rather than rewritten into replay URLs. Browser readiness captures only its own synthetic local fixture.

Restart the host with:

engineeros-connector hunt-host --project PROJECT_UUID

Connector agent defaults

Workspace assignments and Bug Hunter agent turns use the connector's shipped execution policy: concise reports, bounded reads, reuse of supplied context/memory, targeted verification, and explicit capability gaps. Required coverage, evidence, permissions and response contracts still apply. The policy is attached on a new session; continuations reuse it instead of repeating it. It does not copy this repository's development instructions into another project or create instruction/skill files there.

AgentConnector controlsRemaining inheritance
Codex CLI and codex-acpDisable installed plugins, apps, bundled skills and the automatic skill catalogue. Connector defaults override extension settings; ACP ignores ambient CODEX_CONFIG.Authentication, provider configuration, repository rules and unrelated native settings (including separately configured MCP servers) remain available.
claude-acpSupply empty user/project/local settings sources, plugin and skill lists; accept only session-supplied MCP configuration; disable prompt suggestions. Apply to new and loaded sessions.Existing login and managed policy remain. Repository instructions are read explicitly when workspace work requires them. Requires an adapter supporting claudeCode.options session metadata.
GeminiForce --extensions none.Other settings and skills may still load; emit a warning.
OpenCodeSupply the connector tool directory; disable project config and external/Claude skill discovery; replace inherited inline config overrides.User-level plugins and settings may still load; emit a warning.
Forge or custom ACPSupply the shared execution policy.Configuration exclusion is unsupported; emit a warning and continue. Forge retains its existing user-scope MCP registration.

These controls apply only to connector launches. They do not edit the coding agent's global settings or copy credentials. Unsupported adapters remain usable with the warning; their extension context cannot be guaranteed. Use a current Codex or Claude ACP adapter for enforced plugin exclusions. Configuration controls reduce avoidable context; actual token savings require comparison of recorded usage for equivalent runs.

Troubleshoot and update

engineeros-connector doctor --workspace .
npm install --global @engineeros/connector@latest
  • Missing pairing: copy a new pairing command from EngineerOS.
  • Agent sign-in failed: sign in to the selected agent, then restart the connector.
  • fetch failed or a network error code: run doctor and check the DNS hostname from the connector's machine. ENOTFOUND/EAI_AGAIN indicate resolution failure; ECONNREFUSED means the destination refused the connection; connect timeouts require checking routing, firewall and the server/proxy listener. Certificate errors require repairing the certificate or trusted CA chain. Keep TLS verification enabled. A request that never received an HTTP acknowledgement does not establish an invalid pairing or API-key rejection; retain the pairing while investigating.
  • Credential storage unavailable: unlock or configure the protected store listed above, then restart. Headless Linux hosts also need a running Secret Service.
  • Result delivery interrupted: completed prompt answers and failures are saved locally and retried after reconnecting. If EngineerOS permanently rejects an outcome, the terminal names the retained evidence file and reason. Keep that file when investigating; a rejected outcome does not automatically rerun the agent.

Governed native delivery runtime

Pair the workspace first. Prepare a local JSON runtime configuration with kind: docker-readonly-tmpfs-v1, immutable digest-pinned image and proxy_image, connector_entry: /opt/engineeros/bin/engineeros-connector.mjs, and the installed adapter's agent_config (agent_protocol, optional agent_command, agent_args, agent_name). Keep provider credentials in individual local files. Each explicit credentials entry names an absolute regular-file source, a unique /run/credentials/<name> target and readonly: true; directories and symlinks are refused. Never put credential values or environment secrets in the JSON.

engineeros-connector delivery configure --profile /absolute/path/runtime.json --workspace .
engineeros-connector delivery status --workspace .

Restart the connector to advertise the configured isolation identity. Retain the real isolation, process, resource, recovery, provider-bound and scope measurements and obtain environment approval before executing a governed plan. Configuration and delivery probe alone do not qualify a runtime. Changed credentials, images or capability hashes require requalification. Native scope uses a complete measured CLI bundle and filesystem ownership; it does not implement per-tool filtering. Missing prerequisites refuse work before launch and retain existing evidence/accounting.

  • Uploaded input refused: use public HTTPS storage or the hunt host's local inputs folder. Downloads reject private/metadata addresses and are limited to 25 MB and 60 seconds.
  • Behind a corporate proxy: set HTTPS_PROXY (or HTTP_PROXY), and NO_PROXY for internal hosts, before starting the connector. The connector's own EngineerOS, npm and agent-registry traffic then uses that proxy; loopback addresses always bypass it. For a private certificate authority, also set NODE_EXTRA_CA_CERTS to its PEM file. Coding agents use their own proxy settings, and Bug Hunter target traffic keeps its separate guarded path.

License

Copyright (c) 2026 Techmirus Innovations.

The EngineerOS Connector Binary Use License permits personal and commercial use of the official executable distribution. The original source remains proprietary. Third-party dependencies retain their own licenses; bundled grammar notices are in grammars/NOTICE.md.

Retained job history

engineeros-connector history compact --workspace <folder> combines acknowledged terminal report files while retaining every encrypted evidence body, acknowledgement and execution identity. Pending or rejected reports, locally retained evidence and interrupted/uncertain work stay untouched. New terminal reports compact automatically. Stop older connector versions before this storage-layout cutover; they cannot read compacted archives. The command uses local protected storage without contacting EngineerOS. See the retention contract.

版本与发布记录

@engineeros/connector 共发布 246 个版本,首次发布于 2026/08/12;过去 12 个月发布了 246 个版本。

版本发布日期距今
1.59.103latest2026/11/13今天
1.59.1022026/11/13今天
1.59.1012026/11/13今天
1.59.1002026/11/121 天前
1.59.992026/11/121 天前
1.59.982026/11/121 天前

其他发布通道:next → 1.55.1。

关于 @engineeros/connector 的常见问题

@engineeros/connector 是什么?

Connect a local coding agent to EngineerOS, using ACP when supported.

如何安装 @engineeros/connector?

在项目目录运行 npm install @engineeros/connector,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 engineeros-connector,可以用 npx engineeros-connector 直接运行。

@engineeros/connector 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/engineeros__connector 是否存在。

@engineeros/connector 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@engineeros/connector 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@engineeros/connector 可以商用吗?

@engineeros/connector 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@engineeros/connector 的下载量有多少?

根据 npm 官方下载统计,@engineeros/connector 在 2026/10/14 – 2026/11/12 这 30 天内被下载 27,163 次,日均约 905 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@engineeros/connector 还在维护吗?

最新版本 1.59.103 发布于 2026/11/13(今天);至今共发布 246 个版本,其中过去 12 个月发布了 246 个;首次发布于 2026/08/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。