Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions docs/interactive-capabilities/capabilities.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"title": "OpenBitFun Playbook",
"origin": "https://playbook.openbitfun.com",
"source": "src/shared/interactive-capabilities/catalog.json",
"digest": "63afe6c13213f11a7089fbb6208db930d563e4d3098f7c6dcf4c20a1f4e87271",
"digest": "434dc78df2ba3fa225ab75ab2839d8dcacebbf2e65123a49da3ceb4081c2988f",
"ownerDigest": "c0e5c187cf62bc6ed06196ce8520b3eb427bf268cf24659b72d2552fb1d99c54",
"searchAcceptance": [
{
Expand Down Expand Up @@ -563,6 +563,7 @@
"additionalProperties": true
},
"delegateTools": [
"ListWorkspaces",
"SessionControl",
"SessionHistory",
"Read",
Expand Down Expand Up @@ -611,6 +612,7 @@
"additionalProperties": true
},
"delegateTools": [
"ListWorkspaces",
"SessionControl",
"SessionMessage"
],
Expand Down Expand Up @@ -19317,6 +19319,7 @@
"control": {
"kind": "delegate",
"tools": [
"ListWorkspaces",
"SessionControl",
"SessionHistory",
"Read",
Expand All @@ -19339,15 +19342,16 @@
"control": {
"kind": "delegate",
"tools": [
"ListWorkspaces",
"SessionControl",
"SessionMessage"
],
"workflowZh": [
"用 SessionControl 在明确工作区内创建或列出会话;取消只终止当前运行轮次,删除是独立动作",
"用 ListWorkspaces 获取运行主机登记的 workspace_id,再传给 SessionControl.workspace 创建或列出本地或远程会话;绝对路径仅在调用者执行环境中解析;取消只终止当前轮次,删除是独立动作",
"需要让另一持久会话接手工作时用 SessionMessage,并保留异步返回;跨远程边界时沿用目标会话绑定,不得复用控制器路径"
],
"workflowEn": [
"Use SessionControl to create or list sessions in an explicit workspace; cancel affects only the active turn and delete is separate",
"Use ListWorkspaces to discover runtime-host workspace IDs, then pass one as SessionControl.workspace to create or list local or remote sessions; absolute paths resolve in the caller environment; cancel affects only the active turn and delete is separate",
"Use SessionMessage when another persisted session should take over work and retain its asynchronous result; preserve the target session binding across remote boundaries"
]
}
Expand Down Expand Up @@ -19575,6 +19579,7 @@
"Call FrontendWorkbench prepare on the local Desktop in Creative mode, read the packaged API, and edit only draft CSS, JavaScript and owned assets without source or build tools",
"Apply with the original draft ID; the host starts the immutable review window's 15-second countdown only after the real shell and customization activate, and apply waits for a final confirmed or rolled_back outcome",
"Compose commands, state and events into reusable capabilities; use FrontendWorkbench inspect to discover schemas and diagnostics, then invoke to verify execution",
"ListWorkspaces",
"SessionControl",
"SessionHistory",
"Grep",
Expand All @@ -19583,9 +19588,9 @@
"Use SessionControl list to find the target session, then export its indexed transcript with SessionHistory",
"Read only the exported index first, then use Read or Grep for the required turns instead of loading the entire history into context",
"SessionMessage",
"用 SessionControl 在明确工作区内创建或列出会话;取消只终止当前运行轮次,删除是独立动作",
"用 ListWorkspaces 获取运行主机登记的 workspace_id,再传给 SessionControl.workspace 创建或列出本地或远程会话;绝对路径仅在调用者执行环境中解析;取消只终止当前轮次,删除是独立动作",
"需要让另一持久会话接手工作时用 SessionMessage,并保留异步返回;跨远程边界时沿用目标会话绑定,不得复用控制器路径",
"Use SessionControl to create or list sessions in an explicit workspace; cancel affects only the active turn and delete is separate",
"Use ListWorkspaces to discover runtime-host workspace IDs, then pass one as SessionControl.workspace to create or list local or remote sessions; absolute paths resolve in the caller environment; cancel affects only the active turn and delete is separate",
"Use SessionMessage when another persisted session should take over work and retain its asynchronous result; preserve the target session binding across remote boundaries",
"get_goal",
"create_goal",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ Work with AI in project context, create sessions, continue tasks, answer permiss
- Start, steer, interrupt, cancel, or recover an agent turn
- **智能体可定位入口,需交互完成 / Agent opens; interaction required** · 查看并逐个或批量回答等待中的权限请求
- Review and answer pending permission requests individually or in a batch
- **由专用智能体工具控制 / Delegated Agent tool** · `SessionControl` / `SessionHistory` / `Read` / `Grep` · 分页加载、搜索和回填历史消息与会话内容
- **由专用智能体工具控制 / Delegated Agent tool** · `ListWorkspaces` / `SessionControl` / `SessionHistory` / `Read` / `Grep` · 分页加载、搜索和回填历史消息与会话内容
- Page through, search, and backfill historical turns and session content
- **由专用智能体工具控制 / Delegated Agent tool** · `SessionControl` / `SessionMessage` · 让智能体创建、列出、取消、删除会话或向另一会话发送消息
- **由专用智能体工具控制 / Delegated Agent tool** · `ListWorkspaces` / `SessionControl` / `SessionMessage` · 让智能体创建、列出、取消、删除会话或向另一会话发送消息
- Let an agent create, list, cancel, or delete sessions and send messages to another session
- **智能体可定位入口,需交互完成 / Agent opens; interaction required** · 在对话中通过 @ 选择当前模式可用的 MCP 服务
- Use @ in chat to select MCP servers available to the current mode
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"generatedFrom": "src/shared/interactive-capabilities/catalog.json",
"catalogDigest": "63afe6c13213f11a7089fbb6208db930d563e4d3098f7c6dcf4c20a1f4e87271",
"catalogDigest": "434dc78df2ba3fa225ab75ab2839d8dcacebbf2e65123a49da3ceb4081c2988f",
"count": 212,
"reasonCounts": {
"externalAuth": 4,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 2,
"generatedFrom": "src/shared/interactive-capabilities/catalog.json",
"catalogDigest": "63afe6c13213f11a7089fbb6208db930d563e4d3098f7c6dcf4c20a1f4e87271",
"catalogDigest": "434dc78df2ba3fa225ab75ab2839d8dcacebbf2e65123a49da3ceb4081c2988f",
"commandCount": 668,
"coverage": {
"commandCount": 668,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ Choose the session type intentionally:

- `Standard` for implementation, debugging, code changes, and planning tasks; ask it to use the built-in `plan` Skill when a plan artifact is the deliverable.
- `Cowork` for research, documents, presentations, summaries, and other office-related work.
- `DeepResearch` for systematic investigation and evidence-driven reports.

Local computer/desktop work is not a SessionControl session type; use the `ComputerUse` tool directly when available.

Expand Down
7 changes: 7 additions & 0 deletions src/crates/assembly/core/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,13 @@ Skill discovery, installation provenance, and local/remote registry regressions:
cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git --lib agentic::tools::implementations::skills::
```

SessionControl workspace selection, remote routing, and session-targeted actions:

```bash
cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git --lib session_control_tool::tests
cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git --lib list_workspaces
```

Skill hook activation, session cleanup, and tool preflight/permission ordering:

```bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ Use these tables to select tools for the user's tasks, then put their exact name
| `ReadMCPResource` | Read a connected MCP server's resource by URI. |
| `ListMCPPrompts` | List prompt templates exposed by a connected MCP server. |
| `GetMCPPrompt` | Fetch and render a named prompt template from a connected MCP server. |
| `SessionControl` | Create, list, rename, cancel, and delete persisted agent sessions. |
| `ListWorkspaces` | Discover registered local, assistant, and remote workspace IDs on the runtime host without activating them. |
| `SessionControl` | Create or list sessions by workspace ID or caller-scoped absolute path; rename, cancel, or delete by session ID. |
| `SessionMessage` | Send a message to another agent session and receive its result asynchronously. |
| `SessionHistory` | Export an agent session transcript and index for targeted history reads. |
| `PortForward` | Forward a port from an SSH host to the user's machine. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ impl ClawMode {
"create_goal".to_string(),
"update_goal".to_string(),
"Skill".to_string(),
"ListWorkspaces".to_string(),
"SessionControl".to_string(),
"SessionMessage".to_string(),
"SessionHistory".to_string(),
Expand Down Expand Up @@ -112,6 +113,7 @@ mod tests {
assert!(!tools.contains(&"PublishMiniApp".to_string()));
assert!(!tools.contains(&"FrontendWorkbench".to_string()));
assert!(tools.contains(&"ListModels".to_string()));
assert!(tools.contains(&"ListWorkspaces".to_string()));
}

#[test]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ Notes:
| `ReadCanvas` | Direct | None | - |
| `UpdateCanvas` | Direct | None | - |
| `PatchCanvas` | Direct | None | - |
| `ListWorkspaces` | Deferred | None | - |
| `SessionControl` | Deferred | None | - |
| `SessionMessage` | Deferred | None | - |
| `SessionHistory` | Deferred | None | - |
Expand Down
Loading
Loading