{"id":51335619,"url":"https://github.com/njbinbin-piscis/piscis-engine","last_synced_at":"2026-07-02T02:08:01.883Z","repository":{"id":361602902,"uuid":"1255060836","full_name":"njbinbin-piscis/piscis-engine","owner":"njbinbin-piscis","description":"OS/UI-neutral agent runtime kernel (piscis-core / piscis-kernel / piscis-cli), shared by openpiscis and agentz.","archived":false,"fork":false,"pushed_at":"2026-06-09T16:15:50.000Z","size":1456,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T17:28:24.472Z","etag":null,"topics":["agent-loop","harness","harness-engineering","harness-framework"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/njbinbin-piscis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-31T10:59:31.000Z","updated_at":"2026-06-09T16:35:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/njbinbin-piscis/piscis-engine","commit_stats":null,"previous_names":["njbinbin-pisci/pisci-engine","njbinbin-piscis/piscis-engine"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/njbinbin-piscis/piscis-engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njbinbin-piscis%2Fpiscis-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njbinbin-piscis%2Fpiscis-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njbinbin-piscis%2Fpiscis-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njbinbin-piscis%2Fpiscis-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/njbinbin-piscis","download_url":"https://codeload.github.com/njbinbin-piscis/piscis-engine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njbinbin-piscis%2Fpiscis-engine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35029806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-loop","harness","harness-engineering","harness-framework"],"created_at":"2026-07-02T02:08:01.502Z","updated_at":"2026-07-02T02:08:01.872Z","avatar_url":"https://github.com/njbinbin-piscis.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# piscis-engine\n\nOS / UI-neutral **agent runtime kernel**, extracted from\n[`openpiscis`](../openpiscis) so it can be shared by multiple host products\n(the `openpiscis` desktop app and the `codez` AI IDE).\n\nThis repo contains only the host-agnostic layers — it **never** depends on\nTauri, any GUI framework, or platform-specific tooling. Hosts inject all of\nthat through the trait contracts in `piscis-core`.\n\n## Crates\n\n| Crate | Role |\n|---|---|\n| `piscis-core` | Pure contracts: `HostRuntime` / `EventSink` / `Notifier` / `HostTools` / `SecretsStore` + shared schema types. Depends only on serde / chrono / anyhow / async-trait. |\n| `piscis-kernel` | The agent runtime: agent loop + harnesses, LLM adapters (claude / openai / qwen / deepseek / kimi / minimax / zhipu), SQLite store + encrypted settings, memory + Dream consolidation, policy / approval, scheduler, security, and platform-neutral tools (file_*, shell, code_run, web_search, ssh, mcp, …). |\n| `piscis-cli` | Headless host adapter + the `openpiscis-headless` binary (NDJSON streaming, env-var secrets). Cross-platform agent runner for CI / evals / IDE integrations. |\n\n## Build \u0026 test\n\n```bash\ncargo build                                   # whole workspace\ncargo test  -p piscis-core -p piscis-kernel -p piscis-cli --lib --bins\ncargo clippy -p piscis-core -p piscis-kernel -p piscis-cli --all-targets -- -D warnings\ncargo build -p piscis-cli --release --bin openpiscis-headless\n```\n\n## Consuming this engine from a host\n\nHosts depend on the crates as path (local dev) or git (CI / release)\ndependencies. With both repos checked out as siblings:\n\n```\nProjects/\n├── piscis-engine/      ← this repo\n├── openpiscis/         ← desktop host\n└── codez/             ← AI IDE host\n```\n\na host's `Cargo.toml` references:\n\n```toml\n[dependencies]\npiscis-core   = { path = \"../../piscis-engine/piscis-core\" }\npiscis-kernel = { path = \"../../piscis-engine/piscis-kernel\" }\n# Git dependency (pin rev across hosts — keep in sync with openpiscis / AgentZ / agent-workbench):\n# piscis-kernel = { git = \"https://github.com/njbinbin-piscis/piscis-engine.git\", package = \"piscis-kernel\", rev = \"v0.8.38\" }\n```\n\n## Provenance\n\nExtracted from `openpiscis` with `git filter-repo`, preserving the full commit\nhistory of `piscis-core` / `piscis-kernel` / `piscis-cli`. The desktop-coupled\n`piscis_compact_one` benchmark binary (which links `piscis-desktop`) was\nintentionally left behind in `openpiscis`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjbinbin-piscis%2Fpiscis-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnjbinbin-piscis%2Fpiscis-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjbinbin-piscis%2Fpiscis-engine/lists"}