{"id":"narcooo-inkos","name":"inkos","homepage":null,"repo_url":"https://github.com/Narcooo/inkos","category":"ai-ml","subcategories":[],"tags":["cli","ai-agent","multi-agent","novel-writing","typescript","continuity","audit","revision","openclaw","state-management","sqlite"],"what_it_does":"InkOS is a Node.js/TypeScript CLI/agent tool that autonomously generates, audits, and revises novels chapter-by-chapter using a multi-agent pipeline (plan/compose/draft/audit/revise), with continuity tracking via “truth” files, schema-validated JSON state deltas, and rollback/versioning. It also includes an optional local web studio and an OpenClaw-compatible skill interface with structured (e.g., --json) command outputs.","use_cases":["Generating chapters for long-form novels with continuity across chapters","Author-guided writing using control documents (author_intent.md, current_focus.md) and chapter intents","Automated quality gates: audit dimensions, iterative revision loops, and human approval workflows (e.g., review approve-all)","Style transfer: analyze a sample text to extract writing fingerprints and apply them to a book","Continuation of existing novels by importing chapters and reconstructing state","Fanfic creation with mode controls (canon/au/ooc/cp) and boundary management","Scheduling autonomous writing via a background guard process (inkos up) with notifications and webhooks","Using as a toolset for other agent frameworks via exec/atomic commands"],"not_for":["Use as a general-purpose REST/GraphQL backend API for applications","Use when you cannot provide/secure access to LLM provider credentials (OpenAI-compatible API key required)","Use where you need strict guarantees of content originality or legal clearance (no stated IP/compliance workflow in provided text)","Use when you require public enterprise-grade reliability guarantees (SLA/status, etc. not provided)"],"best_when":"You want CLI-driven, continuity-aware novel generation with audit/revision loops, prefer local state management (truth files/JSON deltas), and will integrate it into agent workflows via atomic commands and --json outputs.","avoid_when":"You need a standardized web API with documented error contracts and pagination semantics, or you cannot handle local filesystem state (project directories, logs, SQLite DB) and LLM credential management.","alternatives":["OpenAI/Anthropic standalone prompting workflows with custom state tracking","LangGraph/LangChain-based multi-step writing pipelines","Other AI writing CLI tools without continuity/ledger enforcement","Manual writing + linting/consistency checks using separate editing tools"],"af_score":67.8,"security_score":50.8,"reliability_score":40.0,"package_type":"skill","discovery_source":["openclaw"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:02:21.022579+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":false,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":true},"auth":{"methods":["API key for LLM providers (OpenAI-compatible via provider/custom/base-url)","Optional env-var routing for per-agent model credentials"],"oauth":false,"scopes":false,"notes":"Authentication is primarily delegation to the upstream LLM provider using INKOS_LLM_API_KEY / api-key-env. The tool itself is local CLI; no user signup described. For notifications, webhooks mention HMAC-SHA256 signing, but no user-facing auth for the CLI is described."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing for InkOS itself is provided in the supplied text; costs depend on the configured LLM provider usage."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":67.8,"security_score":50.8,"reliability_score":40.0,"mcp_server_quality":0.0,"documentation_accuracy":78.0,"error_message_quality":null,"error_message_notes":"Likely good for detecting invalid runtime state (schema validation) and preventing roll-snowball, but agent-friendly error codes/retry guidance for CLI failures are not explicitly documented.","auth_complexity":85.0,"rate_limit_clarity":20.0,"tls_enforcement":60.0,"auth_strength":70.0,"scope_granularity":15.0,"dependency_hygiene":35.0,"secret_handling":65.0,"security_notes":"CLI uses API keys via environment variables and stores global config in ~/.inkos/.env. No evidence provided about redaction/logging of secrets in the README, but separate mention of JSON Lines logs and silence mode suggests some logging controls may exist. Webhook support mentions HMAC-SHA256 signing (good for integrity). Scope granularity is not applicable like OAuth scopes (single upstream API key), and rate limit behavior is not documented. TLS enforcement to upstream is not explicitly stated, though base URLs imply HTTPS in typical usage.","uptime_documented":0.0,"version_stability":45.0,"breaking_changes_history":30.0,"error_recovery":85.0,"idempotency_support":"false","idempotency_notes":"No explicit idempotency guarantees described for atomic commands (plan/compose/draft/audit/revise). Snapshot/rollback and file locks exist, but repeated runs may still advance state depending on internal logic.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Requires correct local project initialization and editing/feeding control documents (author_intent.md, current_focus.md) to get predictable outcomes.","Atomic commands support --json, but orchestration should account for multi-file state compilation (plan/compose produce runtime artifacts used by subsequent steps).","Long-running guard process (inkos up) may pause for human review on key issues; agents should handle that control-flow.","Provider compatibility: while it supports OpenAI-compatible endpoints, not all intermediaries may support streaming/SSE; tool claims fallback but agent logic should expect mode differences."]}}