Commit Graph

14 Commits

Author SHA1 Message Date
Zhicheng Han 899520c1b8 新增 profile 配置编辑入口 (#1860)
* Add profile config edit affordance

* fix: focus profile config editor route

---------

Co-authored-by: ekko <fqsy1416@gmail.com>
2026-06-30 20:02:24 +08:00
ekko 5cc62f28eb add session archive flow (#1805) 2026-06-26 13:50:21 +08:00
ekko efc307831d clear active profile on auth expiry (#1671) 2026-06-19 15:58:21 +08:00
IvanShang f87b31f8df fix(client): handle raw percent signs in download URLs (#1436) 2026-06-09 19:30:37 +08:00
ekko 66bb286a7d [codex] fix Windows coding agent command errors (#1440)
* fix object error messages

* fix chat run error rendering

* include coding agent stderr on failure

* fix windows cmd shim errors

* fix quoted windows coding agent commands

* fix windows cmd shim execution

* dedupe windows command execution helpers

* move agent runner docs out of source tree

* document coding agent chat error rendering
2026-06-09 17:00:44 +08:00
ekko fa23de09b6 test profile-scoped skill import delete 2026-06-05 09:00:32 +08:00
ekko 4f29cecc9f Revert "[codex] add skill import delete profile coverage (#1341)"
This reverts commit b6054e667e.
2026-06-05 09:00:32 +08:00
ekko b6054e667e [codex] add skill import delete profile coverage (#1341)
* feat(skills): add import/delete with auto-refresh and path display

* feat(skills): 外部目录管理、按 sourcePath 分组,并修复 PR #1288 的 review

把三块技能相关改动 + PR #1288 的两条 review 修复合并到一次推送。

PR #1288 review 修复
- 将系统 `unzip` 二进制替换为纯 Node 的 `adm-zip` 包,导入 zip 在
  Windows 与精简 Linux 镜像(无 unzip)上也能正常工作。
- 删除接口加上 category:路由改为
  `DELETE /api/hermes/skills/:category/:skill`,server 端使用
  `findSkillDirInRoot(skillsDir, category, name)` 定位,与 `list` /
  `listFiles` / `readFile_` 一致。同名不同 category 的 local skill
  不会再误删。

外部技能目录管理
- 新增 SkillExternalDirsModal,可在界面上编辑
  `config.skills.external_dirs`:增删行、支持 `~` 与 `$VAR`、对当前
  无法解析的路径置灰提示。
- 新增 server 接口 `GET/PUT /api/hermes/skills/external-dirs`,按原样
  读写配置(trim、去空、去重、限制长度、拒绝控制字符)。
- skills 列表响应里加上 `paths.externalRaw`,UI 可以同时展示用户写的
  原始路径和解析后的绝对路径。
- i18n:所有 locale 增加 `skills.externalDirs.*` 与 `skills.path.*`。

侧栏按 sourcePath 分组
- 移除 SkillsView 顶部的本地 + 外部路径条;多个外部目录时太杂,并且
  无法直接看出每个 skill 来自哪个目录。
- 选中"外部目录"筛选时,列表改为先按外部目录(用户写的 `~/...` 原始
  形式)分组,再按 category 分组。其他筛选保持扁平 category 列表。
- server 在列表响应里给每个外部 skill 附加 `sourcePath`(原始形式),
  供 UI 分组使用。

测试
- 新增 SkillList 用例:「按 sourcePath 分组」、「非外部筛选回退扁平
  列表」。
- 修复已存在的 SkillList 测试缺少 `useDialog` / `deleteSkillApi`
  mock 的问题。

* test profile-scoped skill import delete

* make skill actions icon only on mobile

* fix mobile skill action icon spacing

---------

Co-authored-by: noah <zhangyueyang@didiglobal.com>
2026-06-05 08:52:38 +08:00
ekko a10e171082 Add history import controls (#1053) 2026-05-27 10:05:52 +08:00
ekko 56c6cf3e2d fix profile-aware session history actions (#1011) 2026-05-25 12:32:42 +08:00
ekko a7f0a92fe6 fix session profile listing and cli sqlite warning (#971) 2026-05-24 17:54:17 +08:00
ekko 9708a6a521 Scope files jobs and plugins to request profile 2026-05-24 10:11:03 +08:00
ekko 3f6a25d8f1 Add user-scoped Hermes profile access 2026-05-24 10:11:03 +08:00
ekko 076a7c2a38 feat: add Vitest testing framework, fix proxy auth stripping and 401 handling
- Set up Vitest with jsdom for client tests, node for server tests
- Add tests for auth service, proxy handler, API client, and profiles store
- Strip Authorization header in proxy to prevent web-ui token leaking to gateway
- Distinguish local BFF vs proxied gateway 401s to avoid false logouts
- Remove unused hero.png asset

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 20:24:09 +08:00