@hulistmi/hulistmi
v1.1.3
Published
Making HarmonyOS docs AI-readable
Maintainers
Readme
hulistmi.ai
Making HarmonyOS docs AI-readable.
The
hulistmi.aidomain is aspirational. The service is currently available athttps://hulistmi-ai.y6vd2dkjgb.workers.dev.
hulistmi-ai.y6vd2dkjgb.workers.dev provides HarmonyOS developer documentation in an AI-readable format by converting web-rendered pages into Markdown.
Usage
HTTP API
Replace developer.huawei.com/consumer/en/doc/ with hulistmi-ai.y6vd2dkjgb.workers.dev/
in any HarmonyOS documentation URL:
Original:
https://developer.huawei.com/consumer/en/doc/harmonyos-guides/start-overviewAI-readable:
https://hulistmi-ai.y6vd2dkjgb.workers.dev/consumer/en/doc/harmonyos-guides/start-overviewThis works for all HarmonyOS Guides, References, Release Notes, Design, and Best Practices catalogs. The supported catalogName values are: harmonyos-guides, harmonyos-references, harmonyos-releases, design-guides, best-practices.
Both English (en, default) and Chinese (cn) documentation are supported.
For fetch, the language is encoded in the URL prefix (/consumer/en/doc/...
or /consumer/cn/doc/...). For search and catalog, pass ?language=en|cn
(default en).
Search is also supported:
https://hulistmi-ai.y6vd2dkjgb.workers.dev/search?q=UIAbility&language=enChinese-language search:
https://hulistmi-ai.y6vd2dkjgb.workers.dev/search?q=UIAbility&language=cnAnd you can browse the full documentation catalog:
https://hulistmi-ai.y6vd2dkjgb.workers.dev/catalog?catalogName=harmonyos-guides&language=enThe Chinese catalog is available via language=cn:
https://hulistmi-ai.y6vd2dkjgb.workers.dev/catalog?catalogName=harmonyos-guides&language=cnSupported languages: English (
en) and Chinese (cn).enis the default.
MCP Integration
Hulistmi's MCP server supports Streamable HTTP transport.
Configure your MCP client to connect to https://hulistmi-ai.y6vd2dkjgb.workers.dev/mcp.
If your client requires stdio transport,
you can proxy over stdio using mcp-remote:
{
"mcpServers": {
"hulistmi": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://hulistmi-ai.y6vd2dkjgb.workers.dev/mcp"]
}
}
}Available Tools
searchHarmonyOSDocumentation- Searches HarmonyOS developer documentation- Parameters:
query(string),language("en" | "cn", default"en") - Returns structured results with titles, URLs, and descriptions
- Parameters:
fetchHarmonyOSDocumentation- Fetches a HarmonyOS documentation page as Markdown- Parameters:
path(string),language("en" | "cn", default"en") — Documentation path (e.g.,/consumer/en/doc/harmonyos-guides/start-overview) - Returns content as Markdown
- Parameters:
fetchHarmonyOSCatalog- Fetches a HarmonyOS documentation catalog tree- Parameters:
catalogName("harmonyos-guides" | "harmonyos-references" | "harmonyos-releases" | "design-guides" | "best-practices"),language("en" | "cn", default"en"),depth(number, optional) - Returns the catalog as a Markdown listing
- Parameters:
WebMCP
Hulistmi also supports the WebMCP protocol. The manifest is available at:
https://hulistmi-ai.y6vd2dkjgb.workers.dev/webmcp/manifest.jsonCLI
Hulistmi provides a CLI that complements MCP:
npx @hulistmi/hulistmi fetch https://developer.huawei.com/consumer/en/doc/harmonyos-guides/start-overviewIf you use it regularly, install once:
npm i -g @hulistmi/hulistmiThen use hulistmi directly:
hulistmi fetch https://developer.huawei.com/consumer/en/doc/harmonyos-guides/start-overview
hulistmi fetch https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/start-overviewThe fetch command always derives the documentation language from the URL prefix
(/consumer/en/doc/... or /consumer/cn/doc/...). Bare shorthand paths like
harmonyos-guides/start-overview are no longer accepted — pass the full Huawei
doc URL or the full /consumer/{en|cn}/doc/<catalog>/<path> prefixed path.
Search documentation:
hulistmi search UIAbility
hulistmi search UIAbility --language cnRun a local development server (requires a clone of this repo and wrangler;
not available when installed via npm i -g / npx):
npm run dev
npm run dev -- --port 8787By default, output is plain text / Markdown. Use JSON output for scripts:
hulistmi fetch /consumer/en/doc/harmonyos-guides/start-overview --json
hulistmi search UIAbility --json
hulistmi search UIAbility --language cn --jsonAI Agent Skill
Want your AI coding assistant to use Hulistmi consistently?
Use the hosted skill file:
https://hulistmi-ai.y6vd2dkjgb.workers.dev/SKILL.md
Spec-compliant clients can also install it with:
npx skills add https://hulistmi-ai.y6vd2dkjgb.workers.devSelf-Hosting
This project is designed to be easily run on your own machine or deployed to a hosting provider.
Hulistmi is currently hosted by
Cloudflare Workers
at hulistmi-ai.y6vd2dkjgb.workers.dev.
The application is built with Hono, making it compatible with various runtimes.
See the Hono docs for more information about deploying to different platforms.
Prerequisites
- Node.js 20.18.1+
- npm
Quick Start
Clone the repository:
git clone https://github.com/tolunayozturk/hulistmi.ai.git cd hulistmi.aiInstall dependencies:
npm installStart development server:
npm run dev
Once the application is up and running, press b to open the URL in your browser.
To configure MCP clients to use your development server,
use the local server address (http://localhost:8787 by default).
Development
Testing
This project uses vitest for unit and integration testing.
npm run test # Watch mode
npm run test:run # Run tests onceWhen running the CLI through npm scripts during local development, use
-s(--silent) to suppress npm's script preamble so output pipes cleanly:npm run -s cli -- fetch /consumer/en/doc/harmonyos-guides/start-overview | bat -l md
Code Quality
This project uses Biome for code formatting, linting, and import organization.
npm run format- Format all code filesnpm run lint- Lint and fix code issuesnpm run check- Format, lint, and organize imports (recommended)npm run check:ci- Check code without making changes (for CI)
Editor Integration
For the best development experience, install the Biome extension for your editor:
Cloudflare Workers
Whenever you update your wrangler.jsonc or change your Worker bindings,
be sure to re-run:
npm run cf-typegenPublishing
Releases are driven by Changesets and npm trusted publishing (OIDC).
- Author a release: add a changeset via
npx changeset, commit it, push tomaster. .github/workflows/changesets.yml(on push tomaster) opens a "Version Packages" PR that bumpspackage.json, updatesCHANGELOG.md, and tagsv<x.y.z>..github/workflows/release.yml(on push ofv*tags) runsnpm publish --provenance --access publicvia trusted publishing (id-token: write), then creates the GitHub release with generated notes.- No long-lived npm token (
NPM_TOKEN) is required.
Acknowledgements
hulistmi.ai is based on sosumi.ai by NSHipster (MIT).
AI Disclaimer
This project was built entirely by LLM coding agents.
License
This project is available under the MIT license. See the LICENSE file for more info.
Legal
This is an unofficial, independent project and is not affiliated with or endorsed by Huawei Technologies Co., Ltd. "HarmonyOS" and related marks are trademarks of Huawei Technologies Co., Ltd.
This service is an accessibility-first, on-demand renderer. It converts a single HarmonyOS documentation page to Markdown only when requested by a user. It does not crawl, spider, or bulk download; it does not attempt to bypass authentication or security; and it implements rate limiting to avoid imposing unreasonable load.
Content is fetched transiently and may be cached briefly to improve performance. No permanent archives are maintained. All copyrights and other rights in the underlying content remain with Huawei Technologies Co., Ltd. Each page links back to the original source.
Your use of this service must comply with Huawei's Terms of Use and applicable law. You are solely responsible for how you access and use Huawei's content through this tool. Do not use this service to circumvent technical measures or for redistribution.
