项目介绍
MCP 服务 · 2026-11-09 更新 · 本站尚未实测
Telos 是一个本地 MCP 服务器兼命令行,面向 AI Agent 使用。按 README 说明,它让 Agent 读取网页与公开 API、排查失败的 GitHub Actions 运行、检查 HTML 页面的无障碍与体积问题,并在你从自己的终端授予权限后,驱动浏览器或 Windows 应用。
它基于纯 Node.js 20+,没有 npm 依赖,npm 包名为 project-telos-mcp,通过 stdio 向任何 MCP 宿主(如 Claude Code、Codex、OpenAI Agents SDK)提供 50 个工具。仓库里也包含进行中的实验内容:model foundry 与 learning forge 只是书面契约、不调用模型;因果、具身、量子相关 packate 是小型固定演示;creative engine 是确定性图像内核。README 明确提醒:研究类 packet 只是固定演示,不做因果发现、机器人安全或硬件量子纠错。
核心能力
点击能力名称查看输入、输出和原文依据。
- 读取网页与公开 API:
telos reach与九个 MCP 工具可读页面、feed、sitemap,遵循 robots.txt 与 Crawl-delay;通过你自己的应用凭据走 Reddit 官方 API,单条 X 帖子走 X 的 oEmbed,另可访问 Hacker News、GitHub、arXiv、Wikipedia 等 API。每次抓取记录 URL、时间、状态与字节的 SHA-256。爬虫只读取服务端返回的 HTML,不执行页面 JavaScript,需登录或有人机校验的页面会返回空内容。 - 受控操作浏览器与 Windows 应用:CLI 通过 DevTools Protocol 驱动 Chrome,通过 UI Automation 驱动 Windows 应用。每个动作有风险分级,未执行
telos grant issue(需交互式终端)前不会运行,Agent 自己的 shell 无法自行授权;高后果动作每次还要确认。密码、OTP、银行卡字段一律拒绝。应用控制仅支持 Windows;这些权限保护属于项目方声明,本站尚未进行独立安全测试。对应 MCP 工具只列出可用动作,不执行。 - 记录受控动作:受控动作与拒绝会写入哈希链日志,
telos keys init后用本地 ed25519 密钥签名链头,telos receipts verify可发现被编辑、重排、插入或删除的条目。 - CI 排查:
ci-triage --gh-run owner/repo#run_id经ghCLI 读取运行记录,判断失败是阻塞步骤还是仅警告(如弃用的 action 运行时),并指出失败步骤类型;不诊断测试本身。 - HTML 静态检查:
accessibility-doctor --html FILE跑 14 项静态检查(语言、viewport、跳转链接、地标、焦点样式、减弱动效、标签等);performance-doctor --html FILE跑 14 项体积预算检查。两者都不打开浏览器。 - 可复核的 proof packet:
proof.mjs为 Agent 动作、研究主张、颜色测量或构建不变量生成 JSON packet,并内嵌输入;verify会重算哈希与数值并输出 MATCH、DRIFT(有变化)或 UNVERIFIABLE(缺输入)。packet 只做哈希校验,不签名。
实际应用场景
适用场景
适合希望给本地 Agent 增加“读网页 / 查 CI / 静态检查 HTML / 受控操作本机浏览器和应用”能力,并看重动作可追溯的用户;也适合需要在 Python/Node 环境中做本地、轻量、可复核检查的开发者。若你需要渲染 JavaScript 的抓取、完整的浏览器自动化动作库或生产级无障碍审计,README 自身说明其对标产品(Firecrawl、Jina Reader、Playwright MCP、Lighthouse、axe-core)在这些方面覆盖更多。
安装与接入
README 给出的获取方式:
- MCP 宿主中把
"command"设为npx,"args"设为["-y", "project-telos-mcp"];对 0.9.0 调用tools/list返回 50 个工具。 - 命令行使用需全局安装:
npm install -g project-telos-mcp
安装后 telos 与 telos-mcp 进入 PATH。README 提醒应从安装后的命令运行,不要经 npx 运行 telos,因为 npm 上名为 telos 的包属于无关项目。
- 从源码运行演示:
git clone https://github.com/HarperZ9/telos.git
cd telos
node demo/run.mjs
在检出目录中 npm start(等同 node demo/telos-mcp.mjs)运行 stdio MCP 服务器。同时启动 Project Telos 五个服务器需要五个仓库并排检出并设置 PROJECT_TELOS_PUBLIC。
使用条件与限制
- 是否需要部署
- 需自行准备运行环境,具体要求见正文
- 是否需要注册
- 账号和认证要求见正文;未明确说明的项目仍待核验
- 是否需要 API Key
- 待核验
- 费用与额度
- 费用边界见正文,项目许可不代表模型或托管服务免费
- 所需权限
- 待核验
- 许可证与服务条款
- 待核验
权限费用与限制
- 权限:受控动作必须先通过交互式终端执行授权,Agent 无法自行授权;高后果动作逐次确认;密码、OTP、银行卡字段恒定拒绝。浏览器与应用控制仅 Windows 应用控制受限为 Windows。
- 凭据:Reddit 需设置
REDDIT_CLIENT_ID、REDDIT_CLIENT_SECRET;CI 排查依赖ghCLI 的登录态。其他渠道所需凭据与配置待核验。 - 费用:README 未说明软件收费或商业定价;npm 包与 GitHub Release 可获取,但模型、第三方 API(如 Reddit、X、GitHub 等)可能各有调用限制或费用,具体待向各服务官方核验。
- 数据边界:浏览器证据 packet 不做脱敏,URL、标题、选择器、产物引用与摘要会保留其中,需自行妥善保管。
- 版本与稳定性:当前发布为 0.9.0,README 说明次要版本之间接口仍可能变动;0.3.0 起原生控制日志哈希版本为 2,升级时须先升级读取方。
国内使用情况
网友核验 用户经验分享
与站长实测独立,不代表官方认证或本站已实测。
最近核验:暂无有效核验。参与人数按当前项目有效身份去重;不同核验项分别统计,不合并成用户总结果。仅统计审核通过且未过期的记录。
分项统计、有效期与样本量
| 核验项目 | 有效人数 | 成功 / 部分 / 失败 / 无法判断 | 成功率 | 最近核验 / 有效期 |
|---|---|---|---|---|
| 官方网站访问 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| GitHub 仓库访问 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| 安装与运行 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 官方服务国内连接 / MCP 连接 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 国内网络情况 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 7 天 |
| 国内模型兼容性 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 自定义 API | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 海外服务依赖 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 海外账号要求 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 中文界面 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 客户端兼容性 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
| 账号及费用信息 | 0 | 0 / 0 / 0 / 0 | 样本不足 | 暂无 / 30 天 |
成功率 = 成功 ÷(成功 + 部分成功 + 失败);无法判断不计入分母。至少 5 份可判断结果才显示成功率。账号、费用、海外依赖与语言等事实项,成功表示核查结论与资料吻合,具体观察另行统计;不表示免费或没有海外依赖。不同网络、客户端和版本的结果不能直接等同。
最近有效核验
暂无审核通过且未过期的网友核验。欢迎提交真实使用记录。
查看全部有效核验 →国内实测状态:国内可用性待核验。协议兼容和官方资料说明不等于国内网络可用。
- 官方网站访问
- 尚未实测 待核验
- GitHub 仓库访问
- 尚未实测 待核验
- 官方服务国内连接
- 尚未实测 待核验
- 国内网络情况
- 尚未实测 待核验
- 国内模型兼容性
- 尚未实测 待核验
- 自定义 API
- 尚未实测 待核验
- 海外服务依赖
- 尚未实测 待核验
- 海外账号要求
- 尚未实测 待核验
- 中文界面
- 尚未实测 待核验
- 国内最后核验时间
- 尚未实测
许可与国内使用
- 文本:白皮书与研究笔记位于
docs/research/,采用 CC BY 4.0,转载需署名 Zain Dana Harper,条款见LICENSE-TEXT。 - 代码:FSL-1.1-MIT(fair source),可阅读、可运行,几乎任何用途可用,唯独不得构建与 Project Telos 竞争的产品或服务;每次发布两年后转为 MIT。0.9.0 及更早版本按 FSL-1.1-ALv2 发布并保持该许可,未来转为 Apache 2.0。
- 公开仓库不等于开源协议完全等价于 MIT/Apache,也不代表第三方模型或服务免费。
- 文档和分发使用 GitHub 等服务;README 未说明国内网络可达性、国内模型或服务兼容性,相关情况待核验。
说明:本仓库未见归档或停止维护的声明。
项目资料与来源
字段依据与待核验事项
access:来源确认 · In an MCP host config, set `"command": "npx"` with `"args": ["-y", "project-telos-mcp"]`.
project_type:来源确认 · Telos is a local MCP server and command line for AI agents.
原始 README(折叠技术参考)
<picture>
<source media="(prefers-color-scheme: dark)" srcset="docs/art/hero-dark.svg">
<img src="docs/art/hero-light.svg" alt="telos: One workbench, and packets that recompute their own claims. An eye drawn in nested fine contours, its iris a ring of short radial lines around a dark pupil with a glowing rim. Five small rings sit on the eye's edge; one is dashed and marked UNVERIFIABLE." width="100%">
</picture>
# telos
Telos is a local MCP server and command line for AI agents. It lets an agent read web pages and public APIs, triage a failed GitHub Actions run, check an HTML page for accessibility and size problems, and drive a browser or Windows app once you grant permission from your own terminal.
```bash
npx -y project-telos-mcp
```
[](https://www.npmjs.com/package/project-telos-mcp)
[](https://github.com/HarperZ9/telos/actions/workflows/ci.yml)
[](LICENSE)

[Project Telos](https://harperz9.github.io) | [gather](https://github.com/HarperZ9/gather) | [crucible](https://github.com/HarperZ9/crucible) | [index](https://github.com/HarperZ9/index) | [forum](https://github.com/HarperZ9/forum) | [telos](https://github.com/HarperZ9/telos) | [learn](https://github.com/HarperZ9/learn) | [emet](https://github.com/HarperZ9/emet) | [buildlang](https://github.com/HarperZ9/buildlang)
It is plain Node.js 20+ with no npm dependencies. The npm package is `project-telos-mcp`. It serves 50 tools over stdio to any MCP host, such as Claude Code, Codex or the OpenAI Agents SDK.
## What it does
- **Reads the web and public APIs.** `telos reach` and nine MCP tools read pages, feeds and sitemaps, and they follow robots.txt and Crawl-delay. They read Reddit through its official API with your own app, single X posts through X's oEmbed endpoint, and APIs such as Hacker News, GitHub, arXiv and Wikipedia. Each fetch is logged with its URL, time, status and a SHA-256 of the bytes. The crawler reads HTML as served and does not run page JavaScript, so pages behind a login or a bot check come back empty. See [the reach guide](docs/REACH.md).
- **Controls a browser or Windows app after you grant it.** The CLI drives Chrome through the DevTools Protocol and Windows apps through UI Automation. Each verb has a risk tier. Nothing runs until you issue a grant with `telos grant issue`, which needs an interactive terminal, so an agent's own shell cannot grant itself access. Consequential actions also ask for a confirmation each time. Password, OTP and card fields are always refused. App control is Windows only. The MCP tool for this lists the verbs and runs none of them. See [the tier spec](docs/spec/telos-tiers.md) and [the control contract](docs/native-control-contract.md).
- **Logs every gated action.** Gated actions and refusals append to a hash-chained log. After `telos keys init` the chain heads are signed with a local ed25519 key, and `telos receipts verify <session.jsonl>` finds edited, reordered, inserted or deleted entries.
- **Triages CI.** `ci-triage --gh-run owner/repo#run_id` reads a GitHub Actions run through the `gh` CLI and says whether it failed on a blocking step or only on warnings, such as a deprecated action runtime. It names the failing step type. It does not diagnose the test.
- **Checks HTML pages.** `accessibility-doctor --html FILE` runs 14 static checks, including language, viewport, skip link, landmarks, focus style, reduced motion and labels. `performance-doctor --html FILE` runs 14 byte-budget checks. Neither opens a browser.
- **Writes packets you can verify later.** `proof.mjs` writes a JSON packet for an agent action, a research claim, a colour measurement or a build invariant, with the inputs embedded. `proof.mjs verify` recomputes the hashes and values and prints MATCH, DRIFT (something changed) or UNVERIFIABLE (an input is missing). Packets are hash-checked and unsigned.
The repo also holds work in progress. The model foundry and learning forge are written contracts and call no model. The causal, embodied and quantum packets are small fixed demos. The creative engine is a set of deterministic image kernels behind [`demo/index.html`](demo/index.html). The presentation and operator doctors are tuned to the Project Telos repositories.
## Try it
In an MCP host config, set `"command": "npx"` with `"args": ["-y", "project-telos-mcp"]`. A `tools/list` call against 0.9.0 returns 50 tools.
For the command line, install the package globally. That puts `telos` and `telos-mcp` on your PATH. Run `telos` from the install, not through npx, because the npm name `telos` belongs to an unrelated package.
```bash
npm install -g project-telos-mcp
telos reach doctor
# reach doctor 7/12 channels ready
# web ready free
# reddit needs credentials set REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET
# ...
telos reach fetch https://example.com
# {"result": {"url": "https://example.com/", "status": 200, "page": {"title": "Example Domain", ...}},
# "receipt": {"fetches": [{"url": "https://example.com/robots.txt", "robots": "robots.txt 404: no restrictions", ...
telos ci-triage --gh-run owner/repo#run_id --summary
# blocking 1
# verdict DRIFT
telos accessibility-doctor --html page.html --summary
# checks 14
# passed 10
```
Without a grant, a control verb is refused before it runs:
```bash
telos native-control browser navigate https://example.com
# "status": "REFUSED", "tier": "T3", "executed": false, "reason": "NO_GRANT"
```
To run the demos from source:
```bash
git clone https://github.com/HarperZ9/telos.git
cd telos
node demo/run.mjs
# RUN A (normal render) : CERTIFIED recheck=true
# RUN B (broken render) : UNVERIFIABLE recheck=true
```
From a checkout, `npm start` (the same as `node demo/telos-mcp.mjs`) runs the stdio MCP server.
`demo/run.mjs` renders a 4-D cube, recovers its vertex and edge counts from the image, and checks them against the known shape. The second render is too small to read, so it comes back UNVERIFIABLE.
The outputs above come from `project-telos-mcp` 0.9.0 installed from npm, run on Node 25 on Windows.
## How it compares
- **Playwright MCP and Chrome DevTools MCP** cover far more browser verbs. Telos covers fewer, and adds Windows app control, a grant you issue from your own terminal, and a log of each action.
- **Firecrawl and Jina Reader** render JavaScript and run as hosted services. `telos reach` runs on your machine, reads HTML as served, and follows robots.txt.
- **Lighthouse and axe-core** load the page in a real browser and run far more rules. The Telos doctors are quick static checks on the HTML file.
- **in-toto and Sigstore** sign supply-chain attestations with managed keys and public logs. The Telos action log uses one local key, and its packets are hash-checked without a signature.
## Running all five Project Telos servers
`node demo/server-manifest.mjs` prints host config (Codex TOML, Claude JSON, OpenAI Agents) that launches Telos beside [gather](https://github.com/HarperZ9/gather), [index](https://github.com/HarperZ9/index), [forum](https://github.com/HarperZ9/forum) and [crucible](https://github.com/HarperZ9/crucible), for 78 tools in all plus 38 auxiliary compatibility tools. That setup expects all five repositories checked out side by side, with `PROJECT_TELOS_PUBLIC` set to their parent folder. The orientation commands:
```bash
node demo/catalog.mjs --summary # 78 tools across the five servers
node demo/server-manifest.mjs --summary # launch map with host config
```
Expected catalog summary:
```
Project Telos MCP Catalog
tools 78 total, 78 available
transport stdio, streamable-http
gather 5 tools ...
index 5 tools ...
forum 5 tools ...
crucible 13 tools ...
telos 50 tools ...
```
Health and state:
```bash
node demo/status.mjs --summary
node demo/doctor.mjs --summary
node demo/room.mjs --json
```
Each command prints JSON with a MATCH, DRIFT or UNVERIFIABLE status. The package's `telos` and `telos-mcp` commands route to the same scripts.
## See it work
The [animated explainer](https://harperz9.github.io/repo-explainers/telos.html) steps through the cube demo, a proof packet verified from its own contents, and four edits that each come back DRIFT with the failing check named. Its source is [docs/explainer/index.html](docs/explainer/index.html).
[](https://harperz9.github.io/explainers.html#passing-check-h)
**[A passing check can still be wrong](https://harperz9.github.io/explainers.html#passing-check-h)** is a 2 min 24 s narrated, captioned film about the same loop. The film page has the transcript and sources.
## Proof packets
<p align="center"><img src="docs/art/proof-lane.svg" alt="Eight stages from loose materials to a replayable packet: fixture, assemble, completeness, recompute, join, derive, witness, replay. The verdict folds out of the checks rather than being read off the packet, so a canned pass embedded in the materials can never win. A witness that reports drift lowers the derived verdict, and a witness that cannot be reached is recorded as coverage lost rather than counted as a pass. Three outcomes: match when every claim recomputed, drift when a recomputed value disagrees with its claim, and unverifiable when the evidence to check a claim is not there." width="100%"></p>
Write the demo agent-action packet, then verify it from the packet alone:
```bash
node demo/proof.mjs agent-action --demo --json > packet.json
node demo/proof.mjs verify packet.json
```
Output from a fresh clone:
```
verdict MATCH
witness unavailable / UNVERIFIABLE
```
Edit the packet and verify again, and the changed fields are named:
```text
$ node demo/proof.mjs verify edited.json
packet_hash_mismatch (DRIFT)
artifact_digest_mismatch (DRIFT) outputs[0].digest
embedded_verdict_not_derived (DRIFT)
```
The witness line is a second check by [emet](https://github.com/HarperZ9/emet). Telos looks for it in a sibling `../emet` checkout or at `TELOS_EMET_CLI`. With emet present the line reads `witnessed / MATCH`. The witness can lower a verdict and never raises one.
The packet holds source refs, context refs, route, admission decision, side effects and output digests. The verifier recomputes the digests from the embedded inputs, so editing any of those fields gives DRIFT, and a missing input gives UNVERIFIABLE with its path. The verdict is computed from the checks, so a `MATCH` written into the packet has no effect. The other packet types work the same way: `research` recomputes source digests, `visual` recomputes colour and luminance from embedded sRGB samples, and `build` checks a conserved quantity against a fixture that must break it. Details are in [docs/PROOF-LANES.md](docs/PROOF-LANES.md).
## Command surface
`node demo/catalog.mjs` is the authoritative map. Highlights by area:
| Area | Commands |
| --- | --- |
| Web and APIs | `reach.mjs` (doctor, menu, fetch, site, reddit, x, api) |
| Permissions and log | `grant.mjs`, `confirm.mjs`, `keys.mjs`, `receipts.mjs` |
| Orientation | `run.mjs`, `catalog.mjs`, `server-manifest.mjs`, `status.mjs`, `doctor.mjs`, `room.mjs` |
| Doctors | `ci-doctor.mjs`, `ci-triage.mjs`, `presentation-doctor.mjs`, `accessibility-doctor.mjs`, `performance-doctor.mjs`, `compatibility-doctor.mjs`, `operator-doctor.mjs`, `mcp-freshness.mjs` |
| Proof | `proof.mjs` (agent-action, research, visual, build, verify, export), `showcase.mjs` |
| Context | `context-envelope.mjs`, `context-pack.mjs`, `action-receipt.mjs`, `loop-ledger.mjs` |
| Creative | `creative-engine.mjs`, `creative-kernels.mjs`, `measurement-layers.mjs`, `rendering-capabilities.mjs`, `display-calibration.mjs` |
| Research | `causal-workbench-proof-packet.mjs`, `embodied-sim2real-proof-packet.mjs`, `quantum-error-correction-proof-packet.mjs`, `thermodynamic-ai-chip-receipt.mjs` |
| Foundry | `model-foundry.mjs`, `learning-forge.mjs`, `learning-forge-labs.mjs` |
| Workstation | `native-control.mjs`, `browser-evidence.mjs`, `workstation-substrate.mjs`, `revival-registry.mjs`, `second-level-flagship-queue.mjs` |
Most accept `--summary` for a compact terminal (TUI) view and `--json` for IDE, app, and automation hosts.
The doctors in full: `node demo/ci-doctor.mjs`, `node demo/presentation-doctor.mjs`, `node demo/accessibility-doctor.mjs`, `node demo/performance-doctor.mjs`, `node demo/compatibility-doctor.mjs`, and `node demo/operator-doctor.mjs`, plus `node demo/ci-triage.mjs` and `node demo/mcp-freshness.mjs`. Live CI intake works read-only: `node demo/ci-triage.mjs --gh-run owner/repo#run_id --summary`.
## Documentation
- [docs/INTRODUCTION.md](docs/INTRODUCTION.md): what Telos is and your first ten minutes.
- [docs/HOW-IT-WORKS.md](docs/HOW-IT-WORKS.md): the verifier loop, step by step, including where it stops.
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) and [docs/PROJECT-CONNECTION-MAP.md](docs/PROJECT-CONNECTION-MAP.md): system shape and how the five flagships connect.
- [docs/PROOF-LANES.md](docs/PROOF-LANES.md): the proof packet types and what each one recomputes.
- [docs/CURRENT-STATE.md](docs/CURRENT-STATE.md): current state of each surface.
- [USAGE.md](USAGE.md): install, run, MCP, and verify commands.
Peer repos: [gather](https://github.com/HarperZ9/gather) (research intake), [index](https://github.com/HarperZ9/index) (workspace maps and context), [forum](https://github.com/HarperZ9/forum) (agent routing with a causal ledger), [crucible](https://github.com/HarperZ9/crucible) (claim verification), [emet](https://github.com/HarperZ9/emet) (independent second check). Telos can launch gather, index, forum and crucible beside itself from one manifest; each also stands alone.
## Status
`project-telos-mcp` 0.9.0 is the current release, on [npm](https://www.npmjs.com/package/project-telos-mcp/v/0.9.0) and as [GitHub release artifacts](https://github.com/HarperZ9/telos/releases/tag/v0.9.0) that include native Windows ZIP and MCPB client packages. See [the client package guide](client-plugin/README.md). `npm test` runs every test file in `demo/`, and CI runs it on each change. Interfaces may still move between minor versions. The research packets are fixed demos: they do not do causal discovery, robot safety or hardware error correction.
### Upgrading from 0.2.0
0.3.0 writes native-control ledger hash version 2. Upgrade readers before writers, because 0.2.0 readers reject the new format. New readers still accept old receipts. Browser evidence packets are not redacted: URLs, titles, selectors, artifact references and summaries stay in them, so keep them private. See [release notes](docs/RELEASE-NOTES-0.3.0.md).
The roadmap is [`docs/PROJECT-TELOS-LARGE-SCALE-ROADMAP-2026-07-02.md`](docs/PROJECT-TELOS-LARGE-SCALE-ROADMAP-2026-07-02.md). The documentation index is [`docs/DOCUMENTATION-CONSOLIDATION-REGISTRY-2026-07-02.md`](docs/DOCUMENTATION-CONSOLIDATION-REGISTRY-2026-07-02.md), with machine-readable data under [`docs/registry/`](docs/registry/).
## Reading a record
Most commands print a JSON record. Here is one from the artwork checker, field by field. Run it with `python tools/check_repo_art.py --json`:
<p align="center"><img src="docs/art/receipt-anatomy.svg" alt="Six fields of a receipt the artwork checker emits, each with what comes back in it and how a reader would check that field for themselves. schema names the contract the record is written to. mode says whether the run rendered the files or only compared them. specs lists the diffable input the pictures are a function of. outputs carries one entry per drawing, each with a byte count and a SHA-256 read from the file on disk. checks carries one entry per gate, each naming itself and listing what it found. passed is the verdict, and it folds out of those checks rather than being written down, so a record cannot claim a pass its own checks do not support." width="100%"></p>
## License
Text: CC BY 4.0. Code: FSL-1.1-MIT.
The whitepapers and research notes in [`docs/research/`](docs/research/) are
licensed CC BY 4.0. Share and adapt them with credit to Zain Dana Harper; the
terms are in [`LICENSE-TEXT`](LICENSE-TEXT).
The code and the software documentation are FSL-1.1-MIT (fair source). The code is open to read and run, free for nearly any use except building a competing product, and each release converts to the MIT license after two years. Copyright is held by the author. See [LICENSE](LICENSE).
Version 0.9.0 and earlier releases were published under FSL-1.1-ALv2 and keep that license, so each of them still converts to Apache 2.0. FSL-1.1-MIT applies from the next release.
## For developers
Zero dependencies, so there is nothing to install. Run the MCP contract tests and smoke checks before opening a PR:
```bash
npm run test:mcp
node demo/catalog.mjs --summary
node demo/server-manifest.mjs --summary
node demo/room.mjs --json
```
CI (`.github/workflows/ci.yml`) runs `npm test` on Node 24. Run one test file with `node demo/<name>.test.mjs`. `node demo/operator-doctor.mjs --summary` checks that the README, package metadata and examples match the code.
---
Built by **[Zain Dana Harper](https://github.com/HarperZ9)** in Seattle. More tools: [Project Telos](https://harperz9.github.io), [Flywheel](https://github.com/HarperZ9/flywheel) and its [getting started guide](https://github.com/HarperZ9/flywheel/blob/main/GETTING-STARTED.md), and the [workspace canon](https://github.com/HarperZ9/workspace).
历史前置条件说明(补充参考)
Node.js 20+(README 称零 npm 依赖);MCP 宿主需支持 stdio 启动命令;命令行可用 npm 全局安装或从源码运行;Reddit 渠道需 REDDIT_CLIENT_ID、REDDIT_CLIENT_SECRET;CI 排查需本机 gh CLI 并已登录;浏览器/应用控制需交互式终端授权,应用控制仅 Windows;同时运行五个服务器需并排检出各仓库并设置 PROJECT_TELOS_PUBLIC;费用、国内网络可达性与国内模型兼容性待核验。
项目来源与清单版权许可
https://github.com/HarperZ9/telos
整理来源:https://github.com/slavakurilyak/awesome-ai-agents
清单版权与许可:
MIT License
Copyright (c) 2024 Slava Kurilyak
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.