内容
# texo
Supersedes: see [ADR-003](ADR-003-single-crate-rebuild.md).
texo 是用于团队和智能代理的声明链内存。它摄入 Markdown,记录 BatPak 日志中的键入声明,用凭单取代过时的声明,并通过 CLI、HTTP、SSE、MCP 和静态编译界面重放确定性的当前上下文。
Git 跟踪代码差异。texo 跟踪声明差异。
参见 [INTELLIGENCE.md](INTELLIGENCE.md) 了解智能代理优先的 Git/代码工作流、覆盖范围合约、限制和独立可复制的证明。
## 快速入门
```sh
texo install --workspace demo
texo ingest README.md
texo doctor --deep
```
`texo install` 是幂等的。它在 `.texo/` 下写入客户端中立的 MCP 和 advisory-hook 清单,检测现有的 Codex、Claude Code 和 Cursor 项目配置,仅合并 Texo 拥有的条目,并在 `AGENTS.md` 中添加一个受管理的块。使用 `--dry-run --json` 预览;使用 `texo uninstall` 删除仅那些受管理的条目,或使用 `texo uninstall --client <codex|claude|cursor>` 选择一个适配器。Texo 记录它创建的空适配器文件,因此卸载会删除这些文件,而不会删除预先存在的用户拥有的 shell。
从此源代码检出,一个完整的干净演示是:
```sh
just demo-fresh
just demo-intelligence
```
发布证据可以通过 `just measure-intelligence` 复制,文字外部固定兼容性矩阵可以通过 `just verify-old-store` 复制。后者如果不可变的 0.9 固定存档不可用,则故意失败;`test-invariants` 是基板烟雾覆盖,而不是旧存储证明。
多工作区范围存在于 `.texo/config.toml` 下的 `[workspaces.<id>]`。在任何 CLI 命令上使用 `--workspace <id>`。
## 命令
- `texo init --workspace demo` 创建 `.texo/config.toml` 和存储。
- `texo ingest <path>` 记录源和声明事件。
- `texo claims`、`texo agent-context`、`texo check-staleness <path>`、`texo conflicts` 和 `texo verify` 是重放的读取界面。
- `texo relate` 在存在 `TEXO_LLM_API_KEY` 时运行语义关系传递。
- `texo index` 冻结 Git 源并生成有界代码索引;然后 `texo reconcile` 评估缓存的、有界的声明↔代码提议和仅限策略接受的精确证据。
- `texo compile --out public` 编写静态 onboarding 奖杯。
- `texo serve` 运行同步 HTTP 内存代理服务器。
- `texo extract <doc.md>` 运行 LLM 提取器并写入 NDJSON。
- `texo session export <id>` 将车道日志记录的转录写入 stdout。
- `texo mcp` 运行只读行分隔的 MCP stdio 服务器。
- `texo ops list` 和 `texo ops describe <name>` 在不搜索源代码的情况下发现键入的操作界面。
- `texo doctor [--deep] [--fix]` 组成配置、存储、投影、网关和代理安装诊断。`--fix` 仅触及 Texo 管理的文件。
- `texo backup create <dest>` 创建带有 BatPak 快照证据的新鲜日志/配置备份;`texo backup verify <dest>` 离线检查它;`texo --root <fresh-root> backup restore <source>` 验证、复制、验证恢复的链,并原子地发布一个没有缓存或代理客户端配置的工作区。恢复拒绝现有的根。创建打印 `manifest_hash_hex`;存储该值在备份之外,并传递 `--expect-manifest-hash <hex>` 以检测协调重写。没有单独信任的固定,验证检测到数据和清单的损坏和不完整,而不是伪造。
## 智能代理工具
MCP 目录故意保持小且渐进地披露详细信息:
1. `get_agent_context` 返回有界的当前上下文和新鲜度证据。
2. `search_knowledge` 在一个快照上执行有界的、基于光标的发现。
3. `explain_knowledge` 将一个项目扩展为起源和转换证据。
4. `triangulate` 在信任目标之前检查工作区相对目标。
5. `get_workspace_status` 报告前沿、新鲜度和结算状态。
所有五个工具都是只读的。成功的调用包括简洁的文本和带有 `schema`、`data`、`meta` 和 `next_actions` 的 `structuredContent`;失败的调用带有提交/重试/恢复事实。安装的钩子也是固定的只读 Texo 命令 - 从不工作区提供的 shell 命令。
## 单个 crate 映射
- `src/events/` - v2 载荷、转换机、坐标、ID。
- `src/claims/` - 每个实体的投影和确定性的工作区视图。
- `src/extract/` - Markdown 启发式、LLM 提取、一次性缓存。
- `src/semantics/` - 兼容 OpenAI 的语义后端和聊天构建器。
- `src/reconcile.rs` - 有界文档↔代码候选和仅限策略接受的证据。
- `src/ops/` - 同步操作处理程序和 Texo 效果后端。
- `src/host/` - 存储打开、操作组成、规范指纹。
- `src/surfaces/cli/` - CLI 解析和渲染器。
- `src/surfaces/http/` - 手动同步 HTTP/1.1 服务器/客户端和 SSE。
- `src/surfaces/mcp_stdio.rs` - 同步 MCP JSON-RPC 2.0 stdio 界面。
## 内存代理
运行:
```sh
cargo run --bin texo -- serve --root . --workspace memory
```
服务器公开:
- `GET /` 用于 UI(如果存在 `ui/dist`,否则嵌入备用)。
- `POST /api/chat` 用于模型支持的聊天,基于当前的声明。
- `GET /api/memory` 用于重放的内存快照。
- `POST /api/session/end` 消化会话转录。
- `GET /api/stream` 用于 LiteShip 兼容的 SSE 日志信号。
会话回合是 BatPak 车道事件。它们立即持久化,隐藏在车道-0 声明投影中,只有在会话结束转录被消化后才成为正常的声明。日志就是会话。
## Helios 演示
`examples/helios/docs/` 中的 Helios 语料库包含相互矛盾的部署、所有权和存储声明。语义管道提取、关联、取代并编译它到 [`examples/helios/onboarding.generated.md`](examples/helios/onboarding.generated.md)。
```sh
TEXO_LLM_API_KEY=sk-... just demo-helios
```
一次性缓存存在于 `.texo/cache/` 下,因此缓存运行无需网络即可重放。始终开启的冻结守卫是:
```sh
cargo test --test helios_frozen
```
## 这不是什么
texo 不是数据库服务器、共识系统、Slack 爬虫、Google Docs 克隆、向量数据库或通用 LLM 提取框架。该模型是可选的,仅在追加边界处记录一次感知。日志仍然是源代码真相。
## 许可证
根据 [Apache License, Version 2.0](LICENSE-APACHE) 或 [MIT license](LICENSE-MIT) 任一许可,取决于您的选择。