efij/streetman
GitHub: efij/streetman
Streetman 是一个 Rust 编写的 LLM token 压缩 CLI 工具,通过确定性压缩减少 AI 调用的 token 消耗和成本,同时保证关键技术事实不被篡改。
Stars: 1 | Forks: 0
# streetman
### **减少 AI token 浪费。削减 AI 账单。保留关键事实。**
Streetman 是一个用于压缩 LLM token 的 Rust CLI:更短的 AI 输出,
为下一步留出更多 context,并在本地验证代码、URL、版本、
数字和安全术语是否完好无损。
[](./LICENSE)
[](https://www.rust-lang.org/)
[](./CLAIMS.md)
[](./CLAIMS.md)
[](./benchmarks/)
[](#-install)
[](https://github.com/efij/streetman)
**[ 安装 ](#-install) · [ 基准测试 ](#-benchmarks) · [ 文档 ](./docs/quickstart.md) · [ 功能对比 ](./FEATURE_MATRIX.md) · [ 声明 ](./CLAIMS.md)**
## 当前状态
Streetman `5.5.0` 是一个提供源码支持的 Rust 实现,针对两个关键声明设定了严格的本地验证门控:更少的付费 token 和受保护的技术事实。它专为每天使用 AI 且不希望废话吞噬其预算或 context window 的用户而打造。
- `streetman compress` — 针对文本、JSON、日志、搜索、diff、代码、文档、HTML 的确定性压缩。
- `streetman compile` — 用于 prompt、日志、RAG 分块、历史记录和 agent 状态的 ShortLang 输入/context 编译器。
- `streetman run` / `streetman wrap` — agent 命令包装器,可写入可重放的运行回执。
- `streetman retrieve` — 用于获取精确原始数据的加密本地存档检索。
- `streetman audit` — 本地质量/浪费报告及 dashboard HTML。
- `streetman bench` — 固定基准测试、实时竞品捕获、已发布基线门控及门控化对比输出。
- `streetman proxy` — 本地 OpenAI 兼容转换代理;在设置 `STREETMAN_UPSTREAM_URL` 时进行转发。
- `streetman mcp serve` — 用于 compress/compile/retrieve/stats 的 stdio JSON MCP 风格服务器。
- `streetman memory` / `streetman learn` — 共享的 ShortLang memory 和失败运行学习笔记。
- `streetman cache-align` — 针对策略、memory、检索工具和 payload 的稳定 prompt 前缀组装。
- `streetman duel` — 用于公开 H2H 回执的 Headroom 追踪对比报告。
- `streetman policy` — 针对允许的模式/域、零遥测、证书、网关目标的本地 policy-as-code 检查。
- `streetman proof` — 针对压缩输出的确定性 proof-certificate 验证。
- `streetman diff` — 带有受保护 token 准确率的本地文本/HTML 压缩 diff 报告。
- `streetman code diff` — 针对少量代码变更的锚定仅编辑传输,取代全量文件重写。
- `streetman code elide` — 针对长代码 payload 的可逆未更改区域省略。
- `streetman security attest` — 离线零遥测/加密存档/携带证明的安全认证。
- `streetman gateway conformance` — 本地 LiteLLM/OpenRouter/Portkey 适配器契约检查。
- `streetman lean` — 实现极简主义层:指令、审查、审计、门控、proof certificate 和 Ponytail H2H 固定基准。
- Token 消耗优先的压缩 — 实际的 tokenizer 计数驱动转换;最终输出在陷阱测试用例上绝不会比原始数据差。
当前源码版本:`5.5.0`。
主要的 5.x 安全和节省检查:
```
streetman --version
streetman bench run --suite token-greedy
streetman bench run --suite quality-gate-4
streetman enterprise release-attest --json
```
5.1 源码线保留了 v4 的全功能门控,并增加了 Token 消耗优先行为,即在接受更短的输出之前使用真实的 tokenizer 计数。企业版层面还会生成本地 SBOM、发布认证、合规性、RBAC、部署、可观测性和就绪构件。
当前提交的快照:`competitor-live-2026-06-07`。
- Streetman context:`96.6%`
- 测得匹配工作负载上的 Headroom context:`90.5%`
- Streetman 在 Caveman 自有评估快照上的输出:`65.2%`
- Caveman 在其自有评估快照上的输出:`50.0%`
- 在该快照上,Streetman 使用的输出 token 比 Caveman 少 `30.3%`
- Streetman 会话有效固定测试:`70.0%`
- Token Optimizer 会话仅检测有效节省:`0.0%`
- 总体对比状态:此本地离线快照为 `quality-gate`。
这不是一项普遍的市场声明。Headroom JSON 消息 API 通道因本地证书失败被记录为受阻,LLMLingua 和 LeanCTX 被追踪为已发布的顶级基线而非本地测量的门控,完整的提供商转发代理工作仍处于待办状态。
## 为什么选择 streetman
```
│ AI TOKENS SAVED █████████ 85%+ │
│ PROTECTED FACTS █████████ 100% │
│ CONTEXT LEFT █████████ MORE │
│ CLAIMS █████████ GATED│
```
这些是门控化的快照声明。请参阅 [CLAIMS.md](./CLAIMS.md)。
## 一个例子说明核心卖点
**Prompt:** “为什么我的 React 组件会重新渲染?”
| 模式 | 输出 | Token |
|---|---|---:|
| 普通 | *“你的 React 组件重新渲染的原因可能是因为你在每次渲染周期中都创建了一个新的对象引用……”* | **69** |
| 其他领先技能 | *“每次渲染创建新对象引用。内联对象 prop = 新引用 = 重新渲染。用 `useMemo` 包裹。”* | **19** |
| 🏙️ **streetman (full)** | `"inln obj prp → new ref evry rndr → re-rndr. wrp w/ `useMemo`."` | **11** |
| 🏙️ **streetman (ultra)** | `"inln obj prp ⟹ 🔄 evry rndr. useMemo."` | **7** |
代码 + API 标识符原封不动。仅压缩文本说明。
## streetman 的与众不同之处
### 🧠 算法化辅音骨架引擎 — 无限词汇
不是固定的词典。每个单词都会自动缩减:`database→dtbs`, `configuration→cnfgrtn`, `check→chk`。保护机制会确保标识符、URL、代码和专有名词的安全。碰撞检测器可防止歧义。阅读器恢复率经基准验证 ≥98%。
### 🎯 技术准确性 — 在声明前强制执行
确定性的受保护 token 提取机制会检查标识符、URL、版本、单位、CVE 和类代码 token。分数 <100 → 自动回退到原始状态。LLM 语义判断保留用于未来的实时基准测试。
### 🏎️ Rust CLI — 快速本地路径
- 交叉编译:darwin-arm64/x64, linux-x64/arm64, windows-x64
- 在 M1 芯片上 100KB 输入 → 压缩耗时 <10ms(比 Python 替代方案快 100 倍)
- 同一个二进制文件服务于 Claude Code、Cursor、Codex CLI 和 VS Code
### 🔄 闭环压缩回路(输出 + 输入)
- **streetman** — 压缩 AI 输出(文本)
- **streetman prompt**(又称 TOOG)— 压缩开发者输入(带有 repo/build context 的任务意图)
- 双向压缩 = 每次调用节省 2 倍
### 📊 基准测试即服务 — 树立该类别的诚实标杆
```
streetman bench test-skill ./my-compression-rules.md
# 通过 30 个 prompts × 4 个 models × 3 次试验运行您的 rules。
# 生成:节省百分比、95% CI、accuracy score、verified snapshot。
```
该类别中没有其他产品提供独立的验证基础设施。
## 📦 安装
### 当前经过验证的安装
```
cargo install --git https://github.com/efij/streetman streetman-cli --bin streetman --locked
```
这将安装最新推送的源码版本。当前源码版本:`5.5.0`。
安装后运行固定基准门控:
```
streetman bench run --suite quality-gate
streetman bench run --suite token-greedy
streetman bench run --suite all-lanes
streetman bench run --suite quality-gate-2
streetman bench run --suite quality-gate-3
streetman bench run --suite quality-gate-4
```
### 本地开发
```
git clone https://github.com/efij/streetman
cd streetman
cargo run --bin streetman -- bench run --suite quality-gate
cargo run --bin streetman -- bench run --suite quality-gate-2
cargo run --bin streetman -- bench run --suite quality-gate-3
cargo run --bin streetman -- bench run --suite quality-gate-4
```
### 包管理器和编辑器插件
以下渠道尚未发布:
- Claude Code 应用市场插件
- Cursor 安装程序
- Codex CLI 插件
- VS Code 应用市场扩展
- Homebrew formula
- Crates.io 包
### 网关适配器
适配器文档已存在,但适配器尚未实现:
- [LiteLLM](./adapters/litellm/README.md)
- [Portkey](./adapters/portkey/README.md)
- [OpenRouter](./adapters/openrouter/README.md)
## 🚀 快速开始
```
# 压缩 AI 输出
echo "Your long verbose response here..." | streetman compress
# 压缩输入文件并返回 proof-carrying JSON 结果
streetman compress README.md --mode full --domain docs --json
# 运行 fixture bench
streetman bench run --suite quality-gate
# 运行 safety red-team bench
streetman bench run --suite redteam
# 证明 token-greedy / never-worse 行为
streetman bench run --suite token-greedy
# 证明已实现的 final-killer-feature gates
streetman bench run --suite capabilities
# 检查本地 policy-as-code
streetman policy check --mode ultra --domain prose README.md
streetman policy protect --config .streetman.toml
streetman policy verify --config .streetman.toml
streetman policy push --config .streetman.toml --registry .streetman-policy-registry
# 构建本地 HTML 压缩 diff
streetman diff original.txt compressed.txt --html --out benchmarks/results/compression-diff.html
# 输出 code-token transport 而非 full-file reprints
streetman code diff --before old.rs --after new.rs --json
streetman code elide src/lib.rs --keep 3 --json
# 打印离线隐私/安全证明
streetman security attest --json
# 检查 gateway adapter contracts
streetman gateway conformance --provider all
# 使用 Streetman Lean 应对代码膨胀
streetman lean review --diff
streetman lean gate --before base --after HEAD
streetman lean prove --diff --normal-twin full-version.patch --command "cargo test"
streetman lean kill --against ponytail --json
# 启动 proxy scaffold
streetman proxy --port 8787 --provider auto
```
## 📏 基准测试
**当前基准:** 本地 Token 消耗优先、质量门控、全通道、企业版和固定的竞品快照门控。
**计划中的完整矩阵:** 100 个真实的 agent 任务 × 4 个模型 × 基线/竞品/streetman 组。
**模型:** 当前的前沿编码和 agent 模型,在进行任何公开声明之前,会记录确切的提供商/模型/版本元数据。
**公开声明门控(在头条声明更新前必须全部通过):**
- 输出中位数节省 ≥85%(对比普通模式)
- 中位数节省 ≥30%(领先竞品)
- **准确率在所有 1,440 个输出中达到 100%,零丢失**
固定基准在本地运行。竞品捕获结果会在 README 的头条数字成为正式声明前,提交到 [`benchmarks/results/`](./benchmarks/)。
```
cd streetman
streetman bench run --suite quality-gate --out benchmarks/results/fixture-latest.json
streetman bench gate benchmarks/results/fixture-latest.json
streetman bench capture-competitors --out benchmarks/results/competitor-live.json
streetman bench compare --against headroom,token-optimizer,caveman
```
## 🛠️ 24 项核心功能
核心压缩(11 项功能)
1. **算法化辅音骨架引擎(无限)** — 每个单词都通过规则而非查找进行自动缩减。Top-2000 预先计算,罕见词由规则生成。 2. **高价值短语快捷方式** — `u, ur, rn, cuz, w/, w/o, b4, thru, gonna, wanna, tbh, ngl, fr, afaik, iirc, imo, idk` — 在技术文本中无歧义。 3. **符号替换(安全)** — 仅限 `& | @ = ≠`。有歧义的符号会被丢弃。 4. **Emoji 层(3 规则安全)** — 首次使用时定义 + 单一主要含义白名单 + 域门控。 5. **数字处理(仅限 SI)** — `500ms`, `24h`, `1KB`, `3x`。避免歧义形式。 6. **短语块词典** — `make sure to→ensure`, `in order to→to`, `as a result→so`。 7. **语义对压缩(安全)** — `before X, Y → b4 X, Y`。 8. **自动缩略词学习** — 首次提及进行定义,后续提及使用骨架形式。 9. **表格优先重构** — 对比性质的文本自动重写为表格(紧凑 30%)。 10. **标点折叠** — 片段末尾的句号被丢弃,多空格被折叠。 11. **代码注释压缩器** — 骨架化处理注释,代码逻辑保持字节精确。可靠性与准确性(6 项功能)
12. **硬性准确度标准(100% 门控)** — 确定性提取器 + LLM 判断 → 0/100 分。 13. **高风险情况自动回退** — CVEs, `rm -rf`, `DROP TABLE`, 安全警告 → 自动恢复为普通模式。 14. **Markdown 结构验证器** — AST 解析确认标题/列表/表格仍然有效。 15. **回滚安全网(普通双胞胎)** — 30 天的哈希关联审计追踪。 16. **LLM 展开为纯文本** — `streetman expand` 重构普通英文。 17. **压缩预览门控** — 覆盖前进行 diff + y/N 确认。模式稳定性(3 项功能)
18. **单轮模式锚定钩子** — 每轮重新注入规则。 19. **Context 溢出自动重注入** — 可在 100+ 轮对话线程中存活。 20. **Token 预算感知强度** — `--max-tokens N` 自动适应 lite→full→ultra。平台覆盖面(1 项功能)
21. **多平台路径** — 目前已验证 CLI;Claude Code、Cursor、Codex CLI 和 VS Code 打包工作将在发布前单独追踪。用户体验、信任、扩展性(3 项功能)
22. **实时统计徽章 + 会话账本** `[STREET:FULL] saved 4.2k tok (63%) acc:100` 23. **按项目 `.streetman.toml`** — 仓库本地配置覆盖。 24. **Thinking-Token 修剪器** — 压缩扩展思考模型上的推理阶段。
### ⭐ 在 GitHub 上为我们加星 — 这对我们帮助很大。
*why use many token when few do trick — **why use words at all.***
标签:DLL 劫持, Rust, 上下文优化, 人工智能, 可视化界面, 大语言模型, 文本压缩, 文档结构分析, 用户模式Hook绕过, 网络流量审计, 通知系统