| feat(app-server) add app server | 1 个月前 |
| fix(plugin-host): gate execution and close lifecycle gaps | 29 天前 |
| chore: bump version to 0.2.19 | 29 天前 |
| Merge remote-tracking branch 'upstream/main' into wc/rebase | 1 个月前 |
| docs(deploy): restore the OpenBitFun origin from the BitFun checkout Keep release-sync cron on the in-repo script and document the host export/import path so a new server does not need a detached AutoUpdate copy. | 1 个月前 |
| feat(skills): redesign skills center UI with Matrix market refinements - Redesign skills center per design mockups (card gallery, detail modal) - Switch market tabs from pagination to infinite scroll with load-more retry - Restore main market link / no-workspace behavior; allow matrix skill deletion - Refresh Cargo.lock matrix-adapter version; fix stale useImeEnterGuard import - Untrack local design assets, spec docs, plans and build cache - Reword matrix install failure and add matrix.errors.loadFailed i18n key - Render matrix skillsError/installError through i18n instead of raw backend strings - Drop redundant notification toast on skill market load-more failure - Remove duplicate saveFileToDownloadsOhos implementation in WorkspaceAPI (TS2393) | 16 天前 |
| fix(dsh-acp): list a model reachable by two routes once Two provider ids serving the same models is a real deployment, not a mistake: a second route to the same vendor, mounted under its own id so it can carry its own key. The picker listed the catalog per provider, so a user with such a route saw every model twice — same name, same vendor, nothing to choose between, and only the value prefix telling the rows apart. Publish one row per model id. The provider carrying the session's current model owns the shared ids, so the list stays on the route that actually answers, and the checked row keeps its provider even when that provider's listing failed. A provider left with no models of its own drops out of the picker; one that has models nobody else serves keeps its group. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> | 1 个月前 |
| fix(web-ui): support markdown on older WebKit | 1 个月前 |
| feat: fix the readme # Conflicts: # png/BitFun_title.png | 19 天前 |
| feat: add MCP import and product customization foundations | 1 个月前 |
| feat(search): make the workspace index policy visible and correct Vendors flashgrep v0.2.15, aligns BitFun with the daemon's new base-snapshot protocol, and closes the gaps that made the managed index either wrong or inscrutable from the UI. Protocol (breaking upstream change): RepoStatus.rebuild_recommended is gone, replaced by base-delta fields; SearchParams.allow_scan_fallback and the BitFun-only QuerySpec.before_context/after_context are gone too. The old required field would have failed every status-bearing response, so the binary bump and the protocol change land together. The "rebuild recommended" badge becomes "index catching up", driven by base_advance_target_head. Line text: the daemon's four search modes return positions only, so BitFun was rendering line numbers as content ("path:73:line 73"). Content search now goes through search/grouped_line_matches and hydrates text from disk, locally via workspace_search/line_hydration.rs and over SSH via a single batched awk pass (remote_line_hydration.rs) rather than one round trip per file. Both paths share services-core::filesystem::content_preview. Auto-index policy: index only workspaces with roughly 2000+ indexable files. Below that the measured win is 8 ms to 0.2 ms while the index inflates worst (3.3x). The file count is gathered in two commands because --others --exclude-standard costs 4.2 s on chromium against 89 ms for --cached, so the tracked pass returns early once the threshold is met. Builds run through a queue with a cross-workspace disk budget. Policy visibility: the daemon reports needs_index both while the policy is still evaluating and after it declined, so the UI could only hedge. The decision now rides along with the status (WorkspaceIndexStatus.auto_index), and a small workspace reads "no index needed" with the count and threshold instead of an ambiguous sentence that never changes. Remote workspaces have no BitFun-side policy and report None. A workspace that is not a Git worktree can never be indexed, which is a property of the folder rather than a fault, so it stays on the neutral indicator instead of turning red. Grep's -A/-B/-C route to ripgrep, because the daemon has no context-line support and the flags were previously dropped on the wire without a word. ContentSearchRequest loses its context-line fields entirely rather than keeping them unread: a field that looks like it carries context but is silently discarded is exactly how the original defect happened, so the indexed path can no longer express the request at all. | 1 个月前 |
| feat(ohos): enable DeepSeek Harness ACP setup Restore the upstream bundled DSH ACP profile removed by the prior commit and package it for HarmonyOS resources. Install DeepSeek Harness through the official HarmonyBrew formula, bind profile setup to the managed runtime environment, and expose consistent localized preset UI. | 15 天前 |
| feat(sdk): add managed TypeScript SDK and shared transport core Add the private AgentClient, Session, and Query vertical slice over the existing Agent Runtime owner. Consolidate bounded JSON, JSON-RPC, and WebSocket mechanics in the cross-platform transport foundation while keeping IPC framing and product protocol policy with their owners. Generate strict runtime validators from the Rust wire contract and preserve bounded lifecycle and process-tree cleanup. | 1 个月前 |
| fix(acp): make legacy permission migration explicitly saveable Track persisted automatic-rejection settings separately from edited values and show a warning with a Save and apply action across ACP settings views. Keep the action available after a failed save and clear it only after successful persistence. Exercise legacy configuration saving, unchanged Ask selection, cross-view actions, and retry behavior with the real Select component. | 11 天前 |
| fix(rollback): disambiguate local workspace identity Use structured workspace identity before the legacy path registry fallback so a local session remains rollback-capable when an SSH workspace shares its absolute path. Add Desktop, Peer Host, contract, frontend, and isolated E2E regression coverage. | 1 个月前 |
| feat: prune Cargo target caches, speed relay rebuilds, and relieve sync quotas (#1682) Keep desktop target caches latest-only after dev/build, reuse BuildKit Cargo mounts for relay redeploys, auto-evict oldest cloud session backups on quota pressure, surface clearer sync errors, and temporarily hide the Pages nav entry. | 1 个月前 |
| fix(release): add models.dev license and provenance - preserve the upstream MIT license and add third-party attribution - record source revision, retrieval metadata, transformation rules, and hashes - add reproducible snapshot update and offline validation commands - bundle models.dev notices with Desktop and CLI releases - enforce provenance validation through repository hygiene checks | 1 个月前 |
| chore(ohos): gitignore generated build outputs Ignore the ohos entry module's build directory and the resfile/ directory that cargo-tauri populates with frontend assets. | 25 天前 |
| fix: Clean up redundant and unreasonable dependencies between the front-end and back-end. | 6 个月前 |
| chore(release): prepare v0.1.1 and increase build memory | 7 个月前 |
| perf(cargo): centralize default feature ownership | 1 个月前 |
| refactor(cli): decouple TUI runtime from app server | 1 个月前 |
| fix: the md description | 22 天前 |
| fix: the md description | 22 天前 |
| feat(skills): redesign skills center UI with Matrix market refinements - Redesign skills center per design mockups (card gallery, detail modal) - Switch market tabs from pagination to infinite scroll with load-more retry - Restore main market link / no-workspace behavior; allow matrix skill deletion - Refresh Cargo.lock matrix-adapter version; fix stale useImeEnterGuard import - Untrack local design assets, spec docs, plans and build cache - Reword matrix install failure and add matrix.errors.loadFailed i18n key - Render matrix skillsError/installError through i18n instead of raw backend strings - Drop redundant notification toast on skill market load-more failure - Remove duplicate saveFileToDownloadsOhos implementation in WorkspaceAPI (TS2393) | 16 天前 |
| feat(skills): add OpenHarmony Matrix market integration | 16 天前 |
| Initial commit | 7 个月前 |
| docs: align README EN/CN consistency - README.md: point Install Releases link to gitcode; drop redundant Ready Out of the Box download section - README.zh-CN.md: add Performance row to the features table; restructure Install section (rename to 安装与运行, drop stale 从源码运行 label) | 22 天前 |
| docs: align README EN/CN consistency - README.md: point Install Releases link to gitcode; drop redundant Ready Out of the Box download section - README.zh-CN.md: add Performance row to the features table; restructure Install section (rename to 安装与运行, drop stale 从源码运行 label) | 22 天前 |
| docs: add HarmonyOS PC release notes through 1.0.5 | 16 天前 |
| docs: add SECURITY.md security policy (EN + 中文) Set up the repository's security policy so GitHub's Security tab is populated instead of showing "This project has not set up a SECURITY.md file yet." - SECURITY.md (English) + SECURITY_CN.md (中文), following the existing bilingual doc convention (CONTRIBUTING.md / CONTRIBUTING_CN.md). - Private reporting routes to GitHub Security Advisories, consistent with the existing .github/ISSUE_TEMPLATE/config.yml contact link. - Covers supported versions (rolling 0.x), reporting steps, coordinated disclosure process, scope, and a safe-harbor clause. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 3 个月前 |
| docs: add SECURITY.md security policy (EN + 中文) Set up the repository's security policy so GitHub's Security tab is populated instead of showing "This project has not set up a SECURITY.md file yet." - SECURITY.md (English) + SECURITY_CN.md (中文), following the existing bilingual doc convention (CONTRIBUTING.md / CONTRIBUTING_CN.md). - Private reporting routes to GitHub Security Advisories, consistent with the existing .github/ISSUE_TEMPLATE/config.yml contact link. - Covers supported versions (rolling 0.x), reporting steps, coordinated disclosure process, scope, and a safe-harbor clause. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 3 个月前 |
| feat(agent): read documents with anydoc | 1 个月前 |
| chore: bump version to 0.2.19 | 29 天前 |
| feat(ohos): auto-sign native ELF modules for HarmonyOS PC HarmonyOS PC (hmfs) rejects dlopen/exec of unsigned ELF files with ERR_DLOPEN_FAILED / Permission denied. Native modules pulled in by pnpm (rollup .node binaries, esbuild launchers, etc.) therefore break every frontend build on device. Add scripts/ohos-sign-native.mjs which scans node_modules for native ELFs (*.node, *.so*, extension-less bin/ executables) and self-signs unsigned ones via binary-sign-tool. Wire it into postinstall and the root build script so signatures stay applied across dependency updates. Skips silently when binary-sign-tool is unavailable so non-HarmonyOS development is unaffected. | 25 天前 |
| Merge remote-tracking branch 'upstream/main' into wc/rebase | 1 个月前 |
| feat(sdk): add managed TypeScript SDK and shared transport core Add the private AgentClient, Session, and Query vertical slice over the existing Agent Runtime owner. Consolidate bounded JSON, JSON-RPC, and WebSocket mechanics in the cross-platform transport foundation while keeping IPC framing and product protocol policy with their owners. Generate strict runtime validators from the Rust wire contract and preserve bounded lifecycle and process-tree cleanup. | 1 个月前 |
| feat(release): publish Linux CLI and relay binaries (#1752) * feat(release): publish Linux CLI and relay binaries * fix(release): correct Linux binary publishing defects - bitfun update --check printed "is up to date" right after announcing an available version; add a distinct Available outcome. - Bound the startup auto-update check with a 90s budget so a stalled mirror cannot wedge interactive TUI launch behind a 120s-per-request client. - Resolve the auto-check stamp through CliConfig::config_dir() instead of a hardcoded ~/.config/bitfun. - Strip SemVer build metadata from Linux asset names: GitHub rewrites + in uploaded release asset filenames, which made every nightly URL in linux-binaries.json a 404. Guard it in the manifest generator too. - openbitfun-release-sync.sh no longer deletes the published linux-binaries.json on a transient fetch failure; retry, and only remove it on a definitive 404. - Relay release deploy: trap INT/TERM so a cancelled wizard restores the renamed backup container instead of leaving the relay down, sweep orphaned backups, and honor RELAY_HOST_BIND_IP like docker-compose.yml does. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(release): make linux-binaries.yml the sole Linux CLI publisher cli-package.yml and desktop-package.yml both run on release: published, and both built the Linux CLI with the same version derivation, so both uploaded byte-identical asset names to the same release. softprops/action-gh-release deletes a same-named asset before writing, so the two runs could destroy each other's upload — on top of two redundant full Rust builds per release. Ownership is forced by two constraints: cli-package.yml never runs for nightly (a GITHUB_TOKEN-created release does not trigger workflows), and linux-binaries.json must be written by a job that physically holds all four archives. Both point at linux-binaries.yml, so drop the Linux targets from cli-package.yml's matrix. SHA256SUMS now covers the macOS and Windows archives only; the per-archive .sha256 sidecar remains the complete surface on every platform and channel. Documented in the CLI README and locked with contract tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> | 1 个月前 |