今日已更新 351 条资讯 | 累计 41571 条内容
关于我们

标签:#open

找到 2892 篇相关文章

AI 资讯

Portable Agent Manifests with Host-Controlled Infrastructure

AI agents often begin as application code: a prompt, a model call, a few tools, and enough control flow to make the first example run. As the agent grows, the definition and the environment tend to collapse into each other. Model configuration lives beside credentials. Tool access is mixed with prompts. Persistence assumes a particular process. Deployment choices become part of the agent itself. That coupling makes an agent harder to inspect, test, move, and recover. We built Clear Ideas Agent Runtime around a different boundary: the agent definition should be portable, while the infrastructure that executes it should remain under host control. The Agent Manifest is the portable contract An Agent Manifest is a versioned YAML or TypeScript definition. It can describe: prompts and structured outputs; typed variables; conditions and loops; tools and MCP connections; approvals and webhooks; sandboxed code steps; sub-runs; limits and final outputs. A separate Agent Run Manifest supplies the values and execution choices for one invocation. That keeps the reusable agent definition distinct from the inputs and operational decisions associated with a particular run. Here is a small example: schemaVersion : " 1.0" name : research-brief variables : topic : type : string researchNotes : type : string briefDraft : type : string steps : - id : research type : prompt prompt : | Research {{ topic }} and return concise notes. outputVariable : researchNotes - id : draft type : prompt prompt : | Draft a brief using these notes: {{ researchNotes }} outputVariable : briefDraft The manifest describes the agent. It does not contain the credentials, infrastructure account, or persistence implementation that happens to run it. The host controls the operational boundary The host application supplies and controls: models and provider credentials; connections and tool authorization; persistence and artifact stores; local or remote compute; sandbox providers; telemetry; concurrency and resource

2026-07-29 原文 →
AI 资讯

Unknown Time Is Not Noon: Modeling Missing Temporal Data Without Inventing Facts

Missing data is not the same thing as a convenient default. That sounds obvious, yet temporal software regularly converts an empty time field into midnight, noon, the current time, or the start of a day. The interface may look complete after that conversion, but the program has silently changed an unknown fact into a known one. This matters anywhere an hour can change the result: medical timelines, transport schedules, legal deadlines, astronomical calculations, historical records, and calendrical systems. I encountered the problem while working with a BaZi calculation pipeline. A BaZi chart can use year, month, day, and hour components. If the birth time is absent, the honest result is a three-component analysis with hour-dependent conclusions withheld. Inserting noon would make the output look richer while making its provenance weaker. The useful engineering question is not “Which fallback time should we choose?” It is “How do we keep uncertainty visible through every layer of the system?” The public calculation evidence repository provides the concrete calendar-domain fixtures referenced below. The rest of this article focuses on the reusable software boundary behind them. Model knowledge, not just a string A common input model makes absence too easy to erase: const birthTime = form . time || " 12:00 " ; After this line runs, downstream code cannot tell whether noon came from the user or the fallback. Validation, analytics, caching, and the result renderer all see the same string. The information loss happens before the calculation begins. A small discriminated union keeps the two states separate: /** * @typedef {{ kind: "known", localTime: string, source: "user" }} * KnownTime * @typedef {{ kind: "unknown" }} UnknownTime * @typedef {KnownTime | UnknownTime} BirthTime */ function parseBirthTime ( value ) { const normalized = value ?. trim (); return normalized ? { kind : " known " , localTime : normalized , source : " user " } : { kind : " unknown " }; } This typ

2026-07-29 原文 →
开发者

A new way of coding!

Welcome to ForkMesh World Most developer tools start with another dashboard. We started with a beach. Not because developers desperately needed virtual sand, but because software is built by people, and people spend way too much time staring at rectangular windows. We're building ForkMesh World , a place where developers, open-source communities, and companies can actually hang out while building software. Not another Slack clone. Not another Zoom call. Something that's actually fun. You finish reviewing a pull request. Instead of closing your laptop, you walk outside your team's office. Someone is flying a drone over the island. Another team is racing cars down the road. A few contributors are hanging out on the beach after finishing a release. Someone jumps off the roof because... honestly, why not? (Don't try that in real life. Gravity has terrible UX.) This isn't replacing Git. It's making the community around Git feel alive. Your own office Every company and open-source project can have its own space inside ForkMesh World. Think of it as your team's home. A place for: Team meetings Community events Contributor onboarding Product demos Hackathons Launch parties Casual conversations Instead of sending someone a Discord invite and six documentation links, imagine saying: "Come by our office." Built for developers ForkMesh World is part of the larger ForkMesh ecosystem. ForkMesh is our open-source federated Git platform that lets developers own and preserve their repositories across a network instead of depending on a single hosting provider. We're trying to make developer infrastructure more resilient, while also making it a little more fun. Because open source shouldn't feel like filling out tax forms. More is coming We're only getting started. Some of the things we're working on include: 🏢 Company offices 🏖️ Beaches 🚗 Cars 🚁 Drones 🪂 Rooftop jumps (because games should be fun) 🎉 Community events 💬 Developer meetups 🛠️ Interactive spaces for open-source projects

2026-07-29 原文 →
AI 资讯

OpenWorker: Andrew Ng's Local-First AI Coworker, Explained for Developers

OpenWorker shipped in late July 2026. It is MIT-licensed, runs on your own machine, and takes your API key instead of selling you inference. The pitch is narrow and worth repeating exactly: it is an agent that hands you finished work , not a chat transcript. A drafted document on disk. A Slack reply with the real numbers in it. A calendar that has actually been rearranged. There are a lot of desktop agents right now. This post is about what makes this one structurally different, what state it is actually in, and how to get it running. What it is in one paragraph OpenWorker is a desktop app: a Tauri shell around a React UI, sitting on top of a local Python agent server. You give it an outcome ("prepare a customer brief from these three files and the Jira tickets"). It decomposes that into steps, reaches into your files, terminal, and connected SaaS apps, and produces an artifact. Before anything consequential happens - sending a message, running a shell command, writing to your calendar - it stops and asks. The engine is built on aisuite , Ng's provider-agnostic LLM library. That matters more than it sounds like: OpenWorker is explicitly positioned as a reference implementation of what you can build on aisuite, so the codebase doubles as a worked example if you are building your own harness. The four things that actually distinguish it 1. There is no OpenWorker inference service You paste a key, or you point it at Ollama and use none at all. The curated list covers OpenAI, Anthropic, Google, plus OpenAI-compatible vendors like DeepSeek, GLM, Kimi, Qwen, MiniMax, Mistral, and Grok, plus open-weight models through Together and Fireworks. Roughly thirty models are marked as verified for tool-calling work; you can point it at any other model string and accept the risk yourself. The practical consequence: your cost is your provider bill, and swapping models is a dropdown, not a migration. 2. The permission model is typed, not a confirmation dialog This is the part I would

2026-07-29 原文 →
AI 资讯

OpenAI’s rogue AI agent didn’t stop at hacking Hugging Face

The AI agent that escaped from OpenAI and hacked developer platform Hugging Face attacked other companies as well, OpenAI revealed on Tuesday. The update substantially widens the scope of an already concerning incident, which has alarmed industry insiders and fueled growing calls for stronger oversight on frontier AI systems. In an update to a blog […]

2026-07-29 原文 →