Commit graph

1090 commits

Author SHA1 Message Date
dongmucat
52843c8020 fix(test): assert CLI download media type (#605)
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-28 12:16:28 +08:00
dongmucat
83b621880e test(auth): cover persisted CLI token states (#605)
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-28 12:03:24 +08:00
dongmucat
e5b8439678 docs(auth): plan revoked token regression coverage (#605)
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-28 11:37:07 +08:00
dongmucat
6567c19664 docs(auth): tighten runtime validation gates (#605)
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-28 11:20:08 +08:00
dongmucat
03085f19b5 docs(auth): define revoked token validation design (#605)
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-28 11:08:37 +08:00
FenjuFu
8dd0598acb docs(readme): add star/watch buttons and guidance to first screen
The badge row had no star or watch affordance. Adds social-style badges and a
one-line note under the intro explaining why starring matters and how to watch
releases only, in both language versions.
2026-07-23 10:07:57 +08:00
FenjuFu
5b9fc16277 docs(readme): add star/watch buttons and guidance to first screen
The badge row had no star or watch affordance. Adds social-style badges and a
one-line note under the intro explaining why starring matters and how to watch
releases only, in both language versions.
2026-07-23 10:07:52 +08:00
FenjuFu
3d6c7db040 docs(integrations): add HarnessClaw Engine skill guide
HarnessClaw Engine loads skills from SKILL.md files with YAML frontmatter
and parameter substitution, so SkillHub packages install into it directly
via the CLI --dir option, the same way Hermes Agent does.

Signed-off-by: FenjuFu <fufenjupku@gmail.com>
2026-07-22 23:15:57 +08:00
FenjuFu
55a739a1bf docs(integrations): add HarnessClaw Engine skill guide
HarnessClaw Engine loads skills from SKILL.md files with YAML frontmatter
and parameter substitution, so SkillHub packages install into it directly
via the CLI --dir option, the same way Hermes Agent does.

Signed-off-by: FenjuFu <fufenjupku@gmail.com>
2026-07-22 23:15:52 +08:00
shychee
de033da537 fix(search): make index writes REQUIRES_NEW to survive async caller-runs fallback
The @Async rebuildSkill fix relied on a fresh thread giving a clean
transaction boundary. But skillhubEventExecutor uses CallerRunsPolicy:
under saturation the rejected task runs on the caller (request) thread,
back inside the afterCommit synchronization phase — the original failure
context where the @Transactional index write is silently dropped.

Mark SearchIndexService.index as REQUIRES_NEW so it always suspends any
lingering post-commit synchronization and commits in its own transaction,
independent of whether the async dispatch actually happened.

Add regression tests: detach removes the label keyword, and a synchronous
rebuild inside the afterCommit phase still persists the document (fails
without REQUIRES_NEW).

Signed-off-by: shychee <shychee96@gmail.com>
2026-07-22 18:54:38 +08:00
shychee
74bad000e3 fix(search): rebuild search index asynchronously after label change
Attaching or detaching a skill label triggers a search index rebuild via
an afterCommit callback. Because LabelSearchSyncService.rebuildSkill ran
synchronously on the request thread, the @Transactional index write
executed inside the already-committed transaction-synchronization phase
and was silently dropped -- the search document was never written, so
label keywords never became searchable.

Move rebuildSkill onto the skillhubEventExecutor with @Async (matching the
existing rebuildSkills batch path) so the rebuild runs on a fresh thread
and transaction. Add an integration test that fails on the old synchronous
path and passes with the async fix.

Signed-off-by: shychee <shychee96@gmail.com>
2026-07-22 18:38:00 +08:00
dongmucat
ac46ad5391
Merge pull request #595 from iflytek/release/cli-v0.1.9
Some checks failed
Deploy Docs / build (push) Has been cancelled
Security / Dependency Review (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
Security / CodeQL (python) (push) Has been cancelled
Deploy Docs / Deploy (push) Has been cancelled
chore(cli): release 0.1.9
2026-07-22 17:43:58 +08:00
dongmucat
6ee746d371 chore(cli): bump version to 0.1.9
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-22 17:35:05 +08:00
dongmucat
982258d032
Merge pull request #585 from betterlmy/agent/generic-user-install-target
feat(cli): add generic user-level install target
2026-07-22 17:20:14 +08:00
dongmucat
9af4d391f3
docs(integrations): add Hermes Agent skill guide (#584)
* docs(integrations): add Hermes skill guide

Signed-off-by: dongmucat <1127093059@qq.com>

* docs(integrations): clarify Hermes skill collision handling

Signed-off-by: dongmucat <1127093059@qq.com>

---------

Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-22 15:01:50 +08:00
dongmucat
ba03a42d65
Merge pull request #591 from iflytek/fix/scanner-litellm-pin
fix(scanner): pin LiteLLM for Alpine builds
2026-07-22 14:14:52 +08:00
dongmucat
d8486cfb58 fix(scanner): pin LiteLLM for Alpine builds
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-21 15:24:49 +08:00
jangrui
fef740b810 fix(ci): 去掉 kubeconform schema-location 的内层单引号
单引号被当作字面字符传入,导致 cert-manager Certificate 校验报
"first path segment in URL cannot contain colon"。去掉后本地验证
Errors:1 → 0。
2026-07-21 00:24:26 +08:00
Jangrui
512fc1be00
Merge pull request #1 from LHB6540/fix/pr445-followup-for-author
fix(helm): 接续完善 #445 的依赖、GitOps 与 Ingress 配置
2026-07-21 00:19:04 +08:00
lhb6540
f3dbb57a80 fix(helm): 修正 CI 渲染与 PostgreSQL 管理员密码引用
同步 Helm CI matrix 与当前 values schema 和确定性凭据策略。

- 所有 CI 渲染加载测试凭据并迁移 Ingress TLS 数组配置
- PostgreSQL 使用 postgres 用户时引用管理员密码 key
- 增加内置 Secret 和 existingSecret 的管理员用户契约测试

Signed-off-by: lhb6540 <lhb6540@gmail.com>
2026-07-20 11:36:04 +08:00
betterlmy
f519b08a73 fix(cli): preflight canonical install targets
Signed-off-by: betterlmy <betterlmy@icloud.com>
2026-07-17 17:20:22 +08:00
betterlmy
8b84201516 feat: add generic user-level agent install target
Signed-off-by: betterlmy <betterlmy@icloud.com>
2026-07-17 11:39:29 +08:00
dongmucat
2e4a69d590
Merge pull request #529 from FenjuFu/faq/add-community-qa
Some checks failed
Deploy Docs / build (push) Has been cancelled
Security / Dependency Review (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
Security / CodeQL (python) (push) Has been cancelled
Deploy Docs / Deploy (push) Has been cancelled
docs(faq): supplement FAQ (zh & en) with community-sourced Q&A
2026-07-17 10:35:29 +08:00
lhb6540
9978d82cb1 fix(helm): 修正 Server PVC 权限与 RWO 升级策略
本地 PVC 会覆盖 Server 镜像内预先设置的目录所有者,导致非 root app 用户无法写入技能文件。

- 为 Server Pod 增加可覆盖的 fsGroup,默认匹配 v0.2.13 镜像的 app 组 101
- 本地 ReadWriteOnce 存储自动使用 Recreate,避免滚动升级时新旧 Pod 抢占卷
- ReadWriteMany 与 S3 部署继续使用 RollingUpdate
- 补充 values schema、配置契约测试和运维文档

Signed-off-by: lhb6540 <lhb6540@gmail.com>
2026-07-16 20:04:35 +08:00
lhb6540
5d379dcaaf fix(helm): 修正组件启停与依赖配置并增加 values 校验
在配置进入 Kubernetes 前完成父 Chart 校验,并补齐剩余的依赖配置契约。

- 让 Service、HPA 和 PDB 正确遵循组件启用状态
- 校验 Ingress、自动扩缩容、外部依赖和共享存储的组合配置
- 增加 values.schema.json 和 Helm 配置契约测试并接入 CI
- 统一 PostgreSQL Primary 与 Read Replica 的 max_connections 配置
- 修正 Redis Sentinel 节点、依赖等待和独立密码配置
- 允许覆盖依赖等待容器镜像,支持完整私有镜像仓库部署
- 兼容现代与旧式 IngressClass,并支持多域名 TLS 和证书 SAN
- 增加 GitOps 稳定 Secret 模式,阻止离线渲染产生随机凭据漂移
- 引用用户可控的 ConfigMap 字符串,并推导 TLS 安全 Cookie 和设备认证默认值
- 补充 Sentinel、RWX 存储、TLS Cookie、PVC 保留、私有镜像和 GitOps 文档
- 增加 Redis 数据密码与 Sentinel 密码分离的应用配置测试

已通过 Helm 严格 lint、渲染场景、配置契约测试、kubeconform、后端测试套件和 Sentinel 专项配置测试。

Signed-off-by: lhb6540 <lhb6540@gmail.com>
2026-07-15 17:19:24 +08:00
lhb6540
3b3905be63 fix(helm): 修正 Bitnami 依赖连线并同步应用配置
基于当前 SkillHub 运行时契约和 Bitnami 依赖命名,更新原贡献者提交的 Helm Chart 配置。

- 将 Server 正确连接到实际的 PostgreSQL 和 Redis Service 与 Secret
- 支持依赖组件的 existingSecret 名称和自定义密码 key,避免安装时 lookup
- 同步 S3、匿名下载、Scanner LLM、公开地址、设备认证和直接认证配置
- 将应用版本和 Chart 版本对齐当前发布版本
- 收紧 Chart 发布触发条件和手动版本选择逻辑
- 增加依赖 Service、Secret 和密码 key 的 CI 语义断言

已通过 Helm lint、九组渲染场景、kubeconform、工作流安全检查和后端应用测试套件。

Signed-off-by: lhb6540 <lhb6540@gmail.com>
2026-07-15 17:19:15 +08:00
dongmucat
e32f05b375
Merge pull request #568 from iflytek/fix/admin-super-admin-role-guard
Some checks failed
Security / Dependency Review (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
Security / CodeQL (python) (push) Has been cancelled
fix(auth): guard SUPER_ADMIN role mutations
2026-07-02 13:53:32 +08:00
dongmucat
3a254d7524 fix(auth): guard SUPER_ADMIN role mutations
Signed-off-by: dongmucat <1127093059@qq.com>
2026-07-01 16:23:45 +08:00
dongmucat
06cc523a0c
Merge pull request #557 from iflytek/fix/relative-link-nested-preview
Some checks failed
Security / Dependency Review (push) Has been cancelled
Deploy Docs / build (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
Security / CodeQL (python) (push) Has been cancelled
Deploy Docs / Deploy (push) Has been cancelled
fix(frontend): support nested preview links
2026-06-30 17:29:08 +08:00
dongmucat
f7cc6e758f
Merge pull request #565 from iflytek/fix/scanner-llm-base-url
Fix scanner local LLM base URL handling
2026-06-30 15:25:03 +08:00
dongmucat
f43c8fcbee
Merge pull request #567 from iflytek/fix/dependabot-open-alerts-dco
fix(frontend): patch undici dependabot alerts
2026-06-30 14:40:42 +08:00
dongmucat
85332a2237 chore(staging): keep dependabot fix scoped
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-30 14:04:08 +08:00
dongmucat
db8aa36f89 fix(frontend): patch undici alerts and harden staging web
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-30 10:58:05 +08:00
dongmucat
bf7c71ad2c fix(scanner): backport local LLM base URL handling for #563
Also add Python CodeQL coverage in the security workflow so repository-level script regression checks stay green when Python source exists.

Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-29 14:34:55 +08:00
dongmucat
0134da73b5 fix(frontend): support nested preview links
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-24 16:51:42 +08:00
dongmucat
8413ee3950
Merge pull request #554 from iflytek/fix/auth-password-settings
Some checks failed
Security / Dependency Review (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
fix(auth): restore password settings access
2026-06-24 10:50:26 +08:00
dongmucat
c25f950841
Merge pull request #555 from iflytek/feature/promotion-review-optimization
feat(promotion): improve promotion review dashboard
2026-06-24 10:36:46 +08:00
dongmucat
e501be9cf8 feat(promotion): improve promotion review dashboard
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-24 09:28:43 +08:00
dongmucat
636f1edac2 docs(auth): align auth me example with #541
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-23 13:54:33 +08:00
dongmucat
f61ce71daa test(web): ISSUE-61 cover security settings real requests
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 17:22:19 +08:00
dongmucat
9f927c12b0 fix(PR): default deny security password changes
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 14:22:25 +08:00
dongmucat
54006e72a4 fix(web): ISSUE-62 gate security settings by capability
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 14:00:53 +08:00
dongmucat
665ee0499a feat(auth): add ISSUE-60 password capability field
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-22 12:40:01 +08:00
dongmucat
dc185861d4
Merge pull request #542 from iflytek/release/cli-v0.1.8
Some checks failed
Security / Dependency Review (push) Has been cancelled
Security / CodeQL (java-kotlin) (push) Has been cancelled
Security / CodeQL (javascript-typescript) (push) Has been cancelled
chore(cli): release 0.1.8
2026-06-18 15:56:27 +08:00
dongmucat
78b8b34ed1 chore(cli): bump version to 0.1.8
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-18 15:54:23 +08:00
dongmucat
f8ea4e67e4
feat(cli): support anonymous public search and install
feat(cli): support anonymous public search and install
2026-06-18 14:29:45 +08:00
moses
cb950c2d21
Merge branch 'iflytek:main' into main 2026-06-18 13:57:42 +08:00
dongmucat
ea73c305b8
Merge pull request #534 from SenLinLeo/fix/install-target-enter-selection
fix(cli): treat highlighted install target as selected
2026-06-18 09:43:48 +08:00
dongmucat
17daf87ab6
Merge pull request #539 from iflytek/fix/notification-sse-headers
Some checks failed
Security / CodeQL (java-kotlin) (push) Waiting to run
Security / Dependency Review (push) Waiting to run
Security / CodeQL (javascript-typescript) (push) Waiting to run
Deploy Docs / build (push) Has been cancelled
Deploy Docs / Deploy (push) Has been cancelled
fix(notification): preserve SSE headers for notification stream
2026-06-17 16:20:35 +08:00
dongmucat
48a1de9640 fix(notification): preserve SSE headers for notification stream
Signed-off-by: dongmucat <1127093059@qq.com>
2026-06-17 15:19:07 +08:00