3c8578e9f4
feat(mcp): add Streamable HTTP transport ( #736 )
...
* feat(mcp): add Streamable HTTP transport
Add a modern MCP 2026-07-28 HTTP endpoint for standalone and Web modes, with shared listener configuration, authentication, schema, tests, and bilingual documentation.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(tests): support Python 2 HTTP assertions
Normalize response header names and call handler methods through their underlying functions so the HTTP tests behave consistently on Python 2.7 and Python 3.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): harden HTTP request handling
Validate mirrored request IDs, align Config Studio listener checks, bound socket reads, and accept the binary wrapper's documented SIGINT exit status.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): align HTTP negotiation validation
Reject unavailable Accept media types by quality and keep schema host validation consistent with runtime listener checks.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(tests): validate host schema behavior
Assert accepted and rejected host samples instead of comparing Unicode escape representations that differ on Python 2.7.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(tests): avoid cross-engine schema regex
Keep the schema pattern contract without executing its ECMA-262 Unicode escape through Python 2's incompatible regex engine.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): validate HTTP request boundaries
Reject empty tokens and malformed JSON-RPC request shapes, and keep Config Studio bracket validation aligned with runtime listener handling.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): tighten HTTP input validation
Reject legacy notifications, nested host brackets, and document the required JSON content type so validation remains consistent across runtime, schema, and Config Studio.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): validate Origin before method errors
Apply the existing Origin policy to non-POST MCP requests and return CORS headers for configured allowed origins.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* docs(mcp): clarify proxy Origin allowlist
Explain that browser clients behind TLS termination must allowlist the public HTTPS origin even when the public page appears same-origin.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* docs(mcp): add standalone server guide
Move MCP client setup, transports, tools, security, and protocol limits into dedicated Chinese and English pages with matching navigation and index links.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): reject duplicate routing headers
Reject repeated MCP protocol, method, and name headers before body consistency checks across Python 2 and Python 3.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): validate named request headers
Validate Mcp-Name for tools/call, prompts/get, and resources/read before dispatching unsupported methods.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-23 21:36:26 +08:00
2501c4a1d8
ci(agent): add deterministic project checks ( #735 )
...
* feat(agent): define portable project development contract
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* ci(agent): add deterministic project checks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): isolate agent contract concurrency
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): run complete agent contracts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): cover generated docs and drift reports
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): close project contract coverage gaps
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): harden change discovery contracts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): close final contract blind spots
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): validate active provider surfaces
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): enforce complete validation indexes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): reject stale provider overview rows
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(ci): validate all workflow changes
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): keep validation inputs deterministic
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): ignore deleted format targets
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(agent): ignore hidden provider inventories
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* perf(agent): deduplicate conservative checks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-21 16:58:28 +08:00
08837bbd09
feat(agent): define portable project development contract ( #734 )
...
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-21 14:02:26 +08:00
c919f2c6af
feat(mcp): add dependency-free DDNS server ( #722 )
...
* feat(mcp): add dependency-free DDNS server
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mcp): stop cancelled DDNS updates
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-13 17:25:47 +08:00
c30822bd33
test(e2e): cover source and binary workflows ( #719 )
...
* test(e2e): cover source and binary workflows
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(e2e): stop compiled process groups
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* ci(build): limit ARM BuildKit parallelism
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* revert: remove ARM BuildKit workaround
The builder image is being rebuilt to address the zstd allocation failure at its source.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(e2e): use OS-assigned dashboard port
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-12 15:39:51 +08:00
d14594f14d
feat(web): add local management dashboard ( #718 )
...
* feat(web): add local management dashboard
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(web): address review and Python 2 compatibility
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* chore: remove design session artifacts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(web): harden packaged resources and HTTP semantics
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* test(web): support Python 2 handler mocks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(web): detect all external schedulers
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-11 18:23:17 +00:00
dependabot[bot]
5ee2351854
Bump vitepress from 2.0.0-alpha.18 to 2.0.0-alpha.19 in /docs ( #717 )
...
Bumps [vitepress](https://github.com/vuejs/vitepress ) from 2.0.0-alpha.18 to 2.0.0-alpha.19.
- [Release notes](https://github.com/vuejs/vitepress/releases )
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.18...v2.0.0-alpha.19 )
---
updated-dependencies:
- dependency-name: vitepress
dependency-version: 2.0.0-alpha.19
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 10:07:56 +08:00
c4b6d4e0d8
docs(agents): separate Config Studio from LLM sources ( #716 )
...
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-10 10:35:34 +08:00
1d04b4eb0f
feat(docs): redesign documentation experience ( #715 )
...
* feat(docs): redesign documentation experience
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docs): preserve Config Studio state
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docs): clarify credential diagnostics
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docs): address review feedback
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-10 09:37:20 +08:00
e58daa0a80
feat(docs): add configuration studio ( #712 )
...
* feat(docs): add configuration studio
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(config): address PR review feedback
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docker): avoid 32-bit Nuitka compression OOM
Disable onefile compression only for 32-bit BuildKit targets, where zstd can exhaust the process address space.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* revert: restore compressed Linux binaries
The builder image has been rebuilt with the previous working toolchain.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* docs: remove English configuration studio
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* chore: remove product design artifact
Restore the English configuration studio that was removed by mistake.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docs): protect credentials in address sources
Treat URL userinfo in IPv4 and IPv6 detection sources as sensitive so previews, copies, downloads, and duplicated providers exclude it by default.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docs): preserve explicit empty tokens
Keep runtime-significant empty token fields in credential-free exports while continuing to omit non-empty secrets.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(docs): export entered credentials
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* docs(config): clarify special source splitting
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-08 11:09:51 +08:00
06fceed0f7
feat(cache): add configurable cache max age ( #709 )
...
* feat(cache): add configurable cache max age
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* test(cache): cover cache max age integration paths
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* test(cache): fix portable regression test formatting
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* style(test): format cache max age run test
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: Future New (WEILAI LIU) <weilail@microsoft.com >
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
2026-08-06 17:59:40 +08:00
dependabot[bot]
8507073431
Bump vitepress from 2.0.0-alpha.17 to 2.0.0-alpha.18 in /docs ( #702 )
...
Bumps [vitepress](https://github.com/vuejs/vitepress ) from 2.0.0-alpha.17 to 2.0.0-alpha.18.
- [Release notes](https://github.com/vuejs/vitepress/releases )
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.17...v2.0.0-alpha.18 )
---
updated-dependencies:
- dependency-name: vitepress
dependency-version: 2.0.0-alpha.18
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 17:00:07 +08:00
f8c098561d
Update AGENTS documentation structure and check ( #700 )
...
* Initial plan
* docs(agents): update documentation directory tree
* docs(llms): remove excessive English and schema links
* docs(agents): simplify English docs listing
* docs(llms): describe English doc link pattern
* fix(ci): support mirrored English docs in agents check
* fix(ci): clarify mirrored docs detection
* fix(ci): improve agents check readability
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* docs(agents): clarify parse_agents_md docstring return values
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-16 08:04:58 +08:00
Copilot and New Future
25d6075e37
docs(agents): sync AGENTS.md and llms.txt for west provider ( #696 )
...
* Initial plan
* docs(agents): update AGENTS.md and llms.txt for west provider
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
2026-06-14 02:53:51 +00:00
Copilot
4fec62d95d
Remove Alibaba Cloud ESA promotional links ( #697 )
...
* docs(aliesa): remove Alibaba Cloud ESA promo links
* docs(readme): remove ESA footer sponsor image
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-14 10:43:37 +08:00
93d4698ff7
feat(provider.west): add West.cn DNS provider support ( #628 )
...
* Initial plan
* feat(provider.west): add West.cn DNS provider support
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(provider.west): address review feedback - remove LINE_MAPPING, implement domain fallback, update docs
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(provider.west): improve logging format for root domain
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(provider.west): correct comment about domain parsing order and clarify error code handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(provider.west): simplify domain not found check to use code=404
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-06-12 12:04:51 +00:00
Copilot
7490657d82
Use HTTP ipify URL in documentation examples ( #694 )
...
* fix(ip): remove unavailable ipify cn endpoint
* test(ip): avoid substring matching in fallback test
* fix(ip): remove unavailable ipw endpoints
* fix(ip): add ddnsip public endpoints
* docs: use http ipify URL in examples
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-06-12 19:51:59 +08:00
dependabot[bot]
14b2d76fc0
Bump vitepress from 2.0.0-alpha.16 to 2.0.0-alpha.17 in /docs ( #686 )
...
Bumps [vitepress](https://github.com/vuejs/vitepress ) from 2.0.0-alpha.16 to 2.0.0-alpha.17.
- [Release notes](https://github.com/vuejs/vitepress/releases )
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.16...v2.0.0-alpha.17 )
---
updated-dependencies:
- dependency-name: vitepress
dependency-version: 2.0.0-alpha.17
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-26 19:50:09 +08:00
Copilot and NewFuture
999e24c4d2
Revert markdown copy to simpler single-pass implementation ( #674 )
...
* Initial plan
* feat(docs): preserve markdown files in VitePress build output for AI consumption
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs: update llms.txt to document markdown file availability
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): simplify markdown copy with cleaner separation of concerns
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* revert(docs): restore simpler markdown copy implementation
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-02-22 11:35:39 +00:00
dependabot[bot]
5aec750efe
Bump vitepress from 2.0.0-alpha.15 to 2.0.0-alpha.16 in /docs ( #672 )
...
Bumps [vitepress](https://github.com/vuejs/vitepress ) from 2.0.0-alpha.15 to 2.0.0-alpha.16.
- [Release notes](https://github.com/vuejs/vitepress/releases )
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md )
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.15...v2.0.0-alpha.16 )
---
updated-dependencies:
- dependency-name: vitepress
dependency-version: 2.0.0-alpha.16
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-03 19:44:27 +08:00
dfbc77d430
docs: sync llms.txt with CloudNS and automate doc changes detection ( #666 )
...
* Initial plan
* docs(agents): update AGENTS.md with CloudNS files and version
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs(agents): remove unnecessary emphasis on test_provider_cloudns.py
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs: update llms.txt with CloudNS and enhance update-agents workflow
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Update .github/scripts/update_agents_structure.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: remove trailing whitespace in update_agents_structure.py
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: update script to use 'docs/' instead of 'doc/' directory
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-28 09:57:33 +00:00
Copilot and NewFuture
f26d50678f
refactor(provider): optimize cloudns implementation and add documentation ( #664 )
...
* Initial plan
* refactor(provider.cloudns): optimize and simplify implementation
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs(providers): add comprehensive cloudns documentation and update indices
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(provider.cloudns): change default TTL from 3600s to 60s
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(provider.cloudns): fix Python 2.7 compatibility with dict unpacking
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-01-28 13:55:57 +08:00
Copilot and NewFuture
fec8a65e69
docs: Condense edge-ddns-proxy references to single-line mentions ( #662 )
...
* Initial plan
* Add edge-ddns-proxy introduction to documentation
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Simplify edge-ddns-proxy introduction to one sentence
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-01-22 13:24:59 +00:00
New Future
59f66bed9d
Refactor documentation links to remove '.html' extensions
...
Updated links in documentation to remove '.html' extensions for cleaner URLs.
2026-01-20 23:31:25 +08:00
Copilot and NewFuture
8b74e444d4
ci: skip test-install.yml on release tags ( #660 )
...
* Initial plan
* feat(ci): optimize test-install.yml to skip tests when install.sh unchanged on push to master
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(ci): add tag trigger support and update installer version to 2.0
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(ci): skip release/tag testing in test-install.yml
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(ci): also run all tests when workflow file changes
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-01-20 10:40:05 +00:00
New Future
ee300ad556
update
2026-01-19 09:56:38 +08:00
e18d4bcd96
docs: add ESA Pages and Edge Function deployment guide ( #659 )
...
* Initial plan
* docs: add ESA Pages and Function deployment guide
- Created comprehensive Chinese documentation (esa-deploy.md)
- Added navigation entries in VitePress config
- Added sidebar entries for both Chinese and English
- Documented deployment steps, configuration, and troubleshooting
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs: remove unnecessary sections from ESA deploy guide
- Removed "构建缓存" and "预览环境" sections
- Removed "监控指标" section
- Removed entire "故障排除" section
- Removed "优化建议" section
Simplified the documentation based on feedback to focus on essential deployment information.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* add esa
* update links
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
2026-01-19 01:14:27 +08:00
8afc0920dd
docs: update schema references from v4.0.json to v4.1.json ( #651 )
...
* Initial plan
* docs: update schema references from v4.0.json to v4.1.json
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: revert schema/v4.0.json to keep v4.0 definition unchanged
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs: update schema file links to v4.1.json in provider README
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
2026-01-14 15:46:15 +00:00
fc3e23b5b2
Prefer official download first with clearer proxy fallback ( #647 )
...
* Initial plan
* fix: prefer official download first
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: refine official download handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: add helpers for official download flow
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: allow official base override and tidy warnings
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: add proxy helper and clarify mirror defaults
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: tidy install helper nits
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: refine proxy detection and flag handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Modify test-install workflow configuration
Updated run-name to remove head commit message and changed path for install.sh.
* Update docs/public/install.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: update official download base
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: prefer official beta before GitHub
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-14 14:02:27 +00:00
aa54605379
doc(esa): Add esa config ( #650 )
...
* Update esa.jsonc for new project configuration
* Add legacy doc redirects in VitePress and simplify ESA 404 handling (#649 )
* Initial plan
* docs: add legacy redirects and simplify 404 handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): simplify legacy redirect logic
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): clarify doc redirects
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): align clean url handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): tidy url constants
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): reuse en base constant
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): use constants for en base
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): respect dynamic en base
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): reuse html extension constant
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): streamline doc redirect logic
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): further simplify legacy redirects
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): inline clean-url handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): avoid redundant html suffix
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore(docs): coalesce clean-url handling
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Improve URL target resolution logic
Refactor URL target resolution to handle clean URLs.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-14 12:49:08 +00:00
New Future and Copilot
31fdd7298d
Fix 404 1 ( #646 )
...
* Refactor 404 error handling and cache key generation
* Update 404 handling to use specific URL
* Update docs/esa.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Replace console.alert with console.log for errors
* Update docs/esa.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-13 17:11:40 +00:00
27f0b1a1db
Fix VitePress link transform so homepage doc links stay on-site ( #645 )
...
* Initial plan
* fix(docs): keep internal links on site
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Refactor href matching for specific file types
* Update links and documentation references in README
* Fix regex pattern for href matching
* Update href matching for file types in config
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
2026-01-14 00:52:59 +08:00
New Future
a64c600036
Simplify 404 error response message
...
Updated the response message for 404 errors to be more concise.
2026-01-13 23:42:37 +08:00
New Future
9000cccdb4
Add redirect option to fetch notFoundUrl
2026-01-13 23:42:06 +08:00
New Future
f76bb2cda5
Remove outdated configuration schema links
...
Removed outdated schema links for v4.0, v2.8, and v2.
2026-01-13 23:33:36 +08:00
9a932675e1
Move favicon.ico and img to docs/public, update references, and improve edge function 404 handling with ESA Cache ( #643 )
...
* Initial plan
* docs: move favicon and img to docs/public and update all references
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: update .gitignore to ignore generated subdirs and correct _config.yml paths
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor: use symbolic links for schema and tests instead of copying
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: add Vite config to preserve symbolic links in VitePress
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor: link only tests/config instead of entire tests directory
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: return 404.html when URLs don't match any pattern in esa.js
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: properly handle 404.html response headers in esa.js
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix: prevent infinite loop and improve error handling in 404.html fetch
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: increase 404.html cache duration to 6 hours
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat: cache 404.html response in ESA Cache
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Update docs/esa.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-13 17:35:21 +08:00
Copilot and NewFuture
c9358c688c
Add tests/config documentation assets ( #640 )
...
* Initial plan
* docs: copy tests config assets into docs
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): handle missing remote sample
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): treat missing remote config as skip
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): refine remote 404 skip detection
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): parse status code when skipping remote url
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): handle status attributes when skipping remote url
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): add helper to detect remote HTTP status
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): document and tighten status code extraction
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): finalize robust status detection helper
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* test(config): improve optional import and status regex
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* chore: revert remote config test and simplify docs copy
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs: publish install.sh to docs public
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs: move install.sh into public directory
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* docs: ensure install.sh is published
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
2026-01-13 11:21:18 +08:00
New Future
e24b3ed0d3
Delete docs/examples/config-with-extra.json
2026-01-13 00:00:32 +08:00
0e466dc496
feat(docs): add automated documentation website builder using VitePress 2.0 ( #634 )
...
* Initial plan
* feat(docs): add static documentation website builder script
Add build_docs.py script to convert markdown docs to static HTML website with:
- Responsive navigation bar with collapsible directory tree
- In-page table of contents (right sidebar, hidden on small screens)
- Language switcher (Chinese/English)
- Pure static HTML output (no server-side processing)
- Footer with GitHub links and edit page link
- Mobile-friendly responsive design
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* style: format build_docs.py with ruff
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): use MkDocs with Material theme instead of custom parser
Replace custom markdown parser with industry-standard tools:
- MkDocs: Popular static site generator for documentation
- Material for MkDocs: Modern, feature-rich theme
Benefits:
- Mature, well-tested codebase used by thousands of projects
- Built-in features: search, navigation, TOC, code highlighting
- Active development with regular updates
- Extensive documentation and community support
- Beautiful, responsive design out of the box
- Easy to maintain with configuration-based approach
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): use VitePress instead of MkDocs for documentation
Replace MkDocs with VitePress - a Vue-powered static site generator:
- VitePress: Modern, fast, designed for documentation
- Vue 3 + Vite stack with instant HMR
- Built-in i18n, search, dark mode, responsive design
- Chinese-friendly (created by Evan You)
Features:
- Responsive navigation with collapsible sidebar
- In-page TOC automatically generated
- Bilingual support (Chinese/English)
- Local search with keyboard shortcuts
- Light/Dark mode toggle
- Edit page links to GitHub
- Pure static HTML output
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): add automated setup and build with npm run build
Add automated directory setup for VitePress build:
- Created scripts/setup-docs.mjs to auto-setup docs structure
- Updated package.json with 'build' command that runs setup + build
- Updated docs:dev to include setup automatically
- Simplified workflow to one command: npm run build
Changes:
- npm run build now handles everything automatically
- No need for separate bash script
- Directory structure created on-demand
- Updated BUILD_DOCS.md with simplified instructions
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): improve VitePress configuration per feedback
Addressed all feedback items:
1. Fixed edit link mapping: index.html now correctly maps to README.md/README.en.md in GitHub
2. Added schema directory to build output via public/ directory
3. Removed /doc/ prefix from all URLs - doc/ is now the web root
4. Fixed path references in README files during setup
Changes:
- Updated editLink to use function for proper README mapping
- Modified setup script to copy doc/ contents to docs root (not docs/doc/)
- Added schema/ to public/ directory for static asset serving
- Fixed /doc/ path references in copied README files
- Updated all navigation and sidebar paths to remove /doc/ prefix
URLs now work as:
- / (homepage from README.md)
- /docker, /install (no /doc/ prefix)
- /config/cli, /providers/dnspod (clean paths)
- /schema/v4.0.json (accessible in build)
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): preserve original /doc/ paths in documentation
Per user feedback, reverted path modifications:
- No longer replace /doc/ paths in README files
- Restored doc/ directory structure (docs/doc/)
- Updated VitePress navigation to use /doc/ prefix
- Edit links correctly map to source files in doc/ directory
Changes:
- setup-docs.mjs: removed path replacement, copy doc/ to docs/doc/
- config.mts: restored /doc/ prefix in all navigation and sidebar paths
- URLs now match original documentation: /doc/docker, /doc/providers/dnspod
This preserves the original documentation structure and paths as they
appear in the source repository.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): remove /doc/ prefix from URLs and ignore intermediate files
Per user feedback, changed URLs from /doc/xxx.html to /xxx.html:
Changes:
1. Updated setup-docs.mjs to copy doc/ contents to docs/ root (not docs/doc/)
2. Modified path replacement to handle both links and image src attributes
3. Updated VitePress config.mts to remove /doc/ prefix from all nav/sidebar paths
4. Updated .gitignore to exclude intermediate copied files from commits
5. Removed docs/index.md and docs/en/index.md from git tracking
URLs now:
- /docker.html instead of /doc/docker.html
- /providers/dnspod.html instead of /doc/providers/dnspod.html
- /config/cli.html instead of /doc/config/cli.html
- Images at /img/ddns.svg instead of /doc/img/ddns.svg
- Schema files remain at /schema/v4.0.json
Intermediate files generated during build are now gitignored and won't be committed.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): move build scripts to doc/ directory
Moved documentation build scripts from root and scripts/ to doc/ directory:
- Moved scripts/setup-docs.mjs → doc/setup-docs.mjs
- Moved build_docs.sh → doc/build_docs.sh
- Removed empty scripts/ directory
- Updated package.json to reference new script locations
- Updated BUILD_DOCS.md with new directory structure
This organizes all documentation-related files under doc/ directory,
keeping the repository root cleaner.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): consolidate into single doc/ directory
Eliminated docs/ directory, consolidated everything under doc/:
- Moved docs/.vitepress/ → doc/.vitepress/
- Removed docs/ directory entirely
- Updated package.json to use doc/ instead of docs/
- Updated .gitignore to reflect new structure (doc/.vitepress/dist/, doc/index.md, doc/en/, doc/public/)
- Updated setup-docs.mjs to generate files within doc/
- Updated BUILD_DOCS.md documentation
Structure now:
- doc/ contains source files, VitePress config, and generated intermediate files
- All build artifacts stay within doc/.vitepress/dist/
- Simpler single-directory structure without doc/docs nesting
Commands remain the same:
- npm run build
- npm run docs:dev
- npm run docs:preview
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): move package.json to doc/ directory
Moved package.json to doc/ directory to consolidate all documentation-related files:
- Moved package.json from root → doc/package.json
- Updated package.json scripts to use relative paths (. instead of doc)
- Updated BUILD_DOCS.md with new usage instructions (cd doc first)
- Updated build_docs.sh to work from within doc/ directory
- .gitignore already handles node_modules/ globally
All documentation dependencies and configuration now in single doc/ directory.
Usage:
```bash
cd doc
npm install
npm run build
```
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): add install.sh to public, auto-redirects, and ensure README→index.html mapping
Implemented three enhancements:
1. Copy install.sh to public/ directory
- install.sh now accessible at /install.sh in build
- Users can download directly from documentation site
2. Add automatic redirects for old URLs
- Created custom VitePress theme with redirect logic
- /doc/xxx URLs redirect to /xxx
- /doc/xxx.en.html URLs redirect to /en/xxx.html
- Maintains backward compatibility with old links
3. README.md renders as index.html with correct edit links
- Already configured: index.md maps to README.md for editing
- en/index.md maps to README.en.md for editing
- Edit links work correctly for both Chinese and English homepages
Updated BUILD_DOCS.md with new features documentation.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): upgrade to VitePress 2.0 (next)
Upgraded VitePress from v1.x to v2.0 (next tag):
- Updated package.json to use "vitepress": "next"
- Currently using v2.0.0-alpha.15
- Tested build successfully - all features working
- Updated BUILD_DOCS.md to reflect VitePress 2.0
VitePress 2.0 benefits:
- Better performance and faster build times
- Improved developer experience
- Enhanced features and bug fixes
- Future-ready with latest Vue 3 + Vite improvements
Build tested and confirmed working with no breaking changes.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): remove redundant build script and fix copyright years
Changes per user feedback:
1. Removed doc/build_docs.sh (redundant - standard npm commands sufficient)
2. Updated copyright in config.mts line 133: "Copyright © 2016 ~ 2024 NewFuture"
3. Updated copyright in config.mts line 305: "Copyright © 2016 ~ 2024 NewFuture"
Usage now simplified to standard npm commands:
- cd doc && npm install
- npm run build
- npm run docs:dev
- npm run docs:preview
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): dynamic copyright year, move redirects to esa.js, update providers link
Per user feedback:
1. Made copyright year dynamic: `${new Date().getFullYear()}` (line 305)
2. Moved redirect logic from theme/index.ts to esa.js for server-side handling
3. Changed providers link from "概述 /providers/README" to "所有服务商 /providers/index" (line 70)
Changes:
- config.mts: Dynamic copyright calculation, updated providers navigation
- esa.js: Added redirect logic for /doc/ URLs (301 permanent redirects)
- theme/index.ts: Removed client-side redirect logic (now handled server-side)
Redirects now handled at edge function level for better SEO and performance.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): improve redirects, provider link, and add code-to-GitHub link conversion
Per user feedback (comment #3736692270 ):
1. Moved .en.html redirect logic before general /doc/ redirect in esa.js
2. Added /index.en.html → /en/ redirect
3. Changed providers/README URL to providers/ (line 39)
4. Added markdown transformer to convert code links (e.g., /ddns/provider/dnspod.py) to GitHub links
Changes:
- esa.js: Reordered redirect logic (en first), added index.en.html redirect
- config.mts: Changed providers link from /providers/README to /providers/
- config.mts: Added markdown.config to transform inline code paths to GitHub links
Code paths like `/ddns/provider/dnspod.py` in documentation will now automatically link to GitHub repository.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* feat(docs): enable dead link check, add sitemap, llms.txt, and GitHub Actions build
Per user feedback (comment #3736806631 ):
1. Changed redirects to 301 permanent redirects in esa.js (line 183)
2. Enabled dead link checking in config.mts (ignoreDeadLinks: false)
3. Added sitemap generation (sitemap.hostname: https://ddns.newfuture.cc )
4. Added llms.txt generation via buildEnd hook for AI/LLM context
5. Created GitHub Actions workflow (.github/workflows/build-docs.yml) to build docs on push
Changes:
- esa.js: Clarified 301 redirect comment
- config.mts: Enabled dead link check, added sitemap config, added buildEnd hook for llms.txt
- .github/workflows/build-docs.yml: New workflow to build and optionally deploy docs
GitHub Action triggers on:
- Push to master/main (doc/, README*, schema/ paths)
- Pull requests
- Manual workflow dispatch
Build output includes sitemap.xml and llms.txt for better SEO and AI integration.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update Node.js to v24, retention to 7 days, simplify BUILD_DOCS
Per user feedback (comment #3736833266 ):
1. Updated Node.js version from v20 to v24 in build-docs.yml (line 33)
2. Changed artifact retention from 30 to 7 days (line 50)
3. Simplified BUILD_DOCS.md - removed verbose explanations, kept essentials
Changes:
- .github/workflows/build-docs.yml: Node 24, 7-day retention
- BUILD_DOCS.md: Condensed from 327 to 40 lines, focused on quick start and essential commands
BUILD_DOCS.md now provides concise reference instead of lengthy tutorial.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* refactor(docs): simplify link transformer, extract llms.txt template, add docs agent
Per user feedback (comment #3737275691 ):
1. Simplified markdown transformer to only process link (a tag) hrefs instead of code_inline tokens
2. Extracted llms.txt content to separate template file (doc/llms.txt) with:
- Complete documentation structure with all page URLs
- All schema file URLs (v4.0, v2.8, v2)
- Template variable {{DATE}} for build-time replacement
3. Deleted BUILD_DOCS.md and created .github/agents/docs.agent.md:
- Comprehensive documentation maintenance agent
- Full guide for updating docs, navigation, providers
- Build/test procedures and common tasks
- Guidelines for writing and link handling
Changes:
- config.mts: Transform link hrefs (not inline code), read llms.txt from template
- doc/llms.txt: New template with full doc/schema URLs
- .github/agents/docs.agent.md: New documentation maintenance agent
- BUILD_DOCS.md: Deleted (replaced by agent instructions)
Link transformer now only modifies existing <a> tags, preserving markdown styling.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): add metadata to docs agent, fix markdown syntax, add v4.1.json schema
Per user feedback (comment #3737334654 ):
1. Added YAML metadata to docs.agent.md (name, description) following new-provider.agent.md format
2. Fixed markdown syntax to be GitHub-compatible:
- Changed inline code blocks in list items to properly formatted code blocks
- Ensured all code examples are in fenced code blocks
3. Added missing v4.1.json schema to llms.txt (was only showing v4.0, v2.8, v2)
Changes:
- .github/agents/docs.agent.md: Added YAML frontmatter, fixed markdown formatting
- doc/llms.txt: Added v4.1 schema URL (first in list as newest version)
All schema files now documented: v4.1, v4.0, v2.8, v2
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): restructure to docs/ directory with cleaner organization
Per user feedback (comment #3737399407 ):
1. Renamed doc/ → docs/
2. Moved all .en.md files → docs/en/*.md (removed .en suffix)
3. Moved install.sh → docs/install.sh (source file, not copied)
4. Moved favicon.ico → docs/favicon.ico (source file)
5. Simplified setup-docs.mjs - no longer copies English files or install.sh
6. Updated all path references:
- GitHub Actions workflow: doc/ → docs/
- .gitignore: doc/ → docs/
- VitePress config: edit links now map to docs/
- Documentation agent: updated structure docs
New Structure:
- docs/ (was doc/)
- config/, providers/, dev/ (Chinese markdown)
- en/ (English markdown, no .en suffix)
- config/, providers/, dev/
- install.sh (source)
- favicon.ico (source)
- llms.txt (template)
Build command unchanged: cd docs && npm run build
All English documentation now sourced directly from docs/en/ instead of being generated.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update documentation links from /doc/ to docs/ in README files
Per user feedback (comment #3737497400 ):
1. Updated setup-docs.mjs to properly replace /doc/ → docs/ → / in README processing
2. Updated all /doc/ links to docs/ in README.md:
- Image src: /doc/img/ddns.svg → docs/img/ddns.svg
- Docker docs: /doc/docker.md → docs/docker.md
- Config docs: /doc/config/* → docs/config/*
- Provider docs: /doc/providers/* → docs/providers/*
3. Updated all /doc/ links to docs/en/ in README.en.md:
- Image src: /doc/img/ddns.svg → docs/img/ddns.svg
- Docker docs: /doc/docker.en.md → docs/en/docker.md
- Config docs: /doc/config/*.en.md → docs/en/config/*.md
- Provider docs: /doc/providers/*.en.md → docs/en/providers/*.md
Changes:
- docs/setup-docs.mjs: Two-step replacement (/doc/ → docs/ → /) for GitHub links
- README.md: All documentation links now use docs/ prefix
- README.en.md: All documentation links now use docs/en/ prefix
Verified: No /doc/ links remain in README files or .github markdown files.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): simplify setup script and move to .vitepress directory
Per user feedback (comment #3737562776 ):
1. Moved setup-docs.mjs to docs/.vitepress/ directory
2. Simplified link replacement logic:
- Removed unnecessary /doc/ processing code
- Now only converts docs/ → / (Chinese version)
- And docs/en/ → / (English version)
- Since README files already use correct docs/ prefix
3. Updated package.json script paths to reference .vitepress/setup-docs.mjs
4. Updated path variables in script to work from .vitepress/ location
Changes:
- docs/.vitepress/setup-docs.mjs: New location, simplified logic
- docs/package.json: Updated setup script path
- Removed obsolete /doc/ → docs/ replacement steps
Build process now simpler and cleaner.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix all broken documentation links
Per user feedback (comment #3737640946 ):
Fixed all broken links throughout the documentation:
1. Fixed providers/README links → providers/ (clean URL)
2. Removed all .en.md suffixes from links (files now in docs/en/ with .md extension)
3. Fixed /doc/ prefix references → proper docs/ paths
4. Fixed cross-references between Chinese and English docs:
- Chinese providers/README.md → ../en/providers/*.md for English docs
- English docs use relative paths within en/ directory
5. Fixed redirect_to URLs in dnscom.md files
6. Fixed image URL: /doc/img/ → /img/
Changes affect 28 files:
- All config documentation (cli.md, env.md, json.md) in both languages
- All provider documentation in both languages
- Developer documentation (dev/config.md)
- Docker documentation
- Provider README files
All dead links now resolved. Documentation navigation works correctly.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix remaining dead links in generated index.md and provider files
Per user feedback (comment #3737692822 ):
Fixed all remaining dead links:
1. Enhanced setup-docs.mjs to handle ./doc/ prefix links:
- Added replacement for (./doc/ → (/
- Added replacement for /providers/index → /providers/
- Now correctly converts README links to clean web URLs
2. Fixed provider documentation links:
- callback.md and debug.md: Added "Return to All Providers" links
- English versions: Added /en/providers/ links
- Removed broken ./../../README links
All dead links now resolved:
- ./doc/install → /install
- ./doc/providers/* → /providers/*
- ./doc/config/* → /config/*
- /providers/index → /providers/
- Provider files now link to /providers/ and /en/providers/
Dead link checking should now pass successfully.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix all remaining dead links in documentation
Per user feedback (comment #3737728554 ):
Fixed all remaining dead links throughout documentation:
1. Enhanced setup-docs.mjs:
- Added replacement for ](doc/ pattern
- Handles more link format variations
2. Fixed config files (6 files):
- config/cli.md: providers/ → ../providers/, providers/callback → ../providers/callback
- config/json.md: docker.md → ../docker.md, providers/ → ../providers/
- en/config/env.md: providers/callback → ../providers/callback, docker → ../docker, providers/ → ../providers/
- en/config/json.md: docker.md → ../docker.md, providers/ → ../providers/
3. Fixed provider files (6 files):
- providers/callback.md, debug.md, README.md: ../../README.md → /
- en/providers/callback.md, debug.md: ../../README.md → /en/
- en/providers/he.md: ../json.md → ../config/json.md
All dead links resolved:
✓ ./providers/index → ../providers/
✓ ./providers/callback → ../providers/callback
✓ ./docker → ../docker
✓ ./../../README → / (or /en/)
✓ ../json → ../config/json
✓ ](doc/ → ](/
Dead link checking should now pass successfully with zero errors.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): add VitePress rewrites to map providers/README.md to /providers/
Per user feedback (comment #3737780259 ):
Fixed `/providers/index` dead links by adding VitePress rewrites configuration.
Changes to docs/.vitepress/config.mts:
1. Added rewrites mapping:
- providers/README.md → providers/index.md
- en/providers/README.md → en/providers/index.md
2. Updated sidebar links:
- /providers/index → /providers/
- /en/providers/index → /en/providers/
This tells VitePress that the README.md files in providers directories should be accessible via the /providers/ URL (with cleanUrls enabled).
All /providers/index links now correctly resolve to /providers/
Dead link checking should now pass with zero errors.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): fix providers/index links and simplify setup script
Per user feedback (comment #3737836475 ):
1. Fixed dead links in config/env.md files:
- ./providers/ → ../providers/ (both Chinese and English)
2. Simplified setup-docs.mjs:
- Removed unnecessary doc/ processing (README no longer contains doc/)
- Merged logic for both README files into single processReadme function
- Cleaner, more maintainable code with less duplication
Changes:
- docs/config/env.md: Fixed providers/ link
- docs/en/config/env.md: Fixed providers/ link
- docs/.vitepress/setup-docs.mjs: Refactored with shared function
Dead link checking should now pass with zero errors.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): remove providers/index replacement from setup script
Per user feedback (comment #3737887893 ):
Removed `/providers/index` → `/providers/` replacement from setup-docs.mjs.
This should be fixed in markdown files instead, not in the setup script.
Simplified setup script by removing unnecessary transformation logic.
Changes:
- docs/.vitepress/setup-docs.mjs: Removed line 29 replacement
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update remaining /doc/ references to docs/ in README files
Per user feedback (comment #3737970179 ):
Updated all remaining /doc/ references to docs/ or docs/en/ in both README files.
Changes in README.md:
- doc/install.md → docs/install.md
- All doc/providers/*.md → docs/providers/*.md (10 provider links)
Changes in README.en.md:
- doc/install.en.md → docs/en/install.md
- doc/providers/dnspod.en.md → docs/en/providers/dnspod.md
- doc/providers/alidns.en.md → docs/en/providers/alidns.md
All documentation links now correctly use docs/ prefix for GitHub navigation.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* fix(docs): update all remaining doc/ references to docs/ in README files
Per user feedback (comment #3738298603 ):
Updated ALL remaining doc/ references to docs/ or docs/en/ in both README files.
Changes in README.md (13 links):
- doc/providers/edgeone.md → docs/providers/edgeone.md
- doc/providers/noip.md → docs/providers/noip.md
- doc/config/cli.md → docs/config/cli.md (3 occurrences)
- doc/config/json.md → docs/config/json.md (2 occurrences)
- doc/config/env.md → docs/config/env.md (2 occurrences)
- doc/providers/ → docs/providers/ (3 occurrences)
Changes in README.en.md (13 links):
- doc/providers/*.en.md → docs/en/providers/*.md (9 provider links)
- doc/config/cli.en.md → docs/en/config/cli.md
- doc/config/json.en.md → docs/en/config/json.md
- doc/config/env.en.md → docs/en/config/env.md
- doc/providers/ → docs/en/providers/
All documentation links now use correct docs/ prefix with NO /doc/ references remaining.
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* refactor(docs): integrate setup logic into config.mts
Per user feedback (comment #3738600577 ):
Integrated setup-docs.mjs functionality into config.mts.
Changes:
1. Removed standalone setup-docs.mjs file
2. Added setupDocs() function in config.mts that runs before config export
3. Simplified package.json scripts - removed setup step
4. Setup now runs automatically when config loads (works for both dev and build)
Benefits:
- Single configuration file - easier to maintain
- No separate setup script needed
- Automatic execution on both dev and build
- Cleaner package.json scripts
- Same functionality, simpler implementation
Build command: `npm run build` or `npm run docs:dev`
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
* update link
* /doc/img/ddns.svg
* fix docs paths
* fix docs
* fix docs url
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com >
Co-authored-by: New Future <NewFuture@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-12 23:48:37 +08:00