@tt-a1i/hive 1.0.0 → 1.1.3
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.
- package/CHANGELOG.md +41 -0
- package/README.en.md +18 -15
- package/README.md +9 -7
- package/assets/logo.png +0 -0
- package/dist/bin/team.cmd +0 -0
- package/dist/src/cli/hive.js +0 -1
- package/dist/src/cli/team.js +2 -1
- package/dist/src/server/agent-command-resolver.js +0 -1
- package/dist/src/server/agent-launch-cache.js +0 -1
- package/dist/src/server/agent-launch-resolver.js +0 -1
- package/dist/src/server/agent-manager-support.js +0 -1
- package/dist/src/server/agent-manager.js +0 -1
- package/dist/src/server/agent-run-bootstrap.js +0 -1
- package/dist/src/server/agent-run-exit-handler.js +0 -1
- package/dist/src/server/agent-run-start-context.js +0 -1
- package/dist/src/server/agent-run-starter.js +0 -1
- package/dist/src/server/agent-run-store.js +0 -1
- package/dist/src/server/agent-run-sync.js +0 -1
- package/dist/src/server/agent-runtime-active-run.js +0 -1
- package/dist/src/server/agent-runtime-close.js +0 -1
- package/dist/src/server/agent-runtime-contract.js +0 -1
- package/dist/src/server/agent-runtime-flow-adapter.js +0 -1
- package/dist/src/server/agent-runtime-list-runs.js +0 -1
- package/dist/src/server/agent-runtime-ports.js +0 -1
- package/dist/src/server/agent-runtime-stop-run.js +0 -1
- package/dist/src/server/agent-runtime-types.js +0 -1
- package/dist/src/server/agent-runtime.js +0 -1
- package/dist/src/server/agent-session-store.js +0 -1
- package/dist/src/server/agent-startup-instructions.js +0 -1
- package/dist/src/server/agent-stdin-dispatcher.d.ts +4 -0
- package/dist/src/server/agent-stdin-dispatcher.js +37 -27
- package/dist/src/server/agent-tokens.js +0 -1
- package/dist/src/server/app-state-store.js +0 -1
- package/dist/src/server/app.js +0 -1
- package/dist/src/server/claude-command-defaults.js +0 -1
- package/dist/src/server/claude-session-coordinator.js +0 -1
- package/dist/src/server/claude-session-support.js +0 -1
- package/dist/src/server/command-preset-defaults.js +0 -1
- package/dist/src/server/command-preset-store.js +0 -1
- package/dist/src/server/dispatch-ledger-serializer.js +0 -1
- package/dist/src/server/dispatch-ledger-store.js +0 -1
- package/dist/src/server/env-sync-message.js +0 -1
- package/dist/src/server/fs-browse.js +0 -1
- package/dist/src/server/fs-pick-folder.js +0 -1
- package/dist/src/server/fs-sandbox.js +0 -1
- package/dist/src/server/hive-team-guidance.d.ts +31 -0
- package/dist/src/server/hive-team-guidance.js +80 -1
- package/dist/src/server/http-errors.js +0 -1
- package/dist/src/server/live-run-registry.js +0 -1
- package/dist/src/server/local-request-guard.js +0 -1
- package/dist/src/server/message-log-store.js +0 -1
- package/dist/src/server/orchestrator-autostart.js +0 -1
- package/dist/src/server/orchestrator-launch.js +0 -1
- package/dist/src/server/package-version.js +0 -1
- package/dist/src/server/post-start-input-writer.js +0 -1
- package/dist/src/server/preset-launch-support.js +0 -1
- package/dist/src/server/pty-output-bus.js +0 -1
- package/dist/src/server/recovery-summary.js +0 -1
- package/dist/src/server/restart-policy-support.js +0 -1
- package/dist/src/server/restart-policy.js +0 -1
- package/dist/src/server/role-template-store.js +0 -1
- package/dist/src/server/role-templates.js +0 -1
- package/dist/src/server/route-helpers.js +0 -1
- package/dist/src/server/route-types.js +0 -1
- package/dist/src/server/routes-dispatches.js +0 -1
- package/dist/src/server/routes-fs.js +0 -1
- package/dist/src/server/routes-runtime.js +32 -1
- package/dist/src/server/routes-settings.js +0 -1
- package/dist/src/server/routes-tasks.js +0 -1
- package/dist/src/server/routes-team.js +0 -1
- package/dist/src/server/routes-ui.js +0 -1
- package/dist/src/server/routes-version.js +0 -1
- package/dist/src/server/routes-workspaces.js +0 -1
- package/dist/src/server/routes.js +0 -1
- package/dist/src/server/runtime-database.js +0 -1
- package/dist/src/server/runtime-message-builders.js +0 -1
- package/dist/src/server/runtime-restart-policy.js +0 -1
- package/dist/src/server/runtime-store-helpers.d.ts +10 -0
- package/dist/src/server/runtime-store-helpers.js +49 -9
- package/dist/src/server/runtime-store.d.ts +2 -0
- package/dist/src/server/runtime-store.js +8 -6
- package/dist/src/server/session-capture-claude.js +0 -1
- package/dist/src/server/session-capture-codex.js +0 -1
- package/dist/src/server/session-capture-gemini.js +0 -1
- package/dist/src/server/session-capture-opencode.js +0 -1
- package/dist/src/server/session-capture.js +0 -1
- package/dist/src/server/settings-store.js +0 -1
- package/dist/src/server/sqlite-schema-v10.js +0 -1
- package/dist/src/server/sqlite-schema-v11.js +0 -1
- package/dist/src/server/sqlite-schema-v12.js +0 -1
- package/dist/src/server/sqlite-schema-v13.js +0 -1
- package/dist/src/server/sqlite-schema-v14.js +0 -1
- package/dist/src/server/sqlite-schema-v15.js +0 -1
- package/dist/src/server/sqlite-schema-v16.js +0 -1
- package/dist/src/server/sqlite-schema-v17.js +0 -1
- package/dist/src/server/sqlite-schema-v18.js +0 -1
- package/dist/src/server/sqlite-schema-v5.js +0 -1
- package/dist/src/server/sqlite-schema-v7.js +0 -1
- package/dist/src/server/sqlite-schema-v8.js +0 -1
- package/dist/src/server/sqlite-schema-v9.js +0 -1
- package/dist/src/server/sqlite-schema.js +0 -1
- package/dist/src/server/startup-command-parser.js +0 -1
- package/dist/src/server/system-message.js +0 -1
- package/dist/src/server/tasks-file-watcher.js +2 -2
- package/dist/src/server/tasks-file.d.ts +10 -0
- package/dist/src/server/tasks-file.js +20 -1
- package/dist/src/server/tasks-websocket-server.js +0 -1
- package/dist/src/server/team-authz.js +0 -1
- package/dist/src/server/team-list-enrichment.js +0 -1
- package/dist/src/server/team-list-serializer.js +0 -1
- package/dist/src/server/team-operations.js +0 -1
- package/dist/src/server/terminal-flow-control.js +0 -1
- package/dist/src/server/terminal-protocol.js +0 -1
- package/dist/src/server/terminal-state-mirror.js +0 -1
- package/dist/src/server/terminal-stream-hub.js +0 -1
- package/dist/src/server/terminal-ws-server.js +0 -1
- package/dist/src/server/ui-auth-helpers.js +0 -1
- package/dist/src/server/ui-auth.js +0 -1
- package/dist/src/server/version-service.js +0 -1
- package/dist/src/server/worker-output-tracker.js +0 -1
- package/dist/src/server/workspace-path-validation.js +0 -1
- package/dist/src/server/workspace-shell-runtime.d.ts +29 -0
- package/dist/src/server/workspace-shell-runtime.js +179 -0
- package/dist/src/server/workspace-store-contract.js +0 -1
- package/dist/src/server/workspace-store-hydration.js +0 -1
- package/dist/src/server/workspace-store-mutations.js +0 -1
- package/dist/src/server/workspace-store-support.js +0 -1
- package/dist/src/server/workspace-store.js +0 -1
- package/dist/src/shared/types.js +0 -1
- package/package.json +1 -1
- package/web/dist/assets/index-B048NECd.js +66 -0
- package/web/dist/assets/index-DUlPKsEn.css +1 -0
- package/web/dist/index.html +5 -3
- package/web/dist/logo.png +0 -0
- package/web/dist/sounds/LICENSE-KENNEY.txt +22 -0
- package/web/dist/sounds/hive-beacon.ogg +0 -0
- package/web/dist/sounds/hive-cascade.ogg +0 -0
- package/web/dist/sounds/hive-chime.ogg +0 -0
- package/web/dist/sounds/hive-ping.ogg +0 -0
- package/web/dist/sounds/hive-resolve.ogg +0 -0
- package/web/dist/sounds/hive-soft.ogg +0 -0
- package/dist/src/cli/hive.js.map +0 -1
- package/dist/src/cli/team.js.map +0 -1
- package/dist/src/server/agent-command-resolver.js.map +0 -1
- package/dist/src/server/agent-launch-cache.js.map +0 -1
- package/dist/src/server/agent-launch-resolver.js.map +0 -1
- package/dist/src/server/agent-manager-support.js.map +0 -1
- package/dist/src/server/agent-manager.js.map +0 -1
- package/dist/src/server/agent-run-bootstrap.js.map +0 -1
- package/dist/src/server/agent-run-exit-handler.js.map +0 -1
- package/dist/src/server/agent-run-start-context.js.map +0 -1
- package/dist/src/server/agent-run-starter.js.map +0 -1
- package/dist/src/server/agent-run-store.js.map +0 -1
- package/dist/src/server/agent-run-sync.js.map +0 -1
- package/dist/src/server/agent-runtime-active-run.js.map +0 -1
- package/dist/src/server/agent-runtime-close.js.map +0 -1
- package/dist/src/server/agent-runtime-contract.js.map +0 -1
- package/dist/src/server/agent-runtime-flow-adapter.js.map +0 -1
- package/dist/src/server/agent-runtime-list-runs.js.map +0 -1
- package/dist/src/server/agent-runtime-ports.js.map +0 -1
- package/dist/src/server/agent-runtime-stop-run.js.map +0 -1
- package/dist/src/server/agent-runtime-types.js.map +0 -1
- package/dist/src/server/agent-runtime.js.map +0 -1
- package/dist/src/server/agent-session-store.js.map +0 -1
- package/dist/src/server/agent-startup-instructions.js.map +0 -1
- package/dist/src/server/agent-stdin-dispatcher.js.map +0 -1
- package/dist/src/server/agent-tokens.js.map +0 -1
- package/dist/src/server/app-state-store.js.map +0 -1
- package/dist/src/server/app.js.map +0 -1
- package/dist/src/server/claude-command-defaults.js.map +0 -1
- package/dist/src/server/claude-session-coordinator.js.map +0 -1
- package/dist/src/server/claude-session-support.js.map +0 -1
- package/dist/src/server/command-preset-defaults.js.map +0 -1
- package/dist/src/server/command-preset-store.js.map +0 -1
- package/dist/src/server/dispatch-ledger-serializer.js.map +0 -1
- package/dist/src/server/dispatch-ledger-store.js.map +0 -1
- package/dist/src/server/env-sync-message.js.map +0 -1
- package/dist/src/server/fs-browse.js.map +0 -1
- package/dist/src/server/fs-pick-folder.js.map +0 -1
- package/dist/src/server/fs-sandbox.js.map +0 -1
- package/dist/src/server/hive-team-guidance.js.map +0 -1
- package/dist/src/server/http-errors.js.map +0 -1
- package/dist/src/server/live-run-registry.js.map +0 -1
- package/dist/src/server/local-request-guard.js.map +0 -1
- package/dist/src/server/message-log-store.js.map +0 -1
- package/dist/src/server/orchestrator-autostart.js.map +0 -1
- package/dist/src/server/orchestrator-launch.js.map +0 -1
- package/dist/src/server/package-version.js.map +0 -1
- package/dist/src/server/post-start-input-writer.js.map +0 -1
- package/dist/src/server/preset-launch-support.js.map +0 -1
- package/dist/src/server/pty-output-bus.js.map +0 -1
- package/dist/src/server/recovery-summary.js.map +0 -1
- package/dist/src/server/restart-policy-support.js.map +0 -1
- package/dist/src/server/restart-policy.js.map +0 -1
- package/dist/src/server/role-template-store.js.map +0 -1
- package/dist/src/server/role-templates.js.map +0 -1
- package/dist/src/server/route-helpers.js.map +0 -1
- package/dist/src/server/route-types.js.map +0 -1
- package/dist/src/server/routes-dispatches.js.map +0 -1
- package/dist/src/server/routes-fs.js.map +0 -1
- package/dist/src/server/routes-runtime.js.map +0 -1
- package/dist/src/server/routes-settings.js.map +0 -1
- package/dist/src/server/routes-tasks.js.map +0 -1
- package/dist/src/server/routes-team.js.map +0 -1
- package/dist/src/server/routes-ui.js.map +0 -1
- package/dist/src/server/routes-version.js.map +0 -1
- package/dist/src/server/routes-workspaces.js.map +0 -1
- package/dist/src/server/routes.js.map +0 -1
- package/dist/src/server/runtime-database.js.map +0 -1
- package/dist/src/server/runtime-message-builders.js.map +0 -1
- package/dist/src/server/runtime-restart-policy.js.map +0 -1
- package/dist/src/server/runtime-store-helpers.js.map +0 -1
- package/dist/src/server/runtime-store.js.map +0 -1
- package/dist/src/server/session-capture-claude.js.map +0 -1
- package/dist/src/server/session-capture-codex.js.map +0 -1
- package/dist/src/server/session-capture-gemini.js.map +0 -1
- package/dist/src/server/session-capture-opencode.js.map +0 -1
- package/dist/src/server/session-capture.js.map +0 -1
- package/dist/src/server/settings-store.js.map +0 -1
- package/dist/src/server/sqlite-schema-v10.js.map +0 -1
- package/dist/src/server/sqlite-schema-v11.js.map +0 -1
- package/dist/src/server/sqlite-schema-v12.js.map +0 -1
- package/dist/src/server/sqlite-schema-v13.js.map +0 -1
- package/dist/src/server/sqlite-schema-v14.js.map +0 -1
- package/dist/src/server/sqlite-schema-v15.js.map +0 -1
- package/dist/src/server/sqlite-schema-v16.js.map +0 -1
- package/dist/src/server/sqlite-schema-v17.js.map +0 -1
- package/dist/src/server/sqlite-schema-v18.js.map +0 -1
- package/dist/src/server/sqlite-schema-v5.js.map +0 -1
- package/dist/src/server/sqlite-schema-v7.js.map +0 -1
- package/dist/src/server/sqlite-schema-v8.js.map +0 -1
- package/dist/src/server/sqlite-schema-v9.js.map +0 -1
- package/dist/src/server/sqlite-schema.js.map +0 -1
- package/dist/src/server/startup-command-parser.js.map +0 -1
- package/dist/src/server/system-message.js.map +0 -1
- package/dist/src/server/tasks-file-watcher.js.map +0 -1
- package/dist/src/server/tasks-file.js.map +0 -1
- package/dist/src/server/tasks-websocket-server.js.map +0 -1
- package/dist/src/server/team-authz.js.map +0 -1
- package/dist/src/server/team-list-enrichment.js.map +0 -1
- package/dist/src/server/team-list-serializer.js.map +0 -1
- package/dist/src/server/team-operations.js.map +0 -1
- package/dist/src/server/terminal-flow-control.js.map +0 -1
- package/dist/src/server/terminal-protocol.js.map +0 -1
- package/dist/src/server/terminal-state-mirror.js.map +0 -1
- package/dist/src/server/terminal-stream-hub.js.map +0 -1
- package/dist/src/server/terminal-ws-server.js.map +0 -1
- package/dist/src/server/ui-auth-helpers.js.map +0 -1
- package/dist/src/server/ui-auth.js.map +0 -1
- package/dist/src/server/version-service.js.map +0 -1
- package/dist/src/server/worker-output-tracker.js.map +0 -1
- package/dist/src/server/workspace-path-validation.js.map +0 -1
- package/dist/src/server/workspace-store-contract.js.map +0 -1
- package/dist/src/server/workspace-store-hydration.js.map +0 -1
- package/dist/src/server/workspace-store-mutations.js.map +0 -1
- package/dist/src/server/workspace-store-support.js.map +0 -1
- package/dist/src/server/workspace-store.js.map +0 -1
- package/dist/src/shared/types.js.map +0 -1
- package/web/dist/assets/index-BBxhzJnD.js +0 -80
- package/web/dist/assets/index-DcCBlqhh.css +0 -1
- package/web/dist/favicon.svg +0 -58
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
All notable user-facing changes will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 1.1.3 - 2026-05-17
|
|
6
|
+
|
|
7
|
+
Brand polish.
|
|
8
|
+
|
|
9
|
+
- Uses the README logo for the browser favicon and the in-app topbar brand mark.
|
|
10
|
+
- Removes the old inline SVG favicon from the web shell.
|
|
11
|
+
|
|
12
|
+
## 1.1.2 - 2026-05-17
|
|
13
|
+
|
|
14
|
+
Private-release workflow fix.
|
|
15
|
+
|
|
16
|
+
- Runs npm publish on Ubuntu instead of macOS. Publishing does not require
|
|
17
|
+
macOS, and the Ubuntu runner avoids unnecessary private-repo Actions cost.
|
|
18
|
+
|
|
19
|
+
## 1.1.1 - 2026-05-17
|
|
20
|
+
|
|
21
|
+
Private-release workflow fix.
|
|
22
|
+
|
|
23
|
+
- Publishes from the private product repository without npm provenance because
|
|
24
|
+
npm provenance currently requires a public GitHub Actions source repository.
|
|
25
|
+
The package contents are otherwise the same 1.1.x private-release line:
|
|
26
|
+
Workspace terminal tabs, hidden dormant Blueprint entry, and no production
|
|
27
|
+
source maps in the npm tarball.
|
|
28
|
+
|
|
29
|
+
## 1.1.0 - 2026-05-17
|
|
30
|
+
|
|
31
|
+
Private-release line.
|
|
32
|
+
|
|
33
|
+
- Added a Workspace terminal that opens from the active workspace and runs in
|
|
34
|
+
the workspace directory. It supports multiple shell tabs, full-height terminal
|
|
35
|
+
space, tab switching, and closing individual tabs without closing the whole
|
|
36
|
+
dialog.
|
|
37
|
+
- Kept the external install path unchanged. Users still install with
|
|
38
|
+
`npm install -g @tt-a1i/hive` or run with `npx @tt-a1i/hive`; this release is
|
|
39
|
+
built from the private product repository and published to the same npm
|
|
40
|
+
package.
|
|
41
|
+
- Hid the dormant task-graph / Blueprint entry from the main UI while keeping
|
|
42
|
+
the underlying code in place for possible future use.
|
|
43
|
+
- Documented the public/private repository split and release policy in
|
|
44
|
+
`docs/private-release-strategy.md`.
|
|
45
|
+
|
|
5
46
|
## 1.0.0 - 2026-05-17
|
|
6
47
|
|
|
7
48
|
Stable release.
|
package/README.en.md
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
# Hive
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="./assets/hive-hero.png" alt="Hive local-first multi-agent
|
|
4
|
+
<img src="./assets/hive-hero.png" alt="Hive local-first multi-agent collaboration workspace hero image" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
**Hive is a browser-native
|
|
7
|
+
**Hive is a browser-native workbench where a team of agents works together — one orchestrates, the rest execute, all on your laptop.** The orchestrator
|
|
8
8
|
is a real `claude` / `codex` / `opencode` / `gemini` process — not you, and
|
|
9
9
|
not a script — and so are the workers it dispatches to. Every agent runs as
|
|
10
10
|
a real PTY on your machine, talks through a small `team` protocol that Hive
|
|
11
11
|
injects into each agent's shell, and shares a markdown task graph at
|
|
12
12
|
`<workspace>/.hive/tasks.md`.
|
|
13
13
|
|
|
14
|
+
Code, research, drafts, translations — if a team can split the work, a hive can take it on.
|
|
15
|
+
|
|
14
16
|
[](https://www.npmjs.com/package/@tt-a1i/hive)
|
|
15
17
|
[](https://github.com/tt-a1i/hive/actions/workflows/release.yml)
|
|
16
18
|
[](https://hive-site.pages.dev)
|
|
@@ -22,25 +24,26 @@ injects into each agent's shell, and shares a markdown task graph at
|
|
|
22
24
|
|
|
23
25
|
English · [简体中文](./README.md)
|
|
24
26
|
|
|
25
|
-
> Hive is local-first, runs on `127.0.0.1`, and is intended for
|
|
26
|
-
> already
|
|
27
|
+
> Hive is local-first, runs on `127.0.0.1`, and is intended for anyone who
|
|
28
|
+
> already runs CLI agents. The latest stable release is on
|
|
27
29
|
> [npm](https://www.npmjs.com/package/@tt-a1i/hive) and the badge above resolves
|
|
28
30
|
> to it.
|
|
29
31
|
|
|
30
32
|
## Why Hive
|
|
31
33
|
|
|
32
|
-
CLI
|
|
34
|
+
CLI agents are powerful, but coordinating several of them manually is
|
|
33
35
|
awkward:
|
|
34
36
|
|
|
35
37
|
- Long-running sessions are spread across terminals.
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
+
- Splitting work across agents — implementation/review/testing,
|
|
39
|
+
research/drafting/fact-checking, or any other division of labor — needs a
|
|
40
|
+
routing layer you don't have.
|
|
38
41
|
- Worker progress disappears into scrollback.
|
|
39
42
|
- Restart recovery depends on each CLI's native session behavior.
|
|
40
43
|
|
|
41
|
-
Hive adds
|
|
42
|
-
real terminal processes
|
|
43
|
-
|
|
44
|
+
Hive adds the coordination layer without replacing the CLIs. Agents stay as
|
|
45
|
+
real terminal processes on your machine; Hive just manages the shell around
|
|
46
|
+
them.
|
|
44
47
|
|
|
45
48
|
## Try the demo first
|
|
46
49
|
|
|
@@ -128,15 +131,15 @@ same shell environment you use to start Hive.
|
|
|
128
131
|
|
|
129
132
|
- Workspace sidebar for switching between local projects.
|
|
130
133
|
- Orchestrator and worker terminals backed by real PTYs.
|
|
131
|
-
- Add Worker flow with role presets for coder, reviewer, tester, and
|
|
132
|
-
|
|
134
|
+
- Add Worker flow with role presets for coder, reviewer, tester, and fully
|
|
135
|
+
custom prompts and commands — wire any CLI agent into the role you need.
|
|
133
136
|
- `.hive/tasks.md` editor with external-file conflict handling.
|
|
134
137
|
- Background PTY preservation and best-effort native session resume.
|
|
135
138
|
- Local SQLite metadata under `~/.config/hive` by default, or `$HIVE_DATA_DIR`
|
|
136
139
|
when set.
|
|
137
140
|
|
|
138
|
-
Hive does not provide sandboxing, multi-user auth, cloud hosting, or
|
|
139
|
-
|
|
141
|
+
Hive does not provide sandboxing, multi-user auth, cloud hosting, or any
|
|
142
|
+
bundled agent model. It coordinates the CLIs you already run locally.
|
|
140
143
|
|
|
141
144
|
## Platform Support
|
|
142
145
|
|
|
@@ -265,7 +268,7 @@ verifies macOS, Ubuntu, and Windows, then publishes to npm with `NPM_TOKEN`.
|
|
|
265
268
|
## Status
|
|
266
269
|
|
|
267
270
|
Hive is published as a stable release. Current work focuses on polishing the
|
|
268
|
-
multi-
|
|
271
|
+
multi-agent collaboration workflow, Windows support, and clearer orchestration
|
|
269
272
|
observability.
|
|
270
273
|
|
|
271
274
|
## License
|
package/README.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
<img src="./assets/hive-hero.png" alt="Hive 本机多 agent 协作工作台" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
**Hive
|
|
7
|
+
**Hive 是浏览器里的 Agent 协作工作台——一群 Agent 在你本机各自开工,一个当 Orchestrator 派活、归总进展,其余各司其职。** Orchestrator 本身就是一个真实的 `claude` / `codex` / `opencode` / `gemini` 进程——不是你、也不是脚本——它派单的 Worker 同样是真 CLI agent。所有 agent 都是本机真实的 PTY 进程,通过 Hive 注入到 shell 里的小型 `team` 协议互相通信,共享 `<workspace>/.hive/tasks.md` 这份 markdown 任务图。
|
|
8
|
+
|
|
9
|
+
写代码、做调研、起草文档、做翻译——凡是能拆给一群人协作的脑力活,都可以让一群 Agent 合伙干。
|
|
8
10
|
|
|
9
11
|
[](https://www.npmjs.com/package/@tt-a1i/hive)
|
|
10
12
|
[](https://github.com/tt-a1i/hive/actions/workflows/release.yml)
|
|
@@ -17,14 +19,14 @@
|
|
|
17
19
|
|
|
18
20
|
[English](./README.en.md) · 简体中文
|
|
19
21
|
|
|
20
|
-
> Hive 是本机优先的工具,只监听 `127.0.0.1`,面向已经在用 CLI
|
|
22
|
+
> Hive 是本机优先的工具,只监听 `127.0.0.1`,面向已经在用 CLI Agent 的人。最新稳定版本见 [npm](https://www.npmjs.com/package/@tt-a1i/hive),上面的 badge 会指向它。
|
|
21
23
|
|
|
22
24
|
## 为什么需要 Hive
|
|
23
25
|
|
|
24
|
-
CLI
|
|
26
|
+
CLI Agent 各自都很强,但同时管几个就有点别扭:
|
|
25
27
|
|
|
26
28
|
- 长任务的会话散在好几个终端里,注意力来回切。
|
|
27
|
-
-
|
|
29
|
+
- 想把活儿分给几个 Agent(写代码 / review / 测试,或者调研 / 起草 / 事实核查之类),却缺一层来居中调度。
|
|
28
30
|
- Worker 的进度淹在 scrollback 里,回头看找不到。
|
|
29
31
|
- 想重启接着干,全看每个 CLI 自己的 session 恢复行为,散乱不可控。
|
|
30
32
|
|
|
@@ -104,12 +106,12 @@ Hive 不替你安装这些 CLI。请在启动 Hive 的同一个 shell 环境里
|
|
|
104
106
|
|
|
105
107
|
- Workspace 侧边栏,方便在多个本机项目之间切换。
|
|
106
108
|
- Orchestrator 和 Worker 终端都是真实 PTY 支撑的。
|
|
107
|
-
- Add Worker
|
|
109
|
+
- Add Worker 预置 coder / reviewer / tester 等角色模板,也支持完全自定义 prompt 与命令——把任何 CLI agent 编排成你需要的角色。
|
|
108
110
|
- `.hive/tasks.md` 编辑器,带外部文件冲突处理。
|
|
109
111
|
- PTY 后台保留 + 尽力使用各 CLI 原生 session 恢复。
|
|
110
112
|
- 元数据存在本机 SQLite,默认在 `~/.config/hive`,或者通过 `$HIVE_DATA_DIR` 指定。
|
|
111
113
|
|
|
112
|
-
Hive **不**提供 sandbox
|
|
114
|
+
Hive **不**提供 sandbox 隔离、多用户认证、云端托管,也不自带任何 agent 模型。它只负责调度你已经在用的本机 CLI。
|
|
113
115
|
|
|
114
116
|
## 平台支持
|
|
115
117
|
|
|
@@ -211,7 +213,7 @@ pnpm release:dry
|
|
|
211
213
|
|
|
212
214
|
## 状态
|
|
213
215
|
|
|
214
|
-
Hive 已发布稳定版。当前重点是继续打磨多
|
|
216
|
+
Hive 已发布稳定版。当前重点是继续打磨多 Agent 协作体验、Windows 支持和更清晰的调度可观测性。
|
|
215
217
|
|
|
216
218
|
## License
|
|
217
219
|
|
package/assets/logo.png
ADDED
|
Binary file
|
package/dist/bin/team.cmd
CHANGED
|
File without changes
|
package/dist/src/cli/hive.js
CHANGED
package/dist/src/cli/team.js
CHANGED
|
@@ -20,6 +20,8 @@ const TEAM_USAGE = [
|
|
|
20
20
|
" team report --stdin --dispatch <id> <<'EOF'",
|
|
21
21
|
' ... long report ...',
|
|
22
22
|
' EOF',
|
|
23
|
+
'',
|
|
24
|
+
'For role rules, workflow, and recovery instructions, see .hive/PROTOCOL.md',
|
|
23
25
|
].join('\n');
|
|
24
26
|
const getHiveEnv = () => {
|
|
25
27
|
const values = Object.fromEntries(REQUIRED_ENV_KEYS.map((key) => [key, process.env[key]]));
|
|
@@ -240,4 +242,3 @@ if (isMainModule) {
|
|
|
240
242
|
process.exit(1);
|
|
241
243
|
});
|
|
242
244
|
}
|
|
243
|
-
//# sourceMappingURL=team.js.map
|
|
@@ -9,6 +9,10 @@ interface AgentStdinDispatcherInput {
|
|
|
9
9
|
registry: LiveRunRegistry;
|
|
10
10
|
syncRun: (run: LiveAgentRun) => LiveAgentRun;
|
|
11
11
|
}
|
|
12
|
+
export declare const buildOrchestratorReportPayload: (workerName: string, text: string, artifacts: string[]) => string;
|
|
13
|
+
export declare const buildOrchestratorStatusPayload: (workerName: string, text: string, artifacts: string[]) => string;
|
|
14
|
+
export declare const buildOrchestratorUserInputPayload: (text: string) => string;
|
|
15
|
+
export declare const buildWorkerDispatchPayload: (fromAgentName: string, workerDescription: string, dispatchId: string, text: string) => string;
|
|
12
16
|
export declare const createAgentStdinDispatcher: ({ agentManager, getLaunchConfig, getWorkspaceId, registry, syncRun, }: AgentStdinDispatcherInput) => {
|
|
13
17
|
writeReportPrompt(workspaceId: string, workerName: string, text: string, artifacts: string[], input?: {
|
|
14
18
|
requireActiveRun?: boolean;
|
|
@@ -1,5 +1,38 @@
|
|
|
1
|
+
import { buildWorkerReminderTail, ORCHESTRATOR_REMINDER_TAIL } from './hive-team-guidance.js';
|
|
1
2
|
import { PtyInactiveError } from './http-errors.js';
|
|
2
3
|
import { createPostStartInputWriter } from './post-start-input-writer.js';
|
|
4
|
+
export const buildOrchestratorReportPayload = (workerName, text, artifacts) => {
|
|
5
|
+
const lines = [`[Hive 系统消息:来自 @${workerName} 的汇报]`, text];
|
|
6
|
+
for (const artifact of artifacts)
|
|
7
|
+
lines.push(`artifact: ${artifact}`);
|
|
8
|
+
lines.push('', ORCHESTRATOR_REMINDER_TAIL, '');
|
|
9
|
+
return lines.join('\n');
|
|
10
|
+
};
|
|
11
|
+
export const buildOrchestratorStatusPayload = (workerName, text, artifacts) => {
|
|
12
|
+
const lines = [`[Hive 系统消息:来自 @${workerName} 的状态更新]`, text];
|
|
13
|
+
for (const artifact of artifacts)
|
|
14
|
+
lines.push(`artifact: ${artifact}`);
|
|
15
|
+
lines.push('', ORCHESTRATOR_REMINDER_TAIL, '');
|
|
16
|
+
return lines.join('\n');
|
|
17
|
+
};
|
|
18
|
+
export const buildOrchestratorUserInputPayload = (text) => [text, '', ORCHESTRATOR_REMINDER_TAIL, ''].join('\n');
|
|
19
|
+
export const buildWorkerDispatchPayload = (fromAgentName, workerDescription, dispatchId, text) => [
|
|
20
|
+
`[Hive 系统消息:来自 @${fromAgentName} 的派单]`,
|
|
21
|
+
'',
|
|
22
|
+
`你的角色:${workerDescription}`,
|
|
23
|
+
'',
|
|
24
|
+
'你必须遵守:',
|
|
25
|
+
`- 完成、失败、阻塞或部分完成后,执行 \`team report "<result>" --dispatch ${dispatchId}\``,
|
|
26
|
+
'- 不要做无关的事,做完就 report',
|
|
27
|
+
'',
|
|
28
|
+
`dispatch_id: ${dispatchId}`,
|
|
29
|
+
'',
|
|
30
|
+
'任务内容:',
|
|
31
|
+
text,
|
|
32
|
+
'',
|
|
33
|
+
buildWorkerReminderTail(dispatchId),
|
|
34
|
+
'',
|
|
35
|
+
].join('\n');
|
|
3
36
|
export const createAgentStdinDispatcher = ({ agentManager, getLaunchConfig, getWorkspaceId, registry, syncRun, }) => {
|
|
4
37
|
const writeToActiveAgentRun = (workspaceId, agentId, text, input = {}) => {
|
|
5
38
|
const run = registry
|
|
@@ -31,39 +64,16 @@ export const createAgentStdinDispatcher = ({ agentManager, getLaunchConfig, getW
|
|
|
31
64
|
};
|
|
32
65
|
return {
|
|
33
66
|
writeReportPrompt(workspaceId, workerName, text, artifacts, input = {}) {
|
|
34
|
-
|
|
35
|
-
for (const artifact of artifacts)
|
|
36
|
-
lines.push(`artifact: ${artifact}`);
|
|
37
|
-
lines.push('');
|
|
38
|
-
writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, lines.join('\n'), input);
|
|
67
|
+
writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, buildOrchestratorReportPayload(workerName, text, artifacts), input);
|
|
39
68
|
},
|
|
40
69
|
writeStatusPrompt(workspaceId, workerName, text, artifacts, input = {}) {
|
|
41
|
-
|
|
42
|
-
for (const artifact of artifacts)
|
|
43
|
-
lines.push(`artifact: ${artifact}`);
|
|
44
|
-
lines.push('');
|
|
45
|
-
writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, lines.join('\n'), input);
|
|
70
|
+
writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, buildOrchestratorStatusPayload(workerName, text, artifacts), input);
|
|
46
71
|
},
|
|
47
72
|
writeSendPrompt(workspaceId, workerId, dispatchId, fromAgentName, workerDescription, text) {
|
|
48
|
-
writeToActiveAgentRun(workspaceId, workerId,
|
|
49
|
-
`[Hive 系统消息:来自 @${fromAgentName} 的派单]`,
|
|
50
|
-
'',
|
|
51
|
-
`你的角色:${workerDescription}`,
|
|
52
|
-
'',
|
|
53
|
-
'你必须遵守:',
|
|
54
|
-
`- 完成、失败、阻塞或部分完成后,执行 \`team report "<完整汇报>" --dispatch ${dispatchId}\``,
|
|
55
|
-
'- 不要做无关的事,做完就 report',
|
|
56
|
-
'',
|
|
57
|
-
`dispatch_id: ${dispatchId}`,
|
|
58
|
-
'',
|
|
59
|
-
'任务内容:',
|
|
60
|
-
text,
|
|
61
|
-
'',
|
|
62
|
-
].join('\n'), { requireActiveRun: true });
|
|
73
|
+
writeToActiveAgentRun(workspaceId, workerId, buildWorkerDispatchPayload(fromAgentName, workerDescription, dispatchId, text), { requireActiveRun: true });
|
|
63
74
|
},
|
|
64
75
|
writeUserInputPrompt(workspaceId, text) {
|
|
65
|
-
writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`,
|
|
76
|
+
writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, buildOrchestratorUserInputPayload(text));
|
|
66
77
|
},
|
|
67
78
|
};
|
|
68
79
|
};
|
|
69
|
-
//# sourceMappingURL=agent-stdin-dispatcher.js.map
|
package/dist/src/server/app.js
CHANGED
|
@@ -27,4 +27,3 @@ export const buildEnvSyncMessage = ({ agent, tasksContent, workers, workspace, r
|
|
|
27
27
|
...getHiveTeamRules(agent).map((rule) => ` - ${rule}`),
|
|
28
28
|
`请继续。如果不确定,用 team list / Read ${TASKS_RELATIVE_PATH} 自查或问 user。`,
|
|
29
29
|
].join('\n'));
|
|
30
|
-
//# sourceMappingURL=env-sync-message.js.map
|
|
@@ -1,2 +1,33 @@
|
|
|
1
1
|
import type { AgentSummary } from '../shared/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Tail reminder appended to every message that flows INTO the orchestrator
|
|
4
|
+
* (worker reports, worker status updates, user chat input). Re-anchors the
|
|
5
|
+
* role + dispatch syntax after the agent's CLI internally compacts the
|
|
6
|
+
* conversation transcript (`/compact` in CC, auto-summarize in Codex, etc.)
|
|
7
|
+
* and forgets the original startup instructions.
|
|
8
|
+
*
|
|
9
|
+
* Format choice (XML envelope, position at message tail, action-menu wording)
|
|
10
|
+
* follows a peer LLM-agent review: static `[Hive]` prefixes get filtered as
|
|
11
|
+
* banner noise after a few occurrences, but `<...-system-reminder>` tags
|
|
12
|
+
* mirror the out-of-band envelope LLMs are trained to attend to; placement
|
|
13
|
+
* at the tail (right before the agent's reply turn) maximizes recency
|
|
14
|
+
* weighting; phrasing as a two-option action menu is more actionable than
|
|
15
|
+
* abstract identity restatement.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ORCHESTRATOR_REMINDER_TAIL: string;
|
|
18
|
+
/**
|
|
19
|
+
* Tail reminder appended to dispatches sent TO a worker. Reinforces the
|
|
20
|
+
* worker identity (so the agent does not regress into its normal CLI
|
|
21
|
+
* persona that would call nested subagents) plus the exact report syntax
|
|
22
|
+
* with dispatch_id pre-bound.
|
|
23
|
+
*/
|
|
24
|
+
export declare const buildWorkerReminderTail: (dispatchId: string) => string;
|
|
2
25
|
export declare const getHiveTeamRules: (agent: Pick<AgentSummary, "role">) => string[];
|
|
26
|
+
/**
|
|
27
|
+
* Workspace-local protocol cheat sheet written to `.hive/PROTOCOL.md`. Agents
|
|
28
|
+
* are explicitly trained to look at project root markdown when confused, so
|
|
29
|
+
* keeping a single canonical doc next to `.hive/tasks.md` doubles as a
|
|
30
|
+
* "cat-recover" path when both the startup prompt and the in-message
|
|
31
|
+
* reminders fail to anchor.
|
|
32
|
+
*/
|
|
33
|
+
export declare const buildProtocolDoc: () => string;
|