Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
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
1 change: 1 addition & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"privatePackages": false,
"ignore": []
}
3 changes: 3 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Install Chromium for Vitest Browser Mode
run: pnpm exec playwright install --with-deps chromium

# ... (lint, type-check, test:ci, codecov... 保持不变)
- name: Run linting
run: pnpm lint
Expand Down
40 changes: 40 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,46 @@
- 🏗️ **工程化规范**: 采用 Monorepo 架构,使用 Changesets 管理版本
- 🧪 **质量保障**: 完善的测试流程(单元测试 + 冒烟测试)

## Axis ACP DevKit(私有工作区)

仓库同时包含一套面向 Coding Agent 开发者的 ACP v1 测试与调试工具链。它不会随 `axis-ui` 发布,核心能力可在无浏览器环境运行:安全启动已注册的 stdio Agent、记录 Raw JSON-RPC 与归一化事件、执行三个固定场景、生成诊断与单次 JSON/HTML 报告,并从脱敏 Transcript 离线恢复状态。

```bash
# 构建全部工作区
pnpm build:all

# 确定性场景 + JSON/HTML 证据
node packages/acp-cli/dist/main.js run \
--target fixture-agent \
--scenario cancel-during-permission \
--workspace . \
--output artifacts/runs

# 离线回放并校验 State Hash
node packages/acp-cli/dist/main.js replay \
--input artifacts/runs/fixture-agent-cancel-during-permission.axis-acp.json

# 检查本机已安装的真实 OpenCode ACP Agent
node packages/acp-cli/dist/main.js inspect --target opencode --workspace .
```

启动可视化 Workbench 时,Node Host 与浏览器分开运行。`serve` 只绑定 loopback,使用高熵临时 Token 和 Origin 校验;浏览器只能发送已注册的 Target ID、固定 Scenario ID 与 Workspace,不能提交可执行命令或参数。

```bash
# 终端 1:复制输出的 ws URL 与 Token
node packages/acp-cli/dist/main.js serve --origin http://127.0.0.1:5173

# 终端 2
pnpm --filter @axis-ui/acp-devtools dev

# 打开:
# http://127.0.0.1:5173/?bridge=<encoded-ws-url>&token=<token>&workspace=<encoded-absolute-path>
```

范围边界:当前只支持 ACP v1、stdio、三个固定 Scenario 和单次报告;结果是 Axis 场景集内的工程证据,不是 ACP 官方认证,也不评价模型代码质量。

录制的本地闭环演示:[`docs/public/demos/axis-acp-devtools.webm`](./docs/public/demos/axis-acp-devtools.webm)。视频展示鉴权 Bridge 场景运行、Run Evidence 切换和 Diagnostic→Sequence 跳转,不包含 Token 或地址栏。

## 📦 安装

```bash
Expand Down
16 changes: 16 additions & 0 deletions apps/acp-devtools/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta
name="description"
content="Axis ACP DevTools protocol timeline, diagnostics, and deterministic replay inspector."
/>
<title>Axis ACP DevTools</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
16 changes: 16 additions & 0 deletions apps/acp-devtools/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"name": "@axis-ui/acp-devtools",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"type-check": "vue-tsc --noEmit -p tsconfig.json"
},
"dependencies": {
"@axis-ui/acp-core": "workspace:*",
"axis-ui": "workspace:*",
"vue": "^3.5.22"
}
}
Loading
Loading