Borrowing it
Nothing to install: this file belongs to shenyangs/Guanlan. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/shenyangs/Guanlan/main/AGENTS.mdgit clone --depth 1 https://github.com/shenyangs/GuanlanWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/shenyangs/guanlan/agents-md)<a href="https://agentmods.dev/instructions/shenyangs/guanlan/agents-md"><img src="https://agentmods.dev/badge/instructions/shenyangs/guanlan/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/shenyangs/guanlan/agents-md"><img src="https://agentmods.dev/badge/instructions/shenyangs/guanlan/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.09305 | $0.09305 |
| Opus 5.5 | $0.03722 | $0.03722 |
| Sonnet 5.5 | $0.01861 | $0.01861 |
| Haiku 4.5 | $0.00931 | $0.00931 |
Grade C, and why
Guanlan AGENTS.md scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
`curl -fsSL -H 'Cache-Control: no-cache' https://pypi.org/pypi/guanlan/json | python3 -c 'import json,sys; print(json.load(sys.stdin)["info"]["version"])'` Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
`curl -fsSL -H 'Cache-Control: no-cache' https://pypi.org/pypi/guanlan/json | python3 -c 'import json,sys; print(json.load(sys.stdin)["info"]["version"])'` How it starts
The opening of the file, as written. The whole thing — 386 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
This repository is designed as a CLI-first search productivity tool for AI agents.
Memory rule: treat AGENTS.md, docs/agent-playbook.md, docs/agent-usage.md, and
guanlan/skill/SKILL.md as the durable memory surfaces for how to operate Guanlan. Before building
new benchmarks, automations, or MCP workflows, reread at least AGENTS.md and
docs/agent-playbook.md.
Commit/release language rule: Guanlan is a Chinese-web research tool. Use Chinese-first
commit subjects, changelog entries, and release notes. Keep conventional prefixes such as
feat: / fix: / docs: when useful, but write the description in Chinese, for example
feat: 扩展垂直路由和搜索质量反馈. In public-facing update text, commit subjects,
release notes, and changelog summaries, do not proactively mention telemetry/遥测 unless the user
explicitly asks for that topic or the change is specifically about its user-facing controls.
Version bump rule: every commit to Guanlan must increase the project version by 0.0.1.
Before committing, bump the patch version across pyproject.toml, guanlan/__init__.py,
uv.lock, README.md, docs/full-guide.md, docs/telemetry.md, website/index.html, and
CHANGELOG.md; then run scripts/pre_release_status.sh or an equivalent version-sync check. Do
not make a code/docs commit on main that leaves the package version unchanged.
Release sync rule: when shipping a new Guanlan version, keep the public distribution surfaces in
lockstep. Do not call a release complete until the GitHub repo/tag, PyPI/uv install path, Homebrew
tap formula (shenyangs/homebrew-tap), and official website (website/index.html plus any deployed
site flow) all reflect the same version and positioning. If Homebrew reports an older stable version,
run brew update first; if the tap itself is stale, update and push Formula/guanlan.rb before
telling users Homebrew is current. If the website carries version, install, capability, or release
copy, update and deploy it in the same release pass.
Use scripts/publish_release.sh for real releases so pushing main and pushing the matching v*
tag happen together; PyPI publishing is tag-triggered, so a version commit without a tag is not a
complete release. Pushing main alone is never the end of a release. After the version commit lands,
you must continue through scripts/publish_release.sh or an equivalent full release path until tag,
PyPI, Homebrew tap, website deploy, and local installer verification all succeed for that same version.
Install/update rule: after installing or upgrading Guanlan, always do a full reinstall, not an
incremental upgrade, before configuring MCP, optional channels, or auth. Prefer one clean path:
uv tool install --force --upgrade --refresh --default-index https://pypi.org/simple guanlan; if the user explicitly wants Homebrew, run
brew update && brew reinstall shenyangs/tap/guanlan; for pipx, run pipx install --force guanlan.
For uv, --force alone is not enough because it can reinstall the previously locked version; include
--upgrade and --refresh.
Then refresh shell command lookup with hash -r when available, run command -v guanlan and
which -a guanlan (or the platform equivalent), and run guanlan version. If the version does not
match README/release notes, stop and report the path/version mismatch instead of configuring MCP or
using the tool. If an Agent reports PyPI as older than GitHub, verify with direct PyPI JSON and pip's
index source instead of search-result snippets or cached app text:
curl -fsSL -H 'Cache-Control: no-cache' https://pypi.org/pypi/guanlan/json | python3 -c 'import json,sys; print(json.load(sys.stdin)["info"]["version"])'
and python3 -m pip index versions guanlan --index-url https://pypi.org/simple. If Homebrew is stale, switch to the uv path.
Post-update smoke rule: after a full reinstall, run guanlan capabilities, guanlan doctor --install-check, guanlan doctor --trace,
guanlan search "人工智能 政策" --profile china --limit 5 --trace, and
guanlan read "https://example.com/" --backend direct --no-fallback-search --format json, and
guanlan hotnews today --limit 5 --trends. Report the exact version, executable path, and smoke
results to the user. Do not treat an old global executable as a successful update.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed · +7 lines · +134 tokens per session f2766f177413
- 2mo ago First seen · 379 lines · 9,171 tokens per session scan C e79e835b1714
Guanlan AGENTS.md is an instructions file published in the GitHub repository shenyangs/Guanlan (57 stars, last pushed 3d ago), licensed MIT. It adds 9,305 tokens to every session, about $0.0372 per session on Opus 5.5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Guanlan AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| Guanlan AGENTS.mdshenyangs/Guanlan | Instructions file | 57 | 3d ago | MIT | C | 9,305 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |