Commit Graph
176 Commits
Author SHA1 Message Date
Okyumi 4bb6109b84 feat: add missing SKILL.md for adguardhome, comfyui, mermaid + fix setup.py + expand test coverage
Three harnesses shipped without the SKILL.md skill definition introduced
in Phase 6.5, and their setup.py files lacked the package_data entry
needed for pip install to include the skill file.  This means agents
cannot discover these CLIs through the standard skill system.

Changes:

- Add skills/SKILL.md for adguardhome (12 command groups, 36+ commands)
- Add skills/SKILL.md for comfyui (5 command groups: workflow, queue,
  models, images, system)
- Add skills/SKILL.md for mermaid (4 command groups: project, diagram,
  export, session)
- Fix adguardhome/setup.py: add package_data and include_package_data
- Fix mermaid/setup.py: add package_data and include_package_data
- Fix comfyui/setup.py: add package_data for skills (was missing despite
  include_package_data=True already being set)
- Add comfyui to .gitignore allow-list (was tracked before the gitignore
  was tightened, but new files could not be added)
- Expand test_skill_path.py HARNESSES list from 11 to all 18 harnesses
- Fix test assertion to accept mubu-style explicit SKILL.md reference
  alongside the glob pattern used by other harnesses

Test results: 79 passed (was 51 tests covering only 11 harnesses)
2026-03-22 14:17:13 +00:00
yuhao 552393b2fb update README 2026-03-22 09:57:58 +00:00
yuhao 5890ba82a0 update README 2026-03-22 09:56:18 +00:00
yuhao ba74aac37b fix CLI-Hub 2026-03-22 09:43:30 +00:00
yuhao 3e10b0ab2d fix CLI-Hub 2026-03-22 09:36:34 +00:00
yuhao 776569427f fix github pages build workflow 2026-03-22 09:28:36 +00:00
yuhao b8b21ffe43 update CLI-Hub 2026-03-22 09:21:50 +00:00
Yuhao b1e9d53e9d Sync license for the CC plugin 2026-03-22 01:27:04 +08:00
Yuhao 5ebde79f23 Update copyright year and owner in LICENSE file 2026-03-22 01:26:04 +08:00
Yuhao 776b5126a3 Merge pull request #100 from ZJZAC/security/codec-whitelist-validation
security: add codec allowlist validation for melt backends
2026-03-21 23:11:13 +08:00
Yuhao 415ffc4b5d Merge pull request #101 from Alex-wuhu/novita-integration
Add Novita provider integration
2026-03-21 23:08:33 +08:00
Yuhao 124e7f06c5 Merge branch 'main' into novita-integration 2026-03-21 23:06:05 +08:00
Yuhao 0beb0d6f30 Merge pull request #83 from sehawq/codex/gimp-file-load-fix
Use gimp-file-load for non-PNG inputs in apply_filter_and_export
2026-03-20 20:00:40 +08:00
Yuhao b478b46cbc Merge pull request #110 from tommyalt/feat/ollama-batch-embed
feat(ollama): support repeatable embed inputs
2026-03-20 19:56:08 +08:00
Yuhao 8ad7efaf79 Merge pull request #112 from sehawq/fix/gimp-cli-session-persistence
fix: persist session state in CLI mode and handle quoted text in REPL
2026-03-20 19:40:48 +08:00
sehawq 08f6eb5e61 fix: persist session state in CLI mode and handle quoted text in REPL
- Add auto-save via result_callback so --project flag triggers disk
  write after every mutating command, fixing broken consecutive
  operations in non-REPL mode.
- Switch REPL arg parsing from str.split() to shlex.split() so that
  quoted strings with spaces (e.g. --text "Summer Sale") are handled
  correctly.

Fixes #111
2026-03-20 13:18:20 +03:00
ZJZACandClaude Opus 4.6 5153e9b86f docs: add scope note to SECURITY.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 13:24:28 +08:00
Tommy-alto-FYygU 72dc6a6f59 feat(ollama): support repeatable embed inputs 2026-03-20 11:46:08 +08:00
Yuhao edf9755dd3 Merge pull request #96 from sehawq/codex/audacity-eval-harness
Add Audacity eval harness and regression reporting
2026-03-19 23:53:40 +08:00
Yuhao d2dd36c831 Merge pull request #102 from HKUDS/codex/ollama-harness
feat: add ollama agent harness
2026-03-19 23:47:11 +08:00
Yuhao d6040fb59f Merge pull request #103 from fishwww-ww/docs/readmecn
docs(README_CN): improve Chinese phrasing
2026-03-19 23:43:37 +08:00
sehawq b601e69a38 chore: revert README_CN and README_JA changes, will sync in separate docs PR 2026-03-19 14:57:30 +03:00
sehawq bc03927dec chore: remove README_CN changes from ollama PR, will sync in separate docs PR 2026-03-19 14:53:38 +03:00
sehawq e2e7c4105f fix: correct README totals to 1,839 matching individual entry sum 2026-03-19 14:43:14 +03:00
sehawq 50eb3e52b3 fix: restore adguardhome entries in .gitignore and README, add ollama alongside 2026-03-19 14:31:34 +03:00
Alex-wuhuandClaude Opus 4.6 77af57d9ce fix: persist history to disk, add file locking, remove sys.path hack
- save_history() now writes to session JSON so history survives restarts
- Use fcntl.flock exclusive locking on session writes (ported from blender harness)
- Reset modified flag after _save()
- Remove sys.path.insert; rely on proper package installation
- clear() also resets history

Addresses review feedback from sehawq on #101.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 18:53:51 +08:00
Alex-wuhuandClaude Opus 4.6 371a651ce4 fix: resolve bugs and align novita harness with repo conventions
- Fix NameError: pass api_key_opt via Click context to chat/stream commands
- Fix NameError: add missing `import requests` in test_core.py
- Extract ChatSession to core/session.py (matches other harness patterns)
- Convert flat session commands to @cli.group() subcommands
- Add missing utils/__init__.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 18:53:51 +08:00
Alex-wuhu e9ec0b7dda Add Novita provider and CLI harness
- Implement novita/agent-harness with OpenAI-compatible API client
- Add chat completion, streaming, model listing support
- Include CLI with chat, session, and config commands
- Add tests with mocked API calls
- Update registry.json with Novita entry
- Update .gitignore to include novita/
2026-03-19 18:53:50 +08:00
Zeng QingwenandCopilot Autofix powered by AI ade2d54e56 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-19 14:48:53 +08:00
fishwww-ww d96d1528b6 docs(README_CN): improve Chinese phrasing 2026-03-19 14:38:51 +08:00
Ömer 45cfa1e66d Merge branch 'main' into codex/ollama-harness 2026-03-19 00:52:58 +03:00
sehawq 7ba573680b test: record Ollama test results 2026-03-19 00:26:52 +03:00
Yuhao 40bdb40b92 Merge pull request #98 from pyxl-dev/feat/adguardhome-clean
feat: add AdGuardHome CLI harness
2026-03-19 01:40:19 +08:00
yuhaoandClaude Opus 4.6 96f4b0eef5 merge: resolve README conflicts, update counts, add adguardhome to registry
- Resolve merge conflict in README.md test badge (1,684 → 1,720)
- Update all app/demo counts from 14 → 16 to reflect all CLIs in registry
- Update test counts: 1,247 unit + 473 e2e = 1,720 total
- Add AdGuardHome entry to registry.json with contributor info (pyxl-dev)
- Add contributor/contributor_url fields to all registry entries

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 17:36:36 +00:00
yuhao 341a4dc088 include authors on CLI-Hub 2026-03-18 17:27:31 +00:00
Yuhao 2fbbe24705 Merge pull request #99 from cnfjlhj/feat/add-mubu-harness
feat(mubu): add Mubu agent harness
2026-03-19 01:07:55 +08:00
PYXL d5e999029d Merge branch 'main' into feat/adguardhome-clean 2026-03-18 15:46:14 +01:00
pyxlandClaude Opus 4.6 433c3cf880 fix: preserve server config when toggling log/filter settings
- log_config: trigger POST when --interval is passed without --enabled,
  read current config for missing parameters
- set_enabled: read current filter interval from server instead of
  hardcoding 24h
- Update test mock to cover the new get_status call in set_enabled

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 15:39:58 +01:00
ZJZACandClaude Opus 4.6 f66e29cdb2 docs: document codec allowlist as breaking change in SECURITY.md
Add section explaining the behavior change for callers using non-listed
codecs, with instructions on how to extend the allowlists.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 19:50:23 +08:00
sehawq 36e6a6a0ed feat: add ollama agent harness 2026-03-18 13:10:51 +03:00
cnfjlhj ffb7395f1a merge: sync feat/add-mubu-harness with upstream main 2026-03-18 17:59:31 +08:00
cnfjlhj 71c1ae6dcf fix(mubu): harden document resolution and state branding
Deduplicate logical document paths by freshest metadata so open-path resolves real Mubu history duplicates consistently. Overlay backup-driven show/link output with metadata titles and doc paths, and default new public state to ~/.config/mubu-cli while preserving legacy fallback.
2026-03-18 17:13:44 +08:00
ZJZACandClaude Opus 4.6 ad83a32283 security: block extra_args from bypassing codec allowlist
extra_args could pass vcodec=..., acodec=..., or -consumer to override
the validated codec parameters. Add _validate_extra_args() that rejects
any argument starting with these prefixes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:50:38 +08:00
ZJZACandClaude Opus 4.6 8935f478c5 security: add codec allowlist validation in melt backends
When an AI agent constructs CLI commands, it may pass arbitrary strings as
codec parameters — either through prompt injection, hallucination, or
processing untrusted input. Since codec values are passed directly to
melt/ffmpeg subprocesses, unvalidated input is an injection risk.

Fix: add ALLOWED_VCODECS / ALLOWED_ACODECS allowlists to both kdenlive
and shotcut melt_backend.py. All codec parameters are validated before
reaching subprocess.run(). Unknown codecs raise ValueError with a list
of valid options.

Also add SECURITY.md documenting the project's threat model (AI agents
as CLI callers), attack surfaces, reporting process, and security
guidelines for harness developers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:17:18 +08:00
Ömer 061b3c9047 Merge pull request #95 from Haimbeau1o/notebooklm-agent-harness-scaffold
feat: add experimental NotebookLM agent harness scaffold / 新增实验性的 NotebookLM agent harness 脚手架
2026-03-18 11:15:35 +03:00
liuche 54f78f65d2 docs: trim notebooklm readme mentions 2026-03-18 15:30:14 +08:00
cnfjlhj f15052487e chore(mubu): bump harness version to 0.1.1
Update the package metadata, generated skill output, test expectations, and registry entry so the contribution PR reflects the generalized daily-folder behavior in the published harness version.
2026-03-18 13:40:41 +08:00
cnfjlhj c74bf7fdce fix(mubu): generalize daily folder resolution
Require an explicit daily folder reference or MUBU_DAILY_FOLDER for daily helpers, scrub personal examples from docs and generated skill content, and harden live E2E checks for environment-specific SSL failures.
2026-03-18 13:28:48 +08:00
cnfjlhj 6d1ae1c863 feat(mubu): add mubu agent harness 2026-03-18 12:18:31 +08:00
liuche d7f38c54e3 Merge origin/main into notebooklm-agent-harness-scaffold 2026-03-18 08:53:00 +08:00