内容
# 凝视
凝视是一个本地优先的 Markdown 工作空间,用于展示智能体工作和收集浏览器反馈。它的 MCP 服务器在 `http://127.0.0.1:5173` 处托管文档,允许在本地查看器中持久化访问。
本地评审无需凝视账户或云部署即可进行。可选的公共快照可部署到您拥有的 Cloudflare 账户。
## 安装
[Bun](https://bun.sh/) 1.3 或更高版本是必需的。
```sh
bunx @kitlangton/behold setup
```
安装程序会检测支持的编码智能体,通过 [`add-mcp`](https://github.com/neon-solutions/add-mcp) 在全局安装凝视,启动本地查看器,并在浏览器中打开它。在安装后,请重启正在运行的智能体,以便它加载新的 MCP 服务器。
如果不需要自动检测,可以选择特定的智能体:
```sh
bunx @kitlangton/behold setup --agent opencode --no-open
```
## 使用
自然地询问您的智能体:
> 将此架构提案放入凝视中。
智能体可以托管内联 Markdown 或绝对 Markdown 文件,更新修订版,并等待浏览器评论。
凝视将语义围栏升级为原生评审组件:`mermaid`、`tree`、`diff`、`json`、`openapi`、`http`、`terminal`、`schema`、`timeline` 和 `definitions`。普通语言围栏可以包含元数据,例如 `typescript title="src/app.ts" start=42 highlight=44-46`。
## 自主发布
部署按钮会在您的 Cloudflare 账户中创建公共查看器和存储。连接您的本地凝视运行时需要生成的 Worker URL 和一个私有令牌。
1. 生成一个私有发布令牌,并将其保留在后续步骤中:
```sh
openssl rand -hex 32
```
2. 点击 **部署到 Cloudflare**。Cloudflare 会将凝视复制到您的 Git 账户,构建公共查看器,配置 R2 存储桶,并要求提供 `BEHOLD_PUBLISH_TOKEN`。输入步骤 1 中的令牌。
[](https://deploy.workers.cloudflare.com/?url=https://github.com/kitlangton/behold)
3. 复制生成的 Worker URL。在每个运行凝视的编码智能体的项目中,将 URL 和相同的令牌添加到 `.env.local`:
```sh
BEHOLD_PUBLISH_ORIGIN=https://behold-publish.<account>.workers.dev
BEHOLD_PUBLISH_TOKEN=<部署过程中输入的令牌>
```
请勿提交此文件或共享令牌。
4. 重启凝视,以便它加载新的配置:
```sh
bunx @kitlangton/behold stop
bunx @kitlangton/behold start
```
5. 打开 `http://127.0.0.1:5173`,托管一个文档,并选择 **发布**。发布的 URL 应该使用您的 Cloudflare Worker 源。
凝视会从已发布的快照中删除本地源路径元数据。作者的 Markdown 会按原样发布,因此请在发布前审查它是否存在私有路径或其他敏感文本。Cloudflare 从您的 Worker 和用户拥有的 R2 存储桶提供快照。
凝视会在本地记住每个托管文档的公共 URL。在启动时,它会将这些收据与 Cloudflare 进行比对,以便文档操作准确显示 **已发布**、**更新**、**重新发布** 或 **状态不可用**。使用 **打开** 查看公共副本,并使用 **取消发布** 使用相同的私有发布令牌删除它。
参见 [`docs/behold-architecture.md`](docs/behold-architecture.md) 了解本地和公共系统边界。
## 命令
```sh
bunx @kitlangton/behold doctor
bunx @kitlangton/behold start
bunx @kitlangton/behold status
bunx @kitlangton/behold stop
```
`doctor` 报告本地运行时状态和检测到的智能体注册,而不启动凝视。安装程序会安装 MCP 命令;它不会安装全局 shell 命令。
## 数据
凝视将本地文档和运行时元数据存储在操作系统的用户数据目录中:
- macOS: `~/Library/Application Support/Behold`
- Linux: `${XDG_DATA_HOME:-~/.local/share}/behold`
- Windows: `%LOCALAPPDATA%\Behold`
设置 `BEHOLD_DATA_DIR` 以覆盖位置。本地文档保持私有,除非您显式发布浏览器中的冻结快照。
本地服务器不需要登录。它绑定到环回地址,并拒绝未识别的主机和跨站点浏览器突变。
## 开发
```sh
bun install
bun dev
bun run test
bun run typecheck
bun run build
```
## 许可证
MIT