Commit Graph
67 Commits
Author SHA1 Message Date
github-actions[bot] 8e8aaf202d chore: sync model pricing from OpenRouter API 2026-03-29 07:11:03 +00:00
github-actions[bot] 609306b919 chore: sync model pricing from OpenRouter API 2026-03-28 07:04:27 +00:00
github-actions[bot] f7251982d9 chore: sync model pricing from OpenRouter API 2026-03-27 07:15:47 +00:00
github-actions[bot] 3f56adc784 chore: sync model pricing from OpenRouter API 2026-03-26 07:16:28 +00:00
github-actions[bot] 310c03b1e6 chore: sync model pricing from OpenRouter API 2026-03-25 14:50:12 +00:00
Evan fc37ce253b fix: correct invalid tier "free" and teams-mcp id with version (#29)
- Replace tier "free" with "fast" (valid tiers: frontier/smart/balanced/fast/local)
- Remove version suffix from teams-mcp integration id field
- Update sync-pricing.py to not generate invalid tier values
2026-03-25 23:49:39 +09:00
Evan 553ecc6947 feat: add pricing sync script and update model prices from OpenRouter (#27)
* fix: pin npm package versions in MCP integration templates

Prevent supply chain attacks by pinning exact versions instead of
using unpinned `npx -y @package` which pulls latest on every run.

23 of 25 integrations pinned. sqlite-mcp and aws skipped (packages
not found on npm registry).

* fix: use stable azure/mcp version instead of beta

* feat: add pricing sync script and update model prices from OpenRouter API

- scripts/sync-pricing.py fetches real-time pricing from OpenRouter
- Updated 64 price fields across 13 provider files
- Run periodically or in CI to keep prices current
2026-03-25 23:43:13 +09:00
Evan a00e813bdf feat: add 22 mainstream models to nvidia-nim provider catalog (#26)
Add model entries for the most popular models available on NVIDIA NIM:
- NVIDIA: Nemotron Ultra 253B, Super 49B, 70B, Mini 4B
- Meta: Llama 4 Maverick/Scout, Llama 3.3 70B, 3.1 405B/8B, 3.2 Vision
- Mistral: Large 3 675B, Small 3.1 24B, Mixtral 8x22B
- DeepSeek: V3.2, R1 Distill 32B
- Qwen: 3.5 397B, 2.5 Coder 32B, QWQ 32B
- Google: Gemma 3 27B
- Microsoft: Phi-4 Multimodal, Phi-4 Mini

Refs librefang/librefang#1621
2026-03-25 23:36:00 +09:00
Evan c25a321e88 fix: pin npm package versions in MCP integration templates (#25)
* fix: pin npm package versions in MCP integration templates

Prevent supply chain attacks by pinning exact versions instead of
using unpinned `npx -y @package` which pulls latest on every run.

23 of 25 integrations pinned. sqlite-mcp and aws skipped (packages
not found on npm registry).

* fix: use stable azure/mcp version instead of beta
2026-03-25 22:27:42 +09:00
Evan d012a4a26d feat: add tags = ["popular"] to top hands and channels (#24) 2026-03-25 13:31:13 +09:00
Evan 1e8f75b120 feat: add Chinese (zh) i18n for all hand agents (#23)
Add [i18n.zh.agents.*] sections to all 15 HAND.toml files,
providing Chinese translations for agent names and descriptions.

Total: 51 agent translations across 15 hands.
2026-03-25 12:44:20 +09:00
Evan 9b24879c4f feat: add i18n descriptions to all hands and channels (#22)
Add [i18n.zh], [i18n.zh-TW], [i18n.ja], [i18n.ko], [i18n.de], [i18n.es]
sections with translated descriptions to:
- 15 Hand TOML files (hands/*/HAND.toml)
- 44 Channel TOML files (channels/*.toml)

This enables the website to display localized Hand and Channel descriptions
based on the user's selected language.
2026-03-25 12:25:57 +09:00
Evan 644213eef6 feat: add channels directory with 44 channel adapter definitions (#21)
* feat: add channels directory with 44 channel adapter definitions

Add TOML definitions for all 44 channel adapters supported by LibreFang,
matching the adapters in librefang-channels crate source code.

Each channel file includes: id, name, description, category, icon,
protocol, and metadata (url, docs).

Categories: messaging, social, enterprise, developer, iot, email.

Also adds channels template at templates/channel.toml.

* fix: format templates/channel.toml with taplo
2026-03-25 11:30:10 +09:00
Evan 1440059e99 fix: add shell execution rules to collector hand system prompt (#20) 2026-03-25 02:39:39 +09:00
Evan 492faabd57 feat: update minimax default to M2.7, add zh i18n to workflow templates (#19)
- aliases: minimax default → MiniMax-M2.7, minimax-highspeed → MiniMax-M2.7-highspeed
- workflow templates: add [i18n.zh] section with Chinese name/description
2026-03-24 13:00:20 +09:00
Evan 733c35df5b fix: add missing tools to hello-world and test-engineer templates
- hello-world: add file_write (LLM needs it for writing files)
- test-engineer: add web_fetch, web_search (needed for researching test patterns)
2026-03-23 14:42:25 +00:00
Evan 9bcbe04d08 feat: add media_capabilities to provider definitions (#18) 2026-03-23 14:13:13 +09:00
Evan ecc5215cae feat(hands): add Creator Hand for media generation (#17) 2026-03-23 14:09:51 +09:00
Evan 945bbbd763 chore(hands): bump all HAND.toml versions to 1.1.0 (#16)
* chore(hands): bump all HAND.toml versions to 1.1.0

Triggers version-aware sync in librefang runtime (librefang/librefang#1530).
Previously sync_subdirs() skipped existing hands regardless of version.
With the runtime fix, bumping from 1.0.0 → 1.1.0 ensures users get
updated hand definitions on next registry sync.

* chore: fix taplo formatting for 4 agent.toml files

* fix(hands): fix invalid install fields in analytics and browser

- analytics: `linux` → `linux_apt`/`linux_dnf`/`linux_pacman` (parser
  only recognizes platform-specific variants, not generic `linux`)
- analytics: remove `pip = "python3 --version"` (version check, not
  an install command)
- browser: remove `pip = "python3 --version"` (same issue)

* fix: enrich sub-agent prompts and add missing requires across all hands

- analytics: fix linux → linux_apt/dnf/pacman, remove invalid pip check,
  enrich analyst and modeler sub-agent prompts
- apitester: add [[requires]] for curl
- browser: remove invalid pip check, enrich researcher and extractor prompts
- clip: enrich editor and transcriber sub-agent prompts
- collector: enrich scout, scholar, and localizer sub-agent prompts
- devops: add [[requires]] for curl, git, docker (optional), GITHUB_TOKEN
  (optional), enrich sub-agent prompts
- lead: enrich outreach, recruiter, and messenger sub-agent prompts
- linkedin: enrich content and researcher sub-agent prompts
- predictor: enrich orchestrator, planner, and modeler sub-agent prompts
- reddit: enrich monitor and composer sub-agent prompts
- strategist: enrich architect, counsel, and analyst sub-agent prompts
- trader: enrich accountant and researcher sub-agent prompts
- twitter: enrich curator and composer sub-agent prompts
2026-03-23 11:21:29 +09:00
Evan d778da72a2 fix(validate): check for [agents] instead of [agent] in HAND.toml (#15)
* fix(validate): check for [agents] instead of [agent] in HAND.toml

All 14 hands use [agents.main] (plural) for multi-agent config,
but the validator was checking for [agent] (singular), causing
all hands to fail validation.

* fix(routing): resolve 19 routing alias collisions

Agent is a sub-unit of hand, so hands take priority for routing.
Remove conflicting aliases from agent side when hand already owns them.

- analyst: remove data analysis, analyze data, dashboard (owned by hand/analytics)
- data-scientist: remove statistical analysis, forecast, prediction (owned by hand/analytics, hand/predictor)
- sales-assistant: remove prospecting, sales, pipeline (owned by hand/lead, hand/devops)
- devops-lead: remove incident response, kubernetes, terraform (owned by hand/devops)
- researcher: remove deep research, research, literature review (owned by hand/researcher)
- academic-researcher: remove literature review, systematic review (owned by hand/researcher)
- social-media: remove duplicate content calendar from weak_aliases
- hand/collector: remove competitive analysis (owned by hand/strategist)
2026-03-23 09:41:29 +09:00
Evan 31776736d0 Merge pull request #14 from librefang/feature/muti-agent-hand
feat: muti agent hand
2026-03-23 02:41:38 +09:00
Evan Hu 506a201329 feat: muti agent hand 2026-03-23 02:41:02 +09:00
Evan 8190e06091 Merge pull request #13 from librefang/fix/resolve-merge-conflict-markers
fix(hands): resolve merge conflict markers left by PR #12
2026-03-23 01:25:35 +09:00
Evan Hu fd752c50e2 fix(hands): fix TOML parse error in clip i18n — unescaped quotes 2026-03-23 01:24:13 +09:00
Evan Hu 6cb1d904bf fix(hands): resolve merge conflict markers left by PR #12
Remove git conflict markers from linkedin, reddit, and twitter
HAND.toml and SKILL.md files. Keep the more complete version
(with new settings i18n translations) and fix French/Spanish
accent issues (dépasser, entraîner, média, réponse, conexión,
imágenes, Mode de croissance).
2026-03-23 01:22:54 +09:00
Evan 3e57ce4743 Merge pull request #12 from librefang/feat/improve-social-hands
feat(hands): improve linkedin, reddit, and twitter hands
2026-03-23 00:51:41 +09:00
Evan Hu 825d6d389d fix(twitter): use single quotes for i18n string containing Chinese quotes 2026-03-23 00:51:26 +09:00
Evan Hu 3da827e6da feat(hands): improve linkedin, reddit, and twitter hands
- linkedin: API fallback strategy, queue JSON schema, 3 new settings, algorithm deep dive, crisis management
- reddit: concrete rule parsing, anti-spam/shadowban detection, engagement scoring, new settings
- twitter: structured trend analysis, queue schema, engagement criteria, algorithm awareness, new settings
2026-03-23 00:51:26 +09:00
Evan de939b80d0 Merge pull request #11 from librefang/feat/hands-i18n-and-content-enhancement
feat(hands): i18n fixes, SKILL.md enhancements, and README overhaul
2026-03-23 00:51:08 +09:00
Evan Hu 6e69b47eda docs(readme): add workflows, templates, and docs directories to root README
Previously missing from the repository structure and content type sections.
2026-03-23 00:44:46 +09:00
Evan Hu ed595230cf feat(hands): improve 6 lower-scoring hands — system prompts and SKILL.md depth
- browser: 5→7 phases, SPA detection, error recovery decision tree, 3 new settings
- strategist: framework integration methodology, 7 anti-patterns, uncertainty quantification
- lead: remove clip language, add BANT/MEDDIC qualification, 3 new settings + CRM export
- researcher: CRAAP→CRAAP+, 7-step conflict resolution, 6-item cognitive bias audit
- collector: concrete change classification (structural/content/metadata), 5-factor scoring, 2 new settings
- apitester: OWASP Top 10 checklist, 4 load test profiles, contract testing phase, GraphQL/Webhook patterns
2026-03-23 00:31:13 +09:00
Evan Hu 33d279889c feat(hands): complete i18n fixes, SKILL.md enhancements, and README overhaul
- Fix French accent characters (é/è/ê/ç/â/ô) across all 14 HAND.toml files
- Fix German special characters (ä/ö/ü/ß) across all 14 HAND.toml files
- Add category translations to all 6 i18n language blocks in all 14 hands
- Enhance SKILL.md content for 9 hands with practical examples and workflows
- Trim bloated SKILL.md files (apitester 1400→892, devops 1301→870)
- Rewrite root README.md with accurate stats, complete hand/integration tables
- Update hands/README.md with full 14-hand listing and i18n documentation
2026-03-23 00:18:18 +09:00
Evan Hu 315f955ce2 fix(i18n): move [i18n.zh] sections to end of HAND.toml files
The i18n table was placed before category/icon/tools, causing TOML
parser to swallow subsequent keys into the i18n table.
2026-03-22 23:04:17 +09:00
Evan Hu 123350e2b2 feat(i18n): add Chinese translations for all 14 hands
Add [i18n.zh] sections with localized name and description to every
HAND.toml in the registry.
2026-03-22 22:55:34 +09:00
Evan Hu fb45e39dcb fix(hands): migrate Reddit auth to client_credentials, document Twitter OAuth 1.0a
Reddit:
- Remove REDDIT_USERNAME and REDDIT_PASSWORD requirements (deprecated
  password grant)
- Switch to grant_type=client_credentials (app-only auth)
- Update system_prompt and SKILL.md auth examples

Twitter:
- Add optional OAuth 1.0a credentials (API key/secret, access
  token/secret) for user-context operations
- Document Bearer Token vs OAuth 1.0a authentication modes in SKILL.md
- Note which endpoints require user-context auth
2026-03-22 20:28:16 +09:00
Evan Hu 8923c4e0c3 docs(browser): expand SKILL.md with comprehensive browser automation guide
Expand from ~124 to ~816 lines covering navigation, form handling,
screenshots, JavaScript execution, error handling patterns, and
best practices for the browser automation hand.
2026-03-22 17:57:57 +09:00
Evan Hu 68c9c65e6e feat: add missing [metadata] to clip, linkedin, reddit, twitter
All 14 hands now have consistent metadata sections with frequency,
token_consumption, and default_active fields.
2026-03-22 17:38:40 +09:00
Evan Hu 0e06459613 feat(apitester): add approval_mode for destructive operations
Queue write requests, load tests, and security tests for user review
instead of executing directly. Default enabled for safety.
2026-03-22 17:06:29 +09:00
Evan Hu 60f8ab174a ci: trigger CI re-run 2026-03-22 16:57:22 +09:00
Evan Hu 8f0cdfe5ab fix: format TOML files with taplo 2026-03-22 16:56:37 +09:00
Evan Hu 5d947e8da0 feat(hands): add version fields, approval_mode, and stronger routing aliases
- Add version = "1.0.0" to all 14 hands
- Add approval_mode toggle to clip and devops hands (queue actions
  for user review before executing)
- Strengthen routing aliases for analytics, apitester, browser,
  collector, devops, lead, predictor, researcher, strategist
2026-03-22 16:42:27 +09:00
Evan 6e48be1e31 feat: add workflow templates (#9)
9 bundled workflow templates:
- data-pipeline: ETL extract/transform/validate
- content-review: multi-agent draft/quality/accuracy/edit
- customer-support: tiered triage/response/escalation
- code-review: parallel correctness+security+style analysis
- research: research/fact-check/summarize
- content-pipeline: research → write → edit article creation
- translate-polish: auto-detect language, translate, review
- brainstorm: ideation → evaluation → action plan
- weekly-report: raw notes → organized → polished report
2026-03-22 12:37:04 +09:00
Evan 31f17ba369 feat: add Qwen International provider with regional endpoints (#8)
* feat: add Qwen International and US provider catalogs

* refactor: merge qwen-us into qwen-intl with regions support

* refactor: merge regional providers into single files with regions

Merge qwen-intl.toml into qwen.toml with [provider.regions] for
intl (Singapore) and us (Virginia) endpoints.

Merge minimax-cn.toml into minimax.toml with [provider.regions.china]
including separate api_key_env for China endpoint.

Uses new RegionConfig table format instead of simple string URLs.
2026-03-21 17:23:14 +09:00
Evan 078218c70f feat: add Gemini CLI, Codex CLI, and Aider provider catalogs (#7)
- gemini-cli: Google Gemini CLI (gemini-2.5-pro, gemini-2.5-flash)
- codex-cli: OpenAI Codex CLI (o4-mini, o3, gpt-4.1)
- aider: Aider AI coding assistant (sonnet, gpt-4o)
2026-03-21 07:14:18 +09:00
Evan d1cab3e33a feat: context engine plugins, scaffolding, and pricing fixes (#6)
* feat: add 4 context engine plugins

- topic-memory: keyword clustering for topic-aware memory recall
- episodic-memory: conversation segmentation and cross-session recall
- user-profile: persistent user profiling from conversation patterns
- context-decay: time-based memory decay with reinforcement dynamics

All plugins use the ingest/after_turn hook protocol with stdin/stdout JSON.

* chore: add plugin scaffolding, update docs and templates

- Add plugin.toml template with {{NAME}} placeholder
- Add new-plugin Makefile target with hooks/ scaffolding
- Update plugins/README.md with all 10 plugins
- Update README.md stats (10 plugins, 220+ models)
- Add Plugin checkbox and checklist to PR template
- Add Plugin to issue template content type dropdown
- Fix CONTRIBUTING.md: last_verified is recommended, not required

* fix: correct model pricing and remove deprecated entries

- openrouter/gemma-2-9b-it: fix pricing from 0.0 to 0.03/0.09 per M tokens
  (free variant correctly stays at 0.0)
- github-copilot: remove deprecated copilot/gpt-4 model entry
  (GPT-4 retired in favor of GPT-4o for Copilot)

* docs: annotate kimi-coding as membership-gated

Kimi Code CLI uses quota-based membership model (not per-token billing).
Free tier has limited weekly requests; underlying model is K2.5.
Pricing kept at 0.0 consistent with other subscription providers
(chatgpt, github-copilot) but with explanatory comments.

* style: fix trailing newline in github-copilot.toml

* fix: correct Moonshot/Kimi model pricing from official sources

All 5 models had incorrect pricing:
- moonshot-v1-8k: 0.10/0.10 → 0.20/2.00
- moonshot-v1-32k: 0.30/0.30 → 1.00/3.00
- moonshot-v1-128k: 0.80/0.80 → 2.00/5.00
- kimi-k2: 2.00/8.00 → 0.60/2.50
- kimi-k2.5: 2.00/8.00 → 0.45/2.20

Sources: platform.moonshot.ai/docs/pricing/chat, costgoat.com, getmaxim.ai

* feat: add MiniMax M2.7 and M2.7-highspeed models

Released 2026-03-18, MiniMax's latest flagship text model.
10B activated params, 200K context, 128K output, tool use, streaming.
Pricing: $0.30/$1.20 per M tokens (input/output).

Added to both international (minimax.io) and China (minimaxi.com) providers.
2026-03-21 03:36:32 +09:00
EvanandClaude Opus 4.6 8f2244eb6f chore: remove router agent (#5)
* chore: remove router agent

builtin:router has been replaced by LLM intent routing in the kernel.
Assistant is now the sole entry point — see librefang/librefang#1336.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* style: format all TOML files with taplo

Fix CI taplo format check by running `taplo fmt` on all 132 TOML files.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 03:26:11 +09:00
Evan Hu 9a1b1ed129 chore: remove echo-memory demo plugin 2026-03-21 02:52:49 +09:00
Evan Hu afcb260554 feat: add 6 production-ready plugins
All plugins are stdlib-only Python with no external dependencies.

- auto-summarizer: extractive conversation summary for long context
  compression, persists per-agent summaries to disk
- conversation-logger: JSONL audit logs per agent with ISO 8601
  timestamps, auto-creates log directory tree
- guardrails: safety filter detecting PII (email, phone, SSN, CC),
  prompt injection patterns, and credential exposure via regex
- keyword-memory: extracts entities (emails, URLs, dates, technical
  terms like camelCase/snake_case/dotted identifiers) as memories
- sentiment-tracker: keyword-based sentiment scoring with intensifiers
  and negation handling, only injects context for non-neutral sentiment
- todo-tracker: detects action items via 7 task patterns, tracks
  completion, deduplicates, persists per-agent with 20-item FIFO limit
2026-03-21 02:51:58 +09:00
Evan Hu 994b60c0d9 fix(ci): pin taplo version and fix glob pattern in format check 2026-03-21 02:48:31 +09:00
Evan Hu a8b7c9d08b feat: comprehensive registry improvements
Community docs:
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md (vulnerability reporting policy)
- CHANGELOG.md (initial release notes)
- CODEOWNERS (per-type review ownership)

GitHub config:
- Issue templates: bug-report, pricing-correction, documentation
- FUNDING.yml (GitHub Sponsors)

Validation enhancements:
- Cross-reference check: hand [[requires]] → integration existence
- Routing alias collisions as warnings (errors with --strict)
- --strict flag to promote warnings to errors
- --type filter to validate single content type
- CI: add taplo format check and lychee link check jobs

Developer experience:
- Makefile with validate, fmt, and scaffold targets
- Scaffold templates for all 5 content types
- .pre-commit-config.yaml (trailing whitespace, TOML check, validate)
- docs/content-guide.md (naming, descriptions, prompts, decision guide)

Content quality:
- schema.toml: add last_verified field for model pricing
- CONTRIBUTING.md: add pricing verification guide with source links
2026-03-21 02:46:04 +09:00